From 82a82789eae7f7402cddf2752c57cdc25a1f05bb Mon Sep 17 00:00:00 2001
From: 陈婷婷 <506607603@qq.com>
Date: 星期五, 03 四月 2026 16:04:14 +0800
Subject: [PATCH] 运单 运输相关选择

---
 .env.development                                         |    6 +-
 src/views/logistics/transportGPS/Add_Edit_WL_YayBill.vue |   92 +++++++++++++++++++++++++++++++++++----------
 2 files changed, 74 insertions(+), 24 deletions(-)

diff --git a/.env.development b/.env.development
index f6c8b8d..317b137 100644
--- a/.env.development
+++ b/.env.development
@@ -6,7 +6,7 @@
 
 # 鏅轰簯杩堟�滾-MOM绠$悊绯荤粺/寮�鍙戠幆澧�
 # VUE_APP_BASE_API = http://localhost:81/API/
-VUE_APP_BASE_API = 'http://47.96.97.237/API/'
+# VUE_APP_BASE_API = 'http://47.96.97.237/API/'
 # VUE_APP_BASE_API = 'http://220.189.218.155:9010/API/'
 # VUE_APP_BASE_API = 'http://localhost:8082/LuBaoAPI/'
 # VUE_APP_BASE_API = 'http://localhost:8082/API/'
@@ -14,8 +14,8 @@
 # VUE_APP_BASE_API_INNER = http://192.168.1.11/API/
 # VUE_APP_BASE_API = http://61.174.29.234:8880/API/
 # 瀹佹尝 鍥涚淮灏�
-# VUE_APP_BASE_API_INNER = http://192.168.0.236:9010/API/
-# VUE_APP_BASE_API = http://220.189.218.155:9010/API/
+VUE_APP_BASE_API_INNER = http://192.168.0.236:9010/API/
+VUE_APP_BASE_API = http://220.189.218.155:9010/API/
 #鏉滆春
 # VUE_APP_BASE_API = http://localhost:8082/API/
 # 鍐呯綉鍦板潃娴嬭瘯
diff --git a/src/views/logistics/transportGPS/Add_Edit_WL_YayBill.vue b/src/views/logistics/transportGPS/Add_Edit_WL_YayBill.vue
index 3f774a0..4021d4d 100644
--- a/src/views/logistics/transportGPS/Add_Edit_WL_YayBill.vue
+++ b/src/views/logistics/transportGPS/Add_Edit_WL_YayBill.vue
@@ -70,8 +70,7 @@
                                 </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 +86,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,21 +97,28 @@
                                 <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>
+                                            @change="transTypeChange" @focus="checkTransTypeList">
+                                            <el-option v-for="(item, index) in transTypeList" :key="index" :label="item"
+                                                :value="item"></el-option>
+                                            <!-- <el-option label="鍗曠▼" value="鍗曠▼"></el-option>
                                             <el-option label="寰�杩�" value="寰�杩�"></el-option>
                                             <el-option label="鍗曠▼/寰�杩�" value="鍗曠▼/寰�杩�"></el-option>
                                             <el-option label="闆舵媴锛堝彂杩愶級" value="闆舵媴锛堝彂杩愶級"></el-option>
-                                            <el-option label="闆舵媴锛堣繑璐э級" value="闆舵媴锛堣繑璐э級"></el-option>
+                                            <el-option label="闆舵媴锛堣繑璐э級" value="闆舵媴锛堣繑璐э級"></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>
@@ -685,6 +691,8 @@
             temp: undefined,                                                           //涓存椂鍙橀噺
             btResList: [],                                                             // 鍒楄缃�
             transportList: [],                                                     //杩愯緭绾胯矾閫夋嫨鍒楄〃
+            transTypeList: [],
+            HCarTypeNameList: [],
             form: {},                                                                  // 琛ㄥ崟鍙傛暟
             rules: {                                                                   // 琛ㄥ崟鏍¢獙
                 HCarrierName: [
@@ -1170,6 +1178,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,
@@ -1177,6 +1187,11 @@
                 }).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].渚涘簲鍟嗗悕绉�
@@ -1186,7 +1201,7 @@
                         this.form.HSSID = response.data[0].缁撶畻鏂瑰紡
                         this.form.HSSName = response.data[0].缁撶畻鏂瑰紡鍚嶇О
                         this.transportList = [...new Set(response.data.map(item => item.杩愯緭璺嚎鍚嶇О))]
-                        this.checkAndCallGetTransCost()
+                        // this.checkAndCallGetTransCost()
                     } else {
                         this.$modal.msgError("閿欒:" + response.data.code + response.data.Message);
                     }
@@ -2106,15 +2121,36 @@
             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, HCarrierID } = this.form
@@ -2141,9 +2177,10 @@
             }
             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,
@@ -2157,12 +2194,25 @@
                         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.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