From 20913c80c3f5fc8e533cb92b90e6f20bcd68e032 Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期三, 29 十一月 2023 17:49:32 +0800
Subject: [PATCH] feat: 1、优化导入 2、部门物品台账查询对接

---
 admin-web/src/views/stock/procure/purchaseOrder/edit.vue |   54 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 33 insertions(+), 21 deletions(-)

diff --git a/admin-web/src/views/stock/procure/purchaseOrder/edit.vue b/admin-web/src/views/stock/procure/purchaseOrder/edit.vue
index 9ed3d61..bca8123 100644
--- a/admin-web/src/views/stock/procure/purchaseOrder/edit.vue
+++ b/admin-web/src/views/stock/procure/purchaseOrder/edit.vue
@@ -1,5 +1,5 @@
 <template>
-  <win-md class="stock-edit" :title="`${setting.title}閲囪喘鍏ュ簱`" @close="close" :width="'800px'">
+  <win-md class="stock-edit" :title="`${setting.title}閲囪喘鍏ュ簱`" @close="close" :width="'800px'" :loading="loading">
     <el-form class="form" ref="ruleForm" :model="formData" :rules="rules" label-width="120px">
       <div class="main-w">
         <el-row :gutter="24" class="headerHeight">
@@ -68,7 +68,7 @@
                 :rules="rules.baseGoodsTemplateId"
               >
                 <el-select
-                 v-model="goodsItem.baseGoodsTemplateId"
+                  v-model="goodsItem.baseGoodsTemplateId"
                   placeholder="璇峰厛鎷╃墿鍝佸垎绫�"
                   filterable
                   :disabled="!goodsItem.baseCategoryId"
@@ -131,15 +131,19 @@
                 {{ scope.row.unit }}
               </template>
             </el-table-column>
-            <el-table-column prop="price" label="鍗曚环锛堝厓锛�" align="center">
+            <el-table-column prop="priceYuan" label="鍗曚环锛堝厓锛�" align="center">
               <template slot-scope="scope">
                 <el-form-item
                   label-width="0"
                   style="margin-bottom: 0"
-                  :prop="`procureGoods[${goodsIndex}].models[${scope.$index}].price`"
-                  :rules="rules.price"
+                  :prop="`procureGoods[${goodsIndex}].models[${scope.$index}].priceYuan`"
+                  :rules="rules.priceYuan"
                 >
-                  <el-input type="number" v-model.number="scope.row.price"></el-input>
+                  <el-input
+                    type="number"
+                    v-model.number="scope.row.priceYuan"
+                    @change="priceChange($event, goodsIndex, scope.$index)"
+                  ></el-input>
                 </el-form-item>
               </template>
             </el-table-column>
@@ -187,20 +191,20 @@
 </template>
 <script>
 import {
+  goodsModel,
   goodsTemplate,
   procureAdd,
+  procureDetail,
   procureEdit,
   selectTenantWarehouse,
-  goodsModel,
-  procureDetail,
 } from '@/api/stock/procure/purchaseOrder';
-import { getTree } from '@/api/foudation/classification';
+import {getTree} from '@/api/foudation/classification';
 import MyButton from '@/components/myButton/myButton';
 import winMd from '@/components/win/win-md';
 import upload from '@/components/upload/index';
-import { getUploadUrl, getDownUrl } from '@/utils/base';
-import { findParentIds } from '@/utils/index';
-import { mapGetters } from 'vuex';
+import {getUploadUrl} from '@/utils/base';
+import {findParentIds} from '@/utils/index';
+import {mapGetters} from 'vuex';
 
 export default {
   components: { MyButton, winMd, upload },
@@ -218,7 +222,7 @@
         return callback(new Error('璇烽�夋嫨'));
       }
       let temp = this.formData.procureGoods.filter((v) => v.baseGoodsTemplateId == value);
-      if (!temp || temp.length!=1) {
+      if (!temp || temp.length != 1) {
         return callback(new Error('宸查�夎繃姝ょ墿鍝�'));
       }
       callback();
@@ -236,7 +240,6 @@
     };
     // 鏁伴噺鏍¢獙
     var checkCounts = (rule, value, callback) => {
-      console.log(value)
       if (!value) {
         return callback(new Error('璇疯緭鍏�'));
       }
@@ -251,7 +254,7 @@
       callback();
     };
     return {
-      loading: false,
+      loading: true,
       buyTypeOptions: [
         {
           label: '闆嗛噰',
@@ -287,7 +290,8 @@
       },
       modelsItem: {
         baseGoodsModelsId: '', // 瑙勬牸鍨嬪彿缂栧彿
-        price: null, // 鍗曚环(閲囪喘闇�瑕侊紝璋冩嫧涓嶉渶瑕�)
+        priceYuan: null, // 鍗曚环(鍏�)
+        price: null, // 鍗曚环(鍒� 閲囪喘闇�瑕侊紝璋冩嫧涓嶉渶瑕�)
         counts: null, // 鎿嶄綔鏁伴噺
         unit: null, //鍗曚綅
       },
@@ -300,7 +304,7 @@
         baseCategoryIds: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
         baseGoodsTemplateId: [{ validator: checkGoodsTemplateId, trigger: ['blur', 'change'] }],
         modelsIds: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
-        price: [{ validator: checkPrice, trigger: 'blur' }],
+        priceYuan: [{ validator: checkPrice, trigger: 'blur' }],
         counts: [{ validator: checkCounts, trigger: 'blur' }],
       },
 
@@ -308,7 +312,6 @@
         title: '涓婁紶',
         max: 20, // 鏈�澶уぇ灏忥紝鍗曚綅M
         num: 10, // 鏀寔涓婁紶鍥剧墖涓暟
-        accept: '.jpg,.png', // 闄愬埗鏍煎紡
         tip: '', // 鎻愮ず 榛樿锛歚鍙兘涓婁紶${this.defaultSettings.num}涓�${this.defaultSettings.accept}鏂囦欢锛屼笖涓嶈秴杩�${this.defaultSettings.max}kb`
         uploadUrl: getUploadUrl(), // 涓婁紶璺緞
         multiple: true, // 鏄惁鏀寔鎵归噺涓婁紶
@@ -349,9 +352,13 @@
           );
           this.getgoodsTemplate(item.baseCategoryId, index);
           this.getgoodsModel(item.baseGoodsTemplateId, index);
+          item.models.forEach((child, childIndex) => {
+            this.$set(this.formData.procureGoods[index].models[childIndex], 'priceYuan', child.price / 100);
+          });
           return item;
         });
       }
+      this.loading = false;
     },
 
     // 鑾峰彇鍏ュ簱浠撳簱鍒楄〃
@@ -468,6 +475,11 @@
       this.formData.procureGoods[index].models.splice(delIndex, 1);
     },
 
+    // 浠锋牸input鐩戝惉 杞负鍒�
+    priceChange(e, goodsIndex, index) {
+      this.formData.procureGoods[goodsIndex].models[index].price = e * 100;
+    },
+
     // 涓婁紶
     uploadChange() {
       let arr = this.$refs.uploadRef.fileList;
@@ -488,7 +500,7 @@
     handleSubmit() {
       this.$refs['ruleForm'].validate((valid) => {
         if (valid) {
-          console.log('this.formData', this.formData);
+          this.loading = true;
           if (!this.setting.id) {
             procureAdd(this.formData)
               .then((res) => {
@@ -497,7 +509,7 @@
                 this.$emit('search');
               })
               .catch((err) => {
-                console.log('create err', err);
+                this.loading = false;
                 this.$message.error('淇濆瓨澶辫触');
               });
           } else {
@@ -508,7 +520,7 @@
                 this.$emit('search');
               })
               .catch((err) => {
-                console.log('edit err', err);
+                this.loading = false;
                 this.$message.error('淇濆瓨澶辫触');
               });
           }

--
Gitblit v1.9.1