From 5abcde36961125cbf436f91b8c17610a6b5f8308 Mon Sep 17 00:00:00 2001
From: sen <sen@qq.com>
Date: 星期三, 15 四月 2026 12:15:08 +0800
Subject: [PATCH] 修改调度单必填校验

---
 ui/admin-ui3/src/views/tms/collectionTmsQuotePlan/index.vue |   64 ++++++++++++++++----------------
 1 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/ui/admin-ui3/src/views/tms/collectionTmsQuotePlan/index.vue b/ui/admin-ui3/src/views/tms/collectionTmsQuotePlan/index.vue
index b1e380a..2fd3b21 100644
--- a/ui/admin-ui3/src/views/tms/collectionTmsQuotePlan/index.vue
+++ b/ui/admin-ui3/src/views/tms/collectionTmsQuotePlan/index.vue
@@ -55,7 +55,7 @@
             :data="form.items" ref="itemsCrudRef"
         >
           <template #unit="{row}">
-            <el-select  v-model="row.unit" :disabled="scope.disabled" placeholder="璇烽�夋嫨璁¤垂鍗曚綅">
+            <el-select  v-model="row.unit" :disabled="scope.disabled || !rowKeys.includes(row.rowKey)" placeholder="璇烽�夋嫨璁¤垂鍗曚綅">
               <el-option
                   v-for="dict in sys_unit"
                   :key="dict.value"
@@ -65,10 +65,10 @@
             </el-select>
           </template>
           <template #price="{row}">
-            <el-input v-model="row.price" :min="1" :disabled="scope.disabled" type="number" placeholder="璇疯緭鍏ラ噾棰�"></el-input>
+            <el-input v-model="row.price" :min="1" :disabled="scope.disabled || !rowKeys.includes(row.rowKey)" type="number" placeholder="璇疯緭鍏ラ噾棰�"></el-input>
           </template>
           <template #currency="{row}">
-            <el-radio-group v-model="row.currency"  :disabled="scope.disabled">
+            <el-radio-group v-model="row.currency"  :disabled="scope.disabled || !rowKeys.includes(row.rowKey)">
               <el-radio
                   v-for="dict in sys_currency"
                   :key="dict.value"
@@ -163,6 +163,7 @@
             let active = table.active;
             if (Array.isArray(active)) active = active[0];
             if (active) {
+              console.log(active)
               Object.assign(form.value, {
                 projectId: active.id,
                 projectName: active.projectName,
@@ -173,7 +174,7 @@
               });
             }
           },
-          type: 'table',suffixIcon:'search',
+          type: 'table',suffixIcon:'search',dataType: 'object',
           children:{
             border: true,
             searchMenuSpan: 5,
@@ -226,7 +227,7 @@
                 id = value[0]
               }
               getTmsProject(id).then(res=>{
-                return callback(res.data||{})
+                return callback(res.data ? [res.data] : [])
               })
             }else{
               listTmsProject({pageSize:page.pageSize,pageNum:page.currentPage,...data}).then(res=>{
@@ -444,51 +445,47 @@
   handleSelectionChangeFunc: (selection: any) => {
     selectionList.value = selection;
   },
-  getBeginListFunc:()=>{
+  getBeginListFunc:(params = {})=>{
     queryParams.value.planType = '0'
+    return params;
   },
   handleBeforeOpenFunc:(type:string)=>{
     form.value.items = [];
     if (type === 'add'){
       form.value.items = sys_quotation_items.value.map((item:any)=>{
-        return { rowKey: randomId() ,freeName: item.label,unit: '娆�'}
+        return { rowKey: randomId() ,freeName: item.label,free: item.value,unit: '娆�'}
       })
     }
   },
   rowSaveBegin:(row:any,loading:any)=>{
-      if (selectionList2.value.length == 0){
-        proxy.$modal.msgError("璇疯嚦灏戦�夋嫨涓�鏉″簲鏀惰垂鐢ㄦ姤浠烽」");
-        loading();
-        throw new Error("璇疯嚦灏戦�夋嫨涓�鏉″簲鏀惰垂鐢ㄦ姤浠烽」");
+      if (selectionList2.value.length > 0){
+        let filter = selectionList2.value.filter((item:any)=>{
+          return !item.price || !item.currency
+        });
+        if (filter.length > 0){
+          proxy.$modal.msgError("璇峰~鍐欐墍鏈夊繀濉」");
+          loading();
+          throw new Error("璇峰~鍐欐墍鏈夊繀濉」")
+        }
+        row.quoteItems = selectionList2.value;
 
       }
+
+
+  },
+  rowUpdateBegin(row:any,loading:any){
+    if (selectionList2.value.length > 0){
       let filter = selectionList2.value.filter((item:any)=>{
-         return !item.price || !item.currency
-       });
+        return !item.price || !item.currency
+      });
       if (filter.length > 0){
         proxy.$modal.msgError("璇峰~鍐欐墍鏈夊繀濉」");
         loading();
         throw new Error("璇峰~鍐欐墍鏈夊繀濉」")
       }
       row.quoteItems = selectionList2.value;
-
-  },
-  rowUpdateBegin(row:any,loading:any){
-    if (selectionList2.value.length == 0){
-      proxy.$modal.msgError("璇疯嚦灏戦�夋嫨涓�鏉″簲鏀惰垂鐢ㄦ姤浠烽」");
-      loading();
-      throw new Error("璇疯嚦灏戦�夋嫨涓�鏉″簲鏀惰垂鐢ㄦ姤浠烽」");
-
     }
-    let filter = selectionList2.value.filter((item:any)=>{
-      return !item.price || !item.currency
-    });
-    if (filter.length > 0){
-      proxy.$modal.msgError("璇峰~鍐欐墍鏈夊繀濉」");
-      loading();
-      throw new Error("璇峰~鍐欐墍鏈夊繀濉」")
-    }
-    row.quoteItems = selectionList2.value;
+
   },
   handleEndOpenFunc:(type:string,res:any)=>{
     if (type === 'edit'){
@@ -498,12 +495,12 @@
       });
       form.value.items = sys_quotation_items.value.map((item:any)=>{
         let find = selectionList2.value.find((ele:any)=>
-          ele.freeName === item.label
+          ele.free == item.value
         );
         if ( find){
           return find;
         }else{
-          return { rowKey: randomId() ,freeName: item.label,unit: '娆�'}
+          return { rowKey: randomId() ,freeName: item.label,free: item.value,unit: '娆�'}
         }
       })
       nextTick( ()=>{
@@ -521,8 +518,11 @@
 const goToDetail = (row?:any) => {
   router.push("/collectionTmsQuotePlan/collectionTmsQuotePlanItem?quotePlanType=0&quotePlanId=" + row.id);
 }
+
+const rowKeys = ref<any>([]);
 const selectionChange2 = (selection?: any[]) => {
   selectionList2.value = selection;
+  rowKeys.value = selection?.map((item:any)=>item.rowKey);
 }
 
 

--
Gitblit v1.8.0