zhangback
2025-12-16 ca98866230c89e247bf4b93222c07cea0437ff20
ui/admin-ui3/src/views/tms/generationCost/index.vue
@@ -151,6 +151,15 @@
                         :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"
                      type="number" placeholder="请输入金额"></el-input>
@@ -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";
import {an} from "vue-router/dist/router-CWoNjPRp";
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,7 +1222,7 @@
  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 = '';
  })
@@ -1258,11 +1286,14 @@
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,
      dataSource: 0,
@@ -1270,6 +1301,7 @@
    }
  })
}
@@ -1357,6 +1389,10 @@
          row.serviceProviderId = serviceProviderId;
        }
      }
      if (row.serviceProviderType){
        serviceProviderChange(row);
      }
@@ -1480,6 +1516,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>