From afbaeaaba4f2e503d4c05d7c9259d43b29362bcc Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期四, 21 九月 2023 09:02:48 +0800 Subject: [PATCH] 修改参照 --- Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue | 131 ++++++++++++++++++++++++++++++++++--------- 1 files changed, 102 insertions(+), 29 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..e37dd05 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" 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" :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", - coderefersec: "refer", + codefixedsec: "combox",//鍥哄畾鐮佹 + codeclassifysec: "refer",//鍒嗙被鐮佹 + codevariablesec: "text",//鍙彉鐮佹 + coderefersec: "refer",//寮曠敤鐮佹 + codeattrsec: "text", + codelevelsec: "text", + codedatesec: "date" }, selfColumnConfig: { function: { @@ -74,6 +97,7 @@ label: "name", maxlength: "codeSecLength", data: "fixedValueVOList", + dateFormate: "codeDateFormatStr" }, directVoluation: { search: true, @@ -86,51 +110,100 @@ } }, 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); }); } else { - // this.showCodeApply = false; + this.$refs.CodeApply.loading = false; } } }, 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() { + 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) { - this.$refs.CodeApply.form[item.oid] = undefined; - this.$refs.CodeApply.form[item.name] = undefined; - } - return item; - }); - console.log(this.secVOList) - this.$refs.CodeApply.templateRender(this.secVOList); + const {field} = data; + this.secVOList = this.secVOList.map((item) => { + if (item.parentClassifySecOid === field) { + this.$refs.CodeApply.form[item.oid] = undefined; + this.$refs.CodeApply.form[item.name] = undefined; + item.readOnly = false; + item.referConfig.extraParams.parentClassifyValueOid = data.value; + } + return item; + }); + this.$refs.CodeApply.templateRender(this.secVOList); }, isRequired(item) { return item.nullableFlag != "true"; @@ -150,11 +223,11 @@ } }, getReferConfig(item) { - console.log(item) let params = {}; if (item.secType == "codeclassifysec") { params = { isMuti: false, + valueField: 'id', type: "grid", tableConfig: { limit: -1, @@ -199,7 +272,7 @@ } else if (item.secType == "coderefersec") { params = JSON.parse(item.referValueInfo); } - console.log(params) + // console.log(params) return params; }, @@ -228,4 +301,4 @@ }, } } -</script> \ No newline at end of file +</script> -- Gitblit v1.9.3