From 8b434a01ef9e2e48d1300be7792caa91f653b08e Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 11 九月 2023 20:04:05 +0800
Subject: [PATCH] #销售核价可查看甲方单位与规划单信息

---
 src/main/webapp/views/priOnline2/priOnline.html              |    1 
 src/main/webapp/static/js/priOnline2/priOnline.js            |   30 ++
 src/main/java/com/zy/crm/manager/entity/PriQuote.java        |   10 
 src/main/webapp/views/priSales/priSales.html                 |    1 
 src/main/webapp/views/priQuoteBudget/priQuoteBudget.html     |    1 
 src/main/java/com/zy/crm/manager/entity/PriOnline2.java      |   10 
 src/main/webapp/static/js/priQuoteBudget/priQuoteBudget.js   |   32 ++
 src/main/webapp/views/plan/plan_more_other.html              |  511 ++++++++++++++++++++++++++++++++++++++++++
 src/main/webapp/static/js/priQuote/priQuote.js               |   36 ++
 src/main/java/com/zy/crm/manager/entity/ReimburseOnline.java |   24 ++
 src/main/webapp/static/js/reimburseOnline/reimburseOnline.js |    4 
 src/main/java/com/zy/crm/manager/entity/PriQuoteBudget.java  |   10 
 src/main/webapp/static/js/priSales/priSales.js               |   32 ++
 src/main/java/com/zy/crm/manager/entity/PriSales.java        |   14 
 14 files changed, 697 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/zy/crm/manager/entity/PriOnline2.java b/src/main/java/com/zy/crm/manager/entity/PriOnline2.java
index a019030..244d26b 100644
--- a/src/main/java/com/zy/crm/manager/entity/PriOnline2.java
+++ b/src/main/java/com/zy/crm/manager/entity/PriOnline2.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.enums.IdType;
 import com.core.common.Cools;
 import com.core.common.SpringUtils;
+import com.zy.crm.manager.service.CstmrService;
 import com.zy.crm.manager.service.PlanService;
 import com.zy.crm.system.entity.User;
 import com.zy.crm.system.service.UserService;
@@ -137,6 +138,15 @@
 //        return null;
 //    }
 
+    public Long getCstmrId$(){
+        CstmrService cstmrService = SpringUtils.getBean(CstmrService.class);
+        Cstmr cstmr = cstmrService.selectByName(1L, this.templateName);
+        if (!Cools.isEmpty(cstmr)){
+            return cstmr.getId();
+        }
+        return 0L;
+    }
+
     public String getPlanId$() {
         PlanService planService = SpringUtils.getBean(PlanService.class);
         Plan plan = planService.selectById(this.itemId);
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 5962abb..e9e6be8 100644
--- a/src/main/java/com/zy/crm/manager/entity/PriQuote.java
+++ b/src/main/java/com/zy/crm/manager/entity/PriQuote.java
@@ -6,6 +6,7 @@
 import java.util.Date;
 
 import com.core.common.SpringUtils;
+import com.zy.crm.manager.service.CstmrService;
 import com.zy.crm.manager.service.ItemService;
 import com.zy.crm.manager.service.PlanService;
 import com.zy.crm.system.entity.User;
@@ -133,6 +134,15 @@
         this.settle = settle;
     }
 
+    public Long getCstmrId$(){
+        CstmrService cstmrService = SpringUtils.getBean(CstmrService.class);
+        Cstmr cstmr = cstmrService.selectByName(1L, this.templateName);
+        if (!Cools.isEmpty(cstmr)){
+            return cstmr.getId();
+        }
+        return 0L;
+    }
+
     public String getSettle$(){
         if (null == this.settle){ return null; }
         switch (this.settle){
diff --git a/src/main/java/com/zy/crm/manager/entity/PriQuoteBudget.java b/src/main/java/com/zy/crm/manager/entity/PriQuoteBudget.java
index 955eb67..798793d 100644
--- a/src/main/java/com/zy/crm/manager/entity/PriQuoteBudget.java
+++ b/src/main/java/com/zy/crm/manager/entity/PriQuoteBudget.java
@@ -6,6 +6,7 @@
 import java.util.Date;
 
 import com.core.common.SpringUtils;
+import com.zy.crm.manager.service.CstmrService;
 import com.zy.crm.manager.service.ItemService;
 import com.zy.crm.manager.service.PlanService;
 import com.zy.crm.system.entity.User;
@@ -103,6 +104,15 @@
         this.filepath = filepath;
     }
 
+    public Long getCstmrId$(){
+        CstmrService cstmrService = SpringUtils.getBean(CstmrService.class);
+        Cstmr cstmr = cstmrService.selectByName(1L, this.templateName);
+        if (!Cools.isEmpty(cstmr)){
+            return cstmr.getId();
+        }
+        return 0L;
+    }
+
     public String getCreateTime$(){
         if (Cools.isEmpty(this.createTime)){
             return "";
diff --git a/src/main/java/com/zy/crm/manager/entity/PriSales.java b/src/main/java/com/zy/crm/manager/entity/PriSales.java
index e5ac81b..8ea3708 100644
--- a/src/main/java/com/zy/crm/manager/entity/PriSales.java
+++ b/src/main/java/com/zy/crm/manager/entity/PriSales.java
@@ -6,10 +6,7 @@
 import java.util.Date;
 
 import com.core.common.SpringUtils;
-import com.zy.crm.manager.service.ItemService;
-import com.zy.crm.manager.service.OrderService;
-import com.zy.crm.manager.service.PlanService;
-import com.zy.crm.manager.service.PriSalesService;
+import com.zy.crm.manager.service.*;
 import com.zy.crm.system.entity.User;
 import com.zy.crm.system.service.UserService;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -105,6 +102,15 @@
         this.filepath = filepath;
     }
 
+    public Long getCstmrId$(){
+        CstmrService cstmrService = SpringUtils.getBean(CstmrService.class);
+        Cstmr cstmr = cstmrService.selectByName(1L, this.templateName);
+        if (!Cools.isEmpty(cstmr)){
+            return cstmr.getId();
+        }
+        return 0L;
+    }
+
     public String getCreateTime$(){
         if (Cools.isEmpty(this.createTime)){
             return "";
diff --git a/src/main/java/com/zy/crm/manager/entity/ReimburseOnline.java b/src/main/java/com/zy/crm/manager/entity/ReimburseOnline.java
index d411a3c..a5c7538 100644
--- a/src/main/java/com/zy/crm/manager/entity/ReimburseOnline.java
+++ b/src/main/java/com/zy/crm/manager/entity/ReimburseOnline.java
@@ -167,6 +167,30 @@
 //            null    // 鍒涘缓鏃堕棿
 //    );
 
+    public String getSettle$(){
+        if (null == this.settle){ return null; }
+        switch (this.settle){
+            case 0:
+                return "寰呮彁浜�";
+            case 1:
+                return "绛夊緟閮ㄩ棬缁忕悊瀹℃牳";
+            case 2:
+                return "绛夊緟缁撶偣3瀹℃牳";
+            case 3:
+                return "绛夊緟缁撶偣4瀹℃牳";
+            case 4:
+                return "绛夊緟缁撶偣5瀹℃牳";
+            case 5:
+                return "绛夊緟缁撶偣6瀹℃牳";
+            case 6:
+                return "鐢宠閫氳繃";
+            case 7:
+                return "鐢宠閫氳繃";
+            default:
+                return String.valueOf(this.settle);
+        }
+    }
+
     public String getCreateTime$(){
         if (Cools.isEmpty(this.createTime)){
             return "";
diff --git a/src/main/webapp/static/js/priOnline2/priOnline.js b/src/main/webapp/static/js/priOnline2/priOnline.js
index fc4627b..73e3988 100644
--- a/src/main/webapp/static/js/priOnline2/priOnline.js
+++ b/src/main/webapp/static/js/priOnline2/priOnline.js
@@ -84,9 +84,11 @@
         cols: [[
             {type: 'checkbox', fixed: 'left'}
             ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80,hide: true}
-            ,{field: 'templateName', align: 'center',title: '瀹㈡埛鍚嶇О',hide: false}
+            ,{field: 'templateName', align: 'center',title: '瀹㈡埛鍚嶇О', style: 'color: #1890ff;cursor:pointer', event: 'moreCstmr', width: 350,hide: false}
+            ,{field: 'cstmrId$', align: 'center',title: '瀹㈡埛id',hide: true}
             ,{field: 'orderNum', align: 'center',title: '鏍镐环鍗曞彿'}
-            ,{field: 'planId$', align: 'center',title: '瑙勫垝鍗曞彿'}
+            ,{field: 'planId$', align: 'center',title: '瑙勫垝鍗曞彿', style: 'color: #1890ff;cursor:pointer', event: 'morePlan'}
+            ,{field: 'itemId', align: 'center',title: '瑙勫垝鍗曞彿', hide: true}
             ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿'}
             ,{field: 'updateTime$', align: 'center',title: '鏇存柊鏃堕棿'}
             ,{field: 'status$', align: 'center',title: '鐘舵��'}
@@ -233,6 +235,30 @@
     table.on('tool(priOnline)', function(obj){
         var data = obj.data;
         switch (obj.event) {
+            case 'moreCstmr':
+                top.cstmrByMore = data.cstmrId$;
+                admin.popupRight({
+                    type: 1,
+                    window: "top",
+                    area: "1250px",
+                    url: "../cstmr/cstmr_more.html",
+                    end: function () {
+                        // $(".layui-laypage-btn")[0].click();
+                    }
+                })
+                break;
+            case 'morePlan':
+                top.planByMore = data.itemId;
+                admin.popupRight({
+                    type: 1,
+                    window: "top",
+                    area: "1250px",
+                    url: "../plan/plan_more_other.html",
+                    end: function () {
+                        // $(".layui-laypage-btn")[0].click();
+                    }
+                })
+                break;
             // 鏍镐环
             case 'check':
                 layer.open({
diff --git a/src/main/webapp/static/js/priQuote/priQuote.js b/src/main/webapp/static/js/priQuote/priQuote.js
index 17c2903..3fcfb10 100644
--- a/src/main/webapp/static/js/priQuote/priQuote.js
+++ b/src/main/webapp/static/js/priQuote/priQuote.js
@@ -88,13 +88,15 @@
         cellMinWidth: 150,
         cols: [[
             {type: 'checkbox', fixed: 'left'}
-            ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80}
-            ,{field: 'templateName', align: 'center',title: '瀹㈡埛鍚嶇О', width: 220,hide: false}
+            ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80,hide : true}
+            ,{field: 'templateName', align: 'center',title: '瀹㈡埛鍚嶇О', style: 'color: #1890ff;cursor:pointer', event: 'moreCstmr', width: 350,hide: false}
+            ,{field: 'cstmrId$', align: 'center',title: '瀹㈡埛id',hide: true}
             ,{field: 'inOrderNum', align: 'center',title: '鎶ヤ环缂栧彿',hide: false}
-            ,{field: 'orderNum', align: 'center',title: '鎶ヤ环棰勭畻鍗曞彿', style: 'color: #1890ff;cursor:pointer', event: 'more',hide: false}
-            ,{field: 'planId$', align: 'center',title: '瑙勫垝鍗曞彿',hide: false}
+            ,{field: 'orderNum', align: 'center',title: '鎶ヤ环棰勭畻鍗曞彿',hide: false}
+            ,{field: 'planId$', align: 'center',title: '瑙勫垝鍗曞彿', style: 'color: #1890ff;cursor:pointer', event: 'morePlan'}
+            ,{field: 'itemId', align: 'center',title: '瑙勫垝鍗曞彿', hide: true}
             ,{field: 'planName$', align: 'center',title: '瑙勫垝鍗曞悕绉�',hide: false}
-            ,{field: 'settle$', align: 'center',title: '杩涘害', width: 150,hide: false}
+            ,{field: 'settle$', align: 'center',title: '杩涘害', style: 'color: #1890ff;cursor:pointer', event: 'more', 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}
@@ -240,6 +242,30 @@
     table.on('tool(priQuote)', function(obj){
         var data = obj.data;
         switch (obj.event) {
+            case 'moreCstmr':
+                top.cstmrByMore = data.cstmrId$;
+                admin.popupRight({
+                    type: 1,
+                    window: "top",
+                    area: "1250px",
+                    url: "../cstmr/cstmr_more.html",
+                    end: function () {
+                        // $(".layui-laypage-btn")[0].click();
+                    }
+                })
+                break;
+            case 'morePlan':
+                top.planByMore = data.itemId;
+                admin.popupRight({
+                    type: 1,
+                    window: "top",
+                    area: "1250px",
+                    url: "../plan/plan_more_other.html",
+                    end: function () {
+                        // $(".layui-laypage-btn")[0].click();
+                    }
+                })
+                break;
             case 'approval':
                 layer.confirm('瀹℃壒閫氳繃锛�', {
                     skin: 'layui-layer-admin',
diff --git a/src/main/webapp/static/js/priQuoteBudget/priQuoteBudget.js b/src/main/webapp/static/js/priQuoteBudget/priQuoteBudget.js
index dbb3c83..5e446a5 100644
--- a/src/main/webapp/static/js/priQuoteBudget/priQuoteBudget.js
+++ b/src/main/webapp/static/js/priQuoteBudget/priQuoteBudget.js
@@ -82,11 +82,13 @@
         cellMinWidth: 150,
         cols: [[
             {type: 'checkbox', fixed: 'left'}
-            ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80}
-            ,{field: 'templateName', align: 'center',title: '瀹㈡埛鍚嶇О'}
+            ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80,hide : true}
+            ,{field: 'templateName', align: 'center',title: '瀹㈡埛鍚嶇О', style: 'color: #1890ff;cursor:pointer', event: 'moreCstmr', width: 350,hide: false}
+            ,{field: 'cstmrId$', align: 'center',title: '瀹㈡埛id',hide: true}
             ,{field: 'inOrderNum', align: 'center',title: '棰勭畻缂栧彿'}
             ,{field: 'orderNum', align: 'center',title: '浜у搧璐圭敤鏄庣粏鍗曞彿'}
-            ,{field: 'planId$', align: 'center',title: '瑙勫垝鍗曞彿'}
+            ,{field: 'planId$', align: 'center',title: '瑙勫垝鍗曞彿', style: 'color: #1890ff;cursor:pointer', event: 'morePlan'}
+            ,{field: 'itemId', align: 'center',title: '瑙勫垝鍗曞彿', hide: true}
             ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿'}
             ,{field: 'updateTime$', align: 'center',title: '鏇存柊鏃堕棿'}
             ,{field: 'memberId$', align: 'center',title: '涓氬姟鍛�'}
@@ -231,6 +233,30 @@
     table.on('tool(priQuoteBudget)', function(obj){
         var data = obj.data;
         switch (obj.event) {
+            case 'moreCstmr':
+                top.cstmrByMore = data.cstmrId$;
+                admin.popupRight({
+                    type: 1,
+                    window: "top",
+                    area: "1250px",
+                    url: "../cstmr/cstmr_more.html",
+                    end: function () {
+                        // $(".layui-laypage-btn")[0].click();
+                    }
+                })
+                break;
+            case 'morePlan':
+                top.planByMore = data.itemId;
+                admin.popupRight({
+                    type: 1,
+                    window: "top",
+                    area: "1250px",
+                    url: "../plan/plan_more_other.html",
+                    end: function () {
+                        // $(".layui-laypage-btn")[0].click();
+                    }
+                })
+                break;
             case "quoteBudget":
                 layer.open({
                     type: 2,
diff --git a/src/main/webapp/static/js/priSales/priSales.js b/src/main/webapp/static/js/priSales/priSales.js
index c15348b..35ec07c 100644
--- a/src/main/webapp/static/js/priSales/priSales.js
+++ b/src/main/webapp/static/js/priSales/priSales.js
@@ -82,11 +82,13 @@
         cellMinWidth: 150,
         cols: [[
             {type: 'checkbox', fixed: 'left'}
-            ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80}
-            ,{field: 'templateName', align: 'center',title: '瀹㈡埛鍚嶇О'}
+            ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80,hide : true}
+            ,{field: 'templateName', align: 'center',title: '瀹㈡埛鍚嶇О', style: 'color: #1890ff;cursor:pointer', event: 'moreCstmr', width: 350,hide: false}
+            ,{field: 'cstmrId$', align: 'center',title: '瀹㈡埛id',hide: true}
             ,{field: 'inOrderNum', align: 'center',title: '鏄庣粏缂栧彿'}
             ,{field: 'orderNum', align: 'center',title: '鏍镐环鍗曞彿'}
-            ,{field: 'planId$', align: 'center',title: '椤圭洰鍚�'}
+            ,{field: 'planId$', align: 'center',title: '瑙勫垝鍗曞彿', style: 'color: #1890ff;cursor:pointer', event: 'morePlan'}
+            ,{field: 'itemId', align: 'center',title: '瑙勫垝鍗曞彿', hide: true}
             ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿'}
             ,{field: 'updateTime$', align: 'center',title: '鏇存柊鏃堕棿'}
             ,{field: 'memberId$', align: 'center',title: '涓氬姟鍛�'}
@@ -231,6 +233,30 @@
     table.on('tool(priSales)', function(obj){
         var data = obj.data;
         switch (obj.event) {
+            case 'moreCstmr':
+                top.cstmrByMore = data.cstmrId$;
+                admin.popupRight({
+                    type: 1,
+                    window: "top",
+                    area: "1250px",
+                    url: "../cstmr/cstmr_more.html",
+                    end: function () {
+                        // $(".layui-laypage-btn")[0].click();
+                    }
+                })
+                break;
+            case 'morePlan':
+                top.planByMore = data.itemId;
+                admin.popupRight({
+                    type: 1,
+                    window: "top",
+                    area: "1250px",
+                    url: "../plan/plan_more_other.html",
+                    end: function () {
+                        // $(".layui-laypage-btn")[0].click();
+                    }
+                })
+                break;
             case "priOnline":
                 layer.open({
                     type: 2,
diff --git a/src/main/webapp/static/js/reimburseOnline/reimburseOnline.js b/src/main/webapp/static/js/reimburseOnline/reimburseOnline.js
index 827a3ed..476bd87 100644
--- a/src/main/webapp/static/js/reimburseOnline/reimburseOnline.js
+++ b/src/main/webapp/static/js/reimburseOnline/reimburseOnline.js
@@ -87,14 +87,14 @@
             {field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80,hide: true}
             ,{field: 'templateName', align: 'center',title: '鎶ラ攢绫诲瀷',hide: false}
             ,{field: 'checkData', align: 'center',title: '鏄惁鍐茶处',hide: false}
-            ,{field: 'orderNum', align: 'center',title: '鎶ラ攢鍗曞彿',width: 320, style: 'color: #1890ff;cursor:pointer', event: 'more',hide: false}
+            ,{field: 'orderNum', align: 'center',title: '鎶ラ攢鍗曞彿',width: 320,hide: false}
             ,{field: 'planId$', align: 'center',title: '椤圭洰鍙�',hide: false}
             ,{field: 'name', align: 'center',title: '瀹㈡埛淇℃伅',hide: false}
-            ,{field: 'settle', align: 'center',title: '杩涘害',hide: false}
             ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿',hide: false}
             ,{field: 'updateTime$', align: 'center',title: '鏇存柊鏃堕棿',hide: false}
             ,{field: 'status$', align: 'center',title: '鐘舵��',hide: false}
             ,{field: 'memberId$', align: 'center',title: '涓氬姟鍛�',hide: false}
+            ,{field: 'settle$', align: 'center',title: '杩涘害', style: 'color: #1890ff;cursor:pointer', event: 'more',hide: false}
             ,{field: 'user$', align: 'center',title: '鍒涘缓浜哄憳',hide: false}
             ,{field: 'updateUserId$', align: 'center',title: '鏇存柊浜哄憳',hide: false}
             // // ,{field: 'checkDataStatus$', align: 'center',title: '鎶ヤ环鏁版嵁'}
diff --git a/src/main/webapp/views/plan/plan_more_other.html b/src/main/webapp/views/plan/plan_more_other.html
new file mode 100644
index 0000000..97420cb
--- /dev/null
+++ b/src/main/webapp/views/plan/plan_more_other.html
@@ -0,0 +1,511 @@
+<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);
+    }
+
+    .card-body-item {
+        display: inline-block;
+        border-right: 1px solid #e0e0e0;
+        width: 250px;
+        padding: 0 30px 0 10px;
+    }
+    .header-desc {
+        overflow:hidden;
+        white-space: nowrap;
+        text-overflow: ellipsis;
+        -o-text-overflow:ellipsis;
+    }
+
+</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">&#xe656;</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-md12">
+                <div class="layui-card">
+                    <div class="layui-card-header">
+                        鍩烘湰淇℃伅
+                    </div>
+                    <div class="layui-card-body">
+
+                        <!-- 鍩烘湰淇℃伅 -->
+                        <div class="layui-form-item layui-row">
+                            <input name="id" type="hidden" />
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">瑙勫垝鍗曞彿:</label>
+                                <div class="layui-input-block">
+                                    <input name="uuid" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">鐢宠鏃ユ湡 :</label>
+                                <div class="layui-input-block">
+                                    <input name="appleTime$" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">璺熻釜椤圭洰:</label>
+                                <div class="layui-input-block">
+                                    <input name="orderId$" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">瀹㈡埛鍚嶇О:</label>
+                                <div class="layui-input-block">
+                                    <input name="cstmrId$" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">涓氬姟鍛�:</label>
+                                <div class="layui-input-block">
+                                    <input name="userId$" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">瀹℃壒鐘舵��:</label>
+                                <div class="layui-input-block">
+                                    <input name="settle$" class="layui-input" disabled/>
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">涓氬姟绫诲瀷:</label>
+                                <div class="layui-input-block">
+                                    <input name="planType$" class="layui-input" disabled />
+                                </div>
+                            </div>
+                        </div>
+
+                        <!-- 鍏朵粬 -->
+                        <div class="layui-form-item layui-row">
+                            <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
+                                <legend style="font-size: 13px">鍏朵粬</legend>
+                            </fieldset>
+                            <div id="customizeBox" class="formDes">
+                            </div>
+                        </div>
+
+                        <!-- 鍞墠瑙勫垝 -->
+                        <div class="layui-form-item layui-row">
+                            <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
+                                <legend style="font-size: 13px">鍞墠瑙勫垝</legend>
+                            </fieldset>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">瑙勫垝鍛�:</label>
+                                <div class="layui-input-block">
+                                    <input name="planner" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">瀹屾垚鏃堕棿:</label>
+                                <div class="layui-input-block">
+                                    <input name="finishTime$" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">鏇存敼鏂规:</label>
+                                <div class="layui-input-block">
+                                    <input name="change" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">鏇存敼娆℃暟:</label>
+                                <div class="layui-input-block">
+                                    <input name="changeTime" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">鏇存敼鍘熷洜:</label>
+                                <div class="layui-input-block">
+                                    <input name="changeReason" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">瑙勬牸濂栭噾:</label>
+                                <div class="layui-input-block">
+                                    <input name="planBonus" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">缁勯暱濂栭噾:</label>
+                                <div class="layui-input-block">
+                                    <input name="planLeaderBonus" class="layui-input" disabled />
+                                </div>
+                            </div>
+                        </div>
+
+                        <!-- 绯荤粺淇℃伅 -->
+                        <div class="layui-form-item layui-row">
+                            <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
+                                <legend style="font-size: 13px">绯荤粺淇℃伅</legend>
+                            </fieldset>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">娣诲姞浜哄憳:</label>
+                                <div class="layui-input-block">
+                                    <input name="createBy$" class="layui-input" disabled/>
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">淇敼浜哄憳:</label>
+                                <div class="layui-input-block">
+                                    <input name="updateBy$" class="layui-input" disabled/>
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">娣诲姞鏃堕棿:</label>
+                                <div class="layui-input-block">
+                                    <input name="createTime$" class="layui-input icon-date" autocomplete="off" disabled/>
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">淇敼鏃堕棿:</label>
+                                <div class="layui-input-block">
+                                    <input name="updateTime$" class="layui-input icon-date" autocomplete="off" disabled/>
+                                </div>
+                            </div>
+                        </div>
+
+                    </div>
+                </div>
+            </div>
+            <!-- 鍔ㄦ�� -->
+<!--            <div class="layui-col-md3" style="width: 24%;margin-left: 1%">-->
+                <!-- 鏃堕棿绾� -->
+<!--                <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 class="layui-card">-->
+<!--                    <div class="layui-card-header">-->
+<!--                        <span>璺熻繘浜�</span>-->
+<!--                        <span lay-filter="followerAdd" lay-submit style="float: right;cursor: pointer;">-->
+<!--                            <i class="layui-icon" style="font-size: 20px;color: #1890ff;">&#xe61f;</i>-->
+<!--                        </span>-->
+<!--                    </div>-->
+<!--                    <div class="layui-card-body">-->
+<!--                        <table id="followersTable" lay-filter="followersTable"></table>-->
+<!--                    </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">&#xe666;</i>&emsp;鍒锋柊&emsp;</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/html" id="followerEditDialog">
+    <form id="followerEditForm" lay-filter="followerEditForm" class="layui-form model-form">
+        <input name="experimentId" type="hidden"/>
+        <div class="layui-form-item" style="float: left;clear: none;margin-right: 20px">
+            <label class="layui-form-label">閫夋嫨鎴愬憳</label>
+            <div class="layui-input-block">
+                <div id="followersBox" name="followersBox">
+                </div>
+            </div>
+        </div>
+        <div class="layui-form-item text-right" style="float: left;clear: none">
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+            <button class="layui-btn" lay-filter="followerSubmit" lay-submit>淇濆瓨</button>
+        </div>
+    </form>
+</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">&nbsp;</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">&#xe63f;</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 planId = top.planByMore;
+    $('.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 + "/plan/" + planId + "/auth",
+                headers: {'token': localStorage.getItem('token')},
+                method: 'GET',
+                success: function (res) {
+                    notice.destroy();
+                    if (res.code === 200) {
+                        let plan = res.data;
+                        top.planByMore = null;
+                        $("#form-name").html(plan.name);
+                        // 杩涘害姝ラ鍥�
+                        let template0 = Handlebars.compile($('#stepTpl').html());
+                        $('#stepBox').html(template0({list: JSON.parse(plan.settleMsg)}));
+                        $('#step-' + Number(plan.step)).addClass("layui-this");
+
+                        let template1 = Handlebars.compile($('#timelineTpl').html());
+                        $('#timelineBox').html(template1({list: JSON.parse(plan.settleMsg)}));
+                        // 琛ュ厖html
+                        $('#customizeBox').html(plan.formHtml);
+                        // 璁惧鏄庣粏
+                        form.val('formAdvForm', plan);
+                        top.convertDisabled($('#formAdvForm :input'), true);
+                        // 璺熻繘浜�
+                        // initFollowers(plan.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();
+
+        // 娓叉煋璺熻繘浜烘ā鍧�
+        function initFollowers(planId) {
+            if (!planId) {
+                return;
+            }
+            $.ajax({
+                url: baseUrl+"/plan/followers/table/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: {
+                    planId: planId
+                },
+                method: 'GET',
+                success: function (res) {
+                    if (res.code === 200){
+                        var follTab = table.render({
+                            elem: '#followersTable',
+                            data: res.data,
+                            limit: 999,
+                            height: 'full-408',
+                            cols: [[
+                                {field: 'userName', title: '宸ヤ綔浜哄憳'},
+                                {fixed: 'right', title:'', align: 'center', toolbar: '#followerTabOperate', width: 70}
+                            ]],
+                            done: function (res, curr, count) {
+                                $('#dictTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click');
+                            }
+                        });
+                        // 鐩戝惉琛屽伐鍏蜂簨浠�
+                        table.on('tool(followersTable)', function(obj){
+                            let data = obj.data;
+                            switch (obj.event) {
+                                case "del":
+                                    let loadIndex = layer.load(2);
+                                    $.ajax({
+                                        url: baseUrl+"/plan/followers/remove/auth",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        data: {
+                                            planId: planId,
+                                            userId: data.userId
+                                        },
+                                        method: 'POST',
+                                        success: function (res) {
+                                            layer.close(loadIndex);
+                                            if (res.code === 200){
+                                                initFollowers(planId);
+                                            } else if (res.code === 403){
+                                                top.location.href = baseUrl+"/";
+                                            } else {
+                                                layer.msg(res.msg, {icon: 2});
+                                            }
+                                        }
+                                    })
+                                    break;
+                            }
+                        });
+                    } else if (res.code === 403){
+                        top.location.href = baseUrl+"/";
+                    }else {
+                        layer.msg(res.msg, {icon: 2})
+                    }
+                }
+            })
+        }
+
+        // 娣诲姞璺熻繘浜�
+        var followerLayer;
+        form.on('submit(followerAdd)', function (data) {
+            if (followerLayer) {return;}
+            followerLayer = admin.open({
+                type: 1,
+                offset: '150px',
+                area: '600px',
+                title: '娣诲姞璺熻繘浜�',
+                content: $('#followerEditDialog').html(),
+                success: function (layero, dIndex) {
+                    // 琛ㄥ崟鎻愪氦浜嬩欢
+                    form.on('submit(followerSubmit)', function (data) {
+                        let selectList = xmSelectIdx.getValue();
+                        if (selectList.length === 0) {
+                            layer.msg("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�", {icon: 3});
+                            return false;
+                        }
+                        let loadIndex = layer.load(2);
+                        $.ajax({
+                            url: baseUrl+"/plan/followers/add/auth",
+                            headers: {'token': localStorage.getItem('token')},
+                            data: {
+                                planId: planId,
+                                followerIds: selectList.map(function (d) {
+                                    return d.value;
+                                })
+                            },
+                            method: 'POST',
+                            success: function (res) {
+                                if (res.code === 200){
+                                    layer.close(loadIndex);
+                                    initFollowers(planId);
+                                } else if (res.code === 403){
+                                    top.location.href = baseUrl+"/";
+                                }else {
+                                    layer.msg(res.msg, {icon: 2})
+                                }
+                            }
+                        })
+                        layer.close(dIndex);
+                        return false;
+                    });
+                    let xmSelectIdx = xmSelect.render({
+                        el: '#followersBox',
+                        style: {
+                            width: '280px',
+                        },
+                        autoRow: true,
+                        toolbar: { show: true },
+                        filterable: true,
+                        remoteSearch: true,
+                        remoteMethod: function(val, cb, show){
+                            $.ajax({
+                                url: baseUrl+"/user/all/get/kv",
+                                headers: {'token': localStorage.getItem('token')},
+                                data: {
+                                    condition: val
+                                },
+                                method: 'POST',
+                                success: function (res) {
+                                    if (res.code === 200){
+                                        cb(res.data)
+                                    } else {
+                                        cb([]);
+                                        layer.msg(res.msg, {icon: 2});
+                                    }
+                                }
+                            });
+                        }
+                    })
+                    // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+                    $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                    layui.form.render('select');
+                },
+                end: function () {
+                    followerLayer = null;
+                }
+            })
+        });
+
+        /* 鐩戝惉琛ㄥ崟鎻愪氦 */
+        form.on('submit(refresh)', function (data) {
+            init();
+            return false;
+        });
+
+    })
+</script>
diff --git a/src/main/webapp/views/priOnline2/priOnline.html b/src/main/webapp/views/priOnline2/priOnline.html
index 0cdbf0a..b90ce26 100644
--- a/src/main/webapp/views/priOnline2/priOnline.html
+++ b/src/main/webapp/views/priOnline2/priOnline.html
@@ -85,6 +85,7 @@
 <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/luckysheet_js/luckyexcel.umd.js"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
 <script type="text/javascript" src="../../static/js/luckysheet_js/pako.es5.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/luckysheet_js/base64.min.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/priOnline2/priOnline.js" charset="utf-8"></script>
diff --git a/src/main/webapp/views/priQuoteBudget/priQuoteBudget.html b/src/main/webapp/views/priQuoteBudget/priQuoteBudget.html
index c04536b..1f70a58 100644
--- a/src/main/webapp/views/priQuoteBudget/priQuoteBudget.html
+++ b/src/main/webapp/views/priQuoteBudget/priQuoteBudget.html
@@ -107,6 +107,7 @@
 <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/cool.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/priQuoteBudget/priQuoteBudget.js" charset="utf-8"></script>
 <!-- 琛ㄥ崟寮圭獥 -->
 <script type="text/html" id="editDialog">
diff --git a/src/main/webapp/views/priSales/priSales.html b/src/main/webapp/views/priSales/priSales.html
index 4adcd9e..56a7f35 100644
--- a/src/main/webapp/views/priSales/priSales.html
+++ b/src/main/webapp/views/priSales/priSales.html
@@ -106,6 +106,7 @@
 <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/priSales/priSales.js" charset="utf-8"></script>
 <!-- 琛ㄥ崟寮圭獥 -->

--
Gitblit v1.9.1