From 4f7aec5e212b9e2f2e006985ea76d6b8598b42e4 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 20 十月 2023 15:11:36 +0800 Subject: [PATCH] 最大流水号功能实现 --- Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue | 13 ------ Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue | 78 +++++++++++++++++++++++++++++++++------ Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue | 6 ++ Source/UBCS-WEB/src/api/code/maxSerialNum.js | 7 +-- 4 files changed, 74 insertions(+), 30 deletions(-) diff --git a/Source/UBCS-WEB/src/api/code/maxSerialNum.js b/Source/UBCS-WEB/src/api/code/maxSerialNum.js index 747105e..8d257e7 100644 --- a/Source/UBCS-WEB/src/api/code/maxSerialNum.js +++ b/Source/UBCS-WEB/src/api/code/maxSerialNum.js @@ -17,13 +17,10 @@ }) } -export const getMaxSerialNumber = (codeRuleOid,secDTOList) => { +export const getMaxSerialNumber = (params) => { return request({ url: '/api/ubcs-code/codeBasicSecController/getMaxSerialNumberForCodeRule', method: 'get', - params:{ - codeRuleOid, - secDTOList - } + params }) } diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue index c2181d5..3ff1350 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue @@ -101,6 +101,7 @@ }, data() { return { + ValidataValue:false, eventFlag:{}, TreeValueForm:'', updateIndex: 0, @@ -131,6 +132,8 @@ }, mounted() { this.handleResize(); + }, + updated() { }, created() { if (this.LoadingStatus === 'code') { @@ -165,7 +168,7 @@ }, deep:true, immediate:true - } + }, }, methods: { // 娓叉煋琛ㄥ崟妯℃澘 @@ -510,6 +513,7 @@ if (valid) { done(); resolve(true); + this.ValidataValue=true; } else { resolve(false); } diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue index c7ea7bc..3f29c75 100644 --- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue +++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue @@ -966,16 +966,5 @@ .bottom { margin-top: 10px; } -//.custom-scrollbar::-webkit-scrollbar { -// width: 10px !important;;/* 璁剧疆婊氬姩鏉$殑瀹藉害 */ -//} -// -//.custom-scrollbar::-webkit-scrollbar-thumb { -// background-color: #a11313 !important;; /* 璁剧疆婊氬姩鏉$殑棰滆壊 */ -// border-radius: 5px !important;; /* 璁剧疆婊氬姩鏉$殑杈规寮у害 */ -//} -// -//.custom-scrollbar::-webkit-scrollbar-track { -// background-color: #f1f1f1 !important;; /* 璁剧疆婊氬姩鏉$殑杞ㄩ亾棰滆壊 */ -//} + </style> diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue index 5b39ad3..e12a0bb 100644 --- a/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue +++ b/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue @@ -1,8 +1,8 @@ <template> <el-dialog title="鏈�澶ф祦姘村彿" width="30%" append-to-body="true" class="avue-dialog avue-dialog--top" top="-3%" :visible.sync="dialogVisible"> - <el-form :label-position="right" ref="ruleForm" label-width="80px" :model="formModel" :rules="rules"> + <el-form :label-position="right" ref="ruleForm" label-width="80px" :model="formModel" :rules="rules" v-loading="loading"> <el-form-item label="娴佹按鍙�" prop="maxSecNum"> - <el-input v-model="formModel.maxSecNum"></el-input> + <el-input v-model="formModel.maxSecNum" @blur="handleBlur"></el-input> </el-form-item> </el-form> <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick"> @@ -52,10 +52,15 @@ }, immediate: true, deep: true - } + }, + }, + mounted() { }, data() { return { + loading:false, + maxNum:Number, + ruleFormFlag:Boolean, dialogVisible: this.visible, activeName: 'codePrice', confirmLoadding: false, @@ -68,7 +73,17 @@ }, rules: { maxSecNum: [ - { required: true, message: '璇疯緭鍏ユ祦姘村彿', trigger: 'blur' } + { required: true, message: '璇疯緭鍏ユ祦姘村彿', trigger: 'blur' }, + { + validator: (rule, value, callback) => { + if (value > this.maxNum) { + callback(new Error('涓嶈兘澶т簬鏈�澶ф祦姘村彿')); + } else { + callback(); + } + }, + trigger: 'blur' + } ], }, selfColumnType: { @@ -110,6 +125,10 @@ } }, methods: { + //娓呴櫎姝e垯 + handleBlur() { + this.$refs.ruleForm.clearValidate('maxSecNum'); + }, // 鑾峰彇鐮佹 async apiGetCode() { this.activeName = "codeApply"; @@ -142,7 +161,45 @@ }, getCodeApplyFormData(codeApplyForm) { this.codeApplyForm = codeApplyForm; + //鏈�澶ф祦姘碞umber + const objcodekey = Object.keys(codeApplyForm) + const filteredObj = objcodekey.reduce((acc, key) => { + const pattern = /[\u4e00-\u9fa5]/; // 鍖归厤涓枃瀛楃鐨勬鍒欒〃杈惧紡 + const patterns = /\$/; + if (!pattern.test(key)&&!patterns.test(key)) { + acc[key] = this.codeApplyForm[key]; + } + return acc; + }, {}); + + const arrCode = Object.entries(filteredObj).map(([key, value]) => { + return { + secOid: key, + secValue: value + } + }) + + this.ruleFormFlag = Object.values(codeApplyForm).every(value => { + return value !== null && value !== undefined && value !== ''; + }); + if (this.ruleFormFlag && this.secVOList.length>0) { + this.loading=true; + let params = {}; + params['codeRuleOid'] = this.ruleOid; + + Object.keys(arrCode).forEach((key) => { + params[key] = arrCode[key]; + }); + + getMaxSerialNumber(params).then(res => { + this.formModel.maxSecNum = res.data.data; + this.loading=false; + this.maxNum=res.data.data + }); + + } }, + // 鍙栨秷 cancel() { this.dialogVisible = false @@ -172,10 +229,13 @@ }) this.formModel['secDTOList'] = arrCode this.formModel['codeRuleOid'] = this.ruleOid - this.confirmLoadding = true - const rule = await this.$refs.CodeApply.validate() + this.confirmLoadding = true; + // this.FormRule= await this.$refs.CodeApply.validate(); + const rule = await this.$refs.CodeApply.validate(); + // console.log(rule) this.$refs.ruleForm.validate(res => { if (rule && res) { + // console.log(rule,res) saveMaxSerialNum(this.formModel).then(res => { if (res.data.success) { this.$message.success('鎿嶄綔鎴愬姛锛�'); @@ -189,12 +249,6 @@ this.confirmLoadding = false } }) - // let object={} - // object['secDTOList'] = arrCode; - // object['codeRuleOid'] = this.ruleOid; - // getMaxSerialNumber(object.codeRuleOid,object.secDTOList).then(res=>{ - // console.log(res) - // }) }, // 鍙傜収缁勪欢鏁版嵁鍙樻洿 -- Gitblit v1.9.3