¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-card |
| | | title="ä¸ä¸ä¿å
»æ¹æ¡" |
| | | :bordered='false' |
| | | > |
| | | <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='ä¿å
»æ¹æ¡ç¼ç '> |
| | | <a-input |
| | | placeholder='请è¾å
¥ä¿å
»æ¹æ¡ç¼ç ' |
| | | v-model='queryParam.num' |
| | | ></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.name' |
| | | ></a-input> |
| | | </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> |
| | | |
| | | <div class='table-operator'> |
| | | <a-button |
| | | @click='handleAdd' |
| | | type='primary' |
| | | icon='plus' |
| | | v-has="'specialtyMaintenancePlan:add'" |
| | | >æ°å¢</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' |
| | | :scroll="{ x: 'calc(1400px + 50%)', y: 900 }" |
| | | :columns='columns' |
| | | :dataSource='dataSource' |
| | | :pagination='ipagination' |
| | | :loading='loading' |
| | | :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}' |
| | | :customRow='clickThenSelect' |
| | | @change='handleTableChange' |
| | | > |
| | | <span |
| | | slot="status" |
| | | slot-scope="text,record" |
| | | > |
| | | <a-badge |
| | | v-if="record.status==1" |
| | | status="success" |
| | | /> |
| | | <span |
| | | v-if="record.status==1" |
| | | class="success" |
| | | >å¯ç¨</span> |
| | | <a-badge |
| | | v-if="record.status==0" |
| | | status="error" |
| | | /> |
| | | <span |
| | | v-if="record.status==0" |
| | | class="error" |
| | | >ç¦ç¨</span> |
| | | </span> |
| | | |
| | | <span |
| | | slot='action' |
| | | slot-scope='text, record' |
| | | > |
| | | <a |
| | | v-has="'specialtyMaintenancePlan:edit'" |
| | | @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 v-has="'specialtyMaintenancePlan:delete'">å é¤</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | <a-menu-item v-if="record.status == 0"> |
| | | <a-popconfirm |
| | | title="ç¡®å®å¯ç¨å?" |
| | | @confirm="() => handleActive(record.id)" |
| | | > |
| | | <a v-has="'specialtyMaintenancePlan:active'">å¯ç¨</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | <a-menu-item v-if="record.status == 1"> |
| | | <a-popconfirm |
| | | title="ç¡®å®ç¦ç¨å?" |
| | | @confirm="() => handleActive(record.id)" |
| | | > |
| | | <a v-has="'specialtyMaintenancePlan:active'">åç¨</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | </a-menu> |
| | | </a-dropdown> |
| | | </span> |
| | | |
| | | </a-table> |
| | | <a-tabs |
| | | type="card" |
| | | defaultActiveKey="1" |
| | | > |
| | | <a-tab-pane |
| | | tab='ä¿å
»æç»' |
| | | key="1" |
| | | > |
| | | <div |
| | | class="table-operator" |
| | | style="margin:-16px" |
| | | > |
| | | <specialty-maintenance-plan-detail :specialtyMaintenancePlanId='specialtyMaintenancePlanId' /> |
| | | </div> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane |
| | | tab='ä¿å
»è·¯çº¿å¾' |
| | | key="2" |
| | | > |
| | | <div |
| | | class="table-operator" |
| | | style="margin:-16px" |
| | | > |
| | | <photo-preview :specialtyMaintenancePlanId='specialtyMaintenancePlanId' /> |
| | | </div> |
| | | </a-tab-pane> |
| | | |
| | | </a-tabs> |
| | | </div> |
| | | |
| | | <specialty-Maintenance-plan-modal |
| | | ref='modalForm' |
| | | @ok='modalFormOk' |
| | | ></specialty-maintenance-plan-modal> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | |
| | | import { getAction, requestPut } from '@/api/manage' |
| | | import SpecialtyMaintenancePlanDetail from './modules/specialtyMaintenancePlan/SpecialtyMaintenancePlanDetail' |
| | | import SpecialtyMaintenancePlanModal from './modules/specialtyMaintenancePlan/SpecialtyMaintenancePlanModal' |
| | | import PhotoPreview from './modules/specialtyMaintenancePlan/PhotoPreview' |
| | | import '@/assets/less/TableExpand.less' |
| | | |
| | | export default { |
| | | name: 'SpecialtyMaintenancePlanList', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | SpecialtyMaintenancePlanDetail, |
| | | SpecialtyMaintenancePlanModal, |
| | | PhotoPreview |
| | | }, |
| | | data() { |
| | | return { |
| | | 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: 'departName', |
| | | }, |
| | | { |
| | | title: 'ä¿å
»ç±»å', |
| | | align: 'center', |
| | | dataIndex: 'maintenanceTypeName', |
| | | }, |
| | | { |
| | | title: 'ç»´ä¿æ¹å¼', |
| | | align: 'center', |
| | | dataIndex: 'maintenanceModeName', |
| | | }, |
| | | { |
| | | title: 'ä¿å
»å¨æ', |
| | | align: 'center', |
| | | dataIndex: 'maintenanceCycleName', |
| | | }, |
| | | { |
| | | title: '派工æ¹å¼', |
| | | align: 'center', |
| | | dataIndex: 'assignModeName', |
| | | }, |
| | | |
| | | { |
| | | title: '责任çç»', |
| | | align: 'center', |
| | | dataIndex: 'teamName', |
| | | }, |
| | | { |
| | | title: 'ç¶æ', |
| | | align: 'center', |
| | | dataIndex: 'status', |
| | | scopedSlots: { customRender: 'status' }, |
| | | }, |
| | | { |
| | | 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', |
| | | scopedSlots: { customRender: 'action' }, |
| | | width: 200, |
| | | } |
| | | ], |
| | | url: { |
| | | list: '/eam/specialtyMaintenancePlan/getSpecialtyMaintenancePlanList', |
| | | delete: '/eam/specialtyMaintenancePlan/delete', |
| | | deleteBatch: '/eam/specialtyMaintenancePlan/deleteBatch', |
| | | active: '/eam/specialtyMaintenancePlan/active', |
| | | }, |
| | | /* å页忰 */ |
| | | ipagination: { |
| | | current: 1, |
| | | pageSize: 5, |
| | | pageSizeOptions: ['5', '10', '50'], |
| | | showTotal: (total, range) => { |
| | | return range[0] + '-' + range[1] + ' å
±' + total + 'æ¡' |
| | | }, |
| | | showQuickJumper: true, |
| | | showSizeChanger: true, |
| | | total: 0 |
| | | }, |
| | | specialtyMaintenancePlanId: '-1' |
| | | } |
| | | }, |
| | | methods: { |
| | | clickThenSelect(record) { |
| | | return { |
| | | on: { |
| | | click: () => { |
| | | this.onSelectChange(record.id.split(','), [record]) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | onClearSelected() { |
| | | this.selectedRowKeys = [] |
| | | this.selectionRows = [] |
| | | this.specialtyMaintenancePlanId = '-1' |
| | | }, |
| | | onSelectChange(selectedRowKeys, selectionRows) { |
| | | if (selectedRowKeys.length == 1) { |
| | | this.specialtyMaintenancePlanId = selectionRows[0]['id'] |
| | | } else { |
| | | this.specialtyMaintenancePlanId = '-1' |
| | | } |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.selectionRows = selectionRows |
| | | }, |
| | | 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 |
| | | }) |
| | | }, |
| | | searchReset() { |
| | | this.specialtyMaintenancePlanId = '-1' |
| | | this.queryParam = {} |
| | | this.loadData(1); |
| | | }, |
| | | |
| | | //å¯ç¨åç¨ç¨ |
| | | handleActive(id) { |
| | | let that = this; |
| | | requestPut(that.url.active, {}, { id: id }).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success(res.message); |
| | | that.loadData(1); |
| | | } else { |
| | | that.$message.warning(res.message); |
| | | } |
| | | }); |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | .table-operator .ant-btn { |
| | | margin: 10px 8px 8px 10px; |
| | | } |
| | | .success { |
| | | color: green; |
| | | } |
| | | .error { |
| | | color: red; |
| | | } |
| | | </style> |