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

采购退货审批,申请部门显示;通过委外发货单编码判断是不是委外 委外收货 质检状态显示已质检;

yijing преди 1 година
родител
ревизия
49c2c212b9

+ 18 - 5
src/api/warehouseManagement/warehouseDefinition.js

@@ -18,7 +18,9 @@ import request from '@/utils/request';
 export default {
   //条件查询工厂
   getFactoryarea: async (params) => {
-    const res = await request.get('/main/factoryarea/page', { params });
+    const res = await request.get('/main/factoryarea/page', {
+      params
+    });
     if (res.data.code == 0) {
       return res.data.data;
     }
@@ -37,7 +39,17 @@ export default {
   },
   //根据部门获取员工
   getUserPage: async (params) => {
-    const res = await request.get('/main/user/getUserPage', { params });
+    const res = await request.get('/main/user/getUserPage', {
+      params
+    });
+    if (res.data.code == 0) {
+      return res.data.data;
+    }
+    return Promise.reject(new Error(res.data.message));
+  },
+  //根据人员id获取部门
+  getGroupById: async (id) => {
+    const res = await request.get(`/main/user/getById/${id}`);
     if (res.data.code == 0) {
       return res.data.data;
     }
@@ -106,7 +118,9 @@ export default {
   },
   //详情
   info: function (params) {
-    return request.get('/main/org/info/info', { params });
+    return request.get('/main/org/info/info', {
+      params
+    });
   },
   //树
   // tree: function (params) {
@@ -126,8 +140,7 @@ export default {
   //根据仓库查询库区
   getListByWarehouseId: async (id) => {
     const res = await request.get(
-      `/wms/warehousearea/getListByWarehouseId/${id}`,
-      {}
+      `/wms/warehousearea/getListByWarehouseId/${id}`, {}
     );
     if (res.data.code == 0) {
       return res.data.data;

+ 154 - 179
src/views/bpm/handleTask/components/purchaseOrder/returnGoods/submit.vue

@@ -1,64 +1,34 @@
 <template>
   <el-col :span="16" :offset="6">
     <el-form label-width="100px" ref="formRef" :model="form">
-      <el-form-item
-        label="审批建议"
-        style="margin-bottom: 20px"
-        :rules="{
-          required: true,
-          message: '请选择',
-          trigger: 'change'
-        }"
-      >
-        <el-input
-          type="textarea"
-          v-model="form.reason"
-          placeholder="请输入审批建议"
-        />
+      <el-form-item label="审批建议" style="margin-bottom: 20px" :rules="{
+        required: true,
+        message: '请选择',
+        trigger: 'change'
+      }">
+        <el-input type="textarea" v-model="form.reason" placeholder="请输入审批建议" />
       </el-form-item>
     </el-form>
     <div style="margin-left: 10%; margin-bottom: 20px; font-size: 14px">
-      <el-button
-        icon="el-icon-edit-outline"
-        type="success"
-        size="mini"
-        v-if="
-          taskDefinitionKey != 'storemanApprove' ||
-          (taskDefinitionKey == 'storemanApprove' &&
-            outInData.verifyStatus == 2)
-        "
-        @click="handleAudit(1)"
-        >通过
+      <el-button icon="el-icon-edit-outline" type="success" size="mini" v-if="
+        taskDefinitionKey != 'storemanApprove' ||
+        (taskDefinitionKey == 'storemanApprove' &&
+          outInData.verifyStatus == 2)
+      " @click="handleAudit(1)">通过
       </el-button>
-      <el-button
-        icon="el-icon-edit-outline"
-        type="success"
-        size="mini"
-        :loading="isSaveLoading"
-        @click="storemanApprove"
-        v-if="
+      <el-button icon="el-icon-edit-outline" type="success" size="mini" :loading="isSaveLoading"
+        @click="storemanApprove" v-if="
           ['storemanApprove'].includes(taskDefinitionKey) &&
           activeComp == 'outBound' &&
-          ([0, 3].includes(outInData.verifyStatus)||!outInData.verifyStatus)
-        "
-        >申请出库
+          ([0, 3].includes(outInData.verifyStatus) || !outInData.verifyStatus)
+        ">申请出库
       </el-button>
-      <el-button
-        icon="el-icon-circle-close"
-        type="danger"
-        size="mini"
-        @click="handleAudit(0)"
-        v-if="['storemanApprove'].includes(taskDefinitionKey)"
-        >驳回
+      <el-button icon="el-icon-circle-close" type="danger" size="mini" @click="handleAudit(0)"
+        v-if="['storemanApprove'].includes(taskDefinitionKey)">驳回
       </el-button>
 
-      <el-dropdown
-        @command="(command) => handleCommand(command)"
-        style="margin-left: 30px"
-      >
-        <span class="el-dropdown-link"
-          >更多<i class="el-icon-arrow-down el-icon--right"></i
-        ></span>
+      <el-dropdown @command="(command) => handleCommand(command)" style="margin-left: 30px">
+        <span class="el-dropdown-link">更多<i class="el-icon-arrow-down el-icon--right"></i></span>
         <el-dropdown-menu slot="dropdown">
           <el-dropdown-item command="cancel">作废</el-dropdown-item>
         </el-dropdown-menu>
@@ -92,63 +62,66 @@
 </template>
 
 <script>
-  import {
-    UpdateReturnInformation,
-    uploadReceipt,
-    cancel
-  } from '@/api/bpm/components/purchasingManage/returnGoods';
-  import {approveTaskWithVariables, rejectTask} from '@/api/bpm/task';
-  import { getReturnSaleOrderrecordDetail } from '@/api/bpm/components/purchasingManage/returnGoods';
-  import { getOutInBySourceBizNo } from '@/api/classifyManage';
-  import storageApi from '@/api/warehouseManagement';
-  // 流程实例的详情页,可用于审批
-  export default {
-    name: '',
-    components: {
-      //   Parser
+import {
+  UpdateReturnInformation,
+  uploadReceipt,
+  cancel
+} from '@/api/bpm/components/purchasingManage/returnGoods';
+import { approveTaskWithVariables, rejectTask } from '@/api/bpm/task';
+import { getReturnSaleOrderrecordDetail } from '@/api/bpm/components/purchasingManage/returnGoods';
+import { getOutInBySourceBizNo } from '@/api/classifyManage';
+import storageApi from '@/api/warehouseManagement';
+// 流程实例的详情页,可用于审批
+export default {
+  name: '',
+  components: {
+    //   Parser
+  },
+  props: {
+    businessId: {
+      default: ''
     },
-    props: {
-      businessId: {
-        default: ''
-      },
-      taskId: {
-        default: ''
-      },
-      id: {
-        default: ''
-      },
-      id: {
-        default: ''
-      },
-      taskDefinitionKey: {
-        default: ''
-      }
+    taskId: {
+      default: ''
     },
-    data() {
-      return {
-        isSaveLoading: false,
-        form: {
-          technicianId: '',
-          reason: ''
-        },
-        activeComp: '',
-        outInData: {
-          verifyStatus: ''
-        }
-      };
+    id: {
+      default: ''
     },
-    async created() {
-      if (this.taskDefinitionKey == 'storemanApprove') {
-        let data = await getReturnSaleOrderrecordDetail(this.businessId);
-        try {
-          this.outInData = await getOutInBySourceBizNo(data.returnNo);
-        } catch (error) {
-          this.outInData.verifyStatus = 0;
-        }
-      }
+    id: {
+      default: ''
     },
-    methods: {
-      async storemanApprove() {
+    taskDefinitionKey: {
+      default: ''
+    }
+  },
+  data() {
+    return {
+      isSaveLoading: false,
+      form: {
+        technicianId: '',
+        reason: ''
+      },
+      activeComp: '',
+      outInData: {
+        verifyStatus: ''
+      }
+    };
+  },
+  async created() {
+    if (this.taskDefinitionKey == 'storemanApprove') {
+      let data = await getReturnSaleOrderrecordDetail(this.businessId);
+      try {
+        this.outInData = await getOutInBySourceBizNo(data.returnNo);
+      } catch (error) {
+        this.outInData.verifyStatus = 0;
+      }
+    }
+  },
+  methods: {
+    async storemanApprove() {
+      this.$refs.formRef.validate(async (valid) => {
+        if (valid) return this.$message.warning('有必填项未填写,请检查')
+
         let res = await this.getTableValue();
         let storageData = res.returnStorageData;
         // 出库来源isSkip 0-正常  1-外部(外部跳过内部审核流程)
@@ -175,93 +148,95 @@
           this.isSaveLoading = false;
           console.error('保存失败:', error);
         }
-      },
-      /** 处理转办审批人 */
-      handleUpdateAssignee() {
-        this.$emit('handleUpdateAssignee');
-      },
-      /** 退回 */
-      handleBackList() {
-        this.$emit('handleBackList');
-      },
-      activeCompChange(activeComp) {
-        console.log(activeComp,'activeComp')
-        this.activeComp = activeComp;
-      },
-      async handleAudit(status) {
-        //发起人补充
-        if (this.taskDefinitionKey === 'starter') {
-          let arr = await this.getTableValue();
-          if (!arr) {
-            return;
-          }
+      })
 
-          await UpdateReturnInformation(arr);
-        }
-        if (this.taskDefinitionKey === 'purchaserUploadReceipt') {
-          let data = await this.getTableValue();
-          if (data.repliedFiles.length == 0) {
-            this.$message.error('回执附件不能为空');
-            return;
-          }
-          await uploadReceipt(data);
+    },
+    /** 处理转办审批人 */
+    handleUpdateAssignee() {
+      this.$emit('handleUpdateAssignee');
+    },
+    /** 退回 */
+    handleBackList() {
+      this.$emit('handleBackList');
+    },
+    activeCompChange(activeComp) {
+      console.log(activeComp, 'activeComp')
+      this.activeComp = activeComp;
+    },
+    async handleAudit(status) {
+      //发起人补充
+      if (this.taskDefinitionKey === 'starter') {
+        let arr = await this.getTableValue();
+        if (!arr) {
+          return;
         }
-        this._approveTaskWithVariables(status);
-      },
-      async _approveTaskWithVariables(status) {
-        let variables = {
-          pass: !!status
-        };
 
-        let API = !!status ? approveTaskWithVariables : rejectTask;
-        API({
-          id: this.taskId,
-          reason: this.form.reason,
-          variables
-        }).then((res) => {
-          if (res.data.code != '-1') {
-            this.$emit('handleAudit', {
-              status,
-              title: status === 0 ? '驳回' : ''
-            });
-          }
-        });
-      },
+        await UpdateReturnInformation(arr);
+      }
+      if (this.taskDefinitionKey === 'purchaserUploadReceipt') {
+        let data = await this.getTableValue();
+        if (data.repliedFiles.length == 0) {
+          this.$message.error('回执附件不能为空');
+          return;
+        }
+        await uploadReceipt(data);
+      }
+      this._approveTaskWithVariables(status);
+    },
+    async _approveTaskWithVariables(status) {
+      let variables = {
+        pass: !!status
+      };
 
-      getTableValue() {
-        return new Promise((resolve, reject) => {
-          this.$emit('getTableValue', async (data) => {
-            resolve(await data);
+      let API = !!status ? approveTaskWithVariables : rejectTask;
+      API({
+        id: this.taskId,
+        reason: this.form.reason,
+        variables
+      }).then((res) => {
+        if (res.data.code != '-1') {
+          this.$emit('handleAudit', {
+            status,
+            title: status === 0 ? '驳回' : ''
           });
+        }
+      });
+    },
+
+    getTableValue() {
+      return new Promise((resolve, reject) => {
+        this.$emit('getTableValue', async (data) => {
+          resolve(await data);
         });
-      },
+      });
+    },
 
-      //更多
-      handleCommand(command) {
-        if (command === 'cancel') {
-          this.$confirm('是否确认作废?', {
-            type: 'warning',
-            cancelButtonText: '取消',
-            confirmButtonText: '确定'
-          })
-            .then(() => {
-              cancel({
-                id: this.taskId,
-                reason: this.form.reason,
-                businessId: this.businessId
-              })
-                .then(() => {
-                  this.$emit('handleClose');
-                })
-                .catch(() => {
-                  this.$message.error('流程作废失败');
-                });
+    //更多
+    handleCommand(command) {
+      if (command === 'cancel') {
+        this.$confirm('是否确认作废?', {
+          type: 'warning',
+          cancelButtonText: '取消',
+          confirmButtonText: '确定'
+        })
+          .then(() => {
+            cancel({
+              id: this.taskId,
+              reason: this.form.reason,
+              businessId: this.businessId
             })
-            .catch(() => {});
-        }
+              .then(() => {
+                this.$emit('handleClose');
+              })
+              .catch(() => {
+                this.$message.error('流程作废失败');
+              });
+          })
+          .catch(() => { });
       }
     }
-  };
+  }
+};
 </script>
 
 <style lang="scss"></style>

+ 9 - 4
src/views/bpm/outgoingManagement/outbound.vue

@@ -630,13 +630,18 @@ export default {
       this.formData.extInfo.createUserName = this.$store.state.user.info.name;
       this.formData.createUserId = this.$store.state.user.info.userId;
 
-      //
-      // this.formData.extInfo.verifyDeptCode = this.$store.state.user.info.groupId;
-      // this.formData.extInfo.verifyDeptName = this.$store.state.user.info.groupName;
+      //获取部门
+      warehouseDefinition.getGroupById(this.form.makerId).then((res) => {
+        this.formData.extInfo.verifyDeptCode = res.groupId;
+        this.formData.extInfo.verifyDeptName = res.groupName;
+      });
 
-      console.log(this.$store.state.user.info, 'this.$store.state.user.info')
       // 生产相关逻辑
       console.log(this.detailList, 'this.detailList')
+      console.log(this.saleProductList, 'this.saleProductList')
+      console.log(this.productList, 'this.productList')
+
+
       if (this.detailList?.length > 0) {
         // 获取领料人列表
         this.getStaffList({ id: this.form.executorDeptId }).then(() => {

+ 29 - 3
src/views/bpm/stockManagement/storage.vue

@@ -563,6 +563,7 @@ import { deepClone } from '@/utils';
 import { getDetails } from '@/api/classifyManage/itemInformation';
 import { mapActions, mapGetters } from 'vuex';
 import BigNumber from 'bignumber.js';
+import { status } from 'nprogress';
 export default {
   components: {
     selectType,
@@ -2662,6 +2663,18 @@ export default {
         let packingQuantity = row.packingQuantity / packingCodeList.length;
         let measureUnit = row.measureUnit;
         let measureQuantity = row.measureQuantity / row.packingQuantity;
+        let status = null;
+        //通过委外发货单编码判断是不是委外  委外收货 质检状态显示已质检
+        if (this.form.outsourceSendCode != '') {
+          status = 2;
+        } else {
+          // 0未检 1待检 2 已检
+          if (row.qualityControl == 1) {
+            status = 0;
+          } else {
+            status = 2;
+          }
+        }
 
         for (let index = 0; index < packingCodeList.length; index++) {
           let item = {
@@ -2695,7 +2708,7 @@ export default {
             purchaseDate: purchaseDate, // 采购时间
             result: 1, // 结果(1合格 2不合格)
             qualityControl: row.qualityControl,
-            status: row.qualityControl == 1 ? 0 : 2 // 状态(0=未质检 1待检 2已检)
+            status: status // 状态(0=未质检 1待检 2已检)
           };
           let outBoolen = !!this.getDict('不拆物料层规格', item.measureUnit)
             .dictValue;
@@ -2821,8 +2834,20 @@ export default {
           }
 
           console.log(filterArr[0], 'filterArr[0]')
-          let item = {
+          let status = null;
+          //通过委外发货单编码判断是不是委外  委外收货 质检状态显示已质检
+          if (this.form.outsourceSendCode != '') {
+            status = 2;
+          } else {
+            // 0未检 1待检 2 已检
+            if (row.qualityControl == 1) {
+              status = 0;
+            } else {
+              status = 2;
+            }
+          }
 
+          let item = {
             index: row.index + '-' + index, // 包装索引
             warehouseId: row.warehouseId, // 仓库id
             warehouseName: row.warehouseName, // 仓库名称
@@ -2880,8 +2905,9 @@ export default {
             purchaseDate: purchaseDate, // 采购时间
             result: 1, // 结果(1合格 2不合格)
             qualityControl: row.qualityControl,
-            status: row.qualityControl == 1 ? 0 : 2 // 状态(0=未质检 1待检 2已检)
+            status: status // 状态(0=未质检 1待检 2已检)
           };
+
           /**
            * packingUnit: row.isUnpack ? packingBoolen ? filterArr[0].conversionUnit : measureBoolen  ? row.packingSpecificationOption[2] ? row.packingSpecificationOption[2].conversionUnit
            *                     : row.packingSpecificationOption[1].conversionUnit: row.measureUnit: packingBoolen ? filterArr[0].conversionUnit : row.packingUnit,