From 92ff846fb659c62037a32b1d8c15eae9df9d9b54 Mon Sep 17 00:00:00 2001 From: zenglf <18502938215@163.com> Date: 星期一, 18 九月 2023 13:24:30 +0800 Subject: [PATCH] Merge branch 'develop' of http://117.34.109.166:18448/r/vue_mdc_430 --- src/views/base/WarehouseListNew.vue | 515 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 515 insertions(+), 0 deletions(-) diff --git a/src/views/base/WarehouseListNew.vue b/src/views/base/WarehouseListNew.vue new file mode 100644 index 0000000..3c2478b --- /dev/null +++ b/src/views/base/WarehouseListNew.vue @@ -0,0 +1,515 @@ +<template> + <a-card + :bordered="false" + class="card-area" + > + <template slot="title"> + <i + class="action-jeecg actionsite2" + style="font-size: 18px;" + /> + 浠撳簱淇℃伅 + </template> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <!-- 鎼滅储鍖哄煙 --> + <a-form + layout="inline" + @keyup.enter.native="searchQuery" + > + <a-row :gutter="24"> + <a-col + :md="8" + :sm="8" + > + <a-form-item label="浠撳簱缂栧彿"> + <j-input + placeholder="璇疯緭鍏ヤ粨搴撶紪鍙锋煡璇�" + v-model="queryParam.code" + ></j-input> + </a-form-item> + </a-col> + <a-col + :md="8" + :sm="8" + > + <a-form-item label="浠撳簱鍚嶇О"> + <j-input + placeholder="璇疯緭鍏ヤ粨搴撳悕绉版煡璇�" + v-model="queryParam.name" + ></j-input> + </a-form-item> + </a-col> + </a-row> + </a-form> + </div> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div + class="table-operator" + style="margin-top: 5px" + > + <a-button + type="primary" + @click="searchQuery" + icon="search" + >鏌ヨ</a-button> + <a-button + @click="searchReset" + icon="reload" + >閲嶇疆</a-button> + <a-button + @click="handleAdd" + type="primary" + icon="plus" + >鏂板</a-button> + <a-button + type="primary" + icon="download" + hidden + @click="handleExportXls('???')" + >瀵煎嚭</a-button> + <a-dropdown + hidden + v-if="selectedRowKeys.length > 0" + > + <a-button style="margin-left: 8px"> + 鎵归噺鎿嶄綔 + <a-icon type="down" /> + </a-button> + <a-menu slot="overlay"> + <a-menu-item @click="batchDel"> + <a-icon type="delete" />鍒犻櫎 + </a-menu-item> + </a-menu> + </a-dropdown> + </div> + + <a-table + ref="table" + bordered + size="middle" + rowKey="id" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + :rowSelection="rowSelection" + @change="handleTableChange" + :scroll="{ x: 'calc(1200px + 50%)', y: 900 }" + :customRow="clickThenSelect" + > + <span + slot="action" + slot-scope="text, record" + > + <a + href="javascript:;" + @click="handleEdit(record)" + >缂栬緫</a> + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link"> + 鏇村 + <a-icon type="down" /> + </a> + <a-menu slot="overlay"> + <a-menu-item> + <a-popconfirm + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(record.id)" + > + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + </a-table> + + <a-tabs + type="card" + defaultActiveKey="1" + > + <a-tab-pane key="1"> + <span slot="tab"> + <a-badge v-if="showTabsFlag">搴撳尯搴撲綅 </a-badge> + <a-badge + v-if="!showTabsFlag" + :count="5" + show-zero + :number-style="{ backgroundColor: '#52c41a' }" + >搴撳尯搴撲綅 </a-badge> + </span> + <div + class="table-operator" + style="margin: 10px" + > + + <warehouse-area-location-list ref="WarehouseAreaLocationList"></warehouse-area-location-list> + </div> + </a-tab-pane> + + <!-- <a-tab-pane + key="2" + forceRender + > + <span slot="tab"> + <a-badge v-if="showTabsFlag">绠$悊瀵硅薄 </a-badge> + <a-badge + v-if="!showTabsFlag" + :count="5" + show-zero + :number-style="{ backgroundColor: '#52c41a' }" + >绠$悊瀵硅薄 </a-badge> + </span> + <div + class="table-operator" + style="margin: 10px" + > + <manage-object-list ref="ManageObjectList"></manage-object-list> + </div> + </a-tab-pane> + + <a-tab-pane + key="3" + forceRender + > + <span slot="tab"> + <a-badge v-if="showTabsFlag">鏈嶅姟瀵硅薄 </a-badge> + <a-badge + v-if="!showTabsFlag" + :count="5" + show-zero + :number-style="{ backgroundColor: '#52c41a' }" + >鏈嶅姟瀵硅薄 </a-badge> + </span> + <div + class="table-operator" + style="margin: 10px" + > + <service-object-list ref="EquipmentFileList"></service-object-list> + </div> + </a-tab-pane> --> + </a-tabs> + <warehouse-modal + ref="modalForm" + @ok="modalFormOk" + ></warehouse-modal> + </a-card> +</template> + +<script> +import { requestPut, deleteAction, getFileAccessHttpUrl, getAction } from '@/api/manage' +import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import WarehouseModal from './modules/warehouseNew/WarehouseModal.vue' +import JInput from '@/components/jeecg/JInput' +import JEllipsis from '@/components/jeecg/JEllipsis' +import Tooltip from 'ant-design-vue/es/tooltip' +import Vue from 'vue' + +import WarehouseAreaLocationList from './modules/warehouseNew/WarehouseAreaLocationList' +import ManageObjectList from './modules/warehouseNew/ManageObjectList' +import ServiceObjectList from './modules/warehouseNew/ServiceObjectList.vue' + +export default { + name: 'WarehouseListNew.', + mixins: [JeecgListMixin], + components: { + WarehouseModal, + JInput, + JEllipsis, + WarehouseAreaLocationList, + ManageObjectList, + Tooltip, + ServiceObjectList, + }, + data() { + return { + showTabsFlag: true, + disabled: true, + ipagination: { + current: 1, + pageSize: 5, + pageSizeOptions: ['5', '10', '20'], + showTotal: (total, range) => { + return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�" + }, + showQuickJumper: true, + showSizeChanger: true, + total: 0 + }, + selectedRowKeys: [], + selectionRows: [], + //榛樿鎺掑簭 + isorter: { + column: 'code', + order: 'desc', + }, + + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + align: 'center', + customRender: function (t, r, index) { + return parseInt(index) + 1 + }, + width: 50, + }, + { + title: '浠撳簱缂栫爜', + align: "center", + dataIndex: 'code', + }, + { + title: '浠撳簱鍚嶇О', + align: "center", + dataIndex: 'name', + }, + { + title: '浠撳簱绫诲瀷', + align: "center", + dataIndex: 'type_dictText', + }, + { + title: '鏄惁搴熷搧搴�', + align: "center", + dataIndex: 'whetherWasteWarehouse_dictText', + }, + { + title: '搴撳尯搴撲綅绠$悊', + align: "center", + dataIndex: 'locationManage_dictText', + }, + { + title: '鏈嶅姟瀵硅薄绫诲瀷', + align: "center", + dataIndex: 'serviceObject_dictText', + }, + { + title: '鑷姩鍖�', + align: "center", + dataIndex: 'whetherAutomationWarehouse_dictText', + }, + { + title: '澶囨敞', + align: "center", + dataIndex: 'remark', + }, + { + title: '鎿嶄綔', + align: "center", + dataIndex: 'action', + scopedSlots: { + customRender: 'action', + }, + width: 200, + fixed: 'right', + }, + ], + url: { + list: "/base/warehouse/find", + delete: "/base/warehouse/deleteWarehouseAreaLocation", + active: "/eam/equipment/active", + exportXlsUrl: '/eam/equipment/exportXls', + importExcelUrl: 'base/site/importExcel', + }, + //鏂板銆佺紪杈戙�佸垹闄ゃ�佹壒閲忓垹闄ゆ搷浣滄敼鍙樻暟鎹悗鍒锋柊鍏宠仈鐨勭粍浠剁殑鐩戝惉灞炴�� + alterFlag: "", + }; + }, + + computed: { + rowSelection() { + return { + type: 'checkbox', + onChange: (selectedRowKeys, selectedRows) => { + this.selectedRowKeys = selectedRowKeys; + this.onSelectChange(selectedRowKeys, selectedRows); + }, + getCheckboxProps(record) { + return ({ + props: { + // disabled: !(record.equipmentCategoryDtlList.length == 0), + } + }) + }, + selectedRowKeys: this.selectedRowKeys, + }; + }, + }, + methods: { + + clickThenSelect(record) { + return { + on: { + click: () => { + this.onSelectChange(record.id.split(","), [record]); + } + } + } + }, + onSelectChange(selectedRowKeys, selectionRows) { + this.selectedRowKeys = selectedRowKeys; + this.selectionRows = selectionRows; + if (selectedRowKeys.length == 1) { + this.$refs.WarehouseAreaLocationList.warehouseId = selectedRowKeys[0] + // this.$refs.EquipmentFileList.warehouseId = selectedRowKeys[0] + // this.$refs.ManageObjectList.warehouseId = selectedRowKeys[0] + } else { + this.$refs.WarehouseAreaLocationList.warehouseId = '-1' + // this.$refs.ManageObjectList.warehouseId = '-1' + // this.$refs.EquipmentFileList.warehouseId = '-1' + } + }, + + //绂佺敤鐘舵�佹牱寮� + tableRowClass(record, index) { + if (record.status != "1") { + return "frozenRowClass"; + } + return ""; + }, + + handleActive(id) { + let that = this; + requestPut(that.url.active, {}, { id: id }).then((res) => { + if (res.success) { + that.$message.success(res.message); + that.loadData(); + } else { + that.$message.warning(res.message); + } + }); + }, + handleAdd: function () { + this.$refs.modalForm.add(); + this.$refs.modalForm.title = "鏂板"; + this.$refs.modalForm.disableSubmit = false; + }, + handleDelete: function (id) { + if (!this.url.delete) { + this.$message.error("璇疯缃畊rl.delete灞炴��!") + return + } + var that = this; + deleteAction(that.url.delete, { id: id }).then((res) => { + if (res.success) { + //閲嶆柊璁$畻鍒嗛〉闂 + that.reCalculatePage(1) + that.$message.success(res.message); + that.loadData(); + that.alterFlag = new Date(); + that.selectionRows = [] + that.selectedRowKeys = [] + that.$refs.WarehouseAreaLocationList.warehouseId = '-1' + } else { + that.$message.warning(res.message); + } + }); + }, + + batchDel: function () { + if (!this.url.deleteBatch) { + this.$message.error("璇疯缃畊rl.deleteBatch灞炴��!") + return + } + if (this.selectedRowKeys.length <= 0) { + this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒'); + return; + } else { + var ids = ""; + for (var a = 0; a < this.selectedRowKeys.length; a++) { + ids += this.selectedRowKeys[a] + ","; + } + var that = this; + this.$confirm({ + title: "纭鍒犻櫎", + content: "鏄惁鍒犻櫎閫変腑鏁版嵁?", + onOk: function () { + that.loading = true; + deleteAction(that.url.deleteBatch, { ids: ids }).then((res) => { + if (res.success) { + //閲嶆柊璁$畻鍒嗛〉闂 + that.reCalculatePage(that.selectedRowKeys.length) + that.$message.success(res.message); + that.loadData(); + that.onClearSelected(); + that.alterFlag = new Date(); + } else { + that.$message.warning(res.message); + } + }).finally(() => { + that.loading = false; + }); + } + }); + } + }, + + + searchReset() { + this.queryParam = {}; + this.selectedRowKeys = [] + this.selectionRows = [] + this.$refs.WarehouseAreaLocationList.warehouseId = '-1' + this.loadData(1); + + }, + + searchQuery() { + this.selectedRowKeys = [] + this.selectionRows = [] + this.$refs.WarehouseAreaLocationList.warehouseId = '-1' + // this.$refs.ManageObjectList.warehouseId = '-1' + // this.$refs.EquipmentFileList.warehouseId = '-1' + this.loadData(1); + }, + + modalFormOk() { + // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃 + this.loadData() + //娓呯┖鍒楄〃閫変腑 + this.onClearSelected() + + this.$refs.WarehouseAreaLocationList.warehouseId = '-1' + // this.$refs.ManageObjectList.warehouseId = '-1' + // this.$refs.EquipmentFileList.warehouseId = '-1' + }, + }, + watch: { + // alterFlag() { + // this.$bus.$emit('queryTreeData'); + // }, + selectionRows() { + this.$bus.$emit('warehouseSelectionRows', this.selectionRows); + }, + }, + created() { + this.queryParam = {}; + this.selectedRowKeys = [] + this.selectionRows = [] + this.loadData(1); + } + + +} +</script> +<style> +@import '~@assets/less/common.less'; + +.frozenRowClass { + color: #c9c9c9; +} +.success { + color: green; +} +.error { + color: red; +} +.fontweight { + font-weight: bold; +} +</style> \ No newline at end of file -- Gitblit v1.9.3