| | |
| | | |
| | | <!-- 查询区域 --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-form |
| | | layout="inline" |
| | | @keyup.enter.native="searchQuery" |
| | | > |
| | | <a-row :gutter="24"> |
| | | |
| | | <a-col :xl="6" :lg="7" :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-col |
| | | :xl="6" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <a-form-item label="领用单编码"> |
| | | <a-input placeholder="请输入领用单编码" v-model="queryParam.receiveCode"></a-input> |
| | | <a-input |
| | | placeholder="请输入领用单编码" |
| | | v-model="queryParam.receiveCode" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <template v-if="toggleSearchStatus"> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="领用人"> |
| | | <a-input placeholder="请输入领用人" v-model="queryParam.receiveUser"></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.receiveReason"></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.receiveStatus"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <template v-if="toggleSearchStatus"> |
| | | <a-col |
| | | :xl="6" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <a-form-item label="领用人"> |
| | | <a-input |
| | | placeholder="请输入领用人" |
| | | v-model="queryParam.receiveUser" |
| | | ></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.receiveStatus" |
| | | ></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> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
| | | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
| | | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
| | | <a @click="handleToggleSearch" style="margin-left: 8px"> |
| | | <a-col |
| | | :xl="6" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <span |
| | | style="float: left;overflow: hidden;" |
| | | class="table-page-search-submitButtons" |
| | | > |
| | | <a-button |
| | | type="primary" |
| | | @click="searchQuery" |
| | | icon="search" |
| | | >查询</a-button> |
| | | <a-button |
| | | type="primary" |
| | | @click="searchReset" |
| | | icon="reload" |
| | | style="margin-left: 8px" |
| | | >重置</a-button> |
| | | <a |
| | | @click="handleToggleSearch" |
| | | style="margin-left: 8px" |
| | | > |
| | | {{ toggleSearchStatus ? '收起' : '展开' }} |
| | | <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> |
| | | <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> |
| | | </a> |
| | | </span> |
| | | </a-col> |
| | |
| | | |
| | | <!-- 操作按钮区域 --> |
| | | <div class="table-operator"> |
| | | <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> |
| | | <a-button type="primary" icon="download" @click="handleExportXls('备品备件领用单')">导出</a-button> |
| | | <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> |
| | | <a-button type="primary" icon="import">导入</a-button> |
| | | </a-upload> |
| | | <a-button |
| | | @click="handleAdd" |
| | | type="primary" |
| | | icon="plus" |
| | | >新增</a-button> |
| | | <!-- <a-button |
| | | type="primary" |
| | | icon="download" |
| | | @click="handleExportXls('备品备件领用单')" |
| | | >导出</a-button> |
| | | <a-upload |
| | | name="file" |
| | | :showUploadList="false" |
| | | :multiple="false" |
| | | :headers="tokenHeader" |
| | | :action="importExcelUrl" |
| | | @change="handleImportExcel" |
| | | > |
| | | <a-button |
| | | type="primary" |
| | | icon="import" |
| | | >导入</a-button> |
| | | </a-upload> --> |
| | | <a-dropdown v-if="selectedRowKeys.length > 0"> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item> |
| | | <a-menu-item |
| | | key="1" |
| | | @click="batchDel" |
| | | ><a-icon type="delete" />删除</a-menu-item> |
| | | </a-menu> |
| | | <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button> |
| | | </a-dropdown> |
| | |
| | | |
| | | <!-- table区域-begin --> |
| | | <div> |
| | | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
| | | <div |
| | | class="ant-alert ant-alert-info" |
| | | style="margin-bottom: 16px;" |
| | | > |
| | | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 |
| | | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
| | | <a |
| | | style="margin-left: 24px" |
| | | @click="onClearSelected" |
| | | >清空</a> |
| | | </div> |
| | | |
| | | <a-table |
| | |
| | | :loading="loading" |
| | | class="j-table-force-nowrap" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
| | | @change="handleTableChange"> |
| | | @change="handleTableChange" |
| | | :customRow='clickThenSelect' |
| | | > |
| | | |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleEdit(record)">编辑</a> |
| | | <span |
| | | slot="action" |
| | | slot-scope="text, record" |
| | | > |
| | | <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> |
| | | <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> |
| | | <a-popconfirm |
| | | title="确定删除吗?" |
| | | @confirm="() => handleDelete(record.id)" |
| | | > |
| | | <a>删除</a> |
| | | </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 --> |
| | | |
| | | <!-- 表单区域 --> |
| | | <eamSparePartReceive-modal ref="modalForm" @ok="modalFormOk"></eamSparePartReceive-modal> |
| | | <eamSparePartReceive-modal |
| | | ref="modalForm" |
| | | @ok="modalFormOk" |
| | | ></eamSparePartReceive-modal> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import '@assets/less/TableExpand.less' |
| | | import EamSparePartReceiveModal from './modules/EamSparePartReceiveModal.vue' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | 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 |
| | | }, |
| | | data () { |
| | | return { |
| | | description: '备品备件领用单管理页面', |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key:'rowIndex', |
| | | width:60, |
| | | align:"center", |
| | | customRender:function (t,r,index) { |
| | | return parseInt(index)+1; |
| | | } |
| | | }, |
| | | { |
| | | title: '删除标记', |
| | | align:"center", |
| | | dataIndex: 'delFlag' |
| | | }, |
| | | { |
| | | title: '领用单编码', |
| | | align:"center", |
| | | dataIndex: 'receiveCode' |
| | | }, |
| | | { |
| | | title: '领用人', |
| | | align:"center", |
| | | dataIndex: 'receiveUser' |
| | | }, |
| | | { |
| | | title: '领用事由', |
| | | align:"center", |
| | | dataIndex: 'receiveReason' |
| | | }, |
| | | { |
| | | title: '领用状态', |
| | | align:"center", |
| | | dataIndex: 'receiveStatus' |
| | | }, |
| | | { |
| | | title: '是否需要归还;是:存在归还动作,否:直接完成', |
| | | align:"center", |
| | | dataIndex: 'giveBackFlag' |
| | | }, |
| | | { |
| | | title: '审核人', |
| | | align:"center", |
| | | dataIndex: 'approvalUser' |
| | | }, |
| | | { |
| | | title: '审核时间', |
| | | align:"center", |
| | | dataIndex: 'approvalTime' |
| | | }, |
| | | { |
| | | title: '备注', |
| | | align:"center", |
| | | dataIndex: 'remark' |
| | | }, |
| | | { |
| | | title: '操作', |
| | | dataIndex: 'action', |
| | | align:"center", |
| | | scopedSlots: { customRender: 'action' }, |
| | | export default { |
| | | name: "EamSparePartReceiveList", |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | EamSparePartReceiveModal, |
| | | EamSparePartReceiveDetailList |
| | | }, |
| | | data() { |
| | | return { |
| | | description: '备品备件领用单管理页面', |
| | | sparePartReceiveId: "-1", |
| | | dataSource: [], |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: "center", |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1; |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/eam/eamSparePartReceive/list", |
| | | delete: "/eam/eamSparePartReceive/delete", |
| | | deleteBatch: "/eam/eamSparePartReceive/deleteBatch", |
| | | exportXlsUrl: "eam/eamSparePartReceive/exportXls", |
| | | importExcelUrl: "eam/eamSparePartReceive/importExcel", |
| | | }, |
| | | }, |
| | | { |
| | | title: '领用单编码', |
| | | align: "center", |
| | | dataIndex: 'receiveCode' |
| | | }, |
| | | { |
| | | title: '领用人', |
| | | align: "center", |
| | | dataIndex: 'receiveUser' |
| | | }, |
| | | { |
| | | title: '领用事由', |
| | | align: "center", |
| | | dataIndex: 'receiveReason' |
| | | }, |
| | | { |
| | | title: '领用状态', |
| | | align: "center", |
| | | dataIndex: 'receiveStatus_dictText' |
| | | }, |
| | | { |
| | | title: '是否需要归还', |
| | | align: "center", |
| | | dataIndex: 'giveBackFlag_dictText' |
| | | }, |
| | | { |
| | | title: '审核人', |
| | | align: "center", |
| | | dataIndex: 'approvalUser' |
| | | }, |
| | | { |
| | | title: '审核时间', |
| | | align: "center", |
| | | dataIndex: 'approvalTime' |
| | | }, |
| | | { |
| | | title: '备注', |
| | | align: "center", |
| | | dataIndex: 'remark' |
| | | }, |
| | | { |
| | | title: '操作', |
| | | dataIndex: 'action', |
| | | align: "center", |
| | | scopedSlots: { customRender: 'action' }, |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/eam/eamSparePartReceive/list", |
| | | delete: "/eam/eamSparePartReceive/delete", |
| | | 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", |
| | | }, |
| | | } |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function(){ |
| | | importExcelUrl: function () { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | } |
| | | }, |
| | | methods: { |
| | | 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('请设置url.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('请设置url.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('请设置url.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('请设置url.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> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | @import '~@assets/less/common.less'; |
| | | </style> |