From 92ff846fb659c62037a32b1d8c15eae9df9d9b54 Mon Sep 17 00:00:00 2001 From: zenglf <18502938215@163.com> Date: 星期一, 18 九月 2023 13:24:30 +0800 Subject: [PATCH] Merge branch 'develop' of http://117.34.109.166:18448/r/vue_mdc_430 --- src/views/eam/modules/dailyInspectionOrder/DailyInspectionOrderModal.vue | 691 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 691 insertions(+), 0 deletions(-) diff --git a/src/views/eam/modules/dailyInspectionOrder/DailyInspectionOrderModal.vue b/src/views/eam/modules/dailyInspectionOrder/DailyInspectionOrderModal.vue new file mode 100644 index 0000000..5537e21 --- /dev/null +++ b/src/views/eam/modules/dailyInspectionOrder/DailyInspectionOrderModal.vue @@ -0,0 +1,691 @@ +<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-switch + :disabled="disableSubmit" + checked-children="鏄�" + un-checked-children="鍚�" + :checked="model.startWorkCondition == '1'" + @change="handle2Switch(model.startWorkCondition)" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item + label="鐐规鏍囧噯" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input-search + :disabled="disableSubmit" + placeholder="璇烽�夋嫨鐐规鏍囧噯" + enter-button + @search="onDailyInspectionStandardList()" + :read-only="true" + v-decorator="['inspectionStandardNum', validatorRules.inspectionStandardNum]" + /> + </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="['equipmentName', validatorRules.equipmentName ]" + /> + </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.inspectionCycles" + @change="(e)=>handle3Change(e)" + style="width: 100%" + :disabled="disableSubmit" + v-decorator="['inspectionCycleId', validatorRules.inspectionCycleId]" + /> + </a-form-item> + </a-col> + <a-col :span="12"> + <a-form-item + label="鐐规鏃ユ湡" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <j-date + :disabled="disableSubmit" + v-decorator="['inspectionTime', validatorRules.inspectionTime ]" + 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 :gutter="24"> + </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?'':'鐐规鏍囧噯Id'" + v-decorator="['inspectionStandardId', validatorRules.inspectionStandardId ]" + /> + </a-form-item> + </a-col> + <a-col :span="12"> + <a-form-item + label="璁惧Id" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + > + <a-input + allow-clear + :disabled="true" + :placeholder="disableSubmit?'':'璁惧Id'" + v-decorator="['equipmentId', validatorRules.equipmentId ]" + /> + </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="['inspectionUserName', validatorRules.inspectionUserName]" + /> + </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="['inspectionUserId', validatorRules.inspectionUserId ]" + /> + </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" + size="middle" + bordered + rowKey="id" + :scroll="{x:true}" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + @change="handleTableChange" + > + <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.id" + height="25px" + alt="" + style="max-width:80px;font-size: 12px;font-style: italic;" + /> + </template> + </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-inspection-standard-list + ref="DailyInspectionStandardList" + @sendDailyInspectionStandardRecord='sendDailyInspectionStandardRecord' + ></daily-inspection-standard-list> + + <user-list + ref="UserList" + @sendDutyUserRecord='sendDutyUserRecord' + ></user-list> + </a-modal> + +</template> + +<script> +import { JeecgListMixin } from '@/mixins/JeecgListMixin' +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 { ACCESS_TOKEN } from '@/store/mutation-types' +import Vue from 'vue' +import { getFileAccessHttpUrl } from '@/api/manage'; +import DailyInspectionStandardList from './DailyInspectionStandardList' +import UserList from './UserList' +import { preview } from 'vue-photo-preview' + +export default { + name: "DailyInspectionOrderModal", + mixins: [JeecgListMixin], + components: { + JMultiSelectTag, + Tooltip, + DailyInspectionStandardList, + preview, + 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: 'inspectionProjectNum' + }, + { + title: '妫�娴嬫爣鍑�', + align: 'center', + dataIndex: 'detectionStandard' + }, + { + title: '鍚堟牸鑼冨洿', + align: 'center', + dataIndex: 'acceptabilityLimit' + }, + { + title: '鏂规硶', + align: 'center', + dataIndex: 'inspectionMethodName' + }, + { + title: '宸ュ叿', + align: 'center', + dataIndex: 'inspectionTool' + }, + { + title: '绀烘剰鍥�', + align: "center", + dataIndex: 'photo', + scopedSlots: { customRender: 'photo' }, + }, + ], + title: "鎿嶄綔", + visible: false, + disableSubmit: false, + codeDisable: true, + model: {}, + inspectionCycles: [], + queryParam: { inspectionStandardId: '-1', inspectionCycleId: '-1' }, + isHidden: true, + 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: '璇疯緭鍏ヨ澶囩紪鐮�!' }, + ] + }, + equipmentId: { + rules: [ + { required: true, message: '璇烽�夋嫨璁惧!' }, + ] + }, + inspectionStandardNum: { + rules: [ + { required: true, message: '璇烽�夋嫨鐐规鏍囧噯!' }, + ] + }, + inspectionCycleId: { + rules: [ + { required: true, message: '璇烽�夋嫨鐐规鍛ㄦ湡!' }, + ] + }, + inspectionTime: { + rules: [ + { required: true, message: '璇烽�夋嫨鐐规鏃ユ湡!' }, + ] + }, + inspectionUserName: { + rules: [ + { required: true, message: '璇烽�夋嫨璐d换浜�!' }, + ] + }, + assignMode: { + rules: [ + { required: true, message: '璇烽�夋嫨娲惧伐鏂瑰紡!' }, + ] + }, + }, + url: { + list: "/eam/inspectionOrder/getInspectionProjectId", + add: "/eam/inspectionOrder/add", + edit: "/eam/inspectionOrder/edit", + getInspectionCycles: "/eam/inspectionOrder/getInspectionCycles", + getInspectionProjectId: "/eam/inspectionOrder/getInspectionProjectId", + // getEquipmentIdById: "/eam/equipment/list", + }, + + dataSource: [], + equipmentId: "-1", + inspectionStandardId: "-1", + oldInspectionCycleId: "-1" + } + }, + + methods: { + add() { + this.edit({ startWorkCondition: "1", inspectionOrderDetails: [] }) + }, + + edit(record) { + let that = this; + this.inspectionCycles = record.inspectionCycles + this.equipmentId = record.equipmentId + this.oldInspectionCycleId = record.inspectionCycleId + this.dataSource = []; + this.form.resetFields(); + this.model = Object.assign({}, record); + this.visible = true; + if (record.inspectionOrderDetails != undefined) { + const temp = [...record.inspectionOrderDetails]; + that.dataSource = temp; + } + + that.$nextTick(() => { + that.form.setFieldsValue(pick(that.model, 'num', 'equipmentId', + 'equipmentName', 'inspectionCycleId', 'inspectionStandardId', 'inspectionStandardNum', + 'inspectionTime', 'effectiveTime', 'unit', 'teamId', + 'assignMode', 'teamName', 'inspectionUserId', 'inspectionUserName', '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; + } + }, + + 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.inspectionOrderDetailList = that.dataSource; + formData.oldInspectionCycleId = that.oldInspectionCycleId + 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); + // }, + + getInspectionCycles(inspectionStandardId) { + getAction(this.url.getInspectionCycles, { inspectionStandardId: inspectionStandardId }).then((res) => { + if (res.success) { + this.inspectionCycles = res.result + } + }) + }, + + // getEquipmentIdById(equipmentId) { + // if (equipmentId != null && equipmentId != "") { + // getAction(this.url.getEquipmentIdById, { id: equipmentId }).then((res) => { + // if (res.success) { + + // if (res.result.records.length == 0) { + // this.form.setFieldsValue({ "useId": null, "teamId": null }) + // } else { + // this.form.setFieldsValue({ "useId": res.result.records[0].useId, "teamId": res.result.records[0].teamId }) + // } + // } + // }) + // } else { + // this.form.setFieldsValue({ "useId": null, "teamId": null }) + // } + // }, + + handle2Switch(startWorkCondition) { + if ('1' == startWorkCondition) { + this.model.startWorkCondition = '0' + } else { + this.model.startWorkCondition = '1' + } + }, + + // handle2Change(val) { + // this.inspectionCycles = []; + // this.dataSource = []; + // this.equipmentId = val; + // this.getInspectionCycleByEqId(val); + // this.getEquipmentIdById(val) + // this.form.setFieldsValue({ "inspectionCycleId": null, "effectiveTime": null, "unit": null }) + // }, + + onDailyInspectionStandardList() { + this.$refs.DailyInspectionStandardList.list(); + this.$refs.DailyInspectionStandardList.title = "閫夋嫨鏃ュ父鐐规鏍囧噯"; + }, + sendDailyInspectionStandardRecord(data) { + this.dataSource = []; + this.inspectionCycles = []; + this.form.setFieldsValue({ inspectionStandardId: null, inspectionStandardNum: null, equipmentId: null, equipmentName: null, assignMode: null, teamId: null, teamName: null, inspectionUserId: null, inspectionUserName: null }); + let record = data.record; + this.equipmentId = record.equipmentId; + this.inspectionStandardId = record.id; + this.form.setFieldsValue({ inspectionStandardId: record.id, inspectionStandardNum: record.num + "/" + record.version }); + this.form.setFieldsValue({ equipmentId: record.equipmentId, equipmentName: record.equipmentNum + "/" + record.equipmentName }); + this.form.setFieldsValue({ assignMode: record.assignMode, teamId: record.teamId, teamName: record.teamName }); + this.form.setFieldsValue({ effectiveTime: null, inspectionCycleId: null, unit: null }); + this.getInspectionCycles(record.id) + if ("3" == record.assignMode) { + this.isHidden = false + } else { + this.isHidden = true + } + }, + + + 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({ inspectionUserId: record.id, inspectionUserName: record.username + "/" + record.realname }); + }, + + handle3Change(val) { + getAction(this.url.getInspectionProjectId, { inspectionStandardId: this.inspectionStandardId, inspectionCycleId: 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 }) + } + } + }) + }, + + }, +} +</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 -- Gitblit v1.9.3