howie 2 лет назад
Родитель
Сommit
c4e6f0ed8d

+ 8 - 3
src/store/modules/user.js

@@ -106,20 +106,25 @@ const actions = {
       getInfo(state.userid)
         .then((response) => {
           const { data } = response;
-          console.log(1111111, data);
+          console.log(1111111, response);
 
           if (!data) {
             return reject("Verification failed, please Login again.");
           }
           console.log(data);
+          let websitNumber;
           const {
             nickName,
             userName,
             customerId,
             customerName,
             customerNumber,
-            adminWebsit: { websitNumber },
           } = data;
+
+          if (data.adminWebsit) {
+            websitNumber = data.adminWebsit.websitNumber;
+            commit("SET_WEBSIT_NUMBER", websitNumber);
+          }
           // 模拟请求数据
           // const menus = [
           // {
@@ -150,7 +155,7 @@ const actions = {
           commit("SET_CUSTOMERNUMBER", customerNumber);
           commit("SET_NAME", nickName);
           commit("SET_PHONE", userName);
-          commit("SET_WEBSIT_NUMBER", websitNumber);
+
           // commit("SET_MENUS", menus) // 触发vuex SET_MENUS 保存路由表到vuex
 
           localStorage.setItem("supply_user", JSON.stringify(data));

+ 340 - 7
src/views/basic_data/stock/Issue_list.vue

@@ -1,14 +1,347 @@
 <template>
-  <!--  出库单-->
-  <div />
+  <!--  退料单-->
+  <div>
+    <!-- 筛选条件 -->
+    <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>
+      </Collapse>
+    </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="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+          show-summary
+          :summary-method="$getSummaries"
+        >
+          <el-table-column
+            label="序号"
+            align="left"
+            width="50"
+            type="index"
+            show-overflow-tooltip
+          ></el-table-column>
+
+          <el-table-column
+            align="left"
+            label="单据编号"
+            prop="billNo"
+            min-width="130"
+            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"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="left"
+            label="退料日期"
+            prop="fdate"
+            min-width="120"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              {{ scope.row.fdate | dateToDayFilter }}
+            </template>
+          </el-table-column>
+
+          <el-table-column
+            align="left"
+            label="单据状态"
+            prop="supplyName"
+            min-width="200"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="left"
+            label="入库类型"
+            prop="stockId"
+            min-width="100"
+            show-overflow-tooltip
+          />
+
+          <el-table-column
+            align="left"
+            label="存货编码"
+            prop="materialNumber"
+            min-width="120"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <CopyButton :copy-text="scope.row.materialNumber" />
+              <span>{{ scope.row.materialNumber }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="left"
+            label="存货名称"
+            prop="materialOldNumber"
+            min-width="140"
+            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="规格型号"
+            prop="materialName"
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <CopyButton :copy-text="scope.row.materialName" />
+              <span>{{ scope.row.materialName }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="left"
+            label="单位"
+            prop="uom"
+            min-width="350"
+            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="center"
+            label="操作"
+            width="100"
+            fixed="right"
+          >
+            <template slot-scope="scope">
+              <el-button type="text" @click="toDetail(scope.row)"
+                >弃审</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <div class="pagination clearfix">
+      <div class="fr">
+        <el-pagination
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+        />
+      </div>
+    </div>
+  </div>
 </template>
 
 <script>
+import { getEnterList } from "@/api/supply/purchase";
+
 export default {
-  name: 'IssueList'
-}
-</script>
+  name: "MaterialList",
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: {
+        // 筛选表单数据
+        orderNum: "",
+        chName: "",
+        chNum: "",
+        date: "",
+        company: "",
+      },
+      isCollapse: true,
+    };
+  },
+  computed: {
+    exParams() {
+      return {
+        billNo: this.screenForm.orderNum,
+        materialName: this.screenForm.chName,
+        materialCode: this.screenForm.chNum,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
+        endTime: this.screenForm.date ? this.screenForm.date[1] : "",
+        supplyName: this.screenForm.company,
+      };
+    },
+    isShowDetail() {
+      // eslint-disable-next-line no-prototype-builtins
+      return this.queryItem.hasOwnProperty("id");
+    },
+  },
+  methods: {
+    // 查询按钮权限
+    checkBtnRole(value) {
+      // let btnRole = this.$route.meta.roles;
+      // if(!btnRole) {return true}
+      // let index = btnRole.indexOf(value);
+      // return index >= 0;
+      return true;
+    },
+
+    // 查询列表
+    getList() {
+      this.listLoading = true;
 
-<style scoped>
+      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] : "",
+        endTime: this.screenForm.date ? this.screenForm.date[1] : "",
+        supplyName: this.screenForm.company,
+      };
+      getEnterList(params).then((res) => {
+        res.data.records.forEach((item) => {
+          item.sums1 = ["auxUnitQty"];
+          item.sums2 = ["taxPrice", "amount", "entryTaxAmount", "allAmount"];
+        });
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+      });
+    },
+
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+
+    // 进入详情
+    toDetail(item) {
+      this.queryItem = item;
+    },
+
+    backList() {
+      this.queryItem = {};
+    },
+  },
+};
+</script>
 
-</style>
+<style scoped></style>

+ 144 - 198
src/views/basic_data/stock/material_list.vue

@@ -3,76 +3,87 @@
   <div>
     <!-- 筛选条件 -->
     <div class="screen-container">
-      <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="18" class="tr">
-            <el-form-item label="">
-              <el-button @click="resetScreenForm">清空</el-button>
-              <el-button
-                type="primary"
-                @click="submitScreenForm"
-              >搜索</el-button>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
+      <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>
+      </Collapse>
     </div>
     <div class="mymain-container">
       <div class="btn-group clearfix">
         <div class="fr">
-          <ExportButton :ex-url="'admin/user/mch/export'" :ex-params="exParams" />
+          <ExportButton
+            :ex-url="'admin/user/mch/export'"
+            :ex-params="exParams"
+          />
         </div>
       </div>
       <div class="table">
@@ -88,8 +99,16 @@
           :summary-method="$getSummaries"
         >
           <el-table-column
+            label="序号"
             align="left"
-            label="入库单号"
+            width="50"
+            type="index"
+            show-overflow-tooltip
+          ></el-table-column>
+
+          <el-table-column
+            align="left"
+            label="单据编号"
             prop="billNo"
             min-width="130"
             show-overflow-tooltip
@@ -101,7 +120,7 @@
           </el-table-column>
           <el-table-column
             align="left"
-            label="入库日期"
+            label="退料日期"
             prop="fdate"
             min-width="120"
             show-overflow-tooltip
@@ -112,28 +131,28 @@
           </el-table-column>
           <el-table-column
             align="left"
-            label="仓库"
+            label="供货商"
             prop="stockId"
             min-width="100"
             show-overflow-tooltip
           />
           <el-table-column
             align="left"
-            label="供货单位"
+            label="单据状态"
             prop="supplyName"
             min-width="200"
             show-overflow-tooltip
           />
           <el-table-column
             align="left"
-            label="审核日期"
+            label="厂产品编码"
             prop="approveDate"
             min-width="160"
             show-overflow-tooltip
           />
           <el-table-column
             align="left"
-            label="物料编码"
+            label="存货编码"
             prop="materialNumber"
             min-width="120"
             show-overflow-tooltip
@@ -145,7 +164,7 @@
           </el-table-column>
           <el-table-column
             align="left"
-            label="产品编码"
+            label="存货名称"
             prop="materialOldNumber"
             min-width="140"
             show-overflow-tooltip
@@ -157,7 +176,7 @@
           </el-table-column>
           <el-table-column
             align="left"
-            label="产品名称"
+            label="规格型号"
             prop="materialName"
             min-width="160"
             show-overflow-tooltip
@@ -169,7 +188,7 @@
           </el-table-column>
           <el-table-column
             align="left"
-            label="规格型号"
+            label="库存单位"
             prop="uom"
             min-width="350"
             show-overflow-tooltip
@@ -181,21 +200,21 @@
           </el-table-column>
           <el-table-column
             align="left"
-            label="单位"
+            label="实退数量"
             prop="unit"
             min-width="100"
             show-overflow-tooltip
           />
           <el-table-column
             align="right"
-            label="数量"
+            label="仓库"
             prop="realQty"
             min-width="100"
             show-overflow-tooltip
           />
           <el-table-column
             align="right"
-            label="原币含税单价"
+            label="开票状态"
             prop="taxPrice"
             min-width="120"
             show-overflow-tooltip
@@ -204,80 +223,6 @@
               {{ scope.row.taxPrice | numToFixed }}
             </template>
           </el-table-column>
-          <el-table-column
-            align="right"
-            label="原币金额"
-            prop="amount"
-            min-width="100"
-            show-overflow-tooltip
-          >
-            <template slot-scope="scope">
-              {{ scope.row.amount | numToFixed }}
-            </template>
-          </el-table-column>
-          <el-table-column
-            align="right"
-            label="原币税额"
-            prop="entryTaxAmount"
-            min-width="100"
-            show-overflow-tooltip
-          >
-            <template slot-scope="scope">
-              {{ scope.row.entryTaxAmount | numToFixed }}
-            </template>
-          </el-table-column>
-          <el-table-column
-            align="right"
-            label="原币价税合计"
-            prop="allAmount"
-            min-width="120"
-            show-overflow-tooltip
-          >
-            <template slot-scope="scope">
-              {{ scope.row.allAmount | numToFixed }}
-            </template>
-          </el-table-column>
-          <el-table-column
-            align="left"
-            label="税率"
-            prop="entryTaxRate"
-            min-width="100"
-            show-overflow-tooltip
-          />
-          <el-table-column
-            align="left"
-            label="制单人"
-            prop="createBy"
-            min-width="100"
-            show-overflow-tooltip
-          />
-          <el-table-column
-            align="left"
-            label="审核人"
-            prop="approverId"
-            min-width="100"
-            show-overflow-tooltip
-          />
-          <el-table-column
-            align="left"
-            label="备注"
-            prop="abcdRemarks"
-            min-width="160"
-            show-overflow-tooltip
-          />
-          <el-table-column
-            align="center"
-            label="操作"
-            width="100"
-            fixed="right"
-          >
-            <template slot-scope="scope">
-              <el-button
-                type="text"
-                @click="toDetail(scope.row)"
-              >详情</el-button>
-            </template>
-          </el-table-column>
         </el-table>
       </div>
     </div>
@@ -298,10 +243,10 @@
 </template>
 
 <script>
-import { getEnterList } from '@/api/supply/purchase'
+import { getEnterList } from "@/api/supply/purchase";
 
 export default {
-  name: 'MaterialList',
+  name: "MaterialList",
   data() {
     return {
       currentPage: 1, // 当前页码
@@ -309,14 +254,16 @@ export default {
       listTotal: 0, // 列表总数
       dataList: null, // 列表数据
       listLoading: false, // 列表加载loading
-      screenForm: { // 筛选表单数据
-        orderNum: '',
-        chName: '',
-        chNum: '',
-        date: '',
-        company: ''
-      }
-    }
+      screenForm: {
+        // 筛选表单数据
+        orderNum: "",
+        chName: "",
+        chNum: "",
+        date: "",
+        company: "",
+      },
+      isCollapse: true,
+    };
   },
   computed: {
     exParams() {
@@ -324,15 +271,15 @@ export default {
         billNo: this.screenForm.orderNum,
         materialName: this.screenForm.chName,
         materialCode: this.screenForm.chNum,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
-        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
-        supplyName: this.screenForm.company
-      }
+        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
+        endTime: this.screenForm.date ? this.screenForm.date[1] : "",
+        supplyName: this.screenForm.company,
+      };
     },
     isShowDetail() {
       // eslint-disable-next-line no-prototype-builtins
-      return this.queryItem.hasOwnProperty('id')
-    }
+      return this.queryItem.hasOwnProperty("id");
+    },
   },
   methods: {
     // 查询按钮权限
@@ -341,12 +288,12 @@ export default {
       // if(!btnRole) {return true}
       // let index = btnRole.indexOf(value);
       // return index >= 0;
-      return true
+      return true;
     },
 
     // 查询列表
     getList() {
-      this.listLoading = true
+      this.listLoading = true;
 
       const params = {
         pageNum: this.currentPage,
@@ -354,58 +301,57 @@ export default {
         billNo: this.screenForm.orderNum,
         materialName: this.screenForm.chName,
         materialCode: this.screenForm.chNum,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
-        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
-        supplyName: this.screenForm.company
-      }
+        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
+        endTime: this.screenForm.date ? this.screenForm.date[1] : "",
+        supplyName: this.screenForm.company,
+      };
       getEnterList(params).then((res) => {
-        res.data.records.forEach(item => {
-          item.sums1 = ['auxUnitQty']
-          item.sums2 = ['taxPrice', 'amount', 'entryTaxAmount', 'allAmount']
-        })
-        this.dataList = res.data.records
-        this.listTotal = res.data.total
-        this.listLoading = false
-      })
+        res.data.records.forEach((item) => {
+          item.sums1 = ["auxUnitQty"];
+          item.sums2 = ["taxPrice", "amount", "entryTaxAmount", "allAmount"];
+        });
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+      });
     },
 
     // 提交筛选表单
     submitScreenForm() {
-      this.currentPage = 1
-      this.getList()
+      this.currentPage = 1;
+      this.getList();
     },
 
     // 重置筛选表单
     resetScreenForm() {
-      this.$refs.screenForm.resetFields()
-      this.currentPage = 1
-      this.getList()
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
     },
 
     // 更改每页数量
     handleSizeChange(val) {
-      this.pageSize = val
-      this.currentPage = 1
-      this.getList()
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
     },
 
     // 更改当前页
     handleCurrentChange(val) {
-      this.currentPage = val
-      this.getList()
+      this.currentPage = val;
+      this.getList();
     },
 
     // 进入详情
     toDetail(item) {
-      this.queryItem = item
+      this.queryItem = item;
     },
 
     backList() {
-      this.queryItem = {}
-    }
-  }
-
-}
+      this.queryItem = {};
+    },
+  },
+};
 </script>
 
 <style scoped></style>

+ 361 - 7
src/views/basic_data/stock/warehousing_list.vue

@@ -1,14 +1,368 @@
 <template>
-  <!--  入库单-->
-  <div />
+  <!--  退料单-->
+  <div>
+    <!-- 筛选条件 -->
+    <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>
+      </Collapse>
+    </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="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+          show-summary
+          :summary-method="$getSummaries"
+        >
+          <el-table-column
+            label="序号"
+            align="left"
+            width="50"
+            type="index"
+            show-overflow-tooltip
+          ></el-table-column>
+
+          <el-table-column
+            align="left"
+            label="库存方向"
+            prop="billNo"
+            min-width="130"
+            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"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="left"
+            label="业务类型"
+            prop="fdate"
+            min-width="120"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              {{ scope.row.fdate | dateToDayFilter }}
+            </template>
+          </el-table-column>
+
+          <el-table-column
+            align="left"
+            label="单据编号"
+            prop="supplyName"
+            min-width="200"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="left"
+            label="日期"
+            prop="stockId"
+            min-width="100"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="left"
+            label="厂产品代码"
+            prop="stockId"
+            min-width="100"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="left"
+            label="存货编码"
+            prop="materialNumber"
+            min-width="120"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <CopyButton :copy-text="scope.row.materialNumber" />
+              <span>{{ scope.row.materialNumber }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="left"
+            label="存货名称"
+            prop="materialOldNumber"
+            min-width="140"
+            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="规格型号"
+            prop="materialName"
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <CopyButton :copy-text="scope.row.materialName" />
+              <span>{{ scope.row.materialName }}</span>
+            </template>
+          </el-table-column>
+          <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"
+            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"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="center"
+            label="操作"
+            width="100"
+            fixed="right"
+          >
+            <template slot-scope="scope">
+              <el-button type="text" @click="toDetail(scope.row)"
+                >弃审</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <div class="pagination clearfix">
+      <div class="fr">
+        <el-pagination
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+        />
+      </div>
+    </div>
+  </div>
 </template>
 
 <script>
+import { getEnterList } from "@/api/supply/purchase";
+
 export default {
-  name: 'WarehousingList'
-}
-</script>
+  name: "MaterialList",
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: {
+        // 筛选表单数据
+        orderNum: "",
+        chName: "",
+        chNum: "",
+        date: "",
+        company: "",
+      },
+      isCollapse: true,
+    };
+  },
+  computed: {
+    exParams() {
+      return {
+        billNo: this.screenForm.orderNum,
+        materialName: this.screenForm.chName,
+        materialCode: this.screenForm.chNum,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : "",
+        endTime: this.screenForm.date ? this.screenForm.date[1] : "",
+        supplyName: this.screenForm.company,
+      };
+    },
+    isShowDetail() {
+      // eslint-disable-next-line no-prototype-builtins
+      return this.queryItem.hasOwnProperty("id");
+    },
+  },
+  methods: {
+    // 查询按钮权限
+    checkBtnRole(value) {
+      // let btnRole = this.$route.meta.roles;
+      // if(!btnRole) {return true}
+      // let index = btnRole.indexOf(value);
+      // return index >= 0;
+      return true;
+    },
+
+    // 查询列表
+    getList() {
+      this.listLoading = true;
+
+      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] : "",
+        endTime: this.screenForm.date ? this.screenForm.date[1] : "",
+        supplyName: this.screenForm.company,
+      };
+      getEnterList(params).then((res) => {
+        res.data.records.forEach((item) => {
+          item.sums1 = ["auxUnitQty"];
+          item.sums2 = ["taxPrice", "amount", "entryTaxAmount", "allAmount"];
+        });
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+      });
+    },
 
-<style scoped>
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+
+    // 进入详情
+    toDetail(item) {
+      this.queryItem = item;
+    },
+
+    backList() {
+      this.queryItem = {};
+    },
+  },
+};
+</script>
 
-</style>
+<style scoped></style>

+ 177 - 33
src/views/login/index.vue

@@ -2,15 +2,31 @@
   <div class="login-container">
     <div class="flexBox">
       <div>
-        <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on" label-position="left" @submit.native.prevent="handleLogin">
+        <el-form
+          ref="loginForm"
+          :model="loginForm"
+          :rules="loginRules"
+          class="login-form"
+          auto-complete="on"
+          label-position="left"
+          @submit.native.prevent="handleLogin"
+        >
           <div class="flex">
             <div class="image-container">
               <div class="empty-height">
                 <img class="logo" src="@/assets/login/logo.png" alt="" />
               </div>
-              <el-carousel :interval="5000" arrow="always" height="440px" class="carousel">
+              <el-carousel
+                :interval="5000"
+                arrow="always"
+                height="440px"
+                class="carousel"
+              >
                 <el-carousel-item v-for="item in banner" :key="item.id">
-                  <el-image :z-index="1" :src="imageURL + item.imgCarouselUrl"></el-image>
+                  <el-image
+                    :z-index="1"
+                    :src="imageURL + item.imgCarouselUrl"
+                  ></el-image>
                 </el-carousel-item>
               </el-carousel>
             </div>
@@ -18,10 +34,18 @@
               <div class="empty-height" />
               <div class="form-container">
                 <div class="flex title">
-                  <div class="title-item" :class="acitve == 'pas' ? 'acitve' : ''" @click="hanleTabs('pas', 'account')">
+                  <div
+                    class="title-item"
+                    :class="acitve == 'pas' ? 'acitve' : ''"
+                    @click="hanleTabs('pas', 'account')"
+                  >
                     密码登录
                   </div>
-                  <div class="title-item" :class="acitve == 'wei' ? 'acitve' : ''" @click="hanleTabs('wei', 'mobile')">
+                  <div
+                    class="title-item"
+                    :class="acitve == 'wei' ? 'acitve' : ''"
+                    @click="hanleTabs('wei', 'mobile')"
+                  >
                     手机号登录
                   </div>
                 </div>
@@ -30,72 +54,173 @@
                   <div v-if="acitve == 'pas'">
                     <el-form-item prop="username" class="input-box">
                       <span class="svg-container">
-                        <el-image style="width: 20px; height: 20px" :src="require('@/assets/login/icon_001.png')" fit="contain "></el-image>
+                        <el-image
+                          style="width: 20px; height: 20px"
+                          :src="require('@/assets/login/icon_001.png')"
+                          fit="contain "
+                        ></el-image>
                       </span>
-                      <el-input ref="username" v-model="loginForm.username" placeholder="请输入用户名" name="username" type="text" tabindex="1" auto-complete="on" />
+                      <el-input
+                        ref="username"
+                        v-model="loginForm.username"
+                        placeholder="请输入用户名"
+                        name="username"
+                        type="text"
+                        tabindex="1"
+                        auto-complete="on"
+                      />
                     </el-form-item>
 
                     <el-form-item prop="password" class="input-box">
                       <span class="svg-container">
-                        <el-image style="width: 20px; height: 20px" :src="require('@/assets/login/icon_002.png')" fit="contain "></el-image>
+                        <el-image
+                          style="width: 20px; height: 20px"
+                          :src="require('@/assets/login/icon_002.png')"
+                          fit="contain "
+                        ></el-image>
                       </span>
-                      <el-input :key="passwordType" ref="password" v-model="loginForm.password" :type="passwordType" placeholder="请输入密码" name="password" tabindex="2" auto-complete="off" @keyup.enter.native="handleLogin" />
+                      <el-input
+                        :key="passwordType"
+                        ref="password"
+                        v-model="loginForm.password"
+                        :type="passwordType"
+                        placeholder="请输入密码"
+                        name="password"
+                        tabindex="2"
+                        auto-complete="off"
+                        @keyup.enter.native="handleLogin"
+                      />
                       <span class="show-pwd" @click="showPwd">
-                        <svg-icon :icon-class="
+                        <svg-icon
+                          :icon-class="
                             passwordType === 'password' ? 'eye' : 'eye-open'
-                          " />
+                          "
+                        />
                       </span>
                     </el-form-item>
 
                     <div class="input-box">
                       <el-form-item prop="codeValue">
                         <span class="svg-container">
-                          <el-image style="width: 20px; height: 20px" :src="require('@/assets/login/icon_003.png')" fit="contain "></el-image>
+                          <el-image
+                            style="width: 20px; height: 20px"
+                            :src="require('@/assets/login/icon_003.png')"
+                            fit="contain "
+                          ></el-image>
                         </span>
-                        <el-input ref="codeValue" v-model="loginForm.codeValue" placeholder="请输入验证码" name="codeValue" type="text" tabindex="3" auto-complete="off" @keyup.enter.native="handleLogin" />
+                        <el-input
+                          ref="codeValue"
+                          v-model="loginForm.codeValue"
+                          placeholder="请输入验证码"
+                          name="codeValue"
+                          type="text"
+                          tabindex="3"
+                          auto-complete="off"
+                          @keyup.enter.native="handleLogin"
+                        />
                       </el-form-item>
                       <div class="code" @click.stop="getCode">
-                        <img :src="'data:image/jpeg;base64,' + codeImage" alt="" />
+                        <img
+                          :src="'data:image/jpeg;base64,' + codeImage"
+                          alt=""
+                        />
                       </div>
                     </div>
 
                     <div class="checkbox">
                       <div class="check-yes">
-                        <el-image style="width: 16px; height: 16px" :src="require('@/assets/login/icon_004.png')" fit="contain "></el-image>
-                        <el-image v-if="isRemenberPw" class="yes" style="width: 11px; height: 11px" :src="require('@/assets/login/icon_005.png')" fit="contain "></el-image>
+                        <el-image
+                          style="width: 16px; height: 16px"
+                          :src="require('@/assets/login/icon_004.png')"
+                          fit="contain "
+                        ></el-image>
+                        <el-image
+                          v-if="isRemenberPw"
+                          class="yes"
+                          style="width: 11px; height: 11px"
+                          :src="require('@/assets/login/icon_005.png')"
+                          fit="contain "
+                        ></el-image>
                       </div>
-                      <el-checkbox v-model="isRemenberPw">记住账号密码</el-checkbox>
+                      <el-checkbox v-model="isRemenberPw"
+                        >记住账号密码</el-checkbox
+                      >
                     </div>
 
                     <div class="button-container">
-                      <el-button :loading="loading" type="primary" @click.native.prevent="handleLogin">登录</el-button>
+                      <el-button
+                        :loading="loading"
+                        type="primary"
+                        @click.native.prevent="handleLogin"
+                        >登录</el-button
+                      >
                     </div>
                   </div>
                   <!-- 手机号登录 -->
                   <div v-else class="pas">
                     <el-form-item prop="username" class="input-box">
                       <span class="svg-container">
-                        <el-image style="width: 20px; height: 20px" :src="require('@/assets/login/icon_001.png')" fit="contain "></el-image>
+                        <el-image
+                          style="width: 20px; height: 20px"
+                          :src="require('@/assets/login/icon_001.png')"
+                          fit="contain "
+                        ></el-image>
                       </span>
-                      <el-input ref="username" v-model="loginForm.username" placeholder="请输入手机号" name="username" type="text" tabindex="1" auto-complete="on" />
+                      <el-input
+                        ref="username"
+                        v-model="loginForm.username"
+                        placeholder="请输入手机号"
+                        name="username"
+                        type="text"
+                        tabindex="1"
+                        auto-complete="on"
+                      />
                     </el-form-item>
                     <div class="input-box">
                       <el-form-item prop="codeValue">
                         <span class="svg-container">
-                          <el-image style="width: 20px; height: 20px" :src="require('@/assets/login/icon_003.png')" fit="contain "></el-image>
+                          <el-image
+                            style="width: 20px; height: 20px"
+                            :src="require('@/assets/login/icon_003.png')"
+                            fit="contain "
+                          ></el-image>
                         </span>
-                        <el-input ref="codeValue" v-model="loginForm.codeValue" placeholder="请输入验证码" name="codeValue" type="text" tabindex="3" auto-complete="off" @keyup.enter.native="handleLogin" />
+                        <el-input
+                          ref="codeValue"
+                          v-model="loginForm.codeValue"
+                          placeholder="请输入验证码"
+                          name="codeValue"
+                          type="text"
+                          tabindex="3"
+                          auto-complete="off"
+                          @keyup.enter.native="handleLogin"
+                        />
                       </el-form-item>
                       <div class="code" @click.stop="getCode">
-                        <img :src="'data:image/jpeg;base64,' + codeImage" alt="" />
+                        <img
+                          :src="'data:image/jpeg;base64,' + codeImage"
+                          alt=""
+                        />
                       </div>
                     </div>
                     <div class="input-box">
                       <el-form-item prop="smsCode">
                         <span class="svg-container">
-                          <el-image style="width: 20px; height: 20px" :src="require('@/assets/login/icon_003.png')" fit="contain "></el-image>
+                          <el-image
+                            style="width: 20px; height: 20px"
+                            :src="require('@/assets/login/icon_003.png')"
+                            fit="contain "
+                          ></el-image>
                         </span>
-                        <el-input ref="smsCode" v-model="loginForm.smsCode" placeholder="请输入短信验证码" name="smsCode" type="text" tabindex="3" auto-complete="off" />
+                        <el-input
+                          ref="smsCode"
+                          v-model="loginForm.smsCode"
+                          placeholder="请输入短信验证码"
+                          name="smsCode"
+                          type="text"
+                          tabindex="3"
+                          auto-complete="off"
+                        />
                       </el-form-item>
                       <div class="code2" @click.stop="getSmsCode">
                         <el-button :disabled="countDown != 60">{{
@@ -106,7 +231,12 @@
                       </div>
                     </div>
                     <div class="button-container">
-                      <el-button :loading="loading" type="primary" @click.native.prevent="handleLogin">登录</el-button>
+                      <el-button
+                        :loading="loading"
+                        type="primary"
+                        @click.native.prevent="handleLogin"
+                        >登录</el-button
+                      >
                     </div>
                   </div>
                 </transition>
@@ -117,17 +247,29 @@
       </div>
       <div class="info">
         <div class="info-item">
-          <el-link :href="companyList[0].icpRecordLink" :underline="false" target="_blank">{{
-              companyList[0].icpRecord
-            }}</el-link>
-          <div style="margin: 0 20px" v-if="companyList[0].companyName && companyList[0].icpRecordLink">
+          <el-link
+            :href="companyList[0].icpRecordLink"
+            :underline="false"
+            target="_blank"
+            >{{ companyList[0].icpRecord }}</el-link
+          >
+          <div
+            style="margin: 0 20px"
+            v-if="companyList[0].companyName && companyList[0].icpRecordLink"
+          >
             |
           </div>
-          <el-link :href="companyList[0].pubSecurityRecordLink" :underline="false" target="_blank">
-            <el-image style="width: 14px; height: 16px" :src="require('@/assets/login/icon_0001.png')"></el-image>
+          <el-link
+            :href="companyList[0].pubSecurityRecordLink"
+            :underline="false"
+            target="_blank"
+          >
+            <el-image
+              style="width: 14px; height: 16px"
+              :src="require('@/assets/login/icon_0001.png')"
+            ></el-image>
             {{ companyList[0].pubSecurityRecord }}
           </el-link>
-
         </div>
         <div>{{ companyList[0].companyName }}</div>
       </div>
@@ -305,12 +447,14 @@ export default {
             .then(() => {
               // console.log(this.redirect);
               this.$router.push({ path: this.redirect || "/" });
+              console.log(444);
               this.saveUnAndPw();
               this.$store.commit("user/showMessage", "yes");
               // this.$message.success("登录成功");
               this.loading = false;
             })
             .catch(() => {
+              console.log(555);
               this.getCode();
               this.loginForm.codeValue = "";
               this.loading = false;