src/main/java/com/zy/crm/common/model/SettleDto.java
@@ -30,6 +30,26 @@ private Boolean curr; public static List<SettleDto> InItFlowPath(List<User> users, List<String> names, int nodes) { List<SettleDto> list = new ArrayList<>(); for (int i = 0; i < nodes; i++) { SettleDto dto = new SettleDto(); dto.setStep(i); if (i == 0) { dto.setTitle("开始"); dto.setMsg(users.get(i).getUsername() + names.get(i)); dto.setTime(DateUtils.convert(new Date())); dto.setCurr(Boolean.TRUE); } else { dto.setTitle(names.get(i)); } dto.setUserId(users.get(i).getId()); dto.setUsername(users.get(i).getUsername()); list.add(dto); } return list; } public static List<SettleDto> init(Plan plan, User manager,User planLeader) { List<SettleDto> list = new ArrayList<>(); for (int i = 1; i < 6; i++) { @@ -45,12 +65,6 @@ dto.setCurr(Boolean.TRUE); list.add(dto); break; // case 2: // dto.setTitle("组长审核"); // dto.setUserId(manager.getId()); // dto.setUsername(manager.getNickname()); // list.add(dto); // break; case 2: dto.setTitle("售前审核"); dto.setUserId(planLeader.getId()); @@ -101,10 +115,6 @@ dto.setUsername(president.getNickname()); list.add(dto); break; // case 4: // dto.setTitle("业务员审核"); // list.add(dto); // break; case 4: dto.setTitle("审批通过"); dto.setUserId(plan.getUserId()); @@ -124,15 +134,6 @@ SettleDto dto = new SettleDto(); dto.setStep(i); switch (i) { // case 0: // dto.setTitle("开始"); // dto.setMsg(user.getUsername() + "创建了审批"); // 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("开始"); dto.setMsg(user.getUsername() + "创建了审批"); @@ -172,10 +173,6 @@ dto.setUsername(president6.getNickname()); list.add(dto); break; // case 4: // dto.setTitle("业务员审核"); // list.add(dto); // break; default: break; } src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -59,6 +59,7 @@ private ProcessPermissionsService processPermissionsService; String PZH=" ————————————————— "; Integer PBN = 6; @GetMapping(value = "/plan/{id}/auth") @@ -696,30 +697,20 @@ wrapper.like("name", condition); wrapper.eq("status",1); ProcessPermissions processPermissions1 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "1-1"));//2:核价流程 User manager1 = userService.selectById(processPermissions1.getUserId()); // 获取核价流程节点1确认人 ProcessPermissions processPermissions2 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "1-2"));//2:核价流程 User manager2 = userService.selectById(processPermissions2.getUserId()); // 获取核价流程节点1确认人 ProcessPermissions processPermissions3= processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "1-3"));//2:核价流程 User manager3 = userService.selectById(processPermissions3.getUserId()); // 获取核价流程节点1确认人 List<ProcessPermissions> processPermissionsList = processPermissionsService.selectList(new EntityWrapper<ProcessPermissions>().eq("process_memo", 4).or().eq("process_memo", 5));//2:核价流程 int type =0; if (getUserId().equals(manager1.getId())){ type=1;//(货架) }else if (getUserId().equals(manager2.getId()) || getUserId().equals(manager3.getId())){ type = 2;//(集成) }else { for (ProcessPermissions processPermissions:processPermissionsList){ if (getUserId().equals(processPermissions.getUserId())){ type=PBN-processPermissions.getProcessMemo(); break; } } if (type==0){ return R.error("你不是核价员,无权接任务"); } List<Long> typeList = new ArrayList<>(); List<PlanType> planTypes = planTypeService.selectList(new EntityWrapper<PlanType>().eq("type", type)); if (type==1){ planTypes = planTypeService.selectList(new EntityWrapper<PlanType>()); } if (Cools.isEmpty(planTypes) || planTypes.size()==0){ return R.ok(); } src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java
@@ -65,7 +65,7 @@ assert priOnline2 != null; JSONObject resultObj = JSON.parseObject(JSON.toJSONString(priOnline2)); // 步骤条相关 resultObj.put("step", priOnline2.getSettle() == 3 ? 0 : priOnline2.getSettle() + 1); resultObj.put("step", priOnline2.getSettle().equals(priOnline2.getSettleSize()) ? 0 : priOnline2.getSettle() + 1); return R.ok().add(resultObj); } @@ -88,13 +88,15 @@ @RequestParam(required = false)String condition, @RequestParam Map<String, Object> param){ EntityWrapper<PriOnline2> wrapper = new EntityWrapper<>(); wrapper.setSqlSelect("id,title,create_time as createTime,filepath,settle,item_id as itemId,order_num as orderNum,template_name as templateName,user_id as userId,dept_id as deptId,status,update_time as updateTime,check_data as checkData,update_user_id as updateUserId,member_id as memberId"); wrapper.setSqlSelect("id,title,create_time as createTime,filepath,settle,settle_size as settleSize,item_id as itemId,order_num as orderNum,template_name as templateName,user_id as userId,dept_id as deptId,status,update_time as updateTime,check_data as checkData,update_user_id as updateUserId,member_id as memberId"); // wrapper.in("member_id", getUserRoleBelongsToUserId("allopen")); excludeTrash(param); convert(param, wrapper); allLike(PriOnline2.class, param.keySet(), wrapper, condition); wrapper.or().eq("member_id",getUserId()); if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} if (!Cools.isEmpty(orderByField)) { wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); } return R.ok(priOnline2Service.selectPage(new Page<>(curr, limit), wrapper)); } @@ -188,18 +190,29 @@ // } // String node="2-"; // PlanType planType = planTypeService.selectById(plan.getPlanType()); PlanType planType = planTypeService.selectById(plan.getPlanType()); // node = node+planType.getType(); // ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", node));//2:核价流程 // ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "2-1"));//2:核价流程 // User manager = userService.selectById(processPermissions.getUserId()); // 获取核价流程节点2确认人 // 获取业务员 List<String> initNames = new ArrayList<>(); initNames.add("接取核价任务"); initNames.add("完成核价"); if (planType.getType().equals(2)) { initNames.add("完成核价"); } // initNames.add("经理审核"); initNames.add("业务员确认"); priOnline2.setSettleMsg(JSON.toJSONString(SettleDto.initSalesPricingPriOnline2(getUser(),userUp,initNames,2))); List<User> users = new ArrayList<>(); users.add(getUser()); users.add(getUser()); if (planType.getType().equals(2)) { users.add(userService.selectById(73)); } users.add(userUp); priOnline2.setSettleMsg(JSON.toJSONString(SettleDto.InItFlowPath(users, initNames, users.size()))); priOnline2.setSettleSize(users.size()); //设置项目流程 plan.setStep(2); @@ -489,149 +502,57 @@ PriOnline2 priOnline2 = priOnline2Service.selectById(priOnlineId); assert priOnline2 != null; Date now = new Date(); switch (priOnline2.getSettle()) { case 0: // 本部门经理审核 节点负责人 User user = userService.selectById(priOnline2.getMemberId()); Long nextUserId = getUserId(); User user = new User(); List<SettleDto> list = new ArrayList<>(); Plan plan1 = planService.selectById(priOnline2.getItemId()); // PlanType planType1 = planTypeService.selectById(plan1.getPlanType()); // // ProcessPermissions processPermissions1 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "2-"+planType1.getType()));//2:核价流程 // User manager1 = userService.selectById(processPermissions1.getUserId()); // 获取报价流程节点2确认人 user = userService.selectById(priOnline2.getMemberId()); if (Cools.isEmpty(getUser())) { return R.error("抱歉,您没有提交的权限"); if (Cools.isEmpty(getUser()) || Cools.isEmpty(user)){ return R.error("抱歉,您无需确认!!!"); } if (!getUserId().equals(user.getId())) { return R.error("抱歉,您没有提交的权限"); } // 修改 settle 步骤数据 List<SettleDto> list1 = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); for (SettleDto dto : list1) { switch (dto.getStep()) { case 0: dto.setCurr(Boolean.FALSE); break; case 1: dto.setCurr(Boolean.TRUE); if (Cools.isEmpty(dto.getMsg())){ dto.setMsg(user.getNickname() + "提交完成"); }else { dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(new Date())+" " + user.getNickname() + "提交完成"); } dto.setTime(DateUtils.convert(now)); break; default: break; } } priOnline2.setSettleMsg(JSON.toJSONString(list1)); // 修改规划单状态 priOnline2.setSettle(1); priOnline2.setUpdateUserId(getUserId()); priOnline2.setUpdateTime(now); priOnline2.setMemberId(plan1.getUserId()); if (!priOnline2Service.updateById(priOnline2)) { throw new CoolException("提交失败,请联系管理员"); } break; // case 1: // // 本部门经理审核 节点负责人 // Plan plan = planService.selectById(priOnline2.getItemId()); // PlanType planType = planTypeService.selectById(plan.getPlanType()); // // ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "2-"+planType.getType()));//2:报价流程 // User manager = userService.selectById(processPermissions.getUserId()); // 获取报价流程节点2确认人 // //// User manager = new User(); //// try{ //// manager = userService.getDeptManager(getHostId(), getUser().getDeptId()); // 获取部门领导 //// }catch (Exception e){ //// manager = user; //// } // if (manager.getId().equals(getUserId())) { // // // 修改 settle 步骤数据 // List<SettleDto> list = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); // for (SettleDto dto : list) { // switch (dto.getStep()) { // case 1: // dto.setCurr(Boolean.FALSE); // break; // case 2: // dto.setCurr(Boolean.TRUE); // if (Cools.isEmpty(dto.getMsg())){ // dto.setMsg(manager.getNickname() + "审批通过"); // }else { // dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(new Date())+" " + manager.getNickname() + "审批通过"); // } // dto.setTime(DateUtils.convert(now)); // break; // default: // break; // } // } // priOnline2.setSettleMsg(JSON.toJSONString(list)); // // // 修改规划单状态 // priOnline2.setSettle(2); // 申请通过 // priOnline2.setUpdateTime(now); // priOnline2.setUpdateUserId(getUserId()); // priOnline2.setMemberId(plan.getUserId()); // if (!priOnline2Service.updateById(priOnline2)) { // throw new CoolException("审核失败,请联系管理员"); // } // } else { // return R.error("抱歉,您没有审核的权限!!!"); // } // break; case 1: // 业务员 User salesman0 = userService.selectById(priOnline2.getUserId()); if (!getUserId().equals(salesman0.getId())) { return R.error("抱歉,您无需确认!!!"); } // 修改 settle 步骤数据 List<SettleDto> list2 = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); for (SettleDto dto : list2) { switch (dto.getStep()) { case 1: list = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); for (SettleDto dto : list) { if (dto.getStep().equals(priOnline2.getSettle())) { dto.setCurr(Boolean.TRUE); break; case 2: } else if (dto.getStep().equals(priOnline2.getSettle() + 1)) { dto.setCurr(Boolean.TRUE); if (Cools.isEmpty(dto.getMsg())){ dto.setMsg("业务员" + salesman0.getNickname() + "审批通过"); dto.setMsg(user.getNickname() + "审批通过"); }else { dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(new Date())+" "+"业务员" + salesman0.getNickname() + "审批通过"); dto.setMsg(dto.getMsg() + PZH + DateUtils.convert(new Date()) + " " + user.getNickname() + "审批通过"); } dto.setTime(DateUtils.convert(new Date())); break; default: break; } else if (dto.getStep().equals(priOnline2.getSettle() + 2)) { nextUserId=dto.getUserId(); } } priOnline2.setSettleMsg(JSON.toJSONString(list2)); priOnline2.setSettleMsg(JSON.toJSONString(list)); // 修改规划单状态 priOnline2.setSettle(2); // 审批通过 priOnline2.setSettle(priOnline2.getSettle() + 1); // 审批通过 if (user.getId().equals(priOnline2.getUserId())) { priOnline2.setStatus(1); priOnline2.setUpdateTime(new Date()); } priOnline2.setUpdateTime(now); priOnline2.setUpdateUserId(getUserId()); priOnline2.setMemberId(nextUserId); if (!priOnline2Service.updateById(priOnline2)) { throw new CoolException("确认失败,请联系管理员"); } if (user.getId().equals(priOnline2.getUserId())) { try{ priQuoteAdd(priOnline2.getId(),plannerId); }catch (Exception e){ return R.error("自动生成报价单失败"); } break; default: return R.error(); } return R.ok("审批成功"); } src/main/java/com/zy/crm/manager/entity/PriOnline2.java
@@ -134,6 +134,13 @@ private Integer settle; /** * 进度 */ @ApiModelProperty(value= "进度") @TableField("settle_size") private Integer settleSize; /** * 流程进度 */ @ApiModelProperty(value= "流程进度") @@ -145,12 +152,13 @@ public PriOnline2() {} public PriOnline2(String title, String sheetData, Date createTime, String filepath,Integer settle) { public PriOnline2(String title, String sheetData, Date createTime, String filepath,Integer settle,Integer settleSize) { this.title = title; this.sheetData = sheetData; this.createTime = createTime; this.filepath = filepath; this.settle = settle; this.settleSize = settleSize; } // PriOnline priOnline = new PriOnline( @@ -167,6 +175,8 @@ case 1: return "等待确认"; case 2: return this.settleSize.equals(this.settle+1)? "审批通过" : "等待确认"; case 3: return "审批通过"; default: return String.valueOf(this.settle); src/main/java/com/zy/crm/manager/entity/ProcessPermissions.java
@@ -126,15 +126,15 @@ if (null == this.processMemo){ return null; } switch (this.processMemo){ case 1: return "核价流程"; return "规划流程"; case 2: return "报价流程"; case 3: return "报销流程"; case 4: return "出差流程"; return "集成核价流程"; case 5: return "核价流程"; return "货架核价流程"; case 7: return "合同管理"; case 101: src/main/java/com/zy/crm/manager/utils/SmsUtils.java
@@ -64,7 +64,7 @@ headers.put("Authorization", "APPCODE " + APPCODE); param.put("templateId", "M6F3C81FE3"); param.put("receive", phone); param.put("receive", "13083813523"); param.put("tag", code); String response = new HttpHandler.Builder() src/main/resources/mapper/CstmrMapper.xml
@@ -104,12 +104,9 @@ and ( <if test="userId != null and userId != ''"> user_id = #{userId} user_id = #{userId} or </if> <if test="userId == null or userId == ''"> user_id is not null </if> or director = #{userId} or mc.id in ( select @@ -640,59 +637,49 @@ LEFT JOIN sys_dept sd ON mc.dept_id = sd.id WHERE 1=1 and director is null <choose> <when test="deptId != null and deptId != ''"> AND ((CHARINDEX(','+#{deptId}+',', ','+sd.path+',') > 0 OR sd.id = #{deptId}) or ( user_id = #{userId} or mc.id in ( select cstmr_id from man_cstmr_foll where 1=1 and user_id = #{userId} ) )) </when> <otherwise> and ( <if test="userId != null and userId != ''"> user_id = #{userId} </if> <if test="userId == null or userId == ''"> user_id is not null </if> or mc.id in ( select cstmr_id from man_cstmr_foll where 1=1 and user_id = #{userId} ) ) </otherwise> </choose> <!-- <choose>--> <!-- <when test="deptId != null and deptId != ''">--> <!-- AND ((CHARINDEX(','+#{deptId}+',', ','+sd.path+',') > 0 OR sd.id = #{deptId})--> <!-- or--> <!-- (--> <!-- user_id = #{userId}--> <!-- or--> <!-- mc.id in--> <!-- (--> <!-- select--> <!-- cstmr_id--> <!-- from man_cstmr_foll--> <!-- where 1=1--> <!-- and user_id = #{userId}--> <!-- )--> <!-- ))--> <!-- </when>--> <!-- <otherwise>--> <!-- and--> <!-- (--> <!-- <if test="userId != null and userId != ''">--> <!-- user_id = #{userId}--> <!-- </if>--> <!-- <if test="userId == null or userId == ''">--> <!-- user_id is not null--> <!-- </if>--> <!-- or--> <!-- mc.id in--> <!-- (--> <!-- select--> <!-- cstmr_id--> <!-- from man_cstmr_foll--> <!-- where 1=1--> <!-- and user_id = #{userId}--> <!-- )--> <!-- )--> <!-- </otherwise>--> <!-- </choose>--> <if test="hostId != null"> and mc.host_id = #{hostId} </if> <if test="condition != null and condition != ''"> and ( mc.uuid like concat('%',#{condition},'%') or mc.name like concat('%',#{condition},'%') or mc.simple like concat('%',#{condition},'%') or mc.rela like concat('%',#{condition},'%') or mc.tel like concat('%',#{condition},'%') or mc.contacts like concat('%',#{condition},'%') or mc.remarks like concat('%',#{condition},'%') or mc.director like concat('%',#{condition},'%') or mc.addr like concat('%',#{condition},'%') ) and mc.name like concat('%',#{condition},'%') </if> ORDER BY mc.create_time DESC </select> src/main/resources/mapper/PriOnline2Mapper.xml
@@ -18,6 +18,7 @@ <result column="update_time" property="updateTime" /> <result column="check_data" property="checkData" /> <result column="settle" property="settle" /> <result column="settle_size" property="settleSize" /> </resultMap> <!-- 查询结果不包含excel数据data,以免结果集过大 --> @@ -34,6 +35,7 @@ <result column="status" property="status" /> <result column="update_time" property="updateTime" /> <result column="settle" property="settle" /> <result column="settle_size" property="settleSize" /> </resultMap> <select id="listByPage" resultMap="NoDataResultMap"> src/main/webapp/static/js/priOnline2/priOnline.js
@@ -114,6 +114,7 @@ event: 'more', hide: false } , {field: 'settleSize', align: 'center', title: '流程长度', hide: true} , {field: 'user$', align: 'center', title: '业务员',hide : false} , {field: 'deptId$', align: 'center', title: '部门',hide : true} , {field: 'checkDataStatus$', align: 'center', title: '报价数据',hide : false} @@ -267,6 +268,7 @@ title: data.name }, function (i) { layer.close(i); console.log(data) approvalEnd(data.id); }); break; @@ -277,13 +279,14 @@ offset: '200px', title: data.name }, function (i) { console.log(data) layer.close(i); // 指定规划员 if (data.settle === 1) { // 指定模板 if ((data.settle === 1 && data.settleSize===3) || (data.settle===2 && data.settleSize===4)) { admin.open({ type: 1, area: '300px', title: '选择规划员', title: '选择报价模板', content: $('#plannerListDialog').html(), success: function (layero, dIndex) { let plannerSel = xmSelect.render({ @@ -582,7 +585,8 @@ } }); } function approvalEnd(planId, plannerId, dIdx) { function approvalEnd(priOnlineId, plannerId, dIdx) { let loadIndex = layer.load(2); $.ajax({ url: baseUrl+"/priOnline2/approvalEnd/auth", src/main/webapp/views/priOnline2/priOnline.html
@@ -17,6 +17,7 @@ top: 1px; left: 5px; } .nav-box-item { display: inline-block; vertical-align: middle; @@ -30,13 +31,15 @@ <div class="layui-fluid"> <div class="layui-card"> <div class="layui-card-body"> <div id="search-box" class="layui-form toolbar" style="display: flex;justify-content: flex-end;position: relative"> <div id="search-box" class="layui-form toolbar" style="display: flex;justify-content: flex-end;position: relative"> <div class="nav-box"> <div class="nav-box-item"> <i class="layui-icon" style="color: #1890ff;font-weight: bold"></i> </div> <div class="nav-box-item"> <button id="organization" style="border: none;padding-right: 35px;" class="layui-btn layui-btn-primary icon-btn"> <button id="organization" style="border: none;padding-right: 35px;" class="layui-btn layui-btn-primary icon-btn"> 未知 </button> </div> @@ -44,7 +47,8 @@ <div class="layui-form-item"> <div class="layui-inline"> <div class="layui-input-inline"> <input class="layui-input" type="text" name="condition" placeholder="请输入" autocomplete="off" style="border-color: #e1e1e1"> <input class="layui-input" type="text" name="condition" placeholder="请输入" autocomplete="off" style="border-color: #e1e1e1"> </div> </div> <div class="layui-inline">  @@ -73,11 +77,11 @@ <script type="text/html" id="operate"> {{# if (d.settle == 0) { }} {{# if ((d.settle == 0) || (d.settle == 1 && d.settleSize == 4)){ }} <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">提交</a> <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a> {{# } }} {{# if (d.settle == 1) { }} {{# if ((d.settle == 1 && d.settleSize == 3) || (d.settle == 2 && d.settleSize == 4)){ }} <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">确认</a> <a class="layui-btn layui-btn-xs btn-edit" lay-event="approvalEnd">回退审批</a> {{# } }} @@ -118,11 +122,16 @@ <div class="layui-form-item"> <label class="layui-form-label layui-form-required">项目名: </label> <div class="layui-input-block cool-auto-complete"> <input class="layui-input" name="planId" placeholder="请输入项目名" style="display: none" lay-verify="required"> <input id="planId$" name="planId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入项目名" onfocus=this.blur()> <input class="layui-input" name="planId" placeholder="请输入项目名" style="display: none" lay-verify="required"> <input id="planId$" name="planId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入项目名" onfocus=this.blur()> <div class="cool-auto-complete-window"> <input class="cool-auto-complete-window-input" data-key="planQueryNameToRobBydirector" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="planQueryNameToRobBydirectorSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> <input class="cool-auto-complete-window-input" data-key="planQueryNameToRobBydirector" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="planQueryNameToRobBydirectorSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> @@ -138,8 +147,14 @@ <div class="layui-form-item"> <label class="layui-form-label layui-form-required">模板: </label> <div class="layui-input-block"> <input type="radio" name="template" value="1" title="模板1" checked><div class="layui-unselect layui-form-radio"><i class="layui-anim layui-icon"></i><div>模板1</div></div> <input type="radio" name="template" value="2" title="模板2" disabled><div class="layui-unselect layui-form-radio"><i class="layui-anim layui-icon"></i><div>模板2</div></div> <input type="radio" name="template" value="1" title="模板1" checked> <div class="layui-unselect layui-form-radio"><i class="layui-anim layui-icon"></i> <div>模板1</div> </div> <input type="radio" name="template" value="2" title="模板2" disabled> <div class="layui-unselect layui-form-radio"><i class="layui-anim layui-icon"></i> <div>模板2</div> </div> </div> </div> </div> @@ -172,14 +187,16 @@ <div class="layui-form-item"> <label class="layui-form-label layui-form-required">核价名: </label> <div class="layui-input-block"> <input class="layui-input" name="templateName" placeholder="请输入核价名" autocomplete="off" lay-verify="required"> <input class="layui-input" name="templateName" placeholder="请输入核价名" autocomplete="off" lay-verify="required"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label layui-form-required">表格标题: </label> <div class="layui-input-block"> <input class="layui-input" name="title" placeholder="请输入表格标题" autocomplete="off" lay-verify="required"> <input class="layui-input" name="title" placeholder="请输入表格标题" autocomplete="off" lay-verify="required"> </div> </div> src/main/webapp/views/priOnline2/priOnline_check.html
@@ -24,11 +24,18 @@ <!-- <div><button type="button" id="export">导出Execel</button></div>--> <!-- <div><button type="button" id="save">保存到服务器</button></div>--> <!-- <div><button type="button" id="otherSave">另保存到服务器</button></div>--> <div><button type="button" class="layui-btn layui-btn-primary layui-btn-xs btn-edit" id="allprint">全部打印</button></div> <div><button type="button" class="layui-btn layui-btn-primary layui-btn-xs btn-edit" id="print">选区打印</button></div> <div><button type="button" class="layui-btn layui-btn-primary layui-btn-xs btn-edit" id="download">下载</button></div> <div> <button type="button" class="layui-btn layui-btn-primary layui-btn-xs btn-edit" id="allprint">全部打印</button> </div> <div id="luckysheet" style="margin:0px;padding:0px;position:absolute;width:100%;height: 100vh;left: 0px;top: 0px;"></div> <div> <button type="button" class="layui-btn layui-btn-primary layui-btn-xs btn-edit" id="print">选区打印</button> </div> <div> <button type="button" class="layui-btn layui-btn-primary layui-btn-xs btn-edit" id="download">下载</button> </div> </div> <div id="luckysheet" style="margin:0px;padding:0px;position:absolute;width:100%;height: 100vh;left: 0px;top: 0px;"></div> <script> $(function () { var layer = layui.layer; @@ -191,7 +198,9 @@ function getUrlParams(name) { var url = window.location.search; if (url.indexOf('?') == -1) { return false; } if (url.indexOf('?') == -1) { return false; } url = url.substr(1); url = url.split('&'); var name = name || ''; src/main/webapp/views/priOnline2/priOnline_detail.html
@@ -23,12 +23,21 @@ <div style="display: flex;position: absolute;top: 20px;left:30px;z-index: 9999;"> <!-- <div>上传Execel:<input type="file" id="Luckyexcel-demo-file" /></div>--> <!-- <div><button type="button" id="export">导出Execel</button></div>--> <div><button type="button" class="layui-btn layui-btn-primary layui-btn-xs btn-edit" id="save">保存</button></div> <div><button type="button" class="layui-btn layui-btn-primary layui-btn-xs btn-edit" id="otherSave">另存为</button></div> <div><button type="button" class="layui-btn layui-btn-primary layui-btn-xs btn-edit" id="allprint">全部打印</button></div> <div><button type="button" class="layui-btn layui-btn-primary layui-btn-xs btn-edit" id="print">选区打印</button></div> <div> <button type="button" class="layui-btn layui-btn-primary layui-btn-xs btn-edit" id="save">保存</button> </div> <div id="luckysheet" style="margin:0px;padding:0px;position:absolute;width:100%;height: 100vh;left: 0px;top: 0px;"></div> <div> <button type="button" class="layui-btn layui-btn-primary layui-btn-xs btn-edit" id="otherSave">另存为</button> </div> <div> <button type="button" class="layui-btn layui-btn-primary layui-btn-xs btn-edit" id="allprint">全部打印</button> </div> <div> <button type="button" class="layui-btn layui-btn-primary layui-btn-xs btn-edit" id="print">选区打印</button> </div> </div> <div id="luckysheet" style="margin:0px;padding:0px;position:absolute;width:100%;height: 100vh;left: 0px;top: 0px;"></div> <script> $(function () { var layer = layui.layer; @@ -41,7 +50,8 @@ allowEdit: true, //是否允许前台编辑 sheetFormulaBar: true, //是否显示公式栏 forceCalculation: true,//强制计算公式 myFolderUrl: '' //左上角<返回按钮的链接 myFolderUrl: '', //左上角<返回按钮的链接 allowEdit: true // 是否允许前台编辑 } if(getUrlParams('id') == false || getUrlParams('id') == undefined){ @@ -260,7 +270,9 @@ function getUrlParams(name) { var url = window.location.search; if (url.indexOf('?') == -1) { return false; } if (url.indexOf('?') == -1) { return false; } url = url.substr(1); url = url.split('&'); var name = name || ''; src/main/webapp/views/priOnline2/priOnline_more.html
@@ -3,6 +3,7 @@ #formAdvForm { background-color: #f3f3f3; } #formAdvForm .layui-form-item { margin-top: 20px; margin-bottom: 0; @@ -31,7 +32,8 @@ <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 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> @@ -74,7 +76,8 @@ </div> <div class="form-group-bottom text-right"> <button class="layui-btn" lay-filter="refresh" lay-submit><i class="layui-icon"></i> 刷新 </button> <button class="layui-btn" lay-filter="refresh" lay-submit><i class="layui-icon"></i> 刷新  </button> </div> </form> @@ -132,6 +135,7 @@ form.render('select'); init(); function init(){ notice.msg('正在载入数据......', {icon: 4, position: "topRight"}); $.ajax({ @@ -175,6 +179,7 @@ type: 'datetime' }); } layDateRender(); /* 监听表单提交 */ src/main/webapp/views/processPermissions/processPermissions.html
@@ -40,11 +40,11 @@ <div class="layui-input-block"> <select name="process_memo"> <option value="">请选择状态</option> <option value="1">核价流程</option> <option value="1">规划流程</option> <option value="2">报价流程</option> <option value="3">报销流程</option> <!-- <option value="4">出差流程</option>--> <option value="5">核价流程</option> <option value="4">集成核价流程</option> <option value="5">货架核价流程</option> <option value="7">合同管理</option> <option value="101">其它规划员</option> </select>