qymljy 1 месяц назад
Родитель
Сommit
1eeaaba321

+ 21 - 4
src/HDrpManagement/serviceImprovement/components/associatedImprovementOrder/index.vue

@@ -9,7 +9,8 @@
         </div>
         <div v-else-if="scope.column.columnname === 'billno'">
 <!--          <drawerDetail :btn_title="scope.column.data[[scope.column.columnname]]" :data="scope.column.data"></drawerDetail>-->
-          {{scope.column.data[[scope.column.columnname]]}}
+<!--          <el-button type="text" size="small" @click="goDetail(scope.column.data)">{{scope.column.data[[scope.column.columnname]]}}</el-button>-->
+          <span>{{scope.column.data[[scope.column.columnname]]}}</span>
         </div>
         <div v-else>
           {{ scope.column.data[[scope.column.columnname]] || scope.column.columnname === 'operation' ? scope.column.data[[scope.column.columnname]] : '--' }}
@@ -76,9 +77,25 @@ export default {
       this.listData()
     },
     goDetail(data){
-      this.$router.replace({
-        path: "/serviceImprovementDetail",
-        query: { id: data.sa_service_improvementid,rowindex: data.rowindex},
+      // this.$router.replace({
+      //   path: "/serviceImprovementDetail",
+      //   query: { id: data.sa_service_improvementid,rowindex: data.rowindex},
+      // });
+      this.$store.dispatch("changeDetailDrawer", false);
+      this.$nextTick(() => {
+        let route = this.$route;
+        if (route.path !== "serviceImprovementDetail2") {
+          this.oldRoute = { path: route.path, query: route.query };
+          this.$store.dispatch("setHistoryRouter", this.oldRoute);
+        }
+
+        this.$router.push({
+          path: "/serviceImprovementDetail2",
+          query: {
+            id: data.sa_service_improvementid,
+          },
+        });
+        this.$store.dispatch("changeDetailDrawer", true);
       });
     }
   },

+ 146 - 9
src/HDrpManagement/serviceImprovement/modules/detail2.vue

@@ -19,6 +19,38 @@
         @onEditSuccess="queryMainData($route.query.id)">
       <div slot="customOperation">
         <edit class="inline-16" v-if="(mainData.status != '已完成' && mainData.status != '已中止') && someUserid" @editSuccess="queryMainData($route.query.id)" :data="mainData"></edit>
+        <refundOrder class="inline-16" btnTitle="转单" btnType="primary" @dialogShow="dialogShow" @onSubmit="onSubmit" ref="refundOrderRef"
+                     @onCancel="onCancel">
+          <template slot="formRule">
+            <el-form
+                :model="form"
+                :rules="rules"
+                ref="form"
+                :label-width="tool.onlyZh('125px')"
+                label-position="top"
+                size="mini"
+            >
+              <el-form-item :label="$t('请选择改善单真因分析人') + ':'" prop="userid_analysis">
+                <el-select
+                    v-model="form.userid_analysis"
+                    :placeholder="$t('请选择')"
+                    style="width: 100%"
+                    size="mini"
+                    filterable
+                >
+                  <el-option
+                      v-for="(item, index) in personList"
+                      :key="index"
+                      :label="$t(item.name)"
+                      :value="item.userid"
+                  >
+                    <span style="float: left">{{ $t(item.name) }}</span>
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-form>
+          </template>
+        </refundOrder>
         <customBtn
             btnName="提交分析"
             message="是否确定提交真因分析?"
@@ -78,7 +110,7 @@
       </div>
       <div slot="slot0" >
         <div v-if="!tool.checkAuth($route.name,'linkedApplication') && !tool.checkAuth($route.name,'linkedTicket')">
-          <serviceImprovement :mainData="mainData"></serviceImprovement>
+          <serviceImprovement :mainData="mainData" :someUserid="someUserid" @Success="queryMainData"></serviceImprovement>
         </div>
         <div v-if="tool.checkAuth($route.name,'linkedApplication')">
           <serviceApplication  ref="serviceApplicationRef" v-if="mainData" :mainData="mainData" :new-query="true"></serviceApplication>
@@ -94,11 +126,11 @@
                             :team_name="team_name" :team_phone_number="team_phone_number" :new-query="true"></serviceWorkOrder>
         </div>
         <div v-else>
-          <serviceImprovement :mainData="mainData"></serviceImprovement>
+          <serviceImprovement :mainData="mainData" :someUserid="someUserid" @Success="queryMainData"></serviceImprovement>
         </div>
       </div>
       <div slot="slot2" >
-        <serviceImprovement :mainData="mainData"></serviceImprovement>
+        <serviceImprovement :mainData="mainData" :someUserid="someUserid" @Success="queryMainData"></serviceImprovement>
       </div>
     </basicDetails>
   </div>
@@ -109,13 +141,15 @@ import serviceApplication from "@/HDrpManagement/serveBillMag/components/service
 import serviceWorkOrder from '@/HDrpManagement/serveWorkBill/modules/serviceWorkOrder/index';
 import serviceImprovement from '@/HDrpManagement/serviceImprovement/components/serviceImprovement/index'
 import edit from './edit'
+import refundOrder from '@/components/dialogTemplate/index2'
 export default {
-  name: "detail",
+  name: "detail2",
   components:{
     serviceApplication,
     serviceWorkOrder,
     edit,
-    serviceImprovement
+    serviceImprovement,
+    refundOrder
   },
   data(){
     return {
@@ -125,15 +159,28 @@ export default {
       team_name:'',
       team_phone_number:'',
       userid:JSON.parse(sessionStorage.getItem('active_account')).userid,
-      someUserid:false
+      someUserid:false,
+      form:{
+        userid_analysis:''
+      },
+      rules:{
+        userid_analysis: [
+          {
+            required: true,
+            message: this.$t("请选择改善单真因分析人"),
+            trigger: "change",
+          },
+        ],
+      },
+      personList:[]
     }
   },
   methods:{
-    async queryMainData(id){
+    async queryMainData(){
       const res = await this.$api.requested({
         "id": 2026013111234002,
         "content": {
-          "sa_service_improvementid": id
+          "sa_service_improvementid": this.$route.query.id
         },
       })
       this.mainData = res.data
@@ -146,6 +193,14 @@ export default {
     },
     changeDataStructure(){
       let that = this
+      if (this.mainData.workorderinfo.team && this.mainData.workorderinfo.team.length > 0){
+        this.mainData.workorderinfo.team.forEach(item => {
+          if (item.isleader){
+            this.team_name = item.name
+            this.team_phone_number = item.phonenumber
+          }
+        })
+      }
       this.mainAreaData = [
         {label:'改善单号',value:this.mainData.billno},
         {label:'改善类别',value:this.mainData.type},
@@ -158,6 +213,51 @@ export default {
         {label:'工单号',value:this.mainData.billno_workorder},
         {label:'申请单号',value:this.mainData.billno_serviceorder},
         {label:'客诉大类',value:this.mainData.class2},
+        {
+          label: "问题描述",
+          value: this.mainData.workorderinfo.reason,
+        },
+        {
+          label: "企业名称",
+          value: this.mainData.workorderinfo.enterprisename,
+        },
+        {
+          label: "省市县",
+          value:
+              this.mainData.workorderinfo.province + this.mainData.workorderinfo.city + this.mainData.workorderinfo.county,
+        },
+        {
+          label: "详细地址",
+          value: this.mainData.workorderinfo.address,
+        },
+        {
+          label: "应用系统",
+          value: this.mainData.workorderinfo.class1,
+        },
+        {
+          label: "工单类型",
+          value: this.mainData.workorderinfo.type,
+        },
+        {
+          label: "服务负责人",
+          value: this.team_name,
+        },
+        {
+          label: "业务员",
+          value: this.mainData.workorderinfo.saler_name,
+        },
+        {
+          label: "业务员手机号",
+          value: this.mainData.workorderinfo.saler_phonenumber,
+        },
+        {
+          label: "项目名称",
+          value: this.mainData.workorderinfo.projectname,
+        },
+        {
+          label: "历史服务次数",
+          value: this.tool.qtyShow(this.mainData.workorderinfo.historicalservicesqty),
+        },
         {label:'分析负责人',value:this.mainData.name_analysis},
         {label:'真因分析时间',value:this.mainData.submitdate},
         {label:'方案编辑人',value:this.mainData.name_charge},
@@ -171,7 +271,8 @@ export default {
           style:function () {
             let style = that.tool.getStatusColor(that.mainData.result)
             return style
-          }},
+          }
+        },
         {label:'创建时间',value:this.mainData.createdate},
         {label:'完成时间',value:this.mainData.finishdate},
         {label:'备注',value:this.mainData.remarks},
@@ -184,6 +285,42 @@ export default {
       this.$router.replace({path:'/serveBillDetail',query:{id:id,rowindex:rowindex,tabIndex:tabIndex}})
       this.queryMainData(id)
     },
+    async dialogShow(){
+      this.form.userid_analysis = ''
+      const res = await this.$api.requested({
+        id:20230213143003,
+        content:{
+          isExport:0,
+          pageNumber:1,
+          pageSize:9999999
+        }
+      })
+      if (res.code == 0){
+        this.tool.showMessage(res,()=>{})
+      }else {
+        this.personList = res.data
+      }
+    },
+    onSubmit(){
+      this.$refs.form.validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "content": {
+            "sa_service_improvementid": this.$route.query.id,
+            "userid_analysis": this.form.userid_analysis//userid
+          },
+          "id": "2026030414420602",
+        })
+        this.tool.showMessage(res,()=>{
+          this.$refs.refundOrderRef.dialogTableVisible = false
+          this.$refs.form.resetFields()
+          this.queryMainData()
+        })
+      })
+    },
+    onCancel(){
+      this.$refs.form.resetFields()
+    }
   },
   mounted() {
     this.queryMainData()

+ 1 - 1
src/router/HDrpManagement.js

@@ -940,7 +940,7 @@ const HDrpManagement = [
         path: '/serviceImprovementDetail2',
         name:'serviceImprovement',
         meta: {
-          title: '服务改善详情',
+          title: '服务改善详情2',
           ast_nav: true,
           keeproute: true,
         },