Browse Source

各种功能更新

caipin 4 years ago
parent
commit
cc649784f5

+ 4 - 4
app/config/common.config.js

@@ -7,13 +7,13 @@ global.CRYPTO_KEY='CLDV2_CP';
 
 
 global.STAFF='';
 global.STAFF='';
 //测试
 //测试
-//global.CURINGURL='http://qa.smartcost.com.cn:6060/cld';
+global.CURINGURL='http://qa.smartcost.com.cn:6060/cld';
 //养护云
 //养护云
-global.CURINGURL='https://yhuat.smartcost.com.cn/cld';
+//global.CURINGURL='https://yhyun.smartcost.com.cn/cld';
 //
 //
-//global.BUILD_CURINGURL='http://qa.smartcost.com.cn:6060/cld';
+global.BUILD_CURINGURL='http://qa.smartcost.com.cn:6060/cld';
 // 大司空
 // 大司空
-global.BUILD_CURINGURL='https://yhyun.smartcost.com.cn/cld';
+//global.BUILD_CURINGURL='https://yun.smartcost.com.cn/cld';
 
 
 
 
 
 

+ 6 - 1
app/service/cloudBuildEditionService.js

@@ -279,6 +279,11 @@ var cloudService={
         if(hash.isExistence(userData['curingInfo'])){
         if(hash.isExistence(userData['curingInfo'])){
             userData['operateLog']=await models.buildOperate_log.findByCondition(2,hash.hashDecode(userData['curingInfo']['id']));
             userData['operateLog']=await models.buildOperate_log.findByCondition(2,hash.hashDecode(userData['curingInfo']['id']));
         }
         }
+        //获得客户服务日志
+        userData['serviceLog']=[];
+        if(hash.isExistence(userData['clientInfo'])){
+            userData['serviceLog']=await models.CLD_service_log.findAllByClientid(client_id);
+        }
         
         
         return userData;
         return userData;
     },
     },
@@ -347,7 +352,7 @@ var cloudService={
 
 
             let operation=STAFF.username+'升级'+data.name;
             let operation=STAFF.username+'升级'+data.name;
             if(status==2){
             if(status==2){
-                operation=STAFF.username+'降级'+data.name+'(免费版)';
+                operation=STAFF.username+'降级'+data.name+'(学习版)';
             }
             }
             if(status!=3){
             if(status!=3){
                 await models.buildOperate_log.createOperateLog(2,id,operation);
                 await models.buildOperate_log.createOperateLog(2,id,operation);

+ 6 - 2
app/service/cloudEditionService.js

@@ -249,7 +249,6 @@ var cloudService={
         //最后使用          
         //最后使用          
         userData['userInfo']['latest_usedName']='';
         userData['userInfo']['latest_usedName']='';
 
 
-                
         //本地养护用户
         //本地养护用户
         userData['curingInfo']=await models.cloud_curing.getCuringBySsoid(ssoid);
         userData['curingInfo']=await models.cloud_curing.getCuringBySsoid(ssoid);
         client_id=userData['curingInfo']['client_id'];
         client_id=userData['curingInfo']['client_id'];
@@ -281,6 +280,11 @@ var cloudService={
         if(hash.isExistence(userData['curingInfo'])){
         if(hash.isExistence(userData['curingInfo'])){
             userData['operateLog']=await models.operate_log.findByCondition(1,hash.hashDecode(userData['curingInfo']['id']));
             userData['operateLog']=await models.operate_log.findByCondition(1,hash.hashDecode(userData['curingInfo']['id']));
         }
         }
+        //获得客户服务日志
+        userData['serviceLog']=[];
+        if(hash.isExistence(userData['clientInfo'])){
+            userData['serviceLog']=await models.CLD_service_log.findAllByClientid(client_id);
+        }
 
 
         return userData;
         return userData;
     },
     },
@@ -349,7 +353,7 @@ var cloudService={
             //记录锁日志
             //记录锁日志
             let operation=STAFF.username+'升级'+data.name;
             let operation=STAFF.username+'升级'+data.name;
             if(status==2){
             if(status==2){
-                operation=STAFF.username+'降级'+data.name+'(免费版)';
+                operation=STAFF.username+'降级'+data.name+'(学习版)';
             }
             }
             if(status!=3){
             if(status!=3){
                 await models.operate_log.createOperateLog(1,id,operation);
                 await models.operate_log.createOperateLog(1,id,operation);

+ 37 - 38
global/css/app.bundle.css

@@ -246,65 +246,65 @@ aside.page-sidebar ($nav-width, $nav-background)
   font-family: 'Roboto';
   font-family: 'Roboto';
   font-style: normal;
   font-style: normal;
   font-weight: 300;
   font-weight: 300;
-  src: url('//lib.baomitu.com/fonts/roboto/roboto-300.eot'); /* IE9 Compat Modes */
+  src: url('webfonts/roboto/roboto-300.eot'); /* IE9 Compat Modes */
   src: local('Roboto'), local('Roboto-Normal'),
   src: local('Roboto'), local('Roboto-Normal'),
-       url('//lib.baomitu.com/fonts/roboto/roboto-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
-       url('//lib.baomitu.com/fonts/roboto/roboto-300.woff2') format('woff2'), /* Super Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-300.woff') format('woff'), /* Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-300.ttf') format('truetype'), /* Safari, Android, iOS */
-       url('//lib.baomitu.com/fonts/roboto/roboto-300.svg#Roboto') format('svg'); /* Legacy iOS */
+       url('webfonts/roboto/roboto-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('webfonts/roboto/roboto-300.woff2') format('woff2'), /* Super Modern Browsers */
+       url('webfonts/roboto/roboto-300.woff') format('woff'), /* Modern Browsers */
+       url('webfonts/roboto/roboto-300.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('webfonts/roboto/roboto-300.svg#Roboto') format('svg'); /* Legacy iOS */
 }
 }
 /* roboto-regular */
 /* roboto-regular */
 @font-face {
 @font-face {
   font-family: 'Roboto';
   font-family: 'Roboto';
   font-style: normal;
   font-style: normal;
   font-weight: regular;
   font-weight: regular;
-  src: url('//lib.baomitu.com/fonts/roboto/roboto-regular.eot'); /* IE9 Compat Modes */
+  src: url('webfonts/roboto/roboto-regular.eot'); /* IE9 Compat Modes */
   src: local('Roboto'), local('Roboto-Normal'),
   src: local('Roboto'), local('Roboto-Normal'),
-       url('//lib.baomitu.com/fonts/roboto/roboto-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
-       url('//lib.baomitu.com/fonts/roboto/roboto-regular.woff2') format('woff2'), /* Super Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-regular.woff') format('woff'), /* Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-regular.ttf') format('truetype'), /* Safari, Android, iOS */
-       url('//lib.baomitu.com/fonts/roboto/roboto-regular.svg#Roboto') format('svg'); /* Legacy iOS */
+       url('webfonts/roboto/roboto-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('webfonts/roboto/roboto-regular.woff2') format('woff2'), /* Super Modern Browsers */
+       url('webfonts/roboto/roboto-regular.woff') format('woff'), /* Modern Browsers */
+       url('webfonts/roboto/roboto-regular.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('webfonts/roboto/roboto-regular.svg#Roboto') format('svg'); /* Legacy iOS */
 }
 }
 /* roboto-500 */
 /* roboto-500 */
 @font-face {
 @font-face {
   font-family: 'Roboto';
   font-family: 'Roboto';
   font-style: normal;
   font-style: normal;
   font-weight: 500;
   font-weight: 500;
-  src: url('//lib.baomitu.com/fonts/roboto/roboto-500.eot'); /* IE9 Compat Modes */
+  src: url('webfonts/roboto/roboto-500.eot'); /* IE9 Compat Modes */
   src: local('Roboto'), local('Roboto-Normal'),
   src: local('Roboto'), local('Roboto-Normal'),
-       url('//lib.baomitu.com/fonts/roboto/roboto-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
-       url('//lib.baomitu.com/fonts/roboto/roboto-500.woff2') format('woff2'), /* Super Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-500.woff') format('woff'), /* Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-500.ttf') format('truetype'), /* Safari, Android, iOS */
-       url('//lib.baomitu.com/fonts/roboto/roboto-500.svg#Roboto') format('svg'); /* Legacy iOS */
+       url('webfonts/roboto/roboto-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('webfonts/roboto/roboto-500.woff2') format('woff2'), /* Super Modern Browsers */
+       url('webfonts/roboto/roboto-500.woff') format('woff'), /* Modern Browsers */
+       url('webfonts/roboto/roboto-500.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('webfonts/roboto/roboto-500.svg#Roboto') format('svg'); /* Legacy iOS */
 }
 }
 /* roboto-700 */
 /* roboto-700 */
 @font-face {
 @font-face {
   font-family: 'Roboto';
   font-family: 'Roboto';
   font-style: normal;
   font-style: normal;
   font-weight: 700;
   font-weight: 700;
-  src: url('//lib.baomitu.com/fonts/roboto/roboto-700.eot'); /* IE9 Compat Modes */
+  src: url('webfonts/roboto/roboto-700.eot'); /* IE9 Compat Modes */
   src: local('Roboto'), local('Roboto-Normal'),
   src: local('Roboto'), local('Roboto-Normal'),
-       url('//lib.baomitu.com/fonts/roboto/roboto-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
-       url('//lib.baomitu.com/fonts/roboto/roboto-700.woff2') format('woff2'), /* Super Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-700.woff') format('woff'), /* Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-700.ttf') format('truetype'), /* Safari, Android, iOS */
-       url('//lib.baomitu.com/fonts/roboto/roboto-700.svg#Roboto') format('svg'); /* Legacy iOS */
+       url('webfonts/roboto/roboto-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('webfonts/roboto/roboto-700.woff2') format('woff2'), /* Super Modern Browsers */
+       url('webfonts/roboto/roboto-700.woff') format('woff'), /* Modern Browsers */
+       url('webfonts/roboto/roboto-700.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('webfonts/roboto/roboto-700.svg#Roboto') format('svg'); /* Legacy iOS */
 }
 }
 /* roboto-900 */
 /* roboto-900 */
 @font-face {
 @font-face {
   font-family: 'Roboto';
   font-family: 'Roboto';
   font-style: normal;
   font-style: normal;
   font-weight: 900;
   font-weight: 900;
-  src: url('//lib.baomitu.com/fonts/roboto/roboto-900.eot'); /* IE9 Compat Modes */
+  src: url('webfonts/roboto/roboto-900.eot'); /* IE9 Compat Modes */
   src: local('Roboto'), local('Roboto-Normal'),
   src: local('Roboto'), local('Roboto-Normal'),
-       url('//lib.baomitu.com/fonts/roboto/roboto-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
-       url('//lib.baomitu.com/fonts/roboto/roboto-900.woff2') format('woff2'), /* Super Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-900.woff') format('woff'), /* Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-900.ttf') format('truetype'), /* Safari, Android, iOS */
-       url('//lib.baomitu.com/fonts/roboto/roboto-900.svg#Roboto') format('svg'); /* Legacy iOS */
+       url('webfonts/roboto/roboto-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('webfonts/roboto/roboto-900.woff2') format('woff2'), /* Super Modern Browsers */
+       url('webfonts/roboto/roboto-900.woff') format('woff'), /* Modern Browsers */
+       url('webfonts/roboto/roboto-900.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('webfonts/roboto/roboto-900.svg#Roboto') format('svg'); /* Legacy iOS */
 }
 }
 body {
 body {
   font-family: "Roboto", "Helvetica Neue", Helvetica, Arial;
   font-family: "Roboto", "Helvetica Neue", Helvetica, Arial;
@@ -1253,12 +1253,11 @@ html body {
       .nav-menu li.active > ul {
       .nav-menu li.active > ul {
         display: block; }
         display: block; }
       .nav-menu li.active:not(.open) > a:before {
       .nav-menu li.active:not(.open) > a:before {
-        content: '\f413';
-        font-family: 'nextgen-icons';
+        content: '│';
         position: absolute;
         position: absolute;
-        top: calc(50% - 5px);
-        right: 11px;
-        font-size: 7px;
+        top: calc(50% - 6px);
+        right: 1px;
+        font-size: 20px;
         height: 10px;
         height: 10px;
         width: auto;
         width: auto;
         color: #24b3a4;
         color: #24b3a4;
@@ -2168,12 +2167,12 @@ html body {
         .nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav .nav-menu {
         .nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav .nav-menu {
           margin: 0; }
           margin: 0; }
           .nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav .nav-menu li.active.open > a:before {
           .nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav .nav-menu li.active.open > a:before {
-            content: '\f413';
+            content: '';
             font-family: 'nextgen-icons';
             font-family: 'nextgen-icons';
             position: absolute;
             position: absolute;
             top: calc(50% - 5px);
             top: calc(50% - 5px);
-            right: 11px;
-            font-size: 7px;
+            right: 1px;
+            font-size: 20px;
             height: 10px;
             height: 10px;
             width: auto;
             width: auto;
             color: #24b3a4;
             color: #24b3a4;

+ 103 - 6
global/css/cld-custom.css

@@ -1,4 +1,19 @@
 /* app dialog */
 /* app dialog */
+.modal {
+  z-index: 949
+}
+.modal-backdrop{
+  z-index: 940
+}
+.page-header {
+  z-index:900
+}
+.nav-function-minify:not(.nav-function-top) .page-sidebar,.nav-function-hidden:not(.nav-function-top) .page-sidebar {
+  z-index: 901
+}
+.page-sidebar{
+  z-index: 902
+}
 .dialog-sheet{
 .dialog-sheet{
   position: relative;
   position: relative;
 }
 }
@@ -15,11 +30,12 @@
 }
 }
 .dialog-sheet .sheet-left-panel{
 .dialog-sheet .sheet-left-panel{
   position: relative;
   position: relative;
-  width: 650px;
+  width: 45%;
   height: 100%;
   height: 100%;
   flex-direction: column;
   flex-direction: column;
   z-index: 11;
   z-index: 11;
 }
 }
+
 .dialog-sheet .sheet-right-panel{
 .dialog-sheet .sheet-right-panel{
   position: relative;
   position: relative;
   overflow: hidden;
   overflow: hidden;
@@ -174,7 +190,7 @@
   cursor: pointer;
   cursor: pointer;
 }
 }
 .sheet-panel-log{
 .sheet-panel-log{
-  height:306px;
+  height:200px;
 }
 }
 .sheet-btns {
 .sheet-btns {
   height:24px;
   height:24px;
@@ -186,7 +202,7 @@
   width:100%;
   width:100%;
   z-index:999;
   z-index:999;
 }
 }
-.custom-checkbox .custom-control-label,.custom-radio .custom-control-label{
+.custom-checkbox .custom-control-label,.custom-radio .custom-control-label,.custom-switch .custom-control-label{
   cursor: pointer;
   cursor: pointer;
 }
 }
 .tagcol-01{
 .tagcol-01{
@@ -199,7 +215,7 @@
   background-color:#8E44AD;
   background-color:#8E44AD;
 }
 }
 .tagcol-04{
 .tagcol-04{
-  background-color:#f90000;
+  background-color:#CC3333;
 }
 }
 .tagcol-05{
 .tagcol-05{
   background-color:#B8651B;
   background-color:#B8651B;
@@ -210,7 +226,6 @@
 .tagcol-07{
 .tagcol-07{
   background-color:#efd200;
   background-color:#efd200;
 }
 }
-
 .tagcol-01-s{
 .tagcol-01-s{
   color:#16A085;
   color:#16A085;
 }
 }
@@ -232,7 +247,89 @@
 .tagcol-07-s{
 .tagcol-07-s{
   color:#efd200;
   color:#efd200;
 }
 }
-.tagcol-01,.tagcol-02,.tagcol-03,.tagcol-04,.tagcol-05,.tagcol-06,.tagcol-07,.tagcol-08{
+.tagcol-11{
+  background-color:#F8AC59;
+}
+.tagcol-12{
+  background-color:#FF69B4;
+}
+.tagcol-13{
+  background-color:#999999;
+}
+.tagcol-14{
+  background-color:#7186ab;
+}
+.tagcol-15{
+  background-color:#778b72;
+}
+.tagcol-16{
+  background-color:#c292ca;
+}
+.tagcol-17{
+  background-color:#a14751;
+}
+.tagcol-11-s{
+  color:#F8AC59;
+}
+.tagcol-12-s{
+  color:#FF69B4;
+}
+.tagcol-13-s{
+  color:#999999;
+}
+.tagcol-14-s{
+  color:#7186ab;
+}
+.tagcol-15-s{
+  color:#778b72;
+}
+.tagcol-16-s{
+  color:#c292ca;
+}
+.tagcol-17-s{
+  color:#a14751;
+}
+.tagcol-01,.tagcol-02,.tagcol-03,.tagcol-04,.tagcol-05,.tagcol-06,.tagcol-07,.tagcol-08,.tagcol-11,.tagcol-12,.tagcol-13,.tagcol-14,.tagcol-15,.tagcol-16,.tagcol-17,.tagcol-18{
   color:#fff;
   color:#fff;
   margin:0 1px;
   margin:0 1px;
+  line-height:10px;
+}
+/*审批列表*/
+.timeline-list .timeline-list-item{
+  position: relative;
+}
+.timeline-list-item .timeline-item-tail{
+  position: absolute;
+  top: 10px;
+  left: 10px;
+  height: calc(100% - 10px);
+  border-left: 1px solid #ddd ;
+}
+.timeline-list-item .timeline-item-icon{
+  width:20px;
+  height:20px;
+  position: absolute;
+  border-radius: 100px;
+  text-align: center;
+  line-height: 20px
+}
+.timeline-list-item .timeline-item-content{
+  position: relative;
+  margin: 0 0 0 30px;
+  word-break: break-word;
+}
+/*内容区侧栏*/
+.content-side {
+  width:260px;
+}
+.content-side + div{
+  width:calc(100% - 260px);
+  margin-left:260px;
+}
+.content-side .card{
+  height:calc(100vh - 114px)
+}
+.content-side .card .card-body{
+  height:calc(100%);
+  overflow:auto;
 }
 }

+ 2 - 2
global/css/fa-brands-rtl.css

@@ -6,8 +6,8 @@
   font-family: 'Font Awesome 5 Brands';
   font-family: 'Font Awesome 5 Brands';
   font-style: normal;
   font-style: normal;
   font-weight: normal;
   font-weight: normal;
-  src: url("../webfonts/fa-brands-400.eot");
-  src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
+  src: url("webfonts/fa-brands-400.eot");
+  src: url("webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("webfonts/fa-brands-400.woff2") format("woff2"), url("webfonts/fa-brands-400.woff") format("woff"), url("webfonts/fa-brands-400.ttf") format("truetype"), url("webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
 
 
 .fab {
 .fab {
   font-family: 'Font Awesome 5 Brands'; }
   font-family: 'Font Awesome 5 Brands'; }

+ 2 - 2
global/css/fa-brands.css

@@ -6,8 +6,8 @@
   font-family: 'Font Awesome 5 Brands';
   font-family: 'Font Awesome 5 Brands';
   font-style: normal;
   font-style: normal;
   font-weight: normal;
   font-weight: normal;
-  src: url("../webfonts/fa-brands-400.eot");
-  src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
+  src: url("webfonts/fa-brands-400.eot");
+  src: url("webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("webfonts/fa-brands-400.woff2") format("woff2"), url("webfonts/fa-brands-400.woff") format("woff"), url("webfonts/fa-brands-400.ttf") format("truetype"), url("webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
 
 
 .fab {
 .fab {
   font-family: 'Font Awesome 5 Brands'; }
   font-family: 'Font Awesome 5 Brands'; }

+ 2 - 2
global/css/fa-regular-rtl.css

@@ -6,8 +6,8 @@
   font-family: 'Font Awesome 5 Pro';
   font-family: 'Font Awesome 5 Pro';
   font-style: normal;
   font-style: normal;
   font-weight: 400;
   font-weight: 400;
-  src: url("../webfonts/fa-regular-400.eot");
-  src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
+  src: url("webfonts/fa-regular-400.eot");
+  src: url("webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("webfonts/fa-regular-400.woff2") format("woff2"), url("webfonts/fa-regular-400.woff") format("woff"), url("webfonts/fa-regular-400.ttf") format("truetype"), url("webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
 
 
 .far {
 .far {
   font-family: 'Font Awesome 5 Pro';
   font-family: 'Font Awesome 5 Pro';

+ 2 - 2
global/css/fa-regular.css

@@ -6,8 +6,8 @@
   font-family: 'Font Awesome 5 Pro';
   font-family: 'Font Awesome 5 Pro';
   font-style: normal;
   font-style: normal;
   font-weight: 400;
   font-weight: 400;
-  src: url("../webfonts/fa-regular-400.eot");
-  src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
+  src: url("webfonts/fa-regular-400.eot");
+  src: url("webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("webfonts/fa-regular-400.woff2") format("woff2"), url("webfonts/fa-regular-400.woff") format("woff"), url("webfonts/fa-regular-400.ttf") format("truetype"), url("webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
 
 
 .far {
 .far {
   font-family: 'Font Awesome 5 Pro';
   font-family: 'Font Awesome 5 Pro';

+ 2 - 2
global/css/fa-solid-rtl.css

@@ -6,8 +6,8 @@
   font-family: 'Font Awesome 5 Pro';
   font-family: 'Font Awesome 5 Pro';
   font-style: normal;
   font-style: normal;
   font-weight: 900;
   font-weight: 900;
-  src: url("../webfonts/fa-solid-900.eot");
-  src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
+  src: url("webfonts/fa-solid-900.eot");
+  src: url("webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("webfonts/fa-solid-900.woff2") format("woff2"), url("webfonts/fa-solid-900.woff") format("woff"), url("webfonts/fa-solid-900.ttf") format("truetype"), url("webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
 
 
 .fa,
 .fa,
 .fas {
 .fas {

+ 2 - 2
global/css/fa-solid.css

@@ -6,8 +6,8 @@
   font-family: 'Font Awesome 5 Pro';
   font-family: 'Font Awesome 5 Pro';
   font-style: normal;
   font-style: normal;
   font-weight: 900;
   font-weight: 900;
-  src: url("../webfonts/fa-solid-900.eot");
-  src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
+  src: url("webfonts/fa-solid-900.eot");
+  src: url("webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("webfonts/fa-solid-900.woff2") format("woff2"), url("webfonts/fa-solid-900.woff") format("woff"), url("webfonts/fa-solid-900.ttf") format("truetype"), url("webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
 
 
 .fa,
 .fa,
 .fas {
 .fas {

+ 36 - 35
global/css/vendors.bundle.css

@@ -203,69 +203,70 @@ aside.page-sidebar ($nav-width, $nav-background)
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  */
  */
  /* roboto-300 */
  /* roboto-300 */
+/* roboto-300 */
 @font-face {
 @font-face {
   font-family: 'Roboto';
   font-family: 'Roboto';
   font-style: normal;
   font-style: normal;
   font-weight: 300;
   font-weight: 300;
-  src: url('//lib.baomitu.com/fonts/roboto/roboto-300.eot'); /* IE9 Compat Modes */
+  src: url('webfonts/roboto/roboto-300.eot'); /* IE9 Compat Modes */
   src: local('Roboto'), local('Roboto-Normal'),
   src: local('Roboto'), local('Roboto-Normal'),
-       url('//lib.baomitu.com/fonts/roboto/roboto-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
-       url('//lib.baomitu.com/fonts/roboto/roboto-300.woff2') format('woff2'), /* Super Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-300.woff') format('woff'), /* Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-300.ttf') format('truetype'), /* Safari, Android, iOS */
-       url('//lib.baomitu.com/fonts/roboto/roboto-300.svg#Roboto') format('svg'); /* Legacy iOS */
+       url('webfonts/roboto/roboto-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('webfonts/roboto/roboto-300.woff2') format('woff2'), /* Super Modern Browsers */
+       url('webfonts/roboto/roboto-300.woff') format('woff'), /* Modern Browsers */
+       url('webfonts/roboto/roboto-300.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('webfonts/roboto/roboto-300.svg#Roboto') format('svg'); /* Legacy iOS */
 }
 }
 /* roboto-regular */
 /* roboto-regular */
 @font-face {
 @font-face {
   font-family: 'Roboto';
   font-family: 'Roboto';
   font-style: normal;
   font-style: normal;
   font-weight: regular;
   font-weight: regular;
-  src: url('//lib.baomitu.com/fonts/roboto/roboto-regular.eot'); /* IE9 Compat Modes */
+  src: url('webfonts/roboto/roboto-regular.eot'); /* IE9 Compat Modes */
   src: local('Roboto'), local('Roboto-Normal'),
   src: local('Roboto'), local('Roboto-Normal'),
-       url('//lib.baomitu.com/fonts/roboto/roboto-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
-       url('//lib.baomitu.com/fonts/roboto/roboto-regular.woff2') format('woff2'), /* Super Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-regular.woff') format('woff'), /* Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-regular.ttf') format('truetype'), /* Safari, Android, iOS */
-       url('//lib.baomitu.com/fonts/roboto/roboto-regular.svg#Roboto') format('svg'); /* Legacy iOS */
+       url('webfonts/roboto/roboto-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('webfonts/roboto/roboto-regular.woff2') format('woff2'), /* Super Modern Browsers */
+       url('webfonts/roboto/roboto-regular.woff') format('woff'), /* Modern Browsers */
+       url('webfonts/roboto/roboto-regular.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('webfonts/roboto/roboto-regular.svg#Roboto') format('svg'); /* Legacy iOS */
 }
 }
 /* roboto-500 */
 /* roboto-500 */
 @font-face {
 @font-face {
   font-family: 'Roboto';
   font-family: 'Roboto';
   font-style: normal;
   font-style: normal;
   font-weight: 500;
   font-weight: 500;
-  src: url('//lib.baomitu.com/fonts/roboto/roboto-500.eot'); /* IE9 Compat Modes */
+  src: url('webfonts/roboto/roboto-500.eot'); /* IE9 Compat Modes */
   src: local('Roboto'), local('Roboto-Normal'),
   src: local('Roboto'), local('Roboto-Normal'),
-       url('//lib.baomitu.com/fonts/roboto/roboto-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
-       url('//lib.baomitu.com/fonts/roboto/roboto-500.woff2') format('woff2'), /* Super Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-500.woff') format('woff'), /* Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-500.ttf') format('truetype'), /* Safari, Android, iOS */
-       url('//lib.baomitu.com/fonts/roboto/roboto-500.svg#Roboto') format('svg'); /* Legacy iOS */
+       url('webfonts/roboto/roboto-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('webfonts/roboto/roboto-500.woff2') format('woff2'), /* Super Modern Browsers */
+       url('webfonts/roboto/roboto-500.woff') format('woff'), /* Modern Browsers */
+       url('webfonts/roboto/roboto-500.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('webfonts/roboto/roboto-500.svg#Roboto') format('svg'); /* Legacy iOS */
 }
 }
 /* roboto-700 */
 /* roboto-700 */
 @font-face {
 @font-face {
   font-family: 'Roboto';
   font-family: 'Roboto';
   font-style: normal;
   font-style: normal;
   font-weight: 700;
   font-weight: 700;
-  src: url('//lib.baomitu.com/fonts/roboto/roboto-700.eot'); /* IE9 Compat Modes */
+  src: url('webfonts/roboto/roboto-700.eot'); /* IE9 Compat Modes */
   src: local('Roboto'), local('Roboto-Normal'),
   src: local('Roboto'), local('Roboto-Normal'),
-       url('//lib.baomitu.com/fonts/roboto/roboto-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
-       url('//lib.baomitu.com/fonts/roboto/roboto-700.woff2') format('woff2'), /* Super Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-700.woff') format('woff'), /* Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-700.ttf') format('truetype'), /* Safari, Android, iOS */
-       url('//lib.baomitu.com/fonts/roboto/roboto-700.svg#Roboto') format('svg'); /* Legacy iOS */
+       url('webfonts/roboto/roboto-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('webfonts/roboto/roboto-700.woff2') format('woff2'), /* Super Modern Browsers */
+       url('webfonts/roboto/roboto-700.woff') format('woff'), /* Modern Browsers */
+       url('webfonts/roboto/roboto-700.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('webfonts/roboto/roboto-700.svg#Roboto') format('svg'); /* Legacy iOS */
 }
 }
 /* roboto-900 */
 /* roboto-900 */
 @font-face {
 @font-face {
   font-family: 'Roboto';
   font-family: 'Roboto';
   font-style: normal;
   font-style: normal;
   font-weight: 900;
   font-weight: 900;
-  src: url('//lib.baomitu.com/fonts/roboto/roboto-900.eot'); /* IE9 Compat Modes */
+  src: url('webfonts/roboto/roboto-900.eot'); /* IE9 Compat Modes */
   src: local('Roboto'), local('Roboto-Normal'),
   src: local('Roboto'), local('Roboto-Normal'),
-       url('//lib.baomitu.com/fonts/roboto/roboto-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
-       url('//lib.baomitu.com/fonts/roboto/roboto-900.woff2') format('woff2'), /* Super Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-900.woff') format('woff'), /* Modern Browsers */
-       url('//lib.baomitu.com/fonts/roboto/roboto-900.ttf') format('truetype'), /* Safari, Android, iOS */
-       url('//lib.baomitu.com/fonts/roboto/roboto-900.svg#Roboto') format('svg'); /* Legacy iOS */
+       url('webfonts/roboto/roboto-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('webfonts/roboto/roboto-900.woff2') format('woff2'), /* Super Modern Browsers */
+       url('webfonts/roboto/roboto-900.woff') format('woff'), /* Modern Browsers */
+       url('webfonts/roboto/roboto-900.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('webfonts/roboto/roboto-900.svg#Roboto') format('svg'); /* Legacy iOS */
 }
 }
 /*@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900");*/
 /*@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900");*/
 :root {
 :root {
@@ -5071,7 +5072,7 @@ a.close.disabled {
 
 
 @media (min-width: 1023px) {
 @media (min-width: 1023px) {
   .modal-xl {
   .modal-xl {
-    max-width: 944px; } }
+    max-width: 1100px; } }
 
 
 @media (min-width: 1279px) {
 @media (min-width: 1279px) {
   .modal-xl {
   .modal-xl {
@@ -12255,8 +12256,8 @@ readers do not read off random characters that represent icons */
   font-family: 'Font Awesome 5 Pro';
   font-family: 'Font Awesome 5 Pro';
   font-style: normal;
   font-style: normal;
   font-weight: 300;
   font-weight: 300;
-  src: url("../webfonts/fa-light-300.eot");
-  src: url("../webfonts/fa-light-300.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-light-300.woff2") format("woff2"), url("../webfonts/fa-light-300.woff") format("woff"), url("../webfonts/fa-light-300.ttf") format("truetype"), url("../webfonts/fa-light-300.svg#fontawesome") format("svg"); }
+  src: url("webfonts/fa-light-300.eot");
+  src: url("webfonts/fa-light-300.eot?#iefix") format("embedded-opentype"), url("webfonts/fa-light-300.woff2") format("woff2"), url("webfonts/fa-light-300.woff") format("woff"), url("webfonts/fa-light-300.ttf") format("truetype"), url("webfonts/fa-light-300.svg#fontawesome") format("svg"); }
 
 
 .fal {
 .fal {
   font-family: 'Font Awesome 5 Pro';
   font-family: 'Font Awesome 5 Pro';
@@ -12267,8 +12268,8 @@ readers do not read off random characters that represent icons */
  */
  */
 @font-face {
 @font-face {
   font-family: 'nextgen-icons';
   font-family: 'nextgen-icons';
-  src: url("../webfonts/nextgen-icons.eot");
-  src: url("../webfonts/nextgen-icons.eot?#iefix") format("embedded-opentype"), url("../webfonts/nextgen-icons.woff2") format("woff2"), url("../webfonts/webfonts/nextgen-icons.woff") format("woff"), url("../webfonts/webfonts/nextgen-icons.ttf") format("truetype"), url("../webfonts/webfonts/nextgen-icons.svg#nextgen-icons") format("svg");
+  src: url("webfonts/nextgen-icons.eot");
+  src: url("webfonts/nextgen-icons.eot?#iefix") format("embedded-opentype"), url("webfonts/nextgen-icons.woff2") format("woff2"), url("webfonts/webfonts/nextgen-icons.woff") format("woff"), url("webfonts/webfonts/nextgen-icons.ttf") format("truetype"), url("webfonts/webfonts/nextgen-icons.svg#nextgen-icons") format("svg");
   font-weight: normal;
   font-weight: normal;
   font-style: normal; }
   font-style: normal; }
 
 

+ 1 - 2
global/js/cld-custom.js

@@ -1,6 +1,5 @@
 function autoFlashHeight(){
 function autoFlashHeight(){
-  // var infoHeight = $(".contactInfo").height();
     $(".sheet-panel-content").height($(window).height()-138);
     $(".sheet-panel-content").height($(window).height()-138);
     $(".modal-search-height").height($(window).height()-226);
     $(".modal-search-height").height($(window).height()-226);
-    $(".sheet-panel-righttop").height($(window).height()-542);
+    $(".sheet-panel-righttop").height($(window).height()-436);
 };
 };

+ 145 - 35
global/js/cloud/build.concat.js

@@ -47,20 +47,6 @@ function getClentList(){
     })
     })
 }
 }
 
 
-/**
- * 用户升级专业版 弹框提示--用户详情界面
- * @param name
- * @param _id
- * @param username
- * @returns
- */
-function upCuring(name,_id,username){
-    $('#name').val(name);
-    $('#_id').val(_id);
-    var curingMobile=$('#curingMobile').val();
-    var html='为用户 <b>'+curingMobile+','+username+'</b> 升级 <b>'+name+'</b>';
-    $('div[upCuring] span').html(html);
-}
 
 
 $(document).ready(function(){
 $(document).ready(function(){
 	init();
 	init();
@@ -162,31 +148,44 @@ $(function() {
     /**
     /**
      * 确定升级专业版--用户详情界面
      * 确定升级专业版--用户详情界面
      */
      */
-    $('button[upCuringDo]').on('click', function(e){
+    $('button[upCuringDo]').on('click', function (e) {
         // 只获取第一个选中的值
         // 只获取第一个选中的值
         var compilationId = $('#_id').val();
         var compilationId = $('#_id').val();
         var name = $('#name').val();
         var name = $('#name').val();
         var curingSsoid = $('#curingSsoid').val();
         var curingSsoid = $('#curingSsoid').val();
         var mobile = $('#curingMobile').val();
         var mobile = $('#curingMobile').val();
         var client_id = $('#client_id').val();
         var client_id = $('#client_id').val();
-        if (curingSsoid != '' && compilationId != '') {
-            $.ajax({
-                cache :false,
-                type: 'post',
-                url: '/cloud/build/ajax/upCuringDo',
-                data: {ssoid: curingSsoid, compilationId: compilationId, mobile: mobile, client_id: client_id, name: name},
-                dataType: 'json',
-                success: function(data) {
-                    if (data.status == 1) {
-                    	refreshCuringPageDetail(curingSsoid,client_id);
-                    } else {
-                        alert(data.msg);
-                    }
-                }
-            })
-        } else {
-            alert('请选择需要升级的版本');
-        }
+        var deadline=$('#deadline').val();
+        var smssend=$('input[smssend]').get(0).checked
+        curingDo(compilationId,name,curingSsoid,1,mobile,client_id,deadline,smssend);
+    });
+
+    /**
+     * 确定降级免费版--用户详情界面
+     */
+    $('button[downCuringDo]').on('click', function (e) {
+        // 只获取第一个选中的值
+        var compilationId = $('#_id').val();
+        var name = $('#name').val();
+        var curingSsoid = $('#curingSsoid').val();
+        var mobile = $('#curingMobile').val();
+        var client_id = $('#client_id').val();
+        var deadline=$('#deadline').val();
+        var smssend=$('input[downsmssend]').get(0).checked;
+        curingDo(compilationId,name,curingSsoid,2,mobile,client_id,deadline,smssend);
+    });
+
+    $('button[deadlineCuringDo]').on('click', function (e) {
+        // 只获取第一个选中的值
+        var compilationId = $('#_id').val();
+        var name = $('#name').val();
+        var curingSsoid = $('#curingSsoid').val();
+        var mobile = $('#curingMobile').val();
+        var client_id = $('#client_id').val();
+
+        var deadline=$('#deadlineInput').val();
+        var smssend=$('input[deadlineSmssend]').get(0).checked;
+        curingDo(compilationId,name,curingSsoid,3,mobile,client_id,deadline,smssend);
     });
     });
     
     
     /**
     /**
@@ -437,9 +436,101 @@ function init(){
 	refreshColumn(columnLength);
 	refreshColumn(columnLength);
 }
 }
 
 
+/**
+ * 用户升级专业版 弹框提示--用户详情界面
+ * @param name
+ * @param _id
+ * @param username
+ * @returns
+ */
+function upCuring(name, _id, username) {
+    $('#name').val(name);
+    $('#_id').val(_id);
+    var curingMobile = $('#curingMobile').val();
+    var html = '<p>为用户 <b>' + curingMobile + ',' + username + '</b> 升级 <b>' + name + '</b></p>';
+    html += `<div class="form-group">
+        <div class="custom-control custom-switch">
+        <input type="checkbox" class="custom-control-input" deadline id="customSwitch2" >
+        <label class="custom-control-label" deadlineLabel for="customSwitch2">限期</label>
+        </div>
+        </div>`;
+    html += `<div class="form-group">
+    <label class="form-label" for="example-date">到期时间</label>
+    <input class="form-control" id="deadline" type="date"  name="deadline" disabled  value="">
+</div>`;
+    html += `<div class="form-group">
+    <div class="custom-control custom-switch">
+        <input type="checkbox" class="custom-control-input" smssend id="customSwitch22" >
+        <label class="custom-control-label" for="customSwitch22">给客户发送短信通知</label>
+    </div>
+</div>`;
 
 
+    $('div[upCuring] span').html(html);
+}
+
+/**
+ * 养护产品降级
+ * @param {} name 
+ * @param {*} _id 
+ * @param {*} username 
+ */
+function downCuring(name, _id, username) {
+    $('#name').val(name);
+    $('#_id').val(_id);
+    var curingMobile = $('#curingMobile').val();
+    var html = '<p>为用户 <b>'+curingMobile+','+username+'</b> <span class="text-danger">降级</span> <b>'+name+'免费版</b></p><div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" downSmssend id="customSwitch23" ><label class="custom-control-label"  for="customSwitch23">给客户发送短信通知</label></div></div>';
+    
+    $('div[downCuring] span').html(html);
+}
+
+function deadlineCuring(name, _id, username,deadline){
+    $('#name').val(name);
+    $('#_id').val(_id);
+    var curingMobile = $('#curingMobile').val();
+    var html = '<p>为用户 <b>'+curingMobile+','+username+'</b> <b>'+name+'</b> 设置延期</p><p>当前限期为:'+deadline+'</p>';
+
+    html +='<div class="form-group"><label class="form-label" for="example-date">到期时间</label><input class="form-control"  id="deadlineInput" type="date" name="date" value=""></div><div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" deadlineSmssend id="customSwitch222" ><label class="custom-control-label" for="customSwitch222">给客户发送短信通知</label></div></div>';
+    
+    $('div[deadlineCuring] span').html(html);
+}
+
+function curingDo(compilationId, name, curingSsoid, status, mobile, client_id, deadline, smssend) {
+    if (curingSsoid != '' && compilationId != '') {
+        $.ajax({
+            cache: false,
+            type: 'post',
+            url: '/cloud/build/ajax/upCuringDo',
+            data: { ssoid: curingSsoid, compilationId: compilationId, mobile: mobile, client_id: client_id, name: name, deadline: deadline, smssend: smssend, status: status },
+            dataType: 'json',
+            success: function (data) {
+                if (data.status == 1) {
+                    refreshCuringPageDetail(curingSsoid, client_id);
+                } else {
+                    alert(data.msg);
+                }
+            }
+        })
+    } else {
+        alert('请选择需要升级的版本');
+    }
+}
+
+$(function () {
 
 
+    $('div[upcuring]').delegate('label[deadlineLabel]', 'click', function () {
+        $('#deadline').attr('disabled', 'disabled');
+        
+        if($('input[deadline]').prop('checked')){
+            $('input[deadline]').prop("checked",false);
+        }else{
+            $('input[deadline]').prop("checked",true);
+        }
+        if ($('input[deadline]').get(0).checked) {
+            $('#deadline').removeAttr('disabled');
+        }
+    });
 
 
+})
 /**
 /**
  * Created by cp on 2019/12/17.
  * Created by cp on 2019/12/17.
  */
  */
@@ -565,14 +656,33 @@ function buildCuringCompilation(data){
         upMajorBoxHtml+='<td></td>';
         upMajorBoxHtml+='<td></td>';
         upMajorBoxHtml+='<td>'+ v.name+'</td>';
         upMajorBoxHtml+='<td>'+ v.name+'</td>';
         upMajorBoxHtml+='<td>';
         upMajorBoxHtml+='<td>';
+        
+        var deadline='';
+        data.detail.userInfo.upgrade_list.forEach(element => {
+            if(v._id===element.compilationID){
+                deadline=element.deadline;
+            }
+        });
+
         if(v.isUpgrade !== undefined && v.isUpgrade === true){
         if(v.isUpgrade !== undefined && v.isUpgrade === true){
-            upMajorBoxHtml+='已升级';
+            upMajorBoxHtml+=`已升级
+            <a href="#degrade-confirm" onclick=downCuring("${v.name}","${v._id}","${data.detail.userInfo.username}") class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#degrade-confirm">降级</a>
+            `;
         }else{
         }else{
             upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'")  ' +
             upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'")  ' +
                 'href="#update-confirm"  class="btn btn-xs btn-outline-primary waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">升级</a>';
                 'href="#update-confirm"  class="btn btn-xs btn-outline-primary waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">升级</a>';
         }
         }
         upMajorBoxHtml+='</td>';
         upMajorBoxHtml+='</td>';
-        upMajorBoxHtml+='</tr>';
+
+        if(v.isUpgrade !== undefined && v.isUpgrade === true){
+            upMajorBoxHtml+=`<td>
+            ${deadline}<a href="#deadline-confirm" onclick=deadlineCuring("${v.name}","${v._id}","${data.detail.userInfo.username}","${deadline}") class="btn btn-xs btn-outline-primary ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#deadline-confirm">限期</a>
+            </td>`;
+            upMajorBoxHtml+='</tr>';
+        }else{
+            upMajorBoxHtml+=`<td></td>`;
+        }
+
     });
     });
     
     
     return upMajorBoxHtml;
     return upMajorBoxHtml;

+ 13 - 8
global/js/cloud/build.js

@@ -155,8 +155,8 @@ $(function() {
         var curingSsoid = $('#curingSsoid').val();
         var curingSsoid = $('#curingSsoid').val();
         var mobile = $('#curingMobile').val();
         var mobile = $('#curingMobile').val();
         var client_id = $('#client_id').val();
         var client_id = $('#client_id').val();
-        let deadline=$('#deadline').val();
-        let smssend=$('input[smssend]').get(0).checked
+        var deadline=$('#deadline').val();
+        var smssend=$('input[smssend]').get(0).checked
         curingDo(compilationId,name,curingSsoid,1,mobile,client_id,deadline,smssend);
         curingDo(compilationId,name,curingSsoid,1,mobile,client_id,deadline,smssend);
     });
     });
 
 
@@ -170,8 +170,8 @@ $(function() {
         var curingSsoid = $('#curingSsoid').val();
         var curingSsoid = $('#curingSsoid').val();
         var mobile = $('#curingMobile').val();
         var mobile = $('#curingMobile').val();
         var client_id = $('#client_id').val();
         var client_id = $('#client_id').val();
-        let deadline=$('#deadline').val();
-        let smssend=$('input[downsmssend]').get(0).checked;
+        var deadline=$('#deadline').val();
+        var smssend=$('input[downsmssend]').get(0).checked;
         curingDo(compilationId,name,curingSsoid,2,mobile,client_id,deadline,smssend);
         curingDo(compilationId,name,curingSsoid,2,mobile,client_id,deadline,smssend);
     });
     });
 
 
@@ -183,8 +183,8 @@ $(function() {
         var mobile = $('#curingMobile').val();
         var mobile = $('#curingMobile').val();
         var client_id = $('#client_id').val();
         var client_id = $('#client_id').val();
 
 
-        let deadline=$('#deadlineInput').val();
-        let smssend=$('input[deadlineSmssend]').get(0).checked;
+        var deadline=$('#deadlineInput').val();
+        var smssend=$('input[deadlineSmssend]').get(0).checked;
         curingDo(compilationId,name,curingSsoid,3,mobile,client_id,deadline,smssend);
         curingDo(compilationId,name,curingSsoid,3,mobile,client_id,deadline,smssend);
     });
     });
     
     
@@ -252,11 +252,16 @@ $(function() {
      */
      */
     $('button[closeRefresh]').on('click', function(e){
     $('button[closeRefresh]').on('click', function(e){
         // 只获取第一个选中的值
         // 只获取第一个选中的值
-        
+        var latestCompilation=$('select[curingByLatestCompilation]').val();
+        var compilation=$('select[curingByCompilation]').val();
+
         var parameter=$('button[closeRefresh]').attr('parameter');
         var parameter=$('button[closeRefresh]').attr('parameter');
     	if(parameter!=''){
     	if(parameter!=''){
     		var currentPage=$('button[closeRefresh]').attr('currentPage');
     		var currentPage=$('button[closeRefresh]').attr('currentPage');
-    		refreshCuringPagination(parameter,currentPage);
+            request = GetRequest(parameter);
+            var url="?compilation="+compilation+"&latestCompilation="+request['latestCompilation']+"&sortField="+request['sortField']+
+                "&sort="+request['sort']
+            refreshCuringPagination(url,currentPage);
     	}else{
     	}else{
     		var latestCompilation=$('select[curingByLatestCompilation]').val();
     		var latestCompilation=$('select[curingByLatestCompilation]').val();
         	var compilation=$('select[curingByCompilation]').val();
         	var compilation=$('select[curingByCompilation]').val();

+ 26 - 20
global/js/cloud/buildFN.js

@@ -23,6 +23,20 @@ function refreshCuringPagination(parameter,currentPage){
     })
     })
 }
 }
 
 
+function GetRequest(url) {
+    //var url = location.search; //获取url中"?"符后的字串
+    var theRequest = new Object();
+    if (url.indexOf("?") != -1) {
+        var str = url.substr(1);
+        strs = str.split("&");
+        for(var i = 0; i < strs.length; i ++) {
+            theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
+        }
+    }
+    return theRequest;
+}
+
+
 /**
 /**
  * 筛选-统一请求--刷新用户列表
  * 筛选-统一请求--刷新用户列表
  * @returns
  * @returns
@@ -36,6 +50,7 @@ function refreshCuringPage(compilation,latestCompilation,sortField,sort,wd){
         dataType: 'json',
         dataType: 'json',
         success: function(data) {
         success: function(data) {
             if (data.status == 1) {
             if (data.status == 1) {
+                $('button[closeRefresh]').attr('currentPage', 1);
             	fnStructureCuringUser(data.curingList);
             	fnStructureCuringUser(data.curingList);
                 fnPage(data.pageData);
                 fnPage(data.pageData);
                 refreshColumn(columnLength);
                 refreshColumn(columnLength);
@@ -92,7 +107,11 @@ function refreshCuringPageDetail(ssoid,client_id){
                 //更新在线时长
                 //更新在线时长
                 var onlineTimesHtml=buildCuringOnlineTimes(data.detail.userInfo.online_list);
                 var onlineTimesHtml=buildCuringOnlineTimes(data.detail.userInfo.online_list);
                 $('tbody[onlineTimes]').html(onlineTimesHtml);
                 $('tbody[onlineTimes]').html(onlineTimesHtml);
-                
+
+                //设置服务日志
+                var serviceLogHtml=buildServiceLog(data.detail.serviceLog);
+                $('tbody[serveRecord]').html(serviceLogHtml);
+
                 //设置参数
                 //设置参数
                 $('#curingSsoid').val(data.detail.userInfo.ssoIdKey);
                 $('#curingSsoid').val(data.detail.userInfo.ssoIdKey);
                 $('#curingMobile').val(data.detail.userInfo.mobile);
                 $('#curingMobile').val(data.detail.userInfo.mobile);
@@ -166,13 +185,8 @@ function downCuring(name, _id, username) {
     $('#name').val(name);
     $('#name').val(name);
     $('#_id').val(_id);
     $('#_id').val(_id);
     var curingMobile = $('#curingMobile').val();
     var curingMobile = $('#curingMobile').val();
-    let html = `<p>为用户 <b>${curingMobile},${username}</b> <span class="text-danger">降级</span> <b>${name}免费版</b></p>
-    <div class="form-group">
-        <div class="custom-control custom-switch">
-            <input type="checkbox" class="custom-control-input" downSmssend id="customSwitch23" >
-            <label class="custom-control-label"  for="customSwitch23">给客户发送短信通知</label>
-        </div>
-    </div>`;
+    var html = '<p>为用户 <b>'+curingMobile+','+username+'</b> <span class="text-danger">降级</span> <b>'+name+'免费版</b></p><div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" downSmssend id="customSwitch23" ><label class="custom-control-label"  for="customSwitch23">给客户发送短信通知</label></div></div>';
+    
     $('div[downCuring] span').html(html);
     $('div[downCuring] span').html(html);
 }
 }
 
 
@@ -180,18 +194,10 @@ function deadlineCuring(name, _id, username,deadline){
     $('#name').val(name);
     $('#name').val(name);
     $('#_id').val(_id);
     $('#_id').val(_id);
     var curingMobile = $('#curingMobile').val();
     var curingMobile = $('#curingMobile').val();
-    let html = `<p>为用户 <b>${curingMobile},${username}</b> <b>${name}</b> 设置延期</p>
-    <p>当前限期为:${deadline}</p>
-    <div class="form-group">
-        <label class="form-label" for="example-date">到期时间</label>
-        <input class="form-control"  id="deadlineInput" type="date" name="date" value="">
-    </div>
-    <div class="form-group">
-        <div class="custom-control custom-switch">
-            <input type="checkbox" class="custom-control-input" deadlineSmssend id="customSwitch222" >
-            <label class="custom-control-label" for="customSwitch222">给客户发送短信通知</label>
-        </div>
-    </div>`;
+    var html = '<p>为用户 <b>'+curingMobile+','+username+'</b> <b>'+name+'</b> 设置延期</p><p>当前限期为:'+deadline+'</p>';
+
+    html +='<div class="form-group"><label class="form-label" for="example-date">到期时间</label><input class="form-control"  id="deadlineInput" type="date" name="date" value=""></div><div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" deadlineSmssend id="customSwitch222" ><label class="custom-control-label" for="customSwitch222">给客户发送短信通知</label></div></div>';
+    
     $('div[deadlineCuring] span').html(html);
     $('div[deadlineCuring] span').html(html);
 }
 }
 
 

+ 22 - 2
global/js/cloud/buildHtml.js

@@ -124,7 +124,7 @@ function buildCuringCompilation(data){
         upMajorBoxHtml+='<td>'+ v.name+'</td>';
         upMajorBoxHtml+='<td>'+ v.name+'</td>';
         upMajorBoxHtml+='<td>';
         upMajorBoxHtml+='<td>';
         
         
-        let deadline='';
+        var deadline='';
         data.detail.userInfo.upgrade_list.forEach(element => {
         data.detail.userInfo.upgrade_list.forEach(element => {
             if(v._id===element.compilationID){
             if(v._id===element.compilationID){
                 deadline=element.deadline;
                 deadline=element.deadline;
@@ -143,7 +143,7 @@ function buildCuringCompilation(data){
 
 
         if(v.isUpgrade !== undefined && v.isUpgrade === true){
         if(v.isUpgrade !== undefined && v.isUpgrade === true){
             upMajorBoxHtml+=`<td>
             upMajorBoxHtml+=`<td>
-            ${deadline}<a href="#deadline-confirm" onclick=deadlineCuring("${v.name}","${v._id}","${data.detail.userInfo.username}","${deadline}") class="btn btn-xs btn-outline-primary ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#deadline-confirm">限期</a>
+            ${setUndefined(deadline)}<a href="#deadline-confirm" onclick=deadlineCuring("${v.name}","${v._id}","${data.detail.userInfo.username}","${deadline}") class="btn btn-xs btn-outline-primary ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#deadline-confirm">限期</a>
             </td>`;
             </td>`;
             upMajorBoxHtml+='</tr>';
             upMajorBoxHtml+='</tr>';
         }else{
         }else{
@@ -165,6 +165,26 @@ function buildCuringOnlineTimes(data){
 	return onlineTimesHtml;
 	return onlineTimesHtml;
 }
 }
 
 
+function buildServiceLog(data){
+    var html='';
+    $.each(data, function(k, v) {
+        html+='<tr><td width="20"></td>';
+        html+='<td width="140"><a href="#">@'+ v.staffname+'</a> ' ;
+        if(v.status==1){
+            html+= '上门服务' ;
+        }else if(v.status==2){
+            html+= '电话拜访' ;
+        }else if(v.status==3){
+            html+= '其他' ;
+        }
+
+        html+='<br><span class="text-muted">'+ v.date+'</span></td>'
+        html+='<td>'+ v.mark+'</td>'
+        html+='</tr>';
+    });
+    return html;
+}
+
 //关联CLD客户
 //关联CLD客户
 function relevanceClient(data){
 function relevanceClient(data){
     var html='';
     var html='';

+ 357 - 238
global/js/cloud/curing.concat.js

@@ -4,10 +4,10 @@
 
 
 var mobile2InfoTimeout = null;
 var mobile2InfoTimeout = null;
 var searchCuringTimeout = null;
 var searchCuringTimeout = null;
-var mobile='';
+var mobile = '';
 var getClentListTimeout = null;
 var getClentListTimeout = null;
-var clientname='';
-var columnLength=10;
+var clientname = '';
+var columnLength = 10;
 
 
 
 
 
 
@@ -45,121 +45,108 @@ var columnLength=10;
 
 
 
 
 //获得CLD客户list数据
 //获得CLD客户list数据
-function getClentList(){
-    if(!isExistence(clientname)){
+function getClentList() {
+    if (!isExistence(clientname)) {
         console.log('参数错误');
         console.log('参数错误');
-        return ;
+        return;
     }
     }
 
 
     $.ajax({
     $.ajax({
-        cache :false,
+        cache: false,
         type: 'GET',
         type: 'GET',
         url: '/contacts/client/ajax/getClentList',
         url: '/contacts/client/ajax/getClentList',
         data: { clientname: encodeURI(clientname) },
         data: { clientname: encodeURI(clientname) },
         dataType: 'json',
         dataType: 'json',
-        async:false,
-        success: function(data){
-            if(data.status==1){
-                var html=buildClientBySearch(data.list);
+        async: false,
+        success: function (data) {
+            if (data.status == 1) {
+                var html = buildClientBySearch(data.list);
                 $('div[searchClient] curingClient').html(html);
                 $('div[searchClient] curingClient').html(html);
-            }else {
+            } else {
                 console.log(data.msg);
                 console.log(data.msg);
             }
             }
         },
         },
-        error: function(xhr, type){
+        error: function (xhr, type) {
             console.log('Ajax error!')
             console.log('Ajax error!')
         }
         }
     })
     })
 }
 }
 
 
-/**
- * 用户升级专业版 弹框提示--用户详情界面
- * @param name
- * @param _id
- * @param username
- * @returns
- */
-function upCuring(name,_id,username){
-    $('#name').val(name);
-    $('#_id').val(_id);
-    var curingMobile=$('#curingMobile').val();
-    var html='为用户 <b>'+curingMobile+','+username+'</b> 升级 <b>'+name+'</b>';
-    $('div[upCuring] span').html(html);
-}
 
 
-$(document).ready(function(){
-	init();
+
+$(document).ready(function () {
+    init();
 })
 })
 
 
 
 
-$(function() {
-	
-	
-//------用户列表界面相关----------
+$(function () {
+
+
+    //------用户列表界面相关----------
     /**
     /**
      * 绑定分页-点击事件-刷新用户列表和分页列表
      * 绑定分页-点击事件-刷新用户列表和分页列表
      * parameter 传递参数
      * parameter 传递参数
      * currentPage
      * currentPage
      */
      */
-    $('div[pageDetail]').delegate( 'a','click', function(){
+    $('div[pageDetail]').delegate('a', 'click', function () {
         // 只获取第一个选中的值
         // 只获取第一个选中的值
         var parameter = $(this).attr('parameter');
         var parameter = $(this).attr('parameter');
         var currentPage = $(this).attr('currentPage');
         var currentPage = $(this).attr('currentPage');
-        
-        $('button[closeRefresh]').attr('currentPage',currentPage);
-        $('button[closeRefresh]').attr('parameter',parameter);
-        
-        refreshCuringPagination(parameter,currentPage);
+
+        $('button[closeRefresh]').attr('currentPage', currentPage);
+        $('button[closeRefresh]').attr('parameter', parameter);
+
+        refreshCuringPagination(parameter, currentPage);
     });
     });
-	
+
     /**
     /**
      * 编办下拉选择
      * 编办下拉选择
      */
      */
-    $('select[curingByCompilation]').on('change', function(e){
-        var compilation=$(this).val();
-        var latestCompilation=$('select[curingByLatestCompilation]').val();
-        refreshCuringPage(compilation,latestCompilation);
+    $('select[curingByCompilation]').on('change', function (e) {
+        var compilation = $(this).val();
+        var latestCompilation = $('select[curingByLatestCompilation]').val();
+        refreshCuringPage(compilation, latestCompilation);
     });
     });
-    $('select[curingByLatestCompilation]').on('change', function(e){
-        var latestCompilation=$(this).val();
-        var compilation=$('select[curingByCompilation]').val();
-        refreshCuringPage(compilation,latestCompilation);
+    $('select[curingByLatestCompilation]').on('change', function (e) {
+        var latestCompilation = $(this).val();
+        var compilation = $('select[curingByCompilation]').val();
+        refreshCuringPage(compilation, latestCompilation);
     });
     });
-    
+
     /**
     /**
      * 用户列表排序相关 
      * 用户列表排序相关 
      */
      */
-    $('input[type=radio][name=sortField]').on('change', function(e){
-    	var sortField=$(this).attr('data');
-    	var latestCompilation=$('select[curingByLatestCompilation]').val();
-    	var compilation=$('select[curingByCompilation]').val();
-    	
-    	refreshCuringPage(compilation,latestCompilation,sortField);
+    $('input[type=radio][name=sortField]').on('change', function (e) {
+        var sortField = $(this).attr('data');
+        var latestCompilation = $('select[curingByLatestCompilation]').val();
+        var compilation = $('select[curingByCompilation]').val();
+
+        refreshCuringPage(compilation, latestCompilation, sortField);
     });
     });
-    $('input[type=radio][name=sort]').on('change', function(e){
-    	var sort=$(this).attr('data');
-    	var latestCompilation=$('select[curingByLatestCompilation]').val();
-    	var compilation=$('select[curingByCompilation]').val();
-    	
-    	refreshCuringPage(compilation,latestCompilation,'',sort);
+    $('input[type=radio][name=sort]').on('change', function (e) {
+        var sort = $(this).attr('data');
+        var latestCompilation = $('select[curingByLatestCompilation]').val();
+        var compilation = $('select[curingByCompilation]').val();
+
+        refreshCuringPage(compilation, latestCompilation, '', sort);
     });
     });
-    
+
     /**
     /**
      * 通行证账号检索养护用户--缓冲300
      * 通行证账号检索养护用户--缓冲300
      */
      */
-    $('input[mobile2Info]').on('keyup', function(e){
-        if(mobile2InfoTimeout != null){
+    $('input[mobile2Info]').on('keyup', function (e) {
+        if (mobile2InfoTimeout != null) {
             clearTimeout(mobile2InfoTimeout);
             clearTimeout(mobile2InfoTimeout);
         }
         }
         mobile = $(this).val();
         mobile = $(this).val();
 
 
         //if((/^1[34578]\d{9}$/.test(mobile))) {
         //if((/^1[34578]\d{9}$/.test(mobile))) {
-            mobile2InfoTimeout = setTimeout(fnMobile2Info, 300);
+        mobile2InfoTimeout = setTimeout(fnMobile2Info, 300);
         //}
         //}
     });
     });
-    
-    
-//--------------用户详情界面相关---------
+
+
+    //--------------用户详情界面相关---------
     /**
     /**
      * 动态绑定养护用户列表 打开用户详情页面事件 
      * 动态绑定养护用户列表 打开用户详情页面事件 
      * ssoid
      * ssoid
@@ -167,116 +154,130 @@ $(function() {
      * client_id
      * client_id
      */
      */
     var coordinate = {};
     var coordinate = {};
-    var ssoid='',client_id='';
-    $('tbody[curingUser]').delegate( 'tr','mousedown', function(e){
-        coordinate.x= e.pageX;
-        coordinate.y= e.pageY;
+    var ssoid = '', client_id = '';
+    $('tbody[curingUser]').delegate('tr', 'mousedown', function (e) {
+        coordinate.x = e.pageX;
+        coordinate.y = e.pageY;
         ssoid = $(this).attr('data');
         ssoid = $(this).attr('data');
-        client_id=$(this).attr('dataCid');
-    }).click(function(e){
-    	if(coordinate.x==e.pageX&&coordinate.y==e.pageY){
-            $(this).attr('data-toggle',' ');
-            refreshCuringPageDetail(ssoid,client_id);
-    	}
-        
+        client_id = $(this).attr('dataCid');
+    }).click(function (e) {
+        if (coordinate.x == e.pageX && coordinate.y == e.pageY) {
+            $(this).attr('data-toggle', ' ');
+            refreshCuringPageDetail(ssoid, client_id);
+        }
+
     });
     });
 
 
-    
-    
-//    $('tbody[curingUser]').delegate( 'tr','mouseup', function(){
-//        // 只获取第一个选中的值
-//        var ssoid = $(this).attr('data');
-//        var client_id=$(this).attr('dataCid')
-//        $(this).attr('data-toggle',' ');
-//        
-//        refreshCuringPageDetail(ssoid,client_id);
-//
-//    });
-    
+
+
+    //    $('tbody[curingUser]').delegate( 'tr','mouseup', function(){
+    //        // 只获取第一个选中的值
+    //        var ssoid = $(this).attr('data');
+    //        var client_id=$(this).attr('dataCid')
+    //        $(this).attr('data-toggle',' ');
+    //        
+    //        refreshCuringPageDetail(ssoid,client_id);
+    //
+    //    });
+
 
 
     /**
     /**
      * 确定升级专业版--用户详情界面
      * 确定升级专业版--用户详情界面
      */
      */
-    $('button[upCuringDo]').on('click', function(e){
+    $('button[upCuringDo]').on('click', function (e) {
         // 只获取第一个选中的值
         // 只获取第一个选中的值
         var compilationId = $('#_id').val();
         var compilationId = $('#_id').val();
         var name = $('#name').val();
         var name = $('#name').val();
         var curingSsoid = $('#curingSsoid').val();
         var curingSsoid = $('#curingSsoid').val();
         var mobile = $('#curingMobile').val();
         var mobile = $('#curingMobile').val();
         var client_id = $('#client_id').val();
         var client_id = $('#client_id').val();
-        if (curingSsoid != '' && compilationId != '') {
-            $.ajax({
-                cache :false,
-                type: 'post',
-                url: '/cloud/curing/ajax/upCuringDo',
-                data: {ssoid: curingSsoid, compilationId: compilationId, mobile: mobile, client_id: client_id, name: name},
-                dataType: 'json',
-                success: function(data) {
-                    if (data.status == 1) {
-                    	refreshCuringPageDetail(curingSsoid,client_id);
-                    } else {
-                        alert(data.msg);
-                    }
-                }
-            })
-        } else {
-            alert('请选择需要升级的版本');
-        }
+        var deadline1=$('#deadline').val();
+        var smssend=$('input[smssend]').get(0).checked
+        curingDo(compilationId,name,curingSsoid,1,mobile,client_id,deadline1,smssend);
+    });
+
+    /**
+     * 确定降级免费版--用户详情界面
+     */
+    $('button[downCuringDo]').on('click', function (e) {
+        // 只获取第一个选中的值
+        var compilationId = $('#_id').val();
+        var name = $('#name').val();
+        var curingSsoid = $('#curingSsoid').val();
+        var mobile = $('#curingMobile').val();
+        var client_id = $('#client_id').val();
+        var deadline1=$('#deadline').val();
+        var smssend=$('input[downsmssend]').get(0).checked;
+        curingDo(compilationId,name,curingSsoid,2,mobile,client_id,deadline1,smssend);
+    });
+
+    $('button[deadlineCuringDo]').on('click', function (e) {
+        // 只获取第一个选中的值
+        var compilationId = $('#_id').val();
+        var name = $('#name').val();
+        var curingSsoid = $('#curingSsoid').val();
+        var mobile = $('#curingMobile').val();
+        var client_id = $('#client_id').val();
+
+        var deadline=$('#deadlineInput').val();
+        var smssend=$('input[deadlineSmssend]').get(0).checked;
+        curingDo(compilationId,name,curingSsoid,3,mobile,client_id,deadline,smssend);
     });
     });
     
     
+
     /**
     /**
      * 用户绑定CLD客户--用户详情页
      * 用户绑定CLD客户--用户详情页
      */
      */
-    $('div[relevanceClientDo]').delegate( 'span','click', function(){
+    $('div[relevanceClientDo]').delegate('span', 'click', function () {
         // 只获取第一个选中的值
         // 只获取第一个选中的值
         var cidKey = $(this).attr('data');
         var cidKey = $(this).attr('data');
         var ssoId = $('#curingSsoid').val();
         var ssoId = $('#curingSsoid').val();
         //var id=$('#id').val();
         //var id=$('#id').val();
 
 
         $.ajax({
         $.ajax({
-            cache :false,
+            cache: false,
             type: 'POST',
             type: 'POST',
             url: '/cloud/curing/ajax/relevanceClientDo',
             url: '/cloud/curing/ajax/relevanceClientDo',
-            data: {cidKey: encodeURI(cidKey),ssoId:encodeURI(ssoId)},
+            data: { cidKey: encodeURI(cidKey), ssoId: encodeURI(ssoId) },
             dataType: 'json',
             dataType: 'json',
-            success: function(data){
-                if(data.status==1){
-                	refreshCuringPageDetail(ssoId,cidKey);
+            success: function (data) {
+                if (data.status == 1) {
+                    refreshCuringPageDetail(ssoId, cidKey);
                     $('#linkcld').modal('hide');
                     $('#linkcld').modal('hide');
-                }else{
+                } else {
                     alert(data.msg);
                     alert(data.msg);
                 }
                 }
             },
             },
-            error: function(xhr, type){
+            error: function (xhr, type) {
                 console.log('Ajax error!')
                 console.log('Ajax error!')
             }
             }
         })
         })
 
 
     });
     });
-    
+
     /**
     /**
      * 用户取消关联CLD客户--用户详情页
      * 用户取消关联CLD客户--用户详情页
      */
      */
-    $('button[relieveClientDo]').on('click', function(e){
+    $('button[relieveClientDo]').on('click', function (e) {
         // 只获取第一个选中的值
         // 只获取第一个选中的值
         var cid = $(this).attr('data');
         var cid = $(this).attr('data');
         var ssoId = $('#curingSsoid').val();
         var ssoId = $('#curingSsoid').val();
         $('#unlinkcld').modal('hide');
         $('#unlinkcld').modal('hide');
         $.ajax({
         $.ajax({
-            cache :false,
+            cache: false,
             type: 'POST',
             type: 'POST',
             url: '/cloud/curing/ajax/relieveClientDo',
             url: '/cloud/curing/ajax/relieveClientDo',
-            data: {cid: encodeURI(cid),ssoId:encodeURI(ssoId)},
+            data: { cid: encodeURI(cid), ssoId: encodeURI(ssoId) },
             dataType: 'json',
             dataType: 'json',
-            success: function(data){
-                if(data.status==1){
-                	refreshCuringPageDetail(ssoId,cid);
-                	
-                }else{
+            success: function (data) {
+                if (data.status == 1) {
+                    refreshCuringPageDetail(ssoId, cid);
+
+                } else {
                     alert(data.msg);
                     alert(data.msg);
                 }
                 }
             },
             },
-            error: function(xhr, type){
+            error: function (xhr, type) {
                 console.log('Ajax error!')
                 console.log('Ajax error!')
             }
             }
         })
         })
@@ -286,32 +287,32 @@ $(function() {
     /**
     /**
      * 关闭详情页--刷新用户列表
      * 关闭详情页--刷新用户列表
      */
      */
-    $('button[closeRefresh]').on('click', function(e){
+    $('button[closeRefresh]').on('click', function (e) {
         // 只获取第一个选中的值
         // 只获取第一个选中的值
-        
-        var parameter=$('button[closeRefresh]').attr('parameter');
-    	if(parameter!=''){
-    		var currentPage=$('button[closeRefresh]').attr('currentPage');
-    		refreshCuringPagination(parameter,currentPage);
-    	}else{
-    		var latestCompilation=$('select[curingByLatestCompilation]').val();
-        	var compilation=$('select[curingByCompilation]').val();
-    		refreshCuringPage(compilation,latestCompilation,'','',mobile);
-    		
-    	}
-        
+
+        var parameter = $('button[closeRefresh]').attr('parameter');
+        if (parameter != '') {
+            var currentPage = $('button[closeRefresh]').attr('currentPage');
+            refreshCuringPagination(parameter, currentPage);
+        } else {
+            var latestCompilation = $('select[curingByLatestCompilation]').val();
+            var compilation = $('select[curingByCompilation]').val();
+            refreshCuringPage(compilation, latestCompilation, '', '', mobile);
+
+        }
+
     });
     });
 
 
     //
     //
     /**
     /**
      * 检索cld用户
      * 检索cld用户
      */
      */
-    $('input[getClentList]').on('keyup', function(e){
-        if(getClentListTimeout != null){
+    $('input[getClentList]').on('keyup', function (e) {
+        if (getClentListTimeout != null) {
             clearTimeout(getClentListTimeout);
             clearTimeout(getClentListTimeout);
         }
         }
         clientname = $(this).val();
         clientname = $(this).val();
-        if(isExistence(clientname)){
+        if (isExistence(clientname)) {
 
 
             getClentListTimeout = setTimeout(getClentList, 500);
             getClentListTimeout = setTimeout(getClentList, 500);
         }
         }
@@ -319,74 +320,74 @@ $(function() {
 
 
     });
     });
 
 
-    
-    
-    
 
 
-    
 
 
-    
+
+
+
+
+
     //列表 号码检索事件绑定
     //列表 号码检索事件绑定
-    $('div[mobile2Info]').on('click', function(e){
-        mobile=$('input[mobile2Info]').val();
-        if(mobile==''){
+    $('div[mobile2Info]').on('click', function (e) {
+        mobile = $('input[mobile2Info]').val();
+        if (mobile == '') {
             location.reload()
             location.reload()
         }
         }
         fnMobile2Info();
         fnMobile2Info();
     });
     });
 
 
-    
 
 
-    
-/*
- 	$('a[upNewClient]').on('click', function(e){
-        $('input[fnsearchcuring]').val('');
-        $('div[upCuringBox]').hide();
-        $('p[upCuringBox]').hide();
 
 
-    });
- 	$('input[fnSearchCuring]').on('keyup', function(e){
-        if(searchCuringTimeout != null){
-            clearTimeout(searchCuringTimeout);
-        }
-        mobile=$(this).val();
-        if((/^1[34578]\d{9}$/.test(mobile))) {
-            searchCuringTimeout = setTimeout(fnSearchCuring, 500);
-        }
-    });
-    $('a[upClient]').on('click', function(e){
-        var mobile=$('b[curingMobile]').html();
-        if(mobile==''){
-            alert('参数错误');
-        }
-        $.ajax({
-            cache :false,
-            type: 'GET',
-            url: '/cloud/curing/ajax/checkMobile/'+mobile,
-            //data: { mobile: mobile },
-            dataType: 'json',
-
-            success: function(data){
-                if(data.status==1||data.status==2){
-                    $('input[fnsearchcuring]').val(mobile);
-                    fnGetCuringDetail(data.data.id,data.data.client_id);
-                }else if(data.status==3){
-                    $('div[upCuringBox]').hide();
-                    $('p[upCuringBox]').show();
-                }
-            },
-            error: function(xhr, type){
-                console.log('Ajax error!')
-            }
-        })
-    });*/
 
 
+    /*
+          $('a[upNewClient]').on('click', function(e){
+            $('input[fnsearchcuring]').val('');
+            $('div[upCuringBox]').hide();
+            $('p[upCuringBox]').hide();
     
     
+        });
+          $('input[fnSearchCuring]').on('keyup', function(e){
+            if(searchCuringTimeout != null){
+                clearTimeout(searchCuringTimeout);
+            }
+            mobile=$(this).val();
+            if((/^1[34578]\d{9}$/.test(mobile))) {
+                searchCuringTimeout = setTimeout(fnSearchCuring, 500);
+            }
+        });
+        $('a[upClient]').on('click', function(e){
+            var mobile=$('b[curingMobile]').html();
+            if(mobile==''){
+                alert('参数错误');
+            }
+            $.ajax({
+                cache :false,
+                type: 'GET',
+                url: '/cloud/curing/ajax/checkMobile/'+mobile,
+                //data: { mobile: mobile },
+                dataType: 'json',
     
     
-    
-    
-    
-    
+                success: function(data){
+                    if(data.status==1||data.status==2){
+                        $('input[fnsearchcuring]').val(mobile);
+                        fnGetCuringDetail(data.data.id,data.data.client_id);
+                    }else if(data.status==3){
+                        $('div[upCuringBox]').hide();
+                        $('p[upCuringBox]').show();
+                    }
+                },
+                error: function(xhr, type){
+                    console.log('Ajax error!')
+                }
+            })
+        });*/
+
+
+
+
+
+
+
 
 
 })
 })
 
 
@@ -415,7 +416,7 @@ $(function() {
             if(data.status==1||data.status==2){
             if(data.status==1||data.status==2){
                 $('div[upCuringBox]').show();
                 $('div[upCuringBox]').show();
                 $('p[upCuringBox]').hide();
                 $('p[upCuringBox]').hide();
-                
+
                 var objHtml=buildCuringInfo(data.detail.userInfo);
                 var objHtml=buildCuringInfo(data.detail.userInfo);
                 $('div[curingInfo] curing').html(objHtml);
                 $('div[curingInfo] curing').html(objHtml);
 
 
@@ -442,13 +443,13 @@ $(function() {
  * @param currentPage
  * @param currentPage
  * @returns
  * @returns
  */
  */
-function refreshCuringPagination(parameter,currentPage){
-	$.ajax({
-        cache :false,
+function refreshCuringPagination(parameter, currentPage) {
+    $.ajax({
+        cache: false,
         type: 'get',
         type: 'get',
-        url: '/cloud/curing/ajax/getCuringPage/'+currentPage+parameter,
+        url: '/cloud/curing/ajax/getCuringPage/' + currentPage + parameter,
         dataType: 'json',
         dataType: 'json',
-        success: function(data) {
+        success: function (data) {
             if (data.status == 1) {
             if (data.status == 1) {
                 fnStructureCuringUser(data.curingList);
                 fnStructureCuringUser(data.curingList);
                 fnPage(data.pageData);
                 fnPage(data.pageData);
@@ -464,16 +465,16 @@ function refreshCuringPagination(parameter,currentPage){
  * 筛选-统一请求--刷新用户列表
  * 筛选-统一请求--刷新用户列表
  * @returns
  * @returns
  */
  */
-function refreshCuringPage(compilation,latestCompilation,sortField,sort,wd){
-	$.ajax({
-        cache :false,
+function refreshCuringPage(compilation, latestCompilation, sortField, sort, wd) {
+    $.ajax({
+        cache: false,
         type: 'get',
         type: 'get',
-        url: '/cloud/curing/ajax/refreshCuringPage?sortField='+sortField+'&sort='+sort+'&compilation='+compilation+'&latestCompilation='+latestCompilation+
-        	'&wd='+wd,
+        url: '/cloud/curing/ajax/refreshCuringPage?sortField=' + sortField + '&sort=' + sort + '&compilation=' + compilation + '&latestCompilation=' + latestCompilation +
+            '&wd=' + wd,
         dataType: 'json',
         dataType: 'json',
-        success: function(data) {
+        success: function (data) {
             if (data.status == 1) {
             if (data.status == 1) {
-            	fnStructureCuringUser(data.curingList);
+                fnStructureCuringUser(data.curingList);
                 fnPage(data.pageData);
                 fnPage(data.pageData);
                 refreshColumn(columnLength);
                 refreshColumn(columnLength);
             } else {
             } else {
@@ -481,18 +482,18 @@ function refreshCuringPage(compilation,latestCompilation,sortField,sort,wd){
             }
             }
         }
         }
     })
     })
-    
+
 }
 }
 
 
 /**
 /**
  * 通行证账号检索用户--刷新列表和分页
  * 通行证账号检索用户--刷新列表和分页
  * @returns
  * @returns
  */
  */
-function fnMobile2Info(){
+function fnMobile2Info() {
     mobile2InfoTimeout = null;
     mobile2InfoTimeout = null;
 
 
     //if((/^1[34578]\d{9}$/.test(mobile))) {
     //if((/^1[34578]\d{9}$/.test(mobile))) {
-    	refreshCuringPage('','','','',mobile);
+    refreshCuringPage('', '', '', '', mobile);
     //}
     //}
 }
 }
 
 
@@ -502,53 +503,53 @@ function fnMobile2Info(){
  * @param client_id
  * @param client_id
  * @returns
  * @returns
  */
  */
-function refreshCuringPageDetail(ssoid,client_id){
-	$.ajax({
-        cache :false,
+function refreshCuringPageDetail(ssoid, client_id) {
+    $.ajax({
+        cache: false,
         type: 'GET',
         type: 'GET',
         url: '/cloud/curing/ajax/getCuringBySsoid',
         url: '/cloud/curing/ajax/getCuringBySsoid',
-        data: {ssoid: encodeURI(ssoid),client_id:encodeURI(client_id)},
+        data: { ssoid: encodeURI(ssoid), client_id: encodeURI(client_id) },
         dataType: 'json',
         dataType: 'json',
-        success: function(data){
-            if(data.status==1||data.status==2){
+        success: function (data) {
+            if (data.status == 1 || data.status == 2) {
                 //设置 养护用户信息
                 //设置 养护用户信息
-                var objHtml=buildCuringInfo(data.detail.userInfo);
+                var objHtml = buildCuringInfo(data.detail.userInfo);
                 $('div[curingInfo] curing').html(objHtml);
                 $('div[curingInfo] curing').html(objHtml);
 
 
                 $('div[curingInfo] curingClient').html('');
                 $('div[curingInfo] curingClient').html('');
                 //设置CLD客户信息
                 //设置CLD客户信息
                 //if(data.detail.curingInfo.updateTotal!=0){
                 //if(data.detail.curingInfo.updateTotal!=0){
-                	 //$("#id").val(id);
-                     var clientHtml=relevanceClient(data.detail.clientInfo);
-                     $('div[curingInfo] curingClient').html(clientHtml);
+                //$("#id").val(id);
+                var clientHtml = relevanceClient(data.detail.clientInfo);
+                $('div[curingInfo] curingClient').html(clientHtml);
                 //}
                 //}
-               
+
                 //设置养护详情页里产品升级信息
                 //设置养护详情页里产品升级信息
-                var upMajorBoxHtml=buildCuringCompilation(data);
+                var upMajorBoxHtml = buildCuringCompilation(data);
                 $('tbody[upMajorBox]').html(upMajorBoxHtml);
                 $('tbody[upMajorBox]').html(upMajorBoxHtml);
-                
+
                 //更新在线时长
                 //更新在线时长
-                var onlineTimesHtml=buildCuringOnlineTimes(data.detail.userInfo.online_list);
+                var onlineTimesHtml = buildCuringOnlineTimes(data.detail.userInfo.online_list);
                 $('tbody[onlineTimes]').html(onlineTimesHtml);
                 $('tbody[onlineTimes]').html(onlineTimesHtml);
-                
+
                 //设置参数
                 //设置参数
                 $('#curingSsoid').val(data.detail.userInfo.ssoIdKey);
                 $('#curingSsoid').val(data.detail.userInfo.ssoIdKey);
                 $('#curingMobile').val(data.detail.userInfo.mobile);
                 $('#curingMobile').val(data.detail.userInfo.mobile);
                 $('#client_id').val(data.detail.clientInfo.cidKey);
                 $('#client_id').val(data.detail.clientInfo.cidKey);
-                
+
                 //设置养护日志
                 //设置养护日志
-                var operateLogHtml=buildCuringOperateLog(data.detail.operateLog);
+                var operateLogHtml = buildCuringOperateLog(data.detail.operateLog);
                 $('div[operateLog] curingOperate').html(operateLogHtml);
                 $('div[operateLog] curingOperate').html(operateLogHtml);
 
 
                 setTimeout(autoHeight, 400);
                 setTimeout(autoHeight, 400);
 
 
                 //autoHeight();
                 //autoHeight();
                 $('#detail').modal('show');
                 $('#detail').modal('show');
-            }else if(data.status==3){
+            } else if (data.status == 3) {
                 alert(data.msg);
                 alert(data.msg);
             }
             }
         },
         },
-        error: function(xhr, type){
+        error: function (xhr, type) {
             console.log('Ajax error!')
             console.log('Ajax error!')
         }
         }
     })
     })
@@ -558,13 +559,116 @@ function refreshCuringPageDetail(ssoid,client_id){
  * DOM加载完毕后初始化
  * DOM加载完毕后初始化
  * @returns
  * @returns
  */
  */
-function init(){
-	refreshColumn(columnLength);
+function init() {
+    refreshColumn(columnLength);
+}
+
+/**
+ * 用户升级专业版 弹框提示--用户详情界面
+ * @param name
+ * @param _id
+ * @param username
+ * @returns
+ */
+function upCuring(name, _id, username) {
+    $('#name').val(name);
+    $('#_id').val(_id);
+    var curingMobile = $('#curingMobile').val();
+    var html = '<p>为用户 <b>' + curingMobile + ',' + username + '</b> 升级 <b>' + name + '</b></p>';
+    html += '<div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" deadline id="customSwitch2" ><label class="custom-control-label" deadlineLabel for="customSwitch2">限期</label></div></div>';
+    
+    html += '<div class="form-group"><label class="form-label" for="example-date">到期时间</label><input class="form-control" id="deadline" type="date"  name="deadline" disabled  value=""></div>';
+    
+    html += '<div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" smssend id="customSwitch22" ><label class="custom-control-label" for="customSwitch22">给客户发送短信通知</label></div></div>';
+
+    $('div[upCuring] span').html(html);
+}
+
+/**
+ * 养护产品降级
+ * @param {} name 
+ * @param {*} _id 
+ * @param {*} username 
+ */
+function downCuring(name, _id, username) {
+    $('#name').val(name);
+    $('#_id').val(_id);
+    var curingMobile = $('#curingMobile').val();
+    // let html = `<p>为用户 <b>${curingMobile},${username}</b> <span class="text-danger">降级</span> <b>${name}免费版</b></p>
+    // <div class="form-group">
+    //     <div class="custom-control custom-switch">
+    //         <input type="checkbox" class="custom-control-input" downSmssend id="customSwitch23" >
+    //         <label class="custom-control-label"  for="customSwitch23">给客户发送短信通知</label>
+    //     </div>
+    // </div>`;
+    var html = '<p>为用户 <b>'+curingMobile+','+username+'</b> <span class="text-danger">降级</span> <b>'+name+'免费版</b></p><div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" downSmssend id="customSwitch23" ><label class="custom-control-label"  for="customSwitch23">给客户发送短信通知</label></div></div>';
+    
+    $('div[downCuring] span').html(html);
+}
+
+function deadlineCuring(name, _id, username,deadline){
+    $('#name').val(name);
+    $('#_id').val(_id);
+    var curingMobile = $('#curingMobile').val();
+
+    var html = '<p>为用户 <b>'+curingMobile+','+username+'</b> <b>'+name+'</b> 设置延期</p><p>当前限期为:'+deadline+'</p>';
+
+    html +='<div class="form-group"><label class="form-label" for="example-date">到期时间</label><input class="form-control"  id="deadlineInput" type="date" name="date" value=""></div><div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" deadlineSmssend id="customSwitch222" ><label class="custom-control-label" for="customSwitch222">给客户发送短信通知</label></div></div>';
+    
+
+    // let html = `<p>为用户 <b>${curingMobile},${username}</b> <b>${name}</b> 设置延期</p>
+    // <p>当前限期为:${deadline}</p>
+    // <div class="form-group">
+    //     <label class="form-label" for="example-date">到期时间</label>
+    //     <input class="form-control"  id="deadlineInput" type="date" name="date" value="">
+    // </div>
+    // <div class="form-group">
+    //     <div class="custom-control custom-switch">
+    //         <input type="checkbox" class="custom-control-input" deadlineSmssend id="customSwitch222" >
+    //         <label class="custom-control-label" for="customSwitch222">给客户发送短信通知</label>
+    //     </div>
+    // </div>`;
+
+    $('div[deadlineCuring] span').html(html);
 }
 }
 
 
+function curingDo(compilationId, name, curingSsoid, status, mobile, client_id, deadline, smssend) {
+    if (curingSsoid != '' && compilationId != '') {
+        $.ajax({
+            cache: false,
+            type: 'post',
+            url: '/cloud/curing/ajax/upCuringDo',
+            data: { ssoid: curingSsoid, compilationId: compilationId, mobile: mobile, client_id: client_id, name: name, deadline: deadline, smssend: smssend, status: status },
+            dataType: 'json',
+            success: function (data) {
+                if (data.status == 1) {
+                    refreshCuringPageDetail(curingSsoid, client_id);
+                } else {
+                    alert(data.msg);
+                }
+            }
+        })
+    } else {
+        alert('请选择需要升级的版本');
+    }
+}
 
 
+$(function () {
 
 
+    $('div[upcuring]').delegate('label[deadlineLabel]', 'click', function () {
+        $('#deadline').attr('disabled', 'disabled');
+        
+        if($('input[deadline]').prop('checked')){
+            $('input[deadline]').prop("checked",false);
+        }else{
+            $('input[deadline]').prop("checked",true);
+        }
+        if ($('input[deadline]').get(0).checked) {
+            $('#deadline').removeAttr('disabled');
+        }
+    });
 
 
+})
 /**
 /**
  * Created by cp on 2019/12/17.
  * Created by cp on 2019/12/17.
  */
  */
@@ -690,14 +794,29 @@ function buildCuringCompilation(data){
         upMajorBoxHtml+='<td></td>';
         upMajorBoxHtml+='<td></td>';
         upMajorBoxHtml+='<td>'+ v.name+'</td>';
         upMajorBoxHtml+='<td>'+ v.name+'</td>';
         upMajorBoxHtml+='<td>';
         upMajorBoxHtml+='<td>';
+        
+        var deadline='';
+        data.detail.userInfo.upgrade_list.forEach(element => {
+            if(v._id===element.compilationID){
+                deadline=element.deadline;
+            }
+        });
+
         if(v.isUpgrade !== undefined && v.isUpgrade === true){
         if(v.isUpgrade !== undefined && v.isUpgrade === true){
-            upMajorBoxHtml+='已升级';
+            upMajorBoxHtml+='已升级<a href="#degrade-confirm" onclick=downCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'") class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#degrade-confirm">降级</a>';
         }else{
         }else{
             upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'")  ' +
             upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'")  ' +
                 'href="#update-confirm"  class="btn btn-xs btn-outline-primary waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">升级</a>';
                 'href="#update-confirm"  class="btn btn-xs btn-outline-primary waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">升级</a>';
         }
         }
         upMajorBoxHtml+='</td>';
         upMajorBoxHtml+='</td>';
-        upMajorBoxHtml+='</tr>';
+
+        if(v.isUpgrade !== undefined && v.isUpgrade === true){
+            upMajorBoxHtml+='<td>'+deadline+'<a href="#deadline-confirm" onclick=deadlineCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'","'+deadline+'") class="btn btn-xs btn-outline-primary ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#deadline-confirm">限期</a></td>';
+            upMajorBoxHtml+='</tr>';
+        }else{
+            upMajorBoxHtml+=`<td></td>`;
+        }
+
     });
     });
     
     
     return upMajorBoxHtml;
     return upMajorBoxHtml;

+ 17 - 11
global/js/cloud/curing.js

@@ -191,9 +191,9 @@ $(function () {
         var curingSsoid = $('#curingSsoid').val();
         var curingSsoid = $('#curingSsoid').val();
         var mobile = $('#curingMobile').val();
         var mobile = $('#curingMobile').val();
         var client_id = $('#client_id').val();
         var client_id = $('#client_id').val();
-        let deadline=$('#deadline').val();
-        let smssend=$('input[smssend]').get(0).checked
-        curingDo(compilationId,name,curingSsoid,1,mobile,client_id,deadline,smssend);
+        var deadline1=$('#deadline').val();
+        var smssend=$('input[smssend]').get(0).checked
+        curingDo(compilationId,name,curingSsoid,1,mobile,client_id,deadline1,smssend);
     });
     });
 
 
     /**
     /**
@@ -206,9 +206,9 @@ $(function () {
         var curingSsoid = $('#curingSsoid').val();
         var curingSsoid = $('#curingSsoid').val();
         var mobile = $('#curingMobile').val();
         var mobile = $('#curingMobile').val();
         var client_id = $('#client_id').val();
         var client_id = $('#client_id').val();
-        let deadline=$('#deadline').val();
-        let smssend=$('input[downsmssend]').get(0).checked;
-        curingDo(compilationId,name,curingSsoid,2,mobile,client_id,deadline,smssend);
+        var deadline1=$('#deadline').val();
+        var smssend=$('input[downsmssend]').get(0).checked;
+        curingDo(compilationId,name,curingSsoid,2,mobile,client_id,deadline1,smssend);
     });
     });
 
 
     $('button[deadlineCuringDo]').on('click', function (e) {
     $('button[deadlineCuringDo]').on('click', function (e) {
@@ -219,8 +219,8 @@ $(function () {
         var mobile = $('#curingMobile').val();
         var mobile = $('#curingMobile').val();
         var client_id = $('#client_id').val();
         var client_id = $('#client_id').val();
 
 
-        let deadline=$('#deadlineInput').val();
-        let smssend=$('input[deadlineSmssend]').get(0).checked;
+        var deadline=$('#deadlineInput').val();
+        var smssend=$('input[deadlineSmssend]').get(0).checked;
         curingDo(compilationId,name,curingSsoid,3,mobile,client_id,deadline,smssend);
         curingDo(compilationId,name,curingSsoid,3,mobile,client_id,deadline,smssend);
     });
     });
     
     
@@ -290,13 +290,19 @@ $(function () {
     $('button[closeRefresh]').on('click', function (e) {
     $('button[closeRefresh]').on('click', function (e) {
         // 只获取第一个选中的值
         // 只获取第一个选中的值
 
 
+        var latestCompilation = $('select[curingByLatestCompilation]').val();
+        var compilation = $('select[curingByCompilation]').val();
         var parameter = $('button[closeRefresh]').attr('parameter');
         var parameter = $('button[closeRefresh]').attr('parameter');
         if (parameter != '') {
         if (parameter != '') {
             var currentPage = $('button[closeRefresh]').attr('currentPage');
             var currentPage = $('button[closeRefresh]').attr('currentPage');
-            refreshCuringPagination(parameter, currentPage);
+            request = GetRequest(parameter);
+            var url="?compilation="+compilation+"&latestCompilation="+request['latestCompilation']+"&sortField="+request['sortField']+
+                    "&sort="+request['sort']
+
+            refreshCuringPagination(url, currentPage);
         } else {
         } else {
-            var latestCompilation = $('select[curingByLatestCompilation]').val();
-            var compilation = $('select[curingByCompilation]').val();
+            //var latestCompilation = $('select[curingByLatestCompilation]').val();
+            //var compilation = $('select[curingByCompilation]').val();
             refreshCuringPage(compilation, latestCompilation, '', '', mobile);
             refreshCuringPage(compilation, latestCompilation, '', '', mobile);
 
 
         }
         }

+ 70 - 35
global/js/cloud/curingFN.js

@@ -23,6 +23,19 @@ function refreshCuringPagination(parameter, currentPage) {
     })
     })
 }
 }
 
 
+function GetRequest(url) {
+    //var url = location.search; //获取url中"?"符后的字串
+    var theRequest = new Object();
+    if (url.indexOf("?") != -1) {
+        var str = url.substr(1);
+        strs = str.split("&");
+        for(var i = 0; i < strs.length; i ++) {
+            theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
+        }
+    }
+    return theRequest;
+}
+
 /**
 /**
  * 筛选-统一请求--刷新用户列表
  * 筛选-统一请求--刷新用户列表
  * @returns
  * @returns
@@ -36,6 +49,7 @@ function refreshCuringPage(compilation, latestCompilation, sortField, sort, wd)
         dataType: 'json',
         dataType: 'json',
         success: function (data) {
         success: function (data) {
             if (data.status == 1) {
             if (data.status == 1) {
+                $('button[closeRefresh]').attr('currentPage', 1);
                 fnStructureCuringUser(data.curingList);
                 fnStructureCuringUser(data.curingList);
                 fnPage(data.pageData);
                 fnPage(data.pageData);
                 refreshColumn(columnLength);
                 refreshColumn(columnLength);
@@ -74,6 +88,7 @@ function refreshCuringPageDetail(ssoid, client_id) {
         dataType: 'json',
         dataType: 'json',
         success: function (data) {
         success: function (data) {
             if (data.status == 1 || data.status == 2) {
             if (data.status == 1 || data.status == 2) {
+
                 //设置 养护用户信息
                 //设置 养护用户信息
                 var objHtml = buildCuringInfo(data.detail.userInfo);
                 var objHtml = buildCuringInfo(data.detail.userInfo);
                 $('div[curingInfo] curing').html(objHtml);
                 $('div[curingInfo] curing').html(objHtml);
@@ -94,6 +109,10 @@ function refreshCuringPageDetail(ssoid, client_id) {
                 var onlineTimesHtml = buildCuringOnlineTimes(data.detail.userInfo.online_list);
                 var onlineTimesHtml = buildCuringOnlineTimes(data.detail.userInfo.online_list);
                 $('tbody[onlineTimes]').html(onlineTimesHtml);
                 $('tbody[onlineTimes]').html(onlineTimesHtml);
 
 
+                //设置服务日志
+                var serviceLogHtml=buildServiceLog(data.detail.serviceLog);
+                $('tbody[serveRecord]').html(serviceLogHtml);
+
                 //设置参数
                 //设置参数
                 $('#curingSsoid').val(data.detail.userInfo.ssoIdKey);
                 $('#curingSsoid').val(data.detail.userInfo.ssoIdKey);
                 $('#curingMobile').val(data.detail.userInfo.mobile);
                 $('#curingMobile').val(data.detail.userInfo.mobile);
@@ -137,22 +156,11 @@ function upCuring(name, _id, username) {
     $('#_id').val(_id);
     $('#_id').val(_id);
     var curingMobile = $('#curingMobile').val();
     var curingMobile = $('#curingMobile').val();
     var html = '<p>为用户 <b>' + curingMobile + ',' + username + '</b> 升级 <b>' + name + '</b></p>';
     var html = '<p>为用户 <b>' + curingMobile + ',' + username + '</b> 升级 <b>' + name + '</b></p>';
-    html += `<div class="form-group">
-        <div class="custom-control custom-switch">
-        <input type="checkbox" class="custom-control-input" deadline id="customSwitch2" >
-        <label class="custom-control-label" deadlineLabel for="customSwitch2">限期</label>
-        </div>
-        </div>`;
-    html += `<div class="form-group">
-    <label class="form-label" for="example-date">到期时间</label>
-    <input class="form-control" id="deadline" type="date"  name="deadline" disabled  value="">
-</div>`;
-    html += `<div class="form-group">
-    <div class="custom-control custom-switch">
-        <input type="checkbox" class="custom-control-input" smssend id="customSwitch22" >
-        <label class="custom-control-label" for="customSwitch22">给客户发送短信通知</label>
-    </div>
-</div>`;
+    html += '<div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" deadline id="customSwitch2" ><label class="custom-control-label" deadlineLabel for="customSwitch2">限期</label></div></div>';
+    
+    html += '<div class="form-group"><label class="form-label" for="example-date">到期时间</label><input class="form-control" id="deadline" type="date"  name="deadline" disabled  value=""></div>';
+    
+    html += '<div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" smssend id="customSwitch22" ><label class="custom-control-label" for="customSwitch22">给客户发送短信通知</label></div></div>';
 
 
     $('div[upCuring] span').html(html);
     $('div[upCuring] span').html(html);
 }
 }
@@ -167,13 +175,15 @@ function downCuring(name, _id, username) {
     $('#name').val(name);
     $('#name').val(name);
     $('#_id').val(_id);
     $('#_id').val(_id);
     var curingMobile = $('#curingMobile').val();
     var curingMobile = $('#curingMobile').val();
-    let html = `<p>为用户 <b>${curingMobile},${username}</b> <span class="text-danger">降级</span> <b>${name}免费版</b></p>
-    <div class="form-group">
-        <div class="custom-control custom-switch">
-            <input type="checkbox" class="custom-control-input" downSmssend id="customSwitch23" >
-            <label class="custom-control-label"  for="customSwitch23">给客户发送短信通知</label>
-        </div>
-    </div>`;
+    // let html = `<p>为用户 <b>${curingMobile},${username}</b> <span class="text-danger">降级</span> <b>${name}免费版</b></p>
+    // <div class="form-group">
+    //     <div class="custom-control custom-switch">
+    //         <input type="checkbox" class="custom-control-input" downSmssend id="customSwitch23" >
+    //         <label class="custom-control-label"  for="customSwitch23">给客户发送短信通知</label>
+    //     </div>
+    // </div>`;
+    var html = '<p>为用户 <b>'+curingMobile+','+username+'</b> <span class="text-danger">降级</span> <b>'+name+'免费版</b></p><div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" downSmssend id="customSwitch23" ><label class="custom-control-label"  for="customSwitch23">给客户发送短信通知</label></div></div>';
+    
     $('div[downCuring] span').html(html);
     $('div[downCuring] span').html(html);
 }
 }
 
 
@@ -181,18 +191,27 @@ function deadlineCuring(name, _id, username,deadline){
     $('#name').val(name);
     $('#name').val(name);
     $('#_id').val(_id);
     $('#_id').val(_id);
     var curingMobile = $('#curingMobile').val();
     var curingMobile = $('#curingMobile').val();
-    let html = `<p>为用户 <b>${curingMobile},${username}</b> <b>${name}</b> 设置延期</p>
-    <p>当前限期为:${deadline}</p>
-    <div class="form-group">
-        <label class="form-label" for="example-date">到期时间</label>
-        <input class="form-control"  id="deadlineInput" type="date" name="date" value="">
-    </div>
-    <div class="form-group">
-        <div class="custom-control custom-switch">
-            <input type="checkbox" class="custom-control-input" deadlineSmssend id="customSwitch222" >
-            <label class="custom-control-label" for="customSwitch222">给客户发送短信通知</label>
-        </div>
-    </div>`;
+
+    var html = '<p>为用户 <b>'+curingMobile+','+username+'</b> <b>'+name+'</b> 设置延期</p><p>当前限期为:'+deadline+'</p>';
+
+    html+='<div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" deadlineEver id="customSwitch2"><label class="custom-control-label" deadlinelabel="" for="customSwitch2">升级为永久版</label></div></div>';
+
+    html +='<div class="form-group"><label class="form-label" for="example-date">到期时间</label><input class="form-control"  id="deadlineInput" type="date" name="date" value=""></div><div class="form-group"><div class="custom-control custom-switch"><input type="checkbox" class="custom-control-input" deadlineSmssend id="customSwitch222" ><label class="custom-control-label" for="customSwitch222">给客户发送短信通知</label></div></div>';
+    
+
+    // let html = `<p>为用户 <b>${curingMobile},${username}</b> <b>${name}</b> 设置延期</p>
+    // <p>当前限期为:${deadline}</p>
+    // <div class="form-group">
+    //     <label class="form-label" for="example-date">到期时间</label>
+    //     <input class="form-control"  id="deadlineInput" type="date" name="date" value="">
+    // </div>
+    // <div class="form-group">
+    //     <div class="custom-control custom-switch">
+    //         <input type="checkbox" class="custom-control-input" deadlineSmssend id="customSwitch222" >
+    //         <label class="custom-control-label" for="customSwitch222">给客户发送短信通知</label>
+    //     </div>
+    // </div>`;
+
     $('div[deadlineCuring] span').html(html);
     $('div[deadlineCuring] span').html(html);
 }
 }
 
 
@@ -232,4 +251,20 @@ $(function () {
         }
         }
     });
     });
 
 
+    $('div[deadlinecuring]').delegate('label[deadlineLabel]', 'click', function () {
+        
+        $('#deadlineInput').removeAttr('disabled');
+        if($('input[deadlineEver]').prop('checked')){
+            $('input[deadlineEver]').prop("checked",false);
+        }else{
+            $('input[deadlineEver]').prop("checked",true);
+        }
+        if ($('input[deadlineEver]').get(0).checked) {
+            $('#deadlineInput').val('');
+            $('#deadlineInput').attr('disabled', 'disabled');
+        }
+    });
+    
+
+
 })
 })

+ 23 - 7
global/js/cloud/curingHtml.js

@@ -124,7 +124,7 @@ function buildCuringCompilation(data){
         upMajorBoxHtml+='<td>'+ v.name+'</td>';
         upMajorBoxHtml+='<td>'+ v.name+'</td>';
         upMajorBoxHtml+='<td>';
         upMajorBoxHtml+='<td>';
         
         
-        let deadline='';
+        var deadline='';
         data.detail.userInfo.upgrade_list.forEach(element => {
         data.detail.userInfo.upgrade_list.forEach(element => {
             if(v._id===element.compilationID){
             if(v._id===element.compilationID){
                 deadline=element.deadline;
                 deadline=element.deadline;
@@ -132,9 +132,7 @@ function buildCuringCompilation(data){
         });
         });
 
 
         if(v.isUpgrade !== undefined && v.isUpgrade === true){
         if(v.isUpgrade !== undefined && v.isUpgrade === true){
-            upMajorBoxHtml+=`已升级
-            <a href="#degrade-confirm" onclick=downCuring("${v.name}","${v._id}","${data.detail.userInfo.username}") class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#degrade-confirm">降级</a>
-            `;
+            upMajorBoxHtml+='已升级<a href="#degrade-confirm" onclick=downCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'") class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#degrade-confirm">降级</a>';
         }else{
         }else{
             upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'")  ' +
             upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'")  ' +
                 'href="#update-confirm"  class="btn btn-xs btn-outline-primary waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">升级</a>';
                 'href="#update-confirm"  class="btn btn-xs btn-outline-primary waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">升级</a>';
@@ -142,9 +140,7 @@ function buildCuringCompilation(data){
         upMajorBoxHtml+='</td>';
         upMajorBoxHtml+='</td>';
 
 
         if(v.isUpgrade !== undefined && v.isUpgrade === true){
         if(v.isUpgrade !== undefined && v.isUpgrade === true){
-            upMajorBoxHtml+=`<td>
-            ${deadline}<a href="#deadline-confirm" onclick=deadlineCuring("${v.name}","${v._id}","${data.detail.userInfo.username}","${deadline}") class="btn btn-xs btn-outline-primary ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#deadline-confirm">限期</a>
-            </td>`;
+            upMajorBoxHtml+='<td>'+deadline+'<a href="#deadline-confirm" onclick=deadlineCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'","'+deadline+'") class="btn btn-xs btn-outline-primary ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#deadline-confirm">限期</a></td>';
             upMajorBoxHtml+='</tr>';
             upMajorBoxHtml+='</tr>';
         }else{
         }else{
             upMajorBoxHtml+=`<td></td>`;
             upMajorBoxHtml+=`<td></td>`;
@@ -165,6 +161,26 @@ function buildCuringOnlineTimes(data){
 	return onlineTimesHtml;
 	return onlineTimesHtml;
 }
 }
 
 
+function buildServiceLog(data){
+    var html='';
+    $.each(data, function(k, v) {
+        html+='<tr><td width="20"></td>';
+        html+='<td width="140"><a href="#">@'+ v.staffname+'</a> ' ;
+        if(v.status==1){
+            html+= '上门服务' ;
+        }else if(v.status==2){
+            html+= '电话拜访' ;
+        }else if(v.status==3){
+            html+= '其他' ;
+        }
+
+        html+='<br><span class="text-muted">'+ v.date+'</span></td>'
+        html+='<td>'+ v.mark+'</td>'
+        html+='</tr>';
+    });
+    return html;
+}
+
 //关联CLD客户
 //关联CLD客户
 function relevanceClient(data){
 function relevanceClient(data){
     var html='';
     var html='';

+ 2 - 1
global/js/contacts/buildHtml.js

@@ -36,10 +36,11 @@ function buildArea(data){
 
 
 //构建客户HTML
 //构建客户HTML
 function buildClient(data){
 function buildClient(data){
+    //'+setUndefined(data.createTime)+'
     var html='';
     var html='';
     html+='<div class="form-header mt-3">';
     html+='<div class="form-header mt-3">';
     html+='<div class="d-flex justify-content-between"><span class="text-muted">CLD客户</span>' +
     html+='<div class="d-flex justify-content-between"><span class="text-muted">CLD客户</span>' +
-        '<span class="text-muted">'+setUndefined(data.staff.username)+' 创建 '+setUndefined(data.createTime)+'</span></div>';
+        '<span class="text-muted">'+setUndefined(data.staff.username)+' 创建 </span></div>';
     html+='<legend>'+setUndefined(data.clientname)+'</legend> ' +
     html+='<legend>'+setUndefined(data.clientname)+'</legend> ' +
         '</div>';
         '</div>';
 
 

+ 19 - 2
views/cloud/build.html

@@ -57,7 +57,7 @@
                 </div>
                 </div>
                 <!--页面标题-->
                 <!--页面标题-->
                 <h1 class="subheader-title">
                 <h1 class="subheader-title">
-                    云版管理
+                    大司空云计价
                 </h1>
                 </h1>
                 <!--顶部右栏-->
                 <!--顶部右栏-->
                 <% include ../userInfo.html %>
                 <% include ../userInfo.html %>
@@ -389,6 +389,7 @@
                             <ul class="nav nav-tabs sheet-nav-tabs" role="tablist">
                             <ul class="nav nav-tabs sheet-nav-tabs" role="tablist">
                                 <li class="nav-item"><a class="nav-link active" data-toggle="tab" href="#tab-yun" role="tab" aria-selected="true">大司空云计价</a></li>
                                 <li class="nav-item"><a class="nav-link active" data-toggle="tab" href="#tab-yun" role="tab" aria-selected="true">大司空云计价</a></li>
                                 <li class="nav-item"><a class="nav-link " data-toggle="tab" href="#tab-online" role="tab" aria-selected="false">在线时长</a></li>
                                 <li class="nav-item"><a class="nav-link " data-toggle="tab" href="#tab-online" role="tab" aria-selected="false">在线时长</a></li>
+                                <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#serve-record" role="tab" aria-selected="false">服务记录</a></li>
                                 <!-- <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#tab-lock" role="tab" aria-selected="false">软件锁</a></li>
                                 <!-- <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#tab-lock" role="tab" aria-selected="false">软件锁</a></li>
                                 <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#tab-server" role="tab" aria-selected="false">服务记录</a></li> -->
                                 <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#tab-server" role="tab" aria-selected="false">服务记录</a></li> -->
                             </ul>
                             </ul>
@@ -416,8 +417,24 @@
                                                 </table>
                                                 </table>
                                                 <p class="text-center text-muted">仅显示最近30天时长</p>
                                                 <p class="text-center text-muted">仅显示最近30天时长</p>
                                             </div>
                                             </div>
-                                        </div>
+                                </div>
+
+                                <div class="tab-pane fade sheet-panel-righttop" id="serve-record" role="tabpanel" aria-labelledby="tab-server">
+                                    <div class="slimScrol3">
+                                        <table class="table">
+                                            <thead><tr><th class="border-0"></th><th class="border-0">类型/时间</th><th class="border-0">服务内容</th></tr></thead>
+                                            <tbody serveRecord >
+                                            <tr>
+                                                <td width="20"></td>
+                                                <td width="140"><a href="#">@陈特</a> 上门服务
+                                                    <br><span class="text-muted">5月5日 14:55</span></td><td>1-给彭工更新了软件程序,安装演示了软。2-单位彭工要考甲乙级考试,给他带了资料过去。3-表示论文发表评职称也可以随时联系我。</td>
+                                            </tr>
+                                            </tbody>
+
+                                        </table>
 
 
+                                    </div>
+                                </div>
 
 
                             </div>
                             </div>
 
 

+ 25 - 5
views/cloud/curing.html

@@ -52,7 +52,7 @@
                 </div>
                 </div>
                 <!--页面标题-->
                 <!--页面标题-->
                 <h1 class="subheader-title">
                 <h1 class="subheader-title">
-                    云版管理
+                    养护云造价
                 </h1>
                 </h1>
                 <!--顶部右栏-->
                 <!--顶部右栏-->
                 <% include ../userInfo.html %>
                 <% include ../userInfo.html %>
@@ -385,8 +385,9 @@
                             <ul class="nav nav-tabs sheet-nav-tabs" role="tablist">
                             <ul class="nav nav-tabs sheet-nav-tabs" role="tablist">
                                 <li class="nav-item"><a class="nav-link active" data-toggle="tab" href="#tab-yun" role="tab" aria-selected="true">养护云造价</a></li>
                                 <li class="nav-item"><a class="nav-link active" data-toggle="tab" href="#tab-yun" role="tab" aria-selected="true">养护云造价</a></li>
                                 <li class="nav-item"><a class="nav-link " data-toggle="tab" href="#tab-online" role="tab" aria-selected="false">在线时长</a></li>
                                 <li class="nav-item"><a class="nav-link " data-toggle="tab" href="#tab-online" role="tab" aria-selected="false">在线时长</a></li>
+                                <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#serve-record" role="tab" aria-selected="false">服务记录</a></li>
                                 <!-- <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#tab-lock" role="tab" aria-selected="false">软件锁</a></li>
                                 <!-- <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#tab-lock" role="tab" aria-selected="false">软件锁</a></li>
-                                <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#tab-server" role="tab" aria-selected="false">服务记录</a></li> -->
+                                 -->
                             </ul>
                             </ul>
                             <div class="tab-content">
                             <div class="tab-content">
                                 <div class="tab-pane fade active show sheet-panel-righttop" id="tab-yun" role="tabpanel" aria-labelledby="tab-yun">
                                 <div class="tab-pane fade active show sheet-panel-righttop" id="tab-yun" role="tabpanel" aria-labelledby="tab-yun">
@@ -417,7 +418,24 @@
                                                 </table>
                                                 </table>
                                                 <p class="text-center text-muted">仅显示最近30天时长</p>
                                                 <p class="text-center text-muted">仅显示最近30天时长</p>
                                             </div>
                                             </div>
-                                        </div>
+                                </div>
+
+                                <div class="tab-pane fade sheet-panel-righttop" id="serve-record" role="tabpanel" aria-labelledby="tab-server">
+                                    <div class="slimScrol3">
+                                        <table class="table">
+                                            <thead><tr><th class="border-0"></th><th class="border-0">类型/时间</th><th class="border-0">服务内容</th></tr></thead>
+                                            <tbody serveRecord >
+                                            <tr>
+                                                <td width="20"></td>
+                                                <td width="140"><a href="#">@陈特</a> 上门服务
+                                                <br><span class="text-muted">5月5日 14:55</span></td><td>1-给彭工更新了软件程序,安装演示了软。2-单位彭工要考甲乙级考试,给他带了资料过去。3-表示论文发表评职称也可以随时联系我。</td>
+                                            </tr>
+                                            </tbody>
+
+                                        </table>
+
+                                    </div>
+                                </div>
 
 
 
 
                             </div>
                             </div>
@@ -434,14 +452,16 @@
                         <div class="sheet-panel-record" operateLog >
                         <div class="sheet-panel-record" operateLog >
                             <ul class="nav nav-tabs nav-tabs-clean sheet-nav-tabs" role="tablist">
                             <ul class="nav nav-tabs nav-tabs-clean sheet-nav-tabs" role="tablist">
                                 <li class="nav-item ml-4"><a class="nav-link text-center active" data-toggle="tab" href="#tab-log" role="tab" aria-selected="true">日志</a></li>
                                 <li class="nav-item ml-4"><a class="nav-link text-center active" data-toggle="tab" href="#tab-log" role="tab" aria-selected="true">日志</a></li>
-                            </ul>
+                                 </ul>
                             <div class="tab-content p-3">
                             <div class="tab-content p-3">
                                 <div class="tab-pane fade active show sheet-panel-log" id="tab-log" role="tabpanel" aria-labelledby="tab-log">
                                 <div class="tab-pane fade active show sheet-panel-log" id="tab-log" role="tabpanel" aria-labelledby="tab-log">
                                     <div class="slimScrol4">
                                     <div class="slimScrol4">
                                         <curingOperate></curingOperate>
                                         <curingOperate></curingOperate>
-
                                     </div>
                                     </div>
                                 </div>
                                 </div>
+
+
+
                             </div>
                             </div>
                         </div>
                         </div>