| | |
| | | // align: "center", |
| | | // dataIndex: 'workingHourQuota' |
| | | // }, |
| | | // { |
| | | // title: '计划开始时间', |
| | | // align: "center", |
| | | // dataIndex: 'planStartTime', |
| | | // //width: '120px', |
| | | // }, |
| | | { |
| | | title: '计划开始时间', |
| | | align: "center", |
| | | dataIndex: 'planStartTime', |
| | | //width: '120px', |
| | | }, |
| | | // { |
| | | // title: '计划结束时间', |
| | | // align: "center", |
| | |
| | | <template> |
| | | <a-card :bordered="false" :class="'cust-erp-sub-tab'"> |
| | | <a-card |
| | | :bordered="false" |
| | | :class="'cust-erp-sub-tab'" |
| | | > |
| | | <!-- 查询区域 --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-form |
| | | layout="inline" |
| | | @keyup.enter.native="searchQuery" |
| | | > |
| | | <a-row :gutter="24"> |
| | | </a-row> |
| | | </a-form> |
| | |
| | | <!-- 查询区域-END --> |
| | | |
| | | <!-- 操作按钮区域 --> |
| | | <div class="table-operator" v-if="mainId"> |
| | | <div |
| | | class="table-operator" |
| | | v-if="mainId" |
| | | > |
| | | <!-- <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> |
| | | <a-dropdown v-if="selectedRowKeys.length > 0"> |
| | | <a-menu slot="overlay"> |
| | |
| | | |
| | | <!-- table区域-begin --> |
| | | <div> |
| | | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
| | | <div |
| | | class="ant-alert ant-alert-info" |
| | | style="margin-bottom: 16px;" |
| | | > |
| | | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 |
| | | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
| | | <a |
| | | style="margin-left: 24px" |
| | | @click="onClearSelected" |
| | | >清空</a> |
| | | </div> |
| | | |
| | | <a-table |
| | |
| | | :pagination="ipagination" |
| | | :loading="loading" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
| | | @change="handleTableChange"> |
| | | @change="handleTableChange" |
| | | > |
| | | |
| | | <template slot="htmlSlot" slot-scope="text"> |
| | | <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 |
| | | 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> |
| | | <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)"> |
| | | @click="downloadFile(text)" |
| | | > |
| | | 下载 |
| | | </a-button> |
| | | </template> |
| | | |
| | | <span slot="action" slot-scope="text, record"> |
| | | <span |
| | | slot="action" |
| | | slot-scope="text, record" |
| | | > |
| | | <!-- <a-divider type="vertical" /> |
| | | <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> |
| | | <a>删除</a> |
| | | </a-popconfirm> --> |
| | | <a @click="handleEdit(record)" :disabled="mainStatus!=='distributed'">计划变更</a> |
| | | <a |
| | | @click="handleEdit(record)" |
| | | :disabled="mainStatus!=='distributed'" |
| | | >计划变更</a> |
| | | </span> |
| | | <span |
| | | slot="num" |
| | |
| | | </span> |
| | | </a-table> |
| | | </div> |
| | | <standard-detail-model :mainId="standardId" ref="standardDetail"></standard-detail-model> |
| | | <maintenance-plan-change-model ref="modalForm" @ok="modalFormOk"></maintenance-plan-change-model> |
| | | <standard-detail-model |
| | | :mainId="standardId" |
| | | ref="standardDetail" |
| | | ></standard-detail-model> |
| | | <maintenance-plan-change-model |
| | | ref="modalForm" |
| | | @ok="modalFormOk" |
| | | ></maintenance-plan-change-model> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import StandardDetailModel from './modules/maintenancePlan/StandardDetailModel' |
| | | import MaintenancePlanChangeModel from './modules/maintenancePlan/MaintenancePlanChangeModel.vue' |
| | | export default { |
| | | name: "EquipmentMaintenancePlanDetailList", |
| | | mixins:[JeecgListMixin], |
| | | components: {StandardDetailModel, MaintenancePlanChangeModel}, |
| | | props:{ |
| | | mainId:{ |
| | | type:String, |
| | | default:'', |
| | | required:false |
| | | }, |
| | | mainStatus:{ |
| | | type:String, |
| | | default:'', |
| | | required:false |
| | | } |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import StandardDetailModel from './modules/maintenancePlan/StandardDetailModel' |
| | | import MaintenancePlanChangeModel from './modules/maintenancePlan/MaintenancePlanChangeModel.vue' |
| | | export default { |
| | | name: "EquipmentMaintenancePlanDetailList", |
| | | mixins: [JeecgListMixin], |
| | | components: { StandardDetailModel, MaintenancePlanChangeModel }, |
| | | props: { |
| | | mainId: { |
| | | type: String, |
| | | default: '', |
| | | required: false |
| | | }, |
| | | watch:{ |
| | | mainId:{ |
| | | immediate: true, |
| | | handler(val) { |
| | | if(!this.mainId){ |
| | | this.clearList() |
| | | }else{ |
| | | this.queryParam['planId'] = val |
| | | this.loadData(1); |
| | | } |
| | | mainStatus: { |
| | | type: String, |
| | | default: '', |
| | | required: false |
| | | } |
| | | }, |
| | | watch: { |
| | | mainId: { |
| | | immediate: true, |
| | | handler(val) { |
| | | if (!this.mainId) { |
| | | this.clearList() |
| | | } else { |
| | | this.queryParam['planId'] = val |
| | | this.loadData(1); |
| | | } |
| | | } |
| | | }, |
| | | data () { |
| | | return { |
| | | description: '保养计划管理页面', |
| | | disableMixinCreated:true, |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key:'rowIndex', |
| | | width:45, |
| | | align:"center", |
| | | customRender:function (t,r,index) { |
| | | return parseInt(index)+1; |
| | | } |
| | | }, |
| | | { |
| | | title:'保养标准', |
| | | align:"center", |
| | | dataIndex: 'standardNum', |
| | | width:250, |
| | | scopedSlots: { customRender: 'num' } |
| | | }, |
| | | { |
| | | title:'设备统一编码', |
| | | align:"center", |
| | | dataIndex: 'equipmentNum', |
| | | width:250, |
| | | }, |
| | | { |
| | | title:'设备名称', |
| | | align:"center", |
| | | dataIndex: 'equipmentName', |
| | | width:250, |
| | | }, |
| | | { |
| | | title:'设备型号', |
| | | align:"center", |
| | | dataIndex: 'model', |
| | | width:250, |
| | | }, |
| | | { |
| | | title:'计划开始时间', |
| | | align:"center", |
| | | dataIndex: 'planStartTime', |
| | | width:280, |
| | | }, |
| | | { |
| | | title:'计划结束时间', |
| | | align:"center", |
| | | dataIndex: 'planEndTime', |
| | | width:280, |
| | | }, |
| | | { |
| | | title: '操作', |
| | | dataIndex: 'action', |
| | | align:"center", |
| | | fixed:"right", |
| | | width:200, |
| | | scopedSlots: { customRender: 'action' }, |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | description: '保养计划管理页面', |
| | | disableMixinCreated: true, |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 45, |
| | | align: "center", |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1; |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/eam/equipmentMaintenancePlan/listEquipmentMaintenancePlanDetailByMainId", |
| | | delete: "/eam/equipmentMaintenancePlan/deleteEquipmentMaintenancePlanDetail", |
| | | deleteBatch: "/eam/equipmentMaintenancePlan/deleteBatchEquipmentMaintenancePlanDetail", |
| | | exportXlsUrl: "/eam/equipmentMaintenancePlan/exportEquipmentMaintenancePlanDetail", |
| | | importUrl: "/eam/equipmentMaintenancePlan/importEquipmentMaintenancePlanDetail", |
| | | }, |
| | | dictOptions:{ |
| | | { |
| | | title: '保养标准', |
| | | align: "center", |
| | | dataIndex: 'standardNum', |
| | | width: 250, |
| | | }, |
| | | standardId:'' |
| | | } |
| | | }, |
| | | created() { |
| | | }, |
| | | computed: { |
| | | importExcelUrl(){ |
| | | return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`; |
| | | } |
| | | }, |
| | | methods: { |
| | | clearList(){ |
| | | this.dataSource=[] |
| | | this.selectedRowKeys=[] |
| | | this.ipagination.current = 1 |
| | | // scopedSlots: { customRender: 'num' } |
| | | { |
| | | title: '设备统一编码', |
| | | align: "center", |
| | | dataIndex: 'equipmentNum', |
| | | width: 250, |
| | | }, |
| | | { |
| | | title: '设备名称', |
| | | align: "center", |
| | | dataIndex: 'equipmentName', |
| | | width: 250, |
| | | }, |
| | | { |
| | | title: '设备型号', |
| | | align: "center", |
| | | dataIndex: 'model', |
| | | width: 250, |
| | | }, |
| | | { |
| | | title: '计划开始时间', |
| | | align: "center", |
| | | dataIndex: 'planStartTime', |
| | | width: 280, |
| | | }, |
| | | { |
| | | title: '计划结束时间', |
| | | align: "center", |
| | | dataIndex: 'planEndTime', |
| | | width: 280, |
| | | }, |
| | | { |
| | | title: '操作', |
| | | dataIndex: 'action', |
| | | align: "center", |
| | | fixed: "right", |
| | | width: 200, |
| | | scopedSlots: { customRender: 'action' }, |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/eam/equipmentMaintenancePlan/listEquipmentMaintenancePlanDetailByMainId", |
| | | delete: "/eam/equipmentMaintenancePlan/deleteEquipmentMaintenancePlanDetail", |
| | | deleteBatch: "/eam/equipmentMaintenancePlan/deleteBatchEquipmentMaintenancePlanDetail", |
| | | exportXlsUrl: "/eam/equipmentMaintenancePlan/exportEquipmentMaintenancePlanDetail", |
| | | importUrl: "/eam/equipmentMaintenancePlan/importEquipmentMaintenancePlanDetail", |
| | | }, |
| | | handleShowDetail(record){ |
| | | this.standardId = record.standardId |
| | | this.$refs.standardDetail.visible = true; |
| | | } |
| | | dictOptions: { |
| | | }, |
| | | standardId: '' |
| | | } |
| | | }, |
| | | created() { |
| | | }, |
| | | computed: { |
| | | importExcelUrl() { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`; |
| | | } |
| | | }, |
| | | methods: { |
| | | clearList() { |
| | | this.dataSource = [] |
| | | this.selectedRowKeys = [] |
| | | this.ipagination.current = 1 |
| | | }, |
| | | handleShowDetail(record) { |
| | | this.standardId = record.standardId |
| | | this.$refs.standardDetail.visible = true; |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less' |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
| | |
| | | <a-input v-model="model.sparePart" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="24"> |
| | | |
| | | <a-col :span="12"> |
| | | <a-form-item |
| | | :labelCol="{ span: 8 }" |
| | |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | </a-row> |
| | | <a-row :gutter="24"> |
| | | |
| | | <!-- <a-col :span="12"> |
| | | <a-form-item |
| | | :labelCol="{ span: 8 }" |
| | | :wrapperCol="{ span: 4 }" |
| | |
| | | @change="handle5Switch(model.meetProcessRequire)" |
| | | :checked="model.meetProcessRequire == '1'" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> --> |
| | | <a-col :span="12"> |
| | | <a-form-item |
| | | style="font-size: large;font-style: normal;font-size: 15px;" |
| | | :labelCol="{ span: 8 }" |
| | | :wrapperCol="{ span: 12 }" |
| | | label="能否满足加工工艺要求" |
| | | > |
| | | <j-dict-select-tag |
| | | style="font-size: large;font-style: normal;font-size: 15px;width: 100%" |
| | | allow-clear |
| | | :triggerChange="true" |
| | | dictCode="meet_process_require" |
| | | v-model="model.meetProcessRequire" |
| | | /> |
| | | |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | v-if="model.meetProcessRequire =='3'" |
| | | :span="12" |
| | | > |
| | | <a-form-item |
| | | :labelCol="{ span: 8 }" |
| | | :wrapperCol="{ span: 12 }" |
| | | label="自定义说明:" |
| | | > |
| | | <a-input v-model="model.meetProcessRequireRemark" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | |
| | | dataSource: [], |
| | | model: {}, |
| | | departs: [], |
| | | |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 6 }, |
| | |
| | | if (res.success) { |
| | | this.dataSource = res.result[0].precisionInspectionDetails |
| | | this.model = Object.assign(this.model, res.result[0]); |
| | | this.model = Object.assign({}, this.model); |
| | | } |
| | | }) |
| | | }, |
| | |
| | | <a-select-option value="2">未通过</a-select-option> |
| | | </a-select> |
| | | <a-input |
| | | v-if="col.dataIndex == 'firstInspect'" |
| | | @change="(e)=>handleChange(e, record.key, col, index)" |
| | | v-if="col.dataIndex == 'firstInspect' && record.firstInspect == '2'" |
| | | :value="record.firstNotPass" |
| | | @change="(e)=>handleChange2(e, record.key, col, index)" |
| | | :disabled="false" |
| | | placeholder="请填写验收未通过原因" |
| | | /> |
| | |
| | | <a-select-option value="1">通过</a-select-option> |
| | | <a-select-option value="2">未通过</a-select-option> |
| | | </a-select> |
| | | |
| | | <!-- <a-input |
| | | v-if="col.dataIndex == 'secondInspect' && record.secondInspect == '2'" |
| | | :value="record.secondNotPass" |
| | | @change="(e)=>handleChange2(e, record.key, col, index)" |
| | | :disabled="false" |
| | | placeholder="请填写验收未通过原因" |
| | | /> --> |
| | | </div> |
| | | </template> |
| | | </a-table> |
| | |
| | | }, |
| | | |
| | | handleChange(value, key, column, index) { |
| | | debugger |
| | | let that = this; |
| | | const temp = [...that.dataSource]; |
| | | const target = temp.filter(item => key === item.key)[index]; |
| | |
| | | target['standard'] = value.target.value; |
| | | } |
| | | if (column.dataIndex == 'firstInspect') { |
| | | target[column.dataIndex] = value; |
| | | debugger |
| | | target["firstInspect"] = value; |
| | | } |
| | | if (column.dataIndex == 'secondInspect') { |
| | | target[column.dataIndex] = value; |
| | |
| | | } |
| | | }, |
| | | |
| | | handleChange2(value, key, column, index, record) { |
| | | let that = this; |
| | | const temp = [...that.dataSource]; |
| | | const target = temp.filter(item => key === item.key)[index]; |
| | | if (target) { |
| | | // target[column.dataIndex] = value; |
| | | if ('firstInspect' == column.dataIndex) { |
| | | target['firstNotPass'] = value.target.value; |
| | | } |
| | | // if ('secondInspect' == column.dataIndex) { |
| | | // target['secondNotPass'] = value.target.value; |
| | | // } |
| | | |
| | | //显示带过来的数据 |
| | | that.dataSource = temp; |
| | | } |
| | | }, |
| | | |
| | | getSysFileName() { |
| | | getAction(this.url.getSysFileName, { name: '19' }).then((res) => { |
| | | if (res.success) { |
| | |
| | | add: "/eam/dailyMaintenanceOrder/add", |
| | | edit: "/eam/dailyMaintenanceOrder/edit", |
| | | getCycleByStandardId: "/eam/dailyMaintenanceOrder/getMaintenanceCycleByStandardId", |
| | | getMaintenanceProjectList: "/eam/dailyMaintenanceOrder/getMaintenanceProjectId", |
| | | // getMaintenanceProjectList: "/eam/dailyMaintenanceOrder/getMaintenanceProjectId", |
| | | getMaintenanceProjectList: "/eam/calibrationOrder/getTwoMaintenancePlanList", |
| | | getSysDeparts: "/eam/dailyMaintenanceOrder/getSysDeparts", |
| | | list: "/eam/dailyMaintenanceOrder/getMaintenanceCycleByStandardId", |
| | | getNum: '/eam/sysIdentity/getNumNew' |
| | |
| | | |
| | | handle3Change(val) { |
| | | let data = this.form.getFieldsValue(['maintenanceStandardId']); |
| | | getAction(this.url.getMaintenanceProjectList, { maintenanceStandardId: data.maintenanceStandardId, maintenanceCycleId: val }).then((res) => { |
| | | // getAction(this.url.getMaintenanceProjectList, { maintenanceStandardId: data.maintenanceStandardId, maintenanceCycleId: val }).then((res) => { |
| | | getAction(this.url.getMaintenanceProjectList).then((res) => { |
| | | if (res.success) { |
| | | this.dataSource = res.result; |
| | | if (res.result.length == 0) { |
| | |
| | | return parseInt(index) + 1; |
| | | } |
| | | }, |
| | | { |
| | | title: '部位', |
| | | align: "center", |
| | | dataIndex: 'location', |
| | | width: 150, |
| | | }, |
| | | { |
| | | title: '示意图', |
| | | align: "center", |
| | | dataIndex: 'photo', |
| | | scopedSlots: { customRender: 'photo' }, |
| | | width: 150, |
| | | }, |
| | | // { |
| | | // title: '部位', |
| | | // align: "center", |
| | | // dataIndex: 'location', |
| | | // width: 150, |
| | | // }, |
| | | // { |
| | | // title: '示意图', |
| | | // align: "center", |
| | | // dataIndex: 'photo', |
| | | // scopedSlots: { customRender: 'photo' }, |
| | | // width: 150, |
| | | // }, |
| | | { |
| | | title: '保养项目', |
| | | align: "center", |
| | |
| | | dataIndex: 'standard', |
| | | width: 150, |
| | | }, |
| | | { |
| | | title: '方法', |
| | | align: "center", |
| | | dataIndex: 'maintenanceMethodName', |
| | | width: 150, |
| | | // { |
| | | // title: '方法', |
| | | // align: "center", |
| | | // dataIndex: 'maintenanceMethodName', |
| | | // width: 150, |
| | | |
| | | }, |
| | | { |
| | | title: '工具', |
| | | align: "center", |
| | | dataIndex: 'maintenanceTool', |
| | | width: 150, |
| | | }, |
| | | { |
| | | title: '安全要求', |
| | | align: "center", |
| | | dataIndex: 'maintenanceRequire', |
| | | width: 150, |
| | | }, |
| | | { |
| | | title: '工时定额', |
| | | align: "center", |
| | | dataIndex: 'workingHourQuota', |
| | | width: 150, |
| | | }, |
| | | // }, |
| | | // { |
| | | // title: '工具', |
| | | // align: "center", |
| | | // dataIndex: 'maintenanceTool', |
| | | // width: 150, |
| | | // }, |
| | | // { |
| | | // title: '安全要求', |
| | | // align: "center", |
| | | // dataIndex: 'maintenanceRequire', |
| | | // width: 150, |
| | | // }, |
| | | // { |
| | | // title: '工时定额', |
| | | // align: "center", |
| | | // dataIndex: 'workingHourQuota', |
| | | // width: 150, |
| | | // }, |
| | | { |
| | | title: '保养周期', |
| | | align: "center", |
| | |
| | | :wrapperCol="wrapperCol" |
| | | prop="ranges" |
| | | > |
| | | <a-range-picker |
| | | <a-range-picker |
| | | v-model="model.ranges" |
| | | style="width:100%" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | showTime |
| | | :placeholder="[ '计划开始时间', '计划结束时间']" |
| | | @change="changeDate" |
| | | /> |
| | | /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |