caipin пре 4 година
родитељ
комит
78dc61c054

+ 153 - 0
app/models/service_log.js

@@ -0,0 +1,153 @@
+/**
+ * Created by MyPC on 2019/11/5.
+ */
+'use strict';
+const hash= require('../class/hash');
+const Sequelize = require('sequelize');
+const Op = Sequelize.Op;
+
+module.exports = (sequelize, DataTypes) => {
+
+    const serviceLog = sequelize.define('CLD_service_log', {
+        slid   : {type: DataTypes.INTEGER(11), primaryKey: true, autoIncrement: true},
+        status: DataTypes.INTEGER,
+
+        mark: DataTypes.STRING,
+        date: DataTypes.DATE,
+        category: DataTypes.STRING,
+        clientid: DataTypes.INTEGER,
+
+        staffname: DataTypes.STRING,
+        staffid: DataTypes.INTEGER,
+    }, {});
+
+    /*
+     * 根据客户ID合集获得服务信息
+     * */
+    serviceLog.findAllByClientid=async function(clientid,attributes){
+
+        if(clientid==undefined){
+            return [];
+        }
+        var condition={
+            raw:true,
+            where: {
+                clientid: clientid
+            },
+            order: [['date', 'desc']]
+        };
+        if(attributes!=undefined){
+            condition.attributes=attributes;
+        }
+        var serviceLogList = await this.findAll(condition);
+
+        serviceLogList.forEach(function(v,i){
+            serviceLogList[i].slidKey=hash.hashEncode(serviceLogList[i].slid.toString());
+        });
+        return serviceLogList;
+    };
+
+/*
+ * 根据ID获得客户信息
+ * */
+serviceLog.findById=async function(cid,attributes){
+
+    if(!hash.isNotANumber(cid)){
+        cid=hash.hashDecode(cid);
+        if(!hash.isNotANumber(cid)){
+            return [];
+        }
+    }
+
+    //console.log(cid);
+
+    if(hash.isExistence(attributes)){
+        condition.attributes=attributes;
+    }
+
+    var condition={
+        raw:true,
+        where: {
+            cid: cid
+        }};
+    var detail = await this.findOne(condition);
+    if(!hash.isExistence(detail)){
+        return [];
+    }
+
+    var staffDetail=[];
+
+    var sqlQuery = 'SELECT b.* FROM CLD_client_staff as a left join CLD_staff as b on (a.sid=b.sid) where a.cid=?';
+    await sequelize.query(sqlQuery,
+    		  { replacements: [cid], type: sequelize.QueryTypes.SELECT }
+    		).then(function(results) {
+    			staffDetail=results[0];
+    		})
+
+//    await this.sequelize.query('SELECT b.* FROM CLD_client_staff as a left join CLD_staff as b on (a.sid=b.sid) where a.cid=7').spread((results, metadata) => {
+//        staffDetail=results[0];
+//    });
+
+    detail['staff']=staffDetail;
+
+    detail.cidKey=hash.hashEncode(detail.cid.toString());
+    detail.cid=hash.hashEncode(detail.cid.toString());
+
+    return detail;
+};
+
+/*
+ * 根据ID合集获得客户信息
+ * */
+serviceLog.getClentListByClientname=async function(clientname,attributes){
+    if(!hash.isExistence(clientname)){
+        return [];
+    }
+//
+    var condition={
+        raw:true,
+        limit:30,
+        where: {
+            clientname: {
+                [Op.like]: '%'+clientname+'%'
+    }
+    }};
+    if(hash.isExistence(attributes)){
+        condition.attributes=attributes;
+    };
+    var clientList = await this.findAll(condition);
+    clientList.forEach(function(v,i){
+        clientList[i].cidKey=hash.hashEncode(clientList[i].cid.toString());
+    });
+    return clientList;
+};
+
+/*
+ * 根据ID合集获得客户信息
+ * */
+serviceLog.getClentListByPhone=async function(phone,attributes){
+    if(!hash.isExistence(phone)){
+        return [];
+    }
+//
+    var condition={
+        raw:true,
+        limit:30,
+        where: {
+            telephone: {
+                [Op.like]: '%'+phone+'%'
+            }
+        }};
+        if(hash.isExistence(attributes)){
+            condition.attributes=attributes;
+        };
+        var clientList = await this.findAll(condition);
+        clientList.forEach(function(v,i){
+            clientList[i].cidKey=hash.hashEncode(clientList[i].cid.toString());
+        });
+        return clientList;
+};
+
+    return serviceLog;
+};
+

+ 1 - 1
bin/www

@@ -12,7 +12,7 @@ var http = require('http');
  * Get port from environment and store in Express.
  */
 
-var port = normalizePort(process.env.PORT || '3000');
+var port = normalizePort(process.env.PORT || '6969');
 app.set('port', port);
 
 /**

+ 1 - 1
global/css/cld-custom.css

@@ -190,7 +190,7 @@
   cursor: pointer;
 }
 .sheet-panel-log{
-  height:200px;
+  height:314px;
 }
 .sheet-btns {
   height:24px;

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

@@ -1,5 +1,5 @@
 function autoFlashHeight(){
     $(".sheet-panel-content").height($(window).height()-138);
     $(".modal-search-height").height($(window).height()-226);
-    $(".sheet-panel-righttop").height($(window).height()-436);
+    $(".sheet-panel-righttop").height($(window).height()-550);
 };

+ 2 - 1
global/js/cloud/build.js

@@ -259,7 +259,8 @@ $(function() {
     	if(parameter!=''){
     		var currentPage=$('button[closeRefresh]').attr('currentPage');
             request = GetRequest(parameter);
-            var url="?compilation="+compilation+"&latestCompilation="+request['latestCompilation']+"&sortField="+request['sortField']+
+            //request['latestCompilation']
+            var url="?compilation="+compilation+"&latestCompilation="+latestCompilation+"&sortField="+request['sortField']+
                 "&sort="+request['sort']
             refreshCuringPagination(url,currentPage);
     	}else{

+ 8 - 0
global/js/cloud/buildHtml.js

@@ -122,6 +122,14 @@ function buildCuringCompilation(data){
         upMajorBoxHtml+='<tr>';
         upMajorBoxHtml+='<td></td>';
         upMajorBoxHtml+='<td>'+ v.name+'</td>';
+
+        if(v.lock==1){
+            upMajorBoxHtml+='<td>借出</td>';
+        }else if(v.lock==2){
+            upMajorBoxHtml+='<td>销售</td>';
+        }else{
+            upMajorBoxHtml+='<td></td>';
+        }
         upMajorBoxHtml+='<td>';
         
         var deadline='';

+ 2 - 1
global/js/cloud/curing.js

@@ -296,7 +296,8 @@ $(function () {
         if (parameter != '') {
             var currentPage = $('button[closeRefresh]').attr('currentPage');
             request = GetRequest(parameter);
-            var url="?compilation="+compilation+"&latestCompilation="+request['latestCompilation']+"&sortField="+request['sortField']+
+//request['latestCompilation']
+            var url="?compilation="+compilation+"&latestCompilation="+latestCompilation+"&sortField="+request['sortField']+
                     "&sort="+request['sort']
 
             refreshCuringPagination(url, currentPage);

+ 40 - 8
global/js/cloud/curingHtml.js

@@ -122,30 +122,62 @@ function buildCuringCompilation(data){
         upMajorBoxHtml+='<tr>';
         upMajorBoxHtml+='<td></td>';
         upMajorBoxHtml+='<td>'+ v.name+'</td>';
+
+        if(v.lock==1){
+            upMajorBoxHtml+='<td>借出</td>';
+        }else if(v.lock==2){
+            upMajorBoxHtml+='<td>销售</td>';
+        }else{
+            upMajorBoxHtml+='<td></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){
+            upMajorBoxHtml+='已升级';
+        }else{}
+        upMajorBoxHtml+='</td>';
 
         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+='<td>'+deadline+'</td>';
         }else{
-            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>';
+            upMajorBoxHtml+='<td></td>';
         }
-        upMajorBoxHtml+='</td>';
 
+        //操作相关
+        upMajorBoxHtml+='<td>';
         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>';
+            upMajorBoxHtml+='<a href="#degrade-confirm" onclick=downCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'","0") class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#degrade-confirm">降级</a>';
+            if(v.lock==1){
+                upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'","2")  ' +
+                    'href="#update-confirm"  class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">销售</a>';
+            }
         }else{
-            upMajorBoxHtml+=`<td></td>`;
+            //借出,销售
+            if(v.lock==1){
+                upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'","2")  ' +
+                    'href="#update-confirm"  class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">销售</a>';
+            }else if(v.lock==2){
+            }else{
+                upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'","1")  ' +
+                    'href="#update-confirm"  class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">借出</a>';
+                upMajorBoxHtml+='<a onclick=upCuring("'+ v.name+'","'+ v._id+'","'+data.detail.userInfo.username+'","2")  ' +
+                    'href="#update-confirm"  class="btn btn-xs btn-outline-danger ml-2 waves-effect waves-themed" data-toggle="modal" data-target="#update-confirm">销售</a>';
+            }
         }
+        if(v.isUpgrade !== undefined && v.isUpgrade === true){
+            //期限
+            upMajorBoxHtml+='<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>';
+        }
+
+        upMajorBoxHtml+='</td>';
 
+        upMajorBoxHtml+='</tr>';
     });
     
     return upMajorBoxHtml;

+ 48 - 21
views/cloud/build.html

@@ -389,7 +389,7 @@
                             <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 " 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="#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-server" role="tab" aria-selected="false">服务记录</a></li> -->
                             </ul>
@@ -397,7 +397,14 @@
                                 <div class="tab-pane fade active show sheet-panel-righttop" id="tab-yun" role="tabpanel" aria-labelledby="tab-yun">
                                     <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>
+                                            <thead><tr>
+                                                <th class="border-0"></th>
+                                                <th class="border-0">产品</th>
+                                                <th class="border-0">状态</th>
+                                                <th class="border-0">专业版</th>
+                                                <th class="border-0">限期</th>
+                                                <th class="border-0">操作</th>
+                                            </tr></thead>
                                             <tbody upMajorBox >
 
                                             </tbody>
@@ -419,22 +426,22 @@
                                             </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>
+                                <!--<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>
+                                        <!--</table>-->
 
-                                    </div>
-                                </div>
+                                    <!--</div>-->
+                                <!--</div>-->
 
                             </div>
 
@@ -449,14 +456,34 @@
                             -->
                         <div class="sheet-panel-record" operateLog >
                             <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="#serve-record" role="tab" aria-selected="true">服务记录</a></li>
+                                <li class="nav-item ml-4"><a class="nav-link text-center " data-toggle="tab" href="#tab-log" role="tab" aria-selected="true">日志</a></li>
                             </ul>
                             <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="slimScrol4">
-                                        <curingOperate></curingOperate>
 
-                                    </div>
+                                <div class="tab-pane fade active show sheet-panel-log" id="serve-record" role="tabpanel" aria-labelledby="tab-server">
+
+                                        <div class="slimScrol4">
+                                            <table class="table">
+                                                <thead><tr><th class="border-0"></th><th class="border-0">类型/时间</th><th class="border-0">服务内容</th></tr></thead>
+                                                <tbody serveRecord >
+
+                                                </tbody>
+
+                                            </table>
+
+                                        </div>
+
+                                </div>
+
+
+                                <div class="tab-pane fade   sheet-panel-log" id="tab-log" role="tabpanel" aria-labelledby="tab-log">
+
+                                        <div class="slimScrol4">
+                                            <curingOperate></curingOperate>
+
+                                        </div>
+
                                 </div>
                             </div>
                         </div>

+ 47 - 26
views/cloud/curing.html

@@ -385,7 +385,7 @@
                             <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 " 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="#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>
                                  -->
                             </ul>
@@ -396,8 +396,10 @@
                                             <thead><tr>
                                                 <th class="border-0"></th>
                                                 <th class="border-0">产品</th>
+                                                <th class="border-0">状态</th>
                                                 <th class="border-0">专业版</th>
                                                 <th class="border-0">限期</th>
+                                                <th class="border-0">操作</th>
                                             </tr></thead>
                                             <tbody upMajorBox >
 
@@ -420,22 +422,22 @@
                                             </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>
+                                <!--<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>
+                                        <!--</table>-->
 
-                                    </div>
-                                </div>
+                                    <!--</div>-->
+                                <!--</div>-->
 
 
                             </div>
@@ -443,25 +445,44 @@
 
                             </div>
 
-                            <!--
-                            <div class="sheet-btns mt-3">
-                                <a href="#add-server" class="btn btn-xs btn-outline-primary" data-toggle="modal" data-target="#add-server"><i class="far fa-plus"></i> 添加服务记录</a>
-                                <a href="#add-lock" class="btn btn-xs btn-outline-primary" data-toggle="modal" data-target="#add-lock"><i class="far fa-link"></i> 绑定加密锁</a></div>
-                            </div>
-                            -->
+
                         <div class="sheet-panel-record" operateLog >
                             <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="#serve-record" role="tab" aria-selected="true">服务记录</a></li>
+                                <li class="nav-item ml-4"><a class="nav-link text-center " data-toggle="tab" href="#tab-log" role="tab" aria-selected="true">日志</a></li>
                                  </ul>
                             <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="slimScrol4">
-                                        <curingOperate></curingOperate>
-                                    </div>
+
+                                <div class="tab-pane fade active show sheet-panel-log" id="serve-record" role="tabpanel" aria-labelledby="tab-server">
+
+                                        <div class="slimScrol4">
+                                            <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 class="tab-pane fade  show sheet-panel-log" id="tab-log" role="tabpanel" aria-labelledby="tab-log">
+
+                                        <div class="slimScrol4">
+                                            <curingOperate></curingOperate>
+                                        </div>
+
+
                                 </div>
 
 
 
+
                             </div>
                         </div>