From 1e653db94c24389cc7615fd4a7ef1d63b00af534 Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期五, 13 六月 2025 11:39:32 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/tms/modules/baseTools/ParaBaseModal.vue | 288 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 288 insertions(+), 0 deletions(-) diff --git a/src/views/tms/modules/baseTools/ParaBaseModal.vue b/src/views/tms/modules/baseTools/ParaBaseModal.vue new file mode 100644 index 0000000..1229690 --- /dev/null +++ b/src/views/tms/modules/baseTools/ParaBaseModal.vue @@ -0,0 +1,288 @@ +<template> + <j-modal + :title="title" + :width="1200" + :visible="visible" + centered + :confirmLoading="confirmLoading" + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" + switchFullscreen + @ok="handleOk" + @cancel="handleCancel" + cancelText="鍏抽棴"> + <a-spin :spinning="confirmLoading"> + <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 宸ュ叿鍩虹淇℃伅 + </a-divider> + + <a-row :gutter="24"> + <a-col :span="8"> + <a-form-model-item prop="classifyNum" label="宸ュ叿鍒嗙被缂栫爜"> + <a-input placeholder="璇疯緭鍏ュ伐鍏峰垎绫荤紪鐮�" v-model="model.classifyNum" :disabled="true" /> + </a-form-model-item> + </a-col> + <a-col :span="8"> + <a-form-model-item prop="classifyName" label="宸ュ叿鍒嗙被鍚嶇О"> + <a-input placeholder="璇疯緭鍏ュ伐鍏峰垎绫诲悕绉�" v-model="model.classifyName" :disabled="true" /> + </a-form-model-item> + </a-col> + <a-col :span="8"> + <a-form-model-item prop="toolCode" label="宸ュ叿缂栫爜"> + <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ伐鍏风紪鐮�'" v-model="model.toolCode" :disabled="disableSubmit"/> + </a-form-model-item> + </a-col> + </a-row> + + <a-row> + <a-col :span="8"> + <a-form-model-item prop="chineseName" + label="涓枃鍚嶇О"> + <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ヤ腑鏂囧悕绉�'" v-model="model.chineseName" :disabled="disableSubmit"/> + </a-form-model-item> + </a-col> + <a-col :span="8"> + <a-form-model-item prop="foreignLanguageName" + label="澶栨枃鍚嶇О"> + <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ鏂囧悕绉�'" v-model="model.foreignLanguageName" :disabled="disableSubmit" /> + </a-form-model-item> + </a-col> + <a-col :span="8"> + <a-form-model-item prop="toolModel" + label="鍨嬪彿/鍥惧彿"> + <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ瀷鍙�/鍥惧彿'" v-model="model.toolModel" :disabled="disableSubmit" /> + </a-form-model-item> + </a-col> + </a-row> + <a-row> + <a-col :span="8"> + <a-form-model-item prop="standardLevel" + label="鏍囨敞绾у埆"> + <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ユ爣鍑嗙骇鍒�'" v-model="model.standardLevel" :disabled="disableSubmit"/> + </a-form-model-item> + </a-col> + <a-col :span="8"> + <a-form-model-item prop="standardCode" label="鏍囧噯鍙�"> + <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ユ爣鍑嗗彿'" v-model="model.standardCode" :disabled="disableSubmit"/> + </a-form-model-item> + </a-col> + <a-col :span="8"> + <a-form-model-item prop="signCode" label="搴忓彿"> + <a-input :placeholder="disableSubmit?'':'璇疯緭鍏ュ簭鍙�'" v-model="model.signCode" :disabled="disableSubmit"/> + </a-form-model-item> + </a-col> + </a-row> + + </a-form-model> + </a-spin> + </j-modal> +</template> + +<script> +import { getAction,postAction, httpAction } from '@/api/manage' +import { validateDuplicateValueInDelFlag } from '@/utils/util' +import JSelectProduction from '@comp/jeecgbiz/JSelectProduction.vue' +import { getSystemConfigValue } from '@api/api' + import { duplicateCheck } from '@/api/api'//閲嶅鏍¢獙 + +export default { + name: 'ParaBaseModal', + components: { JSelectProduction }, + data() { + return { + title: '鎿嶄綔', + visible: false, + //鎺у埗缂栬緫 + editable: false, + //璇︽儏鎺у埗 + disableSubmit: false, + model: {}, + labelCol: { + xs: { span: 24 }, + sm: { span: 9 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 14 } + }, + labelColLong: { + xs: { span: 24 }, + sm: { span: 2 } + }, + wrapperColLong: { + xs: { span: 24 }, + sm: { span: 22 } + }, + confirmLoading: false, + validatorRules: { + toolCode: [ + { required: true, message: '璇疯緭鍏ュ伐鍏风紪鐮�' }, + { validator: this.validateNum } + ], + classifyNum: [ + { required: true, message: '璇疯緭鍏ュ伐鍏峰垎绫荤紪鐮�' } + ], + classifyName: [ + { required: true, message: '璇疯緭鍏ュ伐鍏峰垎绫诲悕绉�' } + ], + toolModel: [ + { required: true, message: '璇疯緭鍏ュ瀷鍙�/鍥惧彿' }, + { validator: this.validateModel } + ], + chineseName: [ + { required: true, message: '璇疯緭鍏ヤ腑鏂囧悕绉�' } + ], + bladeShape: [ + { required: true, message: '璇疯緭鍏ュ垁鐗囧舰鐘�' } + ], + bladeLength: [ + { required: true, message: '璇疯緭鍏ュ垁鐗囬暱搴�' } + ], + cuttingEdgeCount: [ + { required: true, message: '璇疯緭鍏ュ垏鍓婂垉鏁�' } + ], + bladeThickness: [ + { required: true, message: '璇疯緭鍏ュ垁鐗囧帤搴�' } + ], + clampingType: [ + { required: true, message: '璇疯緭鍏ュす鍥哄瀷寮�' } + ], + noseAngleR: [ + { required: true, message: '璇疯緭鍏ュ垁灏朢' } + ], + toolMaterial: [ + { required: true, message: '璇疯緭鍏ュ垁鐗囨潗鏂�' } + ], + paintcoatFlag: [ + { required: true, message: '璇烽�夋嫨鏄惁娑傚眰' } + ], + technicalConditions: [ + { required: true, message: '璇疯緭鍏ラ檮鍔犳妧鏈潯浠�' } + ] + }, + url: { + add: '/tms/baseTools/add', + edit: '/tms/baseTools/edit', + }, + } + }, + created() { + }, + methods: { + add(nodeSelected) { + this.editable = false; + //鍒濆鍖栭粯璁ゅ�� + this.model = {}; + this.model.classifyId = nodeSelected.key + this.model.classifyNum = nodeSelected.entity.classifyId + this.model.classifyName = nodeSelected.entity.typeName + this.model.paraTypeFlag = nodeSelected.entity.paraTypeFlag + this.visible = true + }, + edit(record) { + this.editable = true; + this.model = Object.assign({}, record) + this.visible = true + }, + close() { + this.$emit('close') + this.visible = false + this.$refs.form.clearValidate() + }, + handleOk() { + const that = this + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = true + let formData = Object.assign(this.model) + let httpUrl = '' + let method = 'post' + if (!this.model.id) { + httpUrl += this.url.add + } else { + httpUrl += this.url.edit + } + httpAction(httpUrl, formData, 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() + }) + } + }) + }, + handleCancel() { + this.close() + }, + //楠岃瘉宸ュ叿缂栫爜鏄惁閲嶅 + validateNum(rule, value, callback) { + var params = { + tableName: 'tms_base_tools', + fieldName: 'tool_code', + fieldVal: value, + dataId: this.model.id + }; + duplicateCheck(params).then((res) => { + if (res.success) { + callback() + } else { + callback("宸ュ叿缂栫爜宸插瓨鍦�!") + } + }) + }, + //楠岃瘉鍨嬪彿/鍥惧彿鏄惁閲嶅 + validateModel(rule, value, callback) { + var params = { + tableName: 'tms_base_tools', + fieldName: 'tool_model', + fieldVal: value, + dataId: this.model.id + }; + duplicateCheck(params).then((res) => { + if (res.success) { + callback() + } else { + callback("鍨嬪彿/鍥惧彿宸插瓨鍦�!") + } + }) + }, + } +} +</script> + +<style lang="less" scoped> +/deep/ .ant-modal-body { + padding: 0 24px; +} + +/deep/ .ant-upload { + width: 185px; + height: 185px; +} + +/deep/ .img { + display: flex; + justify-content: center; + + .ant-upload-picture-card-wrapper { + width: auto; + } +} + +/deep/ .ant-upload-list-picture-card-container { + width: 185px; + height: 185px; +} + +/deep/ .ant-upload-list-item { + width: 185px; + height: 185px; +} +</style> \ No newline at end of file -- Gitblit v1.9.3