From 13b0bad30ef1df53492cbab1c1b99dfc02dee63f Mon Sep 17 00:00:00 2001 From: haoyahui <2032914783@qq.com> Date: 星期二, 21 十一月 2023 17:51:16 +0800 Subject: [PATCH] 台账管理,盘点任务开发 --- admin-web/src/views/stock/ledger/inventoryQuery/index.vue | 321 +++++++++++++++++++++-------------------------------- 1 files changed, 128 insertions(+), 193 deletions(-) diff --git a/admin-web/src/views/stock/ledger/inventoryQuery/index.vue b/admin-web/src/views/stock/ledger/inventoryQuery/index.vue index 2936cd9..178681a 100644 --- a/admin-web/src/views/stock/ledger/inventoryQuery/index.vue +++ b/admin-web/src/views/stock/ledger/inventoryQuery/index.vue @@ -10,152 +10,140 @@ <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"/> </el-card> </el-container> </el-container> - <my-import - :import-setting="importSetting" - :dialog-show="importSetting.dialogShow" - :dialog-title="importSetting.dialogTitle" - /> + </div> </template> <script> -import MyTableV2 from "@/components/myTable/myTableV2"; -import MyButton from "@/components/myButton/myButton"; +import MyTableV2 from '@/components/myTable/myTableV2'; +import MyButton from '@/components/myButton/myButton'; import SettingIplatform from '@/utils/settingIplatform'; -import edit from './edit' -import * as finsystenant from '@/api/baseSetting/finsystenant' -import myImport from '@/views/components/myImport' -import {getBaseUrl} from '@/utils/base'; +import * as finsystenant from '@/api/baseSetting/finsystenant'; +import { getBaseUrl } from '@/utils/base'; +import { selectTenantWarehouse, getCategorySelectTree, treeList } from '@/api/baseSetting/finsystenant'; +import { getDicts } from '@/api/system/dict/data'; +import { doExport } from '@/api/stock/ledger'; export default { - name: "index", - components: {MyButton, MyTableV2, edit, myImport}, + name: 'index', + components: { MyButton, MyTableV2 }, data() { return { // 鎼滅储妗� items: [ { - type: 'text', - dataIndex: 'name', - label: '鍗曞彿', - placeholder: '璇疯緭鍏�', - defaultValue: '' + type: 'cascader', + dataIndex: 'agencyId', + label: '鏈烘瀯', + placeholder: '璇烽�夋嫨', + defaultValue: '', + options: [], + cascader: [{key:'warehouseId',queryKey: 'agencyId'},{key:'goodsTemplateId',queryKey: 'agencyId'}], + optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null }, }, { type: 'select', - dataIndex: 'status', - label: '绫诲瀷', + dataIndex: 'warehouseId', + label: '浠撳簱', placeholder: '璇烽�夋嫨', - defaultValue: '1', - options: [ - { - label: '鍚敤', - value: '1' - }, - { - label: '绂佺敤', - value: '0' - } - ] + defaultValue: '', + options: [], + optionsConfig: { + label: 'warehouseName', + value: 'id', + url: SettingIplatform.apiBaseURL + '/pc/base/warehouse/select/tenant_warehouse' + }, }, { - type: 'text', - dataIndex: 'name', + type: 'select', + dataIndex: 'goodsTemplateId', label: '鐗╁搧鍚嶇О', placeholder: '璇疯緭鍏�', - defaultValue: '' + defaultValue: '', + options: [], + cascader: [{key:'categoryId',queryKey: 'goodsTemplatesId'}], + optionsConfig: { + label: 'goodsName', + value: 'id', + url: SettingIplatform.apiBaseURL + '/pc/base/goods/template/query/goodsTemplate', + }, }, { - type: 'text', - dataIndex: 'name', - label: '鍒涘缓浜�', - placeholder: '璇疯緭鍏�', - defaultValue: '' + type: 'select', + dataIndex: 'categoryId', + label: '鍒嗙被', + placeholder: '璇烽�夋嫨', + defaultValue: '', + options: [], + optionsConfig: { + label: 'modelName', + value: 'id', + url: SettingIplatform.apiBaseURL + '/pc/base/goods/models/query/goodsModel' + }, + }, + { + type: 'select', + dataIndex: 'costType', + label: '绫诲埆', + placeholder: '璇烽�夋嫨', + defaultValue: '', + options: [], + optionsConfig: { + label: 'dict_label', + value: 'dict_value', + url: SettingIplatform.apiBaseURL + '/permit/dict/data/type/GOODS_PRICE', + }, }, ], // 鏍戞暟鎹� treeDataList: [], // 鎼滅储鏉′欢 filterFrom: { - tenantId: null, - userName: null, - userPhone: null, - status: 1 - }, - // 瀵煎叆 - 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: '', - id: '', - orgId: '', - show: false, + warehouseType:0 }, // 琛ㄦ牸鏁版嵁 table: { showIndex: true, // 鏄惁鏄剧ず搴忓彿 expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁 - url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃 + url: SettingIplatform.apiBaseURL + '/pc/fin/warehouse/ledger/getList', // 璇锋眰鍦板潃 // 宸ュ叿鏉� tools: { - columnsCtrl: {// 鍒楁帶鍒舵寜閽� - show: false + columnsCtrl: { + // 鍒楁帶鍒舵寜閽� + show: false, }, - generalExport: {// 閫氱敤瀵煎嚭鎸夐挳 - show: false + generalExport: { + // 閫氱敤瀵煎嚭鎸夐挳 + show: false, }, // 鑷畾涔夊伐鍏锋潯鎸夐挳 custom: [ - ] - }, - // 鍒椾俊鎭� - columns: [ - {title: '绫诲瀷', field: 'name', align: 'left',}, - {title: '鍗曞彿', field: 'code', align: 'center'}, - {title: '鐗╁搧鍚嶇О', field: 'lv', align: 'center', }, - {title: '瑙勬牸鍨嬪彿', field: 'lv', align: 'center', }, - {title: '鍑哄叆搴撴暟閲�', field: 'summary', align: 'left',}, - {title: '閲戦', field: 'summary', align: 'left',}, - {title: '鎵�灞炴満鏋�', field: 'summary', align: 'left',}, - {title: '鍒涘缓浜�', field: 'summary', align: 'left',}, - {title: '鎿嶄綔鏃堕棿', field: 'summary', align: 'left',}, - ], - // 鎿嶄綔淇℃伅 - operation: { - show: true, // 鏄剧ず鎿嶄綔鍒� - width: '150', // 鍒楀 - attr: [ { - title: '璇︽儏', - events: (row) => { - this.showAudit(row); + name: '瀵煎嚭', + icon: 'el-icon-download', + click: () => { + this.handleExport(); }, }, ], }, + // 鍒椾俊鎭� + columns: [ + { title: '鏈烘瀯', field: 'agencyName', align: 'center' }, + { title: '浠撳簱', field: 'warehouseName', align: 'center' }, + { title: '鍒嗙被', field: 'categoryName', align: 'center' }, + { title: '鎵�灞炵被鍒�', field: 'costType', align: 'center' }, + { title: '鐗╁搧鍚嶇О', field: 'goodsTemplateName', align: 'left' }, + { title: '瑙勬牸鍨嬪彿', field: 'baseGoodsModelsName', align: 'left' }, + { title: '鍗曚綅', field: 'unit', align: 'left' }, + { title: '褰撳墠搴撳瓨', field: 'kucun', align: 'left' }, + ], paging: { show: true, // 鏄剧ず鍒嗛〉 // 鍒嗛〉淇℃伅 @@ -163,118 +151,65 @@ small: false, pageNum: 1, pageSize: 10, - total: 0 - } - } + total: 0, + }, + }, }, - } + }; }, created() { - // 鑾峰彇鏈烘瀯鏍� - this.initTreeData() + // this.initQuery(); }, methods: { - //瀵煎叆 - 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() - } - }, - // 宸︿晶鏍戝垵濮嬪寲 - initTreeData() { - finsystenant.getTree().then(res => { - const content = res || [] - this.treeDataList.splice(0, this.treeDataList.length) - this.treeDataList = content - if (content.length > 0) { - this.importSetting.fileSettings.data = {pid: content[0].id} - } - }) - }, - updState(row) { - let vm = this - let text = row.status == 0 ? "鍚敤" : "绂佺敤"; - vm.$modal.confirm('纭瑕�' + text + '"' + row.name + '"鍚楋紵').then(function () { - let params = Object.assign({}, row) - params.status = row.status == 1 ? 0 : 1 - finsystenant.edit(params).then(res => { - if (res) { - row.status = row.status === 1 ? 0 : 1 - vm.$modal.msgSuccess(text + "鎴愬姛"); - vm.search() - } - }) - }) - }, - del(row) { - this.$modal - .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�') - .then(function () { - finsystenant.del({id: row.id}).then((res) => { - }); - }) + // 瀵煎嚭 + handleExport() { + let loading = this.$loading({ + lock: true, + text: '瀵煎嚭涓紝璇风◢鍊�...', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)', + }); + // 鍒ゆ柇鎬绘潯鏁版槸鍚﹀ぇ浜庢渶澶ф敮鎸佹潯鏁� + doExport({ ...this.filterFrom }) .then((res) => { - this.$message.success('鍒犻櫎鎴愬姛锛�'); - this.search() + const blob = new Blob([res], { type: 'application/vnd.ms-excel' }); + const fileName = `搴撳瓨鏌ヨ.xls`; + if ('download' in document.createElement('a')) { + // 闈濱E涓嬭浇 + const elink = document.createElement('a'); + elink.download = fileName; + 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); + } + this.$message.success('瀵煎嚭鎴愬姛锛�'); + loading.close(); }) .catch(() => { + loading.close(); }); }, - showAdd() { - // if (!this.editSetting.orgId) { - // this.$message.warning('璇峰厛閫夋嫨宸︿晶鏈烘瀯') - // } else { - this.editSetting.id = null; - this.editSetting.info = null; - this.editSetting.title = '鏂板'; - this.editSetting.show = true; - // } - }, - showAudit(row) { - this.editSetting.id = row.id; - this.editSetting.info = JSON.stringify(row); - this.editSetting.title = '缂栬緫'; - this.editSetting.show = true; - }, - nodeClick(param) { - param = param || {} - this.p = Object.assign({}, { - id: param.id, - name: param.name - }) - if (this.p.id != undefined && this.p.id != null) { - this.filterFrom.tenantId = this.p.id - this.editSetting.orgId = this.p.id - } else { - this.filterFrom.tenantId = null - this.editSetting.orgId = null - } - this.importSetting.fileSettings.data = {pid: param.id} - this.search(1) - }, + // 鏌ヨtable鍒楄〃 search(pageNum) { if (pageNum != undefined) { - this.$refs.myTable.search(pageNum) + this.$refs.myTable.search(pageNum); } else { - this.$refs.myTable.search() + this.$refs.myTable.search(); } }, fifterForm(params) { - this.filterFrom = Object.assign(this.filterFrom, params) - this.search(1) - } - } -} + this.filterFrom = Object.assign(this.filterFrom, params); + this.search(1); + }, + }, +}; </script> -<style scoped> - -</style> +<style scoped></style> -- Gitblit v1.9.1