From 2797629204e22c5f5db15821a3545075b7c631a9 Mon Sep 17 00:00:00 2001
From: zhangback <zhangback@163.com>
Date: 星期四, 18 十二月 2025 15:48:09 +0800
Subject: [PATCH] 提交

---
 ui/admin-ui3/src/views/tms/generationCost/index.vue |   66 ++++++++++++++++++++++++++++----
 1 files changed, 57 insertions(+), 9 deletions(-)

diff --git a/ui/admin-ui3/src/views/tms/generationCost/index.vue b/ui/admin-ui3/src/views/tms/generationCost/index.vue
index 48dd64a..52f7770 100644
--- a/ui/admin-ui3/src/views/tms/generationCost/index.vue
+++ b/ui/admin-ui3/src/views/tms/generationCost/index.vue
@@ -78,7 +78,7 @@
         <el-descriptions-item label="杞﹀瀷">{{form.$actualVehicleType}}</el-descriptions-item>
         <el-descriptions-item label="杞︾墝">{{form.licensePlate}}</el-descriptions-item>
       </el-descriptions>
-      <avue-tabs :option="tabsOption2"
+      <avue-tabs :option="tabsOption2" ref="tabsOption2Ref"
                  @change="handleChange2"></avue-tabs>
       <div v-if="active === 'tab1'">
         <avue-crud
@@ -150,6 +150,15 @@
                          :true-value="1"
                          :false-value="0"
                          @change="(e:number) =>isYFChange(e, row)" ></el-checkbox>
+          </template>
+          <template #yfServiceProviderId="{row}">
+            <el-select v-model="row.yfServiceProviderIdType"  placeholder="璇烽�夋嫨鏈嶅姟鍟�"
+                      @change="(e:any)=>ysServiceProviderChange(e,row)"
+                      :filterable="true">
+              <el-option v-for="item in serviceProviderList"
+                         :key="item.serviceProviderId + '_'+ item.serviceProviderType" :label="item.serviceProviderName"
+                         :value="item.serviceProviderId + '_'+ item.serviceProviderType"></el-option>
+            </el-select>
           </template>
           <template #yfPrice="{row}">
             <el-input v-model="row.yfPrice" :min="1"
@@ -227,7 +236,9 @@
   getTmsDispatchOrder,
   costListTmsDispatchOrder,
   updateTmsDispatchOrder,
-  generateTmsDispatchOrder, initGenerate, initYSGenerate, ysGenerateTmsDispatchOrder, initYFGenerate,yfGenerateTmsDispatchOrder
+  generateTmsDispatchOrder, initGenerate, initYSGenerate,
+  ysGenerateTmsDispatchOrder, initYFGenerate,yfGenerateTmsDispatchOrder,
+  getServiceProvider
 } from "@/api/tms/tmsDispatchOrder";
 import useCurrentInstance from "@/utils/useCurrentInstance";
 import {computed, onMounted, reactive, ref, toRefs, watch, getCurrentInstance, nextTick} from "vue";
@@ -244,6 +255,7 @@
 import {listTmsLoadingServiceProvider} from "@/api/tms/tmsLoadingServiceProvider";
 import {selectPaymentTmsQuotePlan} from "@/api/tms/tmsQuotePlan";
 import {addTmsQuoteFee, listTmsQuoteFee, pushTmsQuoteFee} from "@/api/tms/tmsQuoteFee";
+
 
 
 const {appContext} = getCurrentInstance();
@@ -293,12 +305,13 @@
   isCustoms:<any> -1,
   isLoad: -1,
   active: 'tab1',
-  quotationItems:[]
+  quotationItems:[],
+  serviceProviderList: <any>[]
 })
 const {
   queryParams, form, page, selectionList,
   boxTableData, optionType,open,
-  boxFormOption, boxForm, boxTableOption,boxItemTableOption,selectionList2,isCustoms,isLoad,active,quotationItems
+  boxFormOption, boxForm, boxTableOption,boxItemTableOption,selectionList2,isCustoms,isLoad,active,quotationItems,serviceProviderList
 } = toRefs(data);
 const option = ref({
   pageKey: 'TmsDispatchOrder',
@@ -672,13 +685,21 @@
       type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/tms_dispatch_order_status',
       display: false,
       hide: false, fixed: 'right',
-      search: true,
+      search: false,
       rules: [
         {
           required: true,
           message: "鐘舵�佷笉鑳戒负绌�", trigger: "change"
         }
       ],
+    },
+    inStatusList: {
+      label: '鐘舵��', minWidth: 150,
+      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/tms_dispatch_order_status',
+      display: false,multiple:true,
+      hide: true,
+      search: true,
+
     },
     confirmTime: {
       label: '纭鏃堕棿', minWidth: 180,
@@ -908,6 +929,12 @@
       label: '鏄惁搴斾粯璐圭敤',
       display: true,
       type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is', dataType: 'string',
+
+    },
+    yfServiceProviderId:{
+      label: '鏈嶅姟鍟�',
+      display: true,
+      type: 'select',
 
     },
     yfPrice:{
@@ -1178,6 +1205,7 @@
         message: "鎿嶄綔鎴愬姛锛�",
         type: 'success'
       })
+      boxFormRef.value?.resetFields();
       getTab2Data();
     })
   }
@@ -1194,11 +1222,14 @@
   boxTableOption.value = itineraryTableOption.value;
   listTmsTrip({dispatchOrderId: row.id, pageNum: 1, pageSize: 999}).then(res => {
     boxTableData.value = res.rows || [];
-    pageF.open = true;
+    open.value =  true;
     pageF.title = '鏌ョ湅琛岀▼';
     boxFormOption.value.title = '';
   })
 }
+
+const tabsOption2Ref = ref();
+
 
 const handleAddFinance = async (row: any) => {
   pageF.open = true;
@@ -1207,8 +1238,11 @@
   boxFormOption.value = financeOption.value;
   boxTableOption.value = financeTableOption.value;
   form.value = row;
-  await getTab1Data();
+  handleChange2(tabsOption2.value.column[0]);
+  nextTick(()=>{
+    tabsOption2Ref.value.active = "0";
 
+  })
 }
 
 
@@ -1258,18 +1292,22 @@
 
 
 const getTab2Data = async () =>{
+  let serviceProvider = await getServiceProvider(form.value.id);
+  serviceProviderList.value = serviceProvider.data || [];
   listTmsFinanceDetail({
     dispatchOrderId: form.value.id, financeType: 2,
     pageNum: 1, pageSize: 999
-  }).then(res => {
+  }).then(async res => {
     boxTableData.value = res.rows || [];
+
     boxForm.value = {
-      dispatchOrderId:  form.value.id,
+      dispatchOrderId: form.value.id,
       dataSource: 0,
       financeType: 2,
     }
   })
 }
+
 
 
 
@@ -1357,6 +1395,10 @@
           row.serviceProviderId = serviceProviderId;
 
         }
+      }
+
+      if (row.serviceProviderType){
+        serviceProviderChange(row);
       }
 
 
@@ -1480,6 +1522,12 @@
 
 }
 
+const ysServiceProviderChange = (e:any,row:any) => {
+  let  active = serviceProviderList.value.find((item:any) => item.serviceProviderId + '_'+ item.serviceProviderType == e)
+  row.yfServiceProviderId = active.serviceProviderId;
+  row.yfServiceProviderName = active.serviceProviderName;
+  row.yfServiceProviderType = active.serviceProviderType;
+}
 
 
 </script>
\ No newline at end of file

--
Gitblit v1.8.0