From 774e6e650b6235a9e34dfecab65c4322c1767714 Mon Sep 17 00:00:00 2001 From: 石广澎 <shiguangpeng@163.com> Date: 星期五, 01 十二月 2023 16:48:15 +0800 Subject: [PATCH] feat: 库存管理 查询条件梳理 --- admin-web/src/views/stock/scrap/itemScrapping/index.vue | 271 ++++++++++++++++------------------------------------- 1 files changed, 84 insertions(+), 187 deletions(-) diff --git a/admin-web/src/views/stock/scrap/itemScrapping/index.vue b/admin-web/src/views/stock/scrap/itemScrapping/index.vue index 5263192..e41cad4 100644 --- a/admin-web/src/views/stock/scrap/itemScrapping/index.vue +++ b/admin-web/src/views/stock/scrap/itemScrapping/index.vue @@ -10,63 +10,69 @@ <el-col> <!--鍒楄〃--> <div class="table-tool-bar" style="margin-bottom: 15px"> - <my-button name="鏂板" @click="handleAdd" site="tools" size="medium" /> + <my-button name="鏂板" @click="handleAdd" site="tools" size="medium"/> </div> - <div :style="{ 'overflow-y': 'auto', height: `${clientHeight - 320}px` }"> - <el-row class="card" :gutter="5" v-loading="loading"> - <el-col v-for="(item, index) in list" :key="index" class="cm-item"> - <el-card class="card-data"> - <div class="card-container"> - <div class="card-header"> - <div class="card-header-left"> - <span>鎶ュ簾鍗曞彿锛�</span> - <span class="value">{{ item.businessFormCode }}</span> - <div class="states" :class="item.states == 1 ? '' : 'states-success'"> - {{ item.states == 1 ? '寰呮姤搴�' : '宸叉姤搴�' }} + <div v-loading="loading"> + <div :style="{ 'overflow-y': 'auto', height: 'calc(100vh - 352px)' }"> + <el-row v-if="list.length" class="card" :gutter="5"> + <el-col v-for="(item, index) in list" :key="index" class="cm-item"> + <el-card class="card-data"> + <div class="card-container"> + <div class="card-header"> + <div class="card-header-left"> + <span>鎶ュ簾鍗曞彿锛�</span> + <span class="value">{{ item.businessFormCode }}</span> + + </div> + <div class="card-header-right"> + <el-button site="form" type="success" size="mini" + @click="handleExport('scrappedExport',`鎶ュ簾鍗�-${item.businessFormCode}`, {id:item.id})" + >瀵煎嚭鎶ュ簾鍗� + </el-button + > + <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)" + >鏌ョ湅璇︽儏 + </el-button + > </div> </div> - <div class="card-header-right"> - <el-button site="form" type="success" size="mini" @click="handleExport(item)" - >瀵煎嚭鎶ュ簾鍗�</el-button - > - <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)" - >鏌ョ湅璇︽儏</el-button - > + <div class="one-hed"> + <div class="box"><span class="span-two">鏈烘瀯锛�</span>{{ item.agencyName }}</div> + <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.operatorName }}</div> + <div class="box"> + <span class="span-two">鎶ュ簾鏃堕棿锛�</span>{{ item.dealTime | formatTime }} + </div> </div> - </div> - <div class="one-hed"> - <div class="box"><span class="span-two">鏈烘瀯锛�</span>{{ item.agencyId }}</div> - <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.buyerName }}</div> - <div class="box"> - <span class="span-two">鎶ュ簾鏃堕棿锛�</span>{{ item.procureTime | formatTime }} - </div> - </div> - <div class="card-end"> - <div v-for="(just, index) in item.fromProcureTemplateInfoList" :key="index" class="item"> - <div class="name">{{ just.goodsTemplateName }}</div> - <div class="value-box"> - <div class="value-box-item"> - <span class="label">鏁伴噺锛�</span> - <span class="value">{{ just.count }}</span> - <span class="unit">{{ just.unit }}</span> + <div class="card-end"> + <div v-for="(just, index) in item.goodTemplateInfo" :key="index" class="item"> + <div class="name">{{ just.goodsName }}</div> + <div class="value-box"> + <div class="value-box-item"> + <span class="label">鏁伴噺锛�</span> + <span class="value">{{ just.count }}</span> + <span class="unit">{{ just.unit }}</span> + </div> </div> </div> </div> </div> - </div> - </el-card> - </el-col> - </el-row> + </el-card> + </el-col> + </el-row> + + <el-empty v-else description="鏆傛棤鏁版嵁"></el-empty> + </div> </div> + <el-pagination - :small="false" - :current-page="pageNum" - :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]" - :page-size="pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="total" - @size-change="handleSizeChange" - @current-change="handleCurrentChange" + :small="false" + :current-page="pageNum" + :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]" + :page-size="pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="total" + @size-change="handleSizeChange" + @current-change="handleCurrentChange" /> </el-col> </el-row> @@ -74,44 +80,37 @@ </el-container> <!--娣诲姞/缂栬緫寮圭獥--> <edit - v-if="editSetting.show" - :setting="editSetting" - ref="editRef" - @close="editSetting.show = false" - @search="refreshData" + v-if="editSetting.show" + :setting="editSetting" + ref="editRef" + @close="editSetting.show = false" + @search="refreshData" ></edit> <detail - v-if="detailSetting.show" - :setting="detailSetting" - @close="detailSetting.show = false" - ref="detailRef" + v-if="detailSetting.show" + :setting="detailSetting" + @close="detailSetting.show = false" + ref="detailRef" ></detail> - <my-import - :import-setting="importSetting" - :dialog-show="importSetting.dialogShow" - :dialog-title="importSetting.dialogTitle" - /> </div> </template> <script> -import { procureList, procureDel, procureIncome } from '@/api/stock/procure/purchaseOrder'; -import { getTree } from '@/api/baseSetting/finsystenant'; +import {scrappedList,} from '@/api/stock/scrap'; import MyButton from '@/components/myButton/myButton'; import SettingIplatform from '@/utils/settingIplatform'; -import myImport from '@/views/components/myImport'; import edit from './edit'; import detail from './detail'; -import { getBaseUrl } from '@/utils/base'; import * as DateFormatter from '@/utils/DateFormatter'; +import listPage from '@/views/mixins/listPage'; export default { name: 'index', - components: { MyButton, myImport, edit, detail }, + mixins: [listPage], + components: {MyButton, edit, detail}, data() { return { loading: false, - adddialog: false, list: [], // 鎼滅储妗� items: [ @@ -123,30 +122,37 @@ defaultValue: '', }, { - type: 'text', - dataIndex: 'goodsTemplateName', - label: '鐗╁搧鍚嶇О', - placeholder: '鍙ā绯婃悳绱�', - defaultValue: '', - }, - { type: 'cascader', dataIndex: 'agencyId', label: '鏈烘瀯', placeholder: '璇烽�夋嫨', - optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null }, + optionsConfig: {url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null}, + cascader: [{key:'goodsTemplateId',queryKey: 'agencyId'}], defaultValue: '', options: [], }, { + type: 'select', + dataIndex: 'goodsTemplateId', + label: '鐗╁搧鍚嶇О', + placeholder: '璇疯緭鍏�', + defaultValue: '', + options: [], + optionsConfig: { + label: 'goodsName', + value: 'id', + url: SettingIplatform.apiBaseURL + '/pc/base/goods/template/query/goodsTemplate', + }, + }, + { type: 'date-picker', - dataIndex: 'incomeTimeStart', + dataIndex: 'startTime', label: '鎶ュ簾鏃堕棿', defaultValue: '', }, { type: 'date-picker', - dataIndex: 'incomeTimeEnd', + dataIndex: 'endTime', label: '鑷�', defaultValue: '', }, @@ -159,24 +165,6 @@ userName: null, userPhone: null, states: null, - }, - // 瀵煎叆 - importSetting: { - dialogTitle: '瀵煎叆', - dialogShow: false, - fileSettings: { - data: {}, - uploadUrl: getBaseUrl() + '/pc/fin/sys/tenant/import', // 涓婁紶鍦板潃 - accept: '.xls', // 鏍煎紡 - type: 'text', // 鍥炴樉褰㈠紡 - loading: false, // 瀵煎叆鏁堟灉 - }, - /* 妯℃澘涓嬭浇 */ - templateSettings: { - templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О - templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate', // 涓嬭浇鍦板潃 - }, - onSuccess: null, }, editSetting: { title: '', @@ -211,7 +199,7 @@ methods: { fetchData() { this.loading = true; - procureList({ + scrappedList({ pageNum: this.pageNum, pageSize: this.pageSize, ...this.filterFrom, @@ -219,98 +207,7 @@ this.list = res.datas; this.total = res.totalRows; this.loading = false; - console.log(this.list); }); - }, - - //瀵煎叆 - importOrg() { - this.importSetting.dialogShow = true; - this.importSetting.onSuccess = (response, callBack) => { - if (response.code === 1) { - this.$message.success(response.msg); - this.search(1); - } else { - this.$message.warning(response.msg); - } - callBack(); - }; - }, - // 瀵煎嚭 - handleExport() {}, - // 鏂板 - handleAdd() { - this.editSetting.id = null; - this.editSetting.info = null; - this.editSetting.title = '鏂板'; - this.editSetting.show = true; - }, - // 缂栬緫 - handleEdit(row) { - this.editSetting.id = row.id; - this.editSetting.info = null; - this.editSetting.title = '缂栬緫'; - this.editSetting.show = true; - }, - // 璇︽儏 - handleDetail(row) { - this.detailSetting.id = row.id; - this.detailSetting.show = true; - }, - // 鎶ュ簾 - handleIncome(row) { - this.$confirm(`鎮ㄧ‘瀹� 鍗曞彿锛�${row.businessFormCode} 鎶ュ簾鍚�?`, '鎶ュ簾鎶ュ簾').then(() => { - procureIncome({ id: row.id }) - .then((res) => { - this.$message.success('鎶ュ簾鎴愬姛锛�'); - this.search(); - }) - .catch(() => {}); - }); - }, - del(row) { - this.$modal.confirm('鏄惁纭鍒犻櫎鎶ュ簾鍗曞彿涓�"' + row.businessFormCode + '"鐨勬暟鎹悧锛�').then(() => { - procureDel({ id: row.id }) - .then((res) => { - this.$message.success('鍒犻櫎鎴愬姛锛�'); - this.search(); - }) - .catch(() => {}); - }); - }, - // 鍒嗛〉 - handleSizeChange(pageSize) { - this.pageSize = pageSize; - this.search(1); - }, - handleCurrentChange(pageNum) { - this.pageNum = pageNum; - this.search(pageNum); - }, - // 鏌ヨtable鍒楄〃 - search(pageNum) { - if (pageNum) { - this.pageNum = pageNum; - } - this.fetchData(); - }, - refreshData() { - this.pageNum = 1; - this.pageSize = 10; - this.search(); - }, - fifterForm(params) { - this.filterFrom = Object.assign(this.filterFrom, params); - if (this.filterFrom.incomeTimeStart) { - this.filterFrom.incomeTimeStart = this.filterFrom.incomeTimeStart.replace(/\-/g, ''); - } - if (this.filterFrom.incomeTimeEnd) { - this.filterFrom.incomeTimeEnd = this.filterFrom.incomeTimeEnd.replace(/\-/g, ''); - } - if (this.filterFrom.agencyId.length) { - this.filterFrom.agencyId = this.filterFrom.agencyId[this.filterFrom.agencyId.length - 1]; - } - this.search(1); }, }, }; -- Gitblit v1.9.1