Kaynağa Gözat

【修改】bug

莫绍宝 3 yıl önce
ebeveyn
işleme
1c21bd376d

+ 9 - 0
src/api/supply/sales.js

@@ -25,4 +25,13 @@ export function examineData(params) {
     method: 'post',
     data: params
   })
+}
+
+// 审批进入判断
+export function examineJudge(params) {
+  return request({
+    url: '/sale/order/approvalJudge',
+    method: 'post',
+    params
+  })
 }

+ 24 - 19
src/views/supply/deliver/components/deliver_detail.vue

@@ -18,21 +18,21 @@
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">单据状态</div>
-            <div class="value">{{detailData.type | statusFilter}}</div>
-          </el-col>
-          <el-col :span="8" class="item">
-            <div class="label">销售类型</div>
-            <div class="value">{{detailData.salesType}}</div>
+            <div class="value">{{detailData.examineStatus | statusFilter}}</div>
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">发货申请单号</div>
-            <div class="value">{{detailData.invoiceOrderNo}}</div>
+            <div class="value">{{detailData.id}}</div>
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">订单类型</div>
             <div class="value">{{detailData.orderType | orderTypeFilter}}</div>
           </el-col>
           <el-col :span="8" class="item">
+            <div class="label"></div>
+            <div class="value"></div>
+          </el-col>
+          <el-col :span="8" class="item">
             <div class="label">经销商编码</div>
             <div class="value">{{detailData.customerNumber}}</div>
           </el-col>
@@ -42,15 +42,15 @@
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">工程编号</div>
-            <div class="value">{{detailData.projectNumber}}</div>
+            <div class="value">{{detailData.enginOrderNo}}</div>
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">厂工程编码</div>
-            <div class="value">{{detailData.factoryNumber}}</div>
+            <div class="value">{{detailData.refFactoryNo}}</div>
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">项目名称</div>
-            <div class="value">{{detailData.projectName}}</div>
+            <div class="value">{{detailData.refProjectName}}</div>
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">仓库</div>
@@ -58,7 +58,7 @@
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">税率</div>
-            <div class="value">{{detailData.taxRate}}</div>
+            <div class="value">{{detailData.tax}}</div>
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">发票号</div>
@@ -102,7 +102,7 @@
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">开票日期</div>
-            <div class="value">{{detailData.billingTime}}</div>
+            <div class="value">{{detailData.billTime}}</div>
           </el-col>
         </el-row>
       </div>
@@ -111,16 +111,17 @@
         <div class="title">货品信息</div>
       </div>
       <div class="table">
-        <el-table :data="detailData.retreatDocumentOrder" element-loading-text="Loading" border fit highlight-current-row stripe>
+        <el-table :data="detailData.shipDocumentOrders" element-loading-text="Loading" border fit highlight-current-row stripe>
           <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
           <el-table-column align="center" label="订单号" prop="orderNumber" min-width="160" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="仓库名称" prop="stockName" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="销售类型" prop="saleTypeName" min-width="160" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="产品编号" prop="productNumber" min-width="160" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="产品名称" prop="productName" min-width="160" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="规格型号" prop="specification" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="主计量" prop="unit" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="数量" prop="number" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="含税单价" prop="includedPrice" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="单位" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="数量" prop="number" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="含税单价" prop="includedPrice" min-width="100" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="无税单价" prop="price" min-width="100" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="价税合计" prop="totalPrice" min-width="100" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="税率(%)" prop="rate" min-width="100" show-overflow-tooltip></el-table-column>
@@ -158,10 +159,14 @@ export default {
   },
   filters: {
     statusFilter(val) {
-      const MAP = {
-        1: '已受理'
-      }
-      return MAP[val];
+      const statusList = [
+        { label: '已保存', value: 'SAVE' },
+        { label: '待审核', value: 'WAIT' },
+        { label: '审核通过', value: 'OK' },
+        { label: '审核驳回', value: 'FAIL' },
+      ]
+      let obj = statusList.find(o => o.value == val);
+      return obj ? obj.label : ''
     },
     orderTypeFilter(val) {
       const MAP = {

+ 24 - 19
src/views/supply/deliver/components/home_detail.vue

@@ -18,21 +18,21 @@
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">单据状态</div>
-            <div class="value">{{detailData.type | statusFilter}}</div>
-          </el-col>
-          <el-col :span="8" class="item">
-            <div class="label">销售类型</div>
-            <div class="value">{{detailData.salesType}}</div>
+            <div class="value">{{detailData.examineStatus | statusFilter}}</div>
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">发货申请单号</div>
-            <div class="value">{{detailData.invoiceOrderNo}}</div>
+            <div class="value">{{detailData.id}}</div>
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">订单类型</div>
             <div class="value">{{detailData.orderType | orderTypeFilter}}</div>
           </el-col>
           <el-col :span="8" class="item">
+            <div class="label"></div>
+            <div class="value"></div>
+          </el-col>
+          <el-col :span="8" class="item">
             <div class="label">经销商编码</div>
             <div class="value">{{detailData.customerNumber}}</div>
           </el-col>
@@ -42,15 +42,15 @@
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">工程编号</div>
-            <div class="value">{{detailData.projectNumber}}</div>
+            <div class="value">{{detailData.enginOrderNo}}</div>
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">厂工程编码</div>
-            <div class="value">{{detailData.factoryNumber}}</div>
+            <div class="value">{{detailData.refFactoryNo}}</div>
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">项目名称</div>
-            <div class="value">{{detailData.projectName}}</div>
+            <div class="value">{{detailData.refProjectName}}</div>
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">仓库</div>
@@ -58,7 +58,7 @@
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">税率</div>
-            <div class="value">{{detailData.taxRate}}</div>
+            <div class="value">{{detailData.tax}}</div>
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">发票号</div>
@@ -102,7 +102,7 @@
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">开票日期</div>
-            <div class="value">{{detailData.billingTime}}</div>
+            <div class="value">{{detailData.billTime}}</div>
           </el-col>
         </el-row>
       </div>
@@ -111,16 +111,17 @@
         <div class="title">货品信息</div>
       </div>
       <div class="table">
-        <el-table :data="detailData.retreatDocumentOrder" element-loading-text="Loading" border fit highlight-current-row stripe>
+        <el-table :data="detailData.shipDocumentOrders" element-loading-text="Loading" border fit highlight-current-row stripe>
           <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
           <el-table-column align="center" label="订单号" prop="orderNumber" min-width="160" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="仓库名称" prop="stockName" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="销售类型" prop="saleTypeName" min-width="160" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="产品编号" prop="productNumber" min-width="160" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="产品名称" prop="productName" min-width="160" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="规格型号" prop="specification" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="主计量" prop="unit" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="数量" prop="number" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="含税单价" prop="includedPrice" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="单位" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="数量" prop="number" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="含税单价" prop="includedPrice" min-width="100" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="无税单价" prop="price" min-width="100" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="价税合计" prop="totalPrice" min-width="100" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="税率(%)" prop="rate" min-width="100" show-overflow-tooltip></el-table-column>
@@ -158,10 +159,14 @@ export default {
   },
   filters: {
     statusFilter(val) {
-      const MAP = {
-        1: '已受理'
-      }
-      return MAP[val];
+      const statusList = [
+        { label: '已保存', value: 'SAVE' },
+        { label: '待审核', value: 'WAIT' },
+        { label: '审核通过', value: 'OK' },
+        { label: '审核驳回', value: 'FAIL' },
+      ]
+      let obj = statusList.find(o => o.value == val);
+      return obj ? obj.label : ''
     },
     orderTypeFilter(val) {
       const MAP = {

+ 1 - 1
src/views/supply/engin/components/commerce_detail.vue

@@ -479,7 +479,7 @@ export default {
       this.$refs.deliverForm.validate((valid) => {
         if (valid) {
           for(let i=0; i<this.deliverGoodsList.length; i++) {
-            if(!this.deliverGoodsList[i].directTransferQty) {
+            if(!this.deliverGoodsList[i].directTransferQty && this.deliverGoodsList[i].directTransferQty !== 0) {
               this.$errorMsg('请输入直调数量');
               return;
             }

+ 6 - 6
src/views/supply/engin/components/engin_form.vue

@@ -10,7 +10,7 @@
       <el-row :gutter="20">
         <el-col :xs="24" :sm="12" :lg="8">
           <el-form-item label="工程信息单" prop="orderNum">
-            <el-input v-model="mainForm.orderNum" placeholder="系统自动生成" readonly></el-input>
+            <el-input v-model="mainForm.orderNum" placeholder="系统自动生成" disabled></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8" style="height: 51px;">
@@ -33,7 +33,7 @@
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
           <el-form-item label="经销商编码" prop="jxsNum">
-            <el-input v-model="mainForm.jxsNum" placeholder="请输入经销商编码" readonly></el-input>
+            <el-input v-model="mainForm.jxsNum" placeholder="请输入经销商编码" disabled></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
@@ -48,7 +48,7 @@
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
           <el-form-item label="经销商名称" prop="jxsName">
-            <el-input v-model="mainForm.jxsName" placeholder="请输入经销商名称" readonly></el-input>
+            <el-input v-model="mainForm.jxsName" placeholder="请输入经销商名称" disabled></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
@@ -98,12 +98,12 @@
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
           <el-form-item label="业务员" prop="salesMan">
-            <el-input v-model="mainForm.salesMan" placeholder="请输入业务员" readonly></el-input>
+            <el-input v-model="mainForm.salesMan" placeholder="请输入业务员" disabled></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
           <el-form-item label="制单人" prop="createMan">
-            <el-input v-model="mainForm.createMan" placeholder="请输入制单人" readonly></el-input>
+            <el-input v-model="mainForm.createMan" placeholder="请输入制单人" disabled></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8" style="height: 51px;">
@@ -111,7 +111,7 @@
             <el-date-picker
               v-model="mainForm.createDate"
               type="date"
-              readonly
+              disabled
               value-format="yyyy-MM-dd"
               style="width: 100%;"
               placeholder="选择日期">

+ 1 - 1
src/views/supply/engin/components/home_detail.vue

@@ -479,7 +479,7 @@ export default {
       this.$refs.deliverForm.validate((valid) => {
         if (valid) {
           for(let i=0; i<this.deliverGoodsList.length; i++) {
-            if(!this.deliverGoodsList[i].directTransferQty) {
+            if(!this.deliverGoodsList[i].directTransferQty && this.deliverGoodsList[i].directTransferQty !== 0) {
               this.$errorMsg('请输入直调数量');
               return;
             }

+ 1 - 0
src/views/supply/engin/engin_list.vue

@@ -93,6 +93,7 @@
             <el-table-column align="center" label="经销商编码" prop="customerId" min-width="120" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="经销商名称" prop="customerName" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="工程名称" prop="projectName" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="使用单位" prop="useUnit" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="安装地址" prop="installAddress" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="产品名称" prop="materialName" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="规格型号" prop="specification" min-width="160" show-overflow-tooltip></el-table-column>

+ 9 - 3
src/views/supply/pickup/components/pickup_form.vue

@@ -81,7 +81,7 @@
 
     <div class="mymain-container">
       <div class="table">
-        <el-table v-loading="listLoading" :data="deliverList" element-loading-text="Loading" border fit highlight-current-row stripe @selection-change="handleSelectionChange">
+        <el-table ref="table" v-loading="listLoading" :data="deliverList" element-loading-text="Loading" border fit highlight-current-row stripe @select="handleSelect">
           <el-table-column align="center" type="selection" width="55"></el-table-column>
           <el-table-column align="center" label="发货申请单" prop="invoiceId" min-width="180" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="单据日期" prop="orderTime" min-width="120" show-overflow-tooltip>
@@ -273,8 +273,14 @@ export default {
       })
     },
 
-    handleSelectionChange(val) {
-      this.tableSelection = val;
+    handleSelect(selection, row) {
+      this.$refs.table.toggleRowSelection(row);
+      this.deliverList.forEach(item => {
+        if (item.invoiceId === row.invoiceId) {
+          this.$refs.table.toggleRowSelection(item);
+        }
+      })
+      this.tableSelection = this.$refs.table.selection;
     },
 
     clickSubmitForm() {

+ 19 - 2
src/views/supply/sales/sales_list.vue

@@ -125,7 +125,7 @@
 </template>
 
 <script>
-import { getList } from "@/api/supply/sales";
+import { getList, examineJudge } from "@/api/supply/sales";
 import SalesDetail from "@/views/supply/sales/components/sales_detail";
 import SalesExamine from "@/views/supply/sales/components/sales_examine";
 
@@ -259,6 +259,19 @@ export default {
       this.getList();
     },
 
+    // 判断是否可以审批
+    async examineJudge(item) {
+      // 获取页面模版
+      const result = await new Promise((resolve, reject)=>{
+        examineJudge({id: item.id}).then(res => {
+          resolve(res.data);
+        }).catch(res => {
+          resolve(0);
+        })
+      })
+      return result;
+    },
+
     // 进入详情
     toDetail(item) {
       this.queryItem = item;
@@ -266,7 +279,11 @@ export default {
     },
 
     // 进入审批
-    toExamine(item) {
+    async toExamine(item) {
+      const canExamine = await this.examineJudge(item);
+      if(!canExamine) {
+        return false;
+      }
       this.queryItem = item;
       this.isShowExamine = true;
     },