¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-card :bordered='false' title='å¤ä»¶é¢ç¨éæ±'> |
| | | <div class='table-page-search-wrapper'> |
| | | <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='åæ®å·'> |
| | | <j-input placeholder='请è¾å
¥åæ®å·' v-model='queryParam.num'></j-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :xl='6' :lg='7' :md='8' :sm='24'> |
| | | <a-form-item label='ç¶æ'> |
| | | <j-dict-select-tag type='list' v-model='queryParam.status' dictCode='purchase_storage_status' |
| | | placeholder='è¯·éæ©ç¶æ' /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <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> |
| | | |
| | | </span> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | |
| | | |
| | | <!-- æ¥è¯¢åºå-END --> |
| | | |
| | | <!-- æä½æé®åºå --> |
| | | <div class='table-operator'> |
| | | <a-button @click='handleAdd' type='primary' icon='plus' v-has="'sparePartReceive:add'">æ°å¢</a-button> |
| | | <a-button @click='handleSubmit' type='primary' icon='check' v-has="'sparePartReceive:submitAndCancel'" |
| | | v-if="selectedRowKeys.length > 0 && (selectionRows[0].status ==='0' || selectionRows[0].status==='3')"> |
| | | æäº¤ |
| | | </a-button> |
| | | <a-button v-if="selectedRowKeys.length > 0 && selectionRows[0].status==='1'" |
| | | @click='handleRevocation' type='primary' icon='rollback'>æ¤å |
| | | </a-button> |
| | | </div> |
| | | |
| | | <!-- tableåºå-begin --> |
| | | <div> |
| | | <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> |
| | | </div> |
| | | |
| | | <a-table |
| | | ref='table' |
| | | size='middle' |
| | | bordered |
| | | rowKey='id' |
| | | class='j-table-force-nowrap' |
| | | :scroll='{x:true}' |
| | | :columns='columns' |
| | | :dataSource='dataSource' |
| | | :pagination='ipagination' |
| | | :loading='loading' |
| | | :customRow='clickThenSelect' |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio'}" |
| | | @change='handleTableChange'> |
| | | |
| | | <template slot='htmlSlot' slot-scope='text'> |
| | | <div v-html='text'></div> |
| | | </template> |
| | | <template slot='imgSlot' slot-scope='text,record'> |
| | | <span v-if='!text' style='font-size: 12px;font-style: italic;'>æ å¾ç</span> |
| | | <img v-else :src='getImgView(text)' :preview='record.id' height='25px' alt='' |
| | | style='max-width:80px;font-size: 12px;font-style: italic;' /> |
| | | </template> |
| | | <template slot='fileSlot' slot-scope='text'> |
| | | <span v-if='!text' style='font-size: 12px;font-style: italic;'>æ æä»¶</span> |
| | | <a-button |
| | | v-else |
| | | :ghost='true' |
| | | type='primary' |
| | | icon='download' |
| | | size='small' |
| | | @click='downloadFile(text)'> |
| | | ä¸è½½ |
| | | </a-button> |
| | | </template> |
| | | |
| | | <!-- <span |
| | | slot='action' |
| | | slot-scope='text, record' |
| | | > |
| | | <a v-if="record.status === '0' || record.status === '3'" @click='handleEdit(record)'>ç¼è¾</a> |
| | | <a v-if="record.status === '1'" @click='handleApprove(record)'>审æ¹</a> |
| | | |
| | | <a-divider v-if="record.status === '0' || record.status === '3'" type='vertical' /> |
| | | <a-dropdown v-if="record.status === '0' || record.status === '3'"> |
| | | <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>--> |
| | | <span |
| | | slot='action' |
| | | slot-scope='text, record' |
| | | > |
| | | <a v-if="record.status === '0' || record.status === '3'" @click='handleEdit(record)' v-has="'sparePartReceive:edit'">ç¼è¾</a> |
| | | <a v-if="record.status === '1'" @click='handleApprove(record)'>审æ¹</a> |
| | | <a-divider |
| | | v-if="record.status == '0' || record.status == '3' || record.status == '1'" |
| | | type='vertical' |
| | | /> |
| | | <a-dropdown> |
| | | <a class='ant-dropdown-link'>æ´å¤ <a-icon type='down' /></a> |
| | | <a-menu slot='overlay'> |
| | | <a-menu-item> |
| | | <a @click='handleDetail(record)'>详æ
</a> |
| | | </a-menu-item> |
| | | <a-menu-item v-if="record.status == '0'||record.status == '3'" v-has="'sparePartReceive:delete'"> |
| | | <a-popconfirm |
| | | title='ç¡®å®å é¤å?' |
| | | @confirm='() => handleDelete(record.id)' |
| | | > |
| | | <a>å é¤</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | </a-menu> |
| | | </a-dropdown> |
| | | </span> |
| | | </a-table> |
| | | </div> |
| | | <a-tabs defaultActiveKey='1'> |
| | | <a-tab-pane tab='é¢ç¨ç³è¯·æç»å' key='1'> |
| | | <div |
| | | class='table-operator' |
| | | style='margin:-20px'> |
| | | <spare-part-receive-deatil-list :mainId='sparesScrapDetailMainId' /> |
| | | </div> |
| | | |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | <spare-part-receive-modal ref='modalForm' @ok='modalFormOk' /> |
| | | |
| | | <approvel-modal ref='approvalModalForm' @ok='approvalModalFormOk' @cancel='approvalModalFormOk'></approvel-modal> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import SparePartReceiveModal from './modules/sparePartReceive/SparePartReceiveModal' |
| | | import '@assets/less/TableExpand.less' |
| | | import SparePartReceiveDeatilList from './modules/sparePartReceive/SparePartReceiveDeatilList' |
| | | import { getAction, postAction } from '@/api/manage' |
| | | import ApprovelModal from '@views/common/ApprovelModal' |
| | | export default { |
| | | name: 'SparePartScrapList', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | SparePartReceiveModal, |
| | | SparePartReceiveDeatilList, |
| | | ApprovelModal |
| | | }, |
| | | data() { |
| | | return { |
| | | sparesScrapDetailMainId: '', |
| | | selectedMainId: '', |
| | | description: 'å¤ä»¶é¢ç¨ç®¡ç页é¢', |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: 'center', |
| | | customRender: function(t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | }, |
| | | { |
| | | title: 'åæ®å·', |
| | | align: 'center', |
| | | dataIndex: 'num' |
| | | }, |
| | | { |
| | | title: 'ç¶æ', |
| | | align: 'center', |
| | | dataIndex: 'status_dictText' |
| | | }, |
| | | { |
| | | title: 'ä»åº', |
| | | align: 'center', |
| | | dataIndex: 'warehouseId_dictText' |
| | | }, |
| | | { |
| | | title: 'é¢ç¨é¨é¨', |
| | | align: 'center', |
| | | dataIndex: 'departId_dictText' |
| | | }, |
| | | { |
| | | title: 'é¢ç¨äººå', |
| | | align: 'center', |
| | | dataIndex: 'userId_dictText' |
| | | }, |
| | | { |
| | | title: 'å建人', |
| | | align: 'center', |
| | | dataIndex: 'createBy' |
| | | }, |
| | | { |
| | | title: 'åå»ºæ¥æ', |
| | | align: 'center', |
| | | dataIndex: 'createTime' |
| | | }, |
| | | { |
| | | title: 'æ´æ°äºº', |
| | | align: 'center', |
| | | dataIndex: 'updateBy' |
| | | }, |
| | | { |
| | | title: 'æ´æ°æ¥æ', |
| | | align: 'center', |
| | | dataIndex: 'updateTime' |
| | | }, |
| | | |
| | | { |
| | | title: '夿³¨', |
| | | align: 'center', |
| | | dataIndex: 'remark' |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align: 'center', |
| | | fixed: 'right', |
| | | width: 147, |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ], |
| | | url: { |
| | | submit: 'spare/sparePartReceive/submit', |
| | | list: '/spare/sparePartReceive/list', |
| | | delete: '/spare/sparePartReceive/delete', |
| | | deleteBatch: 'spare/sparePartReceive/deleteBatch', |
| | | exportXlsUrl: '/spare/sparePartReceive/exportXls', |
| | | importExcelUrl: '/spare/sparePartReceive/importExcel', |
| | | revocation: '/spare/sparePartReceive/revocation', |
| | | reject: 'spare/sparePartReceive/reject', |
| | | approval: 'spare/sparePartReceive/approval' |
| | | }, |
| | | /* å页忰 */ |
| | | ipagination: { |
| | | current: 1, |
| | | pageSize: 5, |
| | | pageSizeOptions: ['5', '10', '50'], |
| | | showTotal: (total, range) => { |
| | | return range[0] + '-' + range[1] + ' å
±' + total + 'æ¡' |
| | | }, |
| | | showQuickJumper: true, |
| | | showSizeChanger: true, |
| | | total: 0 |
| | | }, |
| | | dictOptions: {}, |
| | | superFieldList: [] |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList() |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function() { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` |
| | | } |
| | | }, |
| | | methods: { |
| | | initDictConfig() { |
| | | }, |
| | | clickThenSelect(record) { |
| | | return { |
| | | on: { |
| | | click: () => { |
| | | this.onSelectChange(record.id.split(','), [record]) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | onClearSelected() { |
| | | this.selectedRowKeys = [] |
| | | this.selectionRows = [] |
| | | this.selectedMainId = '' |
| | | this.sparesScrapDetailMainId = '' |
| | | }, |
| | | |
| | | onSelectChange(selectedRowKeys, selectionRows) { |
| | | if (selectedRowKeys.length == 1) { |
| | | |
| | | this.sparesScrapDetailMainId = selectionRows[0]['id'] |
| | | } else { |
| | | |
| | | this.sparesScrapDetailMainId = '' |
| | | } |
| | | this.selectedMainId = selectedRowKeys[0] |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.selectionRows = selectionRows |
| | | }, |
| | | |
| | | searchReset() { |
| | | this.sparesScrapDetailMainId = '' |
| | | this.queryParam = {} |
| | | this.loadData(1) |
| | | }, |
| | | handleApprove: function(record) { |
| | | let reject, approval; |
| | | reject = this.url.reject |
| | | approval = this.url.approval |
| | | this.$refs.approvalModalForm.showModals(record, reject, approval) |
| | | this.$refs.approvalModalForm.title = '审æ¹' |
| | | this.$refs.approvalModalForm.disableSubmit = false |
| | | |
| | | }, |
| | | approvalModalFormOk() { |
| | | // éè¿/驳忶ï¼éè½½å表 |
| | | this.loadData() |
| | | //æ¸
空å表éä¸ |
| | | this.onClearSelected() |
| | | }, |
| | | loadData(arg) { |
| | | if (!this.url.list) { |
| | | this.$message.error('请设置url.list屿§!') |
| | | return |
| | | } |
| | | //å è½½æ°æ® è¥ä¼ å
¥åæ°1åå 载第ä¸é¡µçå
容 |
| | | if (arg === 1) { |
| | | this.ipagination.current = 1 |
| | | } |
| | | this.onClearSelected() |
| | | var params = this.getQueryParams()//æ¥è¯¢æ¡ä»¶ |
| | | this.loading = true |
| | | getAction(this.url.list, params).then((res) => { |
| | | if (res.success) { |
| | | this.dataSource = res.result.records |
| | | this.ipagination.total = res.result.total |
| | | } |
| | | if (res.code === 510) { |
| | | this.$message.warning(res.message) |
| | | } |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | |
| | | getSuperFieldList() { |
| | | let fieldList = [] |
| | | fieldList.push({ type: 'string', value: 'createBy', text: 'å建人', dictCode: '' }) |
| | | fieldList.push({ type: 'datetime', value: 'createTime', text: 'åå»ºæ¥æ' }) |
| | | fieldList.push({ type: 'string', value: 'updateBy', text: 'æ´æ°äºº', dictCode: '' }) |
| | | fieldList.push({ type: 'datetime', value: 'updateTime', text: 'æ´æ°æ¥æ' }) |
| | | fieldList.push({ type: 'string', value: 'num', text: 'åæ®å·', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'Status', text: '审æ¹ç¶æ', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'warehouseId', text: 'ä»åºid', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'departId', text: 'é¢ç¨é¨é¨ID', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'userId', text: 'é¢ç¨äººåID', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'remark', text: '夿³¨'}) |
| | | this.superFieldList = fieldList |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | </style> |