Compare commits

..

No commits in common. "d1d003e7f4127105a4ccf53ba41a4f148992da62" and "b9958ebdb153d16e0121cf5e7f4d26557db47a4f" have entirely different histories.

200 changed files with 360 additions and 986 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
left join pro_project_info_subdepts pdept on psu.sub_dept_id=pdept.id
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,6 +2,7 @@ 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;
@ -9,10 +10,7 @@ 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.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.domain.TowerReqVo;
import com.yanzhu.manage.enums.HttpStatusEnum;
import com.yanzhu.manage.enums.TowerTypeEnums;
import com.yanzhu.manage.service.*;
@ -25,7 +23,6 @@ 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;
@ -61,16 +58,12 @@ public class TowerCraneApiController {
@Autowired
private IDevTowerDataCollideService devTowerDataCollideService;
@Autowired
private IDevTowerDataWarningService devTowerDataWarningService;
@Autowired
private IDevTowerProjectConfigService devTowerProjectConfigService;
/**
* ++
* [6010IP]
*
* @param req
* @author JiangYuQi
* @date 2024-01-13
@ -79,32 +72,31 @@ 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")));
@ -121,10 +113,9 @@ public class TowerCraneApiController {
/**
*
*
* @param req
*/
private void pushRunData(DevTowerProjectConfig config, TowerReqVo req) {
private static void pushRunData(DevTowerProjectConfig config,TowerReqVo req){
DevTowerDataRun devTowerDataRun = new DevTowerDataRun();
Map<String, Object> dataContent = req.getContent().getDataContent();
devTowerDataRun.setCfgId(config.getId());
@ -150,34 +141,33 @@ 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) {
pushWarningData(config, warning);
for(String warning:warnings){
Integer alarm = Convert.toInt(warning);
if (alarm > 100 && alarm < 120) {
if(alarm>100 && alarm<120){
devTowerDataRun.setIsAlarm(1L);
}
}
}
devTowerDataRunService.insertDevTowerDataRun(devTowerDataRun);
System.out.println(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());
@ -209,16 +199,15 @@ 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) {
pushWarningData(config, warning);
for(String warning:warnings){
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);
}
}
@ -226,28 +215,11 @@ 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());
@ -267,8 +239,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")));
@ -291,10 +263,9 @@ 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());
@ -341,10 +312,9 @@ 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());
@ -373,175 +343,4 @@ 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,7 +11,6 @@ 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.*;
@ -23,7 +22,6 @@ import java.util.Objects;
* @author JiangYuQi
* @date 2024-08-25
*/
@Slf4j
@RestController
@RequestMapping("/wxApi")
public class WxController extends BaseController {
@ -109,9 +107,7 @@ 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);
@ -126,7 +122,6 @@ 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,6 +1,5 @@
package com.yanzhu.manage.domain.vo;
package com.yanzhu.manage.domain;
import com.yanzhu.manage.domain.TowerContentReqVo;
import lombok.Data;
import javax.validation.constraints.NotNull;

View File

@ -1,37 +0,0 @@
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

@ -1,36 +0,0 @@
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

@ -1,39 +0,0 @@
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,6 +53,7 @@ public class DevTowerDataRoundServiceImpl implements IDevTowerDataRoundService
@Override
public int insertDevTowerDataRound(DevTowerDataRound devTowerDataRound)
{
//devTowerDataRound.setCreateBy(SecurityUtils.getUsername());
devTowerDataRound.setCreateTime(DateUtils.getNowDate());
return devTowerDataRoundMapper.insertDevTowerDataRound(devTowerDataRound);
}
@ -66,6 +67,7 @@ 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,49 +186,89 @@ public class ProPlanScheduleServiceImpl implements IProPlanScheduleService
* @param plan
*/
private void RecursionEditStartDate(ProPlan plan){
int res = proPlanMapper.updateProPlan(plan);
if(res>0){
ProPlan entity = proPlanMapper.selectProPlanByParams(plan.getProjectId(),plan.getParentId());
if(entity!=null){
if(entity.getStartDate()==null){
entity.setStartDate(plan.getStartDate());
}
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){
Finished += Convert.toFloat(item.getTaskDuation(),0.0F);
}else{
Finished += Convert.toFloat(item.getTaskDuation()*(sNode/100));
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();
}
}catch (Exception e){
e.printStackTrace();
}
if(Finished==0){
entity.setScheduleNode("0");
}else{
Double _cn = Convert.toDouble(Finished/totalTaskDuation)*100;
if(_cn>=100){
entity.setScheduleNode("100");
if(Finished==0){
entity.setScheduleNode("0");
}else{
entity.setScheduleNode(String.format("%.2f", _cn));
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());
entity.setStartDate(plan.getStartDate());
RecursionEditStartDate(entity);
}
// 更新总进度
if(entity.getTaskOutlineLevel()==1L){
proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode());
}
}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;
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());
entity.setStartDate(plan.getStartDate());
RecursionEditStartDate(entity);
}
System.out.println("RecursionEditStartDate.entity.getScheduleNode()..."+entity.getScheduleNode());
RecursionEditStartDate(entity);
}
}
}
@ -238,53 +278,93 @@ public class ProPlanScheduleServiceImpl implements IProPlanScheduleService
* @param plan
*/
private void RecursionEditFinishDate(ProPlan plan){
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());
if(plan.getFinishDate()!=null){
int res = proPlanMapper.updateProPlan(plan);
if(res>0){
ProPlan entity = proPlanMapper.selectProPlanByParams(plan.getProjectId(),plan.getParentId());
if(entity!=null){
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){
Finished += Convert.toFloat(item.getTaskDuation(),0.0F);
}else{
Finished += Convert.toFloat(item.getTaskDuation()*(sNode/100));
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();
}
}catch (Exception e){
e.printStackTrace();
}
if(Finished==0){
entity.setScheduleNode("0");
}else{
Double _cn = Convert.toDouble(Finished/totalTaskDuation)*100;
if(_cn>=100){
entity.setScheduleNode("100");
if(Finished==0){
entity.setScheduleNode("0");
}else{
entity.setScheduleNode(String.format("%.2f", _cn));
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);
}
// 更新总进度
if(entity.getTaskOutlineLevel()==1L){
proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode());
}
}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);
}
System.out.println("RecursionEditFinishDate.entity.getScheduleNode()..."+entity.getScheduleNode());
RecursionEditFinishDate(entity);
}
}
}

View File

@ -322,19 +322,3 @@ 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/login',
url: '/pages/login/index',
});
}
}

View File

@ -1,49 +1,38 @@
{
"pages": [
"pages/login/login",
"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
}
"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"
],
"usingComponents": {
"van-row": "@vant/weapp/row",
@ -95,12 +84,6 @@
"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="https://xiangguan.sxyanzhu.com/profile/static/images/choice.png" class="check-box"></image>
<image wx:if="{{item.checked === 1}}" src="/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.

After

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -1,102 +0,0 @@
import {
getToken
} from '../../../utils/auth'
import {
getYsToken
} from '../../../api/project'
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
ysToken: '',
palyUrl: '',
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
if (!getToken()) {
wx.redirectTo({
url: '../../../pages/login/login',
})
}
this.findYsToken(options.id);
this.setData({
palyUrl: options.url
});
},
findYsToken: function (id) {
getYsToken(id).then(res =>{
if(res.code==200){
this.setData({
ysToken: res.msg
});
}
});
},
returnToPage: function () {
/*关闭当前页面,跳转到其它页面。*/
wx.redirectTo({
url: `../list/index`,
})
},
handleError: function () {
app.toast("播放监控视频出错了!")
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -1,6 +0,0 @@
{
"usingComponents": {
"ezplayer": "plugin://ezplayer/ezplayer"
},
"navigationStyle":"custom"
}

View File

@ -1,32 +0,0 @@
<view class="header_title">
<view class="header_title_row">
<van-row>
<van-col span="4">
<view class="header_img" bindtap="returnToPage">
<image src="/images/left.png"></image>
</view>
</van-col>
<van-col span="15">
<view class="header_name">视频监控播放</view>
</van-col>
</van-row>
</view>
</view>
<view class="max_content">
<view class="inspect_overview_max">
<view class="inspect_overview">
<ezplayer
id="ezplayer"
accessToken="{{ysToken}}"
url="{{palyUrl}}"
plugins="talk,voice,capture"
recPlayTime=""
width="360"
height="300"
watermark="shuiyin"
themeData="{'poster':'','controls':{fullScreenBtn:false,hdBtn:true}}"
bind:handleError="handleError"
/>
</view>
</view>
</view>

View File

@ -1 +0,0 @@
/* pages/project_video/info/index.wxss */

View File

@ -1,147 +0,0 @@
import {
getToken
} from '../../../utils/auth'
import {
proVideoList
} from '../../../api/project'
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
initData: {},
pageNum: 1,
pageSize: 10,
total: 0,
listData: [],
},
//项目切换 返回值
onProjectSelect(e) {
let projectId = e.detail.id;
let projectName = e.detail.text;
app.globalData.useProjectId = projectId;
app.globalData.useProjectName = projectName;
this.onLoad();
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
if (!getToken()) {
wx.redirectTo({
url: '../../../pages/login/login',
})
}
this.setData({
initData: {
id: app.globalData.useProjectId,
text: app.globalData.useProjectName,
},
pageNum: 1,
pageSize: 10,
listData: [],
total: 0
});
this.getListData();
},
/**
* 播放视频
* @param {*} e
*/
videoPlay(e) {
let {
id,
url
} = e.currentTarget.dataset.set
wx.redirectTo({
url: `../info/index?id=${id}&url=${url}`,
})
},
/**
* 查询数据列表
*/
getListData() {
let params = "pageNum=" + this.data.pageNum + "&pageSize=" + this.data.pageSize + "&projectId=" + app.globalData.useProjectId;
proVideoList(params).then(res => {
if (res.code == 200) {
this.setData({
total: res.total,
listData: this.data.listData.concat(res.rows)
})
}
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
returnToPage: function () {
wx.redirectTo({
url: '../../project_safety/index',
})
},
onScrollToLower() {
let nal = Math.ceil(this.data.total / this.data.pageSize);
if (this.data.pageNum < nal) {
this.setData({
pageNum: this.data.pageNum + 1
});
this.getListData();
} else {
console.log("已经到底了,没有数据可加载!!!");
}
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -1,4 +0,0 @@
{
"usingComponents": {},
"navigationStyle":"custom"
}

View File

@ -1,47 +0,0 @@
<view class="header_title">
<view class="header_title_row">
<van-row>
<van-col span="4">
<view class="header_img" bindtap="returnToPage">
<image src="/images/left.png"></image>
</view>
</van-col>
<van-col span="15">
<view class="header_name">视频监控管理</view>
</van-col>
</van-row>
</view>
</view>
<scroll-view class="max_content_scroll" type="list" scroll-y bindscrolltolower="onScrollToLower">
<project-select init="{{initData}}" bindchange="onProjectSelect" id="projectSel"></project-select>
<view class="inspect_max_scroll">
<!--专项检查样式zxjc-->
<view class="inspect_for_scroll" v-if="{{ listData.length>0 }}" wx:for="{{listData}}" wx:key="index">
<view class="inspect_for_bgd">
<view class="inspect_list_title">
<view class="inspect_list_title_label inspect_list_title_width">
<view class="inspect_list_title_number">{{index < 10 ?'0'+(index+1):(index+1)}}</view>
<view class="module_title module_title_flex inspect_list_title_text_2">
{{item.monitorName}}
</view>
<text class="timeline_for_state_1">{{item.manufacturer}}</text>
</view>
</view>
<view class="inspect_list_info">
<view class="inspect_list_info_details">
<view class="video-imgage-container" data-set="{{item}}" bindtap="videoPlay">
<image class="video-image" src="https://xiangguan.sxyanzhu.com/profile/static/images/video_bg.png"/>
<image class="video-play" src="https://xiangguan.sxyanzhu.com/profile/static/images/home_play.png" alt="play"/>
</view>
</view>
</view>
</view>
</view>
<view wx:if="{{listData.length==0}}">
<view style="padding-top: 70px;text-align: -webkit-center;">
<image src="https://szgcwx.jhncidg.com/staticFiles/nodata.png" style="width: 130px;height: 105px;"></image>
<view style="color: #a5abbb;">暂无数据</view>
</view>
</view>
</view>
</scroll-view>

View File

@ -1,18 +0,0 @@
/* pages/project_video/list/index.wxss */
.video-imgage-container {
position: relative;
}
.video-imgage-container .video-image{
height: 112px;
background: #333333;
vertical-align: top;
}
.video-imgage-container .video-play{
position: absolute;
display: inline-block;
width: 26px;
height: 26px;
top:43px;
left: 45%;
z-index: 100;
}

View File

@ -28,21 +28,21 @@
<button wx:if="{{false}}" type="default" size="default" style="margin-top: 40rpx;background-color: #513ea7;color: #FFF;" bindtap="bindingBuild">立即关注公众号</button>
<view class="left_manage_min" wx:if="{{false}}">
<view class="left_manage" bindtap="binding">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/img_1.png" class="left_icon"></image>
<image src="/images/img_1.png" class="left_icon"></image>
<text class="left_binding">授权消息通知</text>
<image src="/images/right.png" class="left_flaot"></image>
</view>
</view>
<view class="left_manage_min">
<view class="left_manage" bindtap="resPassword">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/img_5.png" class="left_icon"></image>
<image src="/images/img_5.png" class="left_icon"></image>
<text class="left_password">修改密码</text>
<image src="/images/right.png" class="left_flaot"></image>
</view>
</view>
<view class="left_manage_min">
<view class="left_manage" bindtap="loginOut">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/set.png" class="left_icon"></image>
<image src="/images/set.png" class="left_icon"></image>
<text class="left_sign">退出登录</text>
<image src="/images/right.png" class="left_flaot"></image>
</view>
@ -60,7 +60,7 @@
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">旧密码</view>
<view class="inspect_info_content">
<input placeholder="请输入旧密码" placeholder-style="color:#6777aa;" class="inspect_input_fill_in" password="{{showOldPass}}" maxlength="20" model:value="{{oldPsw}}" />
<image wx:if="{{showOldPass}}" class="password-icon" src="https://xiangguan.sxyanzhu.com/profile/static/images/biyan.png" bindtap="seeTap1"></image>
<image wx:if="{{showOldPass}}" class="password-icon" src="/images/biyan.png" bindtap="seeTap1"></image>
<image wx:else class="password-icon" src="/images/yj_01.png" bindtap="seeTap1"></image>
</view>
</view>
@ -68,7 +68,7 @@
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">新密码</view>
<view class="inspect_info_content">
<input placeholder="请输入新密码" placeholder-style="color:#6777aa;" class="inspect_input_fill_in" password="{{showNewPass}}" maxlength="20" model:value="{{newPsw}}" />
<image class="password-icon" src="https://xiangguan.sxyanzhu.com/profile/static/images/biyan.png" bindtap="seeTap2" wx:if="{{showNewPass}}" />
<image class="password-icon" src="/images/biyan.png" bindtap="seeTap2" wx:if="{{showNewPass}}" />
<image class="password-icon" src="/images/yj_01.png" bindtap="seeTap2" wx:else />
</view>
</view>
@ -76,7 +76,7 @@
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">确认密码</view>
<view class="inspect_info_content">
<input placeholder="请确认新密码" placeholder-style="color:#6777aa;" class="inspect_input_fill_in" password="{{showPassWord}}" maxlength="20" model:value="{{password}}" />
<image class="password-icon" src="https://xiangguan.sxyanzhu.com/profile/static/images/biyan.png" bindtap="seeTap3" wx:if="{{showPassWord}}" />
<image class="password-icon" src="/images/biyan.png" bindtap="seeTap3" wx:if="{{showPassWord}}" />
<image class="password-icon" src="/images/yj_01.png" bindtap="seeTap3" wx:else />
</view>
</view>

View File

@ -187,14 +187,14 @@ Page({
setUserInfo(userInfo);
//单项目直接进入项目页面
wx.redirectTo({
url: '../../pageage/project_info/index',
url: '../project_info/index',
})
}
});
}else{
//多项目进入项目切换页面
wx.redirectTo({
url: '../../pageage/project_list/index',
url: '../project_list/index',
})
}
}else{

View File

@ -36,28 +36,28 @@
</view>
<view class="inspect_list_info gk_open_con">
<view wx:if="{{item.assigneeName}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/lw_3.png"></image>办理用户:<text>{{item.assigneeName}}</text>
<image src="/images/lw_3.png"></image>办理用户:<text>{{item.assigneeName}}</text>
</view>
<view wx:if="{{item.assigneeName}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_1.png"></image>办理单位:<text class="color_blue">{{item.deptName}}</text>
<image src="/images/s_1.png"></image>办理单位:<text class="color_blue">{{item.deptName}}</text>
</view>
<view wx:if="{{item.candidate}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_2.png"></image>候选办理:<text>{{item.candidate}}</text>
<image src="/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="https://xiangguan.sxyanzhu.com/profile/static/images/s_6.png"></image>接收时间:<text>{{item.startTime}}</text>
<image src="/images/s_6.png"></image>接收时间:<text>{{item.startTime}}</text>
</view>
<view wx:if="{{item.endTime}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/lw_8.png"></image>处理时间:<text>{{item.endTime}}</text>
<image src="/images/lw_8.png"></image>处理时间:<text>{{item.endTime}}</text>
</view>
<view wx:if="{{item.duration}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/img_11.png"></image>处理耗时:<text>{{item.duration}}</text>
<image src="/images/img_11.png"></image>处理耗时:<text>{{item.duration}}</text>
</view>
<view wx:if="{{item.message}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_7.png"></image>处理意见:<text>{{item.message}}</text>
<image src="/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="https://xiangguan.sxyanzhu.com/profile/static/images/lw_3.png"></image>办理用户:<text>{{item.assigneeName}}</text>
<image src="/images/lw_3.png"></image>办理用户:<text>{{item.assigneeName}}</text>
</view>
<view wx:if="{{item.assigneeName}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_1.png"></image>办理单位:<text class="color_blue">{{item.deptName}}</text>
<image src="/images/s_1.png"></image>办理单位:<text class="color_blue">{{item.deptName}}</text>
</view>
<view wx:if="{{item.candidate}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_2.png"></image>候选办理:<text>{{item.candidate}}</text>
<image src="/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="https://xiangguan.sxyanzhu.com/profile/static/images/s_6.png"></image>接收时间:<text>{{item.startTime}}</text>
<image src="/images/s_6.png"></image>接收时间:<text>{{item.startTime}}</text>
</view>
<view wx:if="{{item.endTime}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/lw_8.png"></image>处理时间:<text>{{item.endTime}}</text>
<image src="/images/lw_8.png"></image>处理时间:<text>{{item.endTime}}</text>
</view>
<view wx:if="{{item.duration}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/img_11.png"></image>处理耗时:<text>{{item.duration}}</text>
<image src="/images/img_11.png"></image>处理耗时:<text>{{item.duration}}</text>
</view>
<view wx:if="{{item.message}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_7.png"></image>处理意见:<text>{{item.message}}</text>
<image src="/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: '../../../pages/login/login',
url: '../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 ? 'https://xiangguan.sxyanzhu.com/profile/static/images/choice.png' : '/images/unchoice.png'}}" />
<image src="{{item.selected ? '/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/static/icon/WEB_jsdw.png"
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/jsdw.png"
}, {
"name": "监理单位",
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/WEB_jldw.png"
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/jldw.png"
}, {
"name": "设计单位",
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/WEB_sjdw.png"
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/sjdw.png"
}, {
"name": "检测单位",
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/WEB_jcjg.png"
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/jcjg.png"
}, {
"name": "勘察单位",
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/web_ktdw.png"
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/fbdw.png"
}, {
"name": "总包单位",
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/web_zbdw.png"
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/zbdw.png"
}],
active: 0,
projectId: '',
@ -130,7 +130,7 @@ Page({
onLoad: function (options) {
if (!getToken()) {
wx.redirectTo({
url: '../../pages/login/login',
url: '../login/login',
})
}
wx.setStorageSync('nav-menu', "xmgk");
@ -445,10 +445,11 @@ Page({
res.data.plannedCompletionTime = " - ";
}
res.data.projectDeptsList.forEach(item => {
let typeItem = this.data.deptTypes.filter((v) => v.name == item.deptType);
if(typeItem.length>0){
item.iconSrc = typeItem[0].iconSrc;
}
this.data.deptTypes.forEach(_it => {
if (_it.name == item.deptType) {
item.iconSrc = _it.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="https://xiangguan.sxyanzhu.com/profile/static/images/s_12.png"></image>项目单位:<text>{{projectInfo.comName}}</text>
<image src="/images/s_12.png"></image>项目单位:<text>{{projectInfo.comName}}</text>
</view>
<view wx:if="{{projectInfo.province && projectInfo.city}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_1.png"></image>所属区域:<text>{{projectInfo.province+' - '+projectInfo.city}}</text>
<image src="/images/s_1.png"></image>所属区域:<text>{{projectInfo.province+' - '+projectInfo.city}}</text>
</view>
<view>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_2.png"></image>详细地址:<text>{{projectInfo.projectAddress}}</text>
<image src="/images/s_2.png"></image>详细地址:<text>{{projectInfo.projectAddress}}</text>
</view>
<view>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_3.png"></image>项目类型:<text>{{projectInfo.projectTypeName}}</text>
<image src="/images/s_3.png"></image>项目类型:<text>{{projectInfo.projectTypeName}}</text>
</view>
<view wx:if="{{false}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_4.png"></image>总建筑面积:<text>{{projectInfo.totalBuildingArea}}</text>
<image src="/images/s_4.png"></image>总建筑面积:<text>{{projectInfo.totalBuildingArea}}</text>
</view>
<view>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_5.png"></image>计划开工日期:<text>{{projectInfo.scheduledStartTime}}</text>
<image src="/images/s_5.png"></image>计划开工日期:<text>{{projectInfo.scheduledStartTime}}</text>
</view>
<view>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_6.png"></image>实际开工日期:<text>{{projectInfo.actualOperatingTime}}</text>
<image src="/images/s_6.png"></image>实际开工日期:<text>{{projectInfo.actualOperatingTime}}</text>
</view>
<view>
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_7.png"></image>计划竣工日期:<text>{{projectInfo.plannedCompletionTime}}</text>
<image src="/images/s_7.png"></image>计划竣工日期:<text>{{projectInfo.plannedCompletionTime}}</text>
</view>
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_8.png"></image>总工期:<text>{{projectInfo.projectTimeLimit + ' 天'}}</text>
<image src="/images/s_8.png"></image>总工期:<text>{{projectInfo.projectTimeLimit + ' 天'}}</text>
</view>
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_10.png"></image>项目负责人:<text>{{projectInfo.projectPerson}}</text>
<image src="/images/s_10.png"></image>项目负责人:<text>{{projectInfo.projectPerson}}</text>
</view>
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_11.png"></image>负责人手机号:<text>{{projectInfo.projectPersonPhone}}</text>
<image src="/images/s_11.png"></image>负责人手机号:<text>{{projectInfo.projectPersonPhone}}</text>
</view>
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_15.png"></image>项目概述:<text>{{projectInfo.projectSummarize}}</text>
<image src="/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: '../../pages/login/login',
url: '../login/login',
})
}
},

View File

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

View File

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

View File

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

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