From de07d16d483d1d2fc6f3dd238829979ab3c5e161 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 16 八月 2023 13:48:00 +0800
Subject: [PATCH] #报价完善

---
 src/main/java/com/zy/crm/common/utils/TreeUtils.java                |    3 
 src/main/webapp/static/js/priQuote/priQuote.js                      |   78 +++++++++++
 src/main/webapp/views/priQuote/priQuote_more.html                   |   23 +-
 src/main/java/com/zy/crm/common/model/SettleDto.java                |   18 +-
 src/main/java/com/zy/crm/manager/controller/PriQuoteController.java |  228 +++++++++++++++++++-------------
 src/main/java/com/zy/crm/manager/entity/PriQuote.java               |   18 +
 src/main/webapp/views/priQuote/priQuote.html                        |    6 
 7 files changed, 255 insertions(+), 119 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 e831c95..83c2e68 100644
--- a/src/main/java/com/zy/crm/common/model/SettleDto.java
+++ b/src/main/java/com/zy/crm/common/model/SettleDto.java
@@ -71,7 +71,7 @@
         return list;
     }
 
-    public static List<SettleDto> initPriQuote(Plan plan, User manager) {
+    public static List<SettleDto> initPriQuote(Plan plan, User manager ,User president,User user) {
         List<SettleDto> list = new ArrayList<>();
         for (int i = 1; i < 6; i++) {
             SettleDto dto = new SettleDto();
@@ -79,9 +79,9 @@
             switch (i) {
                 case 1:
                     dto.setTitle("寮�濮�");
-                    dto.setMsg(plan.getUserId$() + "鍒涘缓浜嗗鎵�");
-                    dto.setUserId(plan.getUserId());
-                    dto.setUsername(plan.getUserId$());
+                    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);
@@ -94,13 +94,15 @@
                     break;
                 case 3:
                     dto.setTitle("鎬昏鍔炲鏍�");
+                    dto.setUserId(president.getId());
+                    dto.setUsername(president.getNickname());
                     list.add(dto);
                     break;
+//                case 4:
+//                    dto.setTitle("涓氬姟鍛樺鏍�");
+//                    list.add(dto);
+//                    break;
                 case 4:
-                    dto.setTitle("涓氬姟鍛樺鏍�");
-                    list.add(dto);
-                    break;
-                case 5:
                     dto.setTitle("瀹℃壒閫氳繃");
                     dto.setUserId(plan.getUserId());
                     dto.setUsername(plan.getUserId$());
diff --git a/src/main/java/com/zy/crm/common/utils/TreeUtils.java b/src/main/java/com/zy/crm/common/utils/TreeUtils.java
index 591604d..a370333 100644
--- a/src/main/java/com/zy/crm/common/utils/TreeUtils.java
+++ b/src/main/java/com/zy/crm/common/utils/TreeUtils.java
@@ -192,6 +192,9 @@
             map.put("icon", "layui-icon layui-icon-friends");
             result.add(map);
         } else {
+            if (role.getId()==1){
+                id="19";
+            }
             Dept dept = deptService.selectById(id);
             // 涓昏妭鐐�
             Map<String, Object> map = new HashMap<>();
diff --git a/src/main/java/com/zy/crm/manager/controller/PriQuoteController.java b/src/main/java/com/zy/crm/manager/controller/PriQuoteController.java
index 002ed96..c204270 100644
--- a/src/main/java/com/zy/crm/manager/controller/PriQuoteController.java
+++ b/src/main/java/com/zy/crm/manager/controller/PriQuoteController.java
@@ -76,7 +76,7 @@
                   @RequestParam(required = false)String condition,
                   @RequestParam Map<String, Object> param){
         EntityWrapper<PriQuote> wrapper = new EntityWrapper<>();
-        wrapper.setSqlSelect("id,title,create_time as createTime,filepath,item_id as itemId,order_num as orderNum,template_name as templateName,user_id as userId,update_user_id as updateUserId,update_time as updateTime,in_order_num as inOrderNum,member_id as memberId");
+        wrapper.setSqlSelect("id,title,create_time as createTime,filepath,item_id as itemId,order_num as orderNum,template_name as templateName,sheet_data as sheetData,user_id as userId,dept_id as deptId,settle,settle_msg as settleMsg,form,update_user_id as updateUserId,update_time as updateTime,in_order_num as inOrderNum,member_id as memberId");
         wrapper.in("member_id", getUserRoleBelongsToUserId());
         excludeTrash(param);
         convert(param, wrapper);
@@ -135,6 +135,8 @@
         priQuote.setUserId(getUserId());
         //鏇存柊浜哄憳
         priQuote.setUpdateUserId(getUserId());
+        //鎵�灞為儴闂�
+        priQuote.setDeptId(getDeptId());
         //鏇存柊鏃堕棿
         priQuote.setUpdateTime(new Date());
 
@@ -148,7 +150,8 @@
         priQuote.setForm(JSON.toJSONString(map));     // 鑷畾涔夎〃鍗曞唴瀹�
         priQuote.setSettle(1);  // 1.寮�濮�
         User manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 鑾峰彇閮ㄩ棬棰嗗
-        priQuote.setSettleMsg(JSON.toJSONString(SettleDto.initPriQuote(plan, manager)));
+        User president = userService.selectOne(new EntityWrapper<User>().eq("role_id",1).eq("username","鐜嬪紑鏉�"));        // 鑾峰彇鎬昏鍔炵‘璁や汉
+        priQuote.setSettleMsg(JSON.toJSONString(SettleDto.initPriQuote(plan, manager,president,getUser())));
 
         planService.updateById(plan);
 
@@ -420,7 +423,126 @@
     @PostMapping(value = "/priQuote/approval/auth")
     @ManagerAuth
     public R approvalPriQuote(@RequestParam Long planId,
-                      @RequestParam(required = false) Long plannerId){return null;}
+                      @RequestParam(required = false) Long plannerId){
+        PriQuote priQuote = priQuoteService.selectById(planId);
+        assert priQuote != null;
+
+        switch (priQuote.getSettle()) {
+            case 1:
+                // 鏈儴闂ㄧ粡鐞嗗鏍�
+                User user = userService.selectById(priQuote.getUserId());
+                User manager = userService.getDeptManager(getHostId(), user.getDeptId());
+                if (manager.getId().equals(getUserId())) {
+
+                    // 淇敼 settle 姝ラ鏁版嵁
+                    List<SettleDto> list = JSON.parseArray(priQuote.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(new Date()));
+                                break;
+                            default:
+                                break;
+                        }
+                    }
+                    priQuote.setSettleMsg(JSON.toJSONString(list));
+
+                    // 淇敼瑙勫垝鍗曠姸鎬�
+                    priQuote.setSettle(2);  // 鎬昏鍔炲緟瀹�
+                    priQuote.setUpdateUserId(getUserId());
+                    priQuote.setUpdateTime(new Date());
+
+                    if (!priQuoteService.updateById(priQuote)) {
+                        throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
+                    }
+
+                } else {
+                    return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄�");
+                }
+                break;
+            case 2:
+                // 鏌ユ壘瑙勫垝缁勯暱
+                User planLeader = userService.selectOne(new EntityWrapper<User>().eq("username","鐜嬪紑鏉�"));
+                if (Cools.isEmpty(planLeader)) {
+                    throw new CoolException("鏈煡鎵炬�昏鍔烇紝璇疯仈绯荤鐞嗗憳");
+                }
+                if (!getUserId().equals(planLeader.getId())) {
+                    return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄�");
+                }
+                User planner = userService.selectById(plannerId);
+                // 淇敼 settle 姝ラ鏁版嵁
+                List<SettleDto> list = JSON.parseArray(priQuote.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(new Date()));
+                            break;
+                        default:
+                            break;
+                    }
+                }
+                priQuote.setSettleMsg(JSON.toJSONString(list));
+                // 淇敼瑙勫垝鍗曠姸鎬�
+                priQuote.setSettle(3);  // 瑙勫垝鍛樺緟瀹�
+                priQuote.setUpdateUserId(getUserId());
+                priQuote.setUpdateTime(new Date());
+
+                if (!priQuoteService.updateById(priQuote)) {
+                    throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
+                }
+                break;
+            case 3:
+                // 涓氬姟鍛�
+                User salesman0 = userService.selectById(priQuote.getUserId());
+                if (!getUserId().equals(salesman0.getId())) {
+                    return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄�");
+                }
+                // 淇敼 settle 姝ラ鏁版嵁
+                List<SettleDto> list1 = JSON.parseArray(priQuote.getSettleMsg(), SettleDto.class);
+                for (SettleDto dto : list1) {
+                    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;
+                    }
+                }
+                priQuote.setSettleMsg(JSON.toJSONString(list1));
+                // 淇敼瑙勫垝鍗曠姸鎬�
+                priQuote.setSettle(4);  // 瀹℃壒閫氳繃
+                priQuote.setUpdateUserId(getUserId());
+                priQuote.setUpdateTime(new Date());
+
+                if (!priQuoteService.updateById(priQuote)) {
+                    throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
+                }
+                break;
+            default:
+                return R.error();
+        }
+        return R.ok("瀹℃壒鎴愬姛");
+    }
+
+    @PostMapping(value = "/priQuote/refuse/auth")
+    @ManagerAuth
+    public R refusePriQuote(@RequestParam Long planId,
+                              @RequestParam(required = false) Long plannerId){
 //        PriQuote priQuote = priQuoteService.selectById(planId);
 //        assert priQuote != null;
 //
@@ -430,14 +552,6 @@
 //                User user = userService.selectById(priQuote.getUserId());
 //                User manager = userService.getDeptManager(getHostId(), user.getDeptId());
 //                if (manager.getId().equals(getUserId())) {
-//
-//
-//                    // 鏌ユ壘鎬昏鍔�
-//                    PlanType planType = planTypeService.selectById(priQuote.getPlanType());
-//                    User planLeader = planTypeService.findPlanLeader(planType);
-//                    if (Cools.isEmpty(planLeader)) {
-//                        throw new CoolException("鏈煡鎵惧埌鎬昏鍔烇紝璇疯仈绯荤鐞嗗憳");
-//                    }
 //
 //                    // 淇敼 settle 姝ラ鏁版嵁
 //                    List<SettleDto> list = JSON.parseArray(priQuote.getSettleMsg(), SettleDto.class);
@@ -451,10 +565,6 @@
 //                                dto.setMsg("閮ㄩ棬缁忕悊" + manager.getNickname() + "瀹℃壒閫氳繃");
 //                                dto.setTime(DateUtils.convert(new Date()));
 //                                break;
-//                            case 3:
-//                                dto.setUserId(planLeader.getId());
-//                                dto.setUsername(planLeader.getNickname());
-//                                break;
 //                            default:
 //                                break;
 //                        }
@@ -462,19 +572,11 @@
 //                    priQuote.setSettleMsg(JSON.toJSONString(list));
 //
 //                    // 淇敼瑙勫垝鍗曠姸鎬�
-//                    priQuote.setSettle(2);  // 瑙勫垝缁勯暱寰呭
+//                    priQuote.setSettle(2);  // 鎬昏鍔炲緟瀹�
 //                    priQuote.setUpdateUserId(getUserId());
 //                    priQuote.setUpdateTime(new Date());
 //
 //                    if (!priQuoteService.updateById(priQuote)) {
-//                        throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
-//                    }
-//
-//                    // 娣诲姞瑙勫垝缁勯暱璺熻繘浜�
-//                    PlanFoll planFoll = new PlanFoll();
-//                    planFoll.setPlanId(priQuote.getId());
-//                    planFoll.setUserId(planLeader.getId());
-//                    if (!planFollService.insert(planFoll)) {
 //                        throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
 //                    }
 //
@@ -484,19 +586,12 @@
 //                break;
 //            case 2:
 //                // 鏌ユ壘瑙勫垝缁勯暱
-//                PlanType planType = planTypeService.selectById(priQuote.getPlanType());
-//                User planLeader = planTypeService.findPlanLeader(planType);
+//                User planLeader = userService.selectOne(new EntityWrapper<User>().eq("username","鐜嬪紑鏉�"));
 //                if (Cools.isEmpty(planLeader)) {
-//                    throw new CoolException("鏈煡鎵惧埌瑙勫垝缁勯暱锛岃鑱旂郴绠$悊鍛�");
-//                }
-//                if (Cools.isEmpty(planLeader)) {
-//                    throw new CoolException("鏈煡鎵惧埌瑙勫垝缁勯暱锛岃鑱旂郴绠$悊鍛�");
+//                    throw new CoolException("鏈煡鎵炬�昏鍔烇紝璇疯仈绯荤鐞嗗憳");
 //                }
 //                if (!getUserId().equals(planLeader.getId())) {
 //                    return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄�");
-//                }
-//                if (Cools.isEmpty(plannerId)) {
-//                    return R.error("鎸囧畾瑙勫垝鍛樹笉鑳戒负绌�");
 //                }
 //                User planner = userService.selectById(plannerId);
 //                // 淇敼 settle 姝ラ鏁版嵁
@@ -508,12 +603,8 @@
 //                            break;
 //                        case 3:
 //                            dto.setCurr(Boolean.TRUE);
-//                            dto.setMsg("鍞墠缁勯暱" + planLeader.getNickname() + "瀹℃壒閫氳繃");
+//                            dto.setMsg("鎬昏鍔�" + planLeader.getNickname() + "瀹℃壒閫氳繃");
 //                            dto.setTime(DateUtils.convert(new Date()));
-//                            break;
-//                        case 4:
-//                            dto.setUserId(planner.getId());
-//                            dto.setUsername(planner.getNickname());
 //                            break;
 //                        default:
 //                            break;
@@ -522,63 +613,14 @@
 //                priQuote.setSettleMsg(JSON.toJSONString(list));
 //                // 淇敼瑙勫垝鍗曠姸鎬�
 //                priQuote.setSettle(3);  // 瑙勫垝鍛樺緟瀹�
-//                priQuote.setPlanner(planner.getId());
 //                priQuote.setUpdateUserId(getUserId());
 //                priQuote.setUpdateTime(new Date());
 //
 //                if (!priQuoteService.updateById(priQuote)) {
 //                    throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
 //                }
-//
-//                // 娣诲姞瑙勫垝鍛樿窡杩涗汉
-//                PlanFoll planFoll = new PlanFoll();
-//                planFoll.setPlanId(priQuote.getId());
-//                planFoll.setUserId(planner.getId());
-//                if (!planFollService.insert(planFoll)) {
-//                    throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
-//                }
 //                break;
 //            case 3:
-//                User plannerUser = userService.selectById(priQuote.getPlanner());
-//                if (Cools.isEmpty(plannerUser)) {
-//                    return R.error("鏈壘鍒拌鍒掑憳");
-//                }
-//                if (!getUserId().equals(plannerUser.getId())) {
-//                    return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄�");
-//                }
-//                // 涓氬姟鍛�
-//                User salesman = userService.selectById(priQuote.getUserId());
-//                // 淇敼 settle 姝ラ鏁版嵁
-//                List<SettleDto> list0 = JSON.parseArray(priQuote.getSettleMsg(), SettleDto.class);
-//                for (SettleDto dto : list0) {
-//                    switch (dto.getStep()) {
-//                        case 3:
-//                            dto.setCurr(Boolean.FALSE);
-//                            break;
-//                        case 4:
-//                            dto.setCurr(Boolean.TRUE);
-//                            dto.setMsg("瑙勫垝鍛�" + plannerUser.getNickname() + "瀹℃壒閫氳繃");
-//                            dto.setTime(DateUtils.convert(new Date()));
-//                            break;
-//                        case 5:
-//                            dto.setUserId(salesman.getId());
-//                            dto.setUsername(salesman.getNickname());
-//                            break;
-//                        default:
-//                            break;
-//                    }
-//                }
-//                priQuote.setSettleMsg(JSON.toJSONString(list0));
-//                // 淇敼瑙勫垝鍗曠姸鎬�
-//                priQuote.setSettle(4);  // 瀹℃壒閫氳繃
-//                priQuote.setUpdateUserId(getUserId());
-//                priQuote.setUpdateTime(new Date());
-//
-//                if (!planService.updateById(priQuote)) {
-//                    throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
-//                }
-//                break;
-//            case 4:
 //                // 涓氬姟鍛�
 //                User salesman0 = userService.selectById(priQuote.getUserId());
 //                if (!getUserId().equals(salesman0.getId())) {
@@ -588,10 +630,10 @@
 //                List<SettleDto> list1 = JSON.parseArray(priQuote.getSettleMsg(), SettleDto.class);
 //                for (SettleDto dto : list1) {
 //                    switch (dto.getStep()) {
-//                        case 4:
+//                        case 3:
 //                            dto.setCurr(Boolean.TRUE);
 //                            break;
-//                        case 5:
+//                        case 4:
 //                            dto.setCurr(Boolean.TRUE);
 //                            dto.setMsg("涓氬姟鍛�" + salesman0.getNickname() + "瀹℃壒閫氳繃");
 //                            dto.setTime(DateUtils.convert(new Date()));
@@ -602,18 +644,18 @@
 //                }
 //                priQuote.setSettleMsg(JSON.toJSONString(list1));
 //                // 淇敼瑙勫垝鍗曠姸鎬�
-//                priQuote.setSettle(5);  // 瀹℃壒閫氳繃
+//                priQuote.setSettle(4);  // 瀹℃壒閫氳繃
 //                priQuote.setUpdateUserId(getUserId());
 //                priQuote.setUpdateTime(new Date());
 //
-//                if (!planService.updateById(priQuote)) {
+//                if (!priQuoteService.updateById(priQuote)) {
 //                    throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
 //                }
 //                break;
 //            default:
 //                return R.error();
 //        }
-//        return R.ok("瀹℃壒鎴愬姛");
-//    }
+        return R.ok("瀹℃壒鎴愬姛");
+    }
 
 }
diff --git a/src/main/java/com/zy/crm/manager/entity/PriQuote.java b/src/main/java/com/zy/crm/manager/entity/PriQuote.java
index 24e640d..96515e0 100644
--- a/src/main/java/com/zy/crm/manager/entity/PriQuote.java
+++ b/src/main/java/com/zy/crm/manager/entity/PriQuote.java
@@ -95,8 +95,15 @@
     /**
      * 杩涘害 1: 寮�濮�  2: 缁勯暱瀹℃牳  3: 鍞墠缁勯暱瀹℃牳  4: 瑙勫垝鍛樺鏍�  5: 瀹℃壒閫氳繃
      */
-    @ApiModelProperty(value= "杩涘害 1: 寮�濮�  2: 缁勯暱瀹℃牳  3: 鍞墠瀹℃牳  4: 瑙勫垝鍛樺鏍�  5: 瀹℃壒閫氳繃  ")
+    @ApiModelProperty(value= "杩涘害 1: 寮�濮�  2: 缁勯暱瀹℃牳  3: 鍞墠瀹℃牳  4: 瀹℃壒閫氳繃  ")
     private Integer settle;
+
+    /**
+     * 鎵�灞為儴闂�
+     */
+    @ApiModelProperty(value= "鎵�灞為儴闂�")
+    @TableField("dept_id")
+    private Long deptId;
 
     /**
      * 瀹℃牳杩涘害
@@ -107,11 +114,12 @@
 
     public PriQuote() {}
 
-    public PriQuote(String title,String sheetData,Date createTime,String filepath) {
+    public PriQuote(String title,String sheetData,Date createTime,String filepath,Integer settle) {
         this.title = title;
         this.sheetData = sheetData;
         this.createTime = createTime;
         this.filepath = filepath;
+        this.settle = settle;
     }
 
     public String getSettle$(){
@@ -120,12 +128,10 @@
             case 1:
                 return "绛夊緟缁勯暱瀹℃牳";
             case 2:
-                return "绛夊緟鍞墠鍒嗛厤瑙勫垝鍛�";
+                return "绛夊緟閮ㄩ棬缁忕悊纭";
             case 3:
-                return "绛夊緟瑙勫垝鍛樻彁浜�";
+                return "绛夊緟鎬昏鍔炲鏍�";
             case 4:
-                return "瑙勫垝鍛樺凡鎻愪氦";
-            case 5:
                 return "瀹℃壒閫氳繃";
             default:
                 return String.valueOf(this.settle);
diff --git a/src/main/webapp/static/js/priQuote/priQuote.js b/src/main/webapp/static/js/priQuote/priQuote.js
index 8be305b..ddfe80a 100644
--- a/src/main/webapp/static/js/priQuote/priQuote.js
+++ b/src/main/webapp/static/js/priQuote/priQuote.js
@@ -94,12 +94,13 @@
             ,{field: 'inOrderNum', align: 'center',title: '鎶ヤ环缂栧彿',hide: false}
             ,{field: 'planId$', align: 'center',title: '瑙勫垝鍗曞彿',hide: false}
             ,{field: 'planName$', align: 'center',title: '瑙勫垝鍗曞悕绉�',hide: false}
+            ,{field: 'settle$', align: 'center',title: '杩涘害', width: 150,hide: false}
             ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿',hide: false}
             ,{field: 'updateTime$', align: 'center',title: '鏇存柊鏃堕棿',hide: false}
             ,{field: 'memberId$', align: 'center',title: '涓氬姟鍛�',hide: false}
             ,{field: 'userId$', align: 'center',title: '鍒涘缓浜哄憳',hide: true}
             ,{field: 'updateUserId$', align: 'center',title: '鏇存柊浜哄憳',hide: false}
-            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:200}
+            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:280}
         ]],
         request: {
             pageName: 'curr',
@@ -239,6 +240,28 @@
     table.on('tool(priQuote)', 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 'refuse':
+                layer.confirm('鎷掔粷锛�', {
+                    skin: 'layui-layer-admin',
+                    shade: .1,
+                    offset: '200px',
+                    title: data.name
+                }, function (i) {
+                    layer.close(i);
+                    refuse(data.id);
+                });
+                break;
             case 'more':
                 top.priQuoteByMore = data.id;
                 console.log(top.priQuoteByMore)
@@ -337,6 +360,59 @@
         });
     }
 
+    function refuse(planId, plannerId, dIdx) {
+        let loadIndex = layer.load(2);
+        $.ajax({
+            url: baseUrl+"/priQuote/refuse/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: {
+                planId: planId,
+                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});
+                }
+            }
+        })
+    }
+    function approval(planId, plannerId, dIdx) {
+        let loadIndex = layer.load(2);
+        $.ajax({
+            url: baseUrl+"/priQuote/approval/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: {
+                planId: planId,
+                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});
+                }
+            }
+        })
+    }
+
     //鏇存柊form
     function showEditForm(mData) {
         admin.open({
diff --git a/src/main/webapp/views/priQuote/priQuote.html b/src/main/webapp/views/priQuote/priQuote.html
index 25d5756..1200dfd 100644
--- a/src/main/webapp/views/priQuote/priQuote.html
+++ b/src/main/webapp/views/priQuote/priQuote.html
@@ -100,6 +100,12 @@
 </script>
 
 <script type="text/html" id="operate">
+    {{# if (d.settle == 1 || d.settle == 2 || d.settle == 3) { }}
+    <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">瀹℃壒</a>
+    {{# } }}
+    {{# if (d.settle == 1 || d.settle == 2 || d.settle == 3) { }}
+<!--    <a class="layui-btn layui-btn-xs btn-edit" lay-event="refuse">瀹℃壒鎷掔粷</a>-->
+    {{# } }}
     <a class="layui-btn layui-btn-xs btn-edit" lay-event="quote">鎶ヤ环</a>
     <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a>
     <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
diff --git a/src/main/webapp/views/priQuote/priQuote_more.html b/src/main/webapp/views/priQuote/priQuote_more.html
index 525467d..add08c4 100644
--- a/src/main/webapp/views/priQuote/priQuote_more.html
+++ b/src/main/webapp/views/priQuote/priQuote_more.html
@@ -60,22 +60,23 @@
         </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 class="layui-col-md9">-->
+<!--                <div class="layui-card">-->
+<!--                    <div class="layui-card-header">-->
+<!--                        鍩烘湰淇℃伅-->
+<!--                    </div>-->
+<!--                    <div class="layui-card-body">-->
 
-                    </div>
-                </div>
-            </div>
+<!--                    </div>-->
+<!--                </div>-->
+<!--            </div>-->
             <!-- 鍔ㄦ�� -->
-            <div class="layui-col-md3" style="width: 24%;margin-left: 1%">
+<!--            <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>
+                        <span>娴佺▼鍔ㄦ��</span>
                     </div>
                     <div class="layui-card-body">
                         <ul class="layui-timeline" id="timelineBox">

--
Gitblit v1.9.1