xiaohaizhao пре 1 месец
родитељ
комит
42bcf15f3c

+ 13 - 10
E-service/serviceBillList/detail.js

@@ -33,11 +33,6 @@ Page({
       label: "受理信息",
       idname: "sa_serviceorderid",
       color: "#3874F6"
-    }, {
-      label: "关联改善单",
-      idname: "sa_serviceorderid",
-      color: "#F48403",
-      model: "#Improvement"
     }],
     tabsActive: 0,
     reason: {
@@ -88,9 +83,8 @@ Page({
       this.partialRenewal();
       const appAuth = wx.getStorageSync('auth').applyBill;
       if (appAuth.options.some(v => v == 'workOrders')) await this.getWorkDetail(res.data.sa_workorderid)
-
-      this.setData({
-        tabsList: this.data.tabsList.concat([{
+      if (!this.data.tabsList.some(v => v.label == '附件')) {
+        let list = [{
           label: "附件",
           color: "#ED4949",
           model: "#Files"
@@ -98,8 +92,17 @@ Page({
           label: "操作记录",
           color: "#ED4949",
           model: "#Record"
-        }])
-      })
+        }]
+        if (appAuth.options.some(v => v == 'improve')) list.unshift({
+          label: "关联改善单",
+          idname: "sa_serviceorderid",
+          color: "#F48403",
+          model: "#Improvement"
+        })
+        this.setData({
+          tabsList: this.data.tabsList.concat(list)
+        })
+      }
     })
   },
   getWorkDetail(id) {

+ 1 - 1
E-service/serviceBillList/detail.wxml

@@ -68,7 +68,7 @@
 	<Yl_Empty wx:else slot='工序详情' />
 
 	<WorkOrderTeam slot='服务团队' list='{{workDetail.team}}' projectleader='{{workDetail.projectleader}}' sa_workorderid='{{workDetail.sa_workorderid}}' disabled="{{true}}" />
-	<WorkOrderProduct slot='工单服务商品' id='WorkOrderProduct' disabled="{{true}}" />
+	<WorkOrderProduct slot='工单服务商品' id='WorkOrderProduct' sa_serviceorderid='{{detail.sa_serviceorderid}}' disabled="{{true}}" />
 	<WorkOrderMaterial slot='工单物料' id='WorkOrderMaterial' />
 	<WorkOrderNotarizeBill slot='服务确认单' billData='{{workDetail}}' id='WorkOrderNotarizeBill' disabled="{{true}}" />
 

+ 4 - 4
E-service/serviceBillList/insert.js

@@ -220,7 +220,6 @@ Page({
       let form = this.data.form,
         data = getCurrentPages().find(v => v.__route__ == 'E-service/serviceBillList/detail').data.detail;
       data.region = data.province ? [data.province, data.city, data.county] : [];
-      this.data.sa_orderid = data.sa_orderid ? [data.sonum, [data.sa_orderid]] : '';
       form = form.map(v => {
         switch (v.valueName) {
           case 'sys_enterpriseid':
@@ -234,9 +233,9 @@ Page({
       })
       this.setData({
         form,
-        "content.sa_serviceorderid": data.sa_serviceorderid
+        content: data,
+        sa_orderid: data.sa_orderid ? [data.sonum, [data.sa_orderid]] : ''
       })
-      this.setOrdeForm();
       this.selectComponent("#Form").confirm()
     }
     this.setOrdeForm();
@@ -290,7 +289,7 @@ Page({
             }
           });
         } else {
-          wx.navigateTo({
+          wx.redirectTo({
             url: `/E-service/serviceBillList/detail?id=${res.data.sa_serviceorderid}&type=${this.data.type}`,
             success: () => {
               wx.showToast({
@@ -427,6 +426,7 @@ Page({
           this.setData({
             form
           })
+          this.setOrdeForm();
         }
       })
     } else {

+ 2 - 2
E-service/serviceImprovement/analysis/change.js

@@ -37,12 +37,12 @@ Page({
       required: true,
       interrupt: true
     }, {
-      label: "真因分析",
+      label: "主要原因",
       error: false,
       errMsg: "",
       type: "textarea",
       value: "",
-      placeholder: "真因分析",
+      placeholder: "主要原因",
       valueName: "main_reason",
       required: true,
       checking: "base"

+ 176 - 60
E-service/serviceImprovement/detail.js

@@ -39,6 +39,10 @@ Page({
     }],
     user_analysis: false,
     user_charge: false,
+    reason: {
+      abortreason: "",
+      backreason: ""
+    }
   },
   onLoad(options) {
     this.setData({
@@ -73,18 +77,19 @@ Page({
       const appAuth = wx.getStorageSync('auth').wServiceImprovement;
       if (appAuth.options.some(v => v == 'applicationForm')) await this.getServiceDetail(res.data.sa_serviceorderid)
       if (appAuth.options.some(v => v == 'workOrders')) await this.getWorkDetail(res.data.sa_workorderid)
-      this.setData({
-        tabsList: this.data.tabsList.concat([{
-          label: "附件",
-          color: "#ED4949",
-          model: "#Files"
-        }, {
-          label: "操作记录",
-          color: "#ED4949",
-          model: "#Record"
-        }])
-      })
-
+      if (!this.data.tabsList.some(v => v.label == '附件')) {
+        this.setData({
+          tabsList: this.data.tabsList.concat([{
+            label: "附件",
+            color: "#ED4949",
+            model: "#Files"
+          }, {
+            label: "操作记录",
+            color: "#ED4949",
+            model: "#Record"
+          }])
+        })
+      }
     })
   },
   getServiceDetail(id) {
@@ -188,53 +193,99 @@ Page({
   setPreview(res) {
     /* 基本信息 */
     let list1 = [{
-      label: "改善单号",
-      value: res.data.billno
-    }, {
-      label: "改善类别",
-      value: res.data.type
-    }, {
-      label: "状态",
-      value: getApp().globalData.Language.getMapText(res.data.status),
-      style: `color:${this.data.sColors[res.data.status]}`
-    }, {
-      label: "工单号",
-      value: res.data.billno_workorder
-    }, {
-      label: "申请单号",
-      value: res.data.billno_serviceorder
-    }, {
-      label: "客诉大类",
-      value: res.data.class2
-    }, {
-      label: "分析负责人",
-      value: res.data.name_analysis
-    }, {
-      label: "方案编辑人",
-      value: res.data.name_charge
-    }, {
-      label: "责任部门",
-      value: res.data.depname_charge
-    }, {
-      label: "方案发布人",
-      value: res.data.sendby, // 使用 sendby 字段
-    }, {
-      label: "改善计划周期",
-      value: res.data.planned_cycle // 使用 planned_cycle 字段
-    }, {
-      label: "改善实际周期",
-      value: res.data.actual_cycle // 使用 actual_cycle 字段
-    }, {
-      label: "改善方案进度",
-      value: res.data.progress * 100 + '%'
-    }, {
-      label: "改善结果",
-      value: res.data.result,
-      style: `color:${this.data.tabColorS[res.data.result].color}`
-    }, {
-      label: "备注",
-      value: res.data.remarks
-    }];
+        label: "改善单号",
+        value: res.data.billno
+      }, {
+        label: "改善类别",
+        value: res.data.type
+      }, {
+        label: "状态",
+        value: getApp().globalData.Language.getMapText(res.data.status),
+        style: `color:${this.data.sColors[res.data.status]}`
+      }, {
+        label: "工单号",
+        value: res.data.billno_workorder
+      }, {
+        label: "申请单号",
+        value: res.data.billno_serviceorder
+      }, {
+        label: "客诉大类",
+        value: res.data.class2
+      }, {
+        label: "分析负责人",
+        value: res.data.name_analysis
+      },
+      {
+        "label": "问题描述",
+        "value": res.data.workorderinfo.remarks
+      },
+      {
+        "label": "企业名称",
+        "value": res.data.workorderinfo.enterprisename
+      },
+      {
+        "label": "省市县",
+        "value": res.data.workorderinfo.province + ' ' + res.data.workorderinfo.city + ' ' + res.data.workorderinfo.county
+      },
+      {
+        "label": "地址",
+        "value": res.data.workorderinfo.address
+      },
+      {
+        "label": "应用系统",
+        "value": res.data.workorderinfo.class1
+      },
+      {
+        "label": "工单类型",
+        "value": res.data.workorderinfo.type
+      },
+      {
+        "label": "服务负责人",
+        "value": res.data.workorderinfo.projectleader
+      },
+      {
+        "label": "业务员",
+        "value": res.data.workorderinfo.saler_name
+      },
+      {
+        "label": "业务员手机号",
+        "value": res.data.workorderinfo.saler_phonenumber
+      },
+      {
+        "label": "项目名称",
+        "value": res.data.workorderinfo.projectname
+      },
+      {
+        "label": "历史服务次数",
+        "value": res.data.workorderinfo.historicalservicesqty
+      },
+      {
+        label: "方案编辑人",
+        value: res.data.name_charge
+      }, {
+        label: "责任部门",
+        value: res.data.depname_charge
+      }, {
+        label: "方案发布人",
+        value: res.data.sendby, // 使用 sendby 字段
+      }, {
+        label: "改善计划周期",
+        value: res.data.planned_cycle // 使用 planned_cycle 字段
+      }, {
+        label: "改善实际周期",
+        value: res.data.actual_cycle // 使用 actual_cycle 字段
+      }, {
+        label: "改善方案进度",
+        value: res.data.progress * 100 + '%'
+      }, {
+        label: "改善结果",
+        value: res.data.result,
+        style: `color:${this.data.tabColorS[res.data.result].color}`
+      }, {
+        label: "备注",
+        value: res.data.remarks
+      }
+    ];
     /* 系统信息 */
     let list2 = [{
       label: "创建时间",
@@ -296,6 +347,39 @@ Page({
   areaInput(e) {
     this.data.reason[e.currentTarget.dataset.name] = e.detail.value;
   },
+  onSelectLeader({
+    detail
+  }) {
+    const that = this;
+    wx.showModal({
+      title: getApp().globalData.Language.getMapText('提示'),
+      content: getApp().globalData.Language.getMapText(`是否确认选择`) + getApp().globalData.Language.getMapText(detail.name) + getApp().globalData.Language.getMapText(`执行改善单`) + '?',
+      confirmBtn: getApp().globalData.Language.getMapText('确定'),
+      cancelBtn: getApp().globalData.Language.getMapText('取消'),
+      complete: ({
+        confirm
+      }) => {
+        if (confirm) _Http.basic({
+          "content": {
+            "sa_service_improvementid": that.data.detail.sa_service_improvementid,
+            "userid_analysis": detail.userid
+          },
+          "id": 2026030414420602,
+        }).then(res => {
+          getApp().globalData.Language.showToast(res.code == '1' ? "操作成功" : res.msg)
+          if (res.code == 1) {
+            that.getDetail()
+            that.clearUsers()
+          }
+        })
+      }
+    })
+  },
+  clearUsers() {
+    this.setData({
+      "users": []
+    })
+  },
   tabbarOnClick(e) {
     let that = this,
       detail = this.data.detail;
@@ -305,6 +389,32 @@ Page({
           abortreasonShow: true
         })
         break;
+      case '转单':
+        let leader = '';
+        try {
+          leader = detail.userid_analysis || 0
+        } catch (error) {
+
+        }
+        _Http.basic({
+          id: 20230213143003,
+          content: {
+            pageSize: 9999
+          }
+        }).then(res => {
+          console.log("转单", res)
+          if (res.code != '1') return wx.showToast({
+            title: res.msg,
+            icon: "none"
+          })
+          this.setData({
+            users: res.data.map(v => {
+              v.disabled = v.userid == leader
+              return v
+            })
+          })
+        })
+        break;
       case '编辑':
         wx.navigateTo({
           url: `/E-service/serviceImprovement/edit`
@@ -407,6 +517,10 @@ Page({
         icon: "icon-bianji2",
         label: "编辑"
       },
+      转单: {
+        icon: "icon-dibu-biangengchengjiaozhuangtai",
+        label: "转单"
+      },
       提交分析: {
         icon: "icon-tijiao",
         label: "提交分析"
@@ -436,7 +550,8 @@ Page({
     }
     if (detail.userid_analysis == userid) {
       //真因分析负责人
-      statusOptions.新建.splice(1, 0, '提交分析')
+      statusOptions.新建.push('转单')
+      statusOptions.新建.splice(2, 0, '提交分析')
       statusOptions.分析已提交.unshift('撤回分析')
       statusOptions.新建.push('中止')
       statusOptions.分析已提交.push('中止')
@@ -495,6 +610,7 @@ Page({
             pageTotal
           } = Component.data.content,
           id = this.data.detail[ac.idname || 'sa_service_improvementid'];
+        if (model == '#Execute') init = true;
         if (total == null || init) {
           Component.getList(id, init);
         } else if (pageNumber <= pageTotal) {

+ 3 - 1
E-service/serviceImprovement/detail.wxml

@@ -83,4 +83,6 @@
 
 <van-dialog confirmButtonText="{{language['确定']||'确定'}}" cancelButtonText="{{language['取消']||'取消'}}" use-slot title="{{language['退回']||'退回'}}" show="{{ backreasonShow }}" show-cancel-button confirm-button-color='#3874F6' bind:confirm='onBack' bind:cancel='onCancel'>
 	<textarea placeholder="{{language['退回原因']||'退回原因'}}" value="{{reason.backreason}}" data-name="backreason" bindinput="areaInput" class="textarea" />
-</van-dialog>
+</van-dialog>
+
+<van-action-sheet bind:select='onSelectLeader' show="{{ users.length }}" bind:click-overlay='clearUsers' bind:cancel='clearUsers' actions="{{ users }}" cancel-text="{{language['取消']||'取消'}}" z-index='9999999999' />

+ 0 - 1
E-service/serviceImprovement/execute/index.js

@@ -121,7 +121,6 @@ Component({
         this.setData({
           "content.pageNumber": res.pageNumber + 1,
           "content.pageTotal": res.pageTotal,
-          "content.total": res.total,
           list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
           sa_service_improvementid: content.sa_service_improvementid
         })

+ 1 - 1
E-service/workOrder/Improvement/index.scss

@@ -1,4 +1,4 @@
-.head {
+.head111 {
 	display: flex;
 	align-items: center;
 	width: 100vw;

+ 1 - 1
E-service/workOrder/Improvement/index.wxml

@@ -1,4 +1,4 @@
-<view class="head">
+<view class="head111">
 	<view class="count">
 		{{language['关联改善单']||'关联改善单'}}
 	</view>

+ 3 - 0
E-service/workOrder/Pview/index.js

@@ -85,6 +85,9 @@ Component({
       }, {
         label: "业务员电话",
         value: res.data.saler_phonenumber
+      }, {
+        label: "历史服务次数",
+        value: res.data.historicalservicesqty
       }, {
         label: "异常类型",
         value: res.data.exception_type

+ 13 - 9
E-service/workOrder/detail.js

@@ -52,11 +52,6 @@ Page({
       label: "工单信息",
       idname: "sa_workorderid",
       color: "#2AA520"
-    }, {
-      label: "关联改善单",
-      idname: "sa_workorderid",
-      color: "#F48403",
-      model: "#Improvement"
     }],
     tabsActive: 0,
     reason: {
@@ -102,8 +97,8 @@ Page({
       this.partialRenewal()
       const appAuth = wx.getStorageSync('auth').workBill;
       if (appAuth.options.some(v => v == 'applicationForm')) await this.getServiceDetail(res.data.sa_serviceorderid)
-      this.setData({
-        tabsList: this.data.tabsList.concat([{
+      if (!this.data.tabsList.some(v => v.label == '附件')) {
+        let list = [{
           label: "附件",
           color: "#ED4949",
           model: "#Files"
@@ -111,8 +106,17 @@ Page({
           label: "操作记录",
           color: "#ED4949",
           model: "#Record"
-        }])
-      })
+        }]
+        if (appAuth.options.some(v => v == 'improve')) list.unshift({
+          label: "关联改善单",
+          idname: "sa_workorderid",
+          color: "#F48403",
+          model: "#Improvement"
+        })
+        this.setData({
+          tabsList: this.data.tabsList.concat(list)
+        })
+      }
     })
   },
   getServiceDetail(id) {

+ 1 - 1
E-service/workOrder/detail.wxml

@@ -67,7 +67,7 @@
 		<WorkOrderNodes id='WorkOrderNodes' wx:if="{{detail}}" nodes='{{detail.nodes}}' sa_workorderid='{{detail.sa_workorderid}}' status="{{detail.status}}" />
 	</view>
 	<WorkOrderTeam slot='服务团队' list='{{detail.team}}' projectleader='{{detail.projectleader}}' sa_workorderid='{{detail.sa_workorderid}}' disabled="{{detail.status != '进行中' || (detail.status == '进行中' && !isLeader && !isworkleader)}}" />
-	<WorkOrderProduct slot='工单服务商品' id='WorkOrderProduct' disabled="{{detail.status != '进行中' || (detail.status == '进行中' && !isLeader && !isworkleader)}}" />
+	<WorkOrderProduct slot='工单服务商品' id='WorkOrderProduct' sa_serviceorderid='{{detail.sa_serviceorderid}}' disabled="{{detail.status != '进行中' || (detail.status == '进行中' && !isLeader && !isworkleader)}}" />
 	<WorkOrderMaterial slot='工单物料' id='WorkOrderMaterial' />
 	<WorkOrderNotarizeBill slot='服务确认单' billData='{{detail}}' id='WorkOrderNotarizeBill' disabled="{{detail.status != '进行中'}}" />
 	<Improvement slot='关联改善单' id='Improvement' idname='2026022709163402' />

+ 3 - 0
E-service/workOrder/product/index.js

@@ -5,6 +5,9 @@ Component({
     disabled: {
       type: Boolean,
       value: false
+    },
+    sa_serviceorderid: {
+      type: [String, Number]
     }
   },
   options: {

+ 1 - 1
Eservice/signName/index.js

@@ -621,7 +621,7 @@ Page({
     api._post({
       "id": 2025032710574302,
       "content": {
-        "sa_workorderid": pages.data.bindSignNameData.ownerid
+        "sa_workorderid": pages.data.mainData.sa_workorderid
       },
     }).then(res => {
       console.log("邮件通知", res)

+ 1 - 0
components/Yl_Tabbar/index.js

@@ -27,6 +27,7 @@ Component({
     },
     observers: {
         'list': function (numberA, numberB) {
+            console.log("numberA",numberA)
             numberA = numberA.map(v => {
                 v.classnames = (v.icon.split("-")[0] == 'color' ? 't-icon ' : 'iconfont ') + v.icon
                 return v

+ 9 - 2
project.private.config.json

@@ -24,12 +24,19 @@
   "condition": {
     "miniprogram": {
       "list": [
+        {
+          "name": "E-service/serviceImprovement/detail",
+          "pathName": "E-service/serviceImprovement/detail",
+          "query": "id=11",
+          "scene": null,
+          "launchMode": "default"
+        },
         {
           "name": "E-service/workOrder/detail",
           "pathName": "E-service/workOrder/detail",
           "query": "id=1406",
-          "scene": null,
-          "launchMode": "default"
+          "launchMode": "default",
+          "scene": null
         },
         {
           "name": "E-service/workOrder/detail",