| | |
| | | <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"> |
| | |
| | | }, |
| | | immediate: true, |
| | | deep: true |
| | | } |
| | | }, |
| | | }, |
| | | mounted() { |
| | | }, |
| | | data() { |
| | | return { |
| | | loading:false, |
| | | maxNum:Number, |
| | | ruleFormFlag:Boolean, |
| | | dialogVisible: this.visible, |
| | | activeName: 'codePrice', |
| | | confirmLoadding: false, |
| | |
| | | }, |
| | | 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: { |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | //清除正则 |
| | | handleBlur() { |
| | | this.$refs.ruleForm.clearValidate('maxSecNum'); |
| | | }, |
| | | // 获取码段 |
| | | async apiGetCode() { |
| | | this.activeName = "codeApply"; |
| | |
| | | }, |
| | | getCodeApplyFormData(codeApplyForm) { |
| | | this.codeApplyForm = codeApplyForm; |
| | | //最大流水Number |
| | | 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 |
| | |
| | | }) |
| | | 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('操作成功!'); |
| | |
| | | this.confirmLoadding = false |
| | | } |
| | | }) |
| | | // let object={} |
| | | // object['secDTOList'] = arrCode; |
| | | // object['codeRuleOid'] = this.ruleOid; |
| | | // getMaxSerialNumber(object.codeRuleOid,object.secDTOList).then(res=>{ |
| | | // console.log(res) |
| | | // }) |
| | | |
| | | }, |
| | | // 参照组件数据变更 |