From d53fc70e109dc36794cb592a228f96e7181755e2 Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期四, 05 六月 2025 17:46:17 +0800 Subject: [PATCH] 备件借用归还 --- src/views/eam/spare/EamSparePartReceiveList.vue | 254 ++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 211 insertions(+), 43 deletions(-) diff --git a/src/views/eam/spare/EamSparePartReceiveList.vue b/src/views/eam/spare/EamSparePartReceiveList.vue index fc30b5b..80b1766 100644 --- a/src/views/eam/spare/EamSparePartReceiveList.vue +++ b/src/views/eam/spare/EamSparePartReceiveList.vue @@ -15,24 +15,11 @@ :md="8" :sm="24" > - <a-form-item label="鍒犻櫎鏍囪"> - <a-input - placeholder="璇疯緭鍏ュ垹闄ゆ爣璁�" - v-model="queryParam.delFlag" - ></a-input> - </a-form-item> - </a-col> - <a-col - :xl="6" - :lg="7" - :md="8" - :sm="24" - > <a-form-item label="棰嗙敤鍗曠紪鐮�"> <a-input placeholder="璇疯緭鍏ラ鐢ㄥ崟缂栫爜" v-model="queryParam.receiveCode" - ></a-input> + /> </a-form-item> </a-col> <template v-if="toggleSearchStatus"> @@ -55,24 +42,19 @@ :md="8" :sm="24" > - <a-form-item label="棰嗙敤浜嬬敱"> - <a-input - placeholder="璇疯緭鍏ラ鐢ㄤ簨鐢�" - v-model="queryParam.receiveReason" - ></a-input> - </a-form-item> - </a-col> - <a-col - :xl="6" - :lg="7" - :md="8" - :sm="24" - > <a-form-item label="棰嗙敤鐘舵��"> - <a-input + <!-- <a-input placeholder="璇疯緭鍏ラ鐢ㄧ姸鎬�" v-model="queryParam.receiveStatus" - ></a-input> + ></a-input> --> + <j-dict-select-tag + allow-clear + :disabled="false" + placeholder="璇烽�夋嫨棰嗙敤鐘舵��" + :triggerChange="true" + dictCode="receive_status" + v-model="queryParam.receiveStatus" + /> </a-form-item> </a-col> </template> @@ -118,7 +100,7 @@ type="primary" icon="plus" >鏂板</a-button> - <a-button + <!-- <a-button type="primary" icon="download" @click="handleExportXls('澶囧搧澶囦欢棰嗙敤鍗�')" @@ -135,7 +117,7 @@ type="primary" icon="import" >瀵煎叆</a-button> - </a-upload> + </a-upload> --> <a-dropdown v-if="selectedRowKeys.length > 0"> <a-menu slot="overlay"> <a-menu-item @@ -172,16 +154,46 @@ class="j-table-force-nowrap" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" @change="handleTableChange" + :customRow='clickThenSelect' > <span slot="action" slot-scope="text, record" > - <a @click="handleEdit(record)">缂栬緫</a> + <a + v-show="record.receiveStatus === '1'" + @click="handleEdit(record)" + >缂栬緫</a> <a-divider type="vertical" /> - <a-dropdown> + <a-popconfirm + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(record.id)" + > + <a v-show="record.receiveStatus === '1'">鍒犻櫎</a> + </a-popconfirm> + <a-divider type="vertical" /> + <a + v-show="record.receiveStatus === '1'" + @click="handleSubmit(record)" + >鎻愪氦</a> + <a-divider type="vertical" /> + <a + v-show="record.receiveStatus === '2'" + @click="handleConfirm(record)" + >纭</a> + <a-divider type="vertical" /> + <a + v-show="record.receiveStatus === '3' && record.giveBackFlag === 'yes'" + @click="handleReturn(record)" + >褰掕繕</a> + <a-divider type="vertical" /> + <a + v-show="record.receiveStatus === '4' && record.giveBackFlag === 'yes'" + @click="handleReturnConfirm(record)" + >褰掕繕纭</a> + <!-- <a-dropdown> <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> <a-menu slot="overlay"> <a-menu-item> @@ -193,10 +205,23 @@ </a-popconfirm> </a-menu-item> </a-menu> - </a-dropdown> + </a-dropdown> --> </span> </a-table> + <a-tabs defaultActiveKey="1"> + <a-tab-pane + tab='澶囦欢棰嗙敤鏄庣粏' + key="1" + > + <div + class="table-operator" + style="margin:-16px" + > + <eamSparePartReceive-Detail-list :sparePartReceiveId='sparePartReceiveId' /> + </div> + </a-tab-pane> + </a-tabs> </div> <!-- table鍖哄煙-end --> @@ -211,17 +236,22 @@ <script> import '@assets/less/TableExpand.less' import EamSparePartReceiveModal from './modules/EamSparePartReceive/EamSparePartReceiveModal.vue' +import EamSparePartReceiveDetailList from './modules/EamSparePartReceive/EamSparePartReceiveDetailList.vue' import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import { deleteAction, getAction, postAction } from '@api/manage' export default { name: "EamSparePartReceiveList", mixins: [JeecgListMixin], components: { - EamSparePartReceiveModal + EamSparePartReceiveModal, + EamSparePartReceiveDetailList }, data() { return { description: '澶囧搧澶囦欢棰嗙敤鍗曠鐞嗛〉闈�', + sparePartReceiveId: "-1", + dataSource: [], // 琛ㄥご columns: [ { @@ -233,11 +263,6 @@ customRender: function (t, r, index) { return parseInt(index) + 1; } - }, - { - title: '鍒犻櫎鏍囪', - align: "center", - dataIndex: 'delFlag' }, { title: '棰嗙敤鍗曠紪鐮�', @@ -257,12 +282,12 @@ { title: '棰嗙敤鐘舵��', align: "center", - dataIndex: 'receiveStatus' + dataIndex: 'receiveStatus_dictText' }, { - title: '鏄惁闇�瑕佸綊杩�;鏄細瀛樺湪褰掕繕鍔ㄤ綔锛屽惁锛氱洿鎺ュ畬鎴�', + title: '鏄惁闇�瑕佸綊杩�', align: "center", - dataIndex: 'giveBackFlag' + dataIndex: 'giveBackFlag_dictText' }, { title: '瀹℃牳浜�', @@ -292,6 +317,10 @@ deleteBatch: "/eam/eamSparePartReceive/deleteBatch", exportXlsUrl: "eam/eamSparePartReceive/exportXls", importExcelUrl: "eam/eamSparePartReceive/importExcel", + submit: "eam/eamSparePartReceive/submit", + confirm: "eam/eamSparePartReceive/confirm", + return: "eam/eamSparePartReceive/return", + returnConfirm: "eam/eamSparePartReceive/returnConfirm", }, } }, @@ -302,6 +331,145 @@ }, methods: { + searchReset() { + this.queryParam = {} + this.onClearSelected() + this.loadData(1); + }, + searchQuery() { + this.onClearSelected() + this.loadData(1); + }, + + clickThenSelect(record) { + return { + on: { + click: () => { + this.onSelectChange(record.id.split(','), [record]) + } + } + } + }, + onClearSelected() { + this.selectedRowKeys = [] + this.selectionRows = [] + this.sparePartReceiveId = '-1' + }, + onSelectChange(selectedRowKeys, selectionRows) { + if (selectedRowKeys.length == 1) { + this.sparePartReceiveId = selectionRows[0]['id'] + } else { + this.sparePartReceiveId = '-1' + } + this.selectedRowKeys = selectedRowKeys + this.selectionRows = selectionRows + }, + + handleSubmit(record) { + if (!this.url.submit) { + this.$message.error('璇疯缃畊rl.submit灞炴��!') + return + } + var that = this + this.$confirm({ + title: '纭鎻愪氦', + content: '纭畾鎻愪氦鍚�?', + onOk: function () { + that.loading = true; + postAction(that.url.submit, record).then((res) => { + if (res.success) { + that.$message.success(res.message) + that.loadData() + } else { + that.$message.warning(res.message) + } + that.loading = false + }).finally(() => { + that.loading = false; + }); + } + }) + }, + + handleConfirm(record) { + if (!this.url.confirm) { + this.$message.error('璇疯缃畊rl.confirm灞炴��!') + return + } + var that = this + this.$confirm({ + title: '纭棰嗗彇', + content: '纭畾棰嗗彇澶囦欢鍚�?', + onOk: function () { + that.loading = true; + postAction(that.url.confirm, record).then((res) => { + if (res.success) { + that.$message.success(res.message) + that.loadData() + } else { + that.$message.warning(res.message) + } + that.loading = false + }).finally(() => { + that.loading = false; + }); + } + }) + }, + + handleReturn(record) { + if (!this.url.return) { + this.$message.error('璇疯缃畊rl.return灞炴��!') + return + } + var that = this + this.$confirm({ + title: '澶囦欢褰掕繕', + content: '纭畾褰掕繕澶囦欢鍚�?', + onOk: function () { + that.loading = true; + postAction(that.url.return, record).then((res) => { + if (res.success) { + that.$message.success(res.message) + that.loadData() + } else { + that.$message.warning(res.message) + } + that.loading = false + }).finally(() => { + that.loading = false; + }); + } + }) + }, + + + handleReturnConfirm(record) { + if (!this.url.returnConfirm) { + this.$message.error('璇疯缃畊rl.returnConfirm灞炴��!') + return + } + var that = this + this.$confirm({ + title: '澶囦欢褰掕繕纭', + content: '纭畾澶囦欢褰掕繕鍚�?', + onOk: function () { + that.loading = true; + postAction(that.url.returnConfirm, record).then((res) => { + if (res.success) { + that.$message.success(res.message) + that.loadData() + } else { + that.$message.warning(res.message) + } + that.loading = false + }).finally(() => { + that.loading = false; + }); + } + }) + }, + } } </script> -- Gitblit v1.9.3