Selaa lähdekoodia

【修改】bug

howie 2 vuotta sitten
vanhempi
commit
cf3e0b4a07
1 muutettua tiedostoa jossa 303 lisäystä ja 0 poistoa
  1. 303 0
      src/views/basic_data/stock/product_list_customer.vue

+ 303 - 0
src/views/basic_data/stock/product_list_customer.vue

@@ -0,0 +1,303 @@
+<template>
+  <div class="app-container">
+    <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="90px"
+        size="mini"
+        label-position="left"
+      >
+        <el-row :gutter="20">
+
+          <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="materialOldNumber">
+              <el-input
+                v-model="screenForm.materialOldNumber"
+                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="specification">
+              <el-input
+                v-model="screenForm.specification"
+                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="6">
+            <el-form-item label="存货类别" >
+              <el-select v-model="screenForm.categoryId" style="width: 100%" placeholder="选择存货类别" filterable clearable>
+                <el-option v-for="item in categoryList" :key="item.name" :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 @click="resetScreenForm">清空</el-button>
+              <el-button 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 >
+          <ExportButton
+            :ex-url="'/stock/manager/exportStockToDay'"
+            :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
+        >
+          <el-table-column
+            align="left"
+            label="仓库"
+            prop="correspondName"
+            min-width="100"
+            show-overflow-tooltip
+          />
+            <el-table-column
+            align="left"
+            label="存货类别"
+            prop="categoryName"
+            min-width="100"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="left"
+            label="物料代码"
+            prop="materialNumber"
+            min-width="150"
+            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="150"
+            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="200"
+            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="specification"
+            min-width="300"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <CopyButton :copy-text="scope.row.specification" />
+              <span>{{ scope.row.specification }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="right"
+            label="可用数量"
+            prop="stockAdequate"
+            min-width="100"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="right"
+            label="开单未提数量"
+            prop="num"
+            min-width="100"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="right"
+            label="结存数量"
+            prop="balanceNumber"
+            min-width="100"
+            show-overflow-tooltip
+          />
+        </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 { getListStockToDay } from '@/api/stock'
+import { getCategoryList } from '@/api/common'
+import { getWarehouseList } from '@/api/supply/apply'
+
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: {
+        categoryId: '',
+        correspondId: [],
+        materialName: '',
+        materialNumber: '',
+        materialOldNumber: '',
+        specification: ''
+      },
+      typeList: [],
+      warehouseList: [],
+      categoryList: []
+    }
+  },
+
+  computed: {
+    exParams() {
+      return {
+        categoryId: this.screenForm.categoryId,
+        correspondId: this.screenForm.correspondId.join(','),
+        materialName: this.screenForm.materialName,
+        materialNumber: this.screenForm.materialNumber,
+        materialOldNumber: this.screenForm.materialOldNumber,
+        specification: this.screenForm.specification
+      }
+    }
+  },
+  created() {
+    this.getList()
+  },
+  methods: {
+
+    getList() {
+      const params = {
+        pageNum: this.currentPage,
+        pageSize: this.pageSize,
+        categoryId: this.screenForm.categoryId,
+        correspondId: this.screenForm.correspondId.join(','),
+        materialName: this.screenForm.materialName,
+        materialNumber: this.screenForm.materialNumber,
+        materialOldNumber: this.screenForm.materialOldNumber,
+        specification: this.screenForm.specification
+      }
+      this.listLoading = true
+      getListStockToDay(params).then(res => {
+        this.dataList = res.data.records
+        this.listTotal = res.data.total
+        this.listLoading = false
+      })
+      this.getWarehouseList()
+      this.getCategoryList()
+    },
+    // 获取仓库列表
+    getWarehouseList() {
+      getWarehouseList({
+        pageNum: 1,
+        pageSize: -1
+      }).then((res) => {
+        this.warehouseList = res.data.records
+      })
+    },
+
+    // 获取存货类别列表
+    getCategoryList() {
+      getCategoryList({
+        pageNum: 1,
+        pageSize: -1
+      }).then(res => {
+        this.categoryList = res.data.records
+      })
+    },
+    // 提交筛选表单
+    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()
+    }
+  }
+}
+</script>