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/code-dialog-page/maxSerialnumDialog.vue | 78 +++++++++++++++++++++++++++++++++------ 1 files changed, 66 insertions(+), 12 deletions(-) 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