| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.manageId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | v-model="queryParam.manageId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.useId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | v-model="queryParam.useId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | icon="calendar" |
| | | v-has="'equipmentAccount:add&delete&import&Edit'" |
| | | >设置å
³é®è®¾å¤æ è¯</a-button> |
| | | <a-button |
| | | type="primary" |
| | | @click="handleDownload" |
| | | icon="download" |
| | | >模çä¸è½½</a-button> |
| | | </div> |
| | | <!-- tableåºå-begin --> |
| | | <div> |
| | |
| | | :customRow="clickThenSelect" |
| | | @change="handleTableChange" |
| | | > |
| | | <!-- ç¹å»ææ¯ç¶æåï¼è·³è½¬å°ææ¯ç¶æé´å®é¡µé¢ --> |
| | | <!-- ç¹å»ææ¯ç¶æåï¼è·³è½¬å°ææ¯ç¶æé´å®é¡µé¢ --> |
| | | <template |
| | | slot="technologyStatus" |
| | | slot-scope="text,record" |
| | | > |
| | | > |
| | | <a |
| | | href="javascript:eam/EquipmentCalibrationOrder;" |
| | | @click="handleTechnologyStatus(record)">{{record.technologyStatus_dictText}}</a> |
| | | @click="handleTechnologyStatus(record)" |
| | | >{{record.technologyStatus_dictText}}</a> |
| | | </template> |
| | | <template |
| | | slot="htmlSlot" |
| | |
| | | class="error" |
| | | >å¦</span> |
| | | </span> |
| | | |
| | | <span |
| | | slot="name" |
| | | slot-scope="text" |
| | | > |
| | | <j-ellipsis |
| | | :value="text" |
| | | :length="8" |
| | | /> |
| | | </span> |
| | | |
| | | <template |
| | | slot="num" |
| | | slot-scope="text,record" |
| | | > |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleDetail(record)" |
| | | >{{record.num}}</a> |
| | | </template> |
| | | |
| | | <span |
| | | slot="action" |
| | |
| | | |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import JEllipsis from '@/components/jeecg/JEllipsis' |
| | | import EquipmentModal from './modules/equipmentNew/EquipmentModal' |
| | | import { getAction } from '@/api/manage' |
| | | import { getAction, downFile } from '@/api/manage' |
| | | import EquipmentProcessParametersList from './modules/equipmentNew/EquipmentProcessParametersList' |
| | | import EquipmentDocumentList from './modules/equipmentNew/EquipmentDocumentList' |
| | | import EquipmentPrecisionParametersList from './modules/equipmentNew/EquipmentPrecisionParametersList' |
| | |
| | | SecondMaintenanceList, |
| | | ThirdMaintenanceList, |
| | | KeyEquipmentUpdateModel, |
| | | JEllipsis, |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | dataIndex: 'isLineEquip_dictText', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: "center", |
| | | dataIndex: 'num', |
| | | scopedSlots: { customRender: 'num' }, |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: "center", |
| | | dataIndex: 'name', |
| | | scopedSlots: { customRender: 'name' }, |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | |
| | | align: "center", |
| | | dataIndex: 'useId_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»´æ¤é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'manageId_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»´ä¿®çç»', |
| | | align: "center", |
| | | dataIndex: 'teamId_dictText', |
| | | }, |
| | | // { |
| | | // title: 'ç»´æ¤é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'manageId_dictText', |
| | | // }, |
| | | // { |
| | | // title: 'ç»´ä¿®çç»', |
| | | // align: "center", |
| | | // dataIndex: 'teamId_dictText', |
| | | // }, |
| | | { |
| | | title: 'ABCæ è¯', |
| | | align: "center", |
| | | dataIndex: 'equipmentImportanceId', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | |
| | | { |
| | | title: 'ææ¯ç¶æ', |
| | | align: "center", |
| | |
| | | align: "center", |
| | | dataIndex: 'technologyStatusVerificationType_dictText', |
| | | }, |
| | | |
| | | { |
| | | title: '䏿¬¡ææ¯ç¶æé´å®æ¶é´', |
| | | align: "center", |
| | | dataIndex: 'nextTechnologyStatusQualificationTime', |
| | | }, |
| | | { |
| | | title: 'ç产线ç¼å·', |
| | | align: "center", |
| | |
| | | // dataIndex: 'fireExtinguisher', |
| | | // }, |
| | | |
| | | // { |
| | | // title: 'çç«å¨æææ', |
| | | // align: "center", |
| | | // dataIndex: 'fireExtinguisherValidityPeriod', |
| | | // }, |
| | | |
| | | // { |
| | | // title: 'æä½ç³»ç»', |
| | | // align: "center", |
| | |
| | | exportXlsUrl: '/eam/equipment/exportXls', |
| | | importExcelUrl: "/eam/equipment/importExcel", |
| | | loadOptions: '/sys/sysDepart/loadDepartTreeOptions', |
| | | uploadList: '/sys/upload/list', |
| | | download: '/sys/upload/downloadFile', |
| | | }, |
| | | dictOptions: { |
| | | }, |
| | |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | handleDownload() { |
| | | var params = {}//æ¥è¯¢æ¡ä»¶ |
| | | params.type = "equipment" |
| | | params.pageNo = 1 |
| | | params.pageSize = 10 |
| | | getAction(this.url.uploadList, params).then((res2) => { |
| | | if (res2.success) { |
| | | if (res2.result.records.length > 0) { |
| | | downFile(this.url.download, { id: res2.result.records[0].id }).then((res) => { |
| | | if (!res) { |
| | | this.$message.warning('æä»¶ä¸è½½å¤±è´¥') |
| | | return |
| | | } else { |
| | | let fileName = res2.result.records[0].name |
| | | if (typeof window.navigator.msSaveBlob !== 'undefined') { |
| | | window.navigator.msSaveBlob(new Blob([res]), fileName) |
| | | } else { |
| | | let url = window.URL.createObjectURL(new Blob([res])) |
| | | let link = document.createElement('a') |
| | | link.style.display = 'none' |
| | | link.href = url |
| | | link.setAttribute('download', fileName) |
| | | document.body.appendChild(link) |
| | | link.click() |
| | | document.body.removeChild(link) //ä¸è½½å®æç§»é¤å
ç´ |
| | | window.URL.revokeObjectURL(url) //éæ¾æblob对象 |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.manageId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | v-model="queryParam.manageId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.useId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | v-model="queryParam.useId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :customRow="clickThenSelect" |
| | | @change="handleTableChange" |
| | | > |
| | | <!-- ç¹å»ææ¯ç¶æåï¼è·³è½¬å°ææ¯ç¶æé´å®é¡µé¢ --> |
| | | <template |
| | | <!-- ç¹å»ææ¯ç¶æåï¼è·³è½¬å°ææ¯ç¶æé´å®é¡µé¢ --> |
| | | <template |
| | | slot="technologyStatus" |
| | | slot-scope="text,record" |
| | | > |
| | | > |
| | | <a |
| | | href="javascript:eam/EquipmentCalibrationOrder;" |
| | | @click="handleTechnologyStatus(record)">{{record.technologyStatus_dictText}}</a> |
| | | @click="handleTechnologyStatus(record)" |
| | | >{{record.technologyStatus_dictText}}</a> |
| | | </template> |
| | | <template |
| | | slot="htmlSlot" |
| | |
| | | class="error" |
| | | >å¦</span> |
| | | </span> |
| | | |
| | | <span |
| | | slot="name" |
| | | slot-scope="text" |
| | | > |
| | | <j-ellipsis |
| | | :value="text" |
| | | :length="8" |
| | | /> |
| | | </span> |
| | | |
| | | <template |
| | | slot="num" |
| | | slot-scope="text,record" |
| | | > |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleDetail(record)" |
| | | >{{record.num}}</a> |
| | | </template> |
| | | |
| | | <span |
| | | slot="action" |
| | |
| | | import DailyMaintenanceList from './modules/equipmentNew/DailyMaintenanceList.vue' |
| | | import SecondMaintenanceList from './modules/equipmentNew/SecondMaintenanceList.vue' |
| | | import ThirdMaintenanceList from './modules/equipmentNew/ThirdMaintenanceList.vue' |
| | | import JEllipsis from '@/components/jeecg/JEllipsis' |
| | | export default { |
| | | name: "EquipmentList", |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | |
| | | DailyMaintenanceList, |
| | | SecondMaintenanceList, |
| | | ThirdMaintenanceList, |
| | | JEllipsis |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | dataIndex: 'isLineEquip_dictText', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: "center", |
| | | dataIndex: 'num', |
| | | scopedSlots: { customRender: 'num' }, |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: "center", |
| | | dataIndex: 'name', |
| | | scopedSlots: { customRender: 'name' }, |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | |
| | | align: "center", |
| | | dataIndex: 'gpo', |
| | | }, |
| | | { |
| | | title: '使ç¨é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'useId_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»´æ¤é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'manageId_dictText', |
| | | }, |
| | | // { |
| | | // title: '使ç¨é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'useId_dictText', |
| | | // }, |
| | | // { |
| | | // title: 'ç»´æ¤é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'manageId_dictText', |
| | | // }, |
| | | { |
| | | title: 'ç»´ä¿®çç»', |
| | | align: "center", |
| | |
| | | align: "center", |
| | | dataIndex: 'equipmentImportanceId', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | // { |
| | | // title: 'å
³é®è®¾å¤æ è¯', |
| | | // align: "center", |
| | | // dataIndex: 'specificEquipment_dictText', |
| | | // }, |
| | | { |
| | | title: 'ææ¯ç¶æ', |
| | | align: "center", |
| | |
| | | dataIndex: 'technologyStatusVerificationType_dictText', |
| | | }, |
| | | { |
| | | title: '䏿¬¡ææ¯ç¶æé´å®æ¶é´', |
| | | align: "center", |
| | | dataIndex: 'nextTechnologyStatusQualificationTime', |
| | | }, |
| | | { |
| | | title: 'ç产线ç¼å·', |
| | | align: "center", |
| | | dataIndex: 'lineId_dictText', |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.manageId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | v-model="queryParam.manageId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.useId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | v-model="queryParam.useId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :customRow="clickThenSelect" |
| | | @change="handleTableChange" |
| | | > |
| | | <template |
| | | <template |
| | | slot="technologyStatus" |
| | | slot-scope="text,record" |
| | | > |
| | | > |
| | | <a |
| | | href="javascript:eam/EquipmentCalibrationOrder;" |
| | | @click="handleTechnologyStatus(record)">{{record.technologyStatus_dictText}}</a> |
| | | @click="handleTechnologyStatus(record)" |
| | | >{{record.technologyStatus_dictText}}</a> |
| | | </template> |
| | | <template |
| | | slot="htmlSlot" |
| | |
| | | class="error" |
| | | >å¦</span> |
| | | </span> |
| | | |
| | | <span |
| | | slot="name" |
| | | slot-scope="text" |
| | | > |
| | | <j-ellipsis |
| | | :value="text" |
| | | :length="8" |
| | | /> |
| | | </span> |
| | | |
| | | <template |
| | | slot="num" |
| | | slot-scope="text,record" |
| | | > |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleDetail(record)" |
| | | >{{record.num}}</a> |
| | | </template> |
| | | |
| | | <span |
| | | slot="action" |
| | |
| | | import DailyMaintenanceList from './modules/equipmentNew/DailyMaintenanceList.vue' |
| | | import SecondMaintenanceList from './modules/equipmentNew/SecondMaintenanceList.vue' |
| | | import ThirdMaintenanceList from './modules/equipmentNew/ThirdMaintenanceList.vue' |
| | | import JEllipsis from '@/components/jeecg/JEllipsis' |
| | | export default { |
| | | name: "EquipmentList", |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | |
| | | DailyMaintenanceList, |
| | | SecondMaintenanceList, |
| | | ThirdMaintenanceList, |
| | | JEllipsis |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | dataIndex: 'isLineEquip_dictText', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: "center", |
| | | dataIndex: 'num', |
| | | scopedSlots: { customRender: 'num' }, |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: "center", |
| | | dataIndex: 'name', |
| | | scopedSlots: { customRender: 'name' }, |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | |
| | | align: "center", |
| | | dataIndex: 'gpo', |
| | | }, |
| | | { |
| | | title: '使ç¨é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'useId_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»´æ¤é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'manageId_dictText', |
| | | }, |
| | | // { |
| | | // title: '使ç¨é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'useId_dictText', |
| | | // }, |
| | | // { |
| | | // title: 'ç»´æ¤é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'manageId_dictText', |
| | | // }, |
| | | { |
| | | title: 'ç»´ä¿®çç»', |
| | | align: "center", |
| | |
| | | dataIndex: 'technologyStatusVerificationType_dictText', |
| | | }, |
| | | { |
| | | title: '䏿¬¡ææ¯ç¶æé´å®æ¶é´', |
| | | align: "center", |
| | | dataIndex: 'nextTechnologyStatusQualificationTime', |
| | | }, |
| | | { |
| | | title: 'ç产线ç¼å·', |
| | | align: "center", |
| | | dataIndex: 'lineId_dictText', |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.manageId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | v-model="queryParam.manageId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.useId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | v-model="queryParam.useId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :customRow="clickThenSelect" |
| | | @change="handleTableChange" |
| | | > |
| | | <template |
| | | <template |
| | | slot="technologyStatus" |
| | | slot-scope="text,record" |
| | | > |
| | | > |
| | | <a |
| | | href="javascript:eam/EquipmentCalibrationOrder;" |
| | | @click="handleTechnologyStatus(record)">{{record.technologyStatus_dictText}}</a> |
| | | @click="handleTechnologyStatus(record)" |
| | | >{{record.technologyStatus_dictText}}</a> |
| | | </template> |
| | | <template |
| | | slot="htmlSlot" |
| | |
| | | class="error" |
| | | >å¦</span> |
| | | </span> |
| | | |
| | | <span |
| | | slot="name" |
| | | slot-scope="text" |
| | | > |
| | | <j-ellipsis |
| | | :value="text" |
| | | :length="8" |
| | | /> |
| | | </span> |
| | | |
| | | <template |
| | | slot="num" |
| | | slot-scope="text,record" |
| | | > |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleDetail(record)" |
| | | >{{record.num}}</a> |
| | | </template> |
| | | |
| | | <span |
| | | slot="action" |
| | |
| | | import DailyMaintenanceList from './modules/equipmentNew/DailyMaintenanceList.vue' |
| | | import SecondMaintenanceList from './modules/equipmentNew/SecondMaintenanceList.vue' |
| | | import ThirdMaintenanceList from './modules/equipmentNew/ThirdMaintenanceList.vue' |
| | | import JEllipsis from '@/components/jeecg/JEllipsis' |
| | | export default { |
| | | name: "EquipmentList", |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | |
| | | DailyMaintenanceList, |
| | | SecondMaintenanceList, |
| | | ThirdMaintenanceList, |
| | | JEllipsis |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | dataIndex: 'isLineEquip_dictText', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: "center", |
| | | dataIndex: 'num', |
| | | scopedSlots: { customRender: 'num' }, |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: "center", |
| | | dataIndex: 'name', |
| | | scopedSlots: { customRender: 'name' }, |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | |
| | | align: "center", |
| | | dataIndex: 'gpo', |
| | | }, |
| | | { |
| | | title: '使ç¨é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'useId_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»´æ¤é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'manageId_dictText', |
| | | }, |
| | | // { |
| | | // title: '使ç¨é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'useId_dictText', |
| | | // }, |
| | | // { |
| | | // title: 'ç»´æ¤é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'manageId_dictText', |
| | | // }, |
| | | { |
| | | title: 'ç»´ä¿®çç»', |
| | | align: "center", |
| | |
| | | dataIndex: 'technologyStatusVerificationType_dictText', |
| | | }, |
| | | { |
| | | title: '䏿¬¡ææ¯ç¶æé´å®æ¶é´', |
| | | align: "center", |
| | | dataIndex: 'nextTechnologyStatusQualificationTime', |
| | | }, |
| | | { |
| | | title: 'ç产线ç¼å·', |
| | | align: "center", |
| | | dataIndex: 'lineId_dictText', |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.manageId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | v-model="queryParam.manageId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.useId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | v-model="queryParam.useId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :customRow="clickThenSelect" |
| | | @change="handleTableChange" |
| | | > |
| | | <template |
| | | <template |
| | | slot="technologyStatus" |
| | | slot-scope="text,record" |
| | | > |
| | | > |
| | | <a |
| | | href="javascript:eam/EquipmentCalibrationOrder;" |
| | | @click="handleTechnologyStatus(record)">{{record.technologyStatus_dictText}}</a> |
| | | @click="handleTechnologyStatus(record)" |
| | | >{{record.technologyStatus_dictText}}</a> |
| | | </template> |
| | | <template |
| | | slot="htmlSlot" |
| | |
| | | class="error" |
| | | >å¦</span> |
| | | </span> |
| | | |
| | | <span |
| | | slot="name" |
| | | slot-scope="text" |
| | | > |
| | | <j-ellipsis |
| | | :value="text" |
| | | :length="8" |
| | | /> |
| | | </span> |
| | | |
| | | <template |
| | | slot="num" |
| | | slot-scope="text,record" |
| | | > |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleDetail(record)" |
| | | >{{record.num}}</a> |
| | | </template> |
| | | |
| | | <span |
| | | slot="action" |
| | |
| | | import DailyMaintenanceList from './modules/equipmentNew/DailyMaintenanceList.vue' |
| | | import SecondMaintenanceList from './modules/equipmentNew/SecondMaintenanceList.vue' |
| | | import ThirdMaintenanceList from './modules/equipmentNew/ThirdMaintenanceList.vue' |
| | | import JEllipsis from '@/components/jeecg/JEllipsis' |
| | | export default { |
| | | name: "EquipmentList", |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | |
| | | DailyMaintenanceList, |
| | | SecondMaintenanceList, |
| | | ThirdMaintenanceList, |
| | | JEllipsis |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | dataIndex: 'isLineEquip_dictText', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: "center", |
| | | dataIndex: 'num', |
| | | scopedSlots: { customRender: 'num' }, |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: "center", |
| | | dataIndex: 'name', |
| | | scopedSlots: { customRender: 'name' }, |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | |
| | | align: "center", |
| | | dataIndex: 'equipmentImportanceId', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | // { |
| | | // title: 'å
³é®è®¾å¤æ è¯', |
| | | // align: "center", |
| | | // dataIndex: 'specificEquipment_dictText', |
| | | // }, |
| | | { |
| | | title: 'ææ¯ç¶æ', |
| | | align: "center", |
| | |
| | | dataIndex: 'technologyStatusVerificationType_dictText', |
| | | }, |
| | | { |
| | | title: '䏿¬¡ææ¯ç¶æé´å®æ¶é´', |
| | | align: "center", |
| | | dataIndex: 'nextTechnologyStatusQualificationTime', |
| | | }, |
| | | { |
| | | title: 'ç产线ç¼å·', |
| | | align: "center", |
| | | dataIndex: 'lineId_dictText', |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.manageId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | v-model="queryParam.manageId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.useId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | v-model="queryParam.useId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :customRow="clickThenSelect" |
| | | @change="handleTableChange" |
| | | > |
| | | <template |
| | | <template |
| | | slot="technologyStatus" |
| | | slot-scope="text,record" |
| | | > |
| | | > |
| | | <a |
| | | href="javascript:eam/EquipmentCalibrationOrder;" |
| | | @click="handleTechnologyStatus(record)">{{record.technologyStatus_dictText}}</a> |
| | | @click="handleTechnologyStatus(record)" |
| | | >{{record.technologyStatus_dictText}}</a> |
| | | </template> |
| | | <template |
| | | slot="htmlSlot" |
| | |
| | | class="error" |
| | | >å¦</span> |
| | | </span> |
| | | |
| | | <span |
| | | slot="name" |
| | | slot-scope="text" |
| | | > |
| | | <j-ellipsis |
| | | :value="text" |
| | | :length="8" |
| | | /> |
| | | </span> |
| | | |
| | | <template |
| | | slot="num" |
| | | slot-scope="text,record" |
| | | > |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleDetail(record)" |
| | | >{{record.num}}</a> |
| | | </template> |
| | | |
| | | <span |
| | | slot="action" |
| | |
| | | import DailyMaintenanceList from './modules/equipmentNew/DailyMaintenanceList.vue' |
| | | import SecondMaintenanceList from './modules/equipmentNew/SecondMaintenanceList.vue' |
| | | import ThirdMaintenanceList from './modules/equipmentNew/ThirdMaintenanceList.vue' |
| | | import JEllipsis from '@/components/jeecg/JEllipsis' |
| | | export default { |
| | | name: "EquipmentList", |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | |
| | | DailyMaintenanceList, |
| | | SecondMaintenanceList, |
| | | ThirdMaintenanceList, |
| | | JEllipsis |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | dataIndex: 'isLineEquip_dictText', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: "center", |
| | | dataIndex: 'num', |
| | | scopedSlots: { customRender: 'num' }, |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: "center", |
| | | dataIndex: 'name', |
| | | scopedSlots: { customRender: 'name' }, |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | |
| | | align: "center", |
| | | dataIndex: 'gpo', |
| | | }, |
| | | { |
| | | title: '使ç¨é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'useId_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»´æ¤é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'manageId_dictText', |
| | | }, |
| | | // { |
| | | // title: '使ç¨é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'useId_dictText', |
| | | // }, |
| | | // { |
| | | // title: 'ç»´æ¤é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'manageId_dictText', |
| | | // }, |
| | | { |
| | | title: 'ç»´ä¿®çç»', |
| | | align: "center", |
| | |
| | | align: "center", |
| | | dataIndex: 'equipmentImportanceId', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | |
| | | { |
| | | title: 'ææ¯ç¶æ', |
| | | align: "center", |
| | |
| | | dataIndex: 'technologyStatusVerificationType_dictText', |
| | | }, |
| | | { |
| | | title: '䏿¬¡ææ¯ç¶æé´å®æ¶é´', |
| | | align: "center", |
| | | dataIndex: 'nextTechnologyStatusQualificationTime', |
| | | }, |
| | | { |
| | | title: 'ç产线ç¼å·', |
| | | align: "center", |
| | | dataIndex: 'lineId_dictText', |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.manageId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | v-model="queryParam.manageId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.useId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | v-model="queryParam.useId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :customRow="clickThenSelect" |
| | | @change="handleTableChange" |
| | | > |
| | | <template |
| | | <template |
| | | slot="technologyStatus" |
| | | slot-scope="text,record" |
| | | > |
| | | > |
| | | <a |
| | | href="javascript:eam/EquipmentCalibrationOrder;" |
| | | @click="handleTechnologyStatus(record)">{{record.technologyStatus_dictText}}</a> |
| | | @click="handleTechnologyStatus(record)" |
| | | >{{record.technologyStatus_dictText}}</a> |
| | | </template> |
| | | <template |
| | | slot="htmlSlot" |
| | |
| | | class="error" |
| | | >å¦</span> |
| | | </span> |
| | | |
| | | <span |
| | | slot="name" |
| | | slot-scope="text" |
| | | > |
| | | <j-ellipsis |
| | | :value="text" |
| | | :length="8" |
| | | /> |
| | | </span> |
| | | |
| | | <template |
| | | slot="num" |
| | | slot-scope="text,record" |
| | | > |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleDetail(record)" |
| | | >{{record.num}}</a> |
| | | </template> |
| | | |
| | | <span |
| | | slot="action" |
| | |
| | | import DailyMaintenanceList from './modules/equipmentNew/DailyMaintenanceList.vue' |
| | | import SecondMaintenanceList from './modules/equipmentNew/SecondMaintenanceList.vue' |
| | | import ThirdMaintenanceList from './modules/equipmentNew/ThirdMaintenanceList.vue' |
| | | import JEllipsis from '@/components/jeecg/JEllipsis' |
| | | export default { |
| | | name: "EquipmentList", |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | |
| | | DailyMaintenanceList, |
| | | SecondMaintenanceList, |
| | | ThirdMaintenanceList, |
| | | JEllipsis, |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | dataIndex: 'isLineEquip_dictText', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: "center", |
| | | dataIndex: 'num', |
| | | scopedSlots: { customRender: 'num' }, |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: "center", |
| | | dataIndex: 'name', |
| | | scopedSlots: { customRender: 'name' }, |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | |
| | | align: "center", |
| | | dataIndex: 'useId_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»´æ¤é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'manageId_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»´ä¿®çç»', |
| | | align: "center", |
| | | dataIndex: 'teamId_dictText', |
| | | }, |
| | | // { |
| | | // title: 'ç»´æ¤é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'manageId_dictText', |
| | | // }, |
| | | // { |
| | | // title: 'ç»´ä¿®çç»', |
| | | // align: "center", |
| | | // dataIndex: 'teamId_dictText', |
| | | // }, |
| | | { |
| | | title: 'ABCæ è¯', |
| | | align: "center", |
| | | dataIndex: 'equipmentImportanceId', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | |
| | | { |
| | | title: 'ææ¯ç¶æ', |
| | | align: "center", |
| | |
| | | dataIndex: 'technologyStatusVerificationType_dictText', |
| | | }, |
| | | { |
| | | title: '䏿¬¡ææ¯ç¶æé´å®æ¶é´', |
| | | align: "center", |
| | | dataIndex: 'nextTechnologyStatusQualificationTime', |
| | | }, |
| | | { |
| | | title: 'ç产线ç¼å·', |
| | | align: "center", |
| | | dataIndex: 'lineId_dictText', |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.manageId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | v-model="queryParam.manageId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.useId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | v-model="queryParam.useId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :customRow="clickThenSelect" |
| | | @change="handleTableChange" |
| | | > |
| | | <template |
| | | <template |
| | | slot="technologyStatus" |
| | | slot-scope="text,record" |
| | | > |
| | | > |
| | | <a |
| | | href="javascript:eam/EquipmentCalibrationOrder;" |
| | | @click="handleTechnologyStatus(record)">{{record.technologyStatus_dictText}}</a> |
| | | @click="handleTechnologyStatus(record)" |
| | | >{{record.technologyStatus_dictText}}</a> |
| | | </template> |
| | | |
| | | <template |
| | |
| | | class="error" |
| | | >å¦</span> |
| | | </span> |
| | | |
| | | <span |
| | | slot="name" |
| | | slot-scope="text" |
| | | > |
| | | <j-ellipsis |
| | | :value="text" |
| | | :length="8" |
| | | /> |
| | | </span> |
| | | |
| | | <template |
| | | slot="num" |
| | | slot-scope="text,record" |
| | | > |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleDetail(record)" |
| | | >{{record.num}}</a> |
| | | </template> |
| | | |
| | | <span |
| | | slot="action" |
| | |
| | | import DailyMaintenanceList from './modules/equipmentNew/DailyMaintenanceList.vue' |
| | | import SecondMaintenanceList from './modules/equipmentNew/SecondMaintenanceList.vue' |
| | | import ThirdMaintenanceList from './modules/equipmentNew/ThirdMaintenanceList.vue' |
| | | import JEllipsis from '@/components/jeecg/JEllipsis' |
| | | export default { |
| | | name: "EquipmentList", |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | |
| | | DailyMaintenanceList, |
| | | SecondMaintenanceList, |
| | | ThirdMaintenanceList, |
| | | JEllipsis |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | dataIndex: 'isLineEquip_dictText', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: "center", |
| | | dataIndex: 'num', |
| | | scopedSlots: { customRender: 'num' }, |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: "center", |
| | | dataIndex: 'name', |
| | | scopedSlots: { customRender: 'name' }, |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | |
| | | align: "center", |
| | | dataIndex: 'gpo', |
| | | }, |
| | | { |
| | | title: '使ç¨é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'useId_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»´æ¤é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'manageId_dictText', |
| | | }, |
| | | // { |
| | | // title: '使ç¨é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'useId_dictText', |
| | | // }, |
| | | // { |
| | | // title: 'ç»´æ¤é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'manageId_dictText', |
| | | // }, |
| | | { |
| | | title: 'ç»´ä¿®çç»', |
| | | align: "center", |
| | |
| | | align: "center", |
| | | dataIndex: 'equipmentImportanceId', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | // { |
| | | // title: 'å
³é®è®¾å¤æ è¯', |
| | | // align: "center", |
| | | // dataIndex: 'specificEquipment_dictText', |
| | | // }, |
| | | { |
| | | title: 'ææ¯ç¶æ', |
| | | align: "center", |
| | |
| | | dataIndex: 'technologyStatusVerificationType_dictText', |
| | | }, |
| | | { |
| | | title: '䏿¬¡ææ¯ç¶æé´å®æ¶é´', |
| | | align: "center", |
| | | dataIndex: 'nextTechnologyStatusQualificationTime', |
| | | }, |
| | | { |
| | | title: 'ç产线ç¼å·', |
| | | align: "center", |
| | | dataIndex: 'lineId_dictText', |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.manageId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | v-model="queryParam.manageId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.useId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | v-model="queryParam.useId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :customRow="clickThenSelect" |
| | | @change="handleTableChange" |
| | | > |
| | | <template |
| | | <template |
| | | slot="technologyStatus" |
| | | slot-scope="text,record" |
| | | > |
| | | > |
| | | <a |
| | | href="javascript:eam/EquipmentCalibrationOrder;" |
| | | @click="handleTechnologyStatus(record)">{{record.technologyStatus_dictText}}</a> |
| | | @click="handleTechnologyStatus(record)" |
| | | >{{record.technologyStatus_dictText}}</a> |
| | | </template> |
| | | <template |
| | | slot="htmlSlot" |
| | |
| | | class="error" |
| | | >å¦</span> |
| | | </span> |
| | | |
| | | <span |
| | | slot="name" |
| | | slot-scope="text" |
| | | > |
| | | <j-ellipsis |
| | | :value="text" |
| | | :length="8" |
| | | /> |
| | | </span> |
| | | |
| | | <template |
| | | slot="num" |
| | | slot-scope="text,record" |
| | | > |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleDetail(record)" |
| | | >{{record.num}}</a> |
| | | </template> |
| | | |
| | | <span |
| | | slot="action" |
| | |
| | | import DailyMaintenanceList from './modules/equipmentNew/DailyMaintenanceList.vue' |
| | | import SecondMaintenanceList from './modules/equipmentNew/SecondMaintenanceList.vue' |
| | | import ThirdMaintenanceList from './modules/equipmentNew/ThirdMaintenanceList.vue' |
| | | import JEllipsis from '@/components/jeecg/JEllipsis' |
| | | export default { |
| | | name: "EquipmentList", |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | |
| | | DailyMaintenanceList, |
| | | SecondMaintenanceList, |
| | | ThirdMaintenanceList, |
| | | JEllipsis |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | dataIndex: 'isLineEquip_dictText', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: "center", |
| | | dataIndex: 'num', |
| | | scopedSlots: { customRender: 'num' }, |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: "center", |
| | | dataIndex: 'name', |
| | | scopedSlots: { customRender: 'name' }, |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | |
| | | align: "center", |
| | | dataIndex: 'useId_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»´æ¤é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'manageId_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»´ä¿®çç»', |
| | | align: "center", |
| | | dataIndex: 'teamId_dictText', |
| | | }, |
| | | // { |
| | | // title: 'ç»´æ¤é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'manageId_dictText', |
| | | // }, |
| | | // { |
| | | // title: 'ç»´ä¿®çç»', |
| | | // align: "center", |
| | | // dataIndex: 'teamId_dictText', |
| | | // }, |
| | | { |
| | | title: 'ABCæ è¯', |
| | | align: "center", |
| | | dataIndex: 'equipmentImportanceId', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | // { |
| | | // title: 'å
³é®è®¾å¤æ è¯', |
| | | // align: "center", |
| | | // dataIndex: 'specificEquipment_dictText', |
| | | // }, |
| | | { |
| | | title: 'ææ¯ç¶æ', |
| | | align: "center", |
| | |
| | | dataIndex: 'technologyStatusVerificationType_dictText', |
| | | }, |
| | | { |
| | | title: '䏿¬¡ææ¯ç¶æé´å®æ¶é´', |
| | | align: "center", |
| | | dataIndex: 'nextTechnologyStatusQualificationTime', |
| | | }, |
| | | { |
| | | title: 'ç产线ç¼å·', |
| | | align: "center", |
| | | dataIndex: 'lineId_dictText', |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.manageId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | v-model="queryParam.manageId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.useId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | v-model="queryParam.useId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :customRow="clickThenSelect" |
| | | @change="handleTableChange" |
| | | > |
| | | <template |
| | | <template |
| | | slot="technologyStatus" |
| | | slot-scope="text,record" |
| | | > |
| | | > |
| | | <a |
| | | href="javascript:eam/EquipmentCalibrationOrder;" |
| | | @click="handleTechnologyStatus(record)">{{record.technologyStatus_dictText}}</a> |
| | | @click="handleTechnologyStatus(record)" |
| | | >{{record.technologyStatus_dictText}}</a> |
| | | </template> |
| | | <template |
| | | slot="htmlSlot" |
| | |
| | | class="error" |
| | | >å¦</span> |
| | | </span> |
| | | |
| | | <span |
| | | slot="name" |
| | | slot-scope="text" |
| | | > |
| | | <j-ellipsis |
| | | :value="text" |
| | | :length="8" |
| | | /> |
| | | </span> |
| | | |
| | | <template |
| | | slot="num" |
| | | slot-scope="text,record" |
| | | > |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleDetail(record)" |
| | | >{{record.num}}</a> |
| | | </template> |
| | | |
| | | <span |
| | | slot="action" |
| | |
| | | import DailyMaintenanceList from './modules/equipmentNew/DailyMaintenanceList.vue' |
| | | import SecondMaintenanceList from './modules/equipmentNew/SecondMaintenanceList.vue' |
| | | import ThirdMaintenanceList from './modules/equipmentNew/ThirdMaintenanceList.vue' |
| | | import JEllipsis from '@/components/jeecg/JEllipsis' |
| | | export default { |
| | | name: "EquipmentList", |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | |
| | | DailyMaintenanceList, |
| | | SecondMaintenanceList, |
| | | ThirdMaintenanceList, |
| | | JEllipsis |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | dataIndex: 'isLineEquip_dictText', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: "center", |
| | | dataIndex: 'num', |
| | | scopedSlots: { customRender: 'num' }, |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: "center", |
| | | dataIndex: 'name', |
| | | scopedSlots: { customRender: 'name' }, |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | |
| | | align: "center", |
| | | dataIndex: 'gpo', |
| | | }, |
| | | { |
| | | title: '使ç¨é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'useId_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»´æ¤é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'manageId_dictText', |
| | | }, |
| | | // { |
| | | // title: '使ç¨é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'useId_dictText', |
| | | // }, |
| | | // { |
| | | // title: 'ç»´æ¤é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'manageId_dictText', |
| | | // }, |
| | | { |
| | | title: 'ç»´ä¿®çç»', |
| | | align: "center", |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.manageId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | v-model="queryParam.manageId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | <!-- <a-tree-select |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | tree-default-expand-all |
| | | v-model="queryParam.useId" |
| | | /> --> |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ä½¿ç¨é¨é¨" |
| | | v-model="queryParam.useId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :customRow="clickThenSelect" |
| | | @change="handleTableChange" |
| | | > |
| | | <template |
| | | <template |
| | | slot="technologyStatus" |
| | | slot-scope="text,record" |
| | | > |
| | | > |
| | | <a |
| | | href="javascript:eam/EquipmentCalibrationOrder;" |
| | | @click="handleTechnologyStatus(record)">{{record.technologyStatus_dictText}}</a> |
| | | @click="handleTechnologyStatus(record)" |
| | | >{{record.technologyStatus_dictText}}</a> |
| | | </template> |
| | | <template |
| | | slot="htmlSlot" |
| | |
| | | class="error" |
| | | >å¦</span> |
| | | </span> |
| | | |
| | | <span |
| | | slot="name" |
| | | slot-scope="text" |
| | | > |
| | | <j-ellipsis |
| | | :value="text" |
| | | :length="8" |
| | | /> |
| | | </span> |
| | | |
| | | <template |
| | | slot="num" |
| | | slot-scope="text,record" |
| | | > |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleDetail(record)" |
| | | >{{record.num}}</a> |
| | | </template> |
| | | |
| | | <span |
| | | slot="action" |
| | |
| | | import DailyMaintenanceList from './modules/equipmentNew/DailyMaintenanceList.vue' |
| | | import SecondMaintenanceList from './modules/equipmentNew/SecondMaintenanceList.vue' |
| | | import ThirdMaintenanceList from './modules/equipmentNew/ThirdMaintenanceList.vue' |
| | | import JEllipsis from '@/components/jeecg/JEllipsis' |
| | | export default { |
| | | name: "EquipmentList", |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | |
| | | DailyMaintenanceList, |
| | | SecondMaintenanceList, |
| | | ThirdMaintenanceList, |
| | | JEllipsis |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | dataIndex: 'isLineEquip_dictText', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: "center", |
| | | dataIndex: 'num', |
| | | scopedSlots: { customRender: 'num' }, |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: "center", |
| | | dataIndex: 'name', |
| | | scopedSlots: { customRender: 'name' }, |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | |
| | | align: "center", |
| | | dataIndex: 'gpo', |
| | | }, |
| | | { |
| | | title: '使ç¨é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'useId_dictText', |
| | | }, |
| | | { |
| | | title: 'ç»´æ¤é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'manageId_dictText', |
| | | }, |
| | | // { |
| | | // title: '使ç¨é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'useId_dictText', |
| | | // }, |
| | | // { |
| | | // title: 'ç»´æ¤é¨é¨', |
| | | // align: "center", |
| | | // dataIndex: 'manageId_dictText', |
| | | // }, |
| | | { |
| | | title: 'ç»´ä¿®çç»', |
| | | align: "center", |
| | |
| | | align: "center", |
| | | dataIndex: 'equipmentImportanceId', |
| | | }, |
| | | { |
| | | title: 'å
³é®è®¾å¤æ è¯', |
| | | align: "center", |
| | | dataIndex: 'specificEquipment_dictText', |
| | | }, |
| | | |
| | | { |
| | | title: 'ææ¯ç¶æ', |
| | | align: "center", |
| | |
| | | dataIndex: 'technologyStatusVerificationType_dictText', |
| | | }, |
| | | { |
| | | title: '䏿¬¡ææ¯ç¶æé´å®æ¶é´', |
| | | align: "center", |
| | | dataIndex: 'nextTechnologyStatusQualificationTime', |
| | | }, |
| | | { |
| | | title: 'ç产线ç¼å·', |
| | | align: "center", |
| | | dataIndex: 'lineId_dictText', |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-card |
| | | title="è®¾å¤æ
éåå " |
| | | :bordered="true" |
| | | > |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form |
| | | layout="inline" |
| | | @keyup.enter.native="searchQuery" |
| | | > |
| | | <a-row :gutter="24"> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="ç»ä¸ç¼ç "> |
| | | <a-input |
| | | placeholder="请è¾å
¥ç»ä¸ç¼ç " |
| | | v-model="queryParam.equipmentNum" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="ç»´ä¿®æ¶é´"> |
| | | <a-range-picker |
| | | style="width: 100%;" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | v-model="faultTime" |
| | | @change="timeChange" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <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 --> |
| | | |
| | | <a-row> |
| | | <a-col |
| | | :sm="24" |
| | | :md="24" |
| | | :xl="12" |
| | | :style="{ marginBottom: '15px' }" |
| | | > |
| | | <a-card |
| | | :loading="loading" |
| | | :bordered="true" |
| | | title="" |
| | | > |
| | | <pie :dataSource="defectInfo"></pie> |
| | | </a-card> |
| | | |
| | | </a-col> |
| | | <a-col |
| | | :sm="24" |
| | | :md="24" |
| | | :xl="12" |
| | | :style="{ marginBottom: '15px' }" |
| | | > |
| | | <a-card |
| | | :loading="loading" |
| | | :bordered="true" |
| | | title="" |
| | | > |
| | | <bar |
| | | title="" |
| | | :dataSource="barData" |
| | | /> |
| | | </a-card> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import { getAction, deleteAction, postAction } from '@/api/manage' |
| | | import Pie from '@/components/chart/Pie' |
| | | import Bar from '@/components/chart/Bar' |
| | | import moment from 'moment' |
| | | |
| | | export default { |
| | | name: 'TeamList', |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | | components: { |
| | | Pie, |
| | | Bar |
| | | }, |
| | | data() { |
| | | return { |
| | | description: 'FaultCauseChart', |
| | | // barData: [{ x: 'è®¾å¤æ
é', y: 5 }, { x: 'å
¶ä»', y: 8 }], |
| | | barData: [], |
| | | defectInfo: [], |
| | | url: { |
| | | list: "/eam/repairOrder/getFaultCausePie", |
| | | list2: "/eam/repairOrder/getFaultCauseBar", |
| | | }, |
| | | // 表头 |
| | | faultTime: [], |
| | | dictOptions: {}, |
| | | superFieldList: [], |
| | | queryParam: {} |
| | | } |
| | | }, |
| | | created() { |
| | | this.loadData2(1); |
| | | }, |
| | | methods: { |
| | | |
| | | timeChange() { |
| | | this.queryParam.faultStartTime = moment(this.faultTime[0]).format("YYYY-MM-DD HH:mm:ss") |
| | | this.queryParam.faultEndTime = moment(this.faultTime[1]).format("YYYY-MM-DD HH:mm:ss") |
| | | }, |
| | | |
| | | searchQuery() { |
| | | this.loadData(1); |
| | | this.loadData2(1); |
| | | }, |
| | | |
| | | searchReset() { |
| | | this.faultTime = [] |
| | | this.queryParam = {} |
| | | this.loadData(1); |
| | | this.loadData2(1); |
| | | }, |
| | | |
| | | loadData(arg) { |
| | | this.loading = true; |
| | | getAction(this.url.list, this.queryParam).then((res) => { |
| | | if (res.success) { |
| | | this.barData = res.result.records || res.result; |
| | | } else { |
| | | this.$message.warning(res.message) |
| | | } |
| | | }).finally(() => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | |
| | | loadData2(arg) { |
| | | this.loading = true; |
| | | getAction(this.url.list2, this.queryParam).then((res) => { |
| | | if (res.success) { |
| | | this.defectInfo = res.result.records || res.result; |
| | | } else { |
| | | this.$message.warning(res.message) |
| | | } |
| | | }).finally(() => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-card |
| | | :bordered="false" |
| | | title="MTBF" |
| | | > |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form |
| | | layout="inline" |
| | | @keyup.enter.native="searchQuery" |
| | | > |
| | | <a-row :gutter="24"> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="ç»ä¸æ ç "> |
| | | <a-input |
| | | placeholder="请è¾å
¥ç»ä¸æ ç " |
| | | v-model="queryParam.equipmentNum" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="ç»´ä¿®æ¶é´"> |
| | | <a-range-picker |
| | | style="width: 100%;" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | v-model="faultTime" |
| | | @change="timeChange" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <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> |
| | | <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" |
| | | :scroll="{x:true}" |
| | | bordered |
| | | rowKey="id" |
| | | :columns="columns" |
| | | :dataSource="dataSource" |
| | | :pagination="ipagination" |
| | | :loading="loading" |
| | | class="j-table-force-nowrap" |
| | | @change="handleTableChange" |
| | | > |
| | | <!-- :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" --> |
| | | |
| | | </a-table> |
| | | </div> |
| | | |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import moment from 'moment' |
| | | |
| | | export default { |
| | | name: 'MTBF', |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | | components: {}, |
| | | data() { |
| | | return { |
| | | description: 'MTBF', |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: "center", |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1; |
| | | } |
| | | }, |
| | | { |
| | | title: 'æ
éåå ', |
| | | align: "center", |
| | | dataIndex: 'item' |
| | | }, |
| | | { |
| | | title: 'åçæ¬¡æ°', |
| | | align: "center", |
| | | dataIndex: 'count' |
| | | }, |
| | | ], |
| | | url: { |
| | | list: "/eam/repairOrder/getMTPF", |
| | | }, |
| | | // 表头 |
| | | faultTime: [], |
| | | queryParam: {} |
| | | } |
| | | }, |
| | | created() { }, |
| | | methods: { |
| | | timeChange() { |
| | | this.queryParam.faultStartTime = moment(this.faultTime[0]).format("YYYY-MM-DD HH:mm:ss") |
| | | this.queryParam.faultEndTime = moment(this.faultTime[1]).format("YYYY-MM-DD HH:mm:ss") |
| | | }, |
| | | |
| | | searchQuery() { |
| | | this.loadData(1); |
| | | }, |
| | | |
| | | searchReset() { |
| | | this.faultTime = [] |
| | | this.queryParam = {} |
| | | this.loadData(1); |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
| | |
| | | @change="handleTableChange" |
| | | :customRow="clickThenSelect" |
| | | > |
| | | <!-- ç¹å»å跳转å°äºæ
ç»è®°é¡µ --> |
| | | <!-- ç¹å»å跳转å°äºæ
ç»è®°é¡µ --> |
| | | <template |
| | | slot="accidentRegistrationProgress" |
| | | slot-scope="text, record"> |
| | | slot-scope="text, record" |
| | | > |
| | | <a |
| | | v-if="text!==''&&text!==null" |
| | | @click="handleAccidentRegistration(record)"> |
| | | @click="handleAccidentRegistration(record)" |
| | | > |
| | | {{text=='yes'? '已确认':'æªç¡®è®¤'}} |
| | | </a> |
| | | </template> |
| | | <!-- ç¹å»å跳转å°è´¨é鿣页 --> |
| | | <template |
| | | slot="qualityHiddenDangerProgress" |
| | | slot-scope="text, record"> |
| | | slot-scope="text, record" |
| | | > |
| | | <a |
| | | v-if="text!==''&&text!==null" |
| | | @click="handleQualityHiddenDanger(record)"> |
| | | @click="handleQualityHiddenDanger(record)" |
| | | > |
| | | {{text=='yes'? '已确认':'æªç¡®è®¤'}} |
| | | </a> |
| | | </template> |
| | |
| | | { |
| | | title: 'åæ®å·', |
| | | align: "center", |
| | | dataIndex: 'num' |
| | | dataIndex: 'num', |
| | | width: 150 |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼å·', |
| | | align: "center", |
| | | dataIndex: 'equipmentNum' |
| | | }, |
| | | { |
| | | title: 'ç¶æ', |
| | |
| | | if (text == '1') { |
| | | return "è¢«å¨æ¥ä¿®"; |
| | | } else if (text == '2') { |
| | | return "䏻卿¥ä¿®"; |
| | | return "è½¦é´æ¥ä¿®"; |
| | | } else if (text == '3') { |
| | | return "主å¨ç»´ä¿®"; |
| | | } |
| | |
| | | dataIndex: 'specificEquipment', |
| | | scopedSlots: { customRender: 'specificEquipment' } |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼å·', |
| | | align: "center", |
| | | dataIndex: 'equipmentNum' |
| | | }, |
| | | |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: "center", |
| | |
| | | align: "center", |
| | | dataIndex: 'remark' |
| | | }, |
| | | //è´¨ééæ£ç¡®è®¤è¿åº¦ |
| | | { |
| | | //è´¨ééæ£ç¡®è®¤è¿åº¦ |
| | | { |
| | | title: 'è´¨é鿣', |
| | | align: "center", |
| | | dataIndex: 'isConfirm1', |
| | |
| | | width: 100, |
| | | scopedSlots: { customRender: 'action' } |
| | | }, |
| | | |
| | | |
| | | ], |
| | | url: { |
| | | list: "/eam/equipmentReportRepair/getReportRepairList", |
| | |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <template v-if="toggleSearchStatus"> |
| | | <a-col |
| | | :xl="6" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <a-form-item label="å®¡æ ¸ç¶æ"> |
| | | <j-dict-select-tag |
| | | placeholder="è¯·éæ©å®¡æ ¸ç¶æ" |
| | | v-model="queryParam.auditStatus" |
| | | dictCode="certificate_apply_status" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </template> |
| | | <!-- <template v-if="toggleSearchStatus"> --> |
| | | <a-col |
| | | :xl="6" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <a-form-item label="å®¡æ ¸ç¶æ"> |
| | | <j-dict-select-tag |
| | | placeholder="è¯·éæ©å®¡æ ¸ç¶æ" |
| | | v-model="queryParam.auditStatus" |
| | | dictCode="certificate_apply_status" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <!-- </template> --> |
| | | <a-col |
| | | :xl="6" |
| | | :lg="7" |
| | |
| | | icon="reload" |
| | | style="margin-left: 8px" |
| | | >éç½®</a-button> |
| | | <a |
| | | <!-- <a |
| | | @click="handleToggleSearch" |
| | | style="margin-left: 8px" |
| | | > |
| | | {{ toggleSearchStatus ? 'æ¶èµ·' : 'å±å¼' }} |
| | | <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> |
| | | </a> |
| | | </a> --> |
| | | </span> |
| | | </a-col> |
| | | </a-row> |
| | |
| | | icon="download" |
| | | @click="handleExportXls('æä½è¯ç³è¯·è¡¨')" |
| | | >导åº</a-button> |
| | | <a-upload |
| | | <!-- <a-upload |
| | | name="file" |
| | | :showUploadList="false" |
| | | :multiple="false" |
| | |
| | | type="primary" |
| | | icon="import" |
| | | >导å
¥</a-button> |
| | | </a-upload> |
| | | </a-upload> --> |
| | | <a-button |
| | | @click="handleAchievement" |
| | | type="primary" |
| | |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
| | | @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" |
| | |
| | | @click="handleFinish(record)" |
| | | v-has="'OperationCertificateApply:equipmentAdmin'" |
| | | >å®¡æ ¸</a> |
| | | <!-- <a-popconfirm |
| | | v-if="record.auditStatus == 'submitted'" |
| | | title="确认éè¿å®¡æ¹å?" |
| | | @confirm="() =>handleCommit(record, 'approved')" |
| | | > |
| | | <a>审æ¹</a> |
| | | </a-popconfirm> |
| | | <a-popconfirm |
| | | v-if="record.auditStatus == 'approved'" |
| | | title="确认éè¿å®¡æ ¸å?" |
| | | @confirm="() =>handleCommit(record, 'audited')" |
| | | > |
| | | <a>å®¡æ ¸</a> |
| | | </a-popconfirm> --> |
| | | <a-divider |
| | | type="vertical" |
| | | v-if="record.auditStatus == 'created' || record.auditStatus == 'submitted' || record.auditStatus == 'approved'" |
| | |
| | | dataIndex: 'handlePerson_dictText' |
| | | }, |
| | | { |
| | | title: '夿³¨', |
| | | title: 'åçæ¶é´', |
| | | align: "center", |
| | | dataIndex: 'remark' |
| | | dataIndex: 'createTime' |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | |
| | | approve: "/eam/operationCertificateApply/approve" |
| | | }, |
| | | dictOptions: {}, |
| | | superFieldList: [], |
| | | // superFieldList: [], |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList(); |
| | | // this.getSuperFieldList(); |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function () { |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | initDictConfig() { |
| | | }, |
| | | getSuperFieldList() { |
| | | let fieldList = []; |
| | | fieldList.push({ type: 'string', value: 'num', text: 'ç³è¯·åç¼å·', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'type', text: 'ç±»å', dictCode: 'apply_type' }) |
| | | fieldList.push({ type: 'sel_depart', value: 'departId', text: 'æå¨åä½' }) |
| | | fieldList.push({ type: 'string', value: 'contactNumber', text: 'ç³è¯·åä½èç³»çµè¯', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'applicant', text: 'ç³è¯·äºº', dictCode: "sys_user,realname,id" }) |
| | | fieldList.push({ type: 'string', value: 'auditStatus', text: 'å®¡æ ¸ç¶æ', dictCode: 'certificate_apply_status' }) |
| | | fieldList.push({ type: 'string', value: 'remark', text: '夿³¨', dictCode: '' }) |
| | | this.superFieldList = fieldList |
| | | }, |
| | | // initDictConfig() { |
| | | // }, |
| | | // getSuperFieldList() { |
| | | // let fieldList = []; |
| | | // fieldList.push({ type: 'string', value: 'num', text: 'ç³è¯·åç¼å·', dictCode: '' }) |
| | | // fieldList.push({ type: 'string', value: 'type', text: 'ç±»å', dictCode: 'apply_type' }) |
| | | // fieldList.push({ type: 'sel_depart', value: 'departId', text: 'æå¨åä½' }) |
| | | // fieldList.push({ type: 'string', value: 'contactNumber', text: 'ç³è¯·åä½èç³»çµè¯', dictCode: '' }) |
| | | // fieldList.push({ type: 'string', value: 'applicant', text: 'ç³è¯·äºº', dictCode: "sys_user,realname,id" }) |
| | | // fieldList.push({ type: 'string', value: 'auditStatus', text: 'å®¡æ ¸ç¶æ', dictCode: 'certificate_apply_status' }) |
| | | // fieldList.push({ type: 'string', value: 'remark', text: '夿³¨', dictCode: '' }) |
| | | // this.superFieldList = fieldList |
| | | // }, |
| | | handleCommit(record, type) { |
| | | if (type == 'commit') { |
| | | record.auditStatus = 'submitted' |
| | |
| | | icon='download' |
| | | @click="handleExportXls('æä½è¯ä¹¦ç®¡ç')" |
| | | >导åº</a-button> |
| | | <a-upload |
| | | <!-- <a-upload |
| | | name='file' |
| | | :showUploadList='false' |
| | | :multiple='false' |
| | |
| | | type='primary' |
| | | icon='import' |
| | | >导å
¥</a-button> |
| | | </a-upload> |
| | | </a-upload> --> |
| | | <!-- é«çº§æ¥è¯¢åºå --> |
| | | <!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>--> |
| | | <!-- <a-dropdown v-if="selectedRowKeys.length > 0">--> |
| | |
| | | @change='handleTableChange' |
| | | :rowClassName="tableRowClass" |
| | | > |
| | | |
| | | <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> |
| | | |
| | | </a-table> |
| | | </div> |
| | |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="24"> |
| | | <a-col |
| | | :xl="6" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <a-form-item |
| | | label="ABCæ è¯" |
| | | > |
| | | <a-col |
| | | :xl="6" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <a-form-item label="ABCæ è¯"> |
| | | <j-dict-select-tag |
| | | allow-clear |
| | | placeholder="è¯·éæ©ABCæ è¯" |
| | |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :xl="6" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | :xl="6" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <a-form-item label="æ
éåå "> |
| | | <j-dict-select-tag |
| | | allow-clear |
| | | placeholder="è¯·éæ©æ
éåå " |
| | | :triggerChange="true" |
| | | dictCode="repair_order_fault_cause" |
| | | v-model="queryParam.faultCause" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :xl="6" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <a-form-item label="æ¥ä¿®æ¶é´"> |
| | | <a-range-picker |
| | |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :xl="6" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | :xl="6" |
| | | :lg="7" |
| | | :md="8" |
| | | :sm="24" |
| | | > |
| | | <a-form-item label="å建æ¶é´"> |
| | | <a-range-picker |
| | |
| | | </a-dropdown> |
| | | </span> |
| | | |
| | | <template |
| | | slot="equipmentNum" |
| | | slot-scope="text, record" |
| | | > |
| | | <a-popover title="æ
éåå ç»è®¡"> |
| | | <template slot="content"> |
| | | <p |
| | | v-for="(faultCauseMap, index) in record.equipmentFaultCause" |
| | | :key="index" |
| | | > |
| | | <span class="fontweight">{{ faultCauseMap.faultCause }}ï¼{{ faultCauseMap.total }}</span> |
| | | </p> |
| | | </template> |
| | | <span> |
| | | {{ record.equipmentNum }} |
| | | </span> |
| | | </a-popover> |
| | | </template> |
| | | |
| | | <template |
| | | slot="faultCauseCount" |
| | | slot-scope="text, record" |
| | | > |
| | | <a-popover title="æ
éåå ç»è®¡"> |
| | | <template slot="content"> |
| | | <p |
| | | v-for="(faultCauseMap, index) in record.allFaultCause" |
| | | :key="index" |
| | | > |
| | | <span class="fontweight">{{ faultCauseMap.faultCause }}ï¼{{ faultCauseMap.total }}</span> |
| | | </p> |
| | | </template> |
| | | <span> |
| | | {{ record.faultCauseCount }} |
| | | </span> |
| | | </a-popover> |
| | | </template> |
| | | |
| | | </a-table> |
| | | </div> |
| | | |
| | |
| | | description: '维修工å管ç页é¢', |
| | | // 表头 |
| | | faultTime: [], |
| | | createTimes:[], |
| | | createTimes: [], |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: "center", |
| | | dataIndex: 'equipmentNum' |
| | | dataIndex: 'equipmentNum', |
| | | scopedSlots: { customRender: 'equipmentNum' } |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | |
| | | align: "center", |
| | | dataIndex: 'faultTime' |
| | | }, |
| | | { |
| | | title: 'æ¥ä¿®äºº', |
| | | align: "center", |
| | | dataIndex: 'errUda2' |
| | | }, |
| | | // { |
| | | // title: 'æ¥ä¿®äºº', |
| | | // align: "center", |
| | | // dataIndex: 'errUda2', |
| | | // }, |
| | | { |
| | | title: 'æ
éæè¿°', |
| | | align: "center", |
| | |
| | | customRender: 'jell' |
| | | } |
| | | }, |
| | | // { |
| | | // title: 'æ
éåå ', |
| | | // align: "center", |
| | | // dataIndex: 'faultReason' |
| | | // }, |
| | | { |
| | | title: 'æ
éåå ', |
| | | align: "center", |
| | | dataIndex: 'faultCauseCount', |
| | | scopedSlots: { customRender: 'faultCauseCount' } |
| | | }, |
| | | // { |
| | | // title: 'æ
éç°è±¡', |
| | | // align: "center", |
| | |
| | | this.queryParam.faultStartTime = moment(this.faultTime[0]).format("YYYY-MM-DD HH:mm:ss") |
| | | this.queryParam.faultEndTime = moment(this.faultTime[1]).format("YYYY-MM-DD HH:mm:ss") |
| | | }, |
| | | timeChangeCreate(){ |
| | | timeChangeCreate() { |
| | | this.queryParam.createStartTime = moment(this.createTimes[0]).format("YYYY-MM-DD HH:mm:ss") |
| | | this.queryParam.createEndTime = moment(this.createTimes[1]).format("YYYY-MM-DD HH:mm:ss") |
| | | }, |
| | |
| | | this.onClearSelected() |
| | | this.$refs.FaultDescriptionList.faultId = '-1' |
| | | this.faultTime = [] |
| | | this.createTimes=[] |
| | | this.createTimes = [] |
| | | }, |
| | | getReports() { |
| | | this.$refs.FaultReportRepair.title = 'æ
éæ¥ä¿®å'; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-row |
| | | type="flex" |
| | | :gutter="16" |
| | | > |
| | | <a-col |
| | | :md="4" |
| | | :sm="24" |
| | | > |
| | | <repair-standard-category-left @clickTreeNode="getSelectNode" /> |
| | | </a-col> |
| | | <a-col |
| | | :md="24-4" |
| | | :sm="24" |
| | | > |
| | | <repair-standard-right :recordSelect="currentNodeSelect" /> |
| | | </a-col> |
| | | </a-row> |
| | | </template> |
| | | |
| | | <script> |
| | | import RepairStandardCategoryLeft from './modules/repairStandard/RepairStandardCategoryLeft' |
| | | import RepairStandardRight from './modules/repairStandard/RepairStandardRight' |
| | | export default { |
| | | name: 'RepairStandardList', |
| | | components: { |
| | | RepairStandardCategoryLeft, |
| | | RepairStandardRight, |
| | | }, |
| | | data() { |
| | | return { |
| | | description: 'ç»´ä¿®æ ååç±»', |
| | | currentNodeSelect: '', |
| | | } |
| | | }, |
| | | methods: { |
| | | getSelectNode(val) { |
| | | this.currentNodeSelect = val; |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
| | |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | this.$nextTick(() => { |
| | | this.form.setFieldsValue(pick(this.model, 'num', 'auditFeedback', 'approvalFeedback')); |
| | | this.form.setFieldsValue(pick(this.model, 'num')); |
| | | this.form.setFieldsValue({ auditFeedback: "" }); |
| | | this.form.setFieldsValue({ approvalFeedback: "" }); |
| | | }, 200); |
| | | }, |
| | | |
| | |
| | | this.$bus.$on('selectionRows', (data) => { |
| | | for (let i = 0; i < data.length; i++) { |
| | | this.dataSource.push({ |
| | | id: data[i].id, |
| | | inspectionProjectId: data[i].id, |
| | | name: data[i].name, |
| | | detectionStandard: data[i].detectionStandard, |
| | | acceptabilityLimit: data[i].acceptabilityLimit, |
| | | inspectionMethodName: data[i].inspectionMethod_dictText, |
| | | inspectionTool: data[i].inspectionTool, |
| | | id: data[i][0].id, |
| | | inspectionProjectId: data[i][0].id, |
| | | name: data[i][0].name, |
| | | detectionStandard: data[i][0].detectionStandard, |
| | | acceptabilityLimit: data[i][0].acceptabilityLimit, |
| | | inspectionMethodName: data[i][0].inspectionMethod_dictText, |
| | | inspectionTool: data[i][0].inspectionTool, |
| | | inspectionCycles: this.inspectionCycles, |
| | | }) |
| | | } |
| | |
| | | :columns='columns' |
| | | :dataSource='dataSource' |
| | | :pagination='ipagination' |
| | | :rowSelection='rowSelection' |
| | | :loading='loading' |
| | | @change='handleTableChange' |
| | | :rowSelection='rowSelection' |
| | | > |
| | | |
| | | </a-table> |
| | |
| | | |
| | | ], |
| | | selectedRowKeys: [], |
| | | selectionRowsNotClear: [], |
| | | oldSelectRows: [], |
| | | scrollTrigger: {}, |
| | | dataSource: [], |
| | |
| | | type: 'checkbox', |
| | | onChange: (selectedRowKeys, selectedRows) => { |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.onSelectChange(selectedRows) |
| | | this.selectionRows = selectedRows |
| | | this.selectionRowsNotClear.push(selectedRows) |
| | | }, |
| | | getCheckboxProps: record => ({ |
| | | props: { |
| | | disabled: record.distable |
| | | } |
| | | }), |
| | | selectedRowKeys: this.selectedRowKeys |
| | | selectedRowKeys: this.selectedRowKeys, |
| | | selectedRows: this.selectionRows |
| | | } |
| | | } |
| | | }, |
| | |
| | | |
| | | showModals(oldSelectRows) { |
| | | this.selectionRows = [] |
| | | this.selectedRowKeys = [] |
| | | this.selectionRowsNotClear = [] |
| | | this.oldSelectRows = oldSelectRows |
| | | this.visible = true |
| | | this.loadData(1) |
| | |
| | | }, |
| | | handleTableChange(pagination, filters, sorter) { |
| | | //TODO çé |
| | | |
| | | if (Object.keys(sorter).length > 0) { |
| | | this.isorter.column = sorter.field |
| | | this.isorter.order = 'ascend' === sorter.order ? 'asc' : 'desc' |
| | | } |
| | | this.ipagination = pagination |
| | | |
| | | this.loadData() |
| | | }, |
| | | handleSubmit() { |
| | | this.$bus.$emit('selectionRows', this.selectionRows) |
| | | this.$bus.$emit('selectionRows', this.selectionRowsNotClear) |
| | | this.searchReset(0) |
| | | this.close() |
| | | }, |
| | |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <j-date |
| | | v-model="model.maintenanceDate" |
| | | v-model="model.actualEndTime" |
| | | placeholder="è¯·éæ©ä¿å
»æ¥æ" |
| | | :showTime="true" |
| | | dateFormat="YYYY-MM-DD" |
| | |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | this.$nextTick(() => { |
| | | this.form.setFieldsValue(pick(this.model, 'num', 'auditFeedback', 'approvalFeedback')); |
| | | this.form.setFieldsValue(pick(this.model, 'num')); |
| | | this.form.setFieldsValue({ auditFeedback: "" }); |
| | | this.form.setFieldsValue({ approvalFeedback: "" }); |
| | | }, 200); |
| | | }, |
| | | |
| | |
| | | let id = this.getUuiD(15); |
| | | this.dataSource.push({ |
| | | id: id, |
| | | maintenanceProjectId: data[i].id, |
| | | name: data[i].name, |
| | | standard: data[i].standard, |
| | | maintenanceMethodName: data[i].maintenanceMethod_dictText, |
| | | maintenanceTool: data[i].maintenanceTool, |
| | | location: data[i].location, |
| | | maintenanceSpecialtyName: data[i].maintenanceSpecialtyId_dictText, |
| | | maintenanceRequire: data[i].maintenanceRequire, |
| | | workingHourQuota: data[i].workingHourQuota, |
| | | maintenanceProjectId: data[i][0].id, |
| | | name: data[i][0].name, |
| | | standard: data[i][0].standard, |
| | | maintenanceMethodName: data[i][0].maintenanceMethod_dictText, |
| | | maintenanceTool: data[i][0].maintenanceTool, |
| | | location: data[i][0].location, |
| | | maintenanceSpecialtyName: data[i][0].maintenanceSpecialtyId_dictText, |
| | | maintenanceRequire: data[i][0].maintenanceRequire, |
| | | workingHourQuota: data[i][0].workingHourQuota, |
| | | // upload: this.upload, |
| | | // maintenanceCycles: this.maintenanceCycles, |
| | | }) |
| | |
| | | scrollTrigger: {}, |
| | | dataSource: [], |
| | | selectionRows: [], |
| | | selectionRowsNotClear: [], |
| | | title: 'æ ¹æ®æ¥è¯¢ç»æéæ©ä¿å
»é¡¹ç®', |
| | | ipagination: { |
| | | current: 1, |
| | |
| | | type: 'checkbox', |
| | | onChange: (selectedRowKeys, selectedRows) => { |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.selectionRowsNotClear.push(selectedRows) |
| | | this.onSelectChange(selectedRows) |
| | | }, |
| | | getCheckboxProps: record => ({ |
| | |
| | | |
| | | showModals(oldSelectRows) { |
| | | this.selectionRows = [] |
| | | this.selectionRowsNotClear = [] |
| | | this.oldSelectRows = oldSelectRows |
| | | this.visible = true |
| | | this.loadData(1) |
| | |
| | | this.loadData() |
| | | }, |
| | | handleSubmit() { |
| | | this.$bus.$emit('selectionRows', this.selectionRows) |
| | | this.$bus.$emit('selectionRows', this.selectionRowsNotClear) |
| | | // this.searchReset(0) |
| | | this.close() |
| | | }, |
| | |
| | | let id = this.getUuiD(15); |
| | | this.dataSource.push({ |
| | | id: id, |
| | | maintenanceProjectId: data[i].id, |
| | | name: data[i].name, |
| | | standard: data[i].standard, |
| | | maintenanceMethodName: data[i].maintenanceMethod_dictText, |
| | | maintenanceTool: data[i].maintenanceTool, |
| | | location: data[i].location, |
| | | maintenanceSpecialtyName: data[i].maintenanceSpecialtyId_dictText, |
| | | maintenanceRequire: data[i].maintenanceRequire, |
| | | workingHourQuota: data[i].workingHourQuota, |
| | | maintenanceProjectId: data[i][0].id, |
| | | name: data[i][0].name, |
| | | standard: data[i][0].standard, |
| | | maintenanceMethodName: data[i][0].maintenanceMethod_dictText, |
| | | maintenanceTool: data[i][0].maintenanceTool, |
| | | location: data[i][0].location, |
| | | maintenanceSpecialtyName: data[i][0].maintenanceSpecialtyId_dictText, |
| | | maintenanceRequire: data[i][0].maintenanceRequire, |
| | | workingHourQuota: data[i][0].workingHourQuota, |
| | | // upload: this.upload, |
| | | // maintenanceCycles: this.maintenanceCycles, |
| | | }) |
| | |
| | | scrollTrigger: {}, |
| | | dataSource: [], |
| | | selectionRows: [], |
| | | selectionRowsNotClear: [], |
| | | title: 'æ ¹æ®æ¥è¯¢ç»æéæ©ä¿å
»é¡¹ç®', |
| | | ipagination: { |
| | | current: 1, |
| | |
| | | type: 'checkbox', |
| | | onChange: (selectedRowKeys, selectedRows) => { |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.selectionRowsNotClear.push(selectedRows) |
| | | this.onSelectChange(selectedRows) |
| | | }, |
| | | getCheckboxProps: record => ({ |
| | |
| | | |
| | | showModals(oldSelectRows) { |
| | | this.selectionRows = [] |
| | | this.selectionRowsNotClear = [] |
| | | this.oldSelectRows = oldSelectRows |
| | | this.visible = true |
| | | this.loadData(1) |
| | |
| | | this.loadData() |
| | | }, |
| | | handleSubmit() { |
| | | this.$bus.$emit('selectionRows', this.selectionRows) |
| | | this.$bus.$emit('selectionRows', this.selectionRowsNotClear) |
| | | // this.searchReset(0) |
| | | this.close() |
| | | }, |
| | |
| | | rules: [ |
| | | { required: true, message: '请è¾å
¥è®¾å¤åç±»ç¼å·!' }, |
| | | { min: 2, max: 30, message: 'é¿åº¦å¨ 2 å° 30 个å符', trigger: 'blur' }, |
| | | { validator: this.validateNum }, |
| | | // { validator: this.validateNum }, |
| | | ] |
| | | }, |
| | | name: { |
| | | rules: [ |
| | | { required: true, message: '请è¾å
¥è®¾å¤åç±»åç§°!' }, |
| | | { min: 2, max: 30, message: 'é¿åº¦å¨ 2 å° 30 个å符', trigger: 'blur' }, |
| | | { validator: this.validateName }, |
| | | // { validator: this.validateName }, |
| | | ] |
| | | }, |
| | | teamId: { |
| | |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='6' v-show='isLineEquipShow'> |
| | | <a-col |
| | | :span='6' |
| | | v-show='isLineEquipShow' |
| | | > |
| | | <a-form-model-item |
| | | label='æ¯å¦ç产线主设å¤' |
| | | :labelCol='labelCol' |
| | |
| | | num: [ |
| | | { required: true, message: '请è¾å
¥è®¾å¤ç¼å·!' }, |
| | | // { min: 2, max: 30, message: 'é¿åº¦å¨ 2 å° 30 个å符', trigger: 'blur' }, |
| | | { validator: this.validateNum } |
| | | // { validator: this.validateNum } |
| | | ], |
| | | name: [ |
| | | { required: true, message: '请è¾å
¥è®¾å¤åç§°!' } |
| | |
| | | onSelectChange(selectedRowKeys, selectedRows) { |
| | | this.selectedRowKeys = selectedRowKeys; |
| | | this.selectedRowRecord = selectedRows[0]; |
| | | this.handleOk() |
| | | }, |
| | | close() { |
| | | this.queryParam = {}; |
| | |
| | | height: 90% !important; |
| | | overflow-y: hidden; |
| | | } |
| | | .notshow { |
| | | .notshow { |
| | | display: none; |
| | | } |
| | | |
| | |
| | | .dataUnKnow { |
| | | color: #1890ff; |
| | | } |
| | | .frozenRowClass { |
| | | .frozenRowClass { |
| | | color: #c9c9c9; |
| | | } |
| | | </style> |
| | |
| | | props: { |
| | | mainId: { |
| | | type: String, |
| | | default: '', |
| | | default: '-1', |
| | | required: false |
| | | } |
| | | }, |
| | |
| | | switchFullscreen |
| | | @ok="handleOk" |
| | | @cancel="handleCancel" |
| | | cancelText="å
³é"> |
| | | cancelText="å
³é" |
| | | > |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules"> |
| | | <a-form-model |
| | | ref="form" |
| | | :model="model" |
| | | :rules="validatorRules" |
| | | > |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="è¯ä¹¦ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operationCertificateId"> |
| | | <a-input v-model="model.operationCertificateId"placeholder="请è¾å
¥è¯ä¹¦ID" ></a-input> |
| | | <a-form-model-item |
| | | label="è¯ä¹¦ID" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | prop="operationCertificateId" |
| | | > |
| | | <a-input |
| | | v-model="model.operationCertificateId" |
| | | placeholder="请è¾å
¥è¯ä¹¦ID" |
| | | ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="åçæ¶é´" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="happenDate"> |
| | | <j-date placeholder="è¯·éæ©åçæ¶é´" v-model="model.happenDate" style="width: 100%" /> |
| | | <a-form-model-item |
| | | label="åçæ¶é´" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | prop="happenDate" |
| | | > |
| | | <j-date |
| | | placeholder="è¯·éæ©åçæ¶é´" |
| | | v-model="model.happenDate" |
| | | style="width: 100%" |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="ç±»å" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="type"> |
| | | <a-input v-model="model.type"placeholder="请è¾å
¥ç±»å" ></a-input> |
| | | <a-form-model-item |
| | | label="ç±»å" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | prop="type" |
| | | > |
| | | <a-input |
| | | v-model="model.type" |
| | | placeholder="请è¾å
¥ç±»å" |
| | | ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="设å¤id" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId"> |
| | | <a-input v-model="model.equipmentId"placeholder="请è¾å
¥è®¾å¤id" ></a-input> |
| | | <a-form-model-item |
| | | label="设å¤id" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | prop="equipmentId" |
| | | > |
| | | <a-input |
| | | v-model="model.equipmentId" |
| | | placeholder="请è¾å
¥è®¾å¤id" |
| | | ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="æ£å项" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="deductionItem"> |
| | | <a-input v-model="model.deductionItem"placeholder="请è¾å
¥æ£å项" ></a-input> |
| | | <a-form-model-item |
| | | label="æ£å项" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | prop="deductionItem" |
| | | > |
| | | <a-input |
| | | v-model="model.deductionItem" |
| | | placeholder="请è¾å
¥æ£å项" |
| | | ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="æ£å卿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="period"> |
| | | <a-input v-model="model.period"placeholder="请è¾å
¥æ£å卿" ></a-input> |
| | | <a-form-model-item |
| | | label="æ£å卿" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | prop="period" |
| | | > |
| | | <a-input |
| | | v-model="model.period" |
| | | placeholder="请è¾å
¥æ£å卿" |
| | | ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | |
| | | |
| | | <script> |
| | | |
| | | import { httpAction } from '@/api/manage' |
| | | import { validateDuplicateValue } from '@/utils/util' |
| | | import { httpAction } from '@/api/manage' |
| | | import { validateDuplicateValue } from '@/utils/util' |
| | | |
| | | export default { |
| | | name: "OperationCertificateDetailModal", |
| | | components: { |
| | | }, |
| | | props:{ |
| | | mainId:{ |
| | | type:String, |
| | | required:false, |
| | | default:'' |
| | | export default { |
| | | name: "OperationCertificateDetailModal", |
| | | components: { |
| | | }, |
| | | props: { |
| | | mainId: { |
| | | type: String, |
| | | required: false, |
| | | default: '' |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | title: "æä½", |
| | | width: 800, |
| | | visible: false, |
| | | model: { |
| | | }, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | }, |
| | | |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | | }, |
| | | url: { |
| | | add: "/eam/operationCertificate/addOperationCertificateDetail", |
| | | edit: "/eam/operationCertificate/editOperationCertificateDetail", |
| | | } |
| | | }, |
| | | data () { |
| | | return { |
| | | title:"æä½", |
| | | width:800, |
| | | visible: false, |
| | | model:{ |
| | | }, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | }, |
| | | |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | | }, |
| | | url: { |
| | | add: "/eam/operationCertificate/addOperationCertificateDetail", |
| | | edit: "/eam/operationCertificate/editOperationCertificateDetail", |
| | | } |
| | | |
| | | } |
| | | }, |
| | | created () { |
| | | //å¤ä»½modelåå§å¼ |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | }, |
| | | methods: { |
| | | add () { |
| | | this.edit(this.modelDefault); |
| | | }, |
| | | edit (record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | }, |
| | | close () { |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | this.$refs.form.clearValidate(); |
| | | }, |
| | | handleOk () { |
| | | const that = this; |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | | let httpurl = ''; |
| | | let method = ''; |
| | | if(!this.model.id){ |
| | | httpurl+=this.url.add; |
| | | method = 'post'; |
| | | }else{ |
| | | httpurl+=this.url.edit; |
| | | method = 'put'; |
| | | } |
| | | this.model['operationCertificateId'] = this.mainId |
| | | httpAction(httpurl,this.model,method).then((res)=>{ |
| | | if(res.success){ |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | }else{ |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.close(); |
| | | }) |
| | | }else{ |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | handleCancel () { |
| | | this.close() |
| | | }, |
| | | |
| | | |
| | | } |
| | | }, |
| | | created() { |
| | | //å¤ä»½modelåå§å¼ |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
| | | }, |
| | | methods: { |
| | | add() { |
| | | this.edit(this.modelDefault); |
| | | }, |
| | | edit(record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | }, |
| | | close() { |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | this.$refs.form.clearValidate(); |
| | | }, |
| | | handleOk() { |
| | | const that = this; |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | | let httpurl = ''; |
| | | let method = ''; |
| | | if (!this.model.id) { |
| | | httpurl += this.url.add; |
| | | method = 'post'; |
| | | } else { |
| | | httpurl += this.url.edit; |
| | | method = 'put'; |
| | | } |
| | | this.model['operationCertificateId'] = this.mainId |
| | | httpAction(httpurl, this.model, method).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | } else { |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.close(); |
| | | }) |
| | | } else { |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | |
| | | |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <a-spin :spinning='confirmLoading'> |
| | | <j-form-container :disabled='formDisabled'> |
| | | <!-- 主表ååºå --> |
| | | <a-form-model ref='form' :model='model' :rules='validatorRules' slot='detail'> |
| | | <a-form-model |
| | | ref='form' |
| | | :model='model' |
| | | :rules='validatorRules' |
| | | slot='detail' |
| | | > |
| | | <a-row> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='æä½è¯ç¼å·' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='num'> |
| | | <a-input v-model='model.num' placeholder='请è¾å
¥æä½è¯ç¼å·' disabled></a-input> |
| | | <a-form-model-item |
| | | label='æä½è¯ç¼å·' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='num' |
| | | > |
| | | <a-input |
| | | v-model='model.num' |
| | | placeholder='请è¾å
¥æä½è¯ç¼å·' |
| | | disabled |
| | | ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='å§å' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='userId'> |
| | | <j-select-user-by-dep v-model='model.userId' :multi='false' /> |
| | | <a-form-model-item |
| | | label='å§å' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='userId' |
| | | > |
| | | <!-- <j-select-user-by-dep |
| | | v-model='model.userId' |
| | | :multi='false' |
| | | /> --> |
| | | <j-dict-select-tag |
| | | type='list' |
| | | v-model='model.userId' |
| | | dictCode='sys_user,realname,id' |
| | | placeholder='è¯·éæ©ç³è¯·äºº' |
| | | disabled |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='åè¯æ¥æ' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='issueDate'> |
| | | <j-date placeholder='è¯·éæ©åè¯æ¥æ' v-model='model.issueDate' style='width: 100%' /> |
| | | <a-form-model-item |
| | | label='åè¯æ¥æ' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='issueDate' |
| | | > |
| | | <j-date |
| | | placeholder='è¯·éæ©åè¯æ¥æ' |
| | | v-model='model.issueDate' |
| | | style='width: 100%' |
| | | disabled |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='å¼å§æ¶é´' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='startTime'> |
| | | <j-date placeholder='è¯·éæ©å¼å§æ¶é´' v-model='model.startTime' style='width: 100%' /> |
| | | <a-form-model-item |
| | | label='å¼å§æ¶é´' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='startTime' |
| | | > |
| | | <j-date |
| | | placeholder='è¯·éæ©å¼å§æ¶é´' |
| | | v-model='model.startTime' |
| | | style='width: 100%' |
| | | disabled |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='ç»ææ¶é´' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='endTime'> |
| | | <j-date placeholder='è¯·éæ©ç»ææ¶é´' v-model='model.endTime' style='width: 100%' /> |
| | | <a-form-model-item |
| | | label='ç»ææ¶é´' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='endTime' |
| | | > |
| | | <j-date |
| | | placeholder='è¯·éæ©ç»ææ¶é´' |
| | | v-model='model.endTime' |
| | | style='width: 100%' |
| | | disabled |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='å½å卿忰' :labelCol='labelCol' :wrapperCol='wrapperCol' |
| | | prop='currentCycleScore'> |
| | | <a-input-number v-model='model.currentCycleScore' placeholder='请è¾å
¥å½å卿忰' style='width: 100%' /> |
| | | <a-form-model-item |
| | | label='å½å卿忰' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='currentCycleScore' |
| | | > |
| | | <a-input-number |
| | | v-model='model.currentCycleScore' |
| | | placeholder='请è¾å
¥å½å卿忰' |
| | | style='width: 100%' |
| | | disabled |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='设å¤ç»ä¸ç¼ç ' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='equipmentIds'> |
| | | <j-multi-select-tag type='list_multi' v-model='model.equipmentIds' dictCode='mom_eam_equipment,num,id' |
| | | placeholder='è¯·éæ©è®¾å¤ç»ä¸ç¼ç ' /> |
| | | <a-form-model-item |
| | | label='设å¤ç»ä¸ç¼ç ' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='equipmentIds' |
| | | > |
| | | <j-multi-select-tag |
| | | type='list_multi' |
| | | v-model='model.equipmentIds' |
| | | dictCode='mom_eam_equipment,num,id' |
| | | placeholder='è¯·éæ©è®¾å¤ç»ä¸ç¼ç ' |
| | | disabled |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='ç¶æ' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='status'> |
| | | <j-dict-select-tag type='list' v-model='model.status' dictCode='certificate_status' |
| | | placeholder='è¯·éæ©ç¶æ' disabled /> |
| | | <a-form-model-item |
| | | label='ç¶æ' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='status' |
| | | > |
| | | <j-dict-select-tag |
| | | type='list' |
| | | v-model='model.status' |
| | | dictCode='certificate_status' |
| | | placeholder='è¯·éæ©ç¶æ' |
| | | disabled |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='24'> |
| | | <a-form-model-item label='夿³¨' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='remark'> |
| | | <a-textarea v-model='model.remark' placeholder='请è¾å
¥å¤æ³¨'></a-textarea> |
| | | </a-row> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | <a-form-model-item |
| | | label='夿³¨' |
| | | :labelCol="{span:3}" |
| | | :wrapperCol="{span:21}" |
| | | prop='remark' |
| | | > |
| | | <a-textarea |
| | | v-model='model.remark' |
| | | placeholder='请è¾å
¥å¤æ³¨' |
| | | ></a-textarea> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | |
| | | </a-row> |
| | | </a-form-model> |
| | | </j-form-container> |
| | | <!-- å表ååºå --> |
| | | <a-tabs v-model='activeKey' @change='handleChangeTabs'> |
| | | <a-tab-pane tab='æä½è¯ç®¡çæç»' :key='refKeys[0]' :forceRender='true'> |
| | | <a-tabs |
| | | v-model='activeKey' |
| | | @change='handleChangeTabs' |
| | | > |
| | | <a-tab-pane |
| | | tab='æä½è¯ç®¡çæç»' |
| | | :key='refKeys[0]' |
| | | :forceRender='true' |
| | | > |
| | | <j-vxe-table |
| | | keep-source |
| | | :ref='refKeys[0]' |
| | |
| | | :rowNumber='true' |
| | | :rowSelection='true' |
| | | :toolbar='true' |
| | | :bordered='true' |
| | | :alwaysEdit='true' |
| | | /> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | |
| | | return { |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 } |
| | | sm: { span: 6 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 } |
| | | sm: { span: 18 }, |
| | | }, |
| | | model: {}, |
| | | // æ°å¢æ¶å表é»è®¤æ·»å å è¡ç©ºæ°æ® |
| | |
| | | title: 'è¯ä¹¦ID', |
| | | key: 'operationCertificateId', |
| | | type: JVXETypes.hidden, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | |
| | | title: 'æ¥æ', |
| | | key: 'happenDate', |
| | | type: JVXETypes.date, |
| | | width: '120px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | width: '300px', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | |
| | | key: 'type', |
| | | type: JVXETypes.select, |
| | | dictCode: 'certificate_change_type', |
| | | width: '100px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | width: '200px', |
| | | defaultValue: '' |
| | | |
| | | }, |
| | | { |
| | | title: '设å¤ç»ä¸ç¼ç ', |
| | | key: 'equipmentId', |
| | | type: JVXETypes.selectSearch, |
| | | dictCode: 'mom_eam_equipment,num,id ', |
| | | width: '200px', |
| | | width: '250px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | validateRules: [{ required: true, message: '${title}ä¸è½ä¸ºç©º' }] |
| | |
| | | editAfter() { |
| | | this.$nextTick(() => { |
| | | }) |
| | | console.log( "this.loadSubTableDataMode:"+this.loadSubTableDataMode) |
| | | console.log("this.loadSubTableDataMode:" + this.loadSubTableDataMode) |
| | | // å è½½åè¡¨æ°æ® |
| | | if (this.model.id && this.loadSubTableDataMode) { |
| | | let params = { id: this.model.id } |
| | |
| | | <template> |
| | | <j-modal |
| | | :title='title' |
| | | :width='1200' |
| | | :width='1400' |
| | | :visible='visible' |
| | | :maskClosable='false' |
| | | switchFullscreen |
| | | @ok='handleOk' |
| | | :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" |
| | | @cancel='handleCancel'> |
| | | <operation-certificate-form ref='realForm' @ok='submitCallback' :disabled='disableSubmit' :loadSubTableData='loadSubTableDataFlag' /> |
| | | @cancel='handleCancel' |
| | | > |
| | | <operation-certificate-form |
| | | ref='realForm' |
| | | @ok='submitCallback' |
| | | :disabled='disableSubmit' |
| | | :loadSubTableData='loadSubTableDataFlag' |
| | | /> |
| | | </j-modal> |
| | | </template> |
| | | |
| | |
| | | <a-spin :spinning='confirmLoading'> |
| | | <j-form-container :disabled='formDisabled'> |
| | | <!-- 主表ååºå --> |
| | | <a-form-model ref='form' :model='model' :rules='validatorRules' slot='detail'> |
| | | <a-form-model |
| | | ref='form' |
| | | :model='model' |
| | | :rules='validatorRules' |
| | | slot='detail' |
| | | > |
| | | <a-row> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='ç³è¯·åç¼å·' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='num'> |
| | | <a-input v-model='model.num' placeholder="å°ç±ç³»ç»çæ" disabled></a-input> |
| | | <a-form-model-item |
| | | label='ç³è¯·åç¼å·' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='num' |
| | | > |
| | | <a-input |
| | | v-model='model.num' |
| | | placeholder="å°ç±ç³»ç»çæ" |
| | | disabled |
| | | ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='ç±»å' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='type'> |
| | | <j-dict-select-tag type='radio' v-model='model.type' dictCode='apply_type' placeholder='è¯·éæ©ç±»å' /> |
| | | <a-form-model-item |
| | | label='ç±»å' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='type' |
| | | > |
| | | <j-dict-select-tag |
| | | type='radio' |
| | | v-model='model.type' |
| | | dictCode='apply_type' |
| | | placeholder='è¯·éæ©ç±»å' |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='æå¨åä½' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='departId'> |
| | | <j-select-depart v-model='model.departId' :multi='true' /> |
| | | <a-form-model-item |
| | | label='æå¨åä½' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='departId' |
| | | > |
| | | <!-- <j-select-depart |
| | | v-model='model.departId' |
| | | :multi='true' |
| | | /> --> |
| | | <j-dict-select-tag |
| | | type='list' |
| | | v-model='model.departId' |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder='è¯·éæ©æå¨åä½' |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='èç³»çµè¯' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='contactNumber'> |
| | | <a-input v-model='model.contactNumber' placeholder='请è¾å
¥èç³»çµè¯'></a-input> |
| | | <a-form-model-item |
| | | label='èç³»çµè¯' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='contactNumber' |
| | | > |
| | | <a-input |
| | | v-model='model.contactNumber' |
| | | placeholder='请è¾å
¥èç³»çµè¯' |
| | | ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='ç³è¯·äºº' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='applicant'> |
| | | <j-dict-select-tag type='list' v-model='model.applicant' dictCode='sys_user,realname,id' |
| | | placeholder='è¯·éæ©ç³è¯·äºº' disabled /> |
| | | <a-form-model-item |
| | | label='ç³è¯·äºº' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='applicant' |
| | | > |
| | | <j-dict-select-tag |
| | | type='list' |
| | | v-model='model.applicant' |
| | | dictCode='sys_user,realname,id' |
| | | placeholder='è¯·éæ©ç³è¯·äºº' |
| | | disabled |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='åç人' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='handlePerson'> |
| | | <j-dict-select-tag type='list' v-model='model.handlePerson' dictCode='sys_user,realname,id' |
| | | placeholder='è¯·éæ©åç人' /> |
| | | <a-form-model-item |
| | | label='åç人' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='handlePerson' |
| | | > |
| | | <j-dict-select-tag |
| | | type='list' |
| | | v-model='model.handlePerson' |
| | | dictCode="sys_user,realname,id , del_flag!='1'" |
| | | placeholder='è¯·éæ©åç人' |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-model-item label='å®¡æ ¸ç¶æ' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='auditStatus'> |
| | | <j-dict-select-tag type='list' v-model='model.auditStatus' dictCode='certificate_apply_status' |
| | | placeholder='è¯·éæ©å®¡æ ¸ç¶æ' disabled /> |
| | | <a-form-model-item |
| | | label='å®¡æ ¸ç¶æ' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='auditStatus' |
| | | > |
| | | <j-dict-select-tag |
| | | type='list' |
| | | v-model='model.auditStatus' |
| | | dictCode='certificate_apply_status' |
| | | placeholder='è¯·éæ©å®¡æ ¸ç¶æ' |
| | | disabled |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='24'> |
| | | <a-form-model-item label='夿³¨' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='remark'> |
| | | <a-input v-model='model.remark' placeholder='请è¾å
¥å¤æ³¨'></a-input> |
| | | <!-- <a-col :span='24'> |
| | | <a-form-model-item |
| | | label='夿³¨' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | prop='remark' |
| | | > |
| | | <a-input |
| | | v-model='model.remark' |
| | | placeholder='请è¾å
¥å¤æ³¨' |
| | | ></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-col> --> |
| | | </a-row> |
| | | </a-form-model> |
| | | </j-form-container> |
| | | <!-- å表ååºå --> |
| | | <a-tabs v-model='activeKey' @change='handleChangeTabs'> |
| | | <a-tab-pane tab='æä½è¯ç³è¯·æç»è¡¨' :key='refKeys[0]' :forceRender='true'> |
| | | <a-tabs |
| | | v-model='activeKey' |
| | | @change='handleChangeTabs' |
| | | > |
| | | <a-tab-pane |
| | | tab='æä½è¯ç³è¯·æç»è¡¨' |
| | | :key='refKeys[0]' |
| | | :forceRender='true' |
| | | > |
| | | <j-vxe-table |
| | | keep-source |
| | | :ref='refKeys[0]' |
| | | :bordered='true' |
| | | :alwaysEdit='true' |
| | | :loading='operationCertificateApplyDetailTable.loading' |
| | | :columns='operationCertificateApplyDetailTable.columns' |
| | | :dataSource='operationCertificateApplyDetailTable.dataSource' |
| | | :maxHeight='300' |
| | | :maxHeight='600' |
| | | :disabled='formDisabled' |
| | | :rowNumber='true' |
| | | rowNumber='2' |
| | | :rowSelection='true' |
| | | :toolbar='true' |
| | | /> |
| | | <!-- :toolbarConfig='toolbarConfig' --> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | </a-spin> |
| | |
| | | |
| | | <script> |
| | | |
| | | import { getAction,httpAction } from '@/api/manage' |
| | | import { getAction, httpAction } from '@/api/manage' |
| | | import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' |
| | | import { JVXETypes } from '@/components/jeecg/JVxeTable' |
| | | import { getRefPromise, VALIDATE_FAILED } from '@/components/jeecg/JVxeTable/utils/vxeUtils.js' |
| | |
| | | // æä½è¯ç³è¯·æç»è¡¨ |
| | | operationCertificateApplyDetailTable: { |
| | | loading: false, |
| | | bordered: true, |
| | | dataSource: [], |
| | | columns: [ |
| | | { |
| | |
| | | title: '设å¤ç»ä¸ç¼ç ', |
| | | key: 'equipmentIds', |
| | | type: JVXETypes.selectMultiple, |
| | | dictCode: 'mom_eam_equipment,num,id ', |
| | | width: '200px', |
| | | width: '270px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | dictCode: 'mom_eam_equipment,num,id, del_flag!=\'1\'', |
| | | validateRules: [{ required: true, message: '${title}ä¸è½ä¸ºç©º' }] |
| | | }, |
| | | // dictCode: 'mom_eam_equipment,num,id', |
| | | { |
| | | title: 'ä¸å²è¯å·', |
| | | key: 'appointmentCardNum', |
| | |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | disabled:'achievementDisabled' |
| | | disabled: 'achievementDisabled' |
| | | }, |
| | | { |
| | | title: '宿æç»©', |
| | |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | disabled:'achievementDisabled' |
| | | disabled: 'achievementDisabled' |
| | | }, |
| | | { |
| | | title: 'èè¯ç»è®º', |
| | | key: 'examinationConclusion', |
| | | type: JVXETypes.select, |
| | | dictCode:'examination_conclusion', |
| | | dictCode: 'examination_conclusion', |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '', |
| | | disabled:'achievementDisabled' |
| | | disabled: 'achievementDisabled' |
| | | }, |
| | | // { |
| | | // title: 'ç¶æ', |
| | |
| | | url: { |
| | | add: '/eam/operationCertificateApply/add', |
| | | edit: '/eam/operationCertificateApply/edit', |
| | | addOperationCertificate:'/eam/operationCertificate/addOperationCertificate', |
| | | addOperationCertificate: '/eam/operationCertificate/addOperationCertificate', |
| | | queryById: '/eam/operationCertificateApply/queryById', |
| | | operationCertificateApplyDetail: { |
| | | list: '/eam/operationCertificateApply/queryOperationCertificateApplyDetailByMainId' |
| | |
| | | if (this.model.id) { |
| | | let params = { id: this.model.id } |
| | | this.requestSubTableData(this.url.operationCertificateApplyDetail.list, params, this.operationCertificateApplyDetailTable) |
| | | }else{ |
| | | } else { |
| | | getAction(this.url.getNum, { type: 'OperationCertificateApply', length: '4' }).then((res) => { |
| | | if (res.success) { |
| | | this.model.num = res.message |
| | | } |
| | | }) |
| | | if (res.success) { |
| | | this.model.num = res.message |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | //æ ¡éªææä¸å¯¹ä¸å表表å |
| | |
| | | method = 'put' |
| | | } |
| | | this.confirmLoading = true |
| | | console.log("formData===>",formData); |
| | | console.log("formData===>", formData); |
| | | httpAction(url, formData, method).then((res) => { |
| | | if (res.success) { |
| | | if(this.achievementDisabled){ |
| | | if (this.achievementDisabled) { |
| | | httpAction(this.url.addOperationCertificate, formData.operationCertificateApplyDetailList, 'post').then((res) => { |
| | | if (res.success) { |
| | | this.$message.success(res.message) |
| | | }else { |
| | | // this.$message.success(res.message) |
| | | } else { |
| | | this.$message.warning(res.message) |
| | | } |
| | | }) |
| | | } |
| | | this.$message.success(res.message) |
| | | // this.$message.success(res.message) |
| | | this.$emit('ok') |
| | | this.close() |
| | | } else { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-card |
| | | :loading="cardLoading" |
| | | :bordered="false" |
| | | title="ç»´ä¿®æ ååç±»" |
| | | style="height: 100%;" |
| | | > |
| | | <a-spin :spinning="loading"> |
| | | <a-alert |
| | | type="info" |
| | | :showIcon="true" |
| | | style="margin-right: 54px;" |
| | | > |
| | | <div slot="message"> |
| | | å½åï¼<span v-if="this.currSelected.title">{{ getCurrSelectedTitle() }}</span> |
| | | <a |
| | | v-if="this.currSelected.title" |
| | | style="margin-left: 10px" |
| | | @click="onClearSelected" |
| | | >åæ¶</a> |
| | | </div> |
| | | </a-alert> |
| | | <div class="drawer-bootom-button"> |
| | | <a-dropdown |
| | | :trigger="['click']" |
| | | placement="bottomCenter" |
| | | > |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item |
| | | key="1" |
| | | @click="expandAll" |
| | | >å±å¼ææ</a-menu-item> |
| | | <a-menu-item |
| | | key="2" |
| | | @click="closeAll" |
| | | >åå¹¶ææ</a-menu-item> |
| | | <a-menu-item |
| | | key="3" |
| | | @click="refreshTree" |
| | | >å·æ°</a-menu-item> |
| | | </a-menu> |
| | | <a-button> |
| | | <a-icon type="bars" /> |
| | | </a-button> |
| | | </a-dropdown> |
| | | </div> |
| | | <a-input-search |
| | | @search="handleSearch" |
| | | style="width:100%;margin-top: 10px" |
| | | placeholder="æ£ç´¢ ç»´ä¿®æ åç¼å·/åç§°" |
| | | allowClear |
| | | v-model="searchInput" |
| | | @change="handleChange" |
| | | /> |
| | | <!-- showLine --> |
| | | <a-tree |
| | | showLine |
| | | ref="tree" |
| | | :checkStrictly="checkStrictly" |
| | | :expandedKeys.sync="expandedKeys" |
| | | :selectedKeys="selectedKeys" |
| | | :dropdownStyle="{maxHeight:'200px',overflow:'auto'}" |
| | | :treeData="treeDataSource" |
| | | :autoExpandParent="autoExpandParent" |
| | | @select="onSelect" |
| | | @expand="onExpand" |
| | | slots="{}" |
| | | > |
| | | <template |
| | | slot="title" |
| | | slot-scope="{ title, parentId, entity, key}" |
| | | > |
| | | <span v-if="title.indexOf(searchValue) > -1"> |
| | | {{ title.substr(0, title.indexOf(searchValue)) }} |
| | | <span class="replaceSearch">{{ searchValue }}</span> |
| | | {{ title.substr(title.indexOf(searchValue) + searchValue.length) }} |
| | | </span> |
| | | <span v-else>{{ title }}</span> |
| | | <a-dropdown |
| | | v-if="entity" |
| | | :trigger="['click']" |
| | | placement="bottomCenter" |
| | | > |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item v-if="key!=-1"> |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleEdit(entity)" |
| | | >ç¼è¾</a> |
| | | </a-menu-item> |
| | | <a-menu-item> |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleAdd(entity)" |
| | | > |
| | | æ·»å |
| | | <span v-if="key!=-1"> |
| | | å |
| | | </span> |
| | | ç±»å« |
| | | </a> |
| | | </a-menu-item> |
| | | <a-menu-item v-if="key!=-1"> |
| | | <a-popconfirm |
| | | title="ç¡®å®å é¤å?" |
| | | @confirm="() => handleDelete(entity.id)" |
| | | > |
| | | <a>å é¤</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | <!-- <a-menu-item v-if="entity.status==1 && key!=-1"> |
| | | <a-popconfirm |
| | | title="ç¡®å®ç¦ç¨å?" |
| | | @confirm="() => handleActive(entity.id)" |
| | | > |
| | | <a>ç¦ç¨</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | |
| | | <a-menu-item v-if="entity.status==0"> |
| | | <a-popconfirm |
| | | title="ç¡®å®å¯ç¨å?" |
| | | @confirm="() => handleActive(entity.id)" |
| | | > |
| | | <a>å¯ç¨</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> --> |
| | | </a-menu> |
| | | <span :style="{position: 'absolute',right: 0}"> |
| | | <a-icon type="down" /> |
| | | </span> |
| | | </a-dropdown> |
| | | </template> |
| | | </a-tree> |
| | | </a-spin> |
| | | <repair-standard-category-model |
| | | ref="modalForm" |
| | | @ok="modalFormOk" |
| | | :nodeSelected="currSelected" |
| | | ></repair-standard-category-model> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getAction, postAction, deleteAction, requestPut } from '@/api/manage' |
| | | import RepairStandardCategoryModel from './RepairStandardCategoryModel' |
| | | import Tooltip from 'ant-design-vue/es/tooltip' |
| | | |
| | | export default { |
| | | name: 'RepairStandardCategoryLeft', |
| | | props: ['value'], |
| | | components: { |
| | | RepairStandardCategoryModel, |
| | | Tooltip, |
| | | }, |
| | | data() { |
| | | return { |
| | | searchInput: '', |
| | | cardLoading: false, |
| | | loading: false, |
| | | treeDataSource: [], |
| | | selectedKeys: [], |
| | | expandedKeys: [], |
| | | url: { |
| | | loadRepairStandardCategoryTree: '/eam/repairStandardCategory/loadTree', |
| | | delete: '/eam/repairStandardCategory/delete', |
| | | list: '/eam/repairStandardCategory/list' |
| | | }, |
| | | searchValue: '', |
| | | dataList: [], |
| | | autoExpandParent: true, |
| | | checkStrictly: true, |
| | | allTreeKeys: [], |
| | | currSelected: {}, |
| | | hiding: false, |
| | | } |
| | | }, |
| | | created() { |
| | | this.queryTreeData(); |
| | | this.closeAll(); |
| | | }, |
| | | methods: { |
| | | |
| | | getCurrSelectedTitle() { |
| | | return !this.currSelected.title ? '' : this.currSelected.title; |
| | | }, |
| | | |
| | | onClearSelected() { |
| | | this.hiding = true; |
| | | this.currSelected = {}; |
| | | this.selectedKeys = []; |
| | | }, |
| | | |
| | | onSelect(selectedKeys, e) { |
| | | this.hiding = false; |
| | | let record = e.node.dataRef; |
| | | this.currSelected = Object.assign({}, record); |
| | | this.selectedKeys = [record.key]; |
| | | this.$emit('clickTreeNode', this.currSelected); |
| | | }, |
| | | |
| | | onExpand(expandedKeys) { |
| | | this.expandedKeys = expandedKeys; |
| | | this.autoExpandParent = false; |
| | | }, |
| | | |
| | | queryTreeData() { |
| | | this.loading = true; |
| | | this.cardLoading = true; |
| | | getAction(this.url.loadRepairStandardCategoryTree).then((res) => { |
| | | if (res.success) { |
| | | this.dataList = []; |
| | | this.allTreeKeys = []; |
| | | this.currSelected = {}; |
| | | this.treeDataSource = res.result; |
| | | this.generateList(res.result); |
| | | } else { |
| | | this.$message.warn(res.message); |
| | | } |
| | | }).finally(() => { |
| | | this.loading = false; |
| | | this.cardLoading = false; |
| | | }) |
| | | }, |
| | | |
| | | handleChange() { |
| | | let search = this.searchInput; |
| | | let expandedKeys = this.dataList |
| | | .map(item => { |
| | | if (item.title.indexOf(search) > -1) { |
| | | return this.getParentKey(item.key, this.treeDataSource); |
| | | } |
| | | return null; |
| | | }) |
| | | .filter((item, i, self) => item && self.indexOf(item) === i); |
| | | Object.assign(this, { |
| | | expandedKeys, |
| | | searchValue: search, |
| | | autoExpandParent: true, |
| | | }); |
| | | }, |
| | | |
| | | handleSearch(value) { |
| | | let search = value; |
| | | let expandedKeys = this.dataList |
| | | .map(item => { |
| | | if (item.title.indexOf(search) > -1) { |
| | | return this.getParentKey(item.key, this.treeDataSource); |
| | | } |
| | | return null; |
| | | }) |
| | | .filter((item, i, self) => item && self.indexOf(item) === i); |
| | | Object.assign(this, { |
| | | expandedKeys, |
| | | searchValue: search, |
| | | autoExpandParent: true, |
| | | }); |
| | | }, |
| | | |
| | | getParentKey(key, tree) { |
| | | let parentKey; |
| | | for (let i = 0; i < tree.length; i++) { |
| | | const node = tree[i]; |
| | | if (node.children) { |
| | | if (node.children.some(item => item.key === key)) { |
| | | parentKey = node.key; |
| | | } else if ( |
| | | this.getParentKey(key, node.children)) { |
| | | parentKey = this.getParentKey(key, node.children); |
| | | } |
| | | } |
| | | } |
| | | return parentKey; |
| | | }, |
| | | |
| | | generateList(data) { |
| | | for (let i = 0; i < data.length; i++) { |
| | | const node = data[i]; |
| | | const key = node.key; |
| | | const title = node.title; |
| | | this.dataList.push({ key, title: title }); |
| | | this.allTreeKeys.push(key); |
| | | if (node.children) { |
| | | this.generateList(node.children); |
| | | } |
| | | } |
| | | }, |
| | | |
| | | expandAll() { |
| | | this.expandedKeys = this.allTreeKeys; |
| | | }, |
| | | |
| | | closeAll() { |
| | | this.expandedKeys = ['-1']; |
| | | }, |
| | | |
| | | refreshTree() { |
| | | this.queryTreeData(); |
| | | }, |
| | | |
| | | handleAdd(entity) { |
| | | if (entity.id) { |
| | | this.$refs.modalForm.add(entity.id); |
| | | } else { |
| | | this.$refs.modalForm.add('-1'); |
| | | } |
| | | this.$refs.modalForm.title = "æ°å¢ç»´ä¿®æ ååç±»"; |
| | | this.$refs.modalForm.disableSubmit = false; |
| | | }, |
| | | |
| | | handleEdit(entity) { |
| | | this.$refs.modalForm.edit(entity); |
| | | this.$refs.modalForm.title = "ç¼è¾ç»´ä¿®æ ååç±»"; |
| | | this.$refs.modalForm.disableSubmit = false; |
| | | }, |
| | | handleDelete(id) { |
| | | let that = this; |
| | | getAction(that.url.list, { parentId: id }).then((res) => { |
| | | if (res.success) { |
| | | |
| | | if (res.result.records.length == 0) { |
| | | deleteAction(that.url.delete, { id: id }).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success(res.message); |
| | | that.currSelected.title = ''; |
| | | that.queryTreeData(); |
| | | } else { |
| | | that.$message.warning("å½åç»´ä¿®æ åå类被" + res.message + "æ¡ç»´ä¿®æ åå¼ç¨ï¼æ æ³æ§è¡å 餿ä½ï¼"); |
| | | } |
| | | }); |
| | | } else { |
| | | that.$message.warning("å½åç»´ä¿®æ ååç±»æ" + res.result.records.length + "æ¡åç±»å«ä¿¡æ¯ï¼æ æ³æ§è¡å 餿ä½ï¼"); |
| | | } |
| | | } else { |
| | | that.$message.warning("ç³»ç»é误ï¼"); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | handleActive(id) { |
| | | if (!this.url.active) { |
| | | this.$message.error('请设置url.active屿§!') |
| | | return; |
| | | } |
| | | let that = this; |
| | | requestPut(that.url.active, {}, { id: id }).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success(res.message); |
| | | that.queryTreeData(); |
| | | } else { |
| | | that.$message.warning(res.message); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | modalFormOk(val) { |
| | | // æ°å¢/ä¿®æ¹ æåæ¶ï¼éè½½å表 |
| | | this.queryTreeData(); |
| | | }, |
| | | |
| | | }, |
| | | //çå¬ |
| | | watch: { |
| | | // currSelected(val) {//çå¬currSelected ååï¼å°åååçæ°å¼ä¼ éç» getCurrSelected äºä»¶ |
| | | // this.$bus.$emit('getCurrSelected', val) |
| | | // }, |
| | | }, |
| | | mounted() { |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .replaceSearch { |
| | | color: #00090f; |
| | | font-weight: bold; |
| | | background-color: rgb(204, 204, 204); |
| | | } |
| | | /* .ant-select-disabled { |
| | | color: rgba(241, 16, 16, 0.25); |
| | | } |
| | | .ant-select-disabled .ant-select-selection { |
| | | background: #a76b6b; |
| | | } */ |
| | | /*éèæ çé»è®¤icon*/ |
| | | .ant-tree-switcher-noop { |
| | | display: none !important; |
| | | } |
| | | /*éèæ çé»è®¤ç«çº¿*/ |
| | | .ant-tree.ant-tree-show-line li:not(:last-child):before { |
| | | border-left: 0px; |
| | | } |
| | | |
| | | .ant-card-body .table-operator { |
| | | margin: 15px; |
| | | } |
| | | |
| | | .anty-form-btn { |
| | | width: 100%; |
| | | text-align: center; |
| | | } |
| | | |
| | | .anty-form-btn button { |
| | | margin: 0 5px; |
| | | } |
| | | |
| | | .anty-node-layout .ant-layout-header { |
| | | padding-right: 0; |
| | | } |
| | | |
| | | .header { |
| | | padding: 0 8px; |
| | | } |
| | | |
| | | .header button { |
| | | margin: 0 3px; |
| | | } |
| | | |
| | | .ant-modal-cust-warp { |
| | | height: 100%; |
| | | } |
| | | |
| | | .ant-modal-cust-warp .ant-modal-body { |
| | | height: calc(100% - 110px) !important; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .ant-modal-cust-warp .ant-modal-content { |
| | | height: 90% !important; |
| | | overflow-y: hidden; |
| | | } |
| | | |
| | | /** Buttonæé®é´è· */ |
| | | .ant-btn { |
| | | margin-left: 3px; |
| | | } |
| | | .ant-alert { |
| | | padding: 5px 15px 5px 37px; |
| | | } |
| | | .drawer-bootom-button { |
| | | position: absolute; |
| | | top: 1px; |
| | | /* padding: 10px 16px; */ |
| | | text-align: left; |
| | | right: 0; |
| | | background: #fff; |
| | | border-radius: 0 0 2px 2px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-modal |
| | | :title="title" |
| | | :width="950" |
| | | :visible="visible" |
| | | :maskClosable="false" |
| | | :confirmLoading="confirmLoading" |
| | | @ok="handleOk" |
| | | @cancel="handleCancel" |
| | | cancelText="å
³é" |
| | | > |
| | | |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form :form="form"> |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-item |
| | | label="ä¸çº§ç±»å«:" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-tree-select |
| | | tree-default-expand-all |
| | | :disabled="true" |
| | | show-search |
| | | allow-clear |
| | | :dropdown-style="{ maxHeight: '500px', overflow: 'auto' }" |
| | | :tree-data="repairStandardCategoryTree" |
| | | placeholder="è¯·éæ©ä¸çº§ç±»å«" |
| | | treeNodeFilterProp="title" |
| | | v-decorator="[ 'parentId', validatorRules.parentId]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :lg="12"> |
| | | <a-form-item |
| | | label="ç»´ä¿®æ åç¼å·:" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-input |
| | | allow-clear |
| | | placeholder="请è¾å
¥ç»´ä¿®æ åç¼å·" |
| | | v-decorator="['num', validatorRules.num ]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-item |
| | | label="ç»´ä¿®æ ååç§°:" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-input |
| | | allow-clear |
| | | placeholder="请è¾å
¥ç»´ä¿®æ ååç§°" |
| | | v-decorator="['name', validatorRules.name ]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | <a-form-item |
| | | :labelCol="{span:3}" |
| | | :wrapperCol="{span:21}" |
| | | label="夿³¨:" |
| | | > |
| | | <a-textarea |
| | | placeholder="请è¾å
¥å¤æ³¨" |
| | | allow-clear |
| | | v-decorator="['remark', validatorRules.remark]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | </a-form> |
| | | </a-spin> |
| | | |
| | | <template slot="footer"> |
| | | <a-button |
| | | :style="{marginRight: '8px'}" |
| | | @click="handleCancel" |
| | | > |
| | | å
³é |
| | | </a-button> |
| | | <a-button |
| | | :disabled="confirmLoading" |
| | | :loading="confirmLoading" |
| | | @click="handleOk" |
| | | type="primary" |
| | | >ç¡®å®</a-button> |
| | | </template> |
| | | |
| | | </a-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import pick from 'lodash.pick' |
| | | import { getAction, postAction, requestPut } from '@/api/manage' |
| | | import { duplicateCheck } from '@/api/api' |
| | | |
| | | export default { |
| | | name: 'ProcessParametersCategoryModel', |
| | | props: { |
| | | nodeSelected: { |
| | | type: Object, |
| | | default: {} |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | title: "æä½", |
| | | visible: false, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 6 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 18 }, |
| | | }, |
| | | confirmLoading: false, |
| | | form: this.$form.createForm(this), |
| | | validatorRules: { |
| | | parentId: { |
| | | rules: [ |
| | | { required: true, message: '请è¾å
¥ä¸çº§ç±»å«!' }, |
| | | ] |
| | | }, |
| | | num: { |
| | | rules: [ |
| | | { required: true, message: '请è¾å
¥åç±»ç¼å·!' }, |
| | | { min: 0, max: 30, message: 'é¿åº¦ä¸è¶
è¿ 30 个å符', trigger: 'blur' }, |
| | | // { validator: this.validateNum }, |
| | | ] |
| | | }, |
| | | name: { |
| | | rules: [ |
| | | { required: true, message: '请è¾å
¥åç±»åç§°!' }, |
| | | { min: 0, max: 30, message: 'é¿åº¦ä¸è¶
è¿ 30 个å符', trigger: 'blur' }, |
| | | // { validator: this.validateName }, |
| | | ] |
| | | }, |
| | | description: { |
| | | rules: [ |
| | | { min: 0, max: 100, message: 'é¿åº¦ä¸è¶
è¿ 100 个å符', trigger: 'blur' } |
| | | ] |
| | | } |
| | | }, |
| | | url: { |
| | | add: "/eam/repairStandardCategory/add", |
| | | edit: "/eam/repairStandardCategory/edit", |
| | | loadRepairStandardCategoryTree: '/eam/repairStandardCategory/loadTree', |
| | | getNum: '/eam/sysIdentity/getNumNew', |
| | | }, |
| | | repairStandardCategoryTree: [], |
| | | } |
| | | }, |
| | | created() { |
| | | }, |
| | | methods: { |
| | | |
| | | loadRepairStandardCategoryTree() { |
| | | this.loading = true; |
| | | this.cardLoading = true; |
| | | getAction(this.url.loadRepairStandardCategoryTree, {}).then((res) => { |
| | | if (res.success) { |
| | | let array = res.result; |
| | | this.repairStandardCategoryTree = array; |
| | | } else { |
| | | this.$message.warn(res.message); |
| | | } |
| | | }).finally(() => { |
| | | this.loading = false; |
| | | this.cardLoading = false; |
| | | }) |
| | | }, |
| | | |
| | | add(parentId) { |
| | | this.edit({ 'parentId': parentId }); |
| | | }, |
| | | |
| | | edit(record) { |
| | | console.log("record==", record) |
| | | this.loadRepairStandardCategoryTree(); |
| | | this.form.resetFields(); |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | this.$nextTick(() => { |
| | | this.form.setFieldsValue(pick(this.model, 'parentId', 'num', 'name', 'remark')); |
| | | }); |
| | | // if (!record.id) { |
| | | // this.$nextTick(() => { |
| | | // getAction(this.url.getNum, { type: 'ProcessParametersCategory', length: '4' }).then((res) => { |
| | | // if (res.success) { |
| | | // this.form.setFieldsValue({ num: res.message }); |
| | | // } |
| | | // }) |
| | | // }); |
| | | // } |
| | | }, |
| | | |
| | | handleOk() { |
| | | const that = this; |
| | | // 触å表åéªè¯ |
| | | that.form.validateFields((err, values) => { |
| | | if (!err) { |
| | | let formData = Object.assign(this.model, values); |
| | | if (formData.parentId == formData.id) { |
| | | that.$message.warning("请ä¸è¦éæ©å½åæä½æ°æ®ä¸ºä¸çº§ç±»å«ï¼"); |
| | | } else { |
| | | that.confirmLoading = true; |
| | | let obj; |
| | | if (!that.model.id) { |
| | | obj = postAction(that.url.add, formData); |
| | | } else { |
| | | obj = requestPut(that.url.edit, formData, { id: that.model.id }); |
| | | } |
| | | obj.then((res) => { |
| | | if (res.success) { |
| | | that.$message.success(res.message); |
| | | that.$emit('ok', new Date()); |
| | | } else { |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.close(); |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | handleCancel() { |
| | | this.close(); |
| | | }, |
| | | |
| | | close() { |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | }, |
| | | |
| | | //éªè¯ ç¼å· |
| | | validateNum(rule, value, callback) { |
| | | var params = { |
| | | tableName: 'mom_eam_process_parameters_category', |
| | | fieldName: 'num', |
| | | fieldVal: value, |
| | | dataId: this.model.id, |
| | | //æ°æ®åºä¸åå¨å段del_flag并使ç¨è¯¥å段ä½ä¸ºæªå é¤çç¥ï¼çå é¤ï¼false åå é¤ï¼true |
| | | delFlag: '0', |
| | | }; |
| | | duplicateCheck(params).then((res) => { |
| | | if (res.success) { |
| | | callback(); |
| | | } else { |
| | | callback("å·¥èºåæ°åç±»ç¼å·å·²åå¨!"); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | //éªè¯ åç§° |
| | | validateName(rule, value, callback) { |
| | | var params = { |
| | | tableName: 'mom_eam_process_parameters_category', |
| | | fieldName: 'name', |
| | | fieldVal: value, |
| | | dataId: this.model.id, |
| | | //æ°æ®åºä¸åå¨å段del_flag并使ç¨è¯¥å段ä½ä¸ºæªå é¤çç¥ï¼çå é¤ï¼false åå é¤ï¼true |
| | | delFlag: '0', |
| | | }; |
| | | duplicateCheck(params).then((res) => { |
| | | if (res.success) { |
| | | callback(); |
| | | } else { |
| | | callback("å·¥èºåæ°åç±»åç§°å·²åå¨!"); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | } |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .ant-btn { |
| | | padding: 0 10px; |
| | | margin-left: 3px; |
| | | } |
| | | |
| | | .ant-form-item-control { |
| | | line-height: 0px; |
| | | } |
| | | |
| | | /** 主表åè¡é´è· */ |
| | | .ant-form .ant-form-item { |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | /** Tab页é¢è¡é´è· */ |
| | | .ant-tabs-content .ant-form-item { |
| | | margin-bottom: 0px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-modal |
| | | :title="title" |
| | | :width="1050" |
| | | :visible="visible" |
| | | :maskClosable="false" |
| | | :confirmLoading="confirmLoading" |
| | | :okButtonProps="{ props: {disabled: disableSubmit} }" |
| | | @ok="handleOk" |
| | | @cancel="handleCancel" |
| | | cancelText="å
³é" |
| | | > |
| | | |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form :form="form"> |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-item |
| | | label="ç»´ä¿®æ ååç±»" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-input |
| | | allow-clear |
| | | :disabled="true" |
| | | :placeholder="disableSubmit?'':'请è¾å
¥ä¸çº§ç»´ä¿®æ åç¼å·'" |
| | | v-decorator="['repairStandardCategoryNumName', validatorRules.repairStandardCategoryNumName ]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <!-- <a-col :span="12"> |
| | | <a-form-item |
| | | label="计éåä½" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <j-dict-select-tag |
| | | allow-clear |
| | | :disabled="disableSubmit" |
| | | :placeholder="disableSubmit?'':'è¯·éæ©è®¡éåä½'" |
| | | :triggerChange="true" |
| | | dictCode="mom_base_unit,name,id,status!='0' and del_flag!='1'" |
| | | v-decorator="['unitId', validatorRules.unitId]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> --> |
| | | </a-row> |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-item |
| | | label="ç»´ä¿®æ åç¼å·" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-input |
| | | allow-clear |
| | | :disabled="disableSubmit" |
| | | :placeholder="disableSubmit?'':'请è¾å
¥ç»´ä¿®æ åç¼ç ï¼'" |
| | | v-decorator="['num', validatorRules.num ]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-item |
| | | label="ç»´ä¿®æ ååç§°" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-input |
| | | allow-clear |
| | | :disabled="disableSubmit" |
| | | :placeholder="disableSubmit?'':'请è¾å
¥ç»´ä¿®æ ååç§°'" |
| | | v-decorator="['name', validatorRules.name ]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | <a-form-item |
| | | :labelCol="{span:3}" |
| | | :wrapperCol="{span:21}" |
| | | label="夿³¨" |
| | | > |
| | | <a-textarea |
| | | allow-clear |
| | | :disabled="disableSubmit" |
| | | :placeholder="disableSubmit?'':'请è¾å
¥å¤æ³¨'" |
| | | v-decorator="['remark', validatorRules.remark]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | </a-form> |
| | | </a-spin> |
| | | |
| | | <template slot="footer"> |
| | | <a-button |
| | | :style="{marginRight: '8px'}" |
| | | @click="handleCancel" |
| | | > |
| | | å
³é |
| | | </a-button> |
| | | <!-- <a-button |
| | | v-if="!this.model.id" |
| | | :disabled="disableSubmit || confirmLoading" |
| | | :loading="confirmLoading" |
| | | @click="handleOk" |
| | | type="primary" |
| | | >ä¿åå¹¶ç»§ç»æ°å¢</a-button>--> |
| | | <a-button |
| | | :disabled="disableSubmit || confirmLoading" |
| | | :loading="confirmLoading" |
| | | @click="handleOk" |
| | | type="primary" |
| | | >ç¡®å®</a-button> |
| | | <!-- icon="save" --> |
| | | </template> |
| | | |
| | | </a-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import pick from 'lodash.pick' |
| | | import { getAction, postAction, requestPut } from '@/api/manage' |
| | | import { duplicateCheck } from '@/api/api' |
| | | |
| | | export default { |
| | | name: 'RepairStandardModel', |
| | | data() { |
| | | return { |
| | | title: "æä½", |
| | | visible: false, |
| | | codeDisable: true, |
| | | disableSubmit: false, |
| | | repairStandardCategoryId: '', |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 6 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 18 }, |
| | | }, |
| | | confirmLoading: false, |
| | | form: this.$form.createForm(this), |
| | | validatorRules: { |
| | | num: { |
| | | rules: [ |
| | | { required: true, message: '请è¾å
¥ç»´ä¿®æ åç¼å·!' }, |
| | | // { min: 2, max: 30, message: 'é¿åº¦å¨ 2 å° 30 个å符', trigger: 'blur' }, |
| | | // { validator: this.validateNum }, |
| | | ] |
| | | }, |
| | | name: { |
| | | rules: [ |
| | | { required: true, message: '请è¾å
¥ç»´ä¿®æ ååç§°!' }, |
| | | // { min: 2, max: 30, message: 'é¿åº¦å¨ 2 å° 30 个å符', trigger: 'blur' }, |
| | | // { validator: this.validateName }, |
| | | ] |
| | | }, |
| | | // unitId: { |
| | | // rules: [ |
| | | // { required: true, message: 'è¯·éæ©è®¡éåä½!' }, |
| | | // ] |
| | | // }, |
| | | remark: { |
| | | rules: [ |
| | | { min: 0, max: 100, message: 'é¿åº¦ä¸è¶
è¿ 100 个å符', trigger: 'blur' }, |
| | | ] |
| | | } |
| | | }, |
| | | url: { |
| | | add: "/eam/repairStandard/add", |
| | | edit: "/eam/repairStandard/edit", |
| | | getNum: '/eam/sysIdentity/getNumNew', |
| | | }, |
| | | //æ°å¢ãç¼è¾ãå é¤ãæ¹éå 餿使¹åæ°æ®åå·æ°å
³èçç»ä»¶ççå¬å±æ§ |
| | | alterFlag: "" |
| | | } |
| | | }, |
| | | created() { |
| | | }, |
| | | methods: { |
| | | |
| | | add(record) { |
| | | this.edit(record); |
| | | }, |
| | | |
| | | edit(record) { |
| | | this.form.resetFields(); |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | this.disableSubmit = false; |
| | | this.$nextTick(() => { |
| | | this.form.setFieldsValue(pick(this.model, 'repairStandardCategoryNumName', 'num', 'name', 'remark')) |
| | | }); |
| | | if (record.id) { |
| | | this.codeDisable = true; |
| | | } else { |
| | | this.codeDisable = false; |
| | | this.$nextTick(() => { |
| | | // getAction(this.url.getNum, { type: 'ProcessParameters', length: '4' }).then((res) => { |
| | | // if (res.success) { |
| | | // this.form.setFieldsValue({ num: res.message }); |
| | | // } |
| | | // }) |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | close() { |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | }, |
| | | |
| | | handleOk() { |
| | | const that = this; |
| | | // 触å表åéªè¯ |
| | | this.form.validateFields((err, values) => { |
| | | if (!err) { |
| | | that.confirmLoading = true; |
| | | let formData = Object.assign(this.model, values); |
| | | let obj; |
| | | if (!this.model.id) { |
| | | formData.repairStandardCategoryId = this.repairStandardCategoryId |
| | | obj = postAction(this.url.add, formData); |
| | | } else { |
| | | obj = requestPut(this.url.edit, formData, { id: this.model.id }); |
| | | } |
| | | obj.then((res) => { |
| | | if (res.success) { |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | that.alterFlag = new Date(); |
| | | } else { |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.close(); |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | |
| | | //éªè¯ ç¼å· |
| | | validateNum(rule, value, callback) { |
| | | var params = { |
| | | tableName: 'mom_eam_process_parameters', |
| | | fieldName: 'num', |
| | | fieldVal: value, |
| | | dataId: this.model.id, |
| | | //æ°æ®åºä¸åå¨å段del_flag并使ç¨è¯¥å段ä½ä¸ºæªå é¤çç¥ï¼çå é¤ï¼false åå é¤ï¼true |
| | | delFlag: '0', |
| | | }; |
| | | duplicateCheck(params).then((res) => { |
| | | if (res.success) { |
| | | callback(); |
| | | } else { |
| | | callback("ç¼å·å·²åå¨!"); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | //éªè¯ åç§° |
| | | validateName(rule, value, callback) { |
| | | var params = { |
| | | tableName: 'mom_eam_process_parameters', |
| | | fieldName: 'name', |
| | | fieldVal: value, |
| | | dataId: this.model.id, |
| | | //æ°æ®åºä¸åå¨å段del_flag并使ç¨è¯¥å段ä½ä¸ºæªå é¤çç¥ï¼çå é¤ï¼false åå é¤ï¼true |
| | | delFlag: '0', |
| | | }; |
| | | duplicateCheck(params).then((res) => { |
| | | if (res.success) { |
| | | callback(); |
| | | } else { |
| | | callback("åç§°å·²åå¨!"); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | }, |
| | | watch: { |
| | | alterFlag() { |
| | | this.$bus.$emit('queryTreeData'); |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .ant-btn { |
| | | padding: 0 10px; |
| | | margin-left: 3px; |
| | | } |
| | | |
| | | .ant-form-item-control { |
| | | line-height: 0px; |
| | | } |
| | | |
| | | /** 主表åè¡é´è· */ |
| | | .ant-form .ant-form-item { |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | /** Tab页é¢è¡é´è· */ |
| | | .ant-tabs-content .ant-form-item { |
| | | margin-bottom: 0px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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 |
| | | :md="8" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="ç»´ä¿®æ åç¼ç "> |
| | | <j-input |
| | | placeholder="请è¾å
¥ç»´ä¿®æ åç¼ç " |
| | | v-model="queryParam.num" |
| | | ></j-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="8" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="ç»´ä¿®æ ååç§°"> |
| | | <j-input |
| | | placeholder="请è¾å
¥ç»´ä¿®æ ååç§°" |
| | | v-model="queryParam.name" |
| | | ></j-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | |
| | | <!-- æä½æé®åºå --> |
| | | <div |
| | | class="table-operator" |
| | | style="margin-top: 5px" |
| | | > |
| | | <a-button |
| | | type="primary" |
| | | @click="searchQuery" |
| | | icon="search" |
| | | >æ¥è¯¢</a-button> |
| | | <a-button |
| | | @click="searchReset" |
| | | icon="reload" |
| | | >éç½®</a-button> |
| | | <a-button |
| | | @click="handleAdd" |
| | | type="primary" |
| | | icon="plus" |
| | | :hidden="disabled" |
| | | >æ°å¢</a-button> |
| | | <a-button |
| | | type="primary" |
| | | icon="download" |
| | | @click="handleExportXls('åå ')" |
| | | >导åº</a-button> |
| | | <a-dropdown v-if="selectedRowKeys.length > 0"> |
| | | <a-button style="margin-left: 8px"> |
| | | æ¹éæä½ |
| | | <a-icon type="down" /> |
| | | </a-button> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item @click="batchDel"> |
| | | <a-icon type="delete" />å é¤ |
| | | </a-menu-item> |
| | | </a-menu> |
| | | </a-dropdown> |
| | | </div> |
| | | |
| | | <!-- tableåºå-begin --> |
| | | <div> |
| | | <a-table |
| | | ref="table" |
| | | bordered |
| | | size="middle" |
| | | rowKey="id" |
| | | :columns="columns" |
| | | :rowClassName="tableRowClass" |
| | | :dataSource="dataSource" |
| | | :pagination="ipagination" |
| | | :loading="loading" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
| | | @change="handleTableChange" |
| | | :scroll="{ x: true}" |
| | | > |
| | | <!--å符串è¶
é¿æªåçç¥å·æ¾ç¤º--> |
| | | <span |
| | | slot="num" |
| | | slot-scope="text" |
| | | style="font-weight: bold" |
| | | > |
| | | <j-ellipsis |
| | | :value="text" |
| | | :length="15" |
| | | /> |
| | | </span> |
| | | <span |
| | | slot="name" |
| | | slot-scope="text" |
| | | style="font-weight: bold" |
| | | > |
| | | <j-ellipsis |
| | | :value="text" |
| | | :length="15" |
| | | /> |
| | | </span> |
| | | <span |
| | | slot="model" |
| | | slot-scope="text" |
| | | > |
| | | <j-ellipsis |
| | | :value="text" |
| | | :length="15" |
| | | /> |
| | | </span> |
| | | <!-- <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 @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 |
| | | href="javascript:;" |
| | | @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-else> |
| | | <a-popconfirm title="å½åä¿¡æ¯å·²è¢«å¼ç¨ï¼è¯·å
å é¤å
³èä¿¡æ¯ååæ§è¡å 餿ä½"> |
| | | <a class="frozenRowClass">å é¤</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> --> |
| | | |
| | | <!-- <a-menu-item v-if="record.status==1"> |
| | | <a-popconfirm |
| | | title="ç¡®å®ç¦ç¨å?" |
| | | @confirm="() => handleActive(record.id)" |
| | | > |
| | | <a>ç¦ç¨</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> --> |
| | | <!-- <a-menu-item v-if="record.status==0"> |
| | | <a-popconfirm |
| | | title="ç¡®å®å¯ç¨å?" |
| | | @confirm="() => handleActive(record.id)" |
| | | > |
| | | <a>å¯ç¨</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> --> |
| | | </a-menu> |
| | | </a-dropdown> |
| | | </span> |
| | | |
| | | </a-table> |
| | | </div> |
| | | <!-- tableåºå-end --> |
| | | |
| | | <repair-standard-model |
| | | ref="modalForm" |
| | | @ok="modalFormOk" |
| | | :nodeSelected="nodeSelected" |
| | | ></repair-standard-model> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import JDictSelectTag from '@/components/dict/JDictSelectTag' |
| | | import { requestPut } from '@/api/manage' |
| | | import RepairStandardModel from './RepairStandardModel' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import JInput from '@/components/jeecg/JInput' |
| | | import JEllipsis from "@/components/jeecg/JEllipsis"; |
| | | import Tooltip from 'ant-design-vue/es/tooltip' |
| | | export default { |
| | | name: 'ProcessParametersRight', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | Tooltip, |
| | | RepairStandardModel, |
| | | JDictSelectTag, |
| | | JInput, |
| | | JEllipsis, |
| | | }, |
| | | props: { |
| | | recordSelect: {}, |
| | | }, |
| | | data() { |
| | | return { |
| | | disabled: true, |
| | | nodeSelected: {}, |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | align: 'center', |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1 |
| | | }, |
| | | width: 50, |
| | | }, |
| | | { |
| | | title: 'ç»´ä¿®æ åç¼ç ', |
| | | align: 'center', |
| | | dataIndex: 'num', |
| | | scopedSlots: { |
| | | customRender: 'num' |
| | | }, |
| | | // sorter: true, |
| | | }, |
| | | { |
| | | title: 'ç»´ä¿®æ ååç§°', |
| | | align: 'center', |
| | | dataIndex: 'name', |
| | | scopedSlots: { |
| | | customRender: 'name' |
| | | }, |
| | | // sorter: true, |
| | | }, |
| | | { |
| | | title: 'ç»´ä¿®æ ååç±»', |
| | | align: 'center', |
| | | dataIndex: 'repairStandardCategoryNumName', |
| | | scopedSlots: { |
| | | customRender: 'repairStandardCategoryNumName' |
| | | }, |
| | | // sorter: true, |
| | | }, |
| | | // { |
| | | // title: '计éåä½', |
| | | // align: 'center', |
| | | // dataIndex: 'unitId_dictText', |
| | | // scopedSlots: { |
| | | // customRender: 'unitId_dictText' |
| | | // }, |
| | | // // sorter: true, |
| | | // }, |
| | | { |
| | | title: 'å建人', |
| | | align: "center", |
| | | dataIndex: 'createBy', |
| | | }, |
| | | { |
| | | title: 'å建æ¶é´', |
| | | align: "center", |
| | | dataIndex: 'createTime', |
| | | }, |
| | | // { |
| | | // title: 'ä¿®æ¹äºº', |
| | | // align: "center", |
| | | // dataIndex: 'updateBy', |
| | | // }, |
| | | // { |
| | | // title: 'ä¿®æ¹æ¶é´', |
| | | // align: "center", |
| | | // dataIndex: 'updateTime', |
| | | // }, |
| | | { |
| | | |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align: 'center', |
| | | scopedSlots: { |
| | | customRender: 'action' |
| | | }, |
| | | width: 150, |
| | | fixed: 'right', |
| | | }, |
| | | ], |
| | | url: { |
| | | list: '/eam/repairStandard/list', |
| | | delete: "/eam/repairStandard/delete", |
| | | deleteBatch: "/eam/repairStandard/deleteBatch", |
| | | exportXlsUrl: "/eam/repairStandard/exportXls", |
| | | importExcelUrl: "eam/repairStandard/importExcel", |
| | | }, |
| | | } |
| | | }, |
| | | |
| | | |
| | | methods: { |
| | | handleAdd: function () { |
| | | this.$refs.modalForm.add({ repairStandardCategoryNumName: this.repairStandardCategoryNumName }); |
| | | this.$refs.modalForm.title = "æ°å¢"; |
| | | this.$refs.modalForm.disableSubmit = false; |
| | | this.$refs.modalForm.repairStandardCategoryId = this.nodeSelected.key; |
| | | }, |
| | | //ç¦ç¨ç¶ææ ·å¼ |
| | | tableRowClass(record, index) { |
| | | // if (record.status != "1") { |
| | | // return "frozenRowClass"; |
| | | // } |
| | | return ""; |
| | | }, |
| | | searchReset() { |
| | | if ('-1' != this.nodeSelected.key) { |
| | | this.disabled = false; |
| | | this.queryParam = []; |
| | | this.queryParam.repairStandardCategoryId = this.nodeSelected.key; |
| | | } else { |
| | | this.disabled = true; |
| | | this.queryParam = []; |
| | | } |
| | | this.loadData(1); |
| | | }, |
| | | }, |
| | | watch: { |
| | | recordSelect(val) { |
| | | this.nodeSelected = val; |
| | | this.repairStandardCategoryNumName = this.nodeSelected.rfield1 + "/" + this.nodeSelected.rfield2; |
| | | if ('-1' != this.nodeSelected.key) { |
| | | this.disabled = false; |
| | | this.queryParam = []; |
| | | this.queryParam.repairStandardCategoryId = this.nodeSelected.key; |
| | | } else { |
| | | this.disabled = true; |
| | | this.queryParam = []; |
| | | } |
| | | this.loadData(1); |
| | | } |
| | | }, |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | @import '~@assets/less/common.less'; |
| | | /deep/ .frozenRowClass { |
| | | color: #c9c9c9; |
| | | } |
| | | /deep/ .success { |
| | | color: green; |
| | | } |
| | | /deep/ .error { |
| | | color: red; |
| | | } |
| | | /deep/ .notShow { |
| | | display: none; |
| | | } |
| | | .fontweight { |
| | | font-weight: bold; |
| | | } |
| | | </style> |
| | |
| | | |
| | | <!-- <a-switch @change='(e)=>onChange(e, record.key, col, index)' :value='text' :disabled="repairOrderStatus=='4'"--> |
| | | <!-- v-if="col.dataIndex == 'principalContractor'" />--> |
| | | <a-select default-value='0' :value='text' :disabled="repairOrderStatus=='4'" |
| | | v-if="col.dataIndex == 'principalContractor'" |
| | | style="width: 100%;" |
| | | @change='(e)=>handleChange(e, record.key, col, index)'> |
| | | <a-select |
| | | default-value='0' |
| | | :value='text' |
| | | :disabled="repairOrderStatus=='4'" |
| | | v-if="col.dataIndex == 'principalContractor'" |
| | | style="width: 100%;" |
| | | @change='(e)=>handleChange(e, record.key, col, index)' |
| | | > |
| | | <a-select-opt-group> |
| | | <a-select-option value='1' style="width: 100%;"> |
| | | <a-select-option |
| | | value='1' |
| | | style="width: 100%;" |
| | | > |
| | | æ¯ |
| | | </a-select-option> |
| | | <a-select-option value='0' style="width: 100%;"> |
| | | <a-select-option |
| | | value='0' |
| | | style="width: 100%;" |
| | | > |
| | | å¦ |
| | | </a-select-option> |
| | | </a-select-opt-group> |
| | |
| | | :value='text' |
| | | format='YYYY-MM-DD HH:mm' |
| | | :show-time="{ defaultValue: moment('00:00', 'HH:mm') }" |
| | | v-if="col.dataIndex == 'startTime'" @change='(e)=>handleChange(e, record.key, col, index)' |
| | | v-if="col.dataIndex == 'startTime'" |
| | | @change='(e)=>handleChange(e, record.key, col, index)' |
| | | /> |
| | | <!-- :disabled="repairOrderStatus=='4'"--> |
| | | <a-date-picker |
| | | :value='text' |
| | | format='YYYY-MM-DD HH:mm' |
| | | :show-time="{ defaultValue: moment('00:00', 'HH:mm') }" |
| | | v-if="col.dataIndex == 'endTime'" @change='(e)=>handleChange(e, record.key, col, index)' |
| | | v-if="col.dataIndex == 'endTime'" |
| | | @change='(e)=>handleChange(e, record.key, col, index)' |
| | | /> |
| | | |
| | | <!-- <a-input-number--> |
| | |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: 'center', |
| | | customRender: function(t, r, index) { |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | }, |
| | |
| | | repairOrderId: { |
| | | immediate: true, |
| | | handler(val) { |
| | | if(this.repairOrderId){ |
| | | if (this.repairOrderId) { |
| | | this.clearList() |
| | | this.queryParam['repairOrderId'] = val |
| | | this.loadData(1) |
| | |
| | | onChange(checked) { |
| | | console.log(`a-switch to ${checked}`) |
| | | }, |
| | | //æ¶é´éæ©ä¿®æ¹ |
| | | //æ¶é´éæ©ä¿®æ¹ |
| | | onStartTimeChange() { |
| | | console.log() |
| | | |
| | |
| | | } |
| | | if ('principalContractor' == column.dataIndex) { |
| | | target['principalContractor'] = value |
| | | if(value==='1'){ |
| | | for(var i = 0;i<temp.length;i++){ |
| | | if(i!==index){ |
| | | temp[i]['principalContractor']='0'; |
| | | } |
| | | if (value === '1') { |
| | | for (var i = 0; i < temp.length; i++) { |
| | | if (i !== index) { |
| | | temp[i]['principalContractor'] = '0'; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | if ('actualHour' == column.dataIndex) { |
| | | if(target['theoreticalTime']!==null&&target['theoreticalTime']<value){ |
| | | if (target['theoreticalTime'] !== null && target['theoreticalTime'] < value) { |
| | | that.$message.error('è¯·æ£æ¥ç¬¬' + (index + 1) + 'è¡å®é
å·¥æ¶ä¸è½å°äºç论工æ¶,è¯·éæ°å¡«å') |
| | | target['actualHour']=null; |
| | | }else if(target['theoreticalTime']===null||target['theoreticalTime']===undefined){ |
| | | target['actualHour'] = null; |
| | | } else if (target['theoreticalTime'] === null || target['theoreticalTime'] === undefined) { |
| | | that.$message.error('è¯·æ£æ¥ç¬¬' + (index + 1) + '请å
å¡«åå¼å§æ¶é´ä¸ç»ææ¶é´') |
| | | target['actualHour']=null; |
| | | }else{ |
| | | target['actualHour'] = null; |
| | | } else { |
| | | target['actualHour'] = value |
| | | } |
| | | |
| | | |
| | | } |
| | | // if ('theoreticalTime' == column.dataIndex) { |
| | | // target['theoreticalTime'] = value |
| | |
| | | |
| | | if (target['endTime'] == null) { |
| | | target['startTime'] = value |
| | | } else { |
| | | } else { |
| | | const diffInHours = this.getTimeDiff(value, target['endTime']) |
| | | if (diffInHours < 0) { |
| | | target['startTime'] = '' |
| | | target['theoreticalTime'] = '' |
| | | that.$message.error('å¼å§æ¶é´ä¸è½å°äºç»ææ¶é´,è¯·éæ°éæ©') |
| | | } else { |
| | | if(target['actualHour']!==null){ |
| | | if(diffInHours<target['actualHour']){ |
| | | target['startTime'] = '' |
| | | target['theoreticalTime'] = '' |
| | | that.$message.error('å®é
å·¥æ¶ä¸è½å°äºç论工æ¶,è¯·éæ°å¡«å') |
| | | }else{ |
| | | target['startTime'] = value |
| | | target['theoreticalTime'] = diffInHours |
| | | } |
| | | }else{ |
| | | if (target['actualHour'] !== null) { |
| | | if (diffInHours < target['actualHour']) { |
| | | target['startTime'] = '' |
| | | target['theoreticalTime'] = '' |
| | | that.$message.error('å®é
å·¥æ¶ä¸è½å°äºç论工æ¶,è¯·éæ°å¡«å') |
| | | } else { |
| | | target['startTime'] = value |
| | | target['theoreticalTime'] = diffInHours |
| | | } |
| | | } else { |
| | | target['startTime'] = value |
| | | target['theoreticalTime'] = diffInHours |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | if ('endTime' == column.dataIndex) { |
| | |
| | | target['theoreticalTime'] = '' |
| | | that.$message.error('å¼å§æ¶é´ä¸è½å°äºç»ææ¶é´,è¯·éæ°éæ©') |
| | | } else { |
| | | if(target['actualHour']!==null){ |
| | | if(diffInHours<target['actualHour']){ |
| | | target['endTime'] = '' |
| | | target['theoreticalTime'] = '' |
| | | that.$message.error('å®é
å·¥æ¶ä¸è½å°äºç论工æ¶,è¯·éæ°å¡«å') |
| | | }else{ |
| | | target['endTime'] = value |
| | | target['theoreticalTime'] = diffInHours |
| | | } |
| | | }else{ |
| | | if (target['actualHour'] !== null) { |
| | | if (diffInHours < target['actualHour']) { |
| | | target['endTime'] = '' |
| | | target['theoreticalTime'] = '' |
| | | that.$message.error('å®é
å·¥æ¶ä¸è½å°äºç论工æ¶,è¯·éæ°å¡«å') |
| | | } else { |
| | | target['endTime'] = value |
| | | target['theoreticalTime'] = diffInHours |
| | | } |
| | | } else { |
| | | target['endTime'] = value |
| | | target['theoreticalTime'] = diffInHours |
| | | } |
| | |
| | | > |
| | | <div :key="col.dataIndex"> |
| | | <a-input |
| | | :value="text" |
| | | v-if="col.dataIndex == 'sparePartId'" |
| | | auto-size |
| | | placeholder="请è¾å
¥ç©æåç§°" |
| | | @change="(e)=>handleChange(e, record.key, col, index)" |
| | | :disabled="record.disabled" |
| | | :value="text" |
| | | v-if="col.dataIndex == 'sparePartId'" |
| | | auto-size |
| | | placeholder="请è¾å
¥ç©æåç§°" |
| | | @change="(e)=>handleChange(e, record.key, col, index)" |
| | | :disabled="record.disabled" |
| | | /> |
| | | <a-input |
| | | :value="text" |
| | | v-if="col.dataIndex == 'repairOrderAmUda1'" |
| | | auto-size |
| | | placeholder="请è¾å
¥åä½" |
| | | @change="(e)=>handleChange(e, record.key, col, index)" |
| | | :disabled="record.disabled" |
| | | :value="text" |
| | | v-if="col.dataIndex == 'repairOrderAmUda1'" |
| | | auto-size |
| | | placeholder="请è¾å
¥åä½" |
| | | @change="(e)=>handleChange(e, record.key, col, index)" |
| | | :disabled="record.disabled" |
| | | /> |
| | | <j-dict-select-tag |
| | | :value='text' |
| | | v-if="col.dataIndex == 'outboundOrderId'" |
| | | dictCode="material_type" |
| | | :disabled="true" |
| | | style="width: 100%;" |
| | | @change='(e)=>handleChange(e, record.key, col, index)'/> |
| | | <j-dict-select-tag |
| | | :value='text' |
| | | v-if="col.dataIndex == 'outboundOrderId'" |
| | | dictCode="material_type" |
| | | :disabled="false" |
| | | style="width: 100%;" |
| | | @change='(e)=>handleChange(e, record.key, col, index)' |
| | | /> |
| | | <a-input-number |
| | | :value="text" |
| | | v-if="col.dataIndex == 'actualQuantity'" |
| | |
| | | type="dashed" |
| | | icon="plus" |
| | | @click="addMaterial" |
| | | :disabled="mainId.status!='3'||( mainId.repairOrderUda1!='needPart'&&mainId.repairOrderUda1!='needSpare')" |
| | | :disabled="mainId.status!='3'" |
| | | >æ·»å å®é
ç¨æ</a-button> |
| | | <!-- :disabled="mainId.status!='3'||( mainId.repairOrderUda1!='needPart'&&mainId.repairOrderUda1!='needSpare')" --> |
| | | <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}"> |
| | | <a-row :style="{textAlign:'right'}"> |
| | | <a-button |
| | |
| | | return parseInt(index) + 1; |
| | | } |
| | | }, |
| | | // { |
| | | // title: '颿åºåºå', |
| | | // dataIndex: 'num', |
| | | // align: "center", |
| | | // width: 150, |
| | | // }, |
| | | // { |
| | | // title: 'å¤ä»¶ç¼ç ', |
| | | // dataIndex: 'sparePartNum', |
| | | // align: "center", |
| | | |
| | | // }, |
| | | { |
| | | title: 'ç©æåç§°', |
| | | dataIndex: 'sparePartId', |
| | | scopedSlots: { customRender: 'sparePartId' }, |
| | | align: "center", |
| | | className: 'red', |
| | | width: 250, |
| | | className: 'red', |
| | | // width: 250, |
| | | }, |
| | | { |
| | | title: 'ç©æç§ç±»', |
| | | dataIndex: 'outboundOrderId', |
| | | scopedSlots: { customRender: 'outboundOrderId' }, |
| | | align: "center", |
| | | width: 250, |
| | | // width: 250, |
| | | }, |
| | | // { |
| | | // title: 'åå·', |
| | | // dataIndex: 'sparePartModel', |
| | | // align: "center", |
| | | // }, |
| | | // { |
| | | // title: 'å¶é å', |
| | | // dataIndex: 'constructorName', |
| | | // align: "center", |
| | | // }, |
| | | { |
| | | title: 'åä½', |
| | | dataIndex: 'repairOrderAmUda1', |
| | | scopedSlots: { customRender: 'repairOrderAmUda1' }, |
| | | align: "center", |
| | | className: 'red', |
| | | width: 250, |
| | | }, |
| | | // { |
| | | // title: '主æ°é', |
| | | // align: 'center', |
| | | // dataIndex: 'mainQuantity' |
| | | // }, |
| | | // { |
| | | // title: 'å¯ç¨æ°é', |
| | | // align: 'center', |
| | | // dataIndex: 'availableQuantity' |
| | | // }, |
| | | { |
| | | title: 'ä½¿ç¨æ°é', |
| | | dataIndex: 'actualQuantity', |
| | | align: "center", |
| | | scopedSlots: { customRender: 'actualQuantity' }, |
| | | className: 'red', |
| | | width: 250, |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align: 'center', |
| | | width: 250, |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ], |
| | |
| | | watch: { |
| | | mainId: { |
| | | immediate: true, |
| | | deep:true, |
| | | deep: true, |
| | | handler(val) { |
| | | console.log(val) |
| | | if (!this.mainId.id) { |
| | |
| | | // this.$refs.JSelectSparePartModal.showModals(ids); |
| | | // this.$refs.JSelectSparePartModal.title = 'éæ©å¤ä»¶ä¿¡æ¯' |
| | | // this.$refs.JSelectSparePartModal.disableSubmit = false |
| | | this.dataSource.push({ sparePartId: '', outboundOrderId: this.mainId.repairOrderUda1,repairOrderAmUda1: '', actualQuantity:'',repairOrderId:this.mainId.id }) |
| | | // this.dataSource.push({ sparePartId: '', outboundOrderId: this.mainId.repairOrderUda1, repairOrderAmUda1: '', actualQuantity: '', repairOrderId: this.mainId.id }) |
| | | this.dataSource.push({ sparePartId: '', outboundOrderId: '', repairOrderAmUda1: '', actualQuantity: '', repairOrderId: this.mainId.id }) |
| | | }, |
| | | handleCancel() { |
| | | this.$bus.$emit('closeDrawer') |
| | |
| | | // this.dataSource = temp |
| | | // } |
| | | if ('sparePartId' == column.dataIndex) { |
| | | target['sparePartId'] = value.target.value |
| | | target['sparePartId'] = value.target.value |
| | | } |
| | | if ('repairOrderAmUda1' == column.dataIndex) { |
| | | target['repairOrderAmUda1'] = value.target.value |
| | | } |
| | | target['repairOrderAmUda1'] = value.target.value |
| | | } |
| | | if ('actualQuantity' == column.dataIndex) { |
| | | target['actualQuantity'] = value |
| | | } |
| | | } |
| | | if ('outboundOrderId' == column.dataIndex) { |
| | | target['outboundOrderId'] = value |
| | | } |
| | | }, |
| | | clearList() { |
| | | this.dataSource = []; |
| | |
| | | that.$message.warning('请填å第' + (i + 1) + 'è¡ä½¿ç¨æ°éï¼') |
| | | return false |
| | | } |
| | | if (workHoursDataSource[i].outboundOrderId == undefined || workHoursDataSource[i].outboundOrderId == null || workHoursDataSource[i].outboundOrderId == '') { |
| | | that.$message.warning('请填å第' + (i + 1) + 'è¡ç©æç§ç±»ï¼') |
| | | return false |
| | | } |
| | | } |
| | | } |
| | | if (that.dataSource.length === 0) { |
| | |
| | | <template> |
| | | <a-card |
| | | :bordered=true |
| | | > |
| | | <a-spin :spinning='confirmLoading'> |
| | | <a-form |
| | | :form="form" |
| | | > |
| | | <a-card :bordered=true> |
| | | <a-spin :spinning='confirmLoading'> |
| | | <a-form :form="form"> |
| | | <a-row> |
| | | <a-col |
| | | :span='12' |
| | | > |
| | | <a-col :span='12'> |
| | | <a-form-item |
| | | label='æ
éç°è±¡' |
| | | :labelCol='labelCol' |
| | |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-button |
| | | :style="{marginRight: '8px'}" |
| | | @click='handleEdit2()' |
| | | :disabled="disabledButton||!disabledEdit" |
| | | :loading='confirmLoading' |
| | | > |
| | | ç¼è¾ |
| | | </a-button> |
| | | <a-row> |
| | | <a-col :span='12'> |
| | | <a-form-item |
| | | label='æ
éåå ' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | > |
| | | <!-- <a-textarea |
| | | placeholder='请è¾å
¥æ
éåå ' |
| | | v-decorator="['repairOrderFaultAnalysisUda2', validatorRules.repairOrderFaultAnalysisUda2]" |
| | | :disabled="disabledEdit" |
| | | ></a-textarea> --> |
| | | <j-dict-select-tag |
| | | allow-clear |
| | | :disabled="disabledEdit" |
| | | :placeholder="'è¯·éæ©æ
éåå '" |
| | | :triggerChange="true" |
| | | dictCode="repair_order_fault_cause" |
| | | v-decorator="['repairOrderFaultAnalysisUda2',validatorRules.repairOrderFaultAnalysisUda2]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-item |
| | | label='å®å
¨æªæ½' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | > |
| | | <a-textarea |
| | | allow-clear |
| | | placeholder='请è¾å
¥å®å
¨æªæ½' |
| | | v-decorator="['repairOrderFaultAnalysisUda3', validatorRules.repairOrderFaultAnalysisUda3]" |
| | | :disabled="disabledEdit" |
| | | ></a-textarea> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-button |
| | | @click='handleOk()' |
| | | type='primary' |
| | | :loading='confirmLoading' |
| | | :disabled="disabledButton||disabledEdit" |
| | | >ä¿å |
| | | </a-button> |
| | | </a-row> |
| | | <a-row> |
| | | <a-col |
| | | v-if=" '99' == this.form.getFieldsValue(['repairOrderFaultAnalysisUda2']).repairOrderFaultAnalysisUda2" |
| | | :span='12' |
| | | > |
| | | <a-form-item |
| | | label='æ
éåå æè¿°' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | > |
| | | <a-textarea |
| | | allow-clear |
| | | placeholder='请è¾å
¥æ
éåå æè¿°' |
| | | v-decorator="['repairOrderFaultAnalysisUda4', validatorRules.repairOrderFaultAnalysisUda4]" |
| | | :disabled="disabledEdit" |
| | | ></a-textarea> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :span='12'> |
| | | <a-form-item |
| | | label='ç»´ä¿®æ å' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | > |
| | | <j-dict-select-tag |
| | | allow-clear |
| | | :disabled="disabledEdit" |
| | | :placeholder="'è¯·éæ©ç»´ä¿®æ å'" |
| | | :triggerChange="true" |
| | | dictCode="mom_eam_repair_standard,name,id, del_flag!='1'" |
| | | v-decorator="['repairOrderFaultAnalysisUda5',validatorRules.repairOrderFaultAnalysisUda5]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-button |
| | | :style="{marginRight: '8px'}" |
| | | @click='handleEdit2()' |
| | | :disabled="disabledButton||!disabledEdit" |
| | | :loading='confirmLoading' |
| | | > |
| | | ç¼è¾ |
| | | </a-button> |
| | | |
| | | <a-button |
| | | @click='handleOk()' |
| | | type='primary' |
| | | :loading='confirmLoading' |
| | | :disabled="disabledButton||disabledEdit" |
| | | >ä¿å |
| | | </a-button> |
| | | </a-form> |
| | | </a-spin> |
| | | </a-spin> |
| | | </a-card> |
| | | </template> |
| | | <script> |
| | |
| | | import { getAction } from '../../../../../api/manage' |
| | | export default { |
| | | name: 'RepairOrderFaultAnalysisList', |
| | | components: { }, |
| | | components: {}, |
| | | props: { |
| | | repairOrder:{ |
| | | repairOrder: { |
| | | type: Object, |
| | | default:{}, |
| | | default: {}, |
| | | } |
| | | }, |
| | | watch:{ |
| | | 'repairOrder.id':{ |
| | | immediate: true, |
| | | handler(val) { |
| | | this.loadData(val); |
| | | if(this.repairOrder.id!==undefined&&this.repairOrder.id!==null&&this.repairOrder.id!==''){ |
| | | if(this.repairOrder.status!=='3'){ |
| | | this.disabledButton = true; |
| | | }else{ |
| | | this.disabledButton = false; |
| | | } |
| | | }else{ |
| | | watch: { |
| | | 'repairOrder.id': { |
| | | immediate: true, |
| | | handler(val) { |
| | | this.loadData(val); |
| | | if (this.repairOrder.id !== undefined && this.repairOrder.id !== null && this.repairOrder.id !== '') { |
| | | if (this.repairOrder.status !== '3') { |
| | | this.disabledButton = true; |
| | | } else { |
| | | this.disabledButton = false; |
| | | } |
| | | } |
| | | }, |
| | | 'repairOrder.status':{ |
| | | immediate: true, |
| | | handler(val) { |
| | | if(val!=='3'){ |
| | | this.disabledButton = true; |
| | | }else{ |
| | | this.disabledButton = false; |
| | | } |
| | | } else { |
| | | this.disabledButton = true; |
| | | } |
| | | } |
| | | }, |
| | | 'repairOrder.status': { |
| | | immediate: true, |
| | | handler(val) { |
| | | if (val !== '3') { |
| | | this.disabledButton = true; |
| | | } else { |
| | | this.disabledButton = false; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | description: '维修工å管ç页é¢', |
| | | confirmLoading:false, |
| | | model:{}, |
| | | confirmLoading: false, |
| | | model: {}, |
| | | form: this.$form.createForm(this), |
| | | url: { |
| | | add:'/eam/repairOrderFaultAnalysis/add', |
| | | add: '/eam/repairOrderFaultAnalysis/add', |
| | | edit: '/eam/repairOrderFaultAnalysis/edit', |
| | | getInfo:'/eam/repairOrderFaultAnalysis/list', |
| | | getInfo: '/eam/repairOrderFaultAnalysis/list', |
| | | }, |
| | | dictOptions: {}, |
| | | disabledEdit:false, |
| | | disabledEdit: false, |
| | | validatorRules: { |
| | | faultCause: { |
| | | rules: [ |
| | |
| | | { required: true, message: '请è¾å
¥æ
éç°è±¡!' }, |
| | | ] |
| | | }, |
| | | suggestion:{ |
| | | repairOrderFaultAnalysisUda2: { |
| | | rules: [ |
| | | { required: true, message: 'è¯·éæ©æ
éåå ï¼' }, |
| | | ] |
| | | }, |
| | | repairOrderFaultAnalysisUda3: { |
| | | rules: [ |
| | | { required: true, message: '请è¾å
¥å®å
¨æªæ½!' }, |
| | | ] |
| | | }, |
| | | repairOrderFaultAnalysisUda4: { |
| | | rules: [ |
| | | { required: true, message: '请è¾å
¥æ
éåå æè¿°!' }, |
| | | ] |
| | | }, |
| | | suggestion: { |
| | | rules: [ |
| | | { required: true, message: '请è¾å
¥æ
éé¢é²!' }, |
| | | { min: 2, max: 1000, message: 'é¿åº¦å¨ 2 å° 1000 个å符', trigger: 'blur' }, |
| | | ] |
| | | }, |
| | | maintenanceMeasures:{ |
| | | maintenanceMeasures: { |
| | | rules: [ |
| | | { required: true, message: '请è¾å
¥æ
éç»´ä¿®!' }, |
| | | { min: 2, max: 1000, message: 'é¿åº¦å¨ 2 å° 1000 个å符', trigger: 'blur' }, |
| | |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 } |
| | | }, |
| | | disabledButton:false |
| | | disabledButton: false |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.loadData(that.repairOrder.id); |
| | | that.confirmLoading = false; |
| | | that.loadData(that.repairOrder.id); |
| | | that.confirmLoading = false; |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | loadData(repairOrderId){ |
| | | let that = this; |
| | | getAction(that.url.getInfo,{repairOrderId:repairOrderId}).then(res=>{ |
| | | if(res.success&&res.result.records.length!==0){ |
| | | that.disabledEdit=true; |
| | | that.form.setFieldsValue(pick(res.result.records[0], 'faultCause','repairOrderFaultAnalysisUda1', 'faultTypeId', 'suggestion', 'maintenanceMeasures','id')) |
| | | that.model = Object.assign({}, res.result.records[0]); |
| | | }else{ |
| | | if(that.repairOrder.status==='3'){ |
| | | that.disabledEdit=false; |
| | | }else{ |
| | | that.disabledEdit=true; |
| | | } |
| | | that.form.resetFields(); |
| | | } |
| | | loadData(repairOrderId) { |
| | | let that = this; |
| | | getAction(that.url.getInfo, { repairOrderId: repairOrderId }).then(res => { |
| | | if (res.success && res.result.records.length !== 0) { |
| | | that.disabledEdit = true; |
| | | that.form.setFieldsValue(pick(res.result.records[0], 'faultCause', 'repairOrderFaultAnalysisUda1', 'repairOrderFaultAnalysisUda2', 'repairOrderFaultAnalysisUda3', 'repairOrderFaultAnalysisUda5', 'faultTypeId', 'suggestion', 'maintenanceMeasures', 'id')) |
| | | that.$nextTick(() => { |
| | | that.form.setFieldsValue({ "repairOrderFaultAnalysisUda4": res.result.records[0].repairOrderFaultAnalysisUda4 }); |
| | | }, 300); |
| | | |
| | | that.model = Object.assign({}, res.result.records[0]); |
| | | } else { |
| | | if (that.repairOrder.status === '3') { |
| | | that.disabledEdit = false; |
| | | } else { |
| | | that.disabledEdit = true; |
| | | } |
| | | that.form.resetFields(); |
| | | } |
| | | }) |
| | | }, |
| | | handleEdit2(){ |
| | | this.disabledEdit=false; |
| | | handleEdit2() { |
| | | this.disabledEdit = false; |
| | | } |
| | | }, |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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='请è´ç¼ç '> |
| | | <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="é¨é¨" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <j-dict-select-tag |
| | | dictCode="sys_depart,depart_name,id" |
| | | placeholder="è¯·éæ©ç»´æ¤é¨é¨" |
| | | v-model="queryParam.departId" |
| | | /> |
| | | </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> --> |
| | | <j-dict-select-tag |
| | | :dictCode="'mom_eam_equipment,num,id ,del_flag!=\'1\' and use_id = ' +'\''+ queryParam.departId+'\''" |
| | | placeholder="è¯·éæ©è®¾å¤" |
| | | v-model="queryParam.equipmentId" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | |
| | | <div class="table-operator"> |
| | | <a-button |
| | | @click='handleAdd' |
| | | type='primary' |
| | | icon='plus' |
| | | v-has="'spartPartRequirement:add'" |
| | | >æ°å¢</a-button> |
| | | <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-button |
| | | v-show="this.selectedRowKeys.length > 0 && this.queryParam.versionStatus == '1'" |
| | | type="primary" |
| | | @click="batchHandleOK" |
| | | icon="reload" |
| | | style="margin-left: 8px" |
| | | >æ¹ééè¿</a-button> |
| | | <a-button |
| | | v-show="this.selectedRowKeys.length > 0 && this.queryParam.versionStatus == '1'" |
| | | type="primary" |
| | | @click="batchHandleReject" |
| | | icon="reload" |
| | | style="margin-left: 8px" |
| | | >æ¹é驳å</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(1300px + 50%)', y: 700 }" |
| | | :columns='columns' |
| | | :dataSource='dataSource' |
| | | :pagination='ipagination' |
| | | :loading='loading' |
| | | :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}' |
| | | :customRow='clickThenSelect' |
| | | @change='handleTableChange' |
| | | > |
| | | <span |
| | | slot="action" |
| | | slot-scope="text, record" |
| | | > |
| | | |
| | | <a |
| | | @click="handleAuditApproval(record)" |
| | | v-show="record.auditStatus == '1' " |
| | | v-has="'spartPartRequirement:audit'" |
| | | >å®¡æ ¸</a> |
| | | <a-divider type="vertical" /> |
| | | <a-popconfirm |
| | | v-show="record.auditStatus == '0' || record.auditStatus == '3'" |
| | | title="ç¡®å®æäº¤å?" |
| | | @confirm="() => handleSubmit(record)" |
| | | v-has="'spartPartRequirement:subit'" |
| | | > |
| | | <a>æäº¤</a> |
| | | </a-popconfirm> |
| | | <a-divider type="vertical" /> |
| | | <a |
| | | v-show="record.auditStatus == '0' || record.auditStatus == '3'" |
| | | @click="handleEdit(record)" |
| | | v-has="'spartPartRequirement:edit'" |
| | | >ç¼è¾</a> |
| | | <a-divider type="vertical" /> |
| | | <a-popconfirm |
| | | v-show="record.auditStatus == '0' || record.auditStatus == '3'" |
| | | title="ç¡®å®å é¤å?" |
| | | @confirm="() => handleDelete(record.id)" |
| | | v-has="'spartPartRequirement:delete'" |
| | | > |
| | | <a>å é¤</a> |
| | | </a-popconfirm> |
| | | |
| | | </span> |
| | | |
| | | </a-table> |
| | | <a-tabs defaultActiveKey="1"> |
| | | <a-tab-pane |
| | | tab='å¤ä»¶è¯·è´æç»' |
| | | key="1" |
| | | > |
| | | <div |
| | | class="table-operator" |
| | | style="margin:-16px" |
| | | > |
| | | <spart-part-requirement-detail :sparePartRequirementId='sparePartRequirementId' /> |
| | | </div> |
| | | </a-tab-pane> |
| | | |
| | | </a-tabs> |
| | | </div> |
| | | |
| | | <spart-part-requirement-modal |
| | | ref='modalForm' |
| | | @ok='modalFormOk' |
| | | ></spart-part-requirement-modal> |
| | | |
| | | <audit-approval-modal |
| | | ref='auditApprovalModal' |
| | | @ok='modalFormOk' |
| | | ></audit-approval-modal> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import { getAction, requestPut, downFile, postAction } from '@/api/manage' |
| | | import SpartPartRequirementDetail from './modules/spartPartRequirement/SpartPartRequirementDetail' |
| | | import SpartPartRequirementModal from './modules/spartPartRequirement/SpartPartRequirementModal' |
| | | import AuditApprovalModal from './modules/spartPartRequirement/AuditApprovalModal' |
| | | import '@/assets/less/TableExpand.less' |
| | | import JEllipsis from "@/components/jeecg/JEllipsis"; |
| | | |
| | | export default { |
| | | name: 'SpartPartRequirement', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | JEllipsis, |
| | | SpartPartRequirementDetail, |
| | | SpartPartRequirementModal, |
| | | AuditApprovalModal |
| | | }, |
| | | 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: 'auditStatus_dictText', |
| | | }, |
| | | |
| | | { |
| | | title: '设å¤ä¿¡æ¯', |
| | | align: 'center', |
| | | dataIndex: 'equipmentNumNameModel', |
| | | }, |
| | | { |
| | | title: 'é¨é¨', |
| | | align: 'center', |
| | | dataIndex: 'departId_dictText', |
| | | }, |
| | | { |
| | | title: '请è´äºº', |
| | | align: 'center', |
| | | dataIndex: 'person', |
| | | }, |
| | | { |
| | | title: 'è¯·è´æ¶é´', |
| | | align: 'center', |
| | | dataIndex: 'createBy', |
| | | }, |
| | | { |
| | | title: 'å®¡æ ¸äºº', |
| | | align: 'center', |
| | | dataIndex: 'auditPerson', |
| | | }, |
| | | { |
| | | title: 'å®¡æ ¸æè§', |
| | | align: 'center', |
| | | dataIndex: 'approvalOpinions', |
| | | }, |
| | | { |
| | | title: 'å®¡æ ¸æ¶é´', |
| | | align: 'center', |
| | | dataIndex: 'auditTime', |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align: 'center', |
| | | fixed: 'right', |
| | | scopedSlots: { customRender: 'action' }, |
| | | width: 180, |
| | | } |
| | | ], |
| | | url: { |
| | | list: '/spare/sparePartRequirement/list', |
| | | delete: '/spare/sparePartRequirement/deleteNew', |
| | | deleteBatch: '/eam/inspectionStandard/deleteBatch', |
| | | importExcelUrl: "/eam/inspectionStandard/importExcel", |
| | | passBatch: '/eam/inspectionStandard/auditApprovalBatch', |
| | | submit: '/spare/sparePartRequirement/submit', |
| | | }, |
| | | /* å页忰 */ |
| | | ipagination: { |
| | | current: 1, |
| | | pageSize: 10, |
| | | pageSizeOptions: ['5', '10', '20', '50'], |
| | | showTotal: (total, range) => { |
| | | return range[0] + '-' + range[1] + ' å
±' + total + 'æ¡' |
| | | }, |
| | | showQuickJumper: true, |
| | | showSizeChanger: true, |
| | | total: 0 |
| | | }, |
| | | sparePartRequirementId: '-1' |
| | | } |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function () { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | } |
| | | }, |
| | | methods: { |
| | | clickThenSelect(record) { |
| | | return { |
| | | on: { |
| | | click: () => { |
| | | this.onSelectChange(record.id.split(','), [record]) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | onClearSelected() { |
| | | this.selectedRowKeys = [] |
| | | this.selectionRows = [] |
| | | this.sparePartRequirementId = '-1' |
| | | }, |
| | | onSelectChange(selectedRowKeys, selectionRows) { |
| | | if (selectedRowKeys.length == 1) { |
| | | this.sparePartRequirementId = selectionRows[0]['id'] |
| | | } else { |
| | | this.sparePartRequirementId = '-1' |
| | | } |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.selectionRows = selectionRows |
| | | }, |
| | | |
| | | handleEdit: function (record) { |
| | | this.$refs.modalForm.edit(record) |
| | | this.$refs.modalForm.title = 'ç¼è¾' |
| | | this.$refs.modalForm.disableSubmit = false |
| | | }, |
| | | handleAdd: function () { |
| | | this.$refs.modalForm.add() |
| | | this.$refs.modalForm.title = 'æ°å¢' |
| | | this.$refs.modalForm.disableSubmit = false |
| | | }, |
| | | |
| | | //å®¡æ ¸å®¡æ¹ |
| | | handleAuditApproval: function (record) { |
| | | this.$refs.auditApprovalModal.showModals(record); |
| | | this.$refs.auditApprovalModal.title = "å®¡æ ¸"; |
| | | }, |
| | | |
| | | |
| | | 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.queryParam = {} |
| | | this.sparePartRequirementId = '-1' |
| | | this.loadData(1); |
| | | }, |
| | | |
| | | handleSubmit(record) { |
| | | const that = this; |
| | | that.confirmLoading = true; |
| | | postAction(that.url.submit, record).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success("æäº¤æåï¼") |
| | | that.loadData(1) |
| | | } else { |
| | | that.$message.warning("æäº¤å¤±è´¥ï¼") |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | }) |
| | | |
| | | }, |
| | | |
| | | modalFormOk() { |
| | | // æ°å¢/ä¿®æ¹ æåæ¶ï¼éè½½å表 |
| | | this.loadData(); |
| | | //æ¸
空å表éä¸ |
| | | // this.onClearSelected() |
| | | }, |
| | | batchHandleReject: function () { |
| | | if (this.selectedRowKeys.length <= 0) { |
| | | // this.$message.warning('è¯·éæ©ä¸æ¡è®°å½ï¼'); |
| | | this.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: "è¯·éæ©ä¸æ¡è®°å½" |
| | | }); |
| | | return; |
| | | } else { |
| | | |
| | | var that = this; |
| | | this.$confirm({ |
| | | title: "确认æ¹é驳å", |
| | | content: "æ¯å¦æ¹é驳åé䏿°æ®?", |
| | | onOk: function () { |
| | | that.loading = true; |
| | | that.confirmLoading = true; |
| | | let formData = {}; |
| | | let dailyInspectionStandardlist = that.selectionRows |
| | | for (var i = 0; i < dailyInspectionStandardlist.length; i++) { |
| | | let record = dailyInspectionStandardlist[i] |
| | | if (record.approvalStatus == '1') { |
| | | record.approvalStatus = '2' |
| | | } else if (record.approvalStatus == '3') { |
| | | record.approvalStatus = '4' |
| | | } else if (record.approvalStatus == '4') { |
| | | record.approvalStatus = '2' |
| | | } |
| | | } |
| | | formData.dailyInspectionStandardlist = dailyInspectionStandardlist |
| | | requestPut(that.url.passBatch, formData).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success("æ¹é驳åæåï¼") |
| | | that.loadData(1) |
| | | } else { |
| | | that.$message.warning("æ¹ééè¿å¤±è´¥ï¼") |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.loading = false; |
| | | }) |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | batchHandleOK: function () { |
| | | if (this.selectedRowKeys.length <= 0) { |
| | | // this.$message.warning('è¯·éæ©ä¸æ¡è®°å½ï¼'); |
| | | this.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: "è¯·éæ©ä¸æ¡è®°å½" |
| | | }); |
| | | return; |
| | | } else { |
| | | |
| | | var that = this; |
| | | this.$confirm({ |
| | | title: "确认æ¹ééè¿", |
| | | content: "æ¯å¦æ¹ééè¿é䏿°æ®?", |
| | | onOk: function () { |
| | | that.loading = true; |
| | | that.confirmLoading = true; |
| | | let formData = {}; |
| | | let dailyInspectionStandardlist = that.selectionRows |
| | | for (var i = 0; i < dailyInspectionStandardlist.length; i++) { |
| | | let record = dailyInspectionStandardlist[i] |
| | | if (record.approvalStatus == '1') { |
| | | record.approvalStatus = '3' |
| | | } else if (record.approvalStatus == '2') { |
| | | record.approvalStatus = '3' |
| | | } else if (record.approvalStatus == '3') { |
| | | record.approvalStatus = '5' |
| | | } else if (record.approvalStatus == '4') { |
| | | record.approvalStatus = '3' |
| | | } |
| | | } |
| | | formData.dailyInspectionStandardlist = dailyInspectionStandardlist |
| | | requestPut(that.url.passBatch, formData).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success("æ¹ééè¿æåï¼") |
| | | that.loadData(1) |
| | | } else { |
| | | that.$message.warning("æ¹ééè¿å¤±è´¥ï¼") |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.loading = false; |
| | | }) |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | .table-operator .ant-btn { |
| | | margin: 10px 8px 8px 10px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-modal |
| | | :title='title' |
| | | :width="650" |
| | | :visible='visible' |
| | | :maskClosable='false' |
| | | cancelText='å
³é' |
| | | @cancel='handleCancel' |
| | | :confirmLoading='confirmLoading' |
| | | > |
| | | <!-- @ok='handleOk' --> |
| | | <a-spin :spinning='confirmLoading'> |
| | | <a-form :form="form"> |
| | | <a-row> |
| | | <a-col :span='24'> |
| | | <a-form-item |
| | | label='请è´åå·' |
| | | :labelCol='labelCol' |
| | | :wrapperCol='wrapperCol' |
| | | > |
| | | <a-input |
| | | allow-clear |
| | | :disabled="true" |
| | | :placeholder="disableSubmit?'':'请è¾å
¥è¯·è´åå·'" |
| | | v-decorator="['num', validatorRules.num ]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :span='24'> |
| | | <a-form-item |
| | | label="å®¡æ ¸æè§" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-textarea |
| | | rows='3' |
| | | placeholder='请è¾å
¥å®¡æ ¸æè§' |
| | | v-decorator="['approvalOpinions', validatorRules.approvalOpinions ]" |
| | | ></a-textarea> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | </a-row> |
| | | </a-form> |
| | | </a-spin> |
| | | <template slot='footer'> |
| | | <a-popconfirm |
| | | @confirm="() => handleReject()" |
| | | title="确认å°å½åå¤ä»¶è¯·è´å驳åï¼" |
| | | > |
| | | <a-button |
| | | :loading='confirmLoading' |
| | | :style="{marginRight: '8px'}" |
| | | > |
| | | 驳å |
| | | </a-button> |
| | | </a-popconfirm> |
| | | <a-popconfirm |
| | | @confirm="() => handleOk()" |
| | | title="确认å°å½åå¤ä»¶è¯·è´åå®¡æ ¸éè¿ï¼" |
| | | > |
| | | <a-button |
| | | type='primary' |
| | | :loading='confirmLoading' |
| | | :style="{marginRight: '8px'}" |
| | | > |
| | | éè¿ |
| | | </a-button> |
| | | </a-popconfirm> |
| | | </template> |
| | | </a-modal> |
| | | |
| | | </template> |
| | | |
| | | <script> |
| | | import { httpAction, requestPut, postAction } from '@/api/manage' |
| | | import Tooltip from 'ant-design-vue/es/tooltip' |
| | | import pick from 'lodash.pick' |
| | | |
| | | export default { |
| | | name: 'AuditApprovalModal', |
| | | components: { |
| | | Tooltip |
| | | }, |
| | | data() { |
| | | return { |
| | | title: 'æä½', |
| | | visible: false, |
| | | disableSubmit: false, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 } |
| | | }, |
| | | confirmLoading: false, |
| | | form: this.$form.createForm(this), |
| | | validatorRules: { |
| | | approvalOpinions: { |
| | | rules: [ |
| | | { required: true, message: '请è¾å
¥å®¡æ ¸æè§!' }, |
| | | ] |
| | | }, |
| | | }, |
| | | url: { |
| | | auditApproval: "/spare/sparePartRequirement/auditApproval", |
| | | }, |
| | | } |
| | | }, |
| | | |
| | | |
| | | methods: { |
| | | close() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | }, |
| | | |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | showModals(record) { |
| | | this.form.resetFields(); |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | this.$nextTick(() => { |
| | | this.form.setFieldsValue(pick(this.model, 'num')); |
| | | this.form.setFieldsValue({ approvalOpinions: "" }); |
| | | }, 200); |
| | | }, |
| | | |
| | | handleReject() { |
| | | const that = this; |
| | | this.form.validateFields((err, values) => { |
| | | if (!err) { |
| | | that.confirmLoading = true; |
| | | let formData = Object.assign(this.model, values); |
| | | if (this.model.auditStatus == '1') { |
| | | formData.auditStatus = '3' |
| | | } |
| | | requestPut(this.url.auditApproval, formData, { id: this.model.id }).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success("驳åæåï¼"); |
| | | that.$emit('ok'); |
| | | } else { |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.close(); |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | handleOk() { |
| | | const that = this; |
| | | that.form.validateFields((err, values) => { |
| | | if (!err) { |
| | | this.confirmLoading = true; |
| | | let formData = Object.assign(this.model, values); |
| | | if (this.model.auditStatus == '1') { |
| | | formData.auditStatus = '4' |
| | | } |
| | | requestPut(this.url.auditApproval, formData, { id: this.model.id }).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | } else { |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.close(); |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style lang='less' scoped> |
| | | /deep/ .frozenRowClass { |
| | | color: #c9c9c9; |
| | | } |
| | | |
| | | .fontweight { |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .ant-btn { |
| | | padding: 0 10px; |
| | | margin-left: 3px; |
| | | } |
| | | |
| | | .ant-form-item-control { |
| | | line-height: 0px; |
| | | } |
| | | |
| | | /** 主表åè¡é´è· */ |
| | | .ant-form .ant-form-item { |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | /** Tab页é¢è¡é´è· */ |
| | | .ant-tabs-content .ant-form-item { |
| | | margin-bottom: 0px; |
| | | } |
| | | |
| | | /deep/ .ant-modal-title { |
| | | text-align: center; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-modal |
| | | :title="title" |
| | | :width="1250" |
| | | :visible="visible" |
| | | :confirmLoading="confirmLoading" |
| | | :okButtonProps="{ props: {disabled: disableSubmit} }" |
| | | @ok="handleOk" |
| | | @cancel="handleCancel" |
| | | cancelText="å
³é" |
| | | > |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form :form="form"> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form |
| | | layout="inline" |
| | | @keyup.enter.native="searchQuery" |
| | | > |
| | | <a-row :gutter="24"> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="ç»ä¸ç¼ç "> |
| | | <a-input |
| | | placeholder="请è¾å
¥ç»ä¸ç¼ç æ£ç´¢" |
| | | v-model="queryParam.num" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-form-item label="设å¤åç§°"> |
| | | <a-input |
| | | placeholder="请è¾å
¥è®¾å¤åç§°æ£ç´¢" |
| | | v-model="queryParam.name" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | | <a-button |
| | | type="primary" |
| | | @click="searchQuery" |
| | | icon="search" |
| | | >æ¥è¯¢</a-button> |
| | | <a-button |
| | | @click="searchReset" |
| | | icon="reload" |
| | | style="margin-left:8px;" |
| | | >éç½®</a-button> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | <div style="margin-top:8px;"> |
| | | <a-table |
| | | ref="table" |
| | | size="middle" |
| | | bordered |
| | | rowKey="id" |
| | | :columns="columns" |
| | | :dataSource="dataSource" |
| | | :pagination="ipagination" |
| | | :loading="loading" |
| | | @change="handleTableChange" |
| | | :customRow="clickThenCheck" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:type}" |
| | | > |
| | | |
| | | </a-table> |
| | | </div> |
| | | </a-form> |
| | | </a-spin> |
| | | |
| | | </a-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { postAction, getAction } from '@/api/manage' |
| | | import JDate from '@/components/jeecg/JDate' |
| | | import Tooltip from 'ant-design-vue/es/tooltip' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import JEllipsis from '@/components/jeecg/JEllipsis'//å¼å
¥è¿é¿è£åª |
| | | import store from '@/store' |
| | | |
| | | export default { |
| | | name: "EquipmentList", |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | JDate, |
| | | Tooltip, |
| | | JEllipsis, |
| | | }, |
| | | data() { |
| | | return { |
| | | title: "设å¤ä¿¡æ¯", |
| | | visible: false, |
| | | model: {}, |
| | | dataSource: [], |
| | | disableSubmit: false, |
| | | type: "radio", |
| | | /* å页忰 */ |
| | | ipagination: { |
| | | current: 1, |
| | | pageSize: 10, |
| | | pageSizeOptions: ['10', '20', '30'], |
| | | showTotal: (total, range) => { |
| | | return range[0] + "-" + range[1] + " å
±" + total + "æ¡" |
| | | }, |
| | | showQuickJumper: true, |
| | | showSizeChanger: true, |
| | | total: 0 |
| | | }, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 6 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 18 }, |
| | | }, |
| | | confirmLoading: false, |
| | | form: this.$form.createForm(this), |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | align: 'center', |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: 'center', |
| | | dataIndex: 'num', |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: 'center', |
| | | dataIndex: 'name', |
| | | }, |
| | | { |
| | | title: '设å¤åå·', |
| | | align: "center", |
| | | dataIndex: 'model' |
| | | }, |
| | | { |
| | | title: '设å¤è§æ ¼', |
| | | align: "center", |
| | | dataIndex: 'specification' |
| | | }, |
| | | { |
| | | title: '设å¤ç¶æ', |
| | | align: "center", |
| | | dataIndex: 'equipmentStatus_dictText' |
| | | }, |
| | | ], |
| | | url: { |
| | | list: "/eam/equipment/queryEquipmentList", |
| | | }, |
| | | } |
| | | }, |
| | | |
| | | |
| | | methods: { |
| | | |
| | | searchQuery() { |
| | | this.loadData(1); |
| | | }, |
| | | searchReset() { |
| | | // this.queryParam = { equipmentStatus: '1' }; |
| | | this.loadData(1) |
| | | }, |
| | | list(params) { |
| | | this.selectedRowKeys = []; |
| | | this.selectedRowRecord = []; |
| | | this.visible = true; |
| | | if (params == null || params == "") { |
| | | this.queryParam.useId = "" |
| | | } else { |
| | | this.queryParam.useId = params |
| | | } |
| | | // this.queryParam.equipmentStatus = '1' |
| | | this.loadData(1); |
| | | }, |
| | | clickThenCheck(record) { |
| | | return { |
| | | on: { |
| | | click: (e) => { |
| | | this.selectedRowRecord = record; |
| | | this.onSelectChange(record.id.split(","), [record]); |
| | | } |
| | | } |
| | | }; |
| | | }, |
| | | onSelectChange(selectedRowKeys, selectedRows) { |
| | | this.selectedRowKeys = selectedRowKeys; |
| | | this.selectedRowRecord = selectedRows[0]; |
| | | }, |
| | | close() { |
| | | this.queryParam = {}; |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | }, |
| | | handleOk() { |
| | | const that = this; |
| | | // 触å表åéªè¯ |
| | | if (that.selectedRowKeys.length > 0) { |
| | | if (that.selectedRowRecord.id != null && that.selectedRowRecord.id != "") { |
| | | that.$emit('sendEquipmentRecord', { record: that.selectedRowRecord }); |
| | | that.close(); |
| | | } else { |
| | | that.$message.error("è¯·éæ©è®¾å¤ä¿¡æ¯ï¼") |
| | | } |
| | | } else { |
| | | that.$message.error("è¯·éæ©è®¾å¤ä¿¡æ¯ï¼") |
| | | } |
| | | }, |
| | | |
| | | handleCancel() { |
| | | this.close(); |
| | | }, |
| | | |
| | | }, |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | .ant-btn { |
| | | padding: 0 10px; |
| | | margin-left: 3px; |
| | | } |
| | | |
| | | .ant-form-item-control { |
| | | line-height: 0px; |
| | | } |
| | | |
| | | .fontweight { |
| | | font-weight: bold; |
| | | } |
| | | |
| | | /** 主表åè¡é´è· */ |
| | | .ant-form .ant-form-item { |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | /** Tab页é¢è¡é´è· */ |
| | | .ant-tabs-content .ant-form-item { |
| | | margin-bottom: 0px; |
| | | } |
| | | .ant-table-tbody .ant-table-row td { |
| | | padding-top: 10px; |
| | | padding-bottom: 10px; |
| | | } |
| | | |
| | | .anty-row-operator button { |
| | | margin: 0 5px; |
| | | } |
| | | |
| | | .ant-btn-danger { |
| | | background-color: #ffffff; |
| | | } |
| | | |
| | | .ant-modal-cust-warp { |
| | | height: 100%; |
| | | } |
| | | |
| | | .ant-modal-cust-warp .ant-modal-body { |
| | | height: calc(100% - 110px) !important; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .ant-modal-cust-warp .ant-modal-content { |
| | | height: 90% !important; |
| | | overflow-y: hidden; |
| | | } |
| | | |
| | | /deep/ .notshow { |
| | | display: none; |
| | | } |
| | | |
| | | .frozenRowClass { |
| | | color: #c9c9c9; |
| | | } |
| | | .hight { |
| | | color: #f5222d; |
| | | } |
| | | .middle { |
| | | color: #fa8c16; |
| | | } |
| | | .low { |
| | | color: #52c41a; |
| | | } |
| | | .dataUnKnow { |
| | | color: #1890ff; |
| | | } |
| | | |
| | | /deep/ .frozenRowClass { |
| | | color: #c9c9c9; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-card |
| | | :bordered="false" |
| | | :class="'cust-erp-sub-tab'" |
| | | > |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form |
| | | layout="inline" |
| | | @keyup.enter.native="searchQuery" |
| | | > |
| | | <a-row :gutter="24"> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | <div> |
| | | <a-table |
| | | ref="table" |
| | | size="middle" |
| | | bordered |
| | | rowKey="id" |
| | | :scroll="{x:true}" |
| | | :columns="columns" |
| | | :dataSource="dataSource" |
| | | :pagination="ipagination" |
| | | :loading="loading" |
| | | @change="handleTableChange" |
| | | > |
| | | </a-table> |
| | | </div> |
| | | |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import { getAction } from '@/api/manage' |
| | | import Tooltip from 'ant-design-vue/es/tooltip' |
| | | import { ACCESS_TOKEN } from '@/store/mutation-types' |
| | | import Vue from 'vue' |
| | | import { getFileAccessHttpUrl } from '@/api/manage'; |
| | | |
| | | export default { |
| | | name: "SpartPartRequirementDetail", |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | Tooltip, |
| | | }, |
| | | props: { |
| | | sparePartRequirementId: { |
| | | type: String, |
| | | default: '-1', |
| | | required: false |
| | | } |
| | | }, |
| | | watch: { |
| | | sparePartRequirementId: { |
| | | immediate: true, |
| | | handler(val) { |
| | | if (!this.sparePartRequirementId) { |
| | | this.clearList() |
| | | } else { |
| | | this.queryParam['sparePartRequirementId'] = val; |
| | | this.queryParam['delFlag'] = 0; |
| | | this.loadData(1); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 100, |
| | | align: "center", |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1; |
| | | } |
| | | }, |
| | | { |
| | | title: 'å¤ä»¶ç¼å·', |
| | | align: 'center', |
| | | dataIndex: 'spartPartNum', |
| | | scopedSlots: { customRender: 'spartPartNum' }, |
| | | }, |
| | | { |
| | | title: 'å¤ä»¶åç§°', |
| | | align: 'center', |
| | | dataIndex: 'spartPartName', |
| | | scopedSlots: { customRender: 'spartPartName' }, |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | | align: 'center', |
| | | dataIndex: 'spartPartModel', |
| | | }, |
| | | { |
| | | title: 'æ°é', |
| | | align: 'center', |
| | | dataIndex: 'quantity', |
| | | }, |
| | | { |
| | | title: 'åä½', |
| | | align: 'center', |
| | | dataIndex: 'unitName', |
| | | }, |
| | | |
| | | ], |
| | | url: { |
| | | list: "/spare/sparePartRequirement/getSparePartRequirementDetails", |
| | | }, |
| | | /* å页忰 */ |
| | | ipagination: { |
| | | current: 1, |
| | | pageSize: 20, |
| | | pageSizeOptions: ['5', '10', '20', '50'], |
| | | showTotal: (total, range) => { |
| | | return range[0] + '-' + range[1] + ' å
±' + total + 'æ¡' |
| | | }, |
| | | showQuickJumper: true, |
| | | showSizeChanger: true, |
| | | total: 0 |
| | | }, |
| | | } |
| | | }, |
| | | created() { |
| | | }, |
| | | computed: { |
| | | }, |
| | | methods: { |
| | | clearList() { |
| | | this.dataSource = [] |
| | | this.selectedRowKeys = [] |
| | | this.ipagination.current = 1 |
| | | }, |
| | | loadData(arg) { |
| | | if (!this.url.list) { |
| | | this.$message.error("请设置url.list屿§!") |
| | | return |
| | | } |
| | | //å è½½æ°æ® è¥ä¼ å
¥åæ°1åå 载第ä¸é¡µçå
容 |
| | | if (arg === 1) { |
| | | this.ipagination.current = 1; |
| | | } |
| | | var params = this.getQueryParams();//æ¥è¯¢æ¡ä»¶ |
| | | this.loading = true; |
| | | // this.originTargetKeys = []; |
| | | getAction(this.url.list, params).then((res) => { |
| | | if (res.success) { |
| | | this.dataSource = res.result.records || res.result; |
| | | if (res.result.total) { |
| | | this.ipagination.total = res.result.total; |
| | | } else { |
| | | this.ipagination.total = 0; |
| | | } |
| | | //update-end---author:zhangyafei Date:20201118 forï¼éé
ä¸åé¡µçæ°æ®å表------------ |
| | | } else { |
| | | this.$message.warning(res.message) |
| | | } |
| | | }).finally(() => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | |
| | | |
| | | view(record) { |
| | | this.$refs.pdfview.showPdf(record.src); |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-modal |
| | | :title="title" |
| | | :width="1250" |
| | | :visible="visible" |
| | | :maskClosable="false" |
| | | @ok="handleOk" |
| | | cancelText="å
³é" |
| | | @cancel="handleCancel" |
| | | :confirmLoading="confirmLoading" |
| | | > |
| | | |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form :form="form"> |
| | | |
| | | <!-- title="å·¥èºè·¯å¾åºæ¬ä¿¡æ¯" --> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-item |
| | | label="请è´åå·" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-input |
| | | allow-clear |
| | | :disabled="codeDisable" |
| | | :placeholder="disableSubmit?'':'请è¾å
¥è¯·è´åå·'" |
| | | v-decorator="['num', validatorRules.num ]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-item |
| | | label="使ç¨é¨é¨" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | |
| | | <j-dict-select-tag |
| | | allow-clear |
| | | :disabled="disableSubmit" |
| | | :placeholder="disableSubmit?'':'è¯·éæ©ä½¿ç¨é¨é¨'" |
| | | :triggerChange="true" |
| | | dictCode="sys_depart,depart_name,id,del_flag!='1'" |
| | | v-decorator="['departId',validatorRules.departId]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-item |
| | | label="设å¤åç§°" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-input-search |
| | | :disabled="disableSubmit" |
| | | placeholder="è¯·éæ©è®¾å¤" |
| | | enter-button |
| | | @search="onEquipmentList()" |
| | | :read-only="true" |
| | | v-decorator="['equipmentNumNameModel', validatorRules.equipmentNumNameModel]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row |
| | | hidden |
| | | :gutter="24" |
| | | > |
| | | <a-col :span="12"> |
| | | <a-form-item |
| | | label="设å¤Id" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-input |
| | | allow-clear |
| | | :disabled="true" |
| | | :placeholder="disableSubmit?'':'请è¾å
¥ç»ä¸ç¼ç /åç§°/åå·'" |
| | | v-decorator="['equipmentId', validatorRules.equipmentId ]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <!-- <a-col :span="12"> |
| | | <a-form-item |
| | | label="使ç¨é¨é¨Id" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-input |
| | | allow-clear |
| | | :disabled="true" |
| | | :placeholder="disableSubmit?'':'请è¾å
¥ä½¿ç¨é¨é¨id'" |
| | | v-decorator="['useId', validatorRules.useId ]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> --> |
| | | </a-row> |
| | | <!-- <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-item |
| | | label="管çå¶åº¦" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-input |
| | | allow-clear |
| | | :disabled="false" |
| | | :placeholder="disableSubmit?'':'请è¾å
¥ç®¡çå¶åº¦'" |
| | | v-decorator="['disUda1', validatorRules.disUda1 ]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-item |
| | | label="çæ¬" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-input |
| | | allowClear |
| | | :disabled="true" |
| | | :placeholder="disableSubmit?'':'请è¾å
¥çæ¬å·'" |
| | | v-decorator="[ 'version', validatorRules.version]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> --> |
| | | <!-- <a-row :gutter="24"> |
| | | <a-col |
| | | v-if="this.isRevise == true" |
| | | :span="12" |
| | | > |
| | | <a-form-item |
| | | label="åå²çæ¬" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <a-input |
| | | allowClear |
| | | :disabled="true" |
| | | :placeholder="disableSubmit?'':'请è¾å
¥åå²çæ¬å·'" |
| | | v-decorator="[ 'historyVersion', validatorRules.historyVersion]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> --> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | <a-form-item |
| | | label="夿³¨" |
| | | :labelCol="{span:3}" |
| | | :wrapperCol="{span:21}" |
| | | > |
| | | <a-textarea |
| | | allowClear |
| | | :disabled="disableSubmit" |
| | | :placeholder="disableSubmit?'':'请è¾å
¥å¤æ³¨'" |
| | | v-decorator="[ 'remark', validatorRules.remark]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </a-spin> |
| | | <!-- <a-button |
| | | type="primary" |
| | | :style="{ marginRight: '8px',marginBottom:'8px' }" |
| | | :loading="confirmLoading" |
| | | @click="selectInspectionProjects()" |
| | | >ç¹æ£é¡¹ç®</a-button> --> |
| | | <a-table |
| | | ref="table" |
| | | bordered |
| | | size="middle" |
| | | rowKey='id' |
| | | :columns="columns" |
| | | :dataSource="dataSource" |
| | | :pagination="false" |
| | | > |
| | | <template |
| | | v-for='col in columns' |
| | | :slot='col.dataIndex' |
| | | slot-scope='text, record, index' |
| | | > |
| | | <div :key='col.dataIndex'> |
| | | <a-input |
| | | v-if="col.dataIndex == 'spartPartNum'" |
| | | :value='text' |
| | | @change='(e) => handleChange(e, record.key, col, index)' |
| | | /> |
| | | <a-input |
| | | v-if="col.dataIndex == 'spartPartName'" |
| | | :value='text' |
| | | @change='(e) => handleChange(e, record.key, col, index)' |
| | | /> |
| | | <a-input |
| | | v-if="col.dataIndex == 'spartPartModel'" |
| | | :value='text' |
| | | @change='(e) => handleChange(e, record.key, col, index)' |
| | | /> |
| | | <a-input-number |
| | | :value='text' |
| | | v-if="col.dataIndex == 'quantity'" |
| | | :min='0' |
| | | :max='99999' |
| | | @change='(e)=>handleChange(e, record.key, col, index)' |
| | | /> |
| | | <a-input |
| | | v-if="col.dataIndex == 'unitName'" |
| | | :value='text' |
| | | @change='(e) => handleChange(e, record.key, col, index)' |
| | | /> |
| | | </div> |
| | | </template> |
| | | <span |
| | | slot="action" |
| | | slot-scope="text, record, index" |
| | | > |
| | | <a-popconfirm |
| | | title="ç¡®å®å é¤å?" |
| | | @confirm="() => handleDelete(text,record, index)" |
| | | > |
| | | <a>å é¤</a> |
| | | </a-popconfirm> |
| | | </span> |
| | | </a-table> |
| | | <a-button |
| | | style='width: 100%; margin-top: 16px; margin-bottom: 8px' |
| | | type='dashed' |
| | | icon='plus' |
| | | @click='addSpart' |
| | | >å¢å å¤ä»¶ |
| | | </a-button> |
| | | <template slot="footer"> |
| | | <a-button |
| | | :style="{marginRight: '8px'}" |
| | | @click="handleCancel()" |
| | | > |
| | | å
³é |
| | | </a-button> |
| | | |
| | | <a-button |
| | | @click="handleOk()" |
| | | type="primary" |
| | | :loading="confirmLoading" |
| | | >ç¡®å®</a-button> |
| | | </template> |
| | | |
| | | <equipment-list |
| | | ref="EquipmentList" |
| | | @sendEquipmentRecord='sendEquipmentRecord' |
| | | ></equipment-list> |
| | | |
| | | </a-modal> |
| | | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getAction, postAction, requestPut } from '@/api/manage' |
| | | import pick from 'lodash.pick' |
| | | import JMultiSelectTag from '@/components/dict/JMultiSelectTag' |
| | | import { duplicateCheck } from '@/api/api' |
| | | import Tooltip from 'ant-design-vue/es/tooltip' |
| | | import EquipmentList from './EquipmentList' |
| | | |
| | | export default { |
| | | name: "SpartPartRequirementModal", |
| | | components: { |
| | | JMultiSelectTag, |
| | | Tooltip, |
| | | EquipmentList, |
| | | }, |
| | | data() { |
| | | return { |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | align: 'center', |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1 |
| | | }, |
| | | width: 50, |
| | | }, |
| | | { |
| | | title: 'å¤ä»¶ç¼å·', |
| | | align: 'center', |
| | | dataIndex: 'spartPartNum', |
| | | scopedSlots: { customRender: 'spartPartNum' }, |
| | | }, |
| | | { |
| | | title: 'å¤ä»¶åç§°', |
| | | align: 'center', |
| | | dataIndex: 'spartPartName', |
| | | scopedSlots: { customRender: 'spartPartName' }, |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | | align: 'center', |
| | | dataIndex: 'spartPartModel', |
| | | scopedSlots: { customRender: 'spartPartModel' }, |
| | | }, |
| | | { |
| | | title: 'æ°é', |
| | | align: 'center', |
| | | dataIndex: 'quantity', |
| | | scopedSlots: { customRender: 'quantity' }, |
| | | }, |
| | | { |
| | | title: 'åä½', |
| | | align: 'center', |
| | | dataIndex: 'unitName', |
| | | scopedSlots: { customRender: 'unitName' }, |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | align: 'center', |
| | | dataIndex: 'action', |
| | | scopedSlots: { |
| | | customRender: 'action' |
| | | }, |
| | | } |
| | | ], |
| | | title: "æä½", |
| | | visible: false, |
| | | disableSubmit: false, |
| | | codeDisable: true, |
| | | // isRevise: false, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 6 }, |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 18 }, |
| | | }, |
| | | confirmLoading: false, |
| | | form: this.$form.createForm(this), |
| | | validatorRules: { |
| | | num: { |
| | | rules: [ |
| | | { required: true, message: '请è¾å
¥è¯·è´åå·!' }, |
| | | ] |
| | | }, |
| | | equipmentNumNameModel: { |
| | | rules: [ |
| | | { required: true, message: 'è¯·éæ©è®¾å¤!' }, |
| | | ] |
| | | }, |
| | | departId: { |
| | | rules: [ |
| | | { required: true, message: 'è¯·éæ©é¨é¨!' }, |
| | | ] |
| | | }, |
| | | }, |
| | | url: { |
| | | add: "/spare/sparePartRequirement/addNew", |
| | | edit: "/spare/sparePartRequirement/editNew", |
| | | getNum: '/eam/sysIdentity/getNumNew' |
| | | }, |
| | | dataSource: [], |
| | | } |
| | | }, |
| | | |
| | | |
| | | methods: { |
| | | add() { |
| | | this.edit({ sparePartRequirementDeatilList: [] }) |
| | | this.getSeq() |
| | | }, |
| | | |
| | | edit(record) { |
| | | let that = this; |
| | | that.dataSource = []; |
| | | that.form.resetFields(); |
| | | that.model = Object.assign({}, record); |
| | | that.visible = true; |
| | | if (record.sparePartRequirementDeatilList != undefined) { |
| | | const temp = [...record.sparePartRequirementDeatilList]; |
| | | that.dataSource = temp; |
| | | } |
| | | that.$nextTick(() => { |
| | | that.form.setFieldsValue(pick(that.model, 'num', 'equipmentId', 'equipmentNumNameModel', 'departId', 'remark')); |
| | | }); |
| | | }, |
| | | |
| | | getSeq() { |
| | | getAction(this.url.getNum, { type: 'SpartPartRequirement', length: 4 }).then(res => { |
| | | if (res.success) { |
| | | this.form.setFieldsValue({ "num": res.result }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | onEquipmentList() { |
| | | let data = this.form.getFieldsValue(['departId']); |
| | | this.$refs.EquipmentList.list(data.departId); |
| | | this.$refs.EquipmentList.title = "éæ©è®¾å¤ä¿¡æ¯"; |
| | | }, |
| | | sendEquipmentRecord(data) { |
| | | this.dataSource = []; |
| | | let record = data.record; |
| | | this.form.setFieldsValue({ equipmentId: record.id, equipmentNumNameModel: record.num + "/" + record.name + "/" + record.model }); |
| | | }, |
| | | |
| | | close() { |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | }, |
| | | |
| | | handleCancel() { |
| | | this.close(); |
| | | }, |
| | | |
| | | handleOk() { |
| | | const that = this; |
| | | this.form.validateFields((err, values) => { |
| | | if (!err) { |
| | | that.confirmLoading = true; |
| | | let formData = Object.assign(this.model, values); |
| | | formData.sparePartRequirementDeatilList = that.dataSource; |
| | | let obj; |
| | | if (!this.model.id) { |
| | | formData.auditStatus = '0' |
| | | obj = postAction(this.url.add, formData); |
| | | } else { |
| | | obj = requestPut(this.url.edit, formData, { id: this.model.id }); |
| | | } |
| | | obj.then((res) => { |
| | | if (res.success) { |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | } else { |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.close(); |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | handleDelete(text, record, index) { |
| | | this.dataSource.splice(index, 1); |
| | | }, |
| | | |
| | | addSpart() { |
| | | this.dataSource.push({}) |
| | | }, |
| | | |
| | | handleChange(value, key, column, index) { |
| | | let that = this; |
| | | const temp = [...that.dataSource]; |
| | | const target = temp.filter(item => key === item.key)[index]; |
| | | if (target) { |
| | | if (column.dataIndex == 'spartPartNum') { |
| | | target[column.dataIndex] = value.target.value; |
| | | } |
| | | if ('spartPartName' == column.dataIndex) { |
| | | target['spartPartName'] = value.target.value; |
| | | } |
| | | if ('spartPartModel' == column.dataIndex) { |
| | | target['spartPartModel'] = value.target.value; |
| | | } |
| | | if ('quantity' == column.dataIndex) { |
| | | target['quantity'] = value; |
| | | } |
| | | if ('unitName' == column.dataIndex) { |
| | | target['unitName'] = value.target.value; |
| | | } |
| | | //æ¾ç¤ºå¸¦è¿æ¥çæ°æ® |
| | | that.dataSource = temp; |
| | | } |
| | | }, |
| | | |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | /deep/ .frozenRowClass { |
| | | color: #c9c9c9; |
| | | } |
| | | .fontweight { |
| | | font-weight: bold; |
| | | } |
| | | .ant-btn { |
| | | padding: 0 10px; |
| | | margin-left: 3px; |
| | | } |
| | | |
| | | .ant-form-item-control { |
| | | line-height: 0px; |
| | | } |
| | | |
| | | /** 主表åè¡é´è· */ |
| | | .ant-form .ant-form-item { |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | /** Tab页é¢è¡é´è· */ |
| | | .ant-tabs-content .ant-form-item { |
| | | margin-bottom: 0px; |
| | | } |
| | | </style> |
| | |
| | | |
| | | <!-- 左侧颿¿ --> |
| | | <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="12"> |
| | | <a-col :md="7" :sm="8"> |
| | | <a-form-item label="åå
¸åç§°" :labelCol="{span: 6}" :wrapperCol="{span: 14, offset: 1}"> |
| | | <a-input placeholder="请è¾å
¥åå
¸åç§°" v-model="queryParam.dictName"></a-input> |
| | | <a-col |
| | | :md="7" |
| | | :sm="8" |
| | | > |
| | | <a-form-item |
| | | label="åå
¸åç§°" |
| | | :labelCol="{span: 6}" |
| | | :wrapperCol="{span: 14, offset: 1}" |
| | | > |
| | | <a-input |
| | | placeholder="请è¾å
¥åå
¸åç§°" |
| | | v-model="queryParam.dictName" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="7" :sm="8"> |
| | | <a-form-item label="åå
¸ç¼å·" :labelCol="{span: 6}" :wrapperCol="{span: 14, offset: 1}"> |
| | | <a-input placeholder="请è¾å
¥åå
¸ç¼å·" v-model="queryParam.dictCode"></a-input> |
| | | <a-col |
| | | :md="7" |
| | | :sm="8" |
| | | > |
| | | <a-form-item |
| | | label="åå
¸ç¼å·" |
| | | :labelCol="{span: 6}" |
| | | :wrapperCol="{span: 14, offset: 1}" |
| | | > |
| | | <a-input |
| | | placeholder="请è¾å
¥åå
¸ç¼å·" |
| | | v-model="queryParam.dictCode" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="7" :sm="8"> |
| | | <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-col |
| | | :md="7" |
| | | :sm="8" |
| | | > |
| | | <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 class="table-operator" style="border-top: 5px"> |
| | | <a-button @click="handleAdd" type="primary" icon="plus">æ·»å </a-button> |
| | | |
| | | <div |
| | | class="table-operator" |
| | | style="border-top: 5px" |
| | | > |
| | | <a-button |
| | | @click="handleAdd" |
| | | type="primary" |
| | | icon="plus" |
| | | >æ·»å </a-button> |
| | | <a-button |
| | | type="primary" |
| | | icon="sync" |
| | | @click="refleshCache()" |
| | | >å·æ°ç¼å</a-button> |
| | | </div> |
| | | |
| | | <a-table |
| | |
| | | :dataSource="dataSource" |
| | | :pagination="ipagination" |
| | | :loading="loading" |
| | | @change="handleTableChange"> |
| | | <span slot="action" slot-scope="text, record"> |
| | | @change="handleTableChange" |
| | | > |
| | | <span |
| | | slot="action" |
| | | slot-scope="text, record" |
| | | > |
| | | <a @click="handleEdit(record)"> |
| | | <a-icon type="edit"/> |
| | | <a-icon type="edit" /> |
| | | ç¼è¾ |
| | | </a> |
| | | <a-divider type="vertical"/> |
| | | <a @click="editDictItem(record)"><a-icon type="setting"/> åå
¸é
ç½®</a> |
| | | <a-divider type="vertical"/> |
| | | <a-popconfirm title="ç¡®å®å é¤å?" @confirm="() =>handleDelete(record.id)"> |
| | | <a-divider type="vertical" /> |
| | | <a @click="editDictItem(record)"><a-icon type="setting" /> åå
¸é
ç½®</a> |
| | | <a-divider type="vertical" /> |
| | | <a-popconfirm |
| | | title="ç¡®å®å é¤å?" |
| | | @confirm="() =>handleDelete(record.id)" |
| | | > |
| | | <a>å é¤</a> |
| | | </a-popconfirm> |
| | | </span> |
| | | </a-table> |
| | | |
| | | </div> |
| | | <dict-modal ref="modalForm" @ok="modalFormOk"></dict-modal> <!-- åå
¸ç±»å --> |
| | | <dict-modal |
| | | ref="modalForm" |
| | | @ok="modalFormOk" |
| | | ></dict-modal> <!-- åå
¸ç±»å --> |
| | | <dict-item-list ref="dictItemList"></dict-item-list> |
| | | <dict-delete-list ref="dictDeleteList" @refresh="() =>loadData()"></dict-delete-list> |
| | | <dict-delete-list |
| | | ref="dictDeleteList" |
| | | @refresh="() =>loadData()" |
| | | ></dict-delete-list> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import { filterObj } from '@/utils/util'; |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import DictModal from './modules/DictModal' |
| | | import DictItemList from './DictItemList' |
| | | import DictDeleteList from './DictDeleteList' |
| | | import { getAction } from '@/api/manage' |
| | | import { UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types" |
| | | import Vue from 'vue' |
| | | import { filterObj } from '@/utils/util'; |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import DictModal from './modules/DictModal' |
| | | import DictItemList from './DictItemList' |
| | | import DictDeleteList from './DictDeleteList' |
| | | import { getAction } from '@/api/manage' |
| | | import { UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types" |
| | | import Vue from 'vue' |
| | | |
| | | export default { |
| | | name: "DictList", |
| | | mixins:[JeecgListMixin], |
| | | components: {DictModal, DictItemList,DictDeleteList}, |
| | | data() { |
| | | return { |
| | | description: 'è¿æ¯æ°æ®åå
¸é¡µé¢', |
| | | visible: false, |
| | | // æ¥è¯¢æ¡ä»¶ |
| | | queryParam: { |
| | | dictCode: "", |
| | | dictName: "", |
| | | }, |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 120, |
| | | align: "center", |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1; |
| | | } |
| | | }, |
| | | { |
| | | title: 'åå
¸åç§°', |
| | | align: "left", |
| | | dataIndex: 'dictName', |
| | | }, |
| | | { |
| | | title: 'åå
¸ç¼å·', |
| | | align: "left", |
| | | dataIndex: 'dictCode', |
| | | }, |
| | | { |
| | | title: 'æè¿°', |
| | | align: "left", |
| | | dataIndex: 'description', |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align: "center", |
| | | scopedSlots: {customRender: 'action'}, |
| | | export default { |
| | | name: "DictList", |
| | | mixins: [JeecgListMixin], |
| | | components: { DictModal, DictItemList, DictDeleteList }, |
| | | data() { |
| | | return { |
| | | description: 'è¿æ¯æ°æ®åå
¸é¡µé¢', |
| | | visible: false, |
| | | // æ¥è¯¢æ¡ä»¶ |
| | | queryParam: { |
| | | dictCode: "", |
| | | dictName: "", |
| | | }, |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 120, |
| | | align: "center", |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1; |
| | | } |
| | | ], |
| | | dict: "", |
| | | labelCol: { |
| | | xs: {span: 8}, |
| | | sm: {span: 5}, |
| | | }, |
| | | wrapperCol: { |
| | | xs: {span: 16}, |
| | | sm: {span: 19}, |
| | | { |
| | | title: 'åå
¸åç§°', |
| | | align: "left", |
| | | dataIndex: 'dictName', |
| | | }, |
| | | url: { |
| | | list: "/sys/dict/list", |
| | | delete: "/sys/dict/delete", |
| | | exportXlsUrl: "sys/dict/exportXls", |
| | | importExcelUrl: "sys/dict/importExcel", |
| | | refleshCache: "sys/dict/refleshCache", |
| | | queryAllDictItems: "sys/dict/queryAllDictItems", |
| | | { |
| | | title: 'åå
¸ç¼å·', |
| | | align: "left", |
| | | dataIndex: 'dictCode', |
| | | }, |
| | | } |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function () { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | } |
| | | }, |
| | | methods: { |
| | | getQueryParams() { |
| | | var param = Object.assign({}, this.queryParam, this.isorter); |
| | | param.field = this.getQueryField(); |
| | | param.pageNo = this.ipagination.current; |
| | | param.pageSize = this.ipagination.pageSize; |
| | | if (this.superQueryParams) { |
| | | param['superQueryParams'] = encodeURI(this.superQueryParams) |
| | | param['superQueryMatchType'] = this.superQueryMatchType |
| | | { |
| | | title: 'æè¿°', |
| | | align: "left", |
| | | dataIndex: 'description', |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align: "center", |
| | | scopedSlots: { customRender: 'action' }, |
| | | } |
| | | return filterObj(param); |
| | | ], |
| | | dict: "", |
| | | labelCol: { |
| | | xs: { span: 8 }, |
| | | sm: { span: 5 }, |
| | | }, |
| | | //åæ¶éæ© |
| | | cancelDict() { |
| | | this.dict = ""; |
| | | this.visible = false; |
| | | this.loadData(); |
| | | wrapperCol: { |
| | | xs: { span: 16 }, |
| | | sm: { span: 19 }, |
| | | }, |
| | | //ç¼è¾åå
¸æ°æ® |
| | | editDictItem(record) { |
| | | this.$refs.dictItemList.edit(record); |
| | | url: { |
| | | list: "/sys/dict/list", |
| | | delete: "/sys/dict/delete", |
| | | exportXlsUrl: "sys/dict/exportXls", |
| | | importExcelUrl: "sys/dict/importExcel", |
| | | refleshCache: "sys/dict/refleshCache", |
| | | queryAllDictItems: "sys/dict/queryAllDictItems", |
| | | }, |
| | | // éç½®åå
¸ç±»åæç´¢æ¡çå
容 |
| | | searchReset() { |
| | | var that = this; |
| | | that.queryParam.dictName = ""; |
| | | that.queryParam.dictCode = ""; |
| | | that.loadData(this.ipagination.current); |
| | | }, |
| | | openDeleteList(){ |
| | | this.$refs.dictDeleteList.show() |
| | | }, |
| | | refleshCache(){ |
| | | getAction(this.url.refleshCache).then((res) => { |
| | | if (res.success) { |
| | | //éæ°å è½½ç¼å |
| | | getAction(this.url.queryAllDictItems).then((res) => { |
| | | if (res.success) { |
| | | Vue.ls.remove(UI_CACHE_DB_DICT_DATA) |
| | | Vue.ls.set(UI_CACHE_DB_DICT_DATA, res.result, 7 * 24 * 60 * 60 * 1000) |
| | | } |
| | | }) |
| | | this.$message.success("å·æ°ç¼å宿ï¼"); |
| | | } |
| | | }).catch(e=>{ |
| | | this.$message.warn("å·æ°ç¼å失败ï¼"); |
| | | console.log("å·æ°å¤±è´¥",e) |
| | | }) |
| | | } |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function () { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | } |
| | | }, |
| | | methods: { |
| | | getQueryParams() { |
| | | var param = Object.assign({}, this.queryParam, this.isorter); |
| | | param.field = this.getQueryField(); |
| | | param.pageNo = this.ipagination.current; |
| | | param.pageSize = this.ipagination.pageSize; |
| | | if (this.superQueryParams) { |
| | | param['superQueryParams'] = encodeURI(this.superQueryParams) |
| | | param['superQueryMatchType'] = this.superQueryMatchType |
| | | } |
| | | return filterObj(param); |
| | | }, |
| | | watch: { |
| | | openKeys(val) { |
| | | console.log('openKeys', val) |
| | | }, |
| | | //åæ¶éæ© |
| | | cancelDict() { |
| | | this.dict = ""; |
| | | this.visible = false; |
| | | this.loadData(); |
| | | }, |
| | | } |
| | | //ç¼è¾åå
¸æ°æ® |
| | | editDictItem(record) { |
| | | this.$refs.dictItemList.edit(record); |
| | | }, |
| | | // éç½®åå
¸ç±»åæç´¢æ¡çå
容 |
| | | searchReset() { |
| | | var that = this; |
| | | that.queryParam.dictName = ""; |
| | | that.queryParam.dictCode = ""; |
| | | that.loadData(this.ipagination.current); |
| | | }, |
| | | openDeleteList() { |
| | | this.$refs.dictDeleteList.show() |
| | | }, |
| | | refleshCache() { |
| | | getAction(this.url.refleshCache).then((res) => { |
| | | if (res.success) { |
| | | //éæ°å è½½ç¼å |
| | | getAction(this.url.queryAllDictItems).then((res) => { |
| | | if (res.success) { |
| | | Vue.ls.remove(UI_CACHE_DB_DICT_DATA) |
| | | Vue.ls.set(UI_CACHE_DB_DICT_DATA, res.result, 7 * 24 * 60 * 60 * 1000) |
| | | } |
| | | }) |
| | | this.$message.success("å·æ°ç¼å宿ï¼"); |
| | | } |
| | | }).catch(e => { |
| | | this.$message.warn("å·æ°ç¼å失败ï¼"); |
| | | console.log("å·æ°å¤±è´¥", e) |
| | | }) |
| | | } |
| | | }, |
| | | watch: { |
| | | openKeys(val) { |
| | | console.log('openKeys', val) |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less' |
| | | @import '~@assets/less/common.less'; |
| | | </style> |