yusheng преди 2 години
родител
ревизия
1ddfeaa64f

+ 1 - 1
src/api/purchasingManage/purchaseOrder.js

@@ -55,7 +55,7 @@ export async function deleteInformation(data) {
   return Promise.reject(new Error(res.data.message));
 }
 /**
- * 新增信息
+ * 提交
  */
 export async function submit(data) {
   const res = await request.post(`/bpm/purchaseOrderApprove/submit`, data);

+ 10 - 1
src/api/purchasingManage/purchaseorderreceive.js

@@ -55,7 +55,16 @@ export async function deleteReceiveInformation(data) {
   return Promise.reject(new Error(res.data.message));
 }
 
-
+/**
+ * 提交
+ */
+export async function submit(data) {
+  const res = await request.post(`/bpm/purchaseReceiveApprove/submit`, data);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
 
 
 

+ 1 - 2
src/enum/dict.js

@@ -32,8 +32,7 @@ export default {
   需求来源类型:'requirement_source_type',
   采购类型:'purchase_type',
   流程实例的结果: 'bpm_process_instance_result',
-  
-  
+  采购收货单类型: 'purchase_receive_type',
 };
 
 export const numberList = [

+ 1 - 1
src/views/contractManage/contractBook/components/inventoryTable.vue

@@ -553,7 +553,7 @@
             prop: 'customerMark',
             label: '客户代号',
             slot: 'customerMark',
-            show: this.isCustomerMark
+            // show: this.isCustomerMark
           },
           {
             width: 160,

+ 1 - 1
src/views/contractManage/contractBook/components/inventoryTabledetail.vue

@@ -153,7 +153,7 @@
             prop: 'customerMark',
             label: '客户代号',
             slot: 'customerMark',
-            show: this.isCustomerMark
+            // show: this.isCustomerMark
           },
           {
             width: 160,

+ 48 - 8
src/views/purchasingManage/purchaseOrder/invoice/components/addInvoiceDialog.vue

@@ -51,6 +51,19 @@
         </el-col>
 
         <el-col :span="12">
+          <el-form-item
+            label="收货单类型"
+            prop="receiveType"
+            style="margin-bottom: 22px"
+          >
+            <DictSelection
+              dictName="采购收货单类型"
+              clearable
+              v-model="form.receiveType"
+            >
+            </DictSelection>
+          </el-form-item>
+
           <el-form-item
             label="供应商车辆号"
             prop="carNo"
@@ -98,6 +111,7 @@
 
     <div slot="footer" class="footer">
       <el-button type="primary" @click="save">保存</el-button>
+      <el-button type="primary" @click="save('sub')">提交</el-button>
       <el-button @click="cancel">返回</el-button>
     </div>
     <orderListDialog
@@ -113,14 +127,13 @@
   import dictMixins from '@/mixins/dictMixins';
   import {
     // getpurchaseorderDetail,
-    getpurchaseorderDetail,
-
+    getpurchaseorderDetail
   } from '@/api/purchasingManage/purchaseOrder';
 
   import {
     addReceiveInformation,
     UpdateReceiveInformation,
-    getReceiveSaleOrderrecordDetail
+    getReceiveSaleOrderrecordDetail,submit
   } from '@/api/purchasingManage/purchaseorderreceive';
   import inventoryTable from './inventoryTable.vue';
   import orderListDialog from './orderListDialog.vue';
@@ -145,7 +158,8 @@
         linkPhone: '',
         orderNo: '',
         orderId: '',
-        sendNoteNo: ''
+        sendNoteNo: '',
+        receiveType:""
       };
 
       return {
@@ -162,10 +176,14 @@
         form: copyObj(formDef),
         tableBankData: [],
         tableLinkData: [],
+        businessId: '',
         // 组织机构树形结构数据
         rules: {
           orderNo: [
             { required: true, message: '请选择采购订单', trigger: 'change' }
+          ],
+          receiveType: [
+            { required: true, message: '请选择采购单类型', trigger: 'change' }
           ]
         },
 
@@ -204,11 +222,11 @@
               orderNo,
               id,
               partbLinkName,
-              productList,
+              productList
             } = data;
             if (productList && productList.length > 0) {
               productList.forEach((v) => {
-                v.orderTotalCount =v.orderTotalCount|| v.totalCount;
+                v.orderTotalCount = v.orderTotalCount || v.totalCount;
               });
             }
             this.form = Object.assign({}, this.form, {
@@ -218,7 +236,7 @@
               linkPhone: partbTel,
               orderNo,
               orderId: id,
-              productList,
+              productList
             });
             this.$refs.inventoryTableref &&
               this.$refs.inventoryTableref.putTableValue(productList);
@@ -228,6 +246,7 @@
 
       //发货单详情
       async getReceiveSaleOrderDetail(id) {
+        this.businessId = id;
         this.loading = true;
         const data = await getReceiveSaleOrderrecordDetail(id);
         this.loading = false;
@@ -296,7 +315,7 @@
           })
         ]);
       },
-      async save() {
+      async save(type) {
         try {
           await this.getValidate();
           // 表单验证通过,执行保存操作
@@ -305,6 +324,10 @@
           if (!this.isUpdate) {
             delete this.form.id;
           }
+          this.form.receiveTypeName = this.getDictValue(
+            '采购收货单类型',
+            this.form.receiveType
+          );
           let commitData = Object.assign({}, this.form, {
             productList: this.$refs.inventoryTableref.getTableValue()
           });
@@ -314,6 +337,10 @@
               .then((res) => {
                 this.loading = false;
                 this.$message.success('修改成功');
+                if (type === 'sub') {
+                  this.sub(res);
+                  return;
+                }
                 this.cancel();
                 this.$emit('done');
               })
@@ -325,6 +352,10 @@
               .then((res) => {
                 this.loading = false;
                 this.$message.success('新增成功');
+                if (type === 'sub') {
+                  this.sub(res);
+                  return;
+                }
                 this.cancel();
                 this.$emit('done');
               })
@@ -337,6 +368,15 @@
           // 表单验证未通过,不执行保存操作
         }
       },
+      sub(res) {
+        submit({
+          businessId: this.businessId || res,
+          receiveType: this.form.receiveType
+        }).then((res) => {
+          this.cancel();
+          this.$emit('done');
+        });
+      },
       cancel() {
         this.$nextTick(() => {
           this.activeName = 'base';

+ 144 - 110
src/views/purchasingManage/purchaseOrder/invoice/components/detailDialog.vue

@@ -10,129 +10,156 @@
     width="80%"
     @close="cancel"
   >
-    <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-      <headerTitle title="发货信息"></headerTitle>
-      <el-row>
-        <el-col :span="12">
-          <el-form-item
-            label="供应商名称:"
-            prop="supplierName"
-            style="margin-bottom: 16px"
-          >
-            {{ form.supplierName }}
-          </el-form-item>
-          <el-form-item
-            label="供应商联系人:"
-            prop="linkName"
-            style="margin-bottom: 16px"
+  <div class="switch">
+      <div class="switch_left">
+        <ul>
+          <li
+            v-for="item in tabOptions"
+            :key="item.key"
+            :class="{ active: activeComp == item.key }"
+            @click="activeComp = item.key"
           >
-            {{ form.linkName }}
-          </el-form-item>
-          <el-form-item
-            label="供应商电话:"
-            prop="linkPhone"
-            style="margin-bottom: 16px"
-          >
-            {{ form.linkPhone }}
-          </el-form-item>
+            {{ item.name }}
+          </li>
+        </ul>
+      </div>
+    </div>
+    <div v-show="activeComp == 'main'">
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+        <headerTitle title="发货信息"></headerTitle>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item
+              label="供应商名称:"
+              prop="supplierName"
+              style="margin-bottom: 16px"
+            >
+              {{ form.supplierName }}
+            </el-form-item>
+            <el-form-item
+              label="供应商联系人:"
+              prop="linkName"
+              style="margin-bottom: 16px"
+            >
+              {{ form.linkName }}
+            </el-form-item>
+            <el-form-item
+              label="供应商电话:"
+              prop="linkPhone"
+              style="margin-bottom: 16px"
+            >
+              {{ form.linkPhone }}
+            </el-form-item>
 
-          <!-- <el-form-item
+            <!-- <el-form-item
             label="客户地址:"
             prop="partaAddress"
             style="margin-bottom: 16px"
           >
             {{ form.receiveAddress }}
           </el-form-item> -->
-          <el-form-item
-            label="审核状态:"
-            prop="reviewStatus"
-            style="margin-bottom: 16px"
-          >
-            {{ reviewStatusEnum[form.reviewStatus]?.label }}
-          </el-form-item>
-          <el-form-item
-            label="附件:"
-            prop="receiveFiles"
-            style="margin-bottom: 16px"
-          >
-            <div v-if="detailData.sendFiles && detailData.sendFiles?.length">
-              <el-link
-                v-for="link in detailData.sendFiles"
-                :key="link.id"
-                type="primary"
-                :underline="false"
-                @click="downloadFile(link)"
-              >
-                {{ link.name }}</el-link
-              >
-            </div>
-          </el-form-item>
-        </el-col>
+            <el-form-item
+              label="审核状态:"
+              prop="reviewStatus"
+              style="margin-bottom: 16px"
+            >
+              {{ reviewStatusEnum[form.reviewStatus]?.label }}
+            </el-form-item>
+            <el-form-item
+              label="附件:"
+              prop="receiveFiles"
+              style="margin-bottom: 16px"
+            >
+              <div v-if="detailData.sendFiles && detailData.sendFiles?.length">
+                <el-link
+                  v-for="link in detailData.sendFiles"
+                  :key="link.id"
+                  type="primary"
+                  :underline="false"
+                  @click="downloadFile(link)"
+                >
+                  {{ link.name }}</el-link
+                >
+              </div>
+            </el-form-item>
+          </el-col>
 
-        <el-col :span="12">
-          <el-form-item
-            label="车牌号:"
-            prop="carNo"
-            style="margin-bottom: 16px"
-          >
-            {{ form.carNo }}
-          </el-form-item>
-          <el-form-item
-            label="收货单编码:"
-            prop="receiveNo"
-            style="margin-bottom: 16px"
-          >
-            {{ form.receiveNo }}
-          </el-form-item>
-          <el-form-item
-            label="制单人:"
-            prop="makerName"
-            style="margin-bottom: 16px"
-          >
-            {{ form.makerName }}
-          </el-form-item>
-          <el-form-item prop="orderNo" label="订单编码:">
-            {{ form.orderNo }}
-          </el-form-item>
-          <!-- <el-form-item prop="replied" label="是否回执:">
+          <el-col :span="12">
+            <el-form-item
+              label="采购单类型:"
+              prop="receiveTypeName"
+              style="margin-bottom: 16px"
+            >
+              {{ form.receiveTypeName }}
+            </el-form-item>
+            <el-form-item
+              label="车牌号:"
+              prop="carNo"
+              style="margin-bottom: 16px"
+            >
+              {{ form.carNo }}
+            </el-form-item>
+    
+
+            <el-form-item
+              label="收货单编码:"
+              prop="receiveNo"
+              style="margin-bottom: 16px"
+            >
+              {{ form.receiveNo }}
+            </el-form-item>
+            <el-form-item
+              label="制单人:"
+              prop="makerName"
+              style="margin-bottom: 16px"
+            >
+              {{ form.makerName }}
+            </el-form-item>
+            <el-form-item prop="orderNo" label="订单编码:">
+              {{ form.orderNo }}
+            </el-form-item>
+            <!-- <el-form-item prop="replied" label="是否回执:">
             {{ form.replied == 1 ? '是' : '否' }}
           </el-form-item> -->
+          </el-col>
+        </el-row>
+      </el-form>
 
-      
-        </el-col>
-      </el-row>
-    </el-form>
-
-    <headerTitle title="产品清单"></headerTitle>
-    <ele-pro-table
-      ref="table"
-      :needPage="false"
-      :columns="columns"
-      :toolkit="[]"
-      :datasource="detailData.productList"
-      row-key="id"
-    >
-      <!-- <template v-slot:toolbar>
+      <headerTitle title="产品清单"></headerTitle>
+      <ele-pro-table
+        ref="table"
+        :needPage="false"
+        :columns="columns"
+        :toolkit="[]"
+        :datasource="detailData.productList"
+        row-key="id"
+      >
+        <!-- <template v-slot:toolbar>
         <div class="headbox">
         <span class="amount">总计:{{detailData.totalAmount}}元</span>
         <span class="amount">应付金额:{{detailData.payAmount}}元</span>
       </div>
       </template> -->
-      <template v-slot:technicalDrawings="{ row }">
-        <div v-if="row.technicalDrawings && row.technicalDrawings?.length">
-          <el-link
-            v-for="link in row.technicalDrawings"
-            :key="link.id"
-            type="primary"
-            :underline="false"
-            @click="downloadFile(link)"
-          >
-            {{ link.name }}</el-link
-          >
-        </div>
-      </template>
-    </ele-pro-table>
+        <template v-slot:technicalDrawings="{ row }">
+          <div v-if="row.technicalDrawings && row.technicalDrawings?.length">
+            <el-link
+              v-for="link in row.technicalDrawings"
+              :key="link.id"
+              type="primary"
+              :underline="false"
+              @click="downloadFile(link)"
+            >
+              {{ link.name }}</el-link
+            >
+          </div>
+        </template>
+      </ele-pro-table>
+    </div>
 
+    <bpmDetail
+      v-if="activeComp === 'bpm' && form.processInstanceId"
+      :id="form.processInstanceId"
+    ></bpmDetail>
     <div slot="footer" class="footer">
       <el-button @click="cancel">返回</el-button>
     </div>
@@ -144,14 +171,21 @@
   import dictMixins from '@/mixins/dictMixins';
   import { reviewStatusEnum } from '@/enum/dict';
   import { copyObj } from '@/utils/util';
-  import {
+  import bpmDetail from '@/views/bpm/processInstance/detail.vue';
 
-    getReceiveSaleOrderrecordDetail
-  } from '@/api/purchasingManage/purchaseorderreceive';
+  import { getReceiveSaleOrderrecordDetail } from '@/api/purchasingManage/purchaseorderreceive';
   export default {
     mixins: [dictMixins],
+    components: {
+      bpmDetail
+    },
     data() {
       return {
+        activeComp: 'main',
+        tabOptions: [
+          { key: 'main', name: '收货单详情' },
+          { key: 'bpm', name: '流程详情' }
+        ],
         reviewStatusEnum,
         visible: false,
         detailId: '',
@@ -290,8 +324,8 @@
             prop: 'remark',
             label: '备注',
             slot: 'remark'
-          }]
-    
+          }
+        ]
       };
     },
     methods: {

+ 23 - 1
src/views/purchasingManage/purchaseOrder/invoice/index.vue

@@ -66,13 +66,24 @@
               :underline="false"
               icon="el-icon-edit"
               @click="openEdit('edit', row)"
+              v-if="[0, 3].includes(row.reviewStatus)"
             >
               修改
             </el-link>
+            <el-link
+              type="primary"
+              :underline="false"
+              icon="el-icon-plus"
+              @click="sub(row)"
+              v-if="[0, 3].includes(row.reviewStatus)"
+            >
+              提交
+            </el-link>
             <el-popconfirm
               class="ele-action"
               title="确定要删除此信息吗?"
               @confirm="remove([row.id])"
+              v-if="[0, 3].includes(row.reviewStatus)"
             >
               <template v-slot:reference>
                 <el-link type="danger" :underline="false" icon="el-icon-delete">
@@ -85,6 +96,7 @@
               :underline="false"
               icon="el-icon-edit"
               @click="creatReturnGoods('add', row)"
+              v-if="[2].includes(row.reviewStatus)"
             >
               创建退货单
             </el-link>
@@ -125,6 +137,7 @@
   import {
     getReceiveTableList,
     deleteReceiveInformation
+    ,submit
   } from '@/api/purchasingManage/purchaseorderreceive';
   import dictMixins from '@/mixins/dictMixins';
 
@@ -221,7 +234,7 @@
           {
             columnKey: 'action',
             label: '操作',
-            width: 230,
+            width: 280,
             align: 'center',
             resizable: false,
             slot: 'action',
@@ -273,7 +286,16 @@
           this.reload();
         });
       },
+      sub(res) {
+        submit({
+          businessId: res.id,
+          receiveType: res.receiveType
 
+        }).then((res) => {
+          this.$message.success('提交成功');
+          this.reload();
+        });
+      },
       //删除弹框确定
       commitBtn() {
         const dataId = this.selection.map((v) => v.id);