Explorar o código

fix: 开发商品管理、BOM、生产管理、财务、调整出库入库部分字段

wuguojie hai 4 meses
pai
achega
da5ce47fbe

+ 2 - 2
src/utils/dict.js

@@ -14,11 +14,11 @@ export function useDict(...args) {
         res.value[dictType] = dicts;
       } else {
         getDicts(dictType).then(resp => {
-          res.value[dictType] = resp.data.map(p => ({ label: p.dictLabel, value: p.dictValue, elTagType: p.listClass, elTagClass: p.cssClass }))
+          res.value[dictType] = resp.data.map(p => ({ label: p.dictLabel, value: p.dictValue, elTagType: p.listClass, elTagClass: p.cssClass, remark: p.remark?p.remark:'' }))
           useDictStore().setDict(dictType, res.value[dictType]);
         })
       }
     })
     return toRefs(res.value);
   })()
-}
+}

+ 1 - 1
src/views/wms/basic/item/index.vue

@@ -239,7 +239,7 @@
                     <template #default="scope">
                         <div class="flex-center">
                             <el-select :disabled="scope.row.isMultiUom" v-model="scope.row.unit">
-                                <el-option :value="item.value" :label="item.label" v-for="(item, index) in conventional_units"></el-option>
+                                <el-option :value="item.value" :label="item.label" v-for="(item, index) in quantity_unit"></el-option>
                             </el-select>
                         </div>
                         <div class="flex-center mt5">

+ 1 - 1
src/views/wms/basic/product/index.vue

@@ -1088,7 +1088,7 @@ const handleBOMDataCancel = () => {
 const handleBOMDataConfirm = ()=> {
     let list = BOMDataList.value.map(item => {
         return {
-            bomItemSkuId: item.itemSku.itemId,
+            bomItemSkuId: item.skuId,
             quantity: item.quantity,
             unit: item.unit
         }

+ 21 - 6
src/views/wms/order/receipt/edit.vue

@@ -115,11 +115,6 @@
                 <div v-if="row.itemSku.barcode">条码:{{row.itemSku.barcode}}</div>
               </template>
             </el-table-column>
-              <el-table-column label="单位">
-                  <template #default="scope">
-                      {{ scope.row.item.unit }}
-                  </template>
-              </el-table-column>
             <el-table-column label="数量" prop="quantity" width="180">
               <template #default="scope">
                 <el-input-number
@@ -131,6 +126,13 @@
                 ></el-input-number>
               </template>
             </el-table-column>
+              <el-table-column label="单位">
+                  <template #default="scope">
+                      <el-select v-model="scope.row.unit">
+                          <el-option v-for="item in scope.row.unitList" :value="item.value" :label="item.label" ></el-option>
+                      </el-select>
+                  </template>
+              </el-table-column>
             <el-table-column label="金额" prop="amount" width="180">
               <template #default="scope">
                 <el-input-number
@@ -188,6 +190,7 @@ import {getWarehouseAndSkuKey} from "@/utils/wmsUtil";
 
 const {proxy} = getCurrentInstance();
 const { wms_receipt_type } = proxy.useDict("wms_receipt_type");
+const { conventional_units } = proxy.useDict('conventional_units')
 const selectedSku = ref([])
 const mode = ref(false)
 const loading = ref(false)
@@ -227,6 +230,13 @@ const data = reactive({
 });
 const { form, rules} = toRefs(data);
 
+const changeUnit = (unit) => {
+    let list = []
+    let type = conventional_units.value.filter(item => item.value === unit)
+    list = conventional_units.value.filter(item => item.remark === type?.[0]?.remark)
+    return list
+}
+
 const cancel = async () => {
   await proxy?.$modal.confirm('确认取消编辑入库单吗?');
   close()
@@ -254,7 +264,8 @@ const handleOkClick = (item) => {
           item: it.item,
           amount: undefined,
           quantity: it.quantity,
-          warehouseId: form.value.warehouseId
+          warehouseId: form.value.warehouseId,
+          unitList: changeUnit(it.itemSku.unit)
         }
       )
     }
@@ -280,6 +291,7 @@ const getParamsBeforeSave = (orderStatus) => {
         amount: it.amount,
         quantity: it.quantity,
         warehouseId: form.value.warehouseId,
+          unit: it.unit
       }
     })
   }
@@ -387,6 +399,9 @@ const loadDetail = (id) => {
   loading.value = true
   getReceiptOrder(id).then((response) => {
     form.value = {...response.data}
+    form.value.details.forEach(item => {
+        item.unitList = item.itemSku.unit?changeUnit(item.itemSku.unit): conventional_units.value
+    })
     if (response.data.details?.length) {
       selectedSku.value = response.data.details.map(it => {
         return {

+ 22 - 6
src/views/wms/order/shipment/edit.vue

@@ -133,11 +133,6 @@
                 <div v-if="row.itemSku.barcode">条码:{{row.itemSku.barcode}}</div>
               </template>
             </el-table-column>
-              <el-table-column label="单位">
-                  <template #default="scope">
-                      {{ scope.row.item.itemUnit }}
-                  </template>
-              </el-table-column>
             <el-table-column label="出库数量" prop="quantity" width="180">
               <template #default="scope">
                 <el-input-number
@@ -149,6 +144,13 @@
                 ></el-input-number>
               </template>
             </el-table-column>
+            <el-table-column label="单位">
+                <template #default="scope">
+                    <el-select v-model="scope.row.unit">
+                        <el-option v-for="item in scope.row.unitList" :value="item.value" :label="item.label" ></el-option>
+                    </el-select>
+                </template>
+            </el-table-column>
             <el-table-column label="金额" prop="amount" width="180">
               <template #default="scope">
                 <el-input-number
@@ -209,6 +211,7 @@ import {getWarehouseAndSkuKey} from "@/utils/wmsUtil"
 
 const {proxy} = getCurrentInstance();
 const {wms_shipment_type} = proxy.useDict("wms_shipment_type");
+const { conventional_units } = proxy.useDict('conventional_units')
 
 const loading = ref(false)
 const initFormData = {
@@ -242,6 +245,14 @@ const data = reactive({
   }
 });
 const {form, rules} = toRefs(data);
+
+const changeUnit = (unit) => {
+    let list = []
+    let type = conventional_units.value.filter(item => item.value === unit)
+    list = conventional_units.value.filter(item => item.remark === type?.[0]?.remark)
+    return list
+}
+
 const cancel = async () => {
   await proxy?.$modal.confirm('确认取消编辑出库单吗?');
   close()
@@ -272,6 +283,7 @@ const handleOkClick = (item) => {
           quantity: undefined,
           warehouseId: form.value.warehouseId,
           inventoryId: it.id,
+          unitList: changeUnit(it.itemSku.unit)
         })
     }
   })
@@ -297,7 +309,8 @@ const getParamsBeforeSave = (orderStatus) => {
         skuId: it.skuId,
         amount: it.amount,
         quantity: it.quantity,
-        warehouseId: form.value.warehouseId
+        warehouseId: form.value.warehouseId,
+        unit: it.unit
       }
     })
   }
@@ -420,6 +433,9 @@ const loadDetail = (id) => {
       })
     }
     form.value = {...response.data}
+    form.value.details.forEach(item => {
+        item.unitList = item.itemSku.unit?changeUnit(item.itemSku.unit): conventional_units.value
+    })
     inventorySelectRef.value.setWarehouseId(form.value.warehouseId)
     Promise.resolve();
   }).then(() => {