From c98617764afe0ee4e64ebb7b3af6845aeaeeea12 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期一, 28 八月 2023 15:15:10 +0800 Subject: [PATCH] 最大流水号 --- Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue | 95 ++++++++++++++++++++++++++++++++++++----------- 1 files changed, 72 insertions(+), 23 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 4885780..b29e4d0 100644 --- a/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue +++ b/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue @@ -1,27 +1,26 @@ <template> - <el-dialog title="鏈�澶ф祦姘村彿" width="30%" append-to-body="true" :visible.sync="dialogVisible"> - <el-form :label-position="right" label-width="80px" :model="formModel"> - <el-form-item label="娴佹按鍙�"> + <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-item label="娴佹按鍙�" prop="maxSecNum"> <el-input v-model="formModel.maxSecNum"></el-input> </el-form-item> </el-form> <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick"> <el-tab-pane label="鏈�澶ф祦姘村彿" name="codeApply"> - <form-template v-bind="$attrs" type="add" :selfColumnType="selfColumnType" - :trendsSpan="24" + <form-template v-bind="$attrs" type="add" :selfColumnType="selfColumnType" :trendsSpan="24" :selfColumnConfig="selfColumnConfig" ref="CodeApply" @getFormData="getCodeApplyFormData" @referConfigDataUpdate="referConfigDataUpdate"></form-template> </el-tab-pane> </el-tabs> <div slot="footer" class="dialog-footer"> - <el-button @click="dialogVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="dialogVisible = false">纭� 瀹�</el-button> + <el-button @click="cancel">鍙� 娑�</el-button> + <el-button type="primary" :loading="confirmLoadding" @click="comfirm">纭� 瀹�</el-button> </div> </el-dialog> </template> <script> import FormTemplate from "@/components/FormTemplate/FormTemplate"; -import { getCodePrice ,saveMaxSerialNum} from "@/api/code/maxSerialNum.js" +import { getCodePrice, saveMaxSerialNum } from "@/api/code/maxSerialNum.js" export default { name: 'maxSerialnumDialog', components: { @@ -59,21 +58,27 @@ return { dialogVisible: this.visible, activeName: 'codePrice', + confirmLoadding: false, codeApplyForm: {}, secVOList: [], formModel: { maxSecNum: '', - codeRuleOid: this.ruleOid, + codeRuleOid: '', secDTOList: [] }, + rules: { + maxSecNum: [ + { required: true, message: '璇疯緭鍏ユ祦姘村彿', trigger: 'blur' } + ], + }, selfColumnType: { - codefixedsec: "combox", - codeclassifysec: "refer", - codevariablesec: "text", - codeattrsec: "text", - codelevelsec: "text", - coderefersec: "refer", - codedatesec: "date", + codefixedsec: "combox",//鍥哄畾鐮佹 + codeclassifysec: "refer",//鍒嗙被鐮佹 + codevariablesec: "text",//鍙彉鐮佹 + coderefersec: "refer",//寮曠敤鐮佹 + codeattrsec: "text", + codelevelsec: "text", + codedatesec: "date" }, selfColumnConfig: { function: { @@ -124,13 +129,11 @@ typeList.includes(item.secType) ); if (this.secVOList.length > 0) { - // this.showCodeApply = true; - this.$nextTick(() => { this.$refs.CodeApply.templateRender(this.secVOList); }); } else { - // this.showCodeApply = false; + this.$refs.CodeApply.loading = false; } } }, @@ -140,9 +143,56 @@ getCodeApplyFormData(codeApplyForm) { this.codeApplyForm = codeApplyForm; }, + // 鍙栨秷 + cancel() { + this.dialogVisible = false + this.formModel['secDTOList'] = [] + this.formModel['codeRuleOid'] = '' + this.formModel['maxSecNum'] = '' + this.$refs.ruleForm.clearValidate('maxSecNum') + + }, + // 纭 + async comfirm() { + const objcodekey = Object.keys(this.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.formModel['secDTOList'] = arrCode + this.formModel['codeRuleOid'] = this.ruleOid + this.confirmLoadding = true + const rule = await this.$refs.CodeApply.validate() + this.$refs.ruleForm.validate(res => { + if (rule && res) { + saveMaxSerialNum(this.formModel).then(res => { + if (res.data.success) { + this.$message.success('鎿嶄綔鎴愬姛锛�'); + this.confirmLoadding = false + this.cancel() + } + }).catch(error=>{ + this.confirmLoadding = false + }) + } else { + this.confirmLoadding = false + } + }) + + }, // 鍙傜収缁勪欢鏁版嵁鍙樻洿 referConfigDataUpdate(data) { - // console.log(data) const { field } = data; this.secVOList = this.secVOList.map((item) => { if (item.parentClassifySecOid === field) { @@ -151,7 +201,6 @@ } return item; }); - // console.log(this.secVOList) this.$refs.CodeApply.templateRender(this.secVOList); }, isRequired(item) { @@ -172,11 +221,11 @@ } }, getReferConfig(item) { - // console.log(item) let params = {}; if (item.secType == "codeclassifysec") { params = { isMuti: false, + valueField: 'id', type: "grid", tableConfig: { limit: -1, @@ -250,4 +299,4 @@ }, } } -</script> \ No newline at end of file +</script> -- Gitblit v1.9.3