From 65ad2e22d048ec8e89d1d0319bef2452f40d3289 Mon Sep 17 00:00:00 2001
From: dytyqx <1342948614@qq.com>
Date: 星期日, 05 四月 2026 09:22:34 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-VUEUI

---
 src/views/logistics/transportGPS/Add_Edit_WL_YayBill.vue |  127 +++++++++++++++++++++++++++---------------
 1 files changed, 82 insertions(+), 45 deletions(-)

diff --git a/src/views/logistics/transportGPS/Add_Edit_WL_YayBill.vue b/src/views/logistics/transportGPS/Add_Edit_WL_YayBill.vue
index 6729d9b..dee3a6d 100644
--- a/src/views/logistics/transportGPS/Add_Edit_WL_YayBill.vue
+++ b/src/views/logistics/transportGPS/Add_Edit_WL_YayBill.vue
@@ -52,26 +52,9 @@
                         <!-- 绗簩鍧楋細鎵胯繍鍚堝悓銆佸鍙戝湴銆佺洰鐨勫湴銆佽溅鍨嬨�佽溅鍨嬫渶澶у绉�佽窛绂汇�佽繍杈撴椂鏁堛�佽繍杈撶被鍨嬨�佺粨绠楁柟寮忋�佸竵鍒�佹眹鐜囥�佽繍璐广�佹�讳綋绉�佽杞界巼銆佽繍杈撴柟寮� -->
                         <div class="form-group">
                             <el-row>
-                                <!-- <el-col :span="6">
-                                    <el-form-item label="濮嬪彂鍦�" prop="HBeginAddrName">
-                                        <el-input v-model="form.HBeginAddrName" placeholder="璇疯緭鍏ュ鍙戝湴">
-                                            <el-button slot="append" icon="el-icon-search"
-                                                @click="openDataDialog(3, areaType = 'b')"></el-button>
-                                        </el-input>
-                                    </el-form-item>
-                                </el-col>
-                                <el-col :span="6">
-                                    <el-form-item label="鐩殑鍦�" prop="HEndAddrName">
-                                        <el-input v-model="form.HEndAddrName" placeholder="璇疯緭鍏ョ洰鐨勫湴">
-                                            <el-button slot="append" icon="el-icon-search"
-                                                @click="openDataDialog(3, areaType = 'e')"></el-button>
-                                        </el-input>
-                                    </el-form-item>
-                                </el-col> -->
                                 <el-col :span="6">
                                     <el-form-item label="鎵胯繍鍚堝悓" prop="HContractTransportBillNo">
-                                        <el-input v-model="form.HContractTransportBillNo" placeholder="璇疯緭鍏ユ壙杩愬悎鍚�"
-                                            @change="transChange">
+                                        <el-input v-model="form.HContractTransportBillNo" placeholder="璇疯緭鍏ユ壙杩愬悎鍚�">
                                             <el-button slot="append" icon="el-icon-search"
                                                 @click="openDataDialog(16)"></el-button>
                                         </el-input>
@@ -87,7 +70,7 @@
                                 <el-col :span="12">
                                     <el-form-item label="杩愯緭绾胯矾" prop="HTransportLineName">
                                         <el-select v-model="form.HTransportLineName" placeholder="璇烽�夋嫨杩愯緭绾胯矾" filterable
-                                            @change="checkAndCallGetTransCost" @focus="checkTransportList">
+                                            @change="transLineNameChange" @focus="checkTransportList">
                                             <el-option v-for="(item, index) in transportList" :key="index" :label="item"
                                                 :value="item"></el-option>
                                         </el-select>
@@ -98,19 +81,23 @@
                                 <el-col :span="6">
                                     <el-form-item label="杩愯緭鏂瑰紡" prop="HTransType">
                                         <el-select v-model="form.HTransType" placeholder="璇烽�夋嫨杩愯緭鏂瑰紡"
-                                            @change="checkAndCallGetTransCost">
-                                            <el-option label="闆跺崟" value="闆跺崟"></el-option>
-                                            <el-option label="鍗曠▼" value="鍗曠▼"></el-option>
-                                            <el-option label="寰�杩�" value="寰�杩�"></el-option>
+                                            @change="transTypeChange" @focus="checkTransTypeList">
+                                            <el-option v-for="(item, index) in transTypeList" :key="index" :label="item"
+                                                :value="item"></el-option>
                                         </el-select>
                                     </el-form-item>
                                 </el-col>
                                 <el-col :span="6">
                                     <el-form-item label="杞﹀瀷" prop="HCarTypeName">
-                                        <el-input v-model="form.HCarTypeName" placeholder="璇疯緭鍏ヨ溅鍨�">
+                                        <el-select v-model="form.HCarTypeName" placeholder="璇烽�夋嫨杞﹀瀷"
+                                            @change="transHCarChange" @focus="checkHCarTypeNameList">
+                                            <el-option v-for="(item, index) in HCarTypeNameList" :key="index"
+                                                :label="item.value" :value="item.id"></el-option>
+                                        </el-select>
+                                        <!-- <el-input v-model="form.HCarTypeName" placeholder="璇疯緭鍏ヨ溅鍨�">
                                             <el-button slot="append" icon="el-icon-search"
                                                 @click="openDataDialog(13)"></el-button>
-                                        </el-input>
+                                        </el-input> -->
                                     </el-form-item>
                                 </el-col>
                             </el-row>
@@ -683,6 +670,8 @@
             temp: undefined,                                                           //涓存椂鍙橀噺
             btResList: [],                                                             // 鍒楄缃�
             transportList: [],                                                     //杩愯緭绾胯矾閫夋嫨鍒楄〃
+            transTypeList: [],
+            HCarTypeNameList: [],
             form: {},                                                                  // 琛ㄥ崟鍙傛暟
             rules: {                                                                   // 琛ㄥ崟鏍¢獙
                 HCarrierName: [
@@ -1168,6 +1157,8 @@
                 this.form.HContractTransportBillNo = deptRow.鍗曟嵁鍙�
                 this.form.HContractTransportInterID = deptRow.HInterID
                 this.transportList = []
+                this.transTypeList = []
+                this.HCarTypeNameList = []
                 axios.get(this.$baseUrl + '/WLYayBillController/initDataForSelectContractTransportBill', {
                     params: {
                         "hmainid": deptRow.HInterID,
@@ -1175,18 +1166,21 @@
                 }).then(res => {
                     let response = res.data
                     if (response.code == 1) {
+                        if (response.data.length == 0) {
+                            this.$modal.msgError("璇锋鏌ャ��" + this.form.HContractTransportBillNo + "銆戝搴旂殑鎵胯繍鍚堝悓鏄惁缁存姢锛侊紒锛�");
+                            this.form.HMoney = 0
+                            return
+                        }
                         this.form.HContractTransportEntryID = response.data[0].HEntryID
                         this.form.HCarrierID = response.data[0].HSupID
                         this.form.HCarrierName = response.data[0].渚涘簲鍟嗗悕绉�
                         this.form.HCurID = response.data[0].甯佸埆
                         this.form.HCurName = response.data[0].璐у竵鍚嶇О
-                        this.form.HExRate = response.data[0].姹囩巼 == null ? 0 : response.data.姹囩巼
+                        this.form.HExRate = response.data[0].姹囩巼 == null ? 0 : response.data[0].姹囩巼
                         this.form.HSSID = response.data[0].缁撶畻鏂瑰紡
                         this.form.HSSName = response.data[0].缁撶畻鏂瑰紡鍚嶇О
-                        response.data.map(item => {
-                            this.transportList.push(item.杩愯緭璺嚎鍚嶇О)
-                        })
-                        this.checkAndCallGetTransCost()
+                        this.transportList = [...new Set(response.data.map(item => item.杩愯緭璺嚎鍚嶇О))]
+                        // this.checkAndCallGetTransCost()
                     } else {
                         this.$modal.msgError("閿欒:" + response.data.code + response.data.Message);
                     }
@@ -2106,18 +2100,39 @@
             this.uploadFiles.splice(index, 1)
         },
         //#endregion
-        //#endregion 
-        transChange(val) {
-            console.log(val)
-            this.checkAndCallGetTransCost()
-        },
+        //#endregion
         checkTransportList() {
             if (this.transportList.length === 0) {
                 this.$message.warning('璇峰厛閫夋嫨鎵胯繍鍚堝悓')
             }
         },
+        checkTransTypeList() {
+            if (this.transTypeList.length === 0) {
+                this.$message.warning('璇峰厛閫夋嫨杩愯緭绾胯矾')
+            }
+        },
+        checkHCarTypeNameList() {
+            if (this.HCarTypeNameList.length === 0) {
+                this.$message.warning('璇峰厛閫夋嫨杩愯緭鏂瑰紡')
+            }
+        },
+        transLineNameChange() {
+            this.form.HTransType = ''
+            this.form.HCarTypeName = ''
+            this.transTypeList = []
+            this.HCarTypeNameList = []
+            this.getTransCost('line')
+        },
+        transTypeChange() {
+            this.form.HCarTypeName = ''
+            this.HCarTypeNameList = []
+            this.getTransCost('type')
+        },
+        transHCarChange() {
+            this.getTransCost('car')
+        },
         checkAndCallGetTransCost() {
-            const { HContractTransportBillNo, HCarTypeName, HTransType, HTransportLineName } = this.form
+            const { HContractTransportBillNo, HCarTypeName, HTransType, HTransportLineName, HCarrierID } = this.form
 
             if (!HContractTransportBillNo) {
                 this.$message.warning('璇峰厛閫夋嫨鎵胯繍鍚堝悓')
@@ -2131,16 +2146,20 @@
                 this.$message.warning('璇峰厛閫夋嫨杩愯緭鏂瑰紡')
                 return
             }
-            if (HTransType !== '闆跺崟' && !HCarTypeName) {
+            if (!HCarTypeName) {
                 this.$message.warning('璇峰厛閫夋嫨杞﹀瀷')
                 return
             }
-
+            if (!HCarrierID) {
+                this.$message.warning('渚涘簲鍟嗕笉鑳戒负绌�')
+                return
+            }
             this.getTransCost()
         },
-        getTransCost() {
+        getTransCost(val) {
             axios.get(this.$baseUrl + '/WLYayBillController/getSelectContractTransportBillEntryData', {
                 params: {
+                    Cg_ContractTransportBillInterID: this.form.HContractTransportInterID,
                     HSupID: this.form.HCarrierID,
                     HTransportLineName: this.form.HTransportLineName,
                     HCarTypeID: this.form.HCarTypeID,
@@ -2154,12 +2173,30 @@
                         this.form.HMoney = 0
                         return
                     }
-                    this.form.HDistance = response.data[0].璺濈
-                    this.form.HTransportTimes = response.data[0].杩愯緭鏃舵晥
-                    this.form.HTransportTyep = response.data[0].杩愯緭绫诲瀷
-                    this.form.HMoney = response.data[0].杩愯緭璐圭敤
-                    if (this.form.HMoney == 0) {
-                        this.$modal.msgError("褰撳墠杩愯垂涓�0");
+                    if (val == 'line') {
+                        this.transTypeList = [...new Set(response.data.map(item => item.杩愯緭绫诲瀷))]
+                    } else if (val == 'type') {
+                        const carTypeMap = new Map()
+                        response.data.forEach(item => {
+                            const key = item.杩愯緭鏂瑰紡鍚嶇О
+                            if (!carTypeMap.has(key)) {
+                                carTypeMap.set(key, { value: item.杩愯緭鏂瑰紡鍚嶇О, id: item.杩愯緭鏂瑰紡 })
+                            }
+                        })
+                        this.HCarTypeNameList = Array.from(carTypeMap.values())
+                    } else if (val == 'car') {
+                        this.form.HBeginAddrName = response.data[0].濮嬪彂鍦板悕绉�
+                        this.form.HBeginAddr = response.data[0].濮嬪彂鍦�
+                        this.form.HEndAddrName = response.data[0].鐩殑鍦板悕绉�
+                        this.form.HEndAddr = response.data[0].鐩殑鍦�
+                        this.form.HCarTypeMaxVolume = response.data[0].杞﹁締鏈�澶у绉�
+                        this.form.HDistance = response.data[0].璺濈
+                        this.form.HTransportTimes = response.data[0].杩愯緭鏃舵晥
+                        this.form.HTransportTyep = response.data[0].杩愯緭绫诲瀷
+                        this.form.HMoney = response.data[0].杩愯緭璐圭敤
+                        if (this.form.HMoney == 0) {
+                            this.$modal.msgError("褰撳墠杩愯垂涓�0");
+                        }
                     }
                 } else {
                     this.$modal.msgError("閿欒:" + response.code + response.Message);

--
Gitblit v1.9.1