tangning před 1 rokem
rodič
revize
55f144377f
1 změnil soubory, kde provedl 26 přidání a 21 odebrání
  1. 26 21
      src/views/work/quoteModel.vue

+ 26 - 21
src/views/work/quoteModel.vue

@@ -85,6 +85,7 @@
         manMadeList: [],
         valueObj: {},
       });
+      const optionsList = ref([]);
       const loading = ref(false);
       const { createMessage, createConfirm } = useMessage();
       const schemas: FormSchema[] = [
@@ -156,7 +157,7 @@
           label: '人工费',
           labelWidth: 0,
           componentProps: {
-            options: fileFlow.manMadeList,
+            options: optionsList,
             maxLength: 50,
             onChange: () => {
               setTimeout(() => {
@@ -193,18 +194,20 @@
       onMounted(async () => {
         let allListOption = await allList({}); //获取价格
         fileFlow.priceListsPrice;
-        allListOption.map((ele) => {
-          fileFlow.manMadeList.push({
-            ...ele,
-            label: `${ele.name} ${ele.price}元`,
-            value: ele.laborCostId,
-            priceListId: ele.priceListId,
-          });
+        let myoptionsList = allListOption.map(ele => {
           fileFlow.priceListsPrice[ele.laborCostId] = ele.price;
-        });
+          return { ...ele, label: `${ele.name} ${ele.price}元`, value: ele.laborCostId };
+        })
+        optionsList.value = myoptionsList;
+        fileFlow.manMadeList = myoptionsList;
+        console.log(fileFlow.manMadeList, 'allListOption', myoptionsList);
       });
       let addListFunc = () => {};
       const [register, { closeModal }] = useModalInner((data) => {
+        optionsList.value.forEach((item) => {
+          item.disabled = false;
+        });
+        console.log(optionsList.value, 'updataRepairInfo');
         data && onDataReceive(data);
       });
       async function updataRepairInfo(isRest = 0) {
@@ -277,7 +280,6 @@
       }
       function addPriceItem(list) {
         fileFlow.priceLists = list;
-        console.log('addPriceItem', fileFlow.priceLists, fileFlow.manMadeList);
         let priceSchema = [],
           valueObj = {},
           count = 0;
@@ -288,10 +290,12 @@
             //人工费
             manMade.push(ele.partId);
             count = count + ele.count * ele.price;
-            fileFlow.manMadeList.forEach((item) => {
+            optionsList.value.forEach((item) => {
               if (item.value == ele.laborId) {
                 item.priceListId = ele.priceListId;
                 item.disabled = ele.status == 2;
+                console.log('fileFlow.manMadeList', item, ele);
+                return;
               }
             });
           } else if (ele.type == 0) {
@@ -403,16 +407,17 @@
             n.value++;
           }
         });
+        console.log('fileFlow.priceLists', optionsList.value);
         fileFlow.priceCount = count.toFixed(2);
         valueObj.manMade = manMade;
-        if (manMade.length > 0) {
-          priceSchema.push({
-            field: 'manMade',
-            componentProps: {
-              options: fileFlow.manMadeList,
-            },
-          });
-        }
+        // if (manMade.length > 0) {
+        updateSchema({
+          field: 'manMade',
+          componentProps: {
+            options: optionsList.value,
+          },
+        });
+        // }
         fileFlow.valueObj = valueObj;
         console.log('priceSchema', priceSchema);
         priceSchema.map((item) => {
@@ -556,8 +561,8 @@
                 });
               });
               let manMade = params.manMade;
-              console.log('manMade', fileFlow.manMadeList)
-              fileFlow.manMadeList.map((ele) => {
+              console.log('manMade', fileFlow.manMadeList);
+              optionsList.value.map((ele) => {
                 if (manMade.includes(ele.laborCostId)) {
                   priceListsparams.push({
                     count: 1,