From 31d62d0ac0bf6fdcb200ffeaa7b4e15aaf2d4946 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期五, 25 七月 2025 16:40:47 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/eam/repair/modules/EamReportAccidentsRegisterModal.vue | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 221 insertions(+), 0 deletions(-) diff --git a/src/views/eam/repair/modules/EamReportAccidentsRegisterModal.vue b/src/views/eam/repair/modules/EamReportAccidentsRegisterModal.vue new file mode 100644 index 0000000..a632215 --- /dev/null +++ b/src/views/eam/repair/modules/EamReportAccidentsRegisterModal.vue @@ -0,0 +1,221 @@ +<template> + <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen + @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴"> + <a-spin :spinning="confirmLoading"> + <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-row> + <a-col :span="customSpan"> + <a-form-model-item label="搴熷搧浠跺彿" prop="scrapPartNumber"> + <a-input placeholder="璇疯緭鍏ュ簾鍝佷欢鍙�" + v-model="model.scrapPartNumber"/> + </a-form-model-item> + </a-col> + <a-col :span="customSpan"> + <a-form-model-item label="搴熷搧浠舵暟" prop="scrapPartQuantity"> + <a-input-number placeholder="璇疯緭鍏ュ簾鍝佷欢鏁�" + v-model="model.scrapPartQuantity" :min="0" style="width: 100%"/> + </a-form-model-item> + </a-col> + <a-col :span="customSpan"> + <a-form-model-item label="搴熷搧浠峰��" prop="scrapPartValue"> + <a-input-number placeholder="璇疯緭鍏ュ簾鍝佷环鍊�" + v-model="model.scrapPartValue" style="width: 100%"/> + </a-form-model-item> + </a-col> + <a-col :span="customSpan"> + <a-form-model-item label="鏄惁鏈夎澶囨搷浣滆瘉" prop="operationCertificate"> + <j-dict-select-tag dict-code="yn" type="radio" + placeholder="璇烽�夋嫨鏄惁鏈夎澶囨搷浣滆瘉" + v-model="model.operationCertificate"/> + </a-form-model-item> + </a-col> + <a-col :span="customSpan"> + <a-form-model-item label="鏄惁鏂數閲嶅惎" prop="powerOffRestart"> + <j-dict-select-tag dict-code="yn" type="radio" + placeholder="璇烽�夋嫨鏄惁鏂數閲嶅惎" v-model="model.powerOffRestart"/> + </a-form-model-item> + </a-col> + <a-col :span="customSpan"> + <a-form-model-item label="鏄惁涓烘壒娆¢浠�" prop="batchFirstPiece"> + <j-dict-select-tag dict-code="yn" type="radio" + placeholder="璇烽�夋嫨鏄惁涓烘壒娆¢浠�" + v-model="model.batchFirstPiece"/> + </a-form-model-item> + </a-col> + <a-col :span="customSpan"> + <a-form-model-item label="鍙樺姩鍥犵礌" prop="variableFactors"> + <j-dict-select-tag type="radio" dict-code="yn" + placeholder="璇烽�夋嫨鍙樺姩鍥犵礌" v-model="model.variableFactors" + @change="handleRadioChange"/> + </a-form-model-item> + </a-col> + <a-col :span="customSpan" v-if="Boolean(+model.variableFactors)"> + <a-form-model-item label="鍙樺姩鍥犵礌鍐呭" prop="variableFactorsValue"> + <j-dict-select-tag dict-code="variable_factors_value" + placeholder="璇烽�夋嫨鍙樺姩鍥犵礌鍐呭" v-model="model.variableFactorsValue"/> + </a-form-model-item> + </a-col> + <a-col :span="customSpan"> + <a-form-model-item label="鎵ц绋嬪簭"> + <a-input placeholder="璇疯緭鍏ユ墽琛岀▼搴�" v-model="model.executeNc"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="浜嬫晠鐜拌薄" prop="accidentPhenomenon" :labelCol="labelColLong" + :wrapperCol="wrapperColLong"> + <a-textarea placeholder="璇疯緭鍏ヤ簨鏁呯幇璞�" v-model="model.accidentPhenomenon"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="閲囧彇鎺柦" prop="measure" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> + <a-textarea placeholder="璇疯緭鍏ラ噰鍙栨帾鏂�" v-model="model.measure"/> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="閫犳垚缁撴灉" prop="causingResults" :labelCol="labelColLong" + :wrapperCol="wrapperColLong"> + <a-textarea placeholder="璇疯緭鍏ラ�犳垚缁撴灉" v-model="model.causingResults"/> + </a-form-model-item> + </a-col> + </a-row> + </a-form-model> + </a-spin> + </j-modal> +</template> + +<script> + import { httpAction } from '@/api/manage' + import moment from 'moment' + + export default { + name: 'EamReportAccidentsRegisterModal', + data() { + return { + title: '鎿嶄綔', + visible: false, + customSpan: 8, + model: {}, + labelCol: { + xs: { span: 24 }, + sm: { span: 9 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 12 } + }, + labelColLong: { + xs: { span: 24 }, + sm: { span: 3 } + }, + wrapperColLong: { + xs: { span: 24 }, + sm: { span: 20 } + }, + confirmLoading: false, + validatorRules: { + scrapPartNumber: [{ required: true, message: '璇疯緭鍏ュ簾鍝佷欢鍙�', trigger: 'change' }], + scrapPartQuantity: [{ required: true, message: '璇疯緭鍏ュ簾鍝佷欢鏁�', trigger: 'change' }], + scrapPartValue: [{ required: true, message: '璇疯緭鍏ュ簾鍝佷环鍊�', trigger: 'change' }], + operationCertificate: [{ required: true, message: '璇烽�夋嫨鏄惁鏈夎澶囨搷浣滆瘉', trigger: 'change' }], + powerOffRestart: [{ required: true, message: '璇烽�夋嫨鏄惁鏂數閲嶅惎', trigger: 'change' }], + batchFirstPiece: [{ required: true, message: '璇烽�夋嫨鏄惁涓烘壒娆¢浠�', trigger: 'change' }], + variableFactors: [{ required: true, message: '璇烽�夋嫨鍙樺姩鍥犵礌', trigger: 'change' }], + variableFactorsValue: [{ + validator: this.variableFactorsValueValidator, + message: '璇烽�夋嫨鍙樺姩鍥犵礌鍐呭', + trigger: 'change' + }], + accidentPhenomenon: [{ required: true, message: '璇疯緭鍏ヤ簨鏁呯幇璞�', trigger: 'change' }], + measure: [{ required: true, message: '璇疯緭鍏ラ噰鍙栨帾鏂�', trigger: 'change' }], + causingResults: [{ required: true, message: '璇疯緭鍏ラ�犳垚缁撴灉', trigger: 'change' }] + }, + url: { + add: '/eam/eamReportAccidentsRegister/add', + edit: '/eam/eamReportAccidentsRegister/edit' + } + } + }, + created() { + }, + methods: { + add() { + //鍒濆鍖栭粯璁ゅ�� + this.edit({}) + }, + + edit(record) { + this.model = Object.assign({}, record) + this.visible = true + }, + + handleOk() { + const that = this + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = true + let httpurl = '' + let method = '' + if (!this.model.id) { + httpurl += this.url.add + method = 'post' + } else { + httpurl += this.url.edit + method = 'put' + } + httpAction(httpurl, this.model, method).then((res) => { + if (res.success) { + that.$message.success(res.message) + that.$emit('ok') + } else { + that.$message.warning(res.message) + } + }).finally(() => { + that.confirmLoading = false + that.close() + }) + } else { + return false + } + }) + }, + + /**\ + * 鍗曢�夋鍊煎彂鐢熸敼鍙樻椂瑙﹀彂 + * @param value 鍗曢�夋鍊� + * @param key 鍗曢�夋鍏宠仈瀛楁 + */ + handleRadioChange(value, key) { + if (value !== '1') delete this.model.variableFactorsValue + }, + + /** + * 鍙樺姩鍥犵礌鍐呭鏍¢獙 + * @param rule + * @param value 鍙樺姩鍥犵礌鍐呭瀛楁鍊� + * @param callback 缁撴灉鍥炶皟鍑芥暟 + */ + variableFactorsValueValidator(rule, value, callback) { + if (this.model.variableFactors === '1') { + if (!value) { + callback(new Error()) + } else { + callback() + } + } else { + callback() + } + }, + + handleCancel() { + this.close() + }, + + close() { + this.$emit('close') + this.visible = false + this.$refs.form.clearValidate() + } + } + } +</script> \ No newline at end of file -- Gitblit v1.9.3