tangning 2 лет назад
Родитель
Сommit
34b469ad9d
2 измененных файлов с 35 добавлено и 24 удалено
  1. 14 3
      src/views/work/confirmPriceModal.vue
  2. 21 21
      src/views/work/quoteModel.vue

+ 14 - 3
src/views/work/confirmPriceModal.vue

@@ -220,6 +220,7 @@
           }
           let price = ele.discount == 1 ? ele.priceDiscount : ele.price;
           valueObj[`priceList${ele.priceListId}`] = ele.count || 0;
+          valueObj[`remark${ele.priceListId}`] = ele.remark || 0;
           valueObj[`priceListText${ele.priceListId}`] = `${ele.name} ${price} 元${
             ele.type == 0 ? '/' + ele.partUnit : ''
           }`;
@@ -228,12 +229,12 @@
             {
               field: 'priceListText' + ele.priceListId,
               component: 'InputNumber',
-              label: ele.type == 0 ? '备件' : ele.type == 2 ? '明细' : '人工',
+              label: ele.type == 0 ? '备件' : ele.type == 2 ? '明细' : ele.type == 3 ? '减免' : '人工',
               slot: 'text',
               // labelWidth:300,
               // subLabel:"数量",
               colProps: {
-                span: 12,
+                span: 18,
               },
             },
             {
@@ -246,7 +247,7 @@
               // labelWidth:300,
               // subLabel:"数量",
               colProps: {
-                span: 12,
+                span: 6,
               },
               required: true,
               componentProps: {
@@ -261,6 +262,16 @@
                 },
               },
             },
+            {
+              field: 'remark' + ele.priceListId,
+              label: '备注',
+              component: 'InputNumber',
+              ifShow: ele.type == 2 || ele.type == 3,
+              slot: 'text',
+              colProps: {
+                span: 18,
+              },
+            },
           );
         });
         fileFlow.priceCount = count.toFixed(2);

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

@@ -213,7 +213,7 @@
         });
       }
       function del(field) {
-        removeSchemaByFiled([`deviceTypeId${field}`, `deviceType${field}`, `device_${field}`, `${field}`, `remark${field}`]);
+        removeSchemaByFiled([`deviceTypeId${field}`, `deduction${index}`, `deviceType${field}`, `device_${field}`, `${field}`, `remark${field}`]);
         n.value--;
         updataCount()
       }
@@ -248,15 +248,7 @@
             //人工费
             manMade.push(ele.partId);
             count = count + ele.count * ele.price;
-          } else if (ele.type == 2) {
-            //人工费
-            let addName = addSchemas(n.value)
-            priceSchema.push(...addName)
-            valueObj[`deviceTypeId${n.value}`] = ele.name;
-            valueObj[`device_${n.value}`] = Number(ele.price);
-            count = count + Number(ele.price);
-            n.value++
-          } else {
+          } else if (ele.type == 0) {
             //备件
             countIndex++;
             let price = ele.discount == 1 ? ele.priceDiscount : ele.price;
@@ -327,6 +319,17 @@
                 },
               },
             );
+          } else {
+            //人工费
+            let addName = addSchemas(n.value,ele.type == 3)
+            console.log('addName',addName)
+            priceSchema.push(...addName)
+            valueObj[`deviceTypeId${n.value}`] = ele.name;
+            valueObj[`deduction${n.value}`] = ele.name;
+            valueObj[`device_${n.value}`] = Number(ele.price);
+            valueObj[`remark${n.value}`] = ele.remark;
+            count = count + Number(ele.price);
+            n.value++
           }
         });
         fileFlow.priceCount = count.toFixed(2);
@@ -337,9 +340,6 @@
         setTimeout(() => {
           setFieldsValue(valueObj);
         }, 10);
-        // if(countIndex == 0) {
-        //   add()
-        // }
       }
       function addSchemas(number, isJm = false) {
         let priceListsLength = fileFlow.priceLists.filter(ele => ele.type == 0).length;
@@ -356,7 +356,7 @@
             },
           },
           {
-            field: 'deviceTypeId' + number,
+            field: `${isJm ? 'deduction' : 'deviceTypeId'}` + number,
             label: isJm ? '减免' : '明细',
             labelWidth: 50,
             component: 'Input',
@@ -380,10 +380,10 @@
             label: '价格 (元)',
             component: 'InputNumber',
             required: true,
-            defaultValue: 1,
+            defaultValue: isJm?0:1,
             labelWidth: 80,
             componentProps: {
-              max: 999,
+              max: isJm ? 0 : 999,
               min: isJm ? -999 : 1,
               onChange: () => {
                 setTimeout(() => {
@@ -441,7 +441,7 @@
               loading.value = true;
               let priceListsparams = [];
               fileFlow.priceLists.map((ele) => {
-                if (ele.type == 1 || ele.type == 2) {
+                if (ele.type == 1 || ele.type == 2 || ele.type == 3) {
                   return;
                 }
                 let discount = params[`discount${ele.priceListId}`]?.length ? 1 : 0;
@@ -467,13 +467,13 @@
                 }
               });
               for (let index = 1; index < n.value; index++) {
-                if(params[`deviceTypeId${index}`]){
+                if(params[`device_${index}`]){
                   priceListsparams.push({
                   count: 1,
-                  name: params[`deviceTypeId${index}`],
+                  name: params[`deviceTypeId${index}`] || params[`deduction${index}`],
                   remark: params[`remark${index}`],
                   price : params[`device_${index}`],
-                  type: 2,
+                  type: params[`deduction${index}`]?3:2,
                 });
                 }
               }
@@ -541,7 +541,7 @@
           );
         });
         for (let index = 1; index < indexa; index++) {
-          clearFiled.push(`deviceTypeId${index}`,`deviceType${index}`, `device_${index}`, `${index}`, `remark${index}`);
+          clearFiled.push(`deviceTypeId${index}`,`deduction${index}`,`deviceType${index}`, `device_${index}`, `${index}`, `remark${index}`);
         }
         removeSchemaByFiled(clearFiled);
         n.value = 1;