From 32dce44249f1b3fb8487a154517c381d55123fbc Mon Sep 17 00:00:00 2001 From: 石广澎 <shiguangpeng@163.com> Date: 星期三, 29 十一月 2023 19:31:49 +0800 Subject: [PATCH] feat: 1、库存管理各种单据导出对接 --- admin-web/src/api/exportExcel.js | 49 ++++ admin-web/src/api/stock/transfer.js | 9 admin-web/src/views/stock/inventorycount/inventorytask/index.vue | 71 ++--- admin-web/src/views/stock/procure/purchaseOrder/index.vue | 18 - admin-web/src/views/departmentitem/itemret/returnNote/index.vue | 2 admin-web/src/views/mixins/listPage.js | 120 ++++++---- admin-web/src/views/stock/transfer/transferissue/index.vue | 99 +++----- admin-web/src/views/stock/transfer/transferApplication/index.vue | 31 -- admin-web/src/views/departmentitem/itemdis/distribution/detail.vue | 6 admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue | 8 admin-web/src/views/departmentitem/itemscr/scrapping/index.vue | 2 admin-web/src/views/stock/accessStock/outbound/index.vue | 17 - admin-web/src/views/stock/scrap/itemScrapping/index.vue | 182 ++++++---------- admin-web/src/views/departmentitem/itemdis/distribution/edit.vue | 1 admin-web/src/views/departmentitem/itemdis/distribution/index.vue | 2 admin-web/public/static/config.js | 4 16 files changed, 289 insertions(+), 332 deletions(-) diff --git a/admin-web/public/static/config.js b/admin-web/public/static/config.js index b7e2788..2c5f21a 100644 --- a/admin-web/public/static/config.js +++ b/admin-web/public/static/config.js @@ -4,8 +4,8 @@ // 涓婁紶璺緞 ftpUrl: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙� // 鎺ュ彛璇锋眰鍦板潃 - // apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//寮�鍙� - apiBaseURL: 'http://172.16.60.155:8083/lowConsum',//寮�鍙� + apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//寮�鍙� + // apiBaseURL: 'http://172.16.60.155:8083/lowConsum',//寮�鍙� // apiBaseURL: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙� debug: false //璋冭瘯寮�鍏� true鏃朵細杈撳嚭璇锋眰鏃ュ織 }; diff --git a/admin-web/src/api/exportExcel.js b/admin-web/src/api/exportExcel.js new file mode 100644 index 0000000..28ae9c2 --- /dev/null +++ b/admin-web/src/api/exportExcel.js @@ -0,0 +1,49 @@ +import request from '@/utils/request'; + +// 鍑哄簱鍗曞鍑� +export function outputExport(params) { + return request({ + url: '/pc/l/wh/form/output/list/export', + responseType: 'blob', // 鎸囧畾鍝嶅簲鏁版嵁绫诲瀷涓築lob + method: 'get', + params, + }); +} +// 閲囪喘鍗曞鍑� +export function procureExport(params) { + return request({ + url: '/pc/l/wh/form/procure/list/export', + responseType: 'blob', // 鎸囧畾鍝嶅簲鏁版嵁绫诲瀷涓築lob + method: 'get', + params, + }); +} +// 璋冩嫧鍗曞鍑� +export function transferExport(params) { + return request({ + url: '/pc/l/wh/form/transfer/list/export', + responseType: 'blob', // 鎸囧畾鍝嶅簲鏁版嵁绫诲瀷涓築lob + method: 'get', + params, + }); +} + +// 搴撳瓨鐩樼偣鍗曞鍑� +export function inventoryExport(params) { + return request({ + url: '/pc/l/wh/form/inventory/list/export', + responseType: 'blob', // 鎸囧畾鍝嶅簲鏁版嵁绫诲瀷涓築lob + method: 'get', + params, + }); +} + +// 搴撳瓨鎶ュ簾鍗曞鍑� +export function scrappedExport(params) { + return request({ + url: '/pc/l/wh/form/scrapped/list/export', + responseType: 'blob', // 鎸囧畾鍝嶅簲鏁版嵁绫诲瀷涓築lob + method: 'get', + params, + }); +} diff --git a/admin-web/src/api/stock/transfer.js b/admin-web/src/api/stock/transfer.js index fa88b6a..405b2dc 100644 --- a/admin-web/src/api/stock/transfer.js +++ b/admin-web/src/api/stock/transfer.js @@ -72,15 +72,6 @@ } // 瀵煎嚭 -export function transferExport(params) { - return request({ - url: '/pc/l/wh/form/transfer/export', - method: 'get', - params, - }); -} - -// 瀵煎嚭 export function transferDetailListApi(params) { return '/pc/l/wh/form/transfer/detail/list' } diff --git a/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue b/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue index 3bddc58..61b3170 100644 --- a/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue +++ b/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue @@ -19,7 +19,7 @@ {{ item }} </div> </div> - <el-form v-show="tabIndex == 0" ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm"> + <el-form v-loading="loading" v-show="tabIndex == 0" ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm"> <div v-for="(item, index) in formData.list" :key="index"> <el-row :gutter="20"> <el-col :span="6"> @@ -61,7 +61,6 @@ <el-divider v-if="index+1<formData.list.length"></el-divider> </div> </el-form> - <el-form v-show="tabIndex == 1" ref="ruleForm" @@ -74,7 +73,7 @@ <el-row :gutter="20" class="item-header"> <el-col :span="6"> <el-form-item label="淇敼鏃堕棿:"> - {{ item.updateTime }} + {{ item.updateTime | formatTime }} </el-form-item> </el-col> <el-col :span="6"> @@ -129,9 +128,11 @@ <script> import myButton from '@/components/myButton/myButton'; import {useInfoUpdate, useRecord} from "@/api/stock/transfer"; +import listPage from '@/views/mixins/listPage'; export default { components: {myButton}, + mixins: [listPage], props: { setting: { type: Object, @@ -141,6 +142,7 @@ }, data() { return { + loading: true, tabs: ['淇敼浣跨敤浜�', '浣跨敤璁板綍'], tabIndex: 0, list: [], diff --git a/admin-web/src/views/departmentitem/itemdis/distribution/detail.vue b/admin-web/src/views/departmentitem/itemdis/distribution/detail.vue index 8b45618..81209db 100644 --- a/admin-web/src/views/departmentitem/itemdis/distribution/detail.vue +++ b/admin-web/src/views/departmentitem/itemdis/distribution/detail.vue @@ -59,12 +59,12 @@ </el-row> <el-form> <el-row class="card3" v-for="(mItem, mIndex) in goodsItem.models" :key="mIndex"> - <el-col :span="10"> - <el-form-item label="瑙勬牸鍨嬪彿:" style="margin-bottom: 0"> + <el-col style="padding: 10px 0" :span="10"> + <el-form-item label="瑙勬牸鍨嬪彿1:" style="margin-bottom: 0"> {{ mItem.baseGoodsModelsName }} </el-form-item> </el-col> - <el-col :span="4"> + <el-col style="padding: 10px 0" :span="4"> <el-form-item label="鍗曚綅:" style="margin-bottom: 0" label-width="80"> {{mItem.unit}} </el-form-item> diff --git a/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue b/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue index cee9fc9..f84c322 100644 --- a/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue +++ b/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue @@ -568,6 +568,7 @@ // 鎻愪氦 handleSubmit() { console.log('formData', this.formData); + if(this.loading) return this.$refs['ruleForm'].validate((valid) => { if (valid) { this.formData.transferGoods.map(goods => { diff --git a/admin-web/src/views/departmentitem/itemdis/distribution/index.vue b/admin-web/src/views/departmentitem/itemdis/distribution/index.vue index 384d525..8be3bbe 100644 --- a/admin-web/src/views/departmentitem/itemdis/distribution/index.vue +++ b/admin-web/src/views/departmentitem/itemdis/distribution/index.vue @@ -91,7 +91,7 @@ import myImport from '@/views/components/myImport'; import edit from './edit'; import detail from './detail'; -import listPage from '../../../mixins/listPage'; +import listPage from '@/views/mixins/listPage'; import {getUserDetail} from "@/utils/auth"; export default { diff --git a/admin-web/src/views/departmentitem/itemret/returnNote/index.vue b/admin-web/src/views/departmentitem/itemret/returnNote/index.vue index 150e3e6..c97d378 100644 --- a/admin-web/src/views/departmentitem/itemret/returnNote/index.vue +++ b/admin-web/src/views/departmentitem/itemret/returnNote/index.vue @@ -77,7 +77,7 @@ import myImport from '@/views/components/myImport'; import edit from './edit'; import detail from './detail'; -import listPage from '../../../mixins/listPage' +import listPage from '@/views/mixins/listPage' export default { name: 'index', diff --git a/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue b/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue index 9decc9f..e4864c7 100644 --- a/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue +++ b/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue @@ -82,7 +82,7 @@ import myImport from '@/views/components/myImport'; import edit from './edit'; import detail from './detail'; -import listPage from '../../../mixins/listPage' +import listPage from '@/views/mixins/listPage' export default { name: 'index', diff --git a/admin-web/src/views/mixins/listPage.js b/admin-web/src/views/mixins/listPage.js index be556bc..5aba8aa 100644 --- a/admin-web/src/views/mixins/listPage.js +++ b/admin-web/src/views/mixins/listPage.js @@ -1,23 +1,24 @@ import * as DateFormatter from '@/utils/DateFormatter'; import {mapGetters} from 'vuex'; +import * as dataExport from "@/api/exportExcel" export default { data() { return { loading: false, list: [], - items:[], - filterFrom:{}, + items: [], + filterFrom: {}, editSetting: { - title: '', - id: '', - orgId: '', - show: false, + title: '', + id: '', + orgId: '', + show: false, }, detailSetting: { - title: '璇︽儏', - id: '', - show: false, + title: '璇︽儏', + id: '', + show: false, }, pageNum: 1, pageSize: 10, @@ -25,67 +26,98 @@ } }, computed: { - ...mapGetters(['userInfo']), - clientHeight() { - return document.documentElement.clientHeight; - }, + ...mapGetters(['userInfo']), + clientHeight() { + return document.documentElement.clientHeight; + }, }, created() { }, filters: { - formatTime(time) { - if (!time) return '-'; - return DateFormatter.LongToDateTime(time); - }, + formatTime(time) { + if (!time) return '-'; + return DateFormatter.LongToDateTime(time); + }, }, - methods:{ - fetchData() {}, + methods: { // 瀵煎嚭 - handleExport() {}, + handleExport(api, fileName, params) { + console.log(fileName) + let loading = this.$loading({ + lock: true, + text: '瀵煎嚭涓紝璇风◢鍊�...', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)', + }); + // 鍒ゆ柇鎬绘潯鏁版槸鍚﹀ぇ浜庢渶澶ф敮鎸佹潯鏁� + dataExport[api](params) + .then((res) => { + const blob = new Blob([res], {type: 'application/vnd.ms-excel'}); + if ('download' in document.createElement('a')) { + // 闈濱E涓嬭浇 + const elink = document.createElement('a'); + elink.download = `${fileName}.xls`; + elink.style.display = 'none'; + elink.href = URL.createObjectURL(blob); + document.body.appendChild(elink); + elink.click(); + URL.revokeObjectURL(elink.href); + document.body.removeChild(elink); + } else { + // IE10+涓嬭浇 + navigator.msSaveBlob(blob, `${fileName}.xls`); + } + this.$message.success('瀵煎嚭鎴愬姛锛�'); + loading.close(); + }) + .catch(() => { + loading.close(); + }); + }, // 鏂板 handleAdd() { - this.editSetting.id = null; - this.editSetting.info = null; - this.editSetting.title = '鏂板'; - this.editSetting.show = true; + 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; + 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.title = '璇︽儏'; - this.detailSetting.show = true; + this.detailSetting.id = row.id; + this.detailSetting.title = '璇︽儏'; + this.detailSetting.show = true; }, // 鍒嗛〉 handleSizeChange(pageSize) { - this.pageSize = pageSize; - this.search({ pageNum: 1 }); + this.pageSize = pageSize; + this.search({pageNum: 1}); }, handleCurrentChange(pageNum) { - this.pageNum = pageNum; - this.search(); + this.pageNum = pageNum; + this.search(); }, // 鏌ヨtable鍒楄〃 search(pageNum) { - if(pageNum){ - this.pageNum = pageNum - } - this.fetchData(); + if (pageNum) { + this.pageNum = pageNum + } + this.fetchData(); }, refreshData() { - this.pageNum = 1; - this.pageSize = 10; - this.search(); + this.pageNum = 1; + this.pageSize = 10; + this.search(); }, fifterForm(params) { - this.filterFrom = Object.assign(this.filterFrom, params); - this.search(1); + this.filterFrom = Object.assign(this.filterFrom, params); + this.search(1); }, } } diff --git a/admin-web/src/views/stock/accessStock/outbound/index.vue b/admin-web/src/views/stock/accessStock/outbound/index.vue index b7202d7..8af4e09 100644 --- a/admin-web/src/views/stock/accessStock/outbound/index.vue +++ b/admin-web/src/views/stock/accessStock/outbound/index.vue @@ -24,7 +24,7 @@ <span class="value">{{ item.businessFormCode }}</span> </div> <div class="card-header-right"> - <el-button site="form" type="success" size="mini" @click="handleExport(item)" + <el-button site="form" type="success" size="mini" @click="handleExport('outputExport',`鍑哄簱鍗�-${item.businessFormCode}`,{id:item.id})" >瀵煎嚭鍑哄簱鍗�</el-button > <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)" @@ -85,7 +85,7 @@ import myImport from '@/views/components/myImport'; import edit from './edit'; import detail from './detail'; -import listPage from '../../../mixins/listPage' +import listPage from '@/views/mixins/listPage' import SettingIplatform from '@/utils/settingIplatform'; export default { @@ -163,19 +163,6 @@ this.total = res.totalRows; this.loading = false; }); - }, - fifterForm(params) { - this.filterFrom = Object.assign(this.filterFrom, params); - if (this.filterFrom.startTime) { - this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, ''); - } - if (this.filterFrom.endTime) { - this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, ''); - } - if (this.filterFrom.agencyId&&this.filterFrom.agencyId.length) { - this.filterFrom.agencyId = this.filterFrom.agencyId[this.filterFrom.agencyId.length - 1]; - } - this.search(1); }, }, }; diff --git a/admin-web/src/views/stock/inventorycount/inventorytask/index.vue b/admin-web/src/views/stock/inventorycount/inventorytask/index.vue index 59eb80b..b315b68 100644 --- a/admin-web/src/views/stock/inventorycount/inventorytask/index.vue +++ b/admin-web/src/views/stock/inventorycount/inventorytask/index.vue @@ -10,25 +10,26 @@ <el-row style="margin-top: 15px"> <el-col> <!--鍒楄〃--> - <my-table-v2 ref="myTable" :filter="filterFrom" :table="table" /> + <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/> </el-col> </el-row> <!--娣诲姞/缂栬緫寮圭獥--> - <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search" /> + <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/> <inventory - v-if="inventorySetting.show" - :setting="inventorySetting" - @close="inventorySetting.show = false" - @search="search" + v-if="inventorySetting.show" + :setting="inventorySetting" + @close="inventorySetting.show = false" + @search="search" /> - <detail v-if="inventoryDetail.show" :setting="inventoryDetail" @close="inventoryDetail.show = false" @search="search" /> + <detail v-if="inventoryDetail.show" :setting="inventoryDetail" @close="inventoryDetail.show = false" + @search="search"/> </el-card> </el-container> </el-container> <my-import - :import-setting="importSetting" - :dialog-show="importSetting.dialogShow" - :dialog-title="importSetting.dialogTitle" + :import-setting="importSetting" + :dialog-show="importSetting.dialogShow" + :dialog-title="importSetting.dialogTitle" /> </div> </template> @@ -46,10 +47,12 @@ import {inventoryDel, inventoryListApi} from '@/api/stock/inventory'; import * as DateFormatter from '@/utils/DateFormatter'; import {mapGetters} from 'vuex'; +import listPage from '@/views/mixins/listPage'; export default { name: 'index', - components: { MyButton, MyTableV2, edit, myImport, inventory,detail }, + mixins: [listPage], + components: {MyButton, MyTableV2, edit, myImport, inventory, detail}, data() { return { // 鎼滅储妗� @@ -128,7 +131,7 @@ orgId: '', show: false, }, - inventoryDetail:{ + inventoryDetail: { title: '', id: '', orgId: '', @@ -161,18 +164,18 @@ }, // 鍒椾俊鎭� columns: [ - { title: '鐩樼偣鍗曞彿', field: 'businessFormCode', align: 'center', width: 130 }, - { title: '浠诲姟鍚嶇О', field: 'businessFormName', align: 'left', minWidth: 140 }, - { title: '鐩樼偣浠撳簱', field: 'warehouseName', align: 'left', minWidth: 130 }, - { title: '鐩樼偣浜�', field: 'operatorName', align: 'center', width: 120 }, - { title: '鐩戠洏浜�', field: 'operatorName2', align: 'center', width: 120 }, + {title: '鐩樼偣鍗曞彿', field: 'businessFormCode', align: 'center', width: 130}, + {title: '浠诲姟鍚嶇О', field: 'businessFormName', align: 'left', minWidth: 140}, + {title: '鐩樼偣浠撳簱', field: 'warehouseName', align: 'left', minWidth: 130}, + {title: '鐩樼偣浜�', field: 'operatorName', align: 'center', width: 120}, + {title: '鐩戠洏浜�', field: 'operatorName2', align: 'center', width: 120}, { title: '鐩樼偣鏃堕棿', field: 'inventoryDate', align: 'center', width: 160, formatter: (row) => { - return { value: row.inventoryDate ? DateFormatter.LongToDateTime(row.inventoryDate) : '-' }; + return {value: row.inventoryDate ? DateFormatter.LongToDateTime(row.inventoryDate) : '-'}; }, }, { @@ -181,7 +184,7 @@ align: 'center', width: 160, formatter: (row) => { - return { value: DateFormatter.LongToDateTime(row.createTime) }; + return {value: DateFormatter.LongToDateTime(row.createTime)}; }, }, { @@ -271,7 +274,7 @@ } }, events: (row) => { - this.showInventoryDetail(row); + this.handleExport('inventoryExport', `鐩樼偣琛�-${row.businessFormCode}`, {id: row.id}); }, }, ], @@ -293,7 +296,7 @@ ...mapGetters(['userInfo']), }, created() { - selectTenantWarehouse({ agencyId: this.userInfo.tenantId }).then((res) => { + selectTenantWarehouse({agencyId: this.userInfo.tenantId}).then((res) => { this.items.forEach((v) => { if (v.label == '鐩樼偣浠撳簱') { v.options = res.map((item) => { @@ -321,14 +324,15 @@ }, del(row) { this.$modal - .confirm('鏄惁纭鍒犻櫎鍗曞彿涓猴細' + row.businessFormCode + ' 鐨勬暟鎹悧锛�') - .then(() => { - inventoryDel({ id: row.id }).then((res) => { - this.$message.success('鍒犻櫎鎴愬姛锛�'); - this.search(); + .confirm('鏄惁纭鍒犻櫎鍗曞彿涓猴細' + row.businessFormCode + ' 鐨勬暟鎹悧锛�') + .then(() => { + inventoryDel({id: row.id}).then((res) => { + this.$message.success('鍒犻櫎鎴愬姛锛�'); + this.search(); + }); + }) + .catch(() => { }); - }) - .catch(() => {}); }, showAdd() { this.editSetting.id = null; @@ -362,17 +366,6 @@ } else { this.$refs.myTable.search(); } - }, - fifterForm(params) { - this.filterFrom = Object.assign(this.filterFrom, params); - - if (this.filterFrom.startTime) { - this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, ''); - } - if (this.filterFrom.endTime) { - this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, ''); - } - this.search(1); }, }, }; diff --git a/admin-web/src/views/stock/procure/purchaseOrder/index.vue b/admin-web/src/views/stock/procure/purchaseOrder/index.vue index 814d1d5..9cfba3c 100644 --- a/admin-web/src/views/stock/procure/purchaseOrder/index.vue +++ b/admin-web/src/views/stock/procure/purchaseOrder/index.vue @@ -40,7 +40,7 @@ > </template> <template v-if="item.states != 1"> - <el-button site="form" type="success" size="mini" @click="handleExport(item)" + <el-button site="form" type="success" size="mini" @click="handleExport('procureExport',`閲囪喘鍏ュ簱鍗�-${item.businessFormCode}`,{id:item.id})" >瀵煎嚭鍏ュ簱鍗�</el-button > </template> @@ -123,7 +123,7 @@ import edit from './edit'; import detail from './detail'; import {getBaseUrl} from '@/utils/base'; -import listPage from '../../../mixins/listPage'; +import listPage from '@/views/mixins/listPage'; export default { name: 'index', @@ -202,13 +202,13 @@ }, { type: 'date-picker', - dataIndex: 'incomeTimeStart', + dataIndex: 'startTime', label: '鍏ュ簱鏃堕棿', defaultValue: '', }, { type: 'date-picker', - dataIndex: 'incomeTimeEnd', + dataIndex: 'endTime', label: '鑷�', defaultValue: '', }, @@ -297,16 +297,6 @@ }) .catch(() => {}); }); - }, - 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, ''); - } - this.search(1); }, }, }; diff --git a/admin-web/src/views/stock/scrap/itemScrapping/index.vue b/admin-web/src/views/stock/scrap/itemScrapping/index.vue index c710ae4..7af5ed1 100644 --- a/admin-web/src/views/stock/scrap/itemScrapping/index.vue +++ b/admin-web/src/views/stock/scrap/itemScrapping/index.vue @@ -10,61 +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: 'calc(100vh - 352px)' }"> - <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 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.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 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 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> @@ -72,17 +80,17 @@ </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> </div> </template> @@ -94,14 +102,15 @@ import edit from './edit'; import detail from './detail'; import * as DateFormatter from '@/utils/DateFormatter'; +import listPage from '@/views/mixins/listPage'; export default { name: 'index', - components: { MyButton, edit, detail }, + mixins: [listPage], + components: {MyButton, edit, detail}, data() { return { loading: false, - adddialog: false, list: [], // 鎼滅储妗� items: [ @@ -130,7 +139,7 @@ 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}, defaultValue: '', options: [], }, @@ -198,65 +207,6 @@ this.total = res.totalRows; this.loading = false; }); - }, - - //瀵煎叆 - 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; - }, - // 璇︽儏 - handleDetail(row) { - this.detailSetting.id = row.id; - this.detailSetting.show = true; - }, - // 鍒嗛〉 - 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, ''); - } - this.search(1); }, }, }; diff --git a/admin-web/src/views/stock/transfer/transferApplication/index.vue b/admin-web/src/views/stock/transfer/transferApplication/index.vue index 3b02061..af1e2c1 100644 --- a/admin-web/src/views/stock/transfer/transferApplication/index.vue +++ b/admin-web/src/views/stock/transfer/transferApplication/index.vue @@ -48,7 +48,7 @@ site="form" type="primary" size="mini" - @click="handleExport(item)" + @click="handleExport('transferExport',`璋冩嫧鍏ュ簱鍗�-${item.businessFormCode}`,{id:item.id,type: 1})" >瀵煎嚭璋冩嫧鍏ュ簱鍗�</el-button > <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)" @@ -121,13 +121,13 @@ </template> <script> -import {transfeIncome, transferExport, transferList, transferUpdStatus} from '@/api/stock/transfer'; +import {transfeIncome, transferList, transferUpdStatus} from '@/api/stock/transfer'; import MyButton from '@/components/myButton/myButton'; import myImport from '@/views/components/myImport'; import edit from './edit'; import detail from './detail'; -import listPage from '../../../mixins/listPage'; -import transfer from '../../../mixins/transfer'; +import listPage from '@/views/mixins/listPage'; +import transfer from '@/views/mixins/transfer'; import SettingIplatform from '@/utils/settingIplatform'; export default { @@ -137,7 +137,6 @@ data() { return { loading: false, - adddialog: false, list: [], // 鎼滅储妗� items: [ @@ -220,7 +219,6 @@ this.list = res.datas; this.total = res.totalRows; this.loading = false; - console.log(this.list); }); }, @@ -248,11 +246,6 @@ }); }, - // 瀵煎嚭 - handleExport(row) { - transferExport({ id: row.id }).then((res) => {}); - }, - // 鎾ら攢 handleRevoke(row) { this.$confirm(`鎮ㄧ‘瀹氭挙閿�鍗曞彿涓�"${row.businessFormCode}" 鐨勬暟鎹悧?`, '鎾ら攢').then(() => { @@ -261,22 +254,6 @@ this.search(1); }); }); - }, - fifterForm(params) { - this.filterFrom = Object.assign(this.filterFrom, params); - if (this.filterFrom.createTimeStart) { - this.filterFrom.createTimeStart = this.filterFrom.createTimeStart.replace(/\-/g, ''); - } - if (this.filterFrom.createTimeEnd) { - this.filterFrom.createTimeEnd = this.filterFrom.createTimeEnd.replace(/\-/g, ''); - } - if (this.filterFrom.startTime) { - this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, ''); - } - if (this.filterFrom.endTime) { - this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, ''); - } - this.search(1); }, }, }; diff --git a/admin-web/src/views/stock/transfer/transferissue/index.vue b/admin-web/src/views/stock/transfer/transferissue/index.vue index 264ae5a..6e2224e 100644 --- a/admin-web/src/views/stock/transfer/transferissue/index.vue +++ b/admin-web/src/views/stock/transfer/transferissue/index.vue @@ -24,22 +24,25 @@ <div v-if="item.states == 4" class="states states-info">宸叉挙閿�</div> </div> <div class="card-header-right"> - <el-button v-if="item.states == 1" site="form" type="success" size="mini" - >瀵煎嚭璋冩嫧鍑哄簱鍗�</el-button - > + <!-- <el-button v-if="item.states == 1" site="form" type="success" size="mini" + >瀵煎嚭璋冩嫧鍑哄簱鍗�</el-button + >--> <el-button - v-if="item.states == 0" - site="form" - type="success" - size="mini" - @click="handleOutput(item)" - >鍑哄簱</el-button + v-if="item.states == 0" + site="form" + type="success" + size="mini" + @click="handleOutput(item)" + >鍑哄簱 + </el-button > <el-button v-if="item.states == 2" site="form" type="primary" size="mini" - >瀵煎嚭璋冩嫧鍏ュ簱鍗�</el-button - > + @click="handleExport('transferExport',`璋冩嫧鍑哄簱鍗�-${item.businessFormCode}`,{id:item.id,type: 2})"> + 瀵煎嚭璋冩嫧鍑哄簱鍗� + </el-button> <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)" - >鏌ョ湅璇︽儏</el-button + >鏌ョ湅璇︽儏 + </el-button > </div> </div> @@ -79,24 +82,24 @@ <el-empty v-else description="鏆傛棤鏁版嵁"></el-empty> </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> </el-card> </el-container> <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> </div> </template> @@ -106,19 +109,18 @@ import MyButton from '@/components/myButton/myButton'; import myImport from '@/views/components/myImport'; import detail from './detail'; -import listPage from '../../../mixins/listPage'; -import transfer from '../../../mixins/transfer'; +import listPage from '@/views/mixins/listPage'; +import transfer from '@/views/mixins/transfer'; import {commonsApi} from '@/api/commonsApi'; import SettingIplatform from '@/utils/settingIplatform'; export default { name: 'index', mixins: [listPage, transfer], - components: { MyButton, myImport, detail }, + components: {MyButton, myImport, detail}, data() { return { loading: false, - adddialog: false, list: [], // 鎼滅储妗� items: [ @@ -136,7 +138,7 @@ placeholder: '璇疯緭鍏�', defaultValue: '', options: [], - cascader: [{ key: 'baseGoodsModelsId', queryKey: 'goodsTemplatesId' }], + cascader: [{key: 'baseGoodsModelsId', queryKey: 'goodsTemplatesId'}], optionsConfig: { label: 'goodsName', value: 'id', @@ -148,7 +150,7 @@ dataIndex: 'inAgencyId', label: '鎺ユ敹鏈烘瀯', placeholder: '璇烽�夋嫨', - optionsConfig: { url: commonsApi.cascader_tree_fin_tenant, props: null }, + optionsConfig: {url: commonsApi.cascader_tree_fin_tenant, props: null}, defaultValue: '', options: [], }, @@ -211,7 +213,6 @@ this.list = res.datas; this.total = res.totalRows; this.loading = false; - console.log(this.list); }); }, handleOutput(row) { @@ -220,37 +221,21 @@ if (action == 'confirm') { instance.confirmButtonLoading = true; instance.confirmButtonText = '鎵ц涓�...'; - transferOutput({ id: row.id }) - .then((res) => { - this.$message.success('璋冩嫧鍑哄簱鎴愬姛锛�'); - done(); - instance.confirmButtonLoading = false; - this.search(1); - }) - .catch(() => { - done(); - }); + transferOutput({id: row.id}) + .then((res) => { + this.$message.success('璋冩嫧鍑哄簱鎴愬姛锛�'); + done(); + instance.confirmButtonLoading = false; + this.search(1); + }) + .catch(() => { + done(); + }); } else { done(); } }, }); - }, - fifterForm(params) { - this.filterFrom = Object.assign(this.filterFrom, params); - if (this.filterFrom.createTimeStart) { - this.filterFrom.createTimeStart = this.filterFrom.createTimeStart.replace(/\-/g, ''); - } - if (this.filterFrom.createTimeEnd) { - this.filterFrom.createTimeEnd = this.filterFrom.createTimeEnd.replace(/\-/g, ''); - } - if (this.filterFrom.startTime) { - this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, ''); - } - if (this.filterFrom.endTime) { - this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, ''); - } - this.search(1); }, }, }; -- Gitblit v1.9.1