| | |
| | | <template> |
| | | <a-card :bordered='false'> |
| | | <a-card |
| | | title="项目性维修" |
| | | :bordered='false' |
| | | > |
| | | <!-- 查询区域 --> |
| | | <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-col |
| | | :xl='6' |
| | | :lg='7' |
| | | :md='8' |
| | | :sm='24' |
| | | > |
| | | <a-form-item label='计划单编码'> |
| | | <j-input placeholder='请输入计划单编码' v-model='queryParam.num'></j-input> |
| | | <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-col |
| | | :xl='6' |
| | | :lg='7' |
| | | :md='8' |
| | | :sm='24' |
| | | > |
| | | <a-form-item label='审批状态'> |
| | | <j-dict-select-tag placeholder='请选择审批状态' v-model='queryParam.auditStatus' dictCode='audit_status' /> |
| | | <j-dict-select-tag |
| | | placeholder='请选择审批状态' |
| | | v-model='queryParam.auditStatus' |
| | | dictCode='audit_status' |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <template v-if='toggleSearchStatus'> |
| | | |
| | | <a-col :xl='10' :lg='11' :md='12' :sm='24'> |
| | | <a-col |
| | | :xl='10' |
| | | :lg='11' |
| | | :md='12' |
| | | :sm='24' |
| | | > |
| | | <a-form-item label='创建时间'> |
| | | <j-date placeholder='请选择开始日期' class='query-group-cust' v-model='queryParam.createTime_begin'></j-date> |
| | | <j-date |
| | | placeholder='请选择开始日期' |
| | | class='query-group-cust' |
| | | v-model='queryParam.createTime_begin' |
| | | ></j-date> |
| | | <span class='query-group-split-cust'></span> |
| | | <j-date placeholder='请选择结束日期' class='query-group-cust' v-model='queryParam.createTime_end'></j-date> |
| | | <j-date |
| | | placeholder='请选择结束日期' |
| | | class='query-group-cust' |
| | | v-model='queryParam.createTime_end' |
| | | ></j-date> |
| | | </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> |
| | |
| | | |
| | | <!-- 操作按钮区域 --> |
| | | <div class='table-operator'> |
| | | <a-button @click='handleAdd' type='primary' icon='plus'>新增</a-button> |
| | | <a-button |
| | | @click='handleAdd' |
| | | type='primary' |
| | | icon='plus' |
| | | >新增</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> |
| | | <!-- <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' |
| | |
| | | bordered |
| | | rowKey='id' |
| | | class='j-table-force-nowrap' |
| | | :scroll='{x:true}' |
| | | :scroll="{ x: 'calc(1500px + 50%)', y: 900 }" |
| | | :columns='columns' |
| | | :dataSource='dataSource' |
| | | :pagination='ipagination' |
| | | :loading='loading' |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'checkbox'}" |
| | | :customRow='clickThenSelect' |
| | | @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 |
| | | @change='handleTableChange' |
| | | > |
| | | <!-- :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'checkbox'}" --> |
| | | <template |
| | | slot='imgSlot' |
| | | slot-scope='text,record' |
| | | > |
| | | <span |
| | | v-if='!text' |
| | | style='font-size: 12px;font-style: italic;' |
| | | >无图片</span> |
| | | <img |
| | | v-else |
| | | :ghost='true' |
| | | type='primary' |
| | | icon='download' |
| | | size='small' |
| | | @click='downloadFile(text)'> |
| | | 下载 |
| | | </a-button> |
| | | :src='getImgView(text)' |
| | | :preview='record.id' |
| | | height='25px' |
| | | alt='' |
| | | style='max-width:80px;font-size: 12px;font-style: italic;' |
| | | /> |
| | | </template> |
| | | |
| | | <!-- <span slot='action' slot-scope='text, record'> |
| | | <a v-if="record.status == '1' " @click='handleEdit(record)'>编辑</a> |
| | | |
| | | <a-divider v-if="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> |
| | | <a-popconfirm title='确定删除吗?' @confirm='() => handleDelete(record.id)'> |
| | | <a>删除</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | <a-menu-item v-if="record.auditStatus == 'notSubmitted'"> |
| | | <a @click='handleSubmit'>提交</a> |
| | | </a-menu-item> |
| | | <a-menu-item v-if="record.auditStatus == 'pendingApproval'"> |
| | | <a @click='handleRevocation'>撤回</a> |
| | | </a-menu-item> |
| | | </a-menu> |
| | | </a-dropdown> |
| | | </span> --> |
| | | |
| | | <span |
| | | slot="action" |
| | | slot-scope="text, record" |
| | | > |
| | | <a-popconfirm |
| | | v-if="record.auditStatus == 'notSubmitted'" |
| | | title="确认提交吗?" |
| | | @confirm="() =>handleCommit(record, 'commit')" |
| | | > |
| | | <a>提交</a> |
| | | </a-popconfirm> |
| | | <a-popconfirm |
| | | v-if="record.auditStatus == 'pendingApproval'" |
| | | title="确认撤回吗?" |
| | | @confirm="() =>handleCommit(record, 'back')" |
| | | > |
| | | <a>撤回</a> |
| | | </a-popconfirm> |
| | | <a-popconfirm |
| | | v-if="record.auditStatus == 'notSubmitted' || record.auditStatus == 'Rejected'" |
| | | title="确认提交吗?" |
| | | @confirm="() =>handleCommit(record, 'commit')" |
| | | > |
| | | <a>提交</a> |
| | | </a-popconfirm> |
| | | <a-popconfirm |
| | | v-if="record.auditStatus == 'pendingApproval'" |
| | | title="确认撤回吗?" |
| | | @confirm="() =>handleCommit(record, 'back')" |
| | | > |
| | | <a>撤回</a> |
| | | </a-popconfirm> |
| | | |
| | | <a-divider |
| | | v-if="record.auditStatus == 'notSubmitted' || record.auditStatus == 'pendingApproval'" |
| | | v-if="record.auditStatus == 'notSubmitted'|| record.auditStatus == 'Rejected' || record.auditStatus == 'pendingApproval'" |
| | | type="vertical" |
| | | /> |
| | | <a |
| | | v-if="record.auditStatus == 'notSubmitted' " |
| | | v-if="record.auditStatus == 'notSubmitted' || record.auditStatus == 'Rejected'" |
| | | @click="handleEdit(record)" |
| | | >编辑</a> |
| | | <a v-if="record.auditStatus == 'pendingApproval'" @click="handleApprove(record)">审批</a> |
| | | <a |
| | | v-if="record.auditStatus == 'pendingApproval'" |
| | | @click="handleApprove(record)" |
| | | >审批</a> |
| | | <a-divider |
| | | v-if="record.auditStatus == 'notSubmitted' || record.auditStatus == 'pendingApproval'" |
| | | v-if="record.auditStatus == 'notSubmitted'|| record.auditStatus == 'Rejected' || record.auditStatus == 'pendingApproval'" |
| | | type="vertical" |
| | | /> |
| | | <a-dropdown> |
| | |
| | | <a>删除</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | <!-- <a-menu-item v-if="record.status == '1'"> |
| | | <a-popconfirm |
| | | v-if="record.status == '1'" |
| | | title="确认提交吗?" |
| | | @confirm="() =>handleCommit(record, 'commit')" |
| | | > |
| | | <a>提交</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | <a-menu-item v-if="record.status == '2'"> |
| | | <a-popconfirm |
| | | v-if="record.status == '2'" |
| | | title="确认撤回吗?" |
| | | @confirm="() =>handleCommit(record, 'back')" |
| | | > |
| | | <a>撤回</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | <a-menu-item v-if="record.status == '2'"> |
| | | <a-popconfirm |
| | | v-if="record.status == '2'" |
| | | title="确认驳回吗?" |
| | | @confirm="() =>handleFinish(record, 'reject')" |
| | | > |
| | | <a>驳回</a> |
| | | </a-popconfirm> |
| | | </a-menu-item>--> |
| | | <!-- <a-menu-item v-if="record.auditStatus == 'Approved' || record.auditStatus == 'Rejected'"> |
| | | <a-popconfirm |
| | | v-if="record.auditStatus == 'Approved' || record.auditStatus == 'Rejected'" |
| | | title="确认撤销吗?" |
| | | @confirm="() =>handleFinish(record, 'revoke')" |
| | | > |
| | | <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'> |
| | | <project-maintenance-order-detail-list :mainId='equipmentSealDetailMainId' /> |
| | | <a-tabs |
| | | type="card" |
| | | defaultActiveKey='1' |
| | | > |
| | | <a-tab-pane |
| | | tab='项目维修明细' |
| | | key='1' |
| | | > |
| | | <div |
| | | class="table-operator" |
| | | style="margin:-16px" |
| | | > |
| | | <project-maintenance-order-detail-list :mainId='equipmentSealDetailMainId' /> |
| | | </div> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | |
| | | <project-maintenance-order-modal ref='modalForm' @ok='modalFormOk'></project-maintenance-order-modal> |
| | | <approvel-modal ref='approvalModalForm' @ok='approvalModalFormOk' @cancel='approvalModalFormOk'></approvel-modal> |
| | | <project-maintenance-order-modal |
| | | ref='modalForm' |
| | | @ok='modalFormOk' |
| | | ></project-maintenance-order-modal> |
| | | <approvel-modal |
| | | ref='approvalModalForm' |
| | | @ok='approvalModalFormOk' |
| | | @cancel='approvalModalFormOk' |
| | | ></approvel-modal> |
| | | </a-card> |
| | | </template> |
| | | |
| | |
| | | |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import ProjectMaintenanceOrderModal from './modules/projectMaintenanceOrder/ProjectMaintenanceOrderModal' |
| | | import { getAction,putAction } from '@/api/manage' |
| | | import { getAction, putAction } from '@/api/manage' |
| | | import ProjectMaintenanceOrderDetailList from './modules/projectMaintenanceOrder/ProjectMaintenanceOrderDetailList' |
| | | import { initDictOptions, filterMultiDictText } from '@/components/dict/JDictSelectUtil' |
| | | import '@/assets/less/TableExpand.less' |
| | | import ApprovelModal from './modules/malfunctionRepair/ApprovelModal' |
| | | import ApprovelModal from './modules/projectMaintenanceOrder/ApprovelModal' |
| | | |
| | | export default { |
| | | name: 'ProjectMaintenanceOrderList', |
| | |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: 'center', |
| | | customRender: function(t, r, index) { |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | }, |
| | |
| | | title: '审批状态', |
| | | align: 'center', |
| | | dataIndex: 'auditStatus_dictText' |
| | | |
| | | }, |
| | | |
| | | { |
| | | title: '状态', |
| | | align: 'center', |
| | |
| | | { |
| | | title: '计划单编码', |
| | | align: 'center', |
| | | sorter: true, |
| | | dataIndex: 'num' |
| | | }, |
| | | // sorter: true, |
| | | { |
| | | title: '计划名称', |
| | | align: 'center', |
| | | sorter: true, |
| | | dataIndex: 'name' |
| | | }, |
| | | { |
| | | title: '计划开始时间', |
| | | align: 'center', |
| | | sorter: true, |
| | | dataIndex: 'planStartTime', |
| | | // customRender: function(text) { |
| | | // return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text) |
| | |
| | | { |
| | | title: '计划结束时间', |
| | | align: 'center', |
| | | sorter: true, |
| | | dataIndex: 'planEndTime', |
| | | // customRender: function(text) { |
| | | // return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text) |
| | |
| | | { |
| | | title: '实际开始时间', |
| | | align: 'center', |
| | | sorter: true, |
| | | dataIndex: 'actualStartTime', |
| | | // customRender: function(text) { |
| | | // return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text) |
| | |
| | | { |
| | | title: '实际结束时间', |
| | | align: 'center', |
| | | sorter: true, |
| | | dataIndex: 'actualEndTime', |
| | | // customRender: function(text) { |
| | | // return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text) |
| | |
| | | dataIndex: 'action', |
| | | align: 'center', |
| | | fixed: 'right', |
| | | width: 147, |
| | | width: 200, |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ], |
| | |
| | | deleteBatch: '/eam/projectMaintenanceOrder/deleteBatch', |
| | | exportXlsUrl: '/eam/projectMaintenanceOrder/exportXls', |
| | | importExcelUrl: 'eam/projectMaintenanceOrder/importExcel', |
| | | edit:'/eam/projectMaintenanceOrder/edit', |
| | | commit:'/eam/projectMaintenanceOrder/commit' |
| | | edit: '/eam/projectMaintenanceOrder/edit', |
| | | commit: '/eam/projectMaintenanceOrder/commit' |
| | | }, |
| | | dictOptions: { |
| | | auditStatus: [] |
| | |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList() |
| | | // this.getSuperFieldList() |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function() { |
| | | importExcelUrl: function () { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` |
| | | } |
| | | }, |
| | |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | getSuperFieldList() { |
| | | let fieldList = [] |
| | | fieldList.push({ type: 'string', value: 'num', text: '计划单编号', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'name', text: '计划名称', dictCode: '' }) |
| | | fieldList.push({ type: 'date', value: 'planStartTime', text: '计划开始时间' }) |
| | | fieldList.push({ type: 'date', value: 'planEndTime', text: '计划结束时间' }) |
| | | fieldList.push({ type: 'date', value: 'actualStartTime', text: '实际开始时间' }) |
| | | fieldList.push({ type: 'date', value: 'actualEndTime', text: '实际结束时间' }) |
| | | fieldList.push({ |
| | | type: 'string', |
| | | value: 'auditStatus', |
| | | text: '审批状态(未提交-notSubmitted、待审批 pendingApproval、审批中-approvalProcess、已驳回-Rejected、已通过-Approved)', |
| | | dictCode: 'audit_status' |
| | | }) |
| | | /* fieldList.push({type:'string',value:'changeMethod',text:'变动方式(封存-seal,启封-unseal,报废-scrap,处置-disposal)',dictCode:''})*/ |
| | | fieldList.push({ type: 'string', value: 'remark', text: '备注', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'createBy', text: '创建人', dictCode: 'sys_user,realname,username' }) |
| | | fieldList.push({ type: 'date', value: 'createTime', text: '创建时间' }) |
| | | fieldList.push({ type: 'string', value: 'updateBy', text: '修改人', dictCode: 'sys_user,realname,username' }) |
| | | fieldList.push({ type: 'date', value: 'updateTime', text: '修改时间' }) |
| | | // getSuperFieldList() { |
| | | // let fieldList = [] |
| | | // fieldList.push({ type: 'string', value: 'num', text: '计划单编号', dictCode: '' }) |
| | | // fieldList.push({ type: 'string', value: 'name', text: '计划名称', dictCode: '' }) |
| | | // fieldList.push({ type: 'date', value: 'planStartTime', text: '计划开始时间' }) |
| | | // fieldList.push({ type: 'date', value: 'planEndTime', text: '计划结束时间' }) |
| | | // fieldList.push({ type: 'date', value: 'actualStartTime', text: '实际开始时间' }) |
| | | // fieldList.push({ type: 'date', value: 'actualEndTime', text: '实际结束时间' }) |
| | | // fieldList.push({ |
| | | // type: 'string', |
| | | // value: 'auditStatus', |
| | | // text: '审批状态(未提交-notSubmitted、待审批 pendingApproval、审批中-approvalProcess、已驳回-Rejected、已通过-Approved)', |
| | | // dictCode: 'audit_status' |
| | | // }) |
| | | // /* fieldList.push({type:'string',value:'changeMethod',text:'变动方式(封存-seal,启封-unseal,报废-scrap,处置-disposal)',dictCode:''})*/ |
| | | // fieldList.push({ type: 'string', value: 'remark', text: '备注', dictCode: '' }) |
| | | // fieldList.push({ type: 'string', value: 'createBy', text: '创建人', dictCode: 'sys_user,realname,username' }) |
| | | // fieldList.push({ type: 'date', value: 'createTime', text: '创建时间' }) |
| | | // fieldList.push({ type: 'string', value: 'updateBy', text: '修改人', dictCode: 'sys_user,realname,username' }) |
| | | // fieldList.push({ type: 'date', value: 'updateTime', text: '修改时间' }) |
| | | |
| | | this.superFieldList = fieldList |
| | | }, |
| | | // this.superFieldList = fieldList |
| | | // }, |
| | | handleCommit(record, type) { |
| | | type == 'commit' ? record.auditStatus = 'pendingApproval' : record.auditStatus = 'notSubmitted' |
| | | putAction(this.url.commit, record).then(res => { |
| | |
| | | } |
| | | }) |
| | | }, |
| | | handleFinish(record,type) { |
| | | if(type == 'agree'){ |
| | | handleFinish(record, type) { |
| | | if (type == 'agree') { |
| | | record.auditStatus = 'Approved' |
| | | }else if(type == 'reject'){ |
| | | } else if (type == 'reject') { |
| | | record.auditStatus = 'Rejected' |
| | | }else if(type == 'revoke'){ |
| | | } else if (type == 'revoke') { |
| | | record.auditStatus = 'pendingApproval' |
| | | } |
| | | putAction(this.url.edit, record).then(res => { |
| | |
| | | } |
| | | }) |
| | | }, |
| | | handleApprove: function(record) { |
| | | handleApprove: function (record) { |
| | | let edit |
| | | edit = this.url.commit |
| | | this.$refs.approvalModalForm.showModals(record, edit,'Approved','Rejected') |
| | | this.$refs.approvalModalForm.showModals(record, edit, 'Approved', 'Rejected') |
| | | this.$refs.approvalModalForm.title = '审批' |
| | | this.$refs.approvalModalForm.disableSubmit = false |
| | | |
| | | }, |
| | | approvalModalFormOk() { |
| | | // 通过/驳回时,重载列表 |