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

【新增】采购退料 、 其他入库单、 其他出库单

howie преди 2 години
родител
ревизия
6d4ea2ffdc

+ 83 - 30
src/api/supply/purchase.js

@@ -1,64 +1,117 @@
-import request from '@/utils/request'
+import request from "@/utils/request";
 
 // 获取采购单列表
 export function getPurchaseList(params) {
   return request({
-    url: '/purchaseOrder/list',
-    method: 'get',
-    params
-  })
+    url: "/purchaseOrder/list",
+    method: "get",
+    params,
+  });
 }
 
 // 获取采购单列表
 export function getPurchaseDetail(params) {
   return request({
-    url: '/purchaseOrder/detail',
-    method: 'get',
-    params
-  })
+    url: "/purchaseOrder/detail",
+    method: "get",
+    params,
+  });
 }
 
 // 获取采购入库单列表
 export function getEnterList(params) {
   return request({
-    url: '/purchaseStockIn/list',
-    method: 'get',
-    params
-  })
+    url: "/purchaseStockIn/list",
+    method: "get",
+    params,
+  });
 }
 
 // 获取采购入库单列表
 export function getEnterDetail(params) {
   return request({
-    url: '/purchaseStockIn/detail',
-    method: 'get',
-    params
-  })
+    url: "/purchaseStockIn/detail",
+    method: "get",
+    params,
+  });
 }
 
 // 获取采购计划单列表
 export function getPlanList(params) {
   return request({
-    url: '/plan/list',
-    method: 'get',
-    params
-  })
+    url: "/plan/list",
+    method: "get",
+    params,
+  });
 }
 
 // 获取经销商采购计划单汇总列表
 export function getSumList(params) {
   return request({
-    url: '/plan/listCustomer',
-    method: 'get',
-    params
-  })
+    url: "/plan/listCustomer",
+    method: "get",
+    params,
+  });
 }
 
 // 提交经销商采购计划单
 export function submitPlan(params) {
   return request({
-    url: '/plan/submitPlan',
-    method: 'post',
-    data: params
-  })
-}
+    url: "/plan/submitPlan",
+    method: "post",
+    data: params,
+  });
+}
+
+// 采购退料列表
+export function getPurchaseOutList(params) {
+  return request({
+    url: "/stock/orderOutIn/listPurchaseOrderOut",
+    method: "get",
+    params,
+  });
+}
+
+// 其他入库列表
+export function getOtherStockInList(params) {
+  return request({
+    url: "/stock/orderOutIn/listOtherStockIn",
+    method: "get",
+    params,
+  });
+}
+
+// 其他出库列表
+export function getOtherStockOutList(params) {
+  return request({
+    url: "/stock/orderOutIn/listOtherStockOut",
+    method: "get",
+    params,
+  });
+}
+
+// 反审其他出库单
+export function setApprovalOtherStockOut(params) {
+  return request({
+    url: "/stock/orderOutIn/trialApprovalOtherStockOut",
+    method: "post",
+    data: params,
+  });
+}
+// 反审采购入库单
+export function setApprovalPurchaseOrderIn(params) {
+  return request({
+    url: "/stock/orderOutIn/trialApprovalPurchaseOrderIn",
+    method: "post",
+    data: params,
+  });
+}
+
+// 反审其他出库单
+export function setApprovalPurchaseOrderOut(params) {
+  return request({
+    url: "/stock/orderOutIn/trialApprovalPurchaseOrderOut",
+    method: "post",
+    data: params,
+  });
+}

+ 181 - 112
src/views/basic_data/stock/Issue_list.vue

@@ -1,81 +1,95 @@
 <template>
   <!--  退料单-->
-  <div>
+  <div class="app-container">
     <!-- 筛选条件 -->
     <div class="screen-container">
       <Collapse :is-collapse="isCollapse" :screen-form="screenForm">
-        <template #right_btn>
-          <el-button size="mini" @click="resetScreenForm">清空</el-button>
-          <el-button size="mini" type="primary" @click="submitScreenForm"
-            >搜索</el-button
-          >
-        </template>
-        <template #search>
-          <el-form
-            ref="screenForm"
-            :model="screenForm"
-            label-width="70px"
-            size="mini"
-            label-position="left"
-          >
-            <el-row :gutter="20">
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="单据编码" prop="orderNum">
-                  <el-input
-                    v-model="screenForm.orderNum"
-                    placeholder="请输入单据编码"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="存货名称" prop="chName">
-                  <el-input
-                    v-model="screenForm.chName"
-                    placeholder="请输入存货名称"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="存货编码" prop="chNum">
-                  <el-input
-                    v-model="screenForm.chNum"
-                    placeholder="请输入存货编码"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="日期" prop="date">
-                  <el-date-picker
-                    v-model="screenForm.date"
-                    type="datetimerange"
-                    range-separator="至"
-                    style="width: 100%"
-                    value-format="yyyy-MM-dd HH:mm:ss"
-                    start-placeholder="开始日期"
-                    end-placeholder="结束日期"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="货主" prop="company">
-                  <el-input
-                    v-model="screenForm.company"
-                    placeholder="请输入供货单位"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="仓库" prop="chNum">
-                  <el-input
-                    v-model="screenForm.chNum"
-                    placeholder="请输入仓库"
-                  />
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </template>
+        <template #right_btn> </template>
+        <template #search> </template>
       </Collapse>
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="70px"
+        size="mini"
+        label-position="left"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="单据编码" prop="billNo">
+              <el-input
+                v-model="screenForm.billNo"
+                placeholder="请输入单据编码"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="物料名称" prop="materialName">
+              <el-input
+                v-model="screenForm.materialName"
+                placeholder="请输入物料名称"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="物料编码" prop="materialNumber">
+              <el-input
+                v-model="screenForm.materialNumber"
+                placeholder="请输入物料编码"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="日期" prop="date">
+              <el-date-picker
+                v-model="screenForm.date"
+                type="datetimerange"
+                range-separator="至"
+                style="width: 100%"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+              />
+            </el-form-item>
+          </el-col>
+          <!--          <el-col :xs="24" :sm="12" :lg="6">-->
+          <!--            <el-form-item label="货主" prop="company">-->
+          <!--              <el-input-->
+          <!--                v-model="screenForm.company"-->
+          <!--                placeholder="请输入供货单位"-->
+          <!--              />-->
+          <!--            </el-form-item>-->
+          <!--          </el-col>-->
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="correspondId">
+              <el-select
+                v-model="screenForm.correspondId"
+                multiple
+                style="width: 100%"
+                placeholder="请选择仓库"
+                size="mini"
+                filterable
+                clearable
+              >
+                <el-option
+                  v-for="(item, index) in warehouseList"
+                  :key="index"
+                  :label="item.name"
+                  :value="item.id"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="18" class="tr">
+            <el-form-item>
+              <el-button size="mini" @click="resetScreenForm">清空</el-button>
+              <el-button size="mini" type="primary" @click="submitScreenForm"
+                >搜索</el-button
+              >
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
     </div>
     <div class="mymain-container">
       <div class="btn-group clearfix">
@@ -124,7 +138,11 @@
             prop="stockId"
             min-width="100"
             show-overflow-tooltip
-          />
+          >
+            <template v-slot="scope">
+              {{ "普通" }}
+            </template>
+          </el-table-column>
           <el-table-column
             align="left"
             label="退料日期"
@@ -140,17 +158,24 @@
           <el-table-column
             align="left"
             label="单据状态"
-            prop="supplyName"
-            min-width="200"
+            prop="fdDocumentStatus"
+            min-width="120"
             show-overflow-tooltip
-          />
+          >
+            <template v-slot="scope">
+              {{ scope.row.fdDocumentStatus === "C" ? "已审核" : "" }}
+            </template>
+          </el-table-column>
           <el-table-column
             align="left"
             label="入库类型"
-            prop="stockId"
             min-width="100"
             show-overflow-tooltip
-          />
+          >
+            <template v-slot="scope">
+              {{ "其他入库" }}
+            </template>
+          </el-table-column>
 
           <el-table-column
             align="left"
@@ -167,38 +192,50 @@
           <el-table-column
             align="left"
             label="存货名称"
-            prop="materialOldNumber"
-            min-width="140"
+            prop="materialName"
+            min-width="200"
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              <CopyButton :copy-text="scope.row.materialOldNumber" />
-              <span>{{ scope.row.materialOldNumber }}</span>
+              <CopyButton :copy-text="scope.row.materialName" />
+              <span>{{ scope.row.materialName }}</span>
             </template>
           </el-table-column>
           <el-table-column
             align="left"
             label="规格型号"
-            prop="materialName"
-            min-width="160"
+            prop="specification"
+            min-width="300"
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              <CopyButton :copy-text="scope.row.materialName" />
-              <span>{{ scope.row.materialName }}</span>
+              <CopyButton :copy-text="scope.row.specification" />
+              <span>{{ scope.row.specification }}</span>
             </template>
           </el-table-column>
           <el-table-column
             align="left"
             label="单位"
-            prop="uom"
-            min-width="350"
+            prop="unit"
+            min-width="300"
+            show-overflow-tooltip
+          >
+          </el-table-column>
+          <el-table-column
+            align="right"
+            label="实收数量"
+            prop="qty"
+            min-width="100"
+            show-overflow-tooltip
+          >
+          </el-table-column>
+          <el-table-column
+            align="left"
+            label="收货仓库"
+            prop="stockName"
+            min-width="100"
             show-overflow-tooltip
           >
-            <template slot-scope="scope">
-              <CopyButton :copy-text="scope.row.uom" />
-              <span>{{ scope.row.uom }}</span>
-            </template>
           </el-table-column>
 
           <el-table-column
@@ -208,9 +245,12 @@
             fixed="right"
           >
             <template slot-scope="scope">
-              <el-button type="text" @click="toDetail(scope.row)"
-                >弃审</el-button
+              <el-popconfirm
+                title="弃审吗?"
+                @onConfirm="handleUnapprove(scope.row.id, scope.row.billNo)"
               >
+                <el-button slot="reference" type="text">弃审</el-button>
+              </el-popconfirm>
             </template>
           </el-table-column>
         </el-table>
@@ -233,7 +273,11 @@
 </template>
 
 <script>
-import { getEnterList } from "@/api/supply/purchase";
+import {
+  getOtherStockInList,
+  setApprovalOtherStockOut,
+} from "@/api/supply/purchase";
+import { getWarehouseList } from "@/api/supply/apply";
 
 export default {
   name: "MaterialList",
@@ -245,25 +289,31 @@ export default {
       dataList: null, // 列表数据
       listLoading: false, // 列表加载loading
       screenForm: {
-        // 筛选表单数据
-        orderNum: "",
-        chName: "",
-        chNum: "",
+        billNo: "",
+        correspondId: [],
+        endTime: "",
+        materialName: "",
         date: "",
-        company: "",
+        materialNumber: "",
+        materialOldNumber: "",
+        specification: "",
+        startTime: "",
       },
       isCollapse: true,
+      warehouseList: [],
     };
   },
   computed: {
     exParams() {
       return {
-        billNo: this.screenForm.orderNum,
-        materialName: this.screenForm.chName,
-        materialCode: this.screenForm.chNum,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
+        billNo: this.screenForm.billNo,
+        correspondId: this.screenForm.correspondId.join(","),
         endTime: this.screenForm.date ? this.screenForm.date[1] : "",
-        supplyName: this.screenForm.company,
+        materialName: this.screenForm.materialName,
+        materialNumber: this.screenForm.materialNumber,
+        materialOldNumber: this.screenForm.materialOldNumber,
+        specification: this.screenForm.specification,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
       };
     },
     isShowDetail() {
@@ -271,6 +321,10 @@ export default {
       return this.queryItem.hasOwnProperty("id");
     },
   },
+  created() {
+    this.getWarehouseList();
+    this.getList();
+  },
   methods: {
     // 查询按钮权限
     checkBtnRole(value) {
@@ -280,7 +334,20 @@ export default {
       // return index >= 0;
       return true;
     },
-
+    // 获取仓库列表
+    getWarehouseList() {
+      getWarehouseList({
+        pageNum: 1,
+        pageSize: -1,
+      }).then((res) => {
+        this.warehouseList = res.data.records;
+      });
+    },
+    handleUnapprove(id, billNo) {
+      setApprovalOtherStockOut({ id, billNo }).then((res) => {
+        this.$successMsg("弃审成功");
+      });
+    },
     // 查询列表
     getList() {
       this.listLoading = true;
@@ -288,14 +355,16 @@ export default {
       const params = {
         pageNum: this.currentPage,
         pageSize: this.pageSize,
-        billNo: this.screenForm.orderNum,
-        materialName: this.screenForm.chName,
-        materialCode: this.screenForm.chNum,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
+        billNo: this.screenForm.billNo,
+        correspondId: this.screenForm.correspondId.join(","),
         endTime: this.screenForm.date ? this.screenForm.date[1] : "",
-        supplyName: this.screenForm.company,
+        materialName: this.screenForm.materialName,
+        materialNumber: this.screenForm.materialNumber,
+        materialOldNumber: this.screenForm.materialOldNumber,
+        specification: this.screenForm.specification,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
       };
-      getEnterList(params).then((res) => {
+      getOtherStockInList(params).then((res) => {
         res.data.records.forEach((item) => {
           item.sums1 = ["auxUnitQty"];
           item.sums2 = ["taxPrice", "amount", "entryTaxAmount", "allAmount"];

+ 192 - 131
src/views/basic_data/stock/material_list.vue

@@ -1,91 +1,105 @@
 <template>
   <!--  退料单-->
-  <div>
+  <div class="app-container">
     <!-- 筛选条件 -->
     <div class="screen-container">
       <Collapse :is-collapse="isCollapse" :screen-form="screenForm">
-        <template #right_btn>
-          <el-button size="mini" @click="resetScreenForm">清空</el-button>
-          <el-button size="mini" type="primary" @click="submitScreenForm"
-            >搜索</el-button
-          >
-        </template>
-        <template #search>
-          <el-form
-            ref="screenForm"
-            :model="screenForm"
-            label-width="70px"
-            size="mini"
-            label-position="left"
-          >
-            <el-row :gutter="20">
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="单据编码" prop="orderNum">
-                  <el-input
-                    v-model="screenForm.orderNum"
-                    placeholder="请输入单据编码"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="存货名称" prop="chName">
-                  <el-input
-                    v-model="screenForm.chName"
-                    placeholder="请输入存货名称"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="存货编码" prop="chNum">
-                  <el-input
-                    v-model="screenForm.chNum"
-                    placeholder="请输入存货编码"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="退料日期" prop="date">
-                  <el-date-picker
-                    v-model="screenForm.date"
-                    type="datetimerange"
-                    range-separator="至"
-                    style="width: 100%"
-                    value-format="yyyy-MM-dd HH:mm:ss"
-                    start-placeholder="开始日期"
-                    end-placeholder="结束日期"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="供应商" prop="company">
-                  <el-input
-                    v-model="screenForm.company"
-                    placeholder="请输入供货单位"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="仓库" prop="chNum">
-                  <el-input
-                    v-model="screenForm.chNum"
-                    placeholder="请输入仓库"
-                  />
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </template>
+        <template #right_btn> </template>
+        <template #search> </template>
       </Collapse>
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="70px"
+        size="mini"
+        label-position="left"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="单据编码" prop="billNo">
+              <el-input
+                v-model="screenForm.billNo"
+                placeholder="请输入单据编码"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="物料名称" prop="materialName">
+              <el-input
+                v-model="screenForm.materialName"
+                placeholder="请输入物料名称"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="物料编码" prop="materialNumber">
+              <el-input
+                v-model="screenForm.materialNumber"
+                placeholder="请输入物料编码"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="退料日期" prop="date">
+              <el-date-picker
+                v-model="screenForm.date"
+                type="datetimerange"
+                range-separator="至"
+                style="width: 100%"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="供应商" prop="supplierName">
+              <el-input
+                v-model="screenForm.supplierName"
+                placeholder="请输入供货单位"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="correspondId">
+              <el-select
+                v-model="screenForm.correspondId"
+                multiple
+                style="width: 100%"
+                placeholder="请选择仓库"
+                size="mini"
+                filterable
+                clearable
+              >
+                <el-option
+                  v-for="(item, index) in warehouseList"
+                  :key="index"
+                  :label="item.name"
+                  :value="item.id"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="12" class="tr">
+            <el-form-item>
+              <el-button size="mini" @click="resetScreenForm">清空</el-button>
+              <el-button size="mini" type="primary" @click="submitScreenForm"
+                >搜索</el-button
+              >
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
     </div>
     <div class="mymain-container">
-      <div class="btn-group clearfix">
-        <div class="fr">
-          <ExportButton
-            :ex-url="'admin/user/mch/export'"
-            :ex-params="exParams"
-          />
-        </div>
-      </div>
+      <!--      <div class="btn-group clearfix">-->
+      <!--        <div class="fr">-->
+      <!--          <ExportButton-->
+      <!--            :ex-url="'admin/user/mch/export'"-->
+      <!--            :ex-params="exParams"-->
+      <!--          />-->
+      <!--        </div>-->
+      <!--      </div>-->
       <div class="table">
         <el-table
           v-loading="listLoading"
@@ -95,8 +109,6 @@
           fit
           highlight-current-row
           stripe
-          show-summary
-          :summary-method="$getSummaries"
         >
           <el-table-column
             label="序号"
@@ -122,34 +134,40 @@
             align="left"
             label="退料日期"
             prop="fdate"
-            min-width="120"
+            min-width="150"
             show-overflow-tooltip
           >
-            <template slot-scope="scope">
-              {{ scope.row.fdate | dateToDayFilter }}
-            </template>
           </el-table-column>
           <el-table-column
             align="left"
             label="供货商"
-            prop="stockId"
-            min-width="100"
+            prop="supplierId"
+            min-width="200"
             show-overflow-tooltip
           />
           <el-table-column
             align="left"
             label="单据状态"
-            prop="supplyName"
-            min-width="200"
+            prop="fdDocumentStatus"
+            min-width="120"
             show-overflow-tooltip
-          />
+          >
+            <template v-slot="scope">
+              {{ scope.row.fdDocumentStatus === "C" ? "已审核" : "" }}
+            </template>
+          </el-table-column>
           <el-table-column
             align="left"
             label="厂产品编码"
-            prop="approveDate"
+            prop="materialOldNumber"
             min-width="160"
             show-overflow-tooltip
-          />
+          >
+            <template slot-scope="scope">
+              <CopyButton :copy-text="scope.row.materialOldNumber" />
+              <span>{{ scope.row.materialOldNumber }}</span>
+            </template>
+          </el-table-column>
           <el-table-column
             align="left"
             label="存货编码"
@@ -165,20 +183,20 @@
           <el-table-column
             align="left"
             label="存货名称"
-            prop="materialOldNumber"
-            min-width="140"
+            prop="materialName"
+            min-width="200"
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              <CopyButton :copy-text="scope.row.materialOldNumber" />
-              <span>{{ scope.row.materialOldNumber }}</span>
+              <CopyButton :copy-text="scope.row.materialName" />
+              <span>{{ scope.row.materialName }}</span>
             </template>
           </el-table-column>
           <el-table-column
             align="left"
             label="规格型号"
             prop="materialName"
-            min-width="160"
+            min-width="300"
             show-overflow-tooltip
           >
             <template slot-scope="scope">
@@ -189,38 +207,49 @@
           <el-table-column
             align="left"
             label="库存单位"
-            prop="uom"
-            min-width="350"
+            prop="unit"
+            min-width="300"
             show-overflow-tooltip
           >
-            <template slot-scope="scope">
-              <CopyButton :copy-text="scope.row.uom" />
-              <span>{{ scope.row.uom }}</span>
-            </template>
           </el-table-column>
           <el-table-column
-            align="left"
+            align="right"
             label="实退数量"
-            prop="unit"
+            prop="qty"
             min-width="100"
             show-overflow-tooltip
           />
           <el-table-column
             align="right"
             label="仓库"
-            prop="realQty"
+            prop="stockName"
             min-width="100"
             show-overflow-tooltip
           />
+          <!--          <el-table-column-->
+          <!--            align="right"-->
+          <!--            label="开票状态"-->
+          <!--            prop="taxPrice"-->
+          <!--            min-width="120"-->
+          <!--            show-overflow-tooltip-->
+          <!--          >-->
+          <!--            <template slot-scope="scope">-->
+          <!--              {{ scope.row.taxPrice | numToFixed }}-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
           <el-table-column
-            align="right"
-            label="开票状态"
-            prop="taxPrice"
-            min-width="120"
-            show-overflow-tooltip
+            align="center"
+            label="操作"
+            width="100"
+            fixed="right"
           >
             <template slot-scope="scope">
-              {{ scope.row.taxPrice | numToFixed }}
+              <el-popconfirm
+                title="弃审吗?"
+                @onConfirm="handleUnapprove(scope.row.id, scope.row.billNo)"
+              >
+                <el-button slot="reference" type="text">弃审</el-button>
+              </el-popconfirm>
             </template>
           </el-table-column>
         </el-table>
@@ -243,7 +272,11 @@
 </template>
 
 <script>
-import { getEnterList } from "@/api/supply/purchase";
+import {
+  getPurchaseOutList,
+  setApprovalPurchaseOrderOut,
+} from "@/api/supply/purchase";
+import { getWarehouseList } from "@/api/supply/apply";
 
 export default {
   name: "MaterialList",
@@ -255,25 +288,33 @@ export default {
       dataList: null, // 列表数据
       listLoading: false, // 列表加载loading
       screenForm: {
-        // 筛选表单数据
-        orderNum: "",
-        chName: "",
-        chNum: "",
+        billNo: "",
+        correspondId: [],
+        endTime: "",
         date: "",
-        company: "",
+        materialName: "",
+        materialNumber: "",
+        materialOldNumber: "",
+        specification: "",
+        startTime: "",
+        supplierName: "",
       },
       isCollapse: true,
+      warehouseList: [],
     };
   },
   computed: {
     exParams() {
       return {
-        billNo: this.screenForm.orderNum,
-        materialName: this.screenForm.chName,
-        materialCode: this.screenForm.chNum,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
+        billNo: this.screenForm.billNo,
+        correspondId: this.screenForm.correspondId.join(","),
         endTime: this.screenForm.date ? this.screenForm.date[1] : "",
-        supplyName: this.screenForm.company,
+        materialName: this.screenForm.materialName,
+        materialNumber: this.screenForm.materialNumber,
+        materialOldNumber: this.screenForm.materialOldNumber,
+        specification: this.screenForm.specification,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
+        supplierName: this.screenForm.supplierName,
       };
     },
     isShowDetail() {
@@ -281,6 +322,10 @@ export default {
       return this.queryItem.hasOwnProperty("id");
     },
   },
+  created() {
+    this.getWarehouseList();
+    this.getList();
+  },
   methods: {
     // 查询按钮权限
     checkBtnRole(value) {
@@ -290,7 +335,20 @@ export default {
       // return index >= 0;
       return true;
     },
-
+    // 获取仓库列表
+    getWarehouseList() {
+      getWarehouseList({
+        pageNum: 1,
+        pageSize: -1,
+      }).then((res) => {
+        this.warehouseList = res.data.records;
+      });
+    },
+    handleUnapprove(id, billNo) {
+      setApprovalPurchaseOrderOut({ id, billNo }).then((res) => {
+        this.$successMsg("弃审成功");
+      });
+    },
     // 查询列表
     getList() {
       this.listLoading = true;
@@ -298,14 +356,17 @@ export default {
       const params = {
         pageNum: this.currentPage,
         pageSize: this.pageSize,
-        billNo: this.screenForm.orderNum,
-        materialName: this.screenForm.chName,
-        materialCode: this.screenForm.chNum,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
+        billNo: this.screenForm.billNo,
+        correspondId: this.screenForm.correspondId.join(","),
         endTime: this.screenForm.date ? this.screenForm.date[1] : "",
-        supplyName: this.screenForm.company,
+        materialName: this.screenForm.materialName,
+        materialNumber: this.screenForm.materialNumber,
+        materialOldNumber: this.screenForm.materialOldNumber,
+        specification: this.screenForm.specification,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
+        supplierName: this.screenForm.supplierName,
       };
-      getEnterList(params).then((res) => {
+      getPurchaseOutList(params).then((res) => {
         res.data.records.forEach((item) => {
           item.sums1 = ["auxUnitQty"];
           item.sums2 = ["taxPrice", "amount", "entryTaxAmount", "allAmount"];

+ 175 - 121
src/views/basic_data/stock/warehousing_list.vue

@@ -1,81 +1,95 @@
 <template>
   <!--  退料单-->
-  <div>
+  <div class="app-container">
     <!-- 筛选条件 -->
     <div class="screen-container">
       <Collapse :is-collapse="isCollapse" :screen-form="screenForm">
-        <template #right_btn>
-          <el-button size="mini" @click="resetScreenForm">清空</el-button>
-          <el-button size="mini" type="primary" @click="submitScreenForm"
-            >搜索</el-button
-          >
-        </template>
-        <template #search>
-          <el-form
-            ref="screenForm"
-            :model="screenForm"
-            label-width="70px"
-            size="mini"
-            label-position="left"
-          >
-            <el-row :gutter="20">
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="单据编码" prop="orderNum">
-                  <el-input
-                    v-model="screenForm.orderNum"
-                    placeholder="请输入单据编码"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="存货名称" prop="chName">
-                  <el-input
-                    v-model="screenForm.chName"
-                    placeholder="请输入存货名称"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="存货编码" prop="chNum">
-                  <el-input
-                    v-model="screenForm.chNum"
-                    placeholder="请输入存货编码"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="日期" prop="date">
-                  <el-date-picker
-                    v-model="screenForm.date"
-                    type="datetimerange"
-                    range-separator="至"
-                    style="width: 100%"
-                    value-format="yyyy-MM-dd HH:mm:ss"
-                    start-placeholder="开始日期"
-                    end-placeholder="结束日期"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="货主" prop="company">
-                  <el-input
-                    v-model="screenForm.company"
-                    placeholder="请输入供货单位"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="仓库" prop="chNum">
-                  <el-input
-                    v-model="screenForm.chNum"
-                    placeholder="请输入仓库"
-                  />
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </template>
+        <template #right_btn> </template>
+        <template #search> </template>
       </Collapse>
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="70px"
+        size="mini"
+        label-position="left"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="单据编码" prop="billNo">
+              <el-input
+                v-model="screenForm.billNo"
+                placeholder="请输入单据编码"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="物料名称" prop="materialName">
+              <el-input
+                v-model="screenForm.materialName"
+                placeholder="请输入物料名称"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="物料编码" prop="materialNumber">
+              <el-input
+                v-model="screenForm.materialNumber"
+                placeholder="请输入物料编码"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="日期" prop="date">
+              <el-date-picker
+                v-model="screenForm.date"
+                type="datetimerange"
+                range-separator="至"
+                style="width: 100%"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+              />
+            </el-form-item>
+          </el-col>
+          <!--          <el-col :xs="24" :sm="12" :lg="6">-->
+          <!--            <el-form-item label="货主" prop="company">-->
+          <!--              <el-input-->
+          <!--                v-model="screenForm.company"-->
+          <!--                placeholder="请输入供货单位"-->
+          <!--              />-->
+          <!--            </el-form-item>-->
+          <!--          </el-col>-->
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="correspondId">
+              <el-select
+                v-model="screenForm.correspondId"
+                multiple
+                style="width: 100%"
+                placeholder="请选择仓库"
+                size="mini"
+                filterable
+                clearable
+              >
+                <el-option
+                  v-for="(item, index) in warehouseList"
+                  :key="index"
+                  :label="item.name"
+                  :value="item.id"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="18" class="tr">
+            <el-form-item>
+              <el-button size="mini" @click="resetScreenForm">清空</el-button>
+              <el-button size="mini" type="primary" @click="submitScreenForm"
+                >搜索</el-button
+              >
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
     </div>
     <div class="mymain-container">
       <div class="btn-group clearfix">
@@ -110,21 +124,24 @@
             align="left"
             label="库存方向"
             prop="billNo"
-            min-width="130"
+            min-width="120"
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              <CopyButton :copy-text="scope.row.billNo" />
-              <span>{{ scope.row.billNo }}</span>
+              {{ "普通" }}
             </template>
           </el-table-column>
           <el-table-column
             align="left"
             label="单据状态"
-            prop="stockId"
-            min-width="100"
+            prop="fdDocumentStatus"
+            min-width="120"
             show-overflow-tooltip
-          />
+          >
+            <template v-slot="scope">
+              {{ scope.row.fdDocumentStatus === "C" ? "已审核" : "" }}
+            </template>
+          </el-table-column>
           <el-table-column
             align="left"
             label="业务类型"
@@ -133,31 +150,36 @@
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              {{ scope.row.fdate | dateToDayFilter }}
+              {{ "物料领用" }}
             </template>
           </el-table-column>
 
           <el-table-column
             align="left"
             label="单据编号"
-            prop="supplyName"
+            prop="billNo"
             min-width="200"
             show-overflow-tooltip
           />
           <el-table-column
             align="left"
             label="日期"
-            prop="stockId"
-            min-width="100"
+            prop="fdate"
+            min-width="150"
             show-overflow-tooltip
           />
           <el-table-column
             align="left"
             label="厂产品代码"
-            prop="stockId"
+            prop="materialOldNumber"
             min-width="100"
             show-overflow-tooltip
-          />
+          >
+            <template slot-scope="scope">
+              <CopyButton :copy-text="scope.row.materialOldNumber" />
+              <span>{{ scope.row.materialOldNumber }}</span>
+            </template>
+          </el-table-column>
           <el-table-column
             align="left"
             label="存货编码"
@@ -174,7 +196,7 @@
             align="left"
             label="存货名称"
             prop="materialOldNumber"
-            min-width="140"
+            min-width="200"
             show-overflow-tooltip
           >
             <template slot-scope="scope">
@@ -185,43 +207,43 @@
           <el-table-column
             align="left"
             label="规格型号"
-            prop="materialName"
-            min-width="160"
+            prop="specification"
+            min-width="300"
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              <CopyButton :copy-text="scope.row.materialName" />
-              <span>{{ scope.row.materialName }}</span>
+              <CopyButton :copy-text="scope.row.specification" />
+              <span>{{ scope.row.specification }}</span>
             </template>
           </el-table-column>
           <el-table-column
             align="left"
             label="单位"
             prop="uom"
-            min-width="350"
+            min-width="300"
             show-overflow-tooltip
           />
           <el-table-column
             align="left"
             label="实发数量"
-            prop="uom"
-            min-width="350"
+            prop="qty"
+            min-width="100"
             show-overflow-tooltip
           />
           <el-table-column
             align="left"
             label="发货仓库"
-            prop="uom"
-            min-width="350"
-            show-overflow-tooltip
-          />
-          <el-table-column
-            align="left"
-            label="货主"
-            prop="uom"
-            min-width="350"
+            prop="stockName"
+            min-width="100"
             show-overflow-tooltip
           />
+          <!--          <el-table-column-->
+          <!--            align="left"-->
+          <!--            label="货主"-->
+          <!--            prop="uom"-->
+          <!--            min-width="100"-->
+          <!--            show-overflow-tooltip-->
+          <!--          />-->
           <el-table-column
             align="center"
             label="操作"
@@ -229,9 +251,12 @@
             fixed="right"
           >
             <template slot-scope="scope">
-              <el-button type="text" @click="toDetail(scope.row)"
-                >弃审</el-button
+              <el-popconfirm
+                title="弃审吗?"
+                @onConfirm="handleUnapprove(scope.row.id, scope.row.billNo)"
               >
+                <el-button slot="reference" type="text">弃审</el-button>
+              </el-popconfirm>
             </template>
           </el-table-column>
         </el-table>
@@ -254,7 +279,11 @@
 </template>
 
 <script>
-import { getEnterList } from "@/api/supply/purchase";
+import {
+  getOtherStockOutList,
+  setApprovalPurchaseOrderIn,
+} from "@/api/supply/purchase";
+import { getWarehouseList } from "@/api/supply/apply";
 
 export default {
   name: "MaterialList",
@@ -266,25 +295,31 @@ export default {
       dataList: null, // 列表数据
       listLoading: false, // 列表加载loading
       screenForm: {
-        // 筛选表单数据
-        orderNum: "",
-        chName: "",
-        chNum: "",
+        billNo: "",
+        correspondId: [],
+        endTime: "",
         date: "",
-        company: "",
+        materialName: "",
+        materialNumber: "",
+        materialOldNumber: "",
+        specification: "",
+        startTime: "",
       },
       isCollapse: true,
+      warehouseList: [],
     };
   },
   computed: {
     exParams() {
       return {
-        billNo: this.screenForm.orderNum,
-        materialName: this.screenForm.chName,
-        materialCode: this.screenForm.chNum,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
+        billNo: this.screenForm.billNo,
+        correspondId: this.screenForm.correspondId.join(","),
         endTime: this.screenForm.date ? this.screenForm.date[1] : "",
-        supplyName: this.screenForm.company,
+        materialName: this.screenForm.materialName,
+        materialNumber: this.screenForm.materialNumber,
+        materialOldNumber: this.screenForm.materialOldNumber,
+        specification: this.screenForm.specification,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
       };
     },
     isShowDetail() {
@@ -292,6 +327,10 @@ export default {
       return this.queryItem.hasOwnProperty("id");
     },
   },
+  created() {
+    this.getWarehouseList();
+    this.getList();
+  },
   methods: {
     // 查询按钮权限
     checkBtnRole(value) {
@@ -301,7 +340,20 @@ export default {
       // return index >= 0;
       return true;
     },
-
+    // 获取仓库列表
+    getWarehouseList() {
+      getWarehouseList({
+        pageNum: 1,
+        pageSize: -1,
+      }).then((res) => {
+        this.warehouseList = res.data.records;
+      });
+    },
+    handleUnapprove(id, billNo) {
+      setApprovalPurchaseOrderIn({ id, billNo }).then((res) => {
+        this.$successMsg("弃审成功");
+      });
+    },
     // 查询列表
     getList() {
       this.listLoading = true;
@@ -309,14 +361,16 @@ export default {
       const params = {
         pageNum: this.currentPage,
         pageSize: this.pageSize,
-        billNo: this.screenForm.orderNum,
-        materialName: this.screenForm.chName,
-        materialCode: this.screenForm.chNum,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
+        billNo: this.screenForm.billNo,
+        correspondId: this.screenForm.correspondId.join(","),
         endTime: this.screenForm.date ? this.screenForm.date[1] : "",
-        supplyName: this.screenForm.company,
+        materialName: this.screenForm.materialName,
+        materialNumber: this.screenForm.materialNumber,
+        materialOldNumber: this.screenForm.materialOldNumber,
+        specification: this.screenForm.specification,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
       };
-      getEnterList(params).then((res) => {
+      getOtherStockOutList(params).then((res) => {
         res.data.records.forEach((item) => {
           item.sums1 = ["auxUnitQty"];
           item.sums2 = ["taxPrice", "amount", "entryTaxAmount", "allAmount"];

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

@@ -378,7 +378,7 @@
           >
           <!-- <el-button type="primary" @click="openDirectDialog" v-if="!isDealer">提前开票</el-button> -->
 
-          <template v-if="detailData.isPlanOrder === 'true'">
+          <template v-if="detailData.isPlanOrder === 'false'">
             <el-button
               v-if="!isDealer"
               type="primary"
@@ -964,6 +964,8 @@ export default {
             ];
           });
         }
+        res.data.isPlanOrder = String(res.data.isPlanOrder);
+
         this.detailData = res.data;
       });
     },

+ 3 - 0
src/views/supply/engin/components/commerce_examine.vue

@@ -473,7 +473,10 @@ export default {
             ];
           });
         }
+        res.data.isPlanOrder = String(res.data.isPlanOrder);
+
         this.detailData = res.data;
+
         this.examineForm.remark = res.data.examineNote;
       });
     },

+ 2 - 0
src/views/supply/engin/components/commerce_return.vue

@@ -468,6 +468,8 @@ export default {
             ];
           });
         }
+        res.data.isPlanOrder = String(res.data.isPlanOrder);
+
         this.detailData = res.data;
       });
     },