From f3fcd30cadbcbd406a6e10e3c7df64e5306db069 Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期二, 12 十二月 2023 17:28:43 +0800 Subject: [PATCH] 技术状态鉴定 批量点检驳回 审批 --- src/views/eam/modules/siteAreaLine/SiteAreaLineLeft.vue | 2 src/views/eam/DailyInspectionOrderList.vue | 36 src/views/eam/DailyInspectionStandardList.vue | 124 ++ src/views/eam/modules/dailyInspectionStandard/DailylnspectionStandardModal.vue | 22 src/views/eam/modules/equipmentCalibrationOrder/EquipmentTechnologyStatusModal.vue | 2 src/views/eam/modules/dailyMaintenanceOrder/MaintenanceOrderModal.vue | 10 src/views/eam/EquipmentCalibrationOrder.vue | 30 src/views/eam/modules/equipmentCalibrationOrder/TechnologyStatusAuthenticateModal.vue | 591 ++++++++++++++ src/views/eam/modules/daily3MaintenanceOrder/TechnologyStatusAuthenticateModal.vue | 632 +++++++++++++++ src/views/eam/modules/daily3MaintenanceOrder/MaintenanceOrder3Modal.vue | 747 +++++++++++++++++ src/views/eam/modules/siteAreaLine/SiteAreaLineModel.vue | 2 src/views/eam/Daily3MaintenanceOrderList.vue | 28 src/views/eam/modules/dailyInspectionStandard/DailyInspectionStandardDetail.vue | 12 src/views/eam/modules/inspectionProject/InspectionProjectRight.vue | 26 src/views/eam/modules/daily3MaintenanceOrder/DailyMaintenanceStandard3List.vue | 228 +++++ 15 files changed, 2,433 insertions(+), 59 deletions(-) diff --git a/src/views/eam/Daily3MaintenanceOrderList.vue b/src/views/eam/Daily3MaintenanceOrderList.vue index 532592d..8fbd6d6 100644 --- a/src/views/eam/Daily3MaintenanceOrderList.vue +++ b/src/views/eam/Daily3MaintenanceOrderList.vue @@ -306,12 +306,12 @@ type="vertical" /> <a - v-show="record.status === '5' && record.isNotStoveCategoryFlag == false && record.precisionParameters == '0'" + v-show="record.status === '5' && record.isNotStoveCategoryFlag == false && record.precisionParameters != '1'" @click="handleTechnologyStatus(record)" v-has="'daily3MaintenanceOrder:TechnologyStatus'" >鎶�鏈姸鎬侀壌瀹�</a> <a-divider - v-show="record.status === '5'&& record.isNotStoveCategoryFlag == false && record.precisionParameters == '0' " + v-show="record.status === '5'&& record.isNotStoveCategoryFlag == false && record.precisionParameters != '1'" type="vertical" /> <a @@ -367,10 +367,10 @@ </a-table> </div> - <maintenance-order-modal + <maintenance-order3-modal ref="modalForm" @ok="modalFormOk" - ></maintenance-order-modal> + ></maintenance-order3-modal> <finish-devolution-modal ref="FinishDevolutionModal" @ok="modalFormOk" @@ -399,6 +399,10 @@ ref="EquipmentTechnologyStatusModal" @ok="modalFormOk" ></equipment-technology-status-modal> + <technology-status-authenticate-modal + ref="TechnologyStatusAuthenticateModal" + @ok="modalFormOk" + ></technology-status-authenticate-modal> <maintenance-3-receipt-modal ref="Maintenance3ReceiptModal" @ok="modalFormOk" @@ -411,7 +415,7 @@ import '@/assets/less/TableExpand.less' import { mixinDevice } from '@/utils/mixin' import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import MaintenanceOrderModal from './modules/dailyMaintenanceOrder/MaintenanceOrderModal' +import MaintenanceOrder3Modal from './modules/daily3MaintenanceOrder/MaintenanceOrder3Modal' import FinishDevolutionModal from './modules/dailyMaintenanceOrder/FinishDevolutionModal' import MaintenanceOrderChangeModal from './modules/dailyMaintenanceOrder/MaintenanceOrderChangeModal' import EquipmentPrecisionCheckOrderModal from './modules/daily3MaintenanceOrder/EquipmentPrecisionCheckOrderModal' @@ -419,6 +423,7 @@ import MaintenanceOrderAssignModal from './modules/dailyMaintenanceOrder/MaintenanceOrderAssignModal' import DailyMaintenanceOrderExeDrawer from './modules/daily3MaintenanceOrder/DailyMaintenanceOrderExeDrawer' import EquipmentTechnologyStatusModal from './modules/daily3MaintenanceOrder/EquipmentTechnologyStatusModal' +import TechnologyStatusAuthenticateModal from './modules/daily3MaintenanceOrder/TechnologyStatusAuthenticateModal' import Maintenance3ReceiptModal from './modules/daily3MaintenanceOrder/Maintenance3ReceiptModal.vue' import { getAction, postAction, requestPut } from '@/api/manage' import JEllipsis from "@/components/jeecg/JEllipsis"; @@ -427,7 +432,7 @@ name: 'DailyMaintenanceOrderList', mixins: [JeecgListMixin, mixinDevice], components: { - MaintenanceOrderModal, + MaintenanceOrder3Modal, FinishDevolutionModal, MaintenanceOrderAssignModal, EquipmentPrecisionCheckOrderModal, @@ -435,6 +440,7 @@ MaintenanceOrderChangeModal, StoveCategoryModal, EquipmentTechnologyStatusModal, + TechnologyStatusAuthenticateModal, Maintenance3ReceiptModal, JEllipsis }, @@ -683,9 +689,13 @@ }, handleTechnologyStatus: function (record) { - this.$refs.EquipmentTechnologyStatusModal.edit(record); - this.$refs.EquipmentTechnologyStatusModal.title = "鎶�鏈姸鎬佺紪杈�"; - this.$refs.EquipmentTechnologyStatusModal.disableSubmit = false; + // this.$refs.EquipmentTechnologyStatusModal.edit(record); + // this.$refs.EquipmentTechnologyStatusModal.title = "鎶�鏈姸鎬佺紪杈�"; + // this.$refs.EquipmentTechnologyStatusModal.disableSubmit = false; + this.$refs.TechnologyStatusAuthenticateModal.edit(record); + this.$refs.TechnologyStatusAuthenticateModal.title = "鎶�鏈姸鎬佺紪杈�"; + this.$refs.TechnologyStatusAuthenticateModal.disableSubmit = false; + }, handleStoveDetection: function (record) { diff --git a/src/views/eam/DailyInspectionOrderList.vue b/src/views/eam/DailyInspectionOrderList.vue index a5a1cf9..2beb98a 100644 --- a/src/views/eam/DailyInspectionOrderList.vue +++ b/src/views/eam/DailyInspectionOrderList.vue @@ -120,6 +120,7 @@ :loading="loading" class="j-table-force-nowrap" @change="handleTableChange" + :rowClassName="tableRowClass" > <!-- :rowSelection="rowSelection" --> <!-- :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" --> @@ -509,7 +510,7 @@ }, handleOrderExe(record) { this.$refs.DailyInspectionOrderExeDrawer.visible = true - this.$refs.DailyInspectionOrderExeDrawer.title = '鏃ュ父鐐规宸ュ崟鎵ц' + this.$refs.DailyInspectionOrderExeDrawer.title = '鑷富缁存姢鐐规鎵ц' this.$refs.DailyInspectionOrderExeDrawer.handleShow(record) if (record.status === '3') { this.$refs.DailyInspectionOrderExeDrawer.buttonDistable = true//淇濆瓨銆佹殏瀛樸�佹姤宸� @@ -594,10 +595,41 @@ }) }, + //棰勮棰滆壊 + tableRowClass(record, index) { + if (("1" == record.status || "2" == record.status) && "1鏃�" == record.inspectionCycleName) { + if (record.redWarningTime < record.currentDateTime) { + return 'error' + } + } + }, + } } </script> -<style scoped> +<style> @import '~@assets/less/common.less'; +.frozenRowClass { + color: #c9c9c9; + font-weight: bold; +} +.success { + color: green; +} +.error { + color: red; + font-weight: bold; +} +.yellow { + color: rgba(255, 255, 0, 0.443); + font-weight: bold; +} +.fontweight { + font-weight: bold; +} + +.ant-table-tbody .red { + background-color: red !important; +} </style> \ No newline at end of file diff --git a/src/views/eam/DailyInspectionStandardList.vue b/src/views/eam/DailyInspectionStandardList.vue index 2ba59ba..afc6879 100644 --- a/src/views/eam/DailyInspectionStandardList.vue +++ b/src/views/eam/DailyInspectionStandardList.vue @@ -92,6 +92,22 @@ 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" + v-has="'dailyInspectionStandard:batchHandleOK'" + >鎵归噺閫氳繃</a-button> + <a-button + v-show="this.selectedRowKeys.length > 0 && this.queryParam.versionStatus == '1'" + type="primary" + @click="batchHandleReject" + icon="reload" + style="margin-left: 8px" + v-has="'dailyInspectionStandard:batchHandleReject'" + >鎵归噺椹冲洖</a-button> </div> <!-- table鍖哄煙-begin --> @@ -292,11 +308,11 @@ align: 'center', dataIndex: 'teamName', }, - { - title: '娲惧伐鏂瑰紡', - align: 'center', - dataIndex: 'assignModeName', - }, + // { + // title: '娲惧伐鏂瑰紡', + // align: 'center', + // dataIndex: 'assignModeName', + // }, { title: '瀹℃牳鎰忚', align: 'center', @@ -377,7 +393,7 @@ align: 'center', fixed: 'right', scopedSlots: { customRender: 'action' }, - width: 200, + width: 230, } ], url: { @@ -386,6 +402,7 @@ deleteBatch: '/eam/inspectionStandard/deleteBatch', versionTakeEffect: "/eam/inspectionStandard/versionTakeEffect", importExcelUrl: "/eam/inspectionStandard/importExcel", + passBatch: '/eam/inspectionStandard/auditApprovalBatch', }, version: '1.0', dictOptions: {}, @@ -514,7 +531,7 @@ }, searchReset() { this.inspectionStandardId = '-1' - this.queryParam = {} + this.queryParam = { versionStatus: '2' } this.loadData(1); }, modalFormOk() { @@ -523,6 +540,99 @@ //娓呯┖鍒楄〃閫変腑 // 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; + }) + } + }); + } + }, } } diff --git a/src/views/eam/EquipmentCalibrationOrder.vue b/src/views/eam/EquipmentCalibrationOrder.vue index bdec41f..dd553bb 100644 --- a/src/views/eam/EquipmentCalibrationOrder.vue +++ b/src/views/eam/EquipmentCalibrationOrder.vue @@ -113,13 +113,23 @@ type='vertical' /> <a - v-show="record.status === '2'" + v-show="record.status === '2' && record.equipmentImportance != 'D'" @click='handleTechnologyStatus(record)' v-has="'calibrationOrder:audit'" >缁撴灉瀹℃牳</a> <a-divider - v-show="record.status === '2'" + v-show="record.status === '2' && record.equipmentImportance != 'D'" + type='vertical' + /> + <a + v-show="record.status === '2' && record.equipmentImportance == 'D'" + @click='handleTechnologyStatusAuthenticate(record)' + v-has="'calibrationOrder:authenticate'" + >D绫绘妧鏈姸鎬侀壌瀹�</a> + + <a-divider + v-show="record.status === '2' && record.equipmentImportance == 'D'" type='vertical' /> <a @click='handleDetail(record)'>璇︽儏</a> @@ -263,6 +273,11 @@ ref="EquipmentTechnologyStatusModal" @ok="modalFormOk" ></equipment-technology-status-modal> + + <technology-status-authenticate-modal + ref="TechnologyStatusAuthenticateModal" + @ok="modalFormOk" + ></technology-status-authenticate-modal> </a-card> </template> @@ -280,6 +295,7 @@ import EquipmentCalibrationOrderReportModal from './modules/equipmentCalibrationOrder/EquipmentCalibrationOrderReportModal' import EquipmentTechnologyStatusModal from './modules/equipmentCalibrationOrder/EquipmentTechnologyStatusModal' +import TechnologyStatusAuthenticateModal from './modules/equipmentCalibrationOrder/TechnologyStatusAuthenticateModal' export default { name: 'EquipmentCalibrationOrder', @@ -291,7 +307,8 @@ EquipmentCalibrationOrderReportList, EquipmentCalibrationOrderReportModal, FinalModal, - EquipmentTechnologyStatusModal + EquipmentTechnologyStatusModal, + TechnologyStatusAuthenticateModal }, data() { return { @@ -441,6 +458,13 @@ this.$refs.EquipmentTechnologyStatusModal.disableSubmit = false; }, + handleTechnologyStatusAuthenticate: function (record) { + this.$refs.TechnologyStatusAuthenticateModal.edit(record); + this.$refs.TechnologyStatusAuthenticateModal.title = "鎶�鏈姸鎬佺紪杈�"; + this.$refs.TechnologyStatusAuthenticateModal.disableSubmit = false; + + }, + handleOrderExe(record) { this.$refs.EquipmentCalibrationOrderExeDrawer.visible = true this.$refs.EquipmentCalibrationOrderExeDrawer.title = '妫�瀹氬伐鍗曟墽琛�' diff --git a/src/views/eam/modules/daily3MaintenanceOrder/DailyMaintenanceStandard3List.vue b/src/views/eam/modules/daily3MaintenanceOrder/DailyMaintenanceStandard3List.vue new file mode 100644 index 0000000..002ce38 --- /dev/null +++ b/src/views/eam/modules/daily3MaintenanceOrder/DailyMaintenanceStandard3List.vue @@ -0,0 +1,228 @@ +<template> + <a-modal + :title="title" + :width="1250" + :visible="visible" + :confirmLoading="confirmLoading" + @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.equipmentName" + ></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" + bordered + size="middle" + rowKey="id" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: 'radio'}" + @change="handleTableChange" + :customRow="clickThenCheck" + > + </a-table> + </div> + </a-form> + </a-spin> + </a-modal> +</template> + +<script> +import pick from 'lodash.pick' +import { httpAction, getAction } from '@/api/manage' +import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import JInput from '@/components/jeecg/JInput' +import JEllipsis from '@/components/jeecg/JEllipsis'//寮曞叆杩囬暱瑁佸壀 + +export default { + name: "DailyMaintenanceStandardList", + mixins: [JeecgListMixin], + components: { + JInput, + JEllipsis, + }, + data() { + return { + title: "鎿嶄綔", + visible: false, + model: {}, + confirmLoading: false, + form: this.$form.createForm(this), + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + align: 'center', + width: 40, + customRender: function (t, r, index) { + return parseInt(index) + 1 + }, + }, + { + title: '鏍囧噯缂栫爜', + align: 'center', + dataIndex: 'num', + }, + { + title: '缁熶竴缂栫爜', + align: 'center', + dataIndex: 'equipmentNum', + }, + { + title: '璁惧鍚嶇О', + align: 'center', + dataIndex: 'equipmentName', + }, + { + title: '璁惧鍨嬪彿', + align: 'center', + dataIndex: 'equipmentModel', + }, + { + title: '鐗圭璁惧', + align: 'center', + dataIndex: 'specificEquipment', + }, + ], + url: { + list: "/eam/maintenanceStandard/getMaintenanceStandard3List", + }, + useId: '', + } + }, + methods: { + searchQuery() { + this.queryParam = { type: "daily", delFlag: '0', useId: this.useId }; + this.loadData(1); + }, + searchReset() { + this.queryParam = { type: "daily", delFlag: '0', useId: this.useId }; + this.loadData(1) + }, + list(useId) { + this.visible = true; + this.useId = useId; + this.queryParam = { type: "daily", delFlag: '0', useId: useId, versionStatus: '2' }; + 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('send3MaintenanceStandardRecord', { record: that.selectedRowRecord }); + that.close(); + } else { + that.$message.error("璇烽�夋嫨淇濆吇鏍囧噯锛�") + } + } else { + that.$message.error("璇烽�夋嫨淇濆吇鏍囧噯锛�") + } + }, + handleCancel() { + this.close(); + } + } +} +</script> + +<style scoped> +@import '~@assets/less/common.less'; +rozenRowClass { + color: #c9c9c9; +} +.success { + color: green; +} +.error { + color: red; +} +.fontweight { + font-weight: bold; +} +.ant-card { + margin-left: -30px; + margin-right: -30px; +} +.fontweight { + font-weight: bold; +} +</style> \ No newline at end of file diff --git a/src/views/eam/modules/daily3MaintenanceOrder/MaintenanceOrder3Modal.vue b/src/views/eam/modules/daily3MaintenanceOrder/MaintenanceOrder3Modal.vue new file mode 100644 index 0000000..100224c --- /dev/null +++ b/src/views/eam/modules/daily3MaintenanceOrder/MaintenanceOrder3Modal.vue @@ -0,0 +1,747 @@ +<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"> + <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" + > + <a-select + :disabled="disableSubmit" + :placeholder="disableSubmit?'':'璇烽�夋嫨浣跨敤閮ㄩ棬'" + :options="this.departs" + style="width: 100%" + v-decorator="['useId', validatorRules.useId]" + @change="(e)=>handle2Change(e)" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item + label="淇濆吇鏍囧噯" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <!-- <j-dict-select-tag + allow-clear + :disabled="codeDisable" + :placeholder="disableSubmit?'':'璇烽�夋嫨淇濆吇鏍囧噯'" + :triggerChange="true" + dictCode="" + @change="(e)=>handleChange(e)" + v-decorator="['maintenanceStandardId', validatorRules.maintenanceStandardId]" + /> --> + <a-input-search + :disabled="disableSubmit" + placeholder="璇烽�夋嫨淇濆吇鏍囧噯" + enter-button + @search="onSearchMaintenanceStandard()" + :read-only="true" + v-decorator="['maintenanceStandardNum', validatorRules.maintenanceStandardNum]" + /> + </a-form-item> + </a-col> + + <a-col :span="12"> + <a-form-item + label="缁熶竴缂栫爜/鍚嶇О/鍨嬪彿" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input + allow-clear + :disabled="true" + :placeholder="disableSubmit?'':'璇疯緭鍏ョ粺涓�缂栫爜/鍚嶇О/鍨嬪彿'" + v-decorator="['equipmentNum', validatorRules.equipmentNum ]" + /> + </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?'':'璇疯緭鍏ヤ繚鍏绘爣鍑咺d'" + v-decorator="['maintenanceStandardId', validatorRules.maintenanceStandardId ]" + /> + </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?'':'璇疯緭鍏ョ粺涓�缂栫爜/鍚嶇О/鍨嬪彿'" + v-decorator="['equipmentId', validatorRules.equipmentId ]" + /> + </a-form-item> + </a-col> + </a-row> + + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item + label="淇濆吇鍛ㄦ湡" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-select + :placeholder="disableSubmit?'':'璇烽�夋嫨淇濆吇鍛ㄦ湡'" + :options="this.maintenanceCycles" + @change="(e)=>handle3Change(e)" + style="width: 100%" + :disabled="disableSubmit" + v-decorator="['maintenanceCycleId', validatorRules.maintenanceCycleId]" + /> + </a-form-item> + </a-col> + <a-col :span="12"> + <a-form-item + label="璁″垝寮�濮嬫椂闂�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date + :disabled="disableSubmit" + v-decorator="['planStartTime', validatorRules.planStartTime ]" + placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�" + style="width: 100%" + :showTime="true" + dateFormat="YYYY-MM-DD HH:mm:ss" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="24 / 2"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="娲惧伐鏂瑰紡" + > + <j-dict-select-tag + allow-clear + :disabled="true" + :placeholder="disableSubmit?'':'璇烽�夋嫨娲惧伐鏂瑰紡'" + :triggerChange="true" + dictCode="assign_mode" + v-decorator="['assignMode', validatorRules.assignMode]" + /> + </a-form-item> + </a-col> + <a-col :span="24 / 2"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="璐d换鐝粍" + > + <a-input + allow-clear + :disabled="true" + :placeholder="disableSubmit?'':'璇疯緭鍏ヨ矗浠荤彮缁�'" + v-decorator="['teamName', validatorRules.teamName ]" + /> + </a-form-item> + </a-col> + </a-row> + <a-row + hidden + :gutter="24" + > + <a-col :span="12"> + <a-form-item + label="鏈夋晥鏃堕暱" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input-number + style="width: 100%" + allow-clear + :disabled="true" + :placeholder="disableSubmit?'':'璇疯緭鍏ユ湁鏁堟椂闀�'" + v-decorator="['effectiveTime', validatorRules.effectiveTime ]" + /> + </a-form-item> + </a-col> + <a-col :span="12"> + <a-form-item + label="鏃堕棿鍗曚綅" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input + allow-clear + :disabled="true" + :placeholder="disableSubmit?'':'璇疯緭鍏ユ椂闂村崟浣�'" + v-decorator="['unit', validatorRules.unit ]" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col + v-if="!isHidden" + :span="12" + > + <a-form-item + label="璐d换浜�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input-search + :disabled="disableSubmit" + placeholder="璐d换浜�" + enter-button + @search="onDutyUserList()" + :read-only="true" + v-decorator="['maintenanceUserName', validatorRules.maintenanceUserName]" + /> + </a-form-item> + </a-col> + </a-row> + <a-row + hidden + :gutter="24" + > + <a-col :span="12"> + <a-form-item + label="璐d换鐝粍" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input + allow-clear + :disabled="true" + :placeholder="disableSubmit?'':'璇疯緭鍏ヨ矗浠荤彮缁�'" + v-decorator="['teamId', validatorRules.teamId ]" + /> + </a-form-item> + </a-col> + <a-col :span="12"> + <a-form-item + label="璐d换浜�/鐐规浜�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input + allow-clear + :disabled="true" + :placeholder="disableSubmit?'':'璇疯緭鍏ヨ矗浠讳汉/鐐规浜�'" + v-decorator="['maintenanceUserId', validatorRules.maintenanceUserId ]" + /> + </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> + <a-table + ref="table" + bordered + size="middle" + rowKey='id' + :columns="columns" + :dataSource="dataSource" + :pagination="false" + > + <!-- <span + slot="photo" + slot-scope="text,record" + > + <Tooltip + placement="top" + title="棰勮鍥剧墖" + > + <img + v-if=" record.upload.path && (record.upload.format.toLowerCase()=='jpg'||record.upload.format.toLowerCase()=='bmp'||record.upload.format.toLowerCase()=='png'||record.upload.format.toLowerCase()=='jpeg'||record.upload.format.toLowerCase()=='gif')" + width="30" + height="14" + border="1" + draggable="false" + preview="1" + :preview-text="''" + :src="record.upload.src" + /> + </Tooltip> + <a + v-if="record.upload.path && record.upload.format.toLowerCase()=='pdf'" + href="javascript:;" + @click="view(record.upload)" + > + 棰勮 + </a> + </span> --> + <template + slot="photo" + slot-scope="text,record" + > + <span + v-if="!text" + style="font-size: 12px;font-style: italic;" + >鏃犲浘鐗�</span> + <img + v-else + :src="getImgView(text)" + :preview="record.maintenanceStandardDetailId" + height="25px" + alt="" + style="max-width:80px;font-size: 12px;font-style: italic;" + /> + </template> + + <!-- <span + slot="action" + slot-scope="text, record, index" + > + <a-popconfirm + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(text,record, index)" + > + <a>鍒犻櫎</a> + </a-popconfirm> + </span> --> + </a-table> + <template slot="footer"> + <a-button + :style="{marginRight: '8px'}" + @click="handleCancel()" + > + 鍏抽棴 + </a-button> + + <a-button + @click="handleOk()" + type="primary" + :loading="confirmLoading" + :disabled="disableSubmit || confirmLoading" + >纭畾</a-button> + </template> + + <daily-maintenance-standard3-list + ref="DailyMaintenanceStandard3List" + @send3MaintenanceStandardRecord='send3MaintenanceStandardRecord' + ></daily-maintenance-standard3-list> + + <user-list + ref="UserList" + @sendDutyUserRecord='sendDutyUserRecord' + ></user-list> + </a-modal> + +</template> + +<script> +import { getAction, postAction, requestPut } from '@/api/manage' +import pick from 'lodash.pick' +import JMultiSelectTag from '@/components/dict/JMultiSelectTag' +import Tooltip from 'ant-design-vue/es/tooltip' +import DailyMaintenanceStandard3List from './DailyMaintenanceStandard3List' +import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import { preview } from 'vue-photo-preview' +import { ACCESS_TOKEN } from '@/store/mutation-types' +import Vue from 'vue' +import PdfView from '@views/common/PdfView' +import { getFileAccessHttpUrl } from '@/api/manage'; +import UserList from '.././dailyInspectionOrder/UserList' + +export default { + name: "MaintenanceOrderModal", + mixins: [JeecgListMixin], + components: { + JMultiSelectTag, + Tooltip, + PdfView, + preview, + DailyMaintenanceStandard3List, + UserList + }, + data() { + return { + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + align: 'center', + customRender: function (t, r, index) { + return parseInt(index) + 1 + }, + width: 50, + }, + { + title: '閮ㄤ綅', + align: 'center', + dataIndex: 'location' + }, + { + title: '淇濆吇椤圭洰', + align: 'center', + dataIndex: 'maintenanceProjectName' + }, + { + title: '淇濆吇鏍囧噯', + align: 'center', + dataIndex: 'standard' + }, + // { + // title: '鏂规硶', + // align: 'center', + // dataIndex: 'maintenanceMethod' + // }, + // { + // title: '宸ュ叿', + // align: 'center', + // dataIndex: 'maintenanceTool' + // }, + // { + // title: '绀烘剰鍥�', + // align: 'center', + // dataIndex: 'photo', + // scopedSlots: { customRender: 'photo' } + // }, + // { + // title: '缁翠繚涓撲笟', + // align: 'center', + // dataIndex: 'maintenanceSpecialty', + // }, + ], + title: "鎿嶄綔", + visible: false, + disableSubmit: false, + codeDisable: true, + isHidden: true, + dataSource: [], + model: {}, + departs: [], + maintenanceCycles: [], + 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: '璇疯緭鍏ヤ繚鍏诲伐鍗曠紪鐮�!' }, + ] + }, + useId: { + rules: [ + { required: false, message: '璇烽�夋嫨浣跨敤閮ㄩ棬!' }, + ] + }, + maintenanceCycleId: { + rules: [ + { required: true, message: '璇烽�夋嫨淇濆吇鍛ㄦ湡!' }, + ] + }, + maintenanceStandardNum: { + rules: [ + { required: true, message: '璇烽�夋嫨淇濆吇鏍囧噯!' }, + ] + }, + equipmentNum: { + rules: [ + { required: true, message: '璇烽�夋嫨璁惧!' }, + ] + }, + maintenanceUserName: { + rules: [ + { required: true, message: '璇风淮鎶よ矗浠讳汉!' }, + ] + }, + assignMode: { + rules: [ + { required: true, message: '璇风淮鎶ゆ淳宸ユ柟寮�!' }, + ] + }, + teamName: { + rules: [ + { required: true, message: '璇风淮鎶よ矗浠荤彮缁�!' }, + ] + }, + planStartTime: { + rules: [ + { required: true, message: '璇风淮鎶よ鍒掑紑濮嬫椂闂�!' }, + ] + } + }, + url: { + add: "/eam/dailyMaintenanceOrder/add", + edit: "/eam/dailyMaintenanceOrder/edit", + getCycleByStandardId: "/eam/dailyMaintenanceOrder/getMaintenanceCycleByStandardId", + getMaintenanceProjectList: "/eam/dailyMaintenanceOrder/getMaintenanceProjectId", + getSysDeparts: "/eam/dailyMaintenanceOrder/getSysDeparts", + list: "/eam/dailyMaintenanceOrder/getMaintenanceCycleByStandardId", + getNum: '/eam/sysIdentity/getNumNew' + }, + + } + }, + + methods: { + add() { + this.edit({}) + this.getSeq() + }, + + edit(record) { + let that = this; + this.getSysDeparts() + this.form.resetFields(); + this.model = Object.assign({}, record); + this.visible = true; + this.maintenanceCycles = record.maintenanceCycles + if (record.dailyMaintenanceDetails != undefined) { + const temp = [...record.dailyMaintenanceDetails]; + that.dataSource = temp; + // for (let i = 0; i < temp.length; i++) { + // let r = temp[i].upload; + // r.src = this.getSrc(temp[i].upload); + // } + } + that.$nextTick(() => { + that.form.setFieldsValue(pick(that.model, 'num', 'useId', 'maintenanceStandardNum', + 'effectiveTime', 'equipmentNum', 'maintenanceStandardId', 'equipmentId', 'maintenanceCycleId', + 'planStartTime', 'assignMode', 'teamName', 'unit', 'teamId', 'remark')); + }); + if (record.id) { + if ("3" == record.assignMode) { + this.isHidden = false + } else { + this.isHidden = true + } + this.codeDisable = true; + } else { + this.isHidden = true + this.codeDisable = false; + } + }, + + onDutyUserList() { + let data = this.form.getFieldsValue(['teamId']); + if (data.teamId == null || data.teamId == "") { + this.$message.warning("璇峰厛缁存姢鐝粍锛�"); + return + } + this.$refs.UserList.list(data.teamId); + this.$refs.UserList.title = "閫夋嫨浜哄憳"; + }, + sendDutyUserRecord(data) { + let record = data.record; + this.form.setFieldsValue({ maintenanceUserId: record.id, maintenanceUserName: record.username + "/" + record.realname }); + }, + + 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.dailyMaintenanceOrderDetails = that.dataSource; + let obj; + if (!this.model.id) { + 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); + }, + + onSearchMaintenanceStandard() { + let data = this.form.getFieldsValue(['useId']); + // if (data.useId == null || data.useId == "") { + // this.$message.warning("璇峰厛閫夋嫨浣跨敤閮ㄩ棬!"); + // return + // } + this.$refs.DailyMaintenanceStandard3List.list(data.useId); + this.$refs.DailyMaintenanceStandard3List.title = "閫夋嫨鏃ュ父淇濆吇鏍囧噯"; + }, + send3MaintenanceStandardRecord(data) { + let record = data.record; + this.form.setFieldsValue({ equipmentId: record.equipmentId, maintenanceStandardId: record.id, equipmentNum: record.equipmentNum, maintenanceStandardNum: record.num, maintenanceCycleId: null }); + this.form.setFieldsValue({ assignMode: record.assignMode, teamId: record.teamId, teamName: record.teamName }); + this.getCycleByStandardId(record.id); + if ("3" == record.assignMode) { + this.isHidden = false + } else { + this.isHidden = true + } + }, + + getCycleByStandardId(maintenanceStandardId) { + getAction(this.url.getCycleByStandardId, { maintenanceStandardId: maintenanceStandardId }).then((res) => { + if (res.success) { + this.maintenanceCycles = res.result + this.dataSource = []; + } + }) + }, + + getSysDeparts() { + getAction(this.url.getSysDeparts).then((res) => { + if (res.success) { + this.departs = res.result + } + }) + }, + + getSeq() { + getAction(this.url.getNum, { type: 'MaintenanceOrder', length: 4 }).then(res => { + if (res.success) { + this.form.setFieldsValue({ "num": res.result }) + } + }) + }, + + handle3Change(val) { + let data = this.form.getFieldsValue(['maintenanceStandardId']); + getAction(this.url.getMaintenanceProjectList, { maintenanceStandardId: data.maintenanceStandardId, maintenanceCycleId: val }).then((res) => { + if (res.success) { + this.dataSource = res.result; + if (res.result.length == 0) { + this.form.setFieldsValue({ "effectiveTime": null, "unit": null }) + } else { + this.form.setFieldsValue({ "effectiveTime": res.result[0].effectiveTime, "unit": res.result[0].unit }) + } + } + }) + }, + + + handle2Change(val) { + this.maintenanceCycles = []; + this.dataSource = []; + this.form.setFieldsValue({ equipmentId: null, maintenanceStandardId: null, equipmentNum: null, maintenanceStandardNum: null, maintenanceCycleId: null }) + }, + + // 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 == 'inspectionCycleId') { + // target[column.dataIndex] = 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> \ No newline at end of file diff --git a/src/views/eam/modules/daily3MaintenanceOrder/TechnologyStatusAuthenticateModal.vue b/src/views/eam/modules/daily3MaintenanceOrder/TechnologyStatusAuthenticateModal.vue new file mode 100644 index 0000000..1290a4a --- /dev/null +++ b/src/views/eam/modules/daily3MaintenanceOrder/TechnologyStatusAuthenticateModal.vue @@ -0,0 +1,632 @@ +<template> + <a-modal + :width="800" + :visible="visible" + :maskClosable="false" + @ok="handleOk" + cancelText="鍏抽棴" + @cancel="handleCancel" + :confirmLoading="confirmLoading" + title="闄勫綍3" + > + <span + class="ant-descriptions-title" + style="font-size: large;font-size: 15px;float: right;" + >{{this.model.receiptsNum}}</span> + + <a-divider + orientation="center" + style="font-size: large;font-style: normal;font-size: 30px;color: #66aeed;" + > {{this.model.receiptsName}} </a-divider> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item + label="浣跨敤鍗曚綅" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + style="font-size: large;font-style: normal;font-size: 15px;" + > + {{this.model.departName}} + </a-form-item> + </a-col> + <a-col :span="12"> + <a-form-item + label="妫�鏌ユ棩鏈�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + {{this.model.updateTime}} + </a-form-item> + </a-col> + </a-row> + <div> + <div :style="{height: '45px',float: 'left',width: '15%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >璁惧鍚嶇О</span> + </div> + <div :style="{height: '45px',float: 'left',width: '19%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >{{this.model.equipmentName}}</span> + </div> + <div :style="{height: '45px',float: 'left',width: '15%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >璁惧鍨嬪彿</span> + </div> + <div :style="{height: '45px',float: 'left',width: '18%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >{{this.model.equipmentModel}}</span> + </div> + <div :style="{height: '45px',float: 'left',width: '15%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >缁熶竴缂栧彿</span> + </div> + <div :style="{height: '45px',float: 'left',width: '18%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >{{this.model.equipmentNum}}</span> + </div> + + </div> + <div> + <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >妫�鏌ラ儴浣�</span> + </div> + <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >妫�鏌ユ爣鍑�</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >妫�鏌ョ粨鏋�(鍚堟牸/涓嶅悎鏍�)</span> + </div> + </div> + + <div> + <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >鎿嶇旱鎵嬫焺鍙婂紑鍏�</span> + </div> + <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >瀹夊叏銆佹棤鐮存崯</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <a-switch + checked-children="鍚堟牸" + un-checked-children="涓嶅悎鏍�" + :checked="model.result_1 == '0'" + @change="handleSwitch(model.result_1)" + /> + </div> + </div> + <div> + <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >浼犲姩绯荤粺</span> + </div> + <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >鐏垫椿銆佹棤寮傚搷</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <a-switch + checked-children="鍚堟牸" + un-checked-children="涓嶅悎鏍�" + :checked="model.result_2 == '0'" + @change="handle2Switch(model.result_2)" + /> + </div> + </div> + <div> + <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >瀹夊叏瑁呯疆</span> + </div> + <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >瀹夊叏銆佺伒鏁忋�佸彲闈�</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <a-switch + checked-children="鍚堟牸" + un-checked-children="涓嶅悎鏍�" + :checked="model.result_3 == '0'" + @change="handle3Switch(model.result_3)" + /> + </div> + </div> + <div> + <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >璁惧澶栬</span> + </div> + <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >鏁存磥</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <a-switch + checked-children="鍚堟牸" + un-checked-children="涓嶅悎鏍�" + :checked="model.result_4 == '0'" + @change="handle4Switch(model.result_4)" + /> + </div> + </div> + <div> + <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >鐢垫皵绾胯矾</span> + </div> + <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >绾胯矾鏁撮綈銆佹帴绾挎纭�</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <a-switch + checked-children="鍚堟牸" + un-checked-children="涓嶅悎鏍�" + :checked="model.result_5 == '0'" + @change="handle5Switch(model.result_5)" + /> + </div> + </div> + <div> + <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >妫�鏌ュ悇绱у浐瑁呯疆</span> + </div> + <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >鏃犳澗鍔�</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <a-switch + checked-children="鍚堟牸" + un-checked-children="涓嶅悎鏍�" + :checked="model.result_6 == '0'" + @change="handle6Switch(model.result_6)" + /> + + </div> + </div> + <div> + <div :style="{height: '45px',float: 'left',width: '70%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;float: center" + >鏄惁婊¤冻鐢熶骇鍔犲伐瑕佹眰</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + + <a-switch + checked-children="鍚堟牸" + un-checked-children="涓嶅悎鏍�" + :checked="model.result_7 == '0'" + @change="handle7Switch(model.result_7)" + /> + </div> + </div> + <div> + <div :style="{height: '130px',float: 'left',width: '100%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item + style="font-size: large;font-style: normal;font-size: 15px;" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="閴村畾缁撹" + > + <j-dict-select-tag + style="font-size: large;font-style: normal;font-size: 15px;width: 100%" + allow-clear + :triggerChange="true" + dictCode="technology_status" + v-model="model.technologyStatus" + /> + <!-- :placeholder="璇烽�夋嫨閴村畾缁撹" --> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="12"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + > 閴村畾浜哄憳绛惧瓧锛� </span> + <span v-if="this.model != null">{{ this.model.appraiser }}</span> + <span v-else>-</span> + </a-col> + <a-col :span="12"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + > 鍗曚綅棰嗗绛惧瓧: </span> + <span v-if="this.model != null">{{ this.model.leadership }}</span> + <span v-else>-</span> + </a-col> + </a-row> + </div> + </div> + + <template slot="footer"> + <a-button + :style="{marginRight: '8px'}" + @click="handleCancel()" + > + 鍏抽棴 + </a-button> + + <a-button + @click="handleOk1('1')" + type="primary" + :loading="confirmLoading" + :disabled="disableSubmit || confirmLoading" + v-has="'technologyStatusAuthenticate:admin'" + >纭畾</a-button> + <a-button + @click="handleOk2('2')" + type="primary" + :loading="confirmLoading" + :disabled="disableSubmit || confirmLoading" + v-has="'technologyStatusAuthenticate:appraiser'" + >纭畾</a-button> + <a-button + @click="handleOk3('3')" + type="primary" + :loading="confirmLoading" + :disabled="disableSubmit || confirmLoading" + v-has="'technologyStatusAuthenticate:leadership'" + >纭畾</a-button> + </template> + </a-modal> + +</template> + +<script> +import { getAction, postAction, requestPut } from '@/api/manage' +import pick from 'lodash.pick' +import JMultiSelectTag from '@/components/dict/JMultiSelectTag' +import Tooltip from 'ant-design-vue/es/tooltip' +// import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import { ACCESS_TOKEN } from '@/store/mutation-types' +import { getFileAccessHttpUrl } from '@/api/manage'; + +export default { + name: "StoveCategoryModal", + // mixins: [JeecgListMixin], + components: { + JMultiSelectTag, + Tooltip, + }, + data() { + return { + title: "鎿嶄綔", + visible: false, + disableSubmit: false, + codeDisable: true, + dataSource: [], + 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: '璇疯緭鍏ヤ繚鍏诲伐鍗曠紪鐮�!' }, + ] + }, + }, + url: { + add: "/eam/technologyStatus/technologyStatusAuthenticate", + getTechnologyStatus: "/eam/technologyStatus/getTechnologyStatus", + list: "/eam/dailyMaintenanceOrder/getMaintenanceCycleByStandardId", + }, + + } + }, + + methods: { + + edit(record) { + let that = this; + this.form.resetFields(); + this.model = Object.assign({}, record); + this.getTechnologyStatus() + this.visible = true; + that.$nextTick(() => { + // that.form.setFieldsValue(pick(that.model, 'num', 'teamId', 'remark')); + }); + + }, + + + close() { + this.$emit('close'); + this.visible = false; + }, + + handleCancel() { + this.close(); + }, + + handleOk1(arg) { + if (this.model.technologyStatus == "" || this.model.technologyStatus == null) { + this.$message.warning("璇峰厛缁存姢閴村畾缁撹锛�"); + return + } + this.handleOk(arg); + }, + handleOk2(arg) { + this.handleOk(arg); + }, + handleOk3(arg) { + if (this.model.technologyStatus == "" || this.model.technologyStatus == null) { + this.$message.warning("璇峰厛缁存姢閴村畾缁撹锛�"); + return + } + this.handleOk(arg); + }, + + handleOk(arg) { + + const that = this; + // 瑙﹀彂琛ㄥ崟楠岃瘉 + that.form.validateFields((err, values) => { + if (!err) { + this.$confirm({ + title: '鐢熶骇璁惧鎶�鏈姸鎬侀壌瀹氱‘璁�', + content: '鎻愮ず锛氳璋ㄦ厧鎿嶄綔锛�', + okText: '纭', + cancelText: '鍙栨秷', + onOk() { + let formData = Object.assign(that.model, values); + if (arg == '1') {//绠$悊鍛� + formData.flag = "1" + } else if (arg == '2') {//閴村畾浜哄憳 + formData.flag = "2" + } else {//棰嗗 + formData.flag = "3" + } + that.confirmLoading = true; + postAction(that.url.add, formData).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(); + }) + }, + }) + } + }) + }, + + handleDelete(text, record, index) { + this.dataSource.splice(index, 1); + }, + + getTechnologyStatus() { + getAction(this.url.getTechnologyStatus, { orderId: this.model.id }).then((res) => { + if (res.success) { + this.model = Object.assign(this.model, res.result[0]); + } + }) + }, + + handleSwitch(result_1) { + if ('0' == result_1) { + this.model.result_1 = '1' + } else { + this.model.result_1 = '0' + } + + this.model = Object.assign({}, this.model); + }, + + handle2Switch(result_2) { + if ('0' == result_2) { + this.model.result_2 = '1' + } else { + this.model.result_2 = '0' + } + this.model = Object.assign({}, this.model); + }, + + handle3Switch(result_3) { + if ('0' == result_3) { + this.model.result_3 = '1' + } else { + this.model.result_3 = '0' + } + this.model = Object.assign({}, this.model); + }, + + handle4Switch(result_4) { + if ('0' == result_4) { + this.model.result_4 = '1' + } else { + this.model.result_4 = '0' + } + this.model = Object.assign({}, this.model); + }, + + handle5Switch(result_5) { + if ('0' == result_5) { + this.model.result_5 = '1' + } else { + this.model.result_5 = '0' + } + this.model = Object.assign({}, this.model); + }, + + handle6Switch(result_6) { + if ('0' == result_6) { + this.model.result_6 = '1' + } else { + this.model.result_6 = '0' + } + this.model = Object.assign({}, this.model); + }, + + handle7Switch(result_7) { + if ('0' == result_7) { + this.model.result_7 = '1' + } else { + this.model.result_7 = '0' + } + this.model = Object.assign({}, this.model); + }, + + + + // handle21Switch(result_21) { + // if ('0' == result_21) { + // this.model.result_21 = '1' + // this.disabled22Switch = true + // } else { + // this.model.result_21 = '0' + // this.disabled22Switch = false + // } + // this.model = Object.assign({}, this.model); + // }, + + // handle22Switch(result_22) { + // if ('0' == result_22) { + // this.model.result_22 = '1' + // this.disabled21Switch = true + // } else { + // this.model.result_22 = '0' + // this.disabled21Switch = false + // } + // this.model = Object.assign({}, this.model); + // }, + + + // onChangeJudgmentResult(e) { + // this.model.judgmentResult = e.target.value + // }, + + // handleChange(value, key, column, index) { + // let that = this; + // const temp = [...that.dataSource]; + // const target = temp.filter(item => key === item.key)[index]; + // if (target) { + // if ('actualMeasure' == column.dataIndex) { + // target['actualMeasure'] = 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; +} +.hightColor { + height: 10%; + font-weight: bold; + font-size: 20px; + color: #1b1e1e; +} +.frozenRowClass { + color: #c9c9c9; +} +.fontweight { + font-weight: bold; +} +.hight { + color: #f5222d; +} +/deep/ .red { + color: red; +} + +.line { + width: 1px; + height: 300px; + background-color: #000; + border: none; + float: left; +} +</style> \ No newline at end of file diff --git a/src/views/eam/modules/dailyInspectionStandard/DailyInspectionStandardDetail.vue b/src/views/eam/modules/dailyInspectionStandard/DailyInspectionStandardDetail.vue index d9aca3e..9014edc 100644 --- a/src/views/eam/modules/dailyInspectionStandard/DailyInspectionStandardDetail.vue +++ b/src/views/eam/modules/dailyInspectionStandard/DailyInspectionStandardDetail.vue @@ -109,12 +109,12 @@ align: "center", dataIndex: 'location', }, - { - title: '绀烘剰鍥�', - align: "center", - dataIndex: 'photo', - scopedSlots: { customRender: 'photo' }, - }, + // { + // title: '绀烘剰鍥�', + // align: "center", + // dataIndex: 'photo', + // scopedSlots: { customRender: 'photo' }, + // }, { title: '鐐规椤圭洰', align: "center", diff --git a/src/views/eam/modules/dailyInspectionStandard/DailylnspectionStandardModal.vue b/src/views/eam/modules/dailyInspectionStandard/DailylnspectionStandardModal.vue index 6126aad..b2f3d01 100644 --- a/src/views/eam/modules/dailyInspectionStandard/DailylnspectionStandardModal.vue +++ b/src/views/eam/modules/dailyInspectionStandard/DailylnspectionStandardModal.vue @@ -129,7 +129,7 @@ </a-col> --> </a-row> <a-row :gutter="24"> - <a-col :span="12"> + <!-- <a-col :span="12"> <a-form-item label="娲惧伐鏂瑰紡" :labelCol="labelCol" @@ -144,7 +144,7 @@ v-decorator="['assignMode', validatorRules.assignMode]" /> </a-form-item> - </a-col> + </a-col> --> <a-col :span="12"> <a-form-item label="鐗堟湰" @@ -226,7 +226,7 @@ style="width: 100%" :disabled="false" /> - <j-image-upload + <!-- <j-image-upload :value="text" v-if="col.dataIndex == 'photo'" :isMultiple="false" @@ -234,7 +234,7 @@ placeholder="璇蜂笂浼犲浘鐗�" @change="(e)=>handleChange(e, record.key, col, index)" > - </j-image-upload> + </j-image-upload> --> <a-input :value="text" v-if="col.dataIndex == 'location'" @@ -352,13 +352,13 @@ scopedSlots: { customRender: 'inspectionCycleId' }, width: 170, }, - { - title: '绀烘剰鍥�', - align: 'center', - dataIndex: 'photo', - scopedSlots: { customRender: 'photo' }, - width: 170, - }, + // { + // title: '绀烘剰鍥�', + // align: 'center', + // dataIndex: 'photo', + // scopedSlots: { customRender: 'photo' }, + // width: 170, + // }, { title: '閮ㄤ綅', align: 'center', diff --git a/src/views/eam/modules/dailyMaintenanceOrder/MaintenanceOrderModal.vue b/src/views/eam/modules/dailyMaintenanceOrder/MaintenanceOrderModal.vue index 968d2a2..a5c51b5 100644 --- a/src/views/eam/modules/dailyMaintenanceOrder/MaintenanceOrderModal.vue +++ b/src/views/eam/modules/dailyMaintenanceOrder/MaintenanceOrderModal.vue @@ -488,7 +488,7 @@ }, useId: { rules: [ - { required: true, message: '璇烽�夋嫨浣跨敤閮ㄩ棬!' }, + { required: false, message: '璇烽�夋嫨浣跨敤閮ㄩ棬!' }, ] }, maintenanceCycleId: { @@ -636,10 +636,10 @@ onSearchMaintenanceStandard() { let data = this.form.getFieldsValue(['useId']); - if (data.useId == null || data.useId == "") { - this.$message.warning("璇峰厛閫夋嫨浣跨敤閮ㄩ棬!"); - return - } + // if (data.useId == null || data.useId == "") { + // this.$message.warning("璇峰厛閫夋嫨浣跨敤閮ㄩ棬!"); + // return + // } this.$refs.DailyMaintenanceStandardList.list(data.useId); this.$refs.DailyMaintenanceStandardList.title = "閫夋嫨鏃ュ父淇濆吇鏍囧噯"; }, diff --git a/src/views/eam/modules/equipmentCalibrationOrder/EquipmentTechnologyStatusModal.vue b/src/views/eam/modules/equipmentCalibrationOrder/EquipmentTechnologyStatusModal.vue index 98c2fdb..0f43c35 100644 --- a/src/views/eam/modules/equipmentCalibrationOrder/EquipmentTechnologyStatusModal.vue +++ b/src/views/eam/modules/equipmentCalibrationOrder/EquipmentTechnologyStatusModal.vue @@ -164,7 +164,7 @@ }, judgmentResult: { rules: [ - { required: true, message: '璇烽�夋嫨鎶�鏈姸鎬�!' }, + { required: false, message: '璇烽�夋嫨鎶�鏈姸鎬�!' }, ] }, }, diff --git a/src/views/eam/modules/equipmentCalibrationOrder/TechnologyStatusAuthenticateModal.vue b/src/views/eam/modules/equipmentCalibrationOrder/TechnologyStatusAuthenticateModal.vue new file mode 100644 index 0000000..2e8af12 --- /dev/null +++ b/src/views/eam/modules/equipmentCalibrationOrder/TechnologyStatusAuthenticateModal.vue @@ -0,0 +1,591 @@ +<template> + <a-modal + :width="800" + :visible="visible" + :maskClosable="false" + @ok="handleOk" + cancelText="鍏抽棴" + @cancel="handleCancel" + :confirmLoading="confirmLoading" + title="闄勫綍3" + > + <span + class="ant-descriptions-title" + style="font-size: large;font-size: 15px;float: right;" + >{{this.model.receiptsNum}}</span> + + <a-divider + orientation="center" + style="font-size: large;font-style: normal;font-size: 30px;color: #66aeed;" + > {{this.model.receiptsName}} </a-divider> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item + label="浣跨敤鍗曚綅" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + style="font-size: large;font-style: normal;font-size: 15px;" + > + {{this.model.useDepartName}} + </a-form-item> + </a-col> + <a-col :span="12"> + <a-form-item + label="妫�鏌ユ棩鏈�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + {{this.model.updateTime}} + </a-form-item> + </a-col> + </a-row> + <div> + <div :style="{height: '45px',float: 'left',width: '15%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >璁惧鍚嶇О</span> + </div> + <div :style="{height: '45px',float: 'left',width: '19%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >{{this.model.equipmentName}}</span> + </div> + <div :style="{height: '45px',float: 'left',width: '15%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >璁惧鍨嬪彿</span> + </div> + <div :style="{height: '45px',float: 'left',width: '18%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >{{this.model.equipmentModel}}</span> + </div> + <div :style="{height: '45px',float: 'left',width: '15%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >缁熶竴缂栧彿</span> + </div> + <div :style="{height: '45px',float: 'left',width: '18%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >{{this.model.equipmentNum}}</span> + </div> + + </div> + <div> + <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >妫�鏌ラ儴浣�</span> + </div> + <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >妫�鏌ユ爣鍑�</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >妫�鏌ョ粨鏋�(鍚堟牸/涓嶅悎鏍�)</span> + </div> + </div> + + <div> + <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >鎿嶇旱鎵嬫焺鍙婂紑鍏�</span> + </div> + <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >瀹夊叏銆佹棤鐮存崯</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <a-switch + checked-children="鍚堟牸" + un-checked-children="涓嶅悎鏍�" + :checked="model.result_1 == '0'" + @change="handleSwitch(model.result_1)" + /> + </div> + </div> + <div> + <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >浼犲姩绯荤粺</span> + </div> + <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >鐏垫椿銆佹棤寮傚搷</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <a-switch + checked-children="鍚堟牸" + un-checked-children="涓嶅悎鏍�" + :checked="model.result_2 == '0'" + @change="handle2Switch(model.result_2)" + /> + </div> + </div> + <div> + <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >瀹夊叏瑁呯疆</span> + </div> + <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >瀹夊叏銆佺伒鏁忋�佸彲闈�</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <a-switch + checked-children="鍚堟牸" + un-checked-children="涓嶅悎鏍�" + :checked="model.result_3 == '0'" + @change="handle3Switch(model.result_3)" + /> + </div> + </div> + <div> + <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >璁惧澶栬</span> + </div> + <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >鏁存磥</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <a-switch + checked-children="鍚堟牸" + un-checked-children="涓嶅悎鏍�" + :checked="model.result_4 == '0'" + @change="handle4Switch(model.result_4)" + /> + </div> + </div> + <div> + <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >鐢垫皵绾胯矾</span> + </div> + <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >绾胯矾鏁撮綈銆佹帴绾挎纭�</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <a-switch + checked-children="鍚堟牸" + un-checked-children="涓嶅悎鏍�" + :checked="model.result_5 == '0'" + @change="handle5Switch(model.result_5)" + /> + </div> + </div> + <div> + <div :style="{height: '45px',float: 'left',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >妫�鏌ュ悇绱у浐瑁呯疆</span> + </div> + <div :style="{height: '45px',float: 'left',width: '40%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + >鏃犳澗鍔�</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <a-switch + checked-children="鍚堟牸" + un-checked-children="涓嶅悎鏍�" + :checked="model.result_6 == '0'" + @change="handle6Switch(model.result_6)" + /> + + </div> + </div> + <div> + <div :style="{height: '45px',float: 'left',width: '70%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;float: center" + >鏄惁婊¤冻鐢熶骇鍔犲伐瑕佹眰</span> + </div> + <div :style="{height: '45px',float: 'right',width: '30%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + + <a-switch + checked-children="鍚堟牸" + un-checked-children="涓嶅悎鏍�" + :checked="model.result_7 == '0'" + @change="handle7Switch(model.result_7)" + /> + </div> + </div> + <div> + <div :style="{height: '130px',float: 'left',width: '100%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}"> + + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item + style="font-size: large;font-style: normal;font-size: 15px;" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="閴村畾缁撹" + > + <j-dict-select-tag + style="width: 100%" + allow-clear + :triggerChange="true" + dictCode="technology_status" + v-model="model.technologyStatus" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="12"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + > 閴村畾浜哄憳绛惧瓧锛� </span> + <span v-if="this.model != null">{{ this.model.appraiser }}</span> + <span v-else>-</span> + </a-col> + <a-col :span="12"> + <span + class="ant-descriptions-title" + style="font-size: large;font-style: normal;font-size: 15px;" + > 鍗曚綅棰嗗绛惧瓧: </span> + <span v-if="this.model != null">{{ this.model.leadership }}</span> + <span v-else>-</span> + </a-col> + </a-row> + </div> + </div> + + <template slot="footer"> + <a-button + :style="{marginRight: '8px'}" + @click="handleCancel()" + > + 鍏抽棴 + </a-button> + + <a-button + @click="handleOk1('1')" + type="primary" + :loading="confirmLoading" + :disabled="disableSubmit || confirmLoading" + v-has="'calibrationOrder:admin'" + >纭畾</a-button> + <a-button + @click="handleOk2('2')" + type="primary" + :loading="confirmLoading" + :disabled="disableSubmit || confirmLoading" + v-has="'calibrationOrder:appraiser'" + >纭畾</a-button> + <a-button + @click="handleOk3('3')" + type="primary" + :loading="confirmLoading" + :disabled="disableSubmit || confirmLoading" + v-has="'calibrationOrder:leadership'" + >纭畾</a-button> + </template> + </a-modal> + +</template> + +<script> +import { getAction, postAction, requestPut } from '@/api/manage' +import pick from 'lodash.pick' +import JMultiSelectTag from '@/components/dict/JMultiSelectTag' +import Tooltip from 'ant-design-vue/es/tooltip' +// import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import { ACCESS_TOKEN } from '@/store/mutation-types' +import { getFileAccessHttpUrl } from '@/api/manage'; + +export default { + name: "StoveCategoryModal", + // mixins: [JeecgListMixin], + components: { + JMultiSelectTag, + Tooltip, + }, + data() { + return { + title: "鎿嶄綔", + visible: false, + disableSubmit: false, + codeDisable: true, + dataSource: [], + 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: '璇疯緭鍏ヤ繚鍏诲伐鍗曠紪鐮�!' }, + ] + }, + }, + url: { + add: "/eam/technologyStatus/technologyStatusAuthenticateD", + getTechnologyStatus: "/eam/technologyStatus/getTechnologyStatus", + list: "/eam/dailyMaintenanceOrder/getMaintenanceCycleByStandardId", + }, + + } + }, + + methods: { + + edit(record) { + let that = this; + this.form.resetFields(); + this.model = Object.assign({}, record); + this.getTechnologyStatus() + this.visible = true; + that.$nextTick(() => { + // that.form.setFieldsValue(pick(that.model, 'num', 'teamId', 'remark')); + }); + + }, + + + close() { + this.$emit('close'); + this.visible = false; + }, + + handleCancel() { + this.close(); + }, + + handleOk1(arg) { + if (this.model.technologyStatus == "" || this.model.technologyStatus == null) { + this.$message.warning("璇峰厛缁存姢閴村畾缁撹锛�"); + return + } + console.log(this.model) + this.handleOk(arg); + }, + handleOk2(arg) { + this.handleOk(arg); + }, + handleOk3(arg) { + if (this.model.technologyStatus == "" || this.model.technologyStatus == null) { + this.$message.warning("璇峰厛缁存姢閴村畾缁撹锛�"); + return + } + this.handleOk(arg); + }, + + handleOk(arg) { + + const that = this; + // 瑙﹀彂琛ㄥ崟楠岃瘉 + that.form.validateFields((err, values) => { + if (!err) { + this.$confirm({ + title: '鐢熶骇璁惧鎶�鏈姸鎬侀壌瀹氱‘璁�', + content: '鎻愮ず锛氳璋ㄦ厧鎿嶄綔锛�', + okText: '纭', + cancelText: '鍙栨秷', + onOk() { + let formData = Object.assign(that.model, values); + if (arg == '1') {//绠$悊鍛� + formData.flag = "1" + } else if (arg == '2') {//閴村畾浜哄憳 + formData.flag = "2" + } else {//棰嗗 + formData.flag = "3" + } + that.confirmLoading = true; + postAction(that.url.add, formData).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(); + }) + }, + }) + } + }) + }, + + handleDelete(text, record, index) { + this.dataSource.splice(index, 1); + }, + + getTechnologyStatus() { + getAction(this.url.getTechnologyStatus, { orderId: this.model.id }).then((res) => { + if (res.success) { + this.model = Object.assign(this.model, res.result[0]); + this.model = Object.assign({}, this.model); + } + }) + }, + + handleSwitch(result_1) { + if ('0' == result_1) { + this.model.result_1 = '1' + } else { + this.model.result_1 = '0' + } + + this.model = Object.assign({}, this.model); + }, + + handle2Switch(result_2) { + if ('0' == result_2) { + this.model.result_2 = '1' + } else { + this.model.result_2 = '0' + } + this.model = Object.assign({}, this.model); + }, + + handle3Switch(result_3) { + if ('0' == result_3) { + this.model.result_3 = '1' + } else { + this.model.result_3 = '0' + } + this.model = Object.assign({}, this.model); + }, + + handle4Switch(result_4) { + if ('0' == result_4) { + this.model.result_4 = '1' + } else { + this.model.result_4 = '0' + } + this.model = Object.assign({}, this.model); + }, + + handle5Switch(result_5) { + if ('0' == result_5) { + this.model.result_5 = '1' + } else { + this.model.result_5 = '0' + } + this.model = Object.assign({}, this.model); + }, + + handle6Switch(result_6) { + if ('0' == result_6) { + this.model.result_6 = '1' + } else { + this.model.result_6 = '0' + } + this.model = Object.assign({}, this.model); + }, + + handle7Switch(result_7) { + if ('0' == result_7) { + this.model.result_7 = '1' + } else { + this.model.result_7 = '0' + } + this.model = Object.assign({}, this.model); + }, + + }, +} +</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; +} +.hightColor { + height: 10%; + font-weight: bold; + font-size: 20px; + color: #1b1e1e; +} +.frozenRowClass { + color: #c9c9c9; +} +.fontweight { + font-weight: bold; +} +.hight { + color: #f5222d; +} +/deep/ .red { + color: red; +} + +.line { + width: 1px; + height: 300px; + background-color: #000; + border: none; + float: left; +} +</style> \ No newline at end of file diff --git a/src/views/eam/modules/inspectionProject/InspectionProjectRight.vue b/src/views/eam/modules/inspectionProject/InspectionProjectRight.vue index 4a56fb1..c72aba8 100644 --- a/src/views/eam/modules/inspectionProject/InspectionProjectRight.vue +++ b/src/views/eam/modules/inspectionProject/InspectionProjectRight.vue @@ -101,7 +101,7 @@ :loading="loading" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" @change="handleTableChange" - :scroll="{ x: 'calc(1000px + 50%)', y: 900 }" + :scroll="{ x: 'calc(600px + 50%)', y: 900 }" > <!--瀛楃涓茶秴闀挎埅鍙栫渷鐣ュ彿鏄剧ず--> <span @@ -309,27 +309,27 @@ // align: "center", // dataIndex: 'inspectionTool', // }, - { - title: '鍒涘缓浜�', - align: "center", - dataIndex: 'createBy', - }, - { - title: '鍒涘缓鏃堕棿', - align: "center", - dataIndex: 'createTime', - }, + // { + // title: '鍒涘缓浜�', + // align: "center", + // dataIndex: 'createBy', + // }, + // { + // title: '鍒涘缓鏃堕棿', + // align: "center", + // dataIndex: 'createTime', + // }, { title: '鎿嶄綔', dataIndex: 'action', align: 'center', + width: 150, scopedSlots: { customRender: 'action' }, - fixed: 'right', }, - // width: 150, + // fixed: 'right', ], url: { list: '/eam/inspectionProject/list', diff --git a/src/views/eam/modules/siteAreaLine/SiteAreaLineLeft.vue b/src/views/eam/modules/siteAreaLine/SiteAreaLineLeft.vue index b41e5ab..f72d9fe 100644 --- a/src/views/eam/modules/siteAreaLine/SiteAreaLineLeft.vue +++ b/src/views/eam/modules/siteAreaLine/SiteAreaLineLeft.vue @@ -216,7 +216,7 @@ } }, mounted() { - this.$bus.$on('queryTreeData', this.queryTreeData); + this.$bus.$on('queryAreaTreeData', this.queryTreeData); }, //鐩戝惉 watch: { diff --git a/src/views/eam/modules/siteAreaLine/SiteAreaLineModel.vue b/src/views/eam/modules/siteAreaLine/SiteAreaLineModel.vue index d54abed..71a4f2a 100644 --- a/src/views/eam/modules/siteAreaLine/SiteAreaLineModel.vue +++ b/src/views/eam/modules/siteAreaLine/SiteAreaLineModel.vue @@ -251,7 +251,7 @@ }, watch: { alterFlag() { - this.$bus.$emit('queryTreeData'); + this.$bus.$emit('queryAreaTreeData'); }, } } -- Gitblit v1.9.3