qymljy 2 месяцев назад
Родитель
Сommit
e6927e0485

+ 4 - 5
src/HDrpManagement/serveWorkBill/modules/serviceWorkOrder/index.vue

@@ -4,13 +4,12 @@
       <el-tab-pane label="工序详情" name="工序详情">
         <taskDetail :data="nodes" :nodesData="internalData" :newQuery="newQuery" ref="taskRefDetail">
           <template v-slot:edit="scope">
-            <edit class="inline-16" :data="scope.data" v-if="scope.data.parentid != 0 && scope.data.status != 1  && (internalData.isServerMag || internalData.isleader) && internalData.status == '进行中' && tool.checkAuth($route.name,'editProcess') " :mainData="mainData" @saveSuccess="finishSuccess" ></edit>
+            <edit class="inline-16" type="编辑" :data="scope.data" v-if="scope.data.parentid != 0 && scope.data.status != 1  && (internalData.isServerMag || internalData.isleader) && internalData.status == '进行中' && tool.checkAuth($route.name,'editProcess')"
+                  :mainData="mainData" @saveSuccess="finishSuccess" ></edit>
           </template>
           <template v-slot:detail="scope">
-            <taskListDetail
-                class="inline-16"
-                :data="scope.data"
-            ></taskListDetail>
+            <edit class="inline-16" type="详情" :data="scope.data"
+                  :mainData="mainData" @saveSuccess="finishSuccess" ></edit>
           </template>
 <!--           <template v-slot:edit="scope">
             <taskListEdit class="inline-16" :data="scope.data"/>

+ 11 - 2
src/HDrpManagement/serveWorkBill/modules/serviceWorkOrder/modules/addTrain.vue

@@ -133,7 +133,7 @@
         <el-button
             class="normal-btn-width inline-16"
             size="small"
-            @click="onClose"
+            @click="drawerVisible = false"
         >{{ $t("取 消") }}</el-button
         >
         <el-button
@@ -212,7 +212,16 @@ export default {
       this.drawerVisible = false
       this.$emit('trainAdd',this.form)
     },
-    onClose(){},
+    onClose(){
+      this.form = {
+        name:'',
+        phonenumber:'',
+        position:'',
+        enterprisename:'',
+        sys_enterpriseid:'',
+        userid:0
+      }
+    },
     /*清空按钮*/
     clearClick(type){
       if (type == '归属经销商'){

+ 60 - 17
src/HDrpManagement/serveWorkBill/modules/serviceWorkOrder/modules/edit.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button size="mini" type="text" @click="onEdit">{{$t(`编辑`)}}</el-button>
+    <el-button size="mini" type="text" @click="onEdit">{{$t(type)}}</el-button>
     <el-drawer
         :visible.sync="drawerVisible"
         size="700px"
@@ -22,7 +22,7 @@
       </template>
       <div class="drawer__panel" style="margin-bottom: 0 !important;" v-if="detailInfo">
         <div class="title-div">{{$t(`操作说明`)}}:</div>
-        <div class="content-div">{{detailInfo.workpresetjson.remarks || $t(`暂无说明`)}}</div>
+        <div class="content-div" style="margin-top: 10px">{{detailInfo.workpresetjson.remarks || $t(`暂无数据`)}}</div>
       </div>
       <div class="div-style-div"></div>
       <div class="title-div-title">{{$t(`操作人员`)}}:</div>
@@ -38,24 +38,26 @@
             <div v-if="detailInfo.team.length > 0" class="inline-16">
               <el-tag
                   v-for="item in detailInfo.team"
+                  :closable="type == '详情'?false:true"
                   :key="item.userid"
                   :type="item.type"
                   size="small"
+                  @close="tagClose(item)"
                   style="margin-right: 5px;margin-bottom: 5px"
                   effect="info">
                 {{ item.name }}
               </el-tag>
             </div>
           </div>
-          <addTeam :data="teamList" :teamData="detailInfo.team" :detailInfo="detailInfo" @addTeam="addTeam"></addTeam>
+          <addTeam :data="teamList" :teamData="detailInfo.team" :detailInfo="detailInfo" @addTeam="addTeam" :selectTeam="selectTeam" v-if="type == '编辑'"></addTeam>
         </div>
       </div>
       <div class="div-style-div"></div>
       <div v-if="detailInfo && detailInfo.workpresetjson.confirm != 0">
         <div class="title-div-title">{{$t(`是否确认`)}}<span v-if="detailInfo.workpresetjson.confirm == 11" style="color: #e13333">{{$t(`(必填)`)}}</span></div>
         <div class="drawer__panel" style="margin-bottom: 0 !important;" v-if="detailInfo">
-          <el-radio v-model="form.confirm_value" label="是" @change="onSave">{{$t(`是`)}}</el-radio>
-          <el-radio v-model="form.confirm_value" label="否" @change="onSave">{{$t(`否`)}}</el-radio>
+          <el-radio v-model="form.confirm_value" label="是" @change="onSave" :disabled="type == '详情'">{{$t(`是`)}}</el-radio>
+          <el-radio v-model="form.confirm_value" label="否" @change="onSave" :disabled="type == '详情'">{{$t(`否`)}}</el-radio>
         </div>
         <div class="div-style-div"></div>
       </div>
@@ -71,9 +73,10 @@
                 <p>{{(file.contentlength / 1024).toFixed(2)}}kb</p>
               </div>
             </div>
-            <i style="color:red;" class="el-icon-delete" @click="deleteFile(file,'附件')"></i>
+            <i style="color:red;" class="el-icon-delete" @click="deleteFile(file,'附件')" v-if="type == '编辑'"></i>
           </div>
           <upload
+              v-if="type == '编辑'"
               :folderid="folderid"
               @upload="loading = true"
               btntype="icon"
@@ -90,7 +93,8 @@
       <div v-if="detailInfo && detailInfo.workpresetjson.textedit != 0">
         <div class="title-div-title">{{$t(`文本信息`)}}<span v-if="detailInfo.workpresetjson.textedit == 11" style="color: #e13333">{{$t(`(必填)`)}}</span></div>
         <div class="drawer__panel" style="margin-bottom: 0 !important;" v-if="detailInfo">
-          <el-input v-model="form.textcontent" size="small" placeholder="请填写文本" @blur="onSave"></el-input>
+          <el-input v-model="form.textcontent" size="small" placeholder="请填写文本" @blur="onSave" v-if="type == '编辑'"></el-input>
+          <div v-else class="content-div">{{form.textcontent || $t(`暂无数据`)}}</div>
         </div>
         <div class="div-style-div"></div>
       </div>
@@ -106,9 +110,10 @@
                 <p>{{(file.contentlength / 1024).toFixed(2)}}kb</p>
               </div>
             </div>
-            <i style="color:red;" class="el-icon-delete" @click="deleteFile(file,'合同')"></i>
+            <i style="color:red;" class="el-icon-delete" @click="deleteFile(file,'合同')" v-if="type == '编辑'"></i>
           </div>
           <upload
+              v-if="type == '编辑'"
               :folderid="folderid"
               @upload="loading = true"
               btntype="icon"
@@ -125,7 +130,12 @@
       <div v-if="detailInfo && detailInfo.workpresetjson.amountpay != 0">
         <div class="title-div-title">{{$t(`是否有偿`)}}<span v-if="detailInfo.workpresetjson.amountpay == 11" style="color: #e13333">{{$t(`(必填)`)}}</span></div>
         <div class="drawer__panel" style="margin-bottom: 0 !important;" v-if="detailInfo">
-          <el-input v-model="form.amount" size="small" placeholder="请填写文本" @blur="onSave"></el-input>
+          <div style="display:flex;justify-content: left" v-if="type == '编辑'">
+            <div style="width: 55px;">{{$t(`金额:`)}}</div><el-input v-model="form.amount" size="small" placeholder="请填写文本" @blur="onSave"></el-input>
+          </div>
+          <div style="display:flex;justify-content: left" v-else>
+            <div style="width: 55px;">{{$t(`金额:`)}}</div><div>{{tool.formatAmount(form.amount,2,'¥')}}</div>
+          </div>
         </div>
         <div class="div-style-div"></div>
       </div>
@@ -133,7 +143,7 @@
       <div v-if="detailInfo && detailInfo.workpresetjson.signature != 0">
         <div class="title-div-title">{{$t(`客户签字`)}}<span v-if="detailInfo.workpresetjson.signature == 11" style="color: #e13333">{{$t(`(必填)`)}}</span></div>
         <div class="drawer__panel" style="margin-bottom: 0 !important;" v-if="detailInfo">
-          <signature ref="signatureRef" :sa_workorder_nodeid="detailInfo.sa_workorder_nodeid" @signatureData=signatureData></signature>
+          <signature ref="signatureRef" :sa_workorder_nodeid="detailInfo.sa_workorder_nodeid" @signatureData=signatureData :type="type"></signature>
         </div>
         <div class="div-style-div"></div>
       </div>
@@ -141,7 +151,7 @@
       <div v-if="detailInfo && detailInfo.workpresetjson.addperson != 0">
         <div class="title-div-title">{{$t(`培训人员`)}}<span v-if="detailInfo.workpresetjson.addperson == 11" style="color: #e13333">{{$t(`(必填)`)}}</span></div>
         <div class="drawer__panel" style="margin-bottom: 0 !important;" v-if="detailInfo">
-          <trainingPersonnel :data="trainers" @personnel="personnel"></trainingPersonnel>
+          <trainingPersonnel :data="trainers" @personnel="personnel" :type="type"></trainingPersonnel>
         </div>
         <div class="div-style-div"></div>
       </div>
@@ -149,16 +159,17 @@
       <div v-if="detailInfo && detailInfo.workpresetjson.additem != 0">
         <div class="title-div-title">{{$t(`工单物料`)}}<span v-if="detailInfo.workpresetjson.additem == 11" style="color: #e13333">{{$t(`(必填)`)}}</span></div>
         <div class="drawer__panel" style="margin-bottom: 0 !important;" v-if="detailInfo">
-          <workMaterials :data="titems" @traintitems="traintitems" :itemtype="detailInfo.workpresetjson.itemtype" :sa_serviceorderid="mainData.sa_serviceorderid" :sa_workorderid="mainData.sa_workorderid"></workMaterials>
+          <workMaterials :data="titems" @traintitems="traintitems" :itemtype="detailInfo.workpresetjson.itemtype" :sa_serviceorderid="mainData.sa_serviceorderid" :sa_workorderid="mainData.sa_workorderid" :type="type"></workMaterials>
         </div>
         <div class="div-style-div"></div>
       </div>
 
       <div class="title-div-title">{{$t(`备注`)}}</div>
       <div class="drawer__panel"  v-if="detailInfo">
-        <el-input v-model="form.remarks" size="small" placeholder="备注" @blur="onSave"></el-input>
+        <el-input v-model="form.remarks" size="small" placeholder="备注" @blur="onSave" v-if="type == '编辑'"></el-input>
+        <div v-else class="content-div">{{form.remarks || $t(`暂无数据`)}}</div>
       </div>
-      <div class="fixed__btn__panel">
+      <div class="fixed__btn__panel" v-if="type == '编辑'">
         <el-button
             size="small"
             @click="drawerVisible = false"
@@ -195,7 +206,7 @@ import upload from '@/components/upload/hw_obs_upload.vue'
 import previewImage from '@/components/previewImage/index.vue'
 export default {
   name: "edit",
-  props:['data','mainData'],
+  props:['data','mainData','type'],
   components:{addTeam,workMaterials,trainingPersonnel,signature,upload,previewImage},
   data(){
     return {
@@ -204,6 +215,7 @@ export default {
       detailInfo:'',
       teamList:[],
       name:JSON.parse(sessionStorage.getItem('active_account')).name,
+      userid:JSON.parse(sessionStorage.getItem('active_account')).userid,
       form:{
         "sa_workorderid": 0,
         "sa_workorder_nodeid": 0,
@@ -233,7 +245,8 @@ export default {
       contractFile:[],
       attachmentidsContract:[],
       folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
-      signatureLength:0
+      signatureLength:0,
+      selectTeam:[]
     }
   },
   methods:{
@@ -268,7 +281,13 @@ export default {
       }
       this.titems = this.detailInfo.titems
       this.trainers = this.detailInfo.trainers
+      this.selectTeam = this.detailInfo.team
+      const index = this.detailInfo.team.findIndex(item => item.userid == this.userid);
+      if (index !== -1) {
+        this.detailInfo.team.splice(index, 1);
+      }
       console.log(this.detailInfo,'detailInfo的数据输出')
+      console.log(this.detailInfo.team,'etailInfo.team输出333')
       this.$nextTick(()=>{
         if (this.detailInfo.workpresetjson.signature == 11 || this.detailInfo.workpresetjson.signature == 1){
           this.$refs.signatureRef.getField()
@@ -332,7 +351,7 @@ export default {
           itemid:item.itemid,
           itemname:item.itemname,
           model:item.model,
-          qty:item.qty,
+          qty:item.qty?item.qty:1,
           spec:item.spec
         }
       })
@@ -495,6 +514,30 @@ export default {
     },
     signatureData(val){
       this.signatureLength = val
+    },
+    async tagClose(data){
+      const res = await this.$api.requested({
+          id: 20220930103803,
+          content: {
+            ownertable: 'sa_workorder_node',
+            ownerid: this.detailInfo.sa_workorder_nodeid,
+            userids: [data.userid]
+          }
+        })
+      if (res.code == 0){
+        this.tool.showMessage(res,()=>{})
+      }else {
+        console.log(data,'tagData')
+        const index = this.detailInfo.team.findIndex(item => item.userid == data.userid);
+        if (index !== -1) {
+          this.detailInfo.team.splice(index, 1);
+        }
+        console.log(this.detailInfo.team)
+        const seletTeams = []
+        this.detailInfo.team.forEach((item,index) =>{
+          seletTeams[index] = item.userid
+        })
+      }
     }
   }
 }

+ 38 - 19
src/HDrpManagement/serveWorkBill/modules/serviceWorkOrder/modules/selectTeam.vue

@@ -41,7 +41,7 @@
 <script>
 export default {
   name: "selectTeam",
-  props:['data','teamData','detailInfo'],
+  props:['data','teamData','detailInfo','selectTeam'],
   data(){
     return {
       drawerVisible:false,
@@ -49,50 +49,69 @@ export default {
       list:[],
       selectArr:[],
       delUsers:[],
-      userid:JSON.parse(sessionStorage.getItem('active_account')).userid
+      userid:JSON.parse(sessionStorage.getItem('active_account')).userid,
+      teamList:[]
     }
   },
   methods:{
     addClick(){
       this.drawerVisible = true
-      this.teamData.forEach((item,index) => {
-        if (item.userid != this.userid){
-          this.delUsers.push(item.userid)
+      this.teamList = this.selectTeam
+      const index = this.data.findIndex(item => item.userid == this.userid);
+      if (index !== -1) {
+        this.data.splice(index, 1);
+      }
+      const newArray = [...this.teamData,...this.data]
+      const countMap = new Map();
+      newArray.forEach(item => {
+        const userId = String(item.userid);
+        countMap.set(userId, (countMap.get(userId) || 0) + 1);
+      });
+
+      const result = newArray.filter(item => countMap.get(String(item.userid)) === 1);
+      this.list = result
+      console.log(this.list,'输出list的数据')
+    },
+    uniqueByItemId(arr){
+      const map = new Map();
+      return arr.filter(item => {
+        // 如果 map 中还没有这个 itemid,则存入并返回 true (保留)
+        if (!map.has(item.userid)) {
+          map.set(item.userid, true);
+          return true;
         }
-      })
-      this.list = this.data
+        // 如果已经存在,则返回 false (过滤掉)
+        return false;
+      });
     },
     selectionChange(data){
       this.selectArr = []
-      data.forEach((item,index) =>{
+      const newDatas = [...data,...this.selectTeam]
+      const dataNews = this.uniqueByItemId(newDatas)
+      dataNews.forEach((item,index) =>{
         this.selectArr[index] = item.userid
       })
+      console.log(this.selectArr,'selectArr的数据')
     },
     async onSubmit(){
       const res = await this.$api.requested({
-        id: 20220930103803,
+        id: 20220930103603,
         content: {
           ownertable: 'sa_workorder_node',
           ownerid: this.detailInfo.sa_workorder_nodeid,
-          userids: this.delUsers
+          userids: this.selectArr
         }
       })
       if (res.code == 0){
         this.tool.showMessage(res,()=>{})
       }else {
-        this.delUsers = []
-        const res = await this.$api.requested({
-          id: 20220930103603,
-          content: {
-            ownertable: 'sa_workorder_node',
-            ownerid: this.detailInfo.sa_workorder_nodeid,
-            userids: this.selectArr
-          }
-        })
         this.drawerVisible = false
+        this.selectArr = []
         this.$emit('addTeam')
       }
+
     }
+
   },
   created() {
     this.tablecols = this.tool.tabelCol(this.$route.name).staffTable.tablecols

+ 4 - 4
src/HDrpManagement/serveWorkBill/modules/serviceWorkOrder/modules/signature.vue

@@ -5,13 +5,13 @@
         type="primary"
         @click="startSignature"
         style="margin-bottom: 20px"
-        v-if="!signatureData"
+        v-if="!signatureData && type == '编辑'"
     >
       {{$t(btnTitle)}}
     </el-button>
 
     <!-- 签名画布区域 -->
-    <div class="signature-canvas-container" v-if="signatureStarted">
+    <div class="signature-canvas-container" v-if="signatureStarted && type == '编辑'">
       <div class="canvas-header">
         <span class="prompt-text">{{$t(`请在下方区域签名`)}}</span>
         <div class="toolbar">
@@ -68,7 +68,7 @@
     <div class="preview-area" v-if="signatureData">
       <div class="preview-header">
         <span class="preview-title">{{$t(`签名预览`)}}</span>
-        <el-button type="primary" size="small" @click="restartSignature">{{$t(`删除`)}}</el-button>
+        <el-button type="primary" size="small" @click="restartSignature" v-if="type == '编辑'">{{$t(`删除`)}}</el-button>
       </div>
 
       <div class="preview-content">
@@ -96,7 +96,7 @@
 <script>
 export default {
   name: "signature",
-  props:['sa_workorder_nodeid'],
+  props:['sa_workorder_nodeid','type'],
   data() {
     return {
       // 签名状态

+ 3 - 3
src/HDrpManagement/serveWorkBill/modules/serviceWorkOrder/modules/trainingPersonnel.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <add style="margin-bottom: 10px" @trainAdd="trainAdd"></add>
+    <add style="margin-bottom: 10px" @trainAdd="trainAdd" v-if="type == '编辑'"></add>
     <el-table ref="table" :fit="tool.calculatedColumnWidth($refs.table,layout)"  current-row-key="id"  highlight-current-row
               :data="list"  size="mini"  :height="height"  :style="{width:'100%',minHeight:minHeight?minHeight:''}" :header-cell-style="{height:'40px',color:'#606266',fontWeight:'400',fontSize:'14px'}"
               :cell-style="{height:'40px',color:'#666666',fontWeight:'400'}" border >
@@ -30,7 +30,7 @@
           label="操作"
           min-width="100">
         <template slot-scope="scope">
-          <el-button type="text" size="mini" @click="delClick(scope.row)">{{$t(`删除`)}}</el-button>
+          <el-button type="text" size="mini" @click="delClick(scope.row)"  :disabled="type == '详情'">{{$t(`删除`)}}</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -42,7 +42,7 @@ import add from './addTrain'
 export default {
   name: "trainingPersonnel", //培训人员
   components:{add},
-  props:['data'],
+  props:['data','type'],
   data(){
     return {
       list:[],

+ 10 - 3
src/HDrpManagement/serveWorkBill/modules/serviceWorkOrder/modules/workMaterials.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <add style="margin-bottom: 10px" @addList="addList" :itemtype="itemtype" :sa_serviceorderid="sa_serviceorderid" :sa_workorderid="sa_workorderid"></add>
+    <add style="margin-bottom: 10px" @addList="addList" :itemtype="itemtype" :sa_serviceorderid="sa_serviceorderid" :sa_workorderid="sa_workorderid" v-if="type == '编辑'"></add>
     <el-table ref="table" :fit="tool.calculatedColumnWidth($refs.table,layout)"  current-row-key="id"  highlight-current-row
               :data="list"  size="mini"  :height="height"  :style="{width:'100%',minHeight:minHeight?minHeight:''}" :header-cell-style="{height:'40px',color:'#606266',fontWeight:'400',fontSize:'14px'}"
               :cell-style="{height:'40px',color:'#666666',fontWeight:'400'}" border >
@@ -28,6 +28,10 @@
           prop="qty"
           label="数量"
           width="80">
+        <template slot-scope="scope">
+          <el-input v-model="scope.row.qty" placeholder="请输入数量" size="mini" @blur="qtyChange(scope.row)" v-if="type == '编辑'"></el-input>
+          <div v-else>{{tool.qtyShow(scope.row.qty)}}</div>
+        </template>
       </el-table-column>
       <el-table-column
           prop="operation"
@@ -35,7 +39,7 @@
           label="操作"
           width="100">
         <template slot-scope="scope">
-          <el-button type="text" size="mini" @click="delClick(scope.row)">{{$t(`删除`)}}</el-button>
+          <el-button type="text" size="mini" @click="delClick(scope.row)" :disabled="type == '详情'">{{$t(`删除`)}}</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -46,7 +50,7 @@
 import add from './addMaterials'
 export default {
   name: "workMaterials", //工单物料
-  props:['data','itemtype','sa_serviceorderid','sa_workorderid'],
+  props:['data','itemtype','sa_serviceorderid','sa_workorderid','type'],
   components:{add},
   data(){
     return {
@@ -79,6 +83,9 @@ export default {
         // 如果已经存在,则返回 false (过滤掉)
         return false;
       });
+    },
+    qtyChange(data){
+      this.$emit('traintitems',this.list)
     }
   },
   mounted() {

+ 2 - 8
src/HDrpManagement/serveWorkBill/modules/taskDetail/index.vue

@@ -21,7 +21,7 @@
       size="small"
       :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
     >
-      <el-table-column width="120"> </el-table-column>
+      <el-table-column width="55"> </el-table-column>
       <el-table-column
         prop="workname"
         :label="$t(`工作名称`)"
@@ -30,13 +30,7 @@
       >
         <template slot-scope="scope">
           <span
-            :style="
-              scope.row.status == 0
-                ? 'color:#3874f6'
-                : scope.row.status == 2
-                ? 'color:orange'
-                : 'color:red'
-            "
+            style="color:#3874f6"
             >{{ scope.row.workname }}</span
           >
         </template>

+ 1 - 0
src/HDrpManagement/serviceImprovement/components/actionImplementation/addRecord.vue

@@ -4,6 +4,7 @@
     <el-drawer
         :title="$t(`方案信息`)"
         :visible.sync="drawerShow"
+        :wrapperClosable="false"
         size="70%"
         direction="rtl"
         append-to-body

+ 1 - 0
src/HDrpManagement/serviceImprovement/components/causeAnalysis/edit.vue

@@ -4,6 +4,7 @@
     <el-drawer
         :title="$t(`编辑真因分析`)"
         :visible.sync="drawerVisible"
+        :wrapperClosable="false"
         size="40%"
         direction="rtl"
         append-to-body

+ 1 - 0
src/HDrpManagement/serviceImprovement/components/improvementPlan/edit.vue

@@ -4,6 +4,7 @@
     <el-drawer
         :title="$t('编辑方案')"
         :visible.sync="drawerVisible"
+        :wrapperClosable="false"
         size="75%"
         direction="rtl"
         append-to-body

+ 2 - 2
src/HDrpManagement/serviceImprovement/index.vue

@@ -50,7 +50,7 @@
           <label class="search__label">{{ $t("客诉大类") }}:</label>
           <el-select
               class="inline-24"
-              v-model="where.type"
+              v-model="where.class2"
               :placeholder="$t(`请选择客诉大类`)"
               @focus="queryType('customerclass')"
               @change="selectChange"
@@ -69,7 +69,7 @@
           <label class="search__label">{{ $t("改善结果") }}:</label>
           <el-select
               class="inline-24"
-              v-model="status"
+              v-model="where.result"
               :placeholder="$t(`请选择改善结果`)"
               @change="selectChange"
               size="small"

+ 2 - 2
src/HDrpManagement/serviceImprovement/modules/detail.vue

@@ -116,13 +116,13 @@
           <serviceApplication  ref="serviceApplicationRef" v-if="mainData" :mainData="mainData" :new-query="true"></serviceApplication>
         </div>
         <div v-if="tool.checkAuth($route.name,'linkedTicket') && !tool.checkAuth($route.name,'linkedApplication')">
-          <serviceWorkOrder ref="serviceWorkOrderRef" v-if="mainData" :mainData="mainData" :nodes="nodes"
+          <serviceWorkOrder ref="serviceWorkOrderRef" v-if="mainData" :mainData="mainData" :nodes="nodes" @finishSuccess="queryMainData"
                             :team_name="team_name" :team_phone_number="team_phone_number" :new-query="true"></serviceWorkOrder>
         </div>
       </div>
       <div slot="slot1">
         <div v-if="tool.checkAuth($route.name,'linkedTicket')">
-          <serviceWorkOrder ref="serviceWorkOrderRef" v-if="mainData" :mainData="mainData" :nodes="nodes"
+          <serviceWorkOrder ref="serviceWorkOrderRef" v-if="mainData" :mainData="mainData" :nodes="nodes" @finishSuccess="queryMainData"
                             :team_name="team_name" :team_phone_number="team_phone_number" :new-query="true"></serviceWorkOrder>
         </div>
         <div v-else>