瀏覽代碼

标准版采购需求更新

cz 1 年之前
父節點
當前提交
4560011537
共有 1 個文件被更改,包括 122 次插入33 次删除
  1. 122 33
      src/components/process/SendPurchase.vue

+ 122 - 33
src/components/process/SendPurchase.vue

@@ -1,65 +1,135 @@
 <template>
   <div style="width: 100%; padding: 0px 15px">
-    <el-form :model="formData.data" :rules="rules" ref="formDom" label-position="top">
+    <el-form
+      :model="formData.data"
+      :rules="rules"
+      ref="formDom"
+      label-position="top"
+    >
       <div class="_t">基础信息</div>
       <el-row :gutter="10">
         <el-col :span="6">
           <el-form-item label="采购部门" prop="deptName">
-            <el-input v-model="formData.data.deptName" placeholder="请输入"> </el-input>
+            <el-input v-model="formData.data.deptName" placeholder="请输入">
+            </el-input>
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="采购人" prop="purchaseName">
-            <el-input v-model="formData.data.purchaseName" placeholder="请输入"> </el-input>
+            <el-input v-model="formData.data.purchaseName" placeholder="请输入">
+            </el-input>
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="采购时间" prop="purchaseTime">
-            <el-date-picker v-model="formData.data.purchaseTime" type="datetime" placeholder="请选择" />
+            <el-date-picker
+              v-model="formData.data.purchaseTime"
+              type="datetime"
+              placeholder="请选择"
+            />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="10">
         <el-col :span="8">
           <el-form-item label="供应商" prop="supplyId">
-            <el-select v-model="formData.data.supplyId" placeholder="请选择" @change="handleChangeSupplier" filterable style="width: 100%">
-              <el-option v-for="item in supplierData" :label="item.name" :value="item.id"> </el-option>
+            <el-select
+              v-model="formData.data.supplyId"
+              placeholder="请选择"
+              @change="handleChangeSupplier"
+              filterable
+              style="width: 100%"
+            >
+              <el-option
+                v-for="item in supplierData"
+                :label="item.name"
+                :value="item.id"
+              >
+              </el-option>
             </el-select>
           </el-form-item>
         </el-col>
       </el-row>
       <el-form-item label="采购说明" prop="purchaseContent">
-        <el-input v-model="formData.data.purchaseContent" placeholder="请输入" type="textarea"> </el-input>
+        <el-input
+          v-model="formData.data.purchaseContent"
+          placeholder="请输入"
+          type="textarea"
+        >
+        </el-input>
       </el-form-item>
       <div class="_t">采购明细</div>
       <el-form-item>
-        <el-button type="primary" @click="openProduct = true" style="margin: 10px 0" v-if="ids.length == 0"> 添加货品 </el-button>
+        <el-button
+          type="primary"
+          @click="openProduct = true"
+          style="margin: 10px 0"
+          v-if="ids.length == 0"
+        >
+          添加货品
+        </el-button>
         <el-table :data="formData.data.purchaseDetailList">
-          <el-table-column prop="goodType" label="货品类型" :formatter="(row) => (row.goodType == 1 ? '产品' : '物料')" />
+          <el-table-column
+            prop="goodType"
+            label="货品类型"
+            :formatter="(row) => (row.goodType == 1 ? '产品' : '物料')"
+          />
           <el-table-column prop="productCode" label="货品编码" />
           <el-table-column prop="productName" label="货品名称" />
           <el-table-column prop="productSpec" label="规格型号" />
           <el-table-column prop="productUnit" label="单位" />
-          <el-table-column prop="subscribeCount" label="申购数量" v-if="ids.length > 0" />
-          <el-table-column prop="purchaseCount" label="已采购数量" v-if="ids.length > 0" />
+          <el-table-column
+            prop="subscribeCount"
+            label="申购数量"
+            v-if="ids.length > 0"
+          />
+          <el-table-column
+            prop="purchaseCount"
+            label="已采购数量"
+            v-if="ids.length > 0"
+          />
           <el-table-column prop="count" label="本次采购" min-width="150">
             <template #default="{ row, $index }">
-              <el-form-item :prop="'purchaseDetailList.' + $index + '.count'" :rules="rules.count" :inline-message="true">
-                <el-input-number onmousewheel="return false;" v-model="row.count" :precision="4" :controls="false" :min="0" @change="handleChangeAmount" />
+              <el-form-item
+                :prop="'purchaseDetailList.' + $index + '.count'"
+                :rules="rules.count"
+                :inline-message="true"
+              >
+                <el-input-number
+                  onmousewheel="return false;"
+                  v-model="row.count"
+                  :precision="4"
+                  :controls="false"
+                  :min="0"
+                  @change="handleChangeAmount"
+                />
               </el-form-item>
             </template>
           </el-table-column>
           <el-table-column prop="price" label="单价" min-width="150">
             <template #default="{ row, $index }">
-              <el-form-item :prop="'purchaseDetailList.' + $index + '.price'" :rules="rules.price" :inline-message="true">
-                <el-input-number onmousewheel="return false;" v-model="row.price" :precision="4" :controls="false" :min="0" @change="handleChangeAmount" />
+              <el-form-item
+                :prop="'purchaseDetailList.' + $index + '.price'"
+                :rules="rules.price"
+                :inline-message="true"
+              >
+                <el-input-number
+                  onmousewheel="return false;"
+                  v-model="row.price"
+                  :precision="4"
+                  :controls="false"
+                  :min="0"
+                  @change="handleChangeAmount"
+                />
               </el-form-item>
             </template>
           </el-table-column>
           <el-table-column prop="amount" label="金额" />
           <el-table-column prop="zip" label="操作" width="100">
             <template #default="{ $index }">
-              <el-button type="primary" link @click="handleRemove($index)">删除</el-button>
+              <el-button type="primary" link @click="handleRemove($index)"
+                >删除</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
@@ -67,13 +137,25 @@
       <el-row>
         <el-col :span="4">
           <el-form-item label="采购金额" prop="amount">
-            <el-input v-model="formData.data.amount" placeholder="请输入" disabled />
+            <el-input
+              v-model="formData.data.amount"
+              placeholder="请输入"
+              disabled
+            />
           </el-form-item>
         </el-col>
       </el-row>
     </el-form>
-    <el-dialog v-model="openProduct" title="选择货品" width="70%" append-to-body>
-      <SelectGoods @cancel="openProduct = false" @pushGoods="pushGoods"></SelectGoods>
+    <el-dialog
+      v-model="openProduct"
+      title="选择货品"
+      width="70%"
+      append-to-body
+    >
+      <SelectGoods
+        @cancel="openProduct = false"
+        @pushGoods="pushGoods"
+      ></SelectGoods>
     </el-dialog>
   </div>
 </template>
@@ -93,8 +175,12 @@ let formData = reactive({
 });
 let rules = ref({
   deptName: [{ required: true, message: "请输入采购部门", trigger: "blur" }],
-  purchaseName: [{ required: true, message: "请输入采购人名称", trigger: "blur" }],
-  purchaseTime: [{ required: true, message: "请选择采购时间", trigger: "change" }],
+  purchaseName: [
+    { required: true, message: "请输入采购人名称", trigger: "blur" },
+  ],
+  purchaseTime: [
+    { required: true, message: "请选择采购时间", trigger: "change" },
+  ],
   supplyId: [{ required: true, message: "请选择供应商", trigger: "change" }],
   count: [{ required: true, message: "请输入本次采购数量", trigger: "blur" }],
   price: [{ required: true, message: "请输入单价", trigger: "blur" }],
@@ -124,7 +210,8 @@ const pushGoods = (goods) => {
     bussinessId: x.id,
     amount: 0,
   }));
-  formData.data.purchaseDetailList = formData.data.purchaseDetailList.concat(arr);
+  formData.data.purchaseDetailList =
+    formData.data.purchaseDetailList.concat(arr);
   openProduct.value = false;
   return ElMessage({
     message: "添加成功!",
@@ -150,13 +237,13 @@ const handleSubmit = async () => {
               return false;
             }
           }
-          if (e.count + Number(e.purchaseCount) > Number(e.subscribeCount)) {
-            ElMessage({
-              message: "本次采购数量和已采购数量和不可大于申购数量!",
-              type: "info",
-            });
-            return false;
-          }
+          // if (e.count + Number(e.purchaseCount) > Number(e.subscribeCount)) {
+          //   ElMessage({
+          //     message: "本次采购数量和已采购数量和不可大于申购数量!",
+          //     type: "info",
+          //   });
+          //   return false;
+          // }
         } else {
           if (e.count == 0) {
             ElMessage({
@@ -206,7 +293,7 @@ const getDetails = () => {
           ...x,
           subscribeCount: x.sumPackQuantity,
           purchaseCount: x.sumPurchaseCount,
-          count: 0,
+          count: x.expendQuantity || 0,
           price: null,
           amount: null,
         };
@@ -227,9 +314,11 @@ const getDetails = () => {
 // 获取供应商数据
 const supplierData = ref([]);
 const getSupplierList = async (req) => {
-  proxy.post("/supplierInfo/page", { pageNum: 1, pageSize: 9999 }).then((res) => {
-    supplierData.value = res.rows;
-  });
+  proxy
+    .post("/supplierInfo/page", { pageNum: 1, pageSize: 9999 })
+    .then((res) => {
+      supplierData.value = res.rows;
+    });
 };
 // 供应商改变逻辑
 const handleChangeSupplier = (val) => {