From bc90fb7e0c6c8313e7d5fcf3aba57e3a1f975c93 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期四, 15 八月 2024 17:39:45 +0800 Subject: [PATCH] 对象建模模块,保存统一先进行正则校验(之间是失焦才进行校验) --- Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue | 222 +++++++++++++++++++++++++++++++++---------------------- 1 files changed, 133 insertions(+), 89 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue index 5506afe..c5bcb1c 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue @@ -168,10 +168,10 @@ class="avue-dialog" width="75%" @close="addDialogClose"> - <el-form ref="form" :model="form" :rules="rules" label-width="90px"> + <el-form ref="form" :model="form" :rules="rules" label-width="95px"> <div class="dialogForm"> <div class="leftForm"> - <el-form-item label="绫诲瀷鍚嶇О锛�" prop="name"> + <el-form-item label="绫诲瀷鍚嶇О锛�" prop="id"> <el-input v-model="form.id" :readOnly="title === 'edit'"></el-input> </el-form-item> <el-form-item label="鏍囩锛�"> @@ -188,44 +188,48 @@ </el-form-item> </div> <div class="centerForm"> - <el-form-item label="鐗堟湰瑙勫垯锛�" label-width="100px" prop="revLevel"> + <el-form-item label="鐗堟湰瑙勫垯锛�" label-width="110px" prop="revLevel"> <el-select v-model="form.revLevel"> <el-option label="涓嶅彲淇" value="0"></el-option> <el-option label="閲囩敤涓�绾х増鏈鐞�" value="1"></el-option> <el-option label="閲囩敤浜岀骇鐗堟湰绠$悊" value="2"></el-option> </el-select> </el-form-item> - <el-form-item v-if="form.revLevel !== '0'" label="鐗堟湰鍙疯鍒欙細" label-width="100px" prop="revisionRuleName"> + <el-form-item v-if="form.revLevel !== '0'" label="鐗堟湰鍙疯鍒欙細" label-width="110px" prop="revisionRuleName"> <div style="display: flex;gap: 5px;align-items: center"> <el-input v-model="form.revisionRuleId" :readOnly="true"></el-input> - <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success" @click="versionAddHandler">娣诲姞</el-button> + <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success" + @click="versionAddHandler">娣诲姞 + </el-button> <el-switch - style="width: 300px" v-model="form.inputRevisionFlag" - active-text="鎵嬪伐杈撳叆"> + active-text="鎵嬪伐杈撳叆" + style="width: 300px"> </el-switch> </div> </el-form-item> - <el-form-item v-if="form.revLevel !== '0'" label="鍒嗛殧绗︼細" label-width="100px" prop="delimiter"> + <el-form-item v-if="form.revLevel !== '0'" label="鍒嗛殧绗︼細" label-width="110px" prop="delimiter"> <el-select v-model="form.delimiter" clearable> <el-option label="." value="."></el-option> <el-option label="-" value="-"></el-option> </el-select> </el-form-item> - <el-form-item v-if="form.revLevel !== '0' && form.revLevel !== '1'" label="鐗堟鍙疯鍒欙細" label-width="100px" + <el-form-item v-if="form.revLevel !== '0' && form.revLevel !== '1'" label="鐗堟鍙疯鍒欙細" label-width="110px" prop="revLevel"> <el-select v-model="form.versionRule" clearable> - <el-option label="1.2.3..." value="1.2.3..."></el-option> - <el-option label="a.b.c..." value="a.b.c..."></el-option> - <el-option label="0.1.2..." value="0.1.2..."></el-option> + <el-option label="1.2.3..." value="0"></el-option> + <el-option label="a.b.c..." value="1"></el-option> + <el-option label="0.1.2..." value="2"></el-option> </el-select> </el-form-item> </div> <div class="rightForm"> - <el-form-item label="鐢熷懡鍛ㄦ湡锛�" label-width="138px" prop="revLevel"> + <el-form-item label="鐢熷懡鍛ㄦ湡锛�" label-width="138px" prop="lifeCycleId"> <div style="display: flex;gap: 5px;align-items: center"> <el-input v-model="form.lifeCycleId" :readOnly="true"></el-input> - <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success" @click="lifeAddHandler('input')">娣诲姞</el-button> + <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success" + @click="lifeAddHandler('input')">娣诲姞 + </el-button> </div> </el-form-item> @@ -373,7 +377,7 @@ <script> import basicOption from '@/util/basic-option' -import {getBizTypes} from "@/api/modeling/businessType/api" +import {getBizTypes, addLifeCycle} from "@/api/modeling/businessType/api" import {gridAttribute} from "@/api/modeling/attributePool/api"; import func from "@/util/func"; import {getVersionRuleAllList} from "@/api/modeling/version/api"; @@ -383,58 +387,58 @@ name: "index", data() { return { - dialogLifeDefalutData:[], // 鏌ヨ閲嶇疆榛樿鏁版嵁 - lifeType:'', - dialogLifeTable:[], - dialogLifeSaveRow:{}, - dialogLifeKey:Math.random(), - dialogLifeData:[], - dialogLifeOption:{ + dialogLifeDefalutData: [], // 鏌ヨ閲嶇疆榛樿鏁版嵁 + lifeType: '', + dialogLifeTable: [], + dialogLifeSaveRow: {}, + dialogLifeKey: Math.random(), + dialogLifeData: [], + dialogLifeOption: { ...basicOption, - addBtn:false, - selection:false, - refreshBtn:false, - menu:false, - height:450, + addBtn: false, + selection: false, + refreshBtn: false, + menu: false, + height: 450, searchMenuSpan: 8, - highlightCurrentRow:true, - column:[ + highlightCurrentRow: true, + column: [ { - label:'鐢熷懡鍛ㄦ湡妯℃澘鍚�', - prop:'id', - searchLabelWidth:120, - search:true + label: '鐢熷懡鍛ㄦ湡妯℃澘鍚�', + prop: 'id', + searchLabelWidth: 120, + search: true } ] }, - dialogLifeLoading:false, - dialogLfeVisible:false, - dialogVersionDefalutData:[], // 鏌ヨ閲嶇疆榛樿鏁版嵁 - dialogSwitchValue:false, - dialogVersionSaveRow:{}, - dialogVersionVisible:false, - dialogVersionKey:Math.random(), - dialogVersionData:[], - dialogVersionOption:{ + dialogLifeLoading: false, + dialogLfeVisible: false, + dialogVersionDefalutData: [], // 鏌ヨ閲嶇疆榛樿鏁版嵁 + dialogSwitchValue: false, + dialogVersionSaveRow: {}, + dialogVersionVisible: false, + dialogVersionKey: Math.random(), + dialogVersionData: [], + dialogVersionOption: { ...basicOption, - addBtn:false, - selection:false, - refreshBtn:false, - menu:false, - height:450, + addBtn: false, + selection: false, + refreshBtn: false, + menu: false, + height: 450, searchMenuSpan: 8, - highlightCurrentRow:true, + highlightCurrentRow: true, // calcHeight: 100, - column:[ + column: [ { - label:'鐗堟湰鍙疯鍒�', - prop:'id', - searchLabelWidth:110, - search:true + label: '鐗堟湰鍙疯鍒�', + prop: 'id', + searchLabelWidth: 110, + search: true } ] }, - dialogVersionLoading:false, + dialogVersionLoading: false, dialogAttrSelectList: [], searchAttrParams: {}, dialogAttrLoading: false, @@ -481,7 +485,18 @@ }, dialogAttrSaveData: [], attrPollDialogVisible: false, - rules: [], + rules: { + id: [ + {required: true, message: '璇疯緭绫诲瀷鍚嶇О', trigger: 'blur'}, + {validator: this.validateEnglishOnly, trigger: 'blur'} + ], + revLevel: [ + {required: true, message: '璇烽�夋嫨鐗堟湰瑙勫垯', trigger: 'blur'}, + ], + lifeCycleId: [ + {required: true, message: '璇烽�夋嫨鐢熷懡鍛ㄦ湡', trigger: 'blur'}, + ] + }, dialogAttrData: [], dialogAttrOption: { ...basicOption, @@ -554,17 +569,18 @@ ] }, form: { - id:'', // 绫诲瀷鍚嶇О - name:'', // 鏍囩 - fName:'', // 缁ф壙鑷� - implClass:'', // 瀹炵幇绫� - description:'', // 鎻忚堪 - revLevel:'', // 鐗堟湰瑙勫垯 - revisionRuleId:'',// 鐗堟湰鍙疯鍒� - inputRevisionFlag:'', // 鎵嬪伐杈撳叆 - versionRule:'', // 鐗堟鍙疯鍒� - lifeCycleId:'', // 鐢熷懡鍛ㄦ湡 - subLifeCycleId:'', // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛� + id: '', // 绫诲瀷鍚嶇О + name: '', // 鏍囩 + fName: '', // 缁ф壙鑷� + implClass: '', // 瀹炵幇绫� + description: '', // 鎻忚堪 + revLevel: '', // 鐗堟湰瑙勫垯 + revisionRuleId: '',// 鐗堟湰鍙疯鍒� + inputRevisionFlag: false, // 鎵嬪伐杈撳叆 + versionRule: '', // 鐗堟鍙疯鍒� + lifeCycleId: '', // 鐢熷懡鍛ㄦ湡 + subLifeCycleId: '', // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�, + apNameArray: "", // 灞炴�ф睜鍒楄〃鈥欙紝鈥樺垎闅� }, nodeRow: {}, treeOption: { @@ -729,14 +745,14 @@ }, // 鐗堟湰瑙勫垯绠$悊娣诲姞 - versionAddHandler(){ + versionAddHandler() { this.dialogVersionVisible = true; this.dialogVersionKey = Math.random(); // 鎵撳紑鏃跺埛鏂拌〃鏍奸伩鍏嶈〃鏍奸敊琛� this.dialogVersionLoading = true; getVersionRuleAllList().then(res => { const data = res.data.data.map(item => { return { - id:item.id + id: item.id } }); this.dialogVersionData = data; @@ -748,12 +764,12 @@ }, // 鐗堟湰瑙勫垯琛岀偣鍑� - dialogVersionRowClick(row){ + dialogVersionRowClick(row) { this.dialogVersionSaveRow = row; }, // 鐗堟湰瑙勫垯鎼滅储 - versionHandleSearch(params,done){ + versionHandleSearch(params, done) { const {id} = params; if (!params.id) { @@ -771,22 +787,22 @@ }, // 鐗堟湰绠$悊缃┖ - versionHandleReset(){ + versionHandleReset() { this.dialogVersionData = this.dialogVersionDefalutData; }, - // 鐗堟湰瑙勫垯淇濆瓨 - dialogVersionAddClickHandler(){ - if(func.isEmptyObject(this.dialogVersionSaveRow)){ + // 鐗堟湰鍙疯鍒欎繚瀛� + dialogVersionAddClickHandler() { + if (func.isEmptyObject(this.dialogVersionSaveRow)) { this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�'); return; } - this.form.revRuleName = this.dialogVersionSaveRow.id; + this.form.revisionRuleId = this.dialogVersionSaveRow.id; this.dialogVersionVisible = false; }, // 鐢熷懡鍛ㄦ湡鏂板 - lifeAddHandler(val){ + lifeAddHandler(val) { this.dialogLfeVisible = true; this.dialogLifeKey = Math.random(); // 鎵撳紑鏃跺埛鏂拌〃鏍奸伩鍏嶈〃鏍奸敊琛� this.dialogLifeLoading = true; @@ -794,7 +810,7 @@ gridLifeCycle().then(res => { const data = res.data.data.map(item => { return { - id:item.id + id: item.id } }); this.dialogLifeData = data; @@ -806,19 +822,19 @@ }, // 鐢熷懡鍛ㄦ湡琛岀偣鍑� - dialogLifeRowClick(row){ + dialogLifeRowClick(row) { this.dialogLifeSaveRow = row; }, // 鐢熷懡鍛ㄦ湡淇濆瓨 - dialogLifeAddClickHandler(){ - if(func.isEmptyObject(this.dialogLifeSaveRow)){ + dialogLifeAddClickHandler() { + if (func.isEmptyObject(this.dialogLifeSaveRow)) { this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�'); return; } - if(this.lifeType === 'input'){ - this.form.lifeCycle = this.dialogLifeSaveRow.id; - }else { + if (this.lifeType === 'input') { + this.form.lifeCycleId = this.dialogLifeSaveRow.id; + } else { const flag = this.dialogLifeTable.some(item => item.id === this.dialogLifeSaveRow.id); if (flag) { @@ -831,12 +847,12 @@ }, // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛ㄧЩ闄� - dialogDeleteLifeTable(index){ - this.dialogLifeTable.splice(index,1) + dialogDeleteLifeTable(index) { + this.dialogLifeTable.splice(index, 1) }, // 鐢熷懡鍛ㄦ湡鎼滅储 - lifeHandleSearch(params,done){ + lifeHandleSearch(params, done) { const {id} = params; if (!params.id) { @@ -854,13 +870,41 @@ }, // 鐢熷懡鍛ㄦ湡閲嶇疆 - lifeHandleReset(){ + lifeHandleReset() { this.dialogLifeData = this.dialogLifeDefalutData; }, + // 鍙兘杈撳叆鑻辨枃姝e垯鏍¢獙 + validateEnglishOnly(rule, value, callback) { + if (!value) { + return callback(new Error('璇疯緭鍏ョ被鍨嬪悕绉�')); + } + if (!/^[A-Za-z]+$/.test(value)) { + return callback(new Error('鍙兘杈撳叆鑻辨枃瀛楁瘝')); + } + callback(); // 楠岃瘉閫氳繃 + }, + // 鏂板缂栬緫淇濆瓨 - addDialogSavaHandler(){ + addDialogSavaHandler() { console.log(this.form) + this.$refs.form.validate((valid) => { + if (valid) { + addLifeCycle(this.form).then(res => { + console.log(res); + }) + } else { + return false; + } + }); + + this.$refs.form.validate((valid) => { + if (valid) { + } else { + return false; + } + }); + } } @@ -869,7 +913,7 @@ <style lang="scss" scoped> ::v-deep { - .avue-dialog .el-dialog__body{ + .avue-dialog .el-dialog__body { padding: 20px 20px 0px 20px; // 涓婂彸涓嬪乏 margin-bottom: 10px !important; } -- Gitblit v1.9.3