From 205056bc17023dd44e6d262cfe78b6e146ee2f20 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期三, 23 八月 2023 20:05:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue | 101 ++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 88 insertions(+), 13 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 9998cb7..6db53ba 100644 --- a/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue +++ b/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue @@ -1,17 +1,26 @@ <template> - <el-dialog title="鏈�澶ф祦姘村彿" width="30%" append-to-body="true" :visible.sync="visible"> + <el-dialog title="鏈�澶ф祦姘村彿" width="30%" append-to-body="true" :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" :selfColumnConfig="selfColumnConfig" - ref="CodeApply" @getFormData="getCodeApplyFormData" + <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="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 } from "@/api/code/maxSerialNum.js" +import { getCodePrice, saveMaxSerialNum } from "@/api/code/maxSerialNum.js" export default { name: 'maxSerialnumDialog', components: { @@ -39,7 +48,7 @@ }, selfColumnConfig: { handler(newval) { - console.log('selfColumnConfig', newval) + // console.log('selfColumnConfig', newval) }, immediate: true, deep: true @@ -49,13 +58,27 @@ return { dialogVisible: this.visible, activeName: 'codePrice', + confirmLoadding: false, codeApplyForm: {}, secVOList: [], + formModel: { + maxSecNum: '', + codeRuleOid: '', + secDTOList: [] + }, + rules: { + maxSecNum: [ + { required: true, message: '璇疯緭鍏ユ祦姘村彿', trigger: 'blur' } + ], + }, selfColumnType: { codefixedsec: "combox", codeclassifysec: "refer", codevariablesec: "text", + codeattrsec: "text", + codelevelsec: "text", coderefersec: "refer", + codedatesec: "date", }, selfColumnConfig: { function: { @@ -74,6 +97,7 @@ label: "name", maxlength: "codeSecLength", data: "fixedValueVOList", + dateFormate: "codeDateFormatStr" }, directVoluation: { search: true, @@ -86,24 +110,27 @@ } }, methods: { + // 鑾峰彇鐮佹 async apiGetCode() { + this.activeName = "codeApply"; const response = await getCodePrice({ ruleOid: this.ruleOid }) const res = response.data if (res.success && res.code === 200) { - console.log(response) const typeList = [ "codefixedsec", "codeclassifysec", "codevariablesec", "coderefersec", + "codeattrsec", + "codelevelsec", + "codedatesec" ]; this.secVOList = (res.data.secVOList || []).filter((item) => typeList.includes(item.secType) ); - console.log(this.secVOList) if (this.secVOList.length > 0) { // this.showCodeApply = true; - this.activeName = "codePrice"; + this.$nextTick(() => { this.$refs.CodeApply.templateRender(this.secVOList); }); @@ -113,14 +140,63 @@ } }, handleClick(tab, event) { - console.log(event) + // console.log(event) }, 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() { + console.log(this.codeApplyForm) + const objcodekey = Object.keys(this.codeApplyForm) + console.log(objcodekey) + const filteredObj = objcodekey.reduce((acc, key) => { + const pattern = /[\u4e00-\u9fa5]/; // 鍖归厤涓枃瀛楃鐨勬鍒欒〃杈惧紡 + if (!pattern.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 + console.log(this.formModel) + this.confirmLoadding = true + const rule = await this.$refs.CodeApply.validate() + this.$refs.ruleForm.validate(res => { + if (rule && res) { + console.log(rule) + saveMaxSerialNum(this.formModel).then(res => { + if (res.data.success) { + this.$message.success('鎿嶄綔鎴愬姛锛�'); + this.confirmLoadding = false + this.cancel() + } + }) + } else { + this.confirmLoadding = false + } + }) + + }, // 鍙傜収缁勪欢鏁版嵁鍙樻洿 referConfigDataUpdate(data) { - console.log(data) + // console.log(data) const { field } = data; this.secVOList = this.secVOList.map((item) => { if (item.parentClassifySecOid === field) { @@ -129,7 +205,6 @@ } return item; }); - console.log(this.secVOList) this.$refs.CodeApply.templateRender(this.secVOList); }, isRequired(item) { @@ -150,7 +225,7 @@ } }, getReferConfig(item) { - console.log(item) + // console.log(item) let params = {}; if (item.secType == "codeclassifysec") { params = { @@ -199,7 +274,7 @@ } else if (item.secType == "coderefersec") { params = JSON.parse(item.referValueInfo); } - console.log(params) + // console.log(params) return params; }, -- Gitblit v1.9.3