Compare commits

...

2 Commits

Author SHA1 Message Date
姜玉琦 d1d003e7f4 提交代码 2025-05-18 10:50:12 +08:00
姜玉琦 2a6abb3ad2 提交代码 2025-05-18 10:49:44 +08:00
200 changed files with 986 additions and 360 deletions

View File

@ -61,7 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
psu.remark,psu.face_guid,sd.dept_name com_name,psu.work_type
from pro_project_info_subdepts_users psu
left join pro_project_info pi on pi.id = psu.project_id
join pro_project_info_subdepts pdept on psu.sub_dept_id=pdept.id
left join pro_project_info_subdepts pdept on psu.sub_dept_id=pdept.id
left join sys_dept sd on sd.dept_id = psu.com_id
left join sys_dict_data dic1 on psu.`craft_type`=dic1.`dict_value` and dic1.`dict_type`='pro_craft_type'
left join sys_dict_data dic2 on psu.`craft_post`=dic2.`dict_value` and dic2.`dict_type`='pro_craft_post'

View File

@ -2,7 +2,6 @@ package com.yanzhu.manage.controller.device;
import com.alibaba.fastjson2.JSON;
import com.yanzhu.common.core.annotation.RateLimiter;
import com.yanzhu.common.core.constant.CacheConstants;
import com.yanzhu.common.core.enums.LimitType;
import com.yanzhu.common.core.exception.ServiceException;
import com.yanzhu.common.core.text.Convert;
@ -10,7 +9,10 @@ import com.yanzhu.common.core.utils.StringUtils;
import com.yanzhu.common.core.web.domain.AjaxResult;
import com.yanzhu.common.redis.service.RedisService;
import com.yanzhu.device.domain.*;
import com.yanzhu.manage.domain.TowerReqVo;
import com.yanzhu.manage.domain.vo.TowerReqVo;
import com.yanzhu.manage.domain.vo.TyTowerRoundReqVO;
import com.yanzhu.manage.domain.vo.TyTowerRunReqVO;
import com.yanzhu.manage.domain.vo.TyTowerWarningReqVO;
import com.yanzhu.manage.enums.HttpStatusEnum;
import com.yanzhu.manage.enums.TowerTypeEnums;
import com.yanzhu.manage.service.*;
@ -23,6 +25,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -58,12 +61,16 @@ public class TowerCraneApiController {
@Autowired
private IDevTowerDataCollideService devTowerDataCollideService;
@Autowired
private IDevTowerDataWarningService devTowerDataWarningService;
@Autowired
private IDevTowerProjectConfigService devTowerProjectConfigService;
/**
* ++
* [6010IP]
*
* @param req
* @author JiangYuQi
* @date 2024-01-13
@ -72,31 +79,32 @@ public class TowerCraneApiController {
@RateLimiter(count = 10, limitType = LimitType.IP)
@PostMapping("/v1/push")
public AjaxResult pushData(@Validated @RequestBody TowerReqVo req) {
DevTowerProjectConfig config = redisService.getCacheObject(YANZHU_DEVICE_TOWER+req.getContent().getDeviceKey());
if(config==null){
DevTowerProjectConfig config = redisService.getCacheObject(YANZHU_DEVICE_TOWER + req.getContent().getDeviceKey());
if (config == null) {
throw new ServiceException(HttpStatusEnum.DARA_EXCEPTION.getInfo(), HttpStatusEnum.DARA_EXCEPTION.getCode());
}
if(req.getType() == TowerTypeEnums.BASE.getCode()){
this.pushConfigData(config,req);
}else if(req.getType() == TowerTypeEnums.RUN.getCode()){
this.pushRunData(config,req);
}else if(req.getType() == TowerTypeEnums.ROUND.getCode()){
this.pushRoundData(config,req);
}else if(req.getType() == TowerTypeEnums.COLLIDE.getCode()){
this.pushCollideData(config,req);
}else if(req.getType() == TowerTypeEnums.LIMIT.getCode()){
this.pushLimitData(config,req);
}else if(req.getType() == TowerTypeEnums.LOCAL.getCode()){
this.pushLocalData(config,req);
if (req.getType() == TowerTypeEnums.BASE.getCode()) {
this.pushConfigData(config, req);
} else if (req.getType() == TowerTypeEnums.RUN.getCode()) {
this.pushRunData(config, req);
} else if (req.getType() == TowerTypeEnums.ROUND.getCode()) {
this.pushRoundData(config, req);
} else if (req.getType() == TowerTypeEnums.COLLIDE.getCode()) {
this.pushCollideData(config, req);
} else if (req.getType() == TowerTypeEnums.LIMIT.getCode()) {
this.pushLimitData(config, req);
} else if (req.getType() == TowerTypeEnums.LOCAL.getCode()) {
this.pushLocalData(config, req);
}
return AjaxResult.success();
}
/**
*
*
* @param req
*/
private void pushConfigData(DevTowerProjectConfig config,TowerReqVo req){
private void pushConfigData(DevTowerProjectConfig config, TowerReqVo req) {
DevTowerProjectConfig devTowerProjectConfig = devTowerProjectConfigService.selectDevTowerProjectConfigById(config.getId());
Map<String, Object> dataContent = req.getContent().getDataContent();
devTowerProjectConfig.setTowerId(Convert.toStr(dataContent.get("towerId")));
@ -113,9 +121,10 @@ public class TowerCraneApiController {
/**
*
*
* @param req
*/
private static void pushRunData(DevTowerProjectConfig config,TowerReqVo req){
private void pushRunData(DevTowerProjectConfig config, TowerReqVo req) {
DevTowerDataRun devTowerDataRun = new DevTowerDataRun();
Map<String, Object> dataContent = req.getContent().getDataContent();
devTowerDataRun.setCfgId(config.getId());
@ -141,33 +150,34 @@ public class TowerCraneApiController {
devTowerDataRun.setRangeSensorState(Convert.toStr(dataContent.get("rangeSensorState")));
devTowerDataRun.setHeightSensorState(Convert.toStr(dataContent.get("heightSensorState")));
devTowerDataRun.setBrakingStatus(Convert.toStr(dataContent.get("brakingStatus")));
if(dataContent.get("warnings")!=null){
List<String> warnings = (List<String>)dataContent.get("warnings");
if (dataContent.get("warnings") != null) {
List<String> warnings = (List<String>) dataContent.get("warnings");
devTowerDataRun.setWarnings(String.join(",", warnings));
for(String warning:warnings){
for (String warning : warnings) {
pushWarningData(config, warning);
Integer alarm = Convert.toInt(warning);
if(alarm>100 && alarm<120){
if (alarm > 100 && alarm < 120) {
devTowerDataRun.setIsAlarm(1L);
}
}
}
System.out.println(devTowerDataRun);
//devTowerDataRunService.insertDevTowerDataRun(devTowerDataRun);
devTowerDataRunService.insertDevTowerDataRun(devTowerDataRun);
}
public static void main(String[] args) {
String str = "{\"type\":111,\"content\":{\"time\":1496263304,\"dataType\":113001,\"deviceKey\":\"jycw6\",\"dataContent\":{\"height\":\"4.1\",\"range\": \"21.9\",\"rotation\": \"171.0\",\"load\": \"0.0\",\"windSpeed\": \"0.0\",\"leanAngleX\":\"0.5\",\"leanAngley\":\"0.0\",\"loadPercent\":\"0\", \"mome ntPercent\":\"0\",\"windSpeedPercent\":\"0\",\"leanAnglePercent\": \"0\", \"warnings\": [\"0\"],\"rate\":\"2\",\"rotationSensorState\":\"1\",\"loadSensorState\": \"1\",\"windSpeedSensorState\": \"1\",\"leanAngleSensorState\":\"1\",\"rangeSensorState\":\"1\",\"heightSensorState\":\"1\",\"bra kingStatus\":\"0\"}}}";
TowerReqVo req = JSON.parseObject(str,TowerReqVo.class);
TowerReqVo req = JSON.parseObject(str, TowerReqVo.class);
System.out.println(req);
DevTowerProjectConfig config = new DevTowerProjectConfig();
pushRunData(config,req);
//pushRunData(config,req);
}
/**
*
*
* @param req
*/
private void pushRoundData(DevTowerProjectConfig config,TowerReqVo req){
private void pushRoundData(DevTowerProjectConfig config, TowerReqVo req) {
DevTowerDataRound devTowerDataRound = new DevTowerDataRound();
Map<String, Object> dataContent = req.getContent().getDataContent();
devTowerDataRound.setCfgId(config.getId());
@ -199,15 +209,16 @@ public class TowerCraneApiController {
devTowerDataRound.setEndLeanAngleX(Convert.toStr(dataContent.get("endLeanAngleX")));
devTowerDataRound.setStartLeanAngleY(Convert.toStr(dataContent.get("startleanAngleY")));
devTowerDataRound.setEndLeanAngleY(Convert.toStr(dataContent.get("endLeanAngleY")));
if(dataContent.get("warning")!=null){
List<String> warnings = (List<String>)dataContent.get("warning");
if (dataContent.get("warning") != null) {
List<String> warnings = (List<String>) dataContent.get("warning");
devTowerDataRound.setWarnings(String.join(",", warnings));
for(String warning:warnings){
for (String warning : warnings) {
pushWarningData(config, warning);
Integer alarm = Convert.toInt(warning);
if(alarm>6 && alarm<10){
if (alarm > 6 && alarm < 10) {
devTowerDataRound.setIsOverload(1L);
}
if(alarm>100 && alarm<120){
if (alarm > 100 && alarm < 120) {
devTowerDataRound.setIsAlarm(1L);
}
}
@ -215,11 +226,28 @@ public class TowerCraneApiController {
devTowerDataRoundService.insertDevTowerDataRound(devTowerDataRound);
}
/**
*
*
* @param config
* @param warning
*/
private void pushWarningData(DevTowerProjectConfig config, Object warning) {
DevTowerDataWarning devTowerDataWarning = new DevTowerDataWarning();
devTowerDataWarning.setCfgId(config.getId());
devTowerDataWarning.setProjectId(config.getProjectId());
devTowerDataWarning.setComId(config.getComId());
devTowerDataWarning.setDeviceKey(config.getDeviceSn());
devTowerDataWarning.setWarnType(Convert.toLong(warning));
devTowerDataWarningService.insertDevTowerDataWarning(devTowerDataWarning);
}
/**
*
*
* @param req
*/
private void pushCollideData(DevTowerProjectConfig config,TowerReqVo req){
private void pushCollideData(DevTowerProjectConfig config, TowerReqVo req) {
DevTowerDataCollide devTowerDataCollide = new DevTowerDataCollide();
Map<String, Object> dataContent = req.getContent().getLocalDeviceInfo();
devTowerDataCollide.setCfgId(config.getId());
@ -239,8 +267,8 @@ public class TowerCraneApiController {
devTowerDataCollide.setAlarmWarningDistance(Convert.toStr(dataContent.get("alarmWarningDistance")));
devTowerDataCollide.setContourValue(Convert.toStr(dataContent.get("contourValue")));
List<DevTowerDataCollideDetail> devTowerDataCollideDetailList = new ArrayList<>();
if(StringUtils.isNotEmpty(req.getContent().getCollideTowers())){
for (Map<String, Object> collideTowers:req.getContent().getCollideTowers()){
if (StringUtils.isNotEmpty(req.getContent().getCollideTowers())) {
for (Map<String, Object> collideTowers : req.getContent().getCollideTowers()) {
DevTowerDataCollideDetail devTowerDataCollideDetail = new DevTowerDataCollideDetail();
devTowerDataCollideDetail.setTowerId(Convert.toStr(collideTowers.get("towerId")));
devTowerDataCollideDetail.setCoordinateX(Convert.toStr(collideTowers.get("coordinateX")));
@ -263,9 +291,10 @@ public class TowerCraneApiController {
/**
*
*
* @param req
*/
private void pushLimitData(DevTowerProjectConfig config,TowerReqVo req){
private void pushLimitData(DevTowerProjectConfig config, TowerReqVo req) {
DevTowerDataLimit devTowerDataLimit = new DevTowerDataLimit();
Map<String, Object> dataContent = req.getContent().getDataContent();
devTowerDataLimit.setCfgId(config.getId());
@ -312,9 +341,10 @@ public class TowerCraneApiController {
/**
*
*
* @param req
*/
private void pushLocalData(DevTowerProjectConfig config,TowerReqVo req){
private void pushLocalData(DevTowerProjectConfig config, TowerReqVo req) {
DevTowerDataLocal devTowerDataLocal = new DevTowerDataLocal();
Map<String, Object> dataContent = req.getContent().getDataContent();
devTowerDataLocal.setCfgId(config.getId());
@ -343,4 +373,175 @@ public class TowerCraneApiController {
devTowerDataLocalService.insertDevTowerDataLocal(devTowerDataLocal);
}
/**
* ++
* [6010IP]
*
* @param req
* @author JiangYuQi
* @date 2024-01-13
*/
@ApiOperation(value = "山东探越-塔吊监测-实时数据")
@RateLimiter(count = 10, limitType = LimitType.IP)
@PostMapping("/v2_ty/run/push")
public AjaxResult tyPushRunData(@RequestBody @Valid TyTowerRunReqVO req) {
log.info("desApi.towerCrane.v2_ty.run.push...{}",req.getEid());
DevTowerProjectConfig config = redisService.getCacheObject(YANZHU_DEVICE_TOWER + req.getEid());
if (config == null) {
throw new ServiceException(HttpStatusEnum.ERROR.getInfo(), HttpStatusEnum.ERROR.getCode());
}
DevTowerDataRun devTowerDataRun = new DevTowerDataRun();
devTowerDataRun.setCfgId(config.getId());
devTowerDataRun.setProjectId(config.getProjectId());
devTowerDataRun.setComId(config.getComId());
devTowerDataRun.setDeviceKey(config.getDeviceSn());
devTowerDataRun.setHeight(Convert.toStr(req.getHeight()));
devTowerDataRun.setRange(Convert.toStr(req.getAmplitude()));
devTowerDataRun.setRotation(Convert.toStr(req.getRound()));
devTowerDataRun.setLoad(Convert.toStr(req.getWeight()));
devTowerDataRun.setWindSpeed(Convert.toStr(req.getWind_speed()));
devTowerDataRun.setLeanAngleX(Convert.toStr(req.getAngle_x()));
devTowerDataRun.setLeanAngleY(Convert.toStr(req.getAngle_y()));
devTowerDataRun.setMomentPercent(Convert.toStr(req.getMoment_percent()));
devTowerDataRun.setRate(Convert.toStr(req.getOverride()));
devTowerDataRunService.insertDevTowerDataRun(devTowerDataRun);
return AjaxResult.success();
}
/**
* ++
* [6010IP]
*
* @param req
* @author JiangYuQi
* @date 2024-01-13
*/
@ApiOperation(value = "山东探越-塔吊监测-循环数据")
@RateLimiter(count = 10, limitType = LimitType.IP)
@PostMapping("/v2_ty/round/push")
public AjaxResult tyPushRoundData(@RequestBody @Valid TyTowerRoundReqVO req) {
log.info("desApi.towerCrane.v2_ty.round.push...{}",req.getEid());
DevTowerProjectConfig config = redisService.getCacheObject(YANZHU_DEVICE_TOWER + req.getEid());
if (config == null) {
throw new ServiceException(HttpStatusEnum.ERROR.getInfo(), HttpStatusEnum.ERROR.getCode());
}
DevTowerDataRound devTowerDataRound = new DevTowerDataRound();
devTowerDataRound.setCfgId(config.getId());
devTowerDataRound.setProjectId(config.getProjectId());
devTowerDataRound.setComId(config.getComId());
devTowerDataRound.setDeviceKey(config.getDeviceSn());
devTowerDataRound.setWorkStartTime(Convert.toStr(req.getStart_time()));
devTowerDataRound.setWorkEndTime(Convert.toStr(req.getEnd_time()));
devTowerDataRound.setMinHeight(Convert.toStr(req.getStart_height()));
devTowerDataRound.setMaxHeight(Convert.toStr(req.getEnd_height()));
devTowerDataRound.setMinRange(Convert.toStr(req.getStart_range()));
devTowerDataRound.setMaxRange(Convert.toStr(req.getEnd_range()));
devTowerDataRound.setStartHeight(Convert.toStr(req.getStart_height()));
devTowerDataRound.setEndHeight(Convert.toStr(req.getEnd_height()));
devTowerDataRound.setStartRange(Convert.toStr(req.getStart_range()));
devTowerDataRound.setEndRange(Convert.toStr(req.getEnd_range()));
devTowerDataRound.setStartRotation(Convert.toStr(req.getStart_rotation_angle()));
devTowerDataRound.setEndRotation(Convert.toStr(req.getEnd_rotation_angle()));
devTowerDataRound.setMaxLoad(Convert.toStr(req.getWeight()));
devTowerDataRound.setMaxMomentPercent(Convert.toStr(req.getMoment_percent()));
devTowerDataRoundService.insertDevTowerDataRound(devTowerDataRound);
return AjaxResult.success();
}
/**
* ++
* [6010IP]
*
* @param req
* @author JiangYuQi
* @date 2024-01-13
*/
@ApiOperation(value = "山东探越-塔吊监测-预警数据")
@RateLimiter(count = 10, limitType = LimitType.IP)
@PostMapping("/v2_ty/warning/push")
public AjaxResult tyPushWarningData(@RequestBody @Valid TyTowerWarningReqVO req) {
log.info("desApi.towerCrane.v2_ty.warning.push...{}",req.getEid());
DevTowerProjectConfig config = redisService.getCacheObject(YANZHU_DEVICE_TOWER + req.getEid());
if (config == null) {
throw new ServiceException(HttpStatusEnum.ERROR.getInfo(), HttpStatusEnum.ERROR.getCode());
}
DevTowerDataWarning devTowerDataWarning = new DevTowerDataWarning();
devTowerDataWarning.setCfgId(config.getId());
devTowerDataWarning.setProjectId(config.getProjectId());
devTowerDataWarning.setComId(config.getComId());
devTowerDataWarning.setDeviceKey(config.getDeviceSn());
devTowerDataWarning.setWarnType(Convert.toLong(req.getAlarm_type()));
devTowerDataWarningService.insertDevTowerDataWarning(devTowerDataWarning);
return AjaxResult.success();
}
/**
*
*
* @param warningType
* @return
*/
private String convertTyTowerWarningType(String warningType) {
String warningTypeEs;
switch (warningType) {
case "1":
warningTypeEs = "1";
break;
case "2":
warningTypeEs = "101";
break;
case "3":
warningTypeEs = "4";
break;
case "4":
warningTypeEs = "103";
break;
case "5":
warningTypeEs = "3";
break;
case "6":
warningTypeEs = "102";
break;
case "7":
warningTypeEs = "7";
break;
case "8":
warningTypeEs = "106";
break;
case "9":
warningTypeEs = "10";
break;
case "10":
warningTypeEs = "107";
break;
case "11":
warningTypeEs = "13";
break;
case "12":
warningTypeEs = "108";
break;
case "13":
warningTypeEs = "5";
break;
case "14":
warningTypeEs = "104";
break;
case "15":
warningTypeEs = "6";
break;
case "16":
warningTypeEs = "105";
break;
case "17":
warningTypeEs = "14";
break;
case "18":
warningTypeEs = "109";
break;
default:
warningTypeEs = "0";
break;
}
return warningTypeEs;
}
}

View File

@ -11,6 +11,7 @@ import com.yanzhu.manage.service.*;
import com.yanzhu.security.utils.DictUtils;
import com.yanzhu.system.api.domain.SysUser;
import com.yanzhu.system.api.model.LoginUser;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -22,6 +23,7 @@ import java.util.Objects;
* @author JiangYuQi
* @date 2024-08-25
*/
@Slf4j
@RestController
@RequestMapping("/wxApi")
public class WxController extends BaseController {
@ -107,7 +109,9 @@ public class WxController extends BaseController {
public AjaxResult findProSubDeptsUserInfo(@PathVariable("proId") Long proId)
{
LoginUser loginUser = SecurityUtils.getLoginUser();
log.info("findProSubDeptsUserInfo...findProSubDeptsUserInfo...{}...{}", proId, loginUser.getUserid());
if(SecurityUtils.isAdmin(loginUser.getUserid()) || SecurityUtils.isGSAdmin()){
log.info("findProSubDeptsUserInfo...1");
ProProjectInfo projectInfo = proProjectInfoService.selectProProjectInfoById(proId);
ProProjectInfoSubdeptsUsers adminUser = new ProProjectInfoSubdeptsUsers();
adminUser.setId(0L);
@ -122,6 +126,7 @@ public class WxController extends BaseController {
adminUser.setUserName(loginUser.getSysUser().getNickName());
return success(adminUser);
}else{
log.info("findProSubDeptsUserInfo...2");
return success(proProjectInfoSubdeptsUsersService.findProSubDeptsUserInfo(proId, loginUser.getUserid()));
}
}

View File

@ -1,5 +1,6 @@
package com.yanzhu.manage.domain;
package com.yanzhu.manage.domain.vo;
import com.yanzhu.manage.domain.TowerContentReqVo;
import lombok.Data;
import javax.validation.constraints.NotNull;

View File

@ -0,0 +1,37 @@
package com.yanzhu.manage.domain.vo;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* -
*/
@Data
public class TyTowerRoundReqVO {
/** 设备ID */
@NotNull
private Integer eid;
/** 开始高度 */
private Float start_height;
/** 开始幅度 */
private Float start_range;
/** 开始回转角度 */
private Float start_rotation_angle;
/** 结束高度 */
private Float end_height;
/** 结束幅度 */
private Float end_range;
/** 结束回转角度 */
private Float end_rotation_angle;
/** 重量 */
private Float weight;
/** 力矩百分比 */
private Float moment_percent;
/** 开始时间 */
private String start_time;
/** 结束时间 */
private String end_time;
}

View File

@ -0,0 +1,36 @@
package com.yanzhu.manage.domain.vo;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* -
*/
@Data
public class TyTowerRunReqVO {
/** 设备ID */
@NotNull
private Integer eid;
/** 高度(米) */
private Float height;
/** 重量(kg) */
private Float weight;
/** 回转(°) */
private Float round;
/** 幅度(°) */
private Float amplitude;
/** 风速(米/秒) */
private Float wind_speed;
/** 力矩 */
private Float moment;
/** 力矩百分比(%) */
private Float moment_percent;
/** 倍率(正整数) */
private Integer override;
/** 倾角X(°) */
private Float angle_x;
/** 倾角Y(°) */
private Float angle_y;
}

View File

@ -0,0 +1,39 @@
package com.yanzhu.manage.domain.vo;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* -
*/
@Data
public class TyTowerWarningReqVO {
/** 设备ID */
@NotNull
private Integer eid;
/** 高度 */
private Float height;
/** 重量 */
private Float weight;
/** 回转 */
private Float round;
/** 幅度 */
private Float amplitude;
/** 风速 */
private Float wind_speed;
/** 力矩 */
private Float moment;
/** 力矩百分比 */
private Float moment_percent;
/** 倍率 */
private Integer override;
/** 倾角X */
private Float angle_x;
/** 倾角Y */
private Float angle_y;
/** 报警type,报警内容由报警编号决定 */
private Integer alarm_type;
}

View File

@ -53,7 +53,6 @@ public class DevTowerDataRoundServiceImpl implements IDevTowerDataRoundService
@Override
public int insertDevTowerDataRound(DevTowerDataRound devTowerDataRound)
{
//devTowerDataRound.setCreateBy(SecurityUtils.getUsername());
devTowerDataRound.setCreateTime(DateUtils.getNowDate());
return devTowerDataRoundMapper.insertDevTowerDataRound(devTowerDataRound);
}
@ -67,7 +66,6 @@ public class DevTowerDataRoundServiceImpl implements IDevTowerDataRoundService
@Override
public int updateDevTowerDataRound(DevTowerDataRound devTowerDataRound)
{
//devTowerDataRound.setUpdateBy(SecurityUtils.getUsername());
devTowerDataRound.setUpdateTime(DateUtils.getNowDate());
return devTowerDataRoundMapper.updateDevTowerDataRound(devTowerDataRound);
}

View File

@ -186,61 +186,23 @@ public class ProPlanScheduleServiceImpl implements IProPlanScheduleService
* @param plan
*/
private void RecursionEditStartDate(ProPlan plan){
if(plan.getStartDate()!=null){
int res = proPlanMapper.updateProPlan(plan);
if(res>0){
ProPlan entity = proPlanMapper.selectProPlanByParams(plan.getProjectId(),plan.getParentId());
if(entity!=null){
List<ProPlan> belows = proPlanMapper.selectProPlanBelows(entity.getProjectId(),entity.getTaskId());
int Finished = 0;
try {
if(belows.size()>0){
for(ProPlan item:belows){
Float sNode = Convert.toFloat(item.getScheduleNode(),0.0F);
if(sNode>0){
if(sNode==100){
Finished += Convert.toFloat(item.getTaskDuation(),0.0F);
}else{
Finished += Convert.toFloat(item.getTaskDuation()*(sNode/100));
}
}
}
}
}catch (Exception e){
e.printStackTrace();
}
if(Finished==0){
entity.setScheduleNode("0");
}else{
Double _cn = Convert.toDouble(Finished/entity.getTaskDuation())*100;
if(_cn>100){
entity.setScheduleNode("100");
}else{
entity.setScheduleNode(String.format("%.2f", _cn));
}
}
// 更新总进度
if(entity.getTaskOutlineLevel()==1){
proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode());
}
System.out.println("RecursionEditStartDate.entity.getScheduleNode()..."+entity.getScheduleNode());
if(entity.getStartDate()==null){
entity.setStartDate(plan.getStartDate());
RecursionEditStartDate(entity);
}
}
}else{
int res = proPlanMapper.updateProPlanStartDate(plan);
if(res>0){
ProPlan entity = proPlanMapper.selectProPlanByParams(plan.getProjectId(),plan.getParentId());
if(entity!=null){
List<ProPlan> belows = proPlanMapper.selectProPlanBelows(entity.getProjectId(),entity.getTaskId());
Float Finished = 0.0F;
int totalTaskDuation = 0;
try {
if(belows.size()>0){
for(ProPlan item:belows){
totalTaskDuation += item.getTaskDuation();
Float sNode = Convert.toFloat(item.getScheduleNode(),0.0F);
if(sNode>0){
if(sNode==100){
if(sNode>=100){
Finished += Convert.toFloat(item.getTaskDuation(),0.0F);
}else{
Finished += Convert.toFloat(item.getTaskDuation()*(sNode/100));
@ -254,47 +216,49 @@ public class ProPlanScheduleServiceImpl implements IProPlanScheduleService
if(Finished==0){
entity.setScheduleNode("0");
}else{
Double _cn = Convert.toDouble(Finished/entity.getTaskDuation())*100;
if(_cn>100){
Double _cn = Convert.toDouble(Finished/totalTaskDuation)*100;
if(_cn>=100){
entity.setScheduleNode("100");
}else{
entity.setScheduleNode(String.format("%.2f", _cn));
}
}
// 更新总进度
if(entity.getTaskOutlineLevel()==1){
if(entity.getTaskOutlineLevel()==1L){
proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode());
}
System.out.println("RecursionEditStartDate.entity.getScheduleNode()..."+entity.getScheduleNode());
entity.setStartDate(plan.getStartDate());
RecursionEditStartDate(entity);
}
}
}
}
/**
*
* @param plan
*/
private void RecursionEditFinishDate(ProPlan plan){
if(plan.getFinishDate()!=null){
int res = proPlanMapper.updateProPlan(plan);
if(res>0){
ProPlan entity = proPlanMapper.selectProPlanByParams(plan.getProjectId(),plan.getParentId());
if(entity!=null){
if(plan.getFinishDate()!=null){
entity.setFinishDate(plan.getFinishDate());
entity.setUpdateTime(plan.getUpdateTime());
if(entity.getStartDate()==null){
entity.setStartDate(entity.getUpdateTime());
}
}
List<ProPlan> belows = proPlanMapper.selectProPlanBelows(entity.getProjectId(),entity.getTaskId());
Float Finished = 0.0F;
int totalTaskDuation = 0;
try {
if(belows.size()>0){
for(ProPlan item:belows){
totalTaskDuation += item.getTaskDuation();
Float sNode = Convert.toFloat(item.getScheduleNode(),0.0F);
if(sNode>0){
if(sNode==100){
if(sNode>=100){
Finished += Convert.toFloat(item.getTaskDuation(),0.0F);
}else{
Finished += Convert.toFloat(item.getTaskDuation()*(sNode/100));
@ -308,8 +272,8 @@ public class ProPlanScheduleServiceImpl implements IProPlanScheduleService
if(Finished==0){
entity.setScheduleNode("0");
}else{
Double _cn = Convert.toDouble(Finished/entity.getTaskDuation())*100;
if(_cn>100){
Double _cn = Convert.toDouble(Finished/totalTaskDuation)*100;
if(_cn>=100){
entity.setScheduleNode("100");
}else{
entity.setScheduleNode(String.format("%.2f", _cn));
@ -320,53 +284,9 @@ public class ProPlanScheduleServiceImpl implements IProPlanScheduleService
proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode());
}
System.out.println("RecursionEditFinishDate.entity.getScheduleNode()..."+entity.getScheduleNode());
entity.setFinishDate(plan.getFinishDate());
RecursionEditFinishDate(entity);
}
}
}else{
int res = proPlanMapper.updateProPlanFinishDate(plan);
if(res>0){
ProPlan entity = proPlanMapper.selectProPlanByParams(plan.getProjectId(),plan.getParentId());
if(entity!=null){
List<ProPlan> belows = proPlanMapper.selectProPlanBelows(entity.getProjectId(),entity.getTaskId());
Float Finished = 0.0F;
try {
if(belows.size()>0){
for(ProPlan item:belows){
Float sNode = Convert.toFloat(item.getScheduleNode(),0.0F);
if(sNode>0){
if(sNode==100){
Finished += Convert.toFloat(item.getTaskDuation(),0.0F);
}else{
Finished += Convert.toFloat(item.getTaskDuation()*(sNode/100));
}
}
}
}
}catch (Exception e){
e.printStackTrace();
}
if(Finished==0){
entity.setScheduleNode("0");
}else{
Double _cn = Convert.toDouble(Finished/entity.getTaskDuation())*100;
if(_cn>100){
entity.setScheduleNode("100");
}else{
entity.setScheduleNode(String.format("%.2f", _cn));
}
}
// 更新总进度
if(entity.getTaskOutlineLevel()==1L){
proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode());
}
System.out.println("RecursionEditFinishDate.entity.getScheduleNode()..."+entity.getScheduleNode());
entity.setFinishDate(plan.getFinishDate());
RecursionEditFinishDate(entity);
}
}
}
}
/**

View File

@ -322,3 +322,19 @@ export function submitPlanSchedule(data) {
data: data
})
}
// 视频监控管理
export function proVideoList(query) {
return request({
url: '/manage/videoMonitor/list',
method: 'get',
params: query
})
}
export function getYsToken(id){
return request({
url: '/manage/videoMonitor/getYsToken/' + id,
method: 'get'
})
}

View File

@ -61,7 +61,7 @@ App({
// this.toast("请使用手机号码登录");
// }, 1000);
wx.redirectTo({
url: '/pages/login/index',
url: '/pages/login/login',
});
}
}

View File

@ -1,38 +1,49 @@
{
"pages": [
"pages/login/login",
"pages/project_qr/index",
"pages/project_list/index",
"pages/project_info/index",
"pages/project_more/index",
"pages/project_safety/index",
"pages/project_quality/index",
"pages/sign_mags/index",
"pages/project_flowable/approveTask/index",
"pages/project_flowable/detailTask/index",
"pages/project_flowable/subDepts/index",
"pages/project_flowable/subDeptsUsers/index",
"pages/project_problemmodify/list/index",
"pages/project_problemmodify/info/index",
"pages/project_problemmodify/modify/index",
"pages/project_problemmodify/check/index",
"pages/project_problemmodify/add/index",
"pages/project_problemmodify/draft/index",
"pages/project_subdepts/list/index",
"pages/project_subdepts/add/index",
"pages/project_subdepts/info/index",
"pages/project_subgroups/list/index",
"pages/project_subgroups/add/index",
"pages/project_subgroups/info/index",
"pages/project_subusers/list/index",
"pages/project_subusers/add/index",
"pages/project_subusers/info/index",
"pages/project_magusers/list/index",
"pages/project_magusers/add/index",
"pages/project_magusers/info/index",
"pages/project_schedule/list/index",
"pages/project_schedule/add/index",
"pages/project_schedule/info/index"
"pages/project_qr/index"
],
"subpackages": [
{
"root": "pageage",
"name": "pageage",
"pages": [
"project_flowable/approveTask/index",
"project_flowable/detailTask/index",
"project_flowable/subDepts/index",
"project_flowable/subDeptsUsers/index",
"project_video/list/index",
"project_video/info/index",
"project_list/index",
"project_info/index",
"project_more/index",
"project_safety/index",
"project_quality/index",
"sign_mags/index",
"project_problemmodify/list/index",
"project_problemmodify/info/index",
"project_problemmodify/modify/index",
"project_problemmodify/check/index",
"project_problemmodify/add/index",
"project_problemmodify/draft/index",
"project_subdepts/list/index",
"project_subdepts/add/index",
"project_subdepts/info/index",
"project_subgroups/list/index",
"project_subgroups/add/index",
"project_subgroups/info/index",
"project_subusers/list/index",
"project_subusers/add/index",
"project_subusers/info/index",
"project_magusers/list/index",
"project_magusers/add/index",
"project_magusers/info/index",
"project_schedule/list/index",
"project_schedule/add/index",
"project_schedule/info/index"
],
"independent": false
}
],
"usingComponents": {
"van-row": "@vant/weapp/row",
@ -84,6 +95,12 @@
"curve-echarts": "pages/components/curve-echarts/index",
"user-infos": "pages/components/user-infos/index"
},
"plugins": {
"ezplayer": {
"version": "1.0.9",
"provider": "wxf2b3a0262975d8c2"
}
},
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#191d28",

View File

@ -7,7 +7,7 @@
<view class="tree-item-onOff" wx:else></view>
<view class="block_" bindtap="select" data-item="{{item}}" data-index="{{index}}">
<block wx:if="{{showCheckBox}}">
<image wx:if="{{item.checked === 1}}" src="/images/choice.png" class="check-box"></image>
<image wx:if="{{item.checked === 1}}" src="https://xiangguan.sxyanzhu.com/profile/static/images/choice.png" class="check-box"></image>
<image wx:if="{{item.checked === 0}}" src="/images/unchoice.png" class="check-box"></image>
<image wx:if="{{item.checked === -1}}" src="/images/unfullChoice.png" class="check-box"></image>
</block>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -36,28 +36,28 @@
</view>
<view class="inspect_list_info gk_open_con">
<view wx:if="{{item.assigneeName}}">
<image src="/images/lw_3.png"></image>办理用户:<text>{{item.assigneeName}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/lw_3.png"></image>办理用户:<text>{{item.assigneeName}}</text>
</view>
<view wx:if="{{item.assigneeName}}">
<image src="/images/s_1.png"></image>办理单位:<text class="color_blue">{{item.deptName}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_1.png"></image>办理单位:<text class="color_blue">{{item.deptName}}</text>
</view>
<view wx:if="{{item.candidate}}">
<image src="/images/s_2.png"></image>候选办理:<text>{{item.candidate}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_2.png"></image>候选办理:<text>{{item.candidate}}</text>
</view>
<view wx:if="{{item.deleteReason}}">
<image src="/images/s_18.png"></image>驳回节点:<text>{{item.deleteReason}}</text>
</view>
<view>
<image src="/images/s_6.png"></image>接收时间:<text>{{item.startTime}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_6.png"></image>接收时间:<text>{{item.startTime}}</text>
</view>
<view wx:if="{{item.endTime}}">
<image src="/images/lw_8.png"></image>处理时间:<text>{{item.endTime}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/lw_8.png"></image>处理时间:<text>{{item.endTime}}</text>
</view>
<view wx:if="{{item.duration}}">
<image src="/images/img_11.png"></image>处理耗时:<text>{{item.duration}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/img_11.png"></image>处理耗时:<text>{{item.duration}}</text>
</view>
<view wx:if="{{item.message}}">
<image src="/images/s_7.png"></image>处理意见:<text>{{item.message}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_7.png"></image>处理意见:<text>{{item.message}}</text>
</view>
</view>
</view>

View File

@ -36,28 +36,28 @@
</view>
<view class="inspect_list_info gk_open_con">
<view wx:if="{{item.assigneeName}}">
<image src="/images/lw_3.png"></image>办理用户:<text>{{item.assigneeName}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/lw_3.png"></image>办理用户:<text>{{item.assigneeName}}</text>
</view>
<view wx:if="{{item.assigneeName}}">
<image src="/images/s_1.png"></image>办理单位:<text class="color_blue">{{item.deptName}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_1.png"></image>办理单位:<text class="color_blue">{{item.deptName}}</text>
</view>
<view wx:if="{{item.candidate}}">
<image src="/images/s_2.png"></image>候选办理:<text>{{item.candidate}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_2.png"></image>候选办理:<text>{{item.candidate}}</text>
</view>
<view wx:if="{{item.deleteReason}}">
<image src="/images/s_18.png"></image>驳回节点:<text>{{item.deleteReason}}</text>
</view>
<view>
<image src="/images/s_6.png"></image>接收时间:<text>{{item.startTime}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_6.png"></image>接收时间:<text>{{item.startTime}}</text>
</view>
<view wx:if="{{item.endTime}}">
<image src="/images/lw_8.png"></image>处理时间:<text>{{item.endTime}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/lw_8.png"></image>处理时间:<text>{{item.endTime}}</text>
</view>
<view wx:if="{{item.duration}}">
<image src="/images/img_11.png"></image>处理耗时:<text>{{item.duration}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/img_11.png"></image>处理耗时:<text>{{item.duration}}</text>
</view>
<view wx:if="{{item.message}}">
<image src="/images/s_7.png"></image>处理意见:<text>{{item.message}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_7.png"></image>处理意见:<text>{{item.message}}</text>
</view>
</view>
</view>

View File

@ -61,7 +61,7 @@ Page({
} else {
console.log("未查询到Token...{}...准备重新登录")
wx.redirectTo({
url: '../login/login',
url: '../../../pages/login/login',
})
}
},

View File

@ -31,7 +31,7 @@
<text wx:if="{{item.endTime}}" class="color_purple">办结时间 {{item.endTime}}</text>
</view>
<view wx:if="{{showChecked && activeState=='dsh'}}" class="myIcon" data-set="{{item.procInsId}}" catchtap="selectItem">
<image src="{{item.selected ? '/images/choice.png' : '/images/unchoice.png'}}" />
<image src="{{item.selected ? 'https://xiangguan.sxyanzhu.com/profile/static/images/choice.png' : '/images/unchoice.png'}}" />
</view>
</view>
</view>

View File

@ -29,22 +29,22 @@ Page({
projectDeptsList: [],
deptTypes: [{
"name": "建设单位",
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/jsdw.png"
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/WEB_jsdw.png"
}, {
"name": "监理单位",
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/jldw.png"
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/WEB_jldw.png"
}, {
"name": "设计单位",
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/sjdw.png"
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/WEB_sjdw.png"
}, {
"name": "检测单位",
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/jcjg.png"
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/WEB_jcjg.png"
}, {
"name": "勘察单位",
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/fbdw.png"
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/web_ktdw.png"
}, {
"name": "总包单位",
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/zbdw.png"
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/web_zbdw.png"
}],
active: 0,
projectId: '',
@ -130,7 +130,7 @@ Page({
onLoad: function (options) {
if (!getToken()) {
wx.redirectTo({
url: '../login/login',
url: '../../pages/login/login',
})
}
wx.setStorageSync('nav-menu', "xmgk");
@ -445,11 +445,10 @@ Page({
res.data.plannedCompletionTime = " - ";
}
res.data.projectDeptsList.forEach(item => {
this.data.deptTypes.forEach(_it => {
if (_it.name == item.deptType) {
item.iconSrc = _it.iconSrc;
let typeItem = this.data.deptTypes.filter((v) => v.name == item.deptType);
if(typeItem.length>0){
item.iconSrc = typeItem[0].iconSrc;
}
})
});
this.setData({
projectInfo: res.data,

View File

@ -26,40 +26,40 @@
<van-collapse-item title="项目基本信息" name="base">
<view class="gk_open_con">
<view>
<image src="/images/s_12.png"></image>项目单位:<text>{{projectInfo.comName}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_12.png"></image>项目单位:<text>{{projectInfo.comName}}</text>
</view>
<view wx:if="{{projectInfo.province && projectInfo.city}}">
<image src="/images/s_1.png"></image>所属区域:<text>{{projectInfo.province+' - '+projectInfo.city}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_1.png"></image>所属区域:<text>{{projectInfo.province+' - '+projectInfo.city}}</text>
</view>
<view>
<image src="/images/s_2.png"></image>详细地址:<text>{{projectInfo.projectAddress}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_2.png"></image>详细地址:<text>{{projectInfo.projectAddress}}</text>
</view>
<view>
<image src="/images/s_3.png"></image>项目类型:<text>{{projectInfo.projectTypeName}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_3.png"></image>项目类型:<text>{{projectInfo.projectTypeName}}</text>
</view>
<view wx:if="{{false}}">
<image src="/images/s_4.png"></image>总建筑面积:<text>{{projectInfo.totalBuildingArea}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_4.png"></image>总建筑面积:<text>{{projectInfo.totalBuildingArea}}</text>
</view>
<view>
<image src="/images/s_5.png"></image>计划开工日期:<text>{{projectInfo.scheduledStartTime}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_5.png"></image>计划开工日期:<text>{{projectInfo.scheduledStartTime}}</text>
</view>
<view>
<image src="/images/s_6.png"></image>实际开工日期:<text>{{projectInfo.actualOperatingTime}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_6.png"></image>实际开工日期:<text>{{projectInfo.actualOperatingTime}}</text>
</view>
<view>
<image src="/images/s_7.png"></image>计划竣工日期:<text>{{projectInfo.plannedCompletionTime}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_7.png"></image>计划竣工日期:<text>{{projectInfo.plannedCompletionTime}}</text>
</view>
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
<image src="/images/s_8.png"></image>总工期:<text>{{projectInfo.projectTimeLimit + ' 天'}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_8.png"></image>总工期:<text>{{projectInfo.projectTimeLimit + ' 天'}}</text>
</view>
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
<image src="/images/s_10.png"></image>项目负责人:<text>{{projectInfo.projectPerson}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_10.png"></image>项目负责人:<text>{{projectInfo.projectPerson}}</text>
</view>
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
<image src="/images/s_11.png"></image>负责人手机号:<text>{{projectInfo.projectPersonPhone}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_11.png"></image>负责人手机号:<text>{{projectInfo.projectPersonPhone}}</text>
</view>
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
<image src="/images/s_15.png"></image>项目概述:<text>{{projectInfo.projectSummarize}}</text>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_15.png"></image>项目概述:<text>{{projectInfo.projectSummarize}}</text>
</view>
</view>
</van-collapse-item>

View File

@ -27,7 +27,7 @@ import {
} else {
console.log("未查询到Token...{}...准备重新登录")
wx.redirectTo({
url: '../login/login',
url: '../../pages/login/login',
})
}
},

View File

@ -47,7 +47,7 @@ Page({
onLoad(options) {
if (!getToken()) {
wx.redirectTo({
url: '../../login/login',
url: '../../../pages/login/login',
})
}
if (options && options.id) {

View File

@ -116,7 +116,7 @@
<van-overlay show="{{loadShow}}">
<view class="gif">
<image src="/images/loding.gif"></image>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/loding.gif"></image>
<view>数据处理中!请稍后...</view>
</view>
</van-overlay>

View File

@ -34,7 +34,7 @@ Page({
onLoad(options) {
if (!getToken()) {
wx.redirectTo({
url: '../../login/login',
url: '../../../pages/login/login',
})
}
if (options && options.id) {

View File

@ -39,7 +39,7 @@ Page({
onLoad(options) {
if (!getToken()) {
wx.redirectTo({
url: '../../login/login',
url: '../../../pages/login/login',
})
}
this.setData({

View File

@ -46,7 +46,7 @@ Page({
onLoad: function (options) {
if (!getToken()) {
wx.redirectTo({
url: '../login/login',
url: '../../pages/login/login',
})
}
const proUserInfo = getUserInfo();

View File

@ -68,7 +68,7 @@ Page({
onLoad(options) {
if (!getToken()) {
wx.redirectTo({
url: '../../login/login',
url: '../../../pages/login/login',
})
}
const proUserInfo = getUserInfo();

Some files were not shown because too many files have changed in this diff Show More