From 6630484f4d595c468dba6b07d4586bfbb16525fa Mon Sep 17 00:00:00 2001 From: LSH Date: 星期二, 12 九月 2023 17:14:19 +0800 Subject: [PATCH] #合同审核完善 --- src/main/java/com/zy/crm/manager/entity/Contract.java | 41 ++++ src/main/resources/mapper/ContractMapper.xml | 3 src/main/webapp/static/js/contract/contract.js | 53 +++++ src/main/java/com/zy/crm/common/model/SettleDto.java | 45 +++++ src/main/java/com/zy/crm/manager/controller/ContractController.java | 188 ++++++++++++++++++++ src/main/webapp/views/contract/contract_more.html | 187 ++++++++++++++++++++ src/main/webapp/static/js/common.js | 1 src/main/webapp/views/contract/contract.html | 16 + 8 files changed, 525 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/crm/common/model/SettleDto.java b/src/main/java/com/zy/crm/common/model/SettleDto.java index 64fe6e7..3b57330 100644 --- a/src/main/java/com/zy/crm/common/model/SettleDto.java +++ b/src/main/java/com/zy/crm/common/model/SettleDto.java @@ -243,4 +243,49 @@ return list; } + public static List<SettleDto> initContract(User manager ,User user,User president,List<String> names ,int nodes) { + List<SettleDto> list = new ArrayList<>(); + for (int i = 0; i < nodes+1; i++) { + SettleDto dto = new SettleDto(); + dto.setStep(i); + switch (i) { + case 0: + dto.setTitle("寮�濮�"); + dto.setMsg(user.getUsername() + names.get(i)); + dto.setUserId(user.getId()); + dto.setUsername(user.getUsername()); + dto.setTime(DateUtils.convert(new Date())); + dto.setCurr(Boolean.TRUE); + list.add(dto); + break; + case 1: + dto.setTitle(names.get(i)); + dto.setUserId(user.getId()); + dto.setUsername(user.getNickname()); + list.add(dto); + break; + case 2: + dto.setTitle(names.get(i)); + dto.setUserId(manager.getId()); + dto.setUsername(manager.getNickname()); + list.add(dto); + break; + case 3: + dto.setTitle(names.get(i)); + dto.setUserId(president.getId()); + dto.setUsername(president.getNickname()); + list.add(dto); + break; + case 4: + dto.setTitle(names.get(i)); + list.add(dto); + break; + default: + break; + } + } + return list; + } + + } diff --git a/src/main/java/com/zy/crm/manager/controller/ContractController.java b/src/main/java/com/zy/crm/manager/controller/ContractController.java index 94b934b..e0fb02f 100644 --- a/src/main/java/com/zy/crm/manager/controller/ContractController.java +++ b/src/main/java/com/zy/crm/manager/controller/ContractController.java @@ -1,15 +1,16 @@ package com.zy.crm.manager.controller; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.common.DateUtils; +import com.core.exception.CoolException; +import com.zy.crm.common.model.SettleDto; import com.zy.crm.common.service.OssService; -import com.zy.crm.manager.entity.Contract; -import com.zy.crm.manager.entity.ContractSales; -import com.zy.crm.manager.entity.PriOnline; +import com.zy.crm.manager.entity.*; import com.zy.crm.manager.service.ContractSalesService; import com.zy.crm.manager.service.ContractService; import com.core.annotations.ManagerAuth; @@ -18,8 +19,11 @@ import com.core.common.R; import com.core.domain.KeyValueVo; import com.zy.crm.common.web.BaseController; +import com.zy.crm.manager.service.ProcessPermissionsService; import com.zy.crm.manager.utils.ChineseNumberUtils; import com.zy.crm.manager.utils.WordUtils; +import com.zy.crm.system.entity.User; +import com.zy.crm.system.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.InputStreamResource; import org.springframework.http.HttpHeaders; @@ -44,11 +48,20 @@ private ContractSalesService contractSalesService; @Autowired private OssService ossService; + @Autowired + private UserService userService; + @Autowired + private ProcessPermissionsService processPermissionsService; @RequestMapping(value = "/contract/{id}/auth") @ManagerAuth public R get(@PathVariable("id") String id) { - return R.ok(contractService.selectById(String.valueOf(id))); + Contract contract = contractService.selectById(String.valueOf(id)); + assert contract != null; + JSONObject resultObj = JSON.parseObject(JSON.toJSONString(contract)); + // 姝ラ鏉$浉鍏� + resultObj.put("step", contract.getSettle() == 5 ? 0 : contract.getSettle() + 1); + return R.ok().add(resultObj); } @RequestMapping(value = "/contract/list/auth") @@ -83,10 +96,27 @@ @RequestMapping(value = "/contract/add/auth") @ManagerAuth(memo = "娣诲姞鍚堝悓") public R add(Contract contract) { + Date now = new Date(); contract.setUserId(getUserId()); //鍒涘缓浜哄憳閮ㄩ棬 contract.setDeptId(getDeptId()); - contract.setCreateTime(new Date()); + contract.setCreateTime(now); + + contract.setSettle(0); + + User manager = userService.getDeptManager(getHostId(), getUser().getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗 + List<String> initNames = new ArrayList<>(); + initNames.add("鍒涘缓浜у搧璐圭敤鏄庣粏妯℃澘"); + initNames.add("鎻愪氦浜у搧璐圭敤鏄庣粏"); + initNames.add("閮ㄩ棬缁忕悊瀹℃牳"); + ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 7).eq("process", "3-1" ));//7锛氬悎鍚岀鐞� + User president = userService.selectById(processPermissions.getUserId()); + initNames.add("鎬昏鍔�"+president.getNickname()+"瀹℃牳"); + initNames.add("涓氬姟鍛樼‘璁�"); + contract.setSettleMsg(JSON.toJSONString(SettleDto.initContract(manager,getUser(),president,initNames,4))); + + contract.setUpdateTime(now); + contract.setUpdateBy(getUserId()); contractService.insert(contract); return R.ok(); } @@ -296,4 +326,152 @@ return R.ok().add(vos); } + @PostMapping(value = "/contracr/approval/auth") + @ManagerAuth + public R approvalBusinessTrip(@RequestParam Long contracrId, + @RequestParam(required = false) Long plannerId){ + Contract contract = contractService.selectById(contracrId); + assert contract != null; + Date now = new Date(); + switch (contract.getSettle()) { + case 0: + User user2 = userService.selectById(contract.getUserId()); + User manager1 = userService.getDeptManager(getHostId(), user2.getDeptId()); + + if (Cools.isEmpty(getUser())) { + return R.error("鎶辨瓑锛屾偍娌℃湁鎻愪氦鐨勬潈闄�"); + } + if (!getUserId().equals(getUser().getId())) { + return R.error("鎶辨瓑锛屾偍娌℃湁鎻愪氦鐨勬潈闄�"); + } + // 淇敼 settle 姝ラ鏁版嵁 + List<SettleDto> list1 = JSON.parseArray(contract.getSettleMsg(), SettleDto.class); + for (SettleDto dto : list1) { + switch (dto.getStep()) { + case 0: + dto.setCurr(Boolean.FALSE); + break; + case 1: + dto.setCurr(Boolean.TRUE); + dto.setMsg(getUser().getNickname() + "鎻愪氦瀹屾垚"); + dto.setTime(DateUtils.convert(now)); + break; + default: + break; + } + } + contract.setSettleMsg(JSON.toJSONString(list1)); + // 淇敼瑙勫垝鍗曠姸鎬� + contract.setSettle(1); + contract.setUpdateTime(now); + + if (!contractService.updateById(contract)) { + throw new CoolException("鎻愪氦澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + break; + case 1: + // 鏈儴闂ㄧ粡鐞嗗鏍� + User user = userService.selectById(contract.getUserId()); + User manager = userService.getDeptManager(getHostId(), user.getDeptId()); + if (manager.getId().equals(getUserId())) { + + // 淇敼 settle 姝ラ鏁版嵁 + List<SettleDto> list = JSON.parseArray(contract.getSettleMsg(), SettleDto.class); + for (SettleDto dto : list) { + switch (dto.getStep()) { + case 1: + dto.setCurr(Boolean.FALSE); + break; + case 2: + dto.setCurr(Boolean.TRUE); + dto.setMsg("閮ㄩ棬缁忕悊" + manager.getNickname() + "瀹℃壒閫氳繃"); + dto.setTime(DateUtils.convert(now)); + break; + default: + break; + } + } + contract.setSettleMsg(JSON.toJSONString(list)); + + // 淇敼瑙勫垝鍗曠姸鎬� + contract.setSettle(2); // 鐢宠閫氳繃 + contract.setUpdateTime(now); + if (!contractService.updateById(contract)) { + throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + } else { + return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄愶紒锛侊紒"); + } + break; + case 2: + ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 7).eq("process", "3-1"));//3锛氭姤閿�娴佺▼ + User planLeader = userService.selectById(processPermissions.getUserId()); // 鑾峰彇鍚堝悓绠$悊娴佺▼鑺傜偣纭浜� + + if (planLeader.getId().equals(getUserId())) { + + // 淇敼 settle 姝ラ鏁版嵁 + List<SettleDto> list = JSON.parseArray(contract.getSettleMsg(), SettleDto.class); + for (SettleDto dto : list) { + switch (dto.getStep()) { + case 2: + dto.setCurr(Boolean.FALSE); + break; + case 3: + dto.setCurr(Boolean.TRUE); + dto.setMsg("鎬昏鍔�" + planLeader.getNickname() + "瀹℃壒閫氳繃"); + dto.setTime(DateUtils.convert(now)); + break; + default: + break; + } + } + contract.setSettleMsg(JSON.toJSONString(list)); + + // 淇敼瑙勫垝鍗曠姸鎬� + contract.setSettle(3); // 鐢宠閫氳繃 + contract.setUpdateTime(now); + if (!contractService.updateById(contract)) { + throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + } else { + return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄愶紒锛侊紒"); + } + break; + case 3: + // 涓氬姟鍛� + User salesman0 = userService.selectById(contract.getUserId()); + if (!getUserId().equals(salesman0.getId())) { + return R.error("鎶辨瓑锛屾偍鏃犻渶纭锛侊紒锛�"); + } + // 淇敼 settle 姝ラ鏁版嵁 + List<SettleDto> list2 = JSON.parseArray(contract.getSettleMsg(), SettleDto.class); + for (SettleDto dto : list2) { + switch (dto.getStep()) { + case 3: + dto.setCurr(Boolean.TRUE); + break; + case 4: + dto.setCurr(Boolean.TRUE); + dto.setMsg("涓氬姟鍛�" + salesman0.getNickname() + "浠ョ‘璁�"); + dto.setTime(DateUtils.convert(new Date())); + break; + default: + break; + } + } + contract.setSettleMsg(JSON.toJSONString(list2)); + // 淇敼瑙勫垝鍗曠姸鎬� + contract.setSettle(4); // 瀹℃壒閫氳繃 + contract.setUpdateTime(new Date()); + + if (!contractService.updateById(contract)) { + throw new CoolException("纭澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + break; + default: + return R.error(); + } + return R.ok("瀹℃壒鎴愬姛"); + } + } diff --git a/src/main/java/com/zy/crm/manager/entity/Contract.java b/src/main/java/com/zy/crm/manager/entity/Contract.java index 22ba587..4e29ce7 100644 --- a/src/main/java/com/zy/crm/manager/entity/Contract.java +++ b/src/main/java/com/zy/crm/manager/entity/Contract.java @@ -185,9 +185,29 @@ @TableField("dept_id") private Long deptId; + /** + * hostId + */ + @ApiModelProperty(value= "hostId") + @TableField("host_id") + private Long hostId; + + /** + * 杩涘害 + */ + @ApiModelProperty(value= "杩涘害") + private Integer settle; + + /** + * 娴佺▼杩涘害 + */ + @ApiModelProperty(value= "娴佺▼杩涘害") + @TableField("settle_msg") + private String settleMsg; + public Contract() {} - public Contract(Long id, String customer, String address, String company, String companyAddress, String taxNum, String bank, String bankNum, Date createTime, Date updateTime, Long userId, Long updateBy, String filepath, String city, String shippingAddress, String shippingName, String shippingPhone, Double price, String email, String name, Integer status, String memo, String boss, String serial, Long deptId) { + public Contract(Long id, String customer, String address, String company, String companyAddress, String taxNum, String bank, String bankNum, Date createTime, Date updateTime, Long userId, Long updateBy, String filepath, String city, String shippingAddress, String shippingName, String shippingPhone, Double price, String email, String name, Integer status, String memo, String boss, String serial, Long deptId, Long hostId,Integer settle,String settleMsg) { this.id = id; this.customer = customer; this.address = address; @@ -213,6 +233,9 @@ this.boss = boss; this.serial = serial; this.deptId = deptId; + this.hostId = hostId; + this.settle = settle; + this.settleMsg = settleMsg; } // Contract contract = new Contract( @@ -237,6 +260,22 @@ // null // 鐢靛瓙閭 // ); + public String getSettle$(){ + if (null == this.settle){ return null; } + switch (this.settle){ + case 0: + return "绛夊緟鎻愪氦"; + case 1: + return "绛夊緟瀹℃壒"; + case 2: + return "绛夊緟纭"; + case 3: + return "瀹℃壒閫氳繃"; + default: + return String.valueOf(this.settle); + } + } + public String getCreateTime$(){ if (Cools.isEmpty(this.createTime)){ return ""; diff --git a/src/main/resources/mapper/ContractMapper.xml b/src/main/resources/mapper/ContractMapper.xml index ce0f449..1062e68 100644 --- a/src/main/resources/mapper/ContractMapper.xml +++ b/src/main/resources/mapper/ContractMapper.xml @@ -29,6 +29,9 @@ <result column="boss" property="boss" /> <result column="serial" property="serial" /> <result column="dept_id" property="deptId" /> + <result column="settle" property="settle" /> + <result column="settle_msg" property="settleMsg" /> + <result column="host_id" property="hostId" /> </resultMap> diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js index 2e3b5c2..ec739c4 100644 --- a/src/main/webapp/static/js/common.js +++ b/src/main/webapp/static/js/common.js @@ -239,3 +239,4 @@ var priOnlineByMore; var priSalesByMore; var priQuoteBudgetByMore; +var contractByMore; diff --git a/src/main/webapp/static/js/contract/contract.js b/src/main/webapp/static/js/contract/contract.js index dec90b0..6b25d76 100644 --- a/src/main/webapp/static/js/contract/contract.js +++ b/src/main/webapp/static/js/contract/contract.js @@ -88,11 +88,12 @@ , {field: 'status$', align: 'center', title: '鐘舵��'} , {field: 'userId$', align: 'center', title: '娣诲姞浜哄憳'} , {field: 'createTime$', align: 'center', title: '娣诲姞鏃堕棿'} + , {field: 'settle$', align: 'center',title: '杩涘害', style: 'color: #1890ff;cursor:pointer', event: 'more',hide: false} , {field: 'updateBy$', align: 'center', title: '淇敼浜哄憳'} , {field: 'updateTime$', align: 'center', title: '淇敼鏃堕棿'} , {field: 'memo', align: 'center', title: '澶囨敞'} - , {fixed: 'right', title: '鎿嶄綔', align: 'center', toolbar: '#operate', width: 400} + , {fixed: 'right', title: '鎿嶄綔', align: 'center', toolbar: '#operate', width: 500} ]], request: { pageName: 'curr', @@ -193,6 +194,29 @@ table.on('tool(contract)', function (obj) { var data = obj.data; switch (obj.event) { + case 'approval': + layer.confirm('瀹℃壒閫氳繃锛�', { + skin: 'layui-layer-admin', + shade: .1, + offset: '200px', + title: data.name + }, function (i) { + layer.close(i); + approval(data.id); + }); + break; + case 'more': + top.contractByMore = data.id; + admin.popupRight({ + type: 1, + window: "top", + area: "1250px", + url: "contract_more.html", + end: function () { + // $(".layui-laypage-btn")[0].click(); + } + }) + break; case 'edit': showEditModel(data); break; @@ -472,6 +496,33 @@ layDateRender(); + function approval(contractId, plannerId, dIdx) { + let loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/contract/approval/auth", + headers: {'token': localStorage.getItem('token')}, + data: { + contractId: contractId, + plannerId: plannerId + }, + method: 'POST', + success: function (res) { + if (dIdx) { + layer.close(dIdx); + } + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + } + }); // 鍏抽棴鍔ㄤ綔 diff --git a/src/main/webapp/views/contract/contract.html b/src/main/webapp/views/contract/contract.html index db5f93a..8ef9e96 100644 --- a/src/main/webapp/views/contract/contract.html +++ b/src/main/webapp/views/contract/contract.html @@ -71,17 +71,29 @@ </script> <script type="text/html" id="operate"> - <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> + {{# if (d.settle == 0) { }} + <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">鎻愪氦</a> + {{# } }} + {{# if (d.settle == 1) { }} + <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">瀹℃壒</a> + {{# } }} + {{# if (d.settle == 2) { }} + <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">纭</a> + {{# } }} + {{# if (d.settle == 0 || d.settle == 1) { }} + <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> + {{# } }} <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="sales">鍚堝悓鏄庣粏</a> <a class="layui-btn layui-btn-xs btn-edit" lay-event="generate">鐢熸垚鍚堝悓</a> <a class="layui-btn layui-btn-xs btn-edit" lay-event="upload">涓婁紶鍚堝悓</a> <a class="layui-btn layui-btn-xs btn-edit" lay-event="download">涓嬭浇</a> - <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> </script> <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/contract/contract.js" charset="utf-8"></script> </body> diff --git a/src/main/webapp/views/contract/contract_more.html b/src/main/webapp/views/contract/contract_more.html new file mode 100644 index 0000000..7095b3c --- /dev/null +++ b/src/main/webapp/views/contract/contract_more.html @@ -0,0 +1,187 @@ +<meta name="viewport" content="initial-scale=1.0, user-scalable=no"> +<style> + #formAdvForm { + background-color: #f3f3f3; + } + #formAdvForm .layui-form-item { + margin-top: 20px; + margin-bottom: 0; + } + + #formAdvForm .layui-form-item .layui-inline { + margin-bottom: 25px; + margin-right: 0; + } + + .form-group-bottom { + position: fixed; + left: 0; + right: 0; + bottom: 0; + padding: 10px 20px; + background-color: #fff; + box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, .05); + } +</style> +<!-- 姝f枃寮�濮� --> +<form class="layui-form" id="formAdvForm" lay-filter="formAdvForm" style="height: 100%"> + <div class="layui-fluid" style="padding-bottom: 75px;height: 100%; overflow: scroll;box-sizing: border-box"> + <!-- 鏍囬 --> + <div class="layui-card"> + <div class="layui-card-header" style="padding-top: 5px; padding-bottom: 5px"> + <div> + <i class="layui-icon" style="font-size: 20px;color: #1890ff;font-weight: bold"></i> + <span id="form-name" style="margin: 0 6px;font-size: 18px;font-weight: bold;letter-spacing: 1px"></span> + <span style="opacity: .5;font-size: small;margin-left: 5px">鏍镐环鍗�</span> + </div> + </div> + <div class="layui-card-body" style="padding: 30px 20px"> + + <div class="layui-tab layui-steps"> + <ul class="layui-tab-title" id="stepBox"> + </ul> + </div> + + </div> + </div> + <div class="layui-row"> + <!-- 鏁版嵁 --> + <!-- <div class="layui-col-md9">--> + <!-- <div class="layui-card">--> + <!-- <div class="layui-card-header">--> + <!-- 鍩烘湰淇℃伅--> + <!-- </div>--> + <!-- <div class="layui-card-body">--> + + <!-- </div>--> + <!-- </div>--> + <!-- </div>--> + <!-- 鍔ㄦ�� --> + <!-- <div class="layui-col-md3" style="width: 24%;margin-left: 1%">--> + <div class="layui-col-md3" style="width: 100%;"> + <!-- 鏃堕棿绾� --> + <div class="layui-card"> + <div class="layui-card-header"> + <span>娴佺▼鍔ㄦ��</span> + </div> + <div class="layui-card-body"> + <ul class="layui-timeline" id="timelineBox"> + </ul> + </div> + </div> + </div> + </div> + </div> + + <div class="form-group-bottom text-right"> + <button class="layui-btn" lay-filter="refresh" lay-submit><i class="layui-icon"></i> 鍒锋柊 </button> + </div> + +</form> + +<script type="text/html" id="followerTabOperate"> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> +</script> + +<script type="text/template" id="stepTpl"> + {{#each list}} + <li id="step-{{step}}" style="pointer-events: none"> + <i class="layui-icon layui-icon-ok">{{step}}</i> + <span class="layui-steps-title">{{title}}</span> + {{# if username}} + <span class="layui-steps-content">{{username}}</span> + {{ else }} + <span class="layui-steps-content"> </span> + {{/if}} + </li> + {{/each}} +</script> + +<script type="text/template" id="timelineTpl"> + {{#each list}} + <li class="layui-timeline-item"> + <i class="layui-icon layui-timeline-axis"></i> + <div class="layui-timeline-content layui-text"> + <h4 class="layui-timeline-title" style="display: inline;margin-right: 10px;">{{title}}</h4> + <span>{{time}}</span> + <p> + {{msg}} + </p> + </div> + </li> + {{/each}} +</script> + +<script> + var contractId = top.contractByMore; + $('.layui-layer-close').hide(); + layui.config({ + base: baseUrl + "/static/layui/lay/modules/" + }).extend({ + notice: 'notice/notice', + steps: 'steps/steps', + }).use(['form', 'table', 'laydate', 'notice', 'xmSelect', 'steps'], function () { + var $ = layui.jquery; + var form = layui.form; + var table = layui.table; + var laydate = layui.laydate; + var notice = layui.notice; + var xmSelect = layui.xmSelect; + var steps = layui.steps; + + form.render('select'); + + init(); + function init(){ + notice.msg('姝e湪杞藉叆鏁版嵁......', {icon: 4, position: "topRight"}); + $.ajax({ + url: baseUrl + "/contract/" + contractId + "/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + notice.destroy(); + if (res.code === 200) { + let contract = res.data; + top.contractByMore = null; + $("#form-name").html(contract.name); + // 杩涘害姝ラ鍥� + let template0 = Handlebars.compile($('#stepTpl').html()); + $('#stepBox').html(template0({list: JSON.parse(contract.settleMsg)})); + $('#step-' + Number(contract.step)).addClass("layui-this"); + + let template1 = Handlebars.compile($('#timelineTpl').html()); + $('#timelineBox').html(template1({list: JSON.parse(contract.settleMsg)})); + // 琛ュ厖html + $('#customizeBox').html(contract.formHtml); + // 璁惧鏄庣粏 + // form.val('formAdvForm', contract); + // top.convertDisabled($('#formAdvForm :input'), true); + // 璺熻繘浜� + // initFollowers(contract.id); + layDateRender(); + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }) + } + + /* 娓叉煋laydate */ + function layDateRender() { + laydate.render({ + elem: '#endTime', + type: 'datetime' + }); + } + layDateRender(); + + /* 鐩戝惉琛ㄥ崟鎻愪氦 */ + form.on('submit(refresh)', function (data) { + init(); + return false; + }); + + }) +</script> -- Gitblit v1.9.1