Преглед на файлове

采购申请添加提交并发布按钮,并添加权限判断

lucw преди 9 месеца
родител
ревизия
e38c4cb843

+ 12 - 0
src/api/materialPlan/index.js

@@ -32,6 +32,18 @@ export async function saveAndSubmit(data) {
   return Promise.reject(new Error(res.data.message));
 }
 
+
+/**
+ * 保存并发布
+ */
+export async function submitAndPublish(data) {
+  const res = await request.post('/aps/batchingplan/submitAndPublish', data);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
 /**
  * 修改
  */

+ 27 - 3
src/views/materialPlan/components/plan-edit-dialog.vue

@@ -349,8 +349,26 @@
 
     <div slot="footer" v-if="type != 'detail'">
       <el-button @click="cancel">取消</el-button>
-      <el-button type="primary" @click="confirm('save')">保存</el-button>
-      <el-button type="primary" @click="confirm('submit')">提交</el-button>
+      <el-button
+        v-if="$hasPermission('aps:batchingplan:save')"
+        type="primary"
+        @click="confirm('save')"
+        >保存</el-button
+      >
+
+      <el-button
+        v-if="$hasPermission('aps:batchingplan:saveAndSubmit')"
+        type="primary"
+        @click="confirm('submit')"
+        >提交</el-button
+      >
+      <el-button
+        v-if="$hasPermission('aps:batchingplan:submitAndPublish')"
+        type="primary"
+        @click="confirm('publish')"
+      >
+        提交并发布
+      </el-button>
     </div>
 
     <saleOrderPop ref="saleOrderRef" @chooseOrder="chooseOrder"></saleOrderPop>
@@ -429,6 +447,7 @@
     listBomBySalesOrderId,
     save,
     saveAndSubmit,
+    submitAndPublish,
     getById,
     contactList
   } from '@/api/materialPlan/index';
@@ -1009,7 +1028,9 @@
         console.log(row, 'row 1');
         data.forEach((e) => {
           if (row.detailId == e.id) {
-            e.materialList = e.materialList.filter((d) => d.categoryId !== row.categoryId);
+            e.materialList = e.materialList.filter(
+              (d) => d.categoryId !== row.categoryId
+            );
             // e.materialList.splice(idx, 1);
           }
         });
@@ -1235,6 +1256,9 @@
             if (type == 'submit') {
               await saveAndSubmit(this.formData);
               this.$message.success('保存并提交成功!');
+            } else if (type == 'publish') {
+              await submitAndPublish(this.formData);
+              this.$message.success('保存并发布成功!');
             } else {
               await save(this.formData);
               this.$message.success('保存成功!');

+ 33 - 4
src/views/materialPlan/components/producePlan.vue

@@ -394,7 +394,25 @@
 
     <div slot="footer" v-if="type != 'detail'">
       <el-button @click="cancel">取消</el-button>
-      <el-button type="primary" @click="confirm">保存</el-button>
+      <el-button
+        v-if="$hasPermission('aps:batchingplan:save')"
+        type="primary"
+        @click="confirm('save')"
+        >保存</el-button
+      >
+      <el-button
+        v-if="$hasPermission('aps:batchingplan:saveAndSubmit')"
+        type="primary"
+        @click="confirm('submit')"
+        >提交</el-button
+      >
+      <el-button
+        v-if="$hasPermission('aps:batchingplan:submitAndPublish')"
+        type="primary"
+        @click="confirm('publish')"
+      >
+        提交并发布
+      </el-button>
     </div>
 
     <produceOrder
@@ -475,6 +493,8 @@
     listBomBySalesOrderId,
     listBomByBomVersionId,
     save,
+    saveAndSubmit,
+    submitAndPublish,
     getById,
     contactList
   } from '@/api/materialPlan/index';
@@ -1238,7 +1258,7 @@
         this.$refs.table.setData([...tableData]);
         this.batchVisible = false;
       },
-      confirm() {
+      confirm(type) {
         this.$refs.formRef.validate(async (value) => {
           if (value) {
             let _arr = this.$refs.table.getData() ?? [];
@@ -1271,8 +1291,17 @@
             this.formData['salesOrderList'] = _arr2;
             this.formData.baitingType = 2;
 
-            await save(this.formData);
-            this.$message.success('保存成功!');
+            if (type == 'submit') {
+              await saveAndSubmit(this.formData);
+              this.$message.success('保存并提交成功!');
+            } else if (type == 'publish') {
+              await submitAndPublish(this.formData);
+              this.$message.success('提交并发布成功!');
+            } else {
+              await save(this.formData);
+              this.$message.success('保存成功!');
+            }
+
             this.$emit('success');
             this.cancel();
           }

+ 9 - 2
src/views/materialPlan/index.vue

@@ -99,16 +99,23 @@
             :underline="false"
             icon="el-icon-edit"
             @click="handleEdit('edit', row)"
-            v-if="row.approvalStatus != 2 && row.approvalStatus != 1"
+            v-if="
+              row.approvalStatus != 2 &&
+              row.approvalStatus != 1 &&
+              $hasPermission('aps:batchingplan:update')
+            "
           >
             修改
           </el-link>
           <el-link
+            v-if="
+              $hasPermission('aps:batchingplan:delete') &&
+              (row.approvalStatus == 0 || row.approvalStatus == 3)
+            "
             @click="handleDel(row)"
             type="danger"
             :underline="false"
             icon="el-icon-delete"
-            v-if="row.approvalStatus == 0 || row.approvalStatus == 3"
           >
             删除
           </el-link>