Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -214,7 +214,7 @@ }, selectRow: { handler(newval) { console.log(newval); // console.log(newval); let ids = newval.map(item => item.id); this.selectValue = ids.join(","); }, @@ -240,7 +240,7 @@ let slotColumnList = []; formItemList.forEach((formItem) => { formItem = this.resetFormConfig(formItem); console.log(formItem) // console.log(formItem) //属性码段规则 if (formItem.secType === "codeattrsec") { this.attrList.push(formItem); @@ -248,7 +248,6 @@ //系列号规则 if (formItem.field === "codeStandardEditType") { if (this.status === "amend") { console.log("formItem-amend", formItem) formItem.readOnly = true; } } @@ -402,7 +401,127 @@ }, //修改级联项 changeChildItem(items, TreeValue, type) { type = type || "add" type = type || "add"; let column = this.option.column; let group = this.option.group; // let column = []; // let group = []; let that = this; items.forEach((item) => { let formItem = this.resetFormConfig(item); if (formItem.field == "lcstatus") { formItem.field = formItem.field + "_text"; formItem.readOnly = true; } // 设置表单校验的规则,文本 let message = "请选择"; let trigger = "change"; if (formItem.type === "text") { message = "请输入"; trigger = "blur"; } let fieldMapKey = '' if (formItem.type == "refer" && !formItem.fieldMap) { fieldMapKey = formItem.field + 'Id' formItem.fieldMap = {} formItem.fieldMap[fieldMapKey] = 'id' formItem.fieldMap[formItem.field + 'id'] = 'id' } let columnItem = { label: formItem.text, labelslot: true, prop: this.$utilFunc.isValuableObj(formItem.referConfig) ? formItem.showField || formItem.field : formItem.field, field: formItem.field, type: this.columnType[formItem.type], dicData: this.getDataList(formItem.type, formItem.data), disabled: this.type === "detail" ? true : formItem.readOnly || (formItem.codeValueApplyStatus && formItem.codeValueApplyStatus == 2 ? true : false) || (this.status ? (formItem.field === "reviseSeries" ? (formItem.value == 'false' ? true : false) : false) : false), prepend: this.preOrSufFixShow("text", formItem.prefix), append: this.preOrSufFixShow("text", formItem.suffix), prefixIcon: this.preOrSufFixShow("icon", formItem.prefix), suffixIcon: this.preOrSufFixShow("icon", formItem.suffix), valueFormat: formItem.dateFormate || "yyyy-MM-dd HH:mm:ss", format: formItem.dateFormate, keyAttr: formItem.keyAttr, value: formItem.defaultValue || (formItem.dicData && formItem.dicData.length > 0 && formItem.secType == "codefixedsec" ? formItem.dicData[0].id : null) || (formItem.secType == "codedatesec" ? formItem.codeDateValue : null) || (TreeValue && formItem.secType == "codelevelsec" ? TreeValue : null) || (formItem.secType == "codeattrsec" ? this.add : null) || (this.status === "apply" && formItem.field === "codeStandardEditType" ? "1" : null) || (this.status === "amend" && formItem.field === "codeStandardEditType" ? "2" : null) || //父组件如果是参照数据会将selectRow置空,selectRow不为空就说明不是参照要回填源标准号数据 (this.status === "amend" ? (this.selectRow && (formItem.field === "oldcode" ? this.selectValue : null)) : null), placeholder: formItem.inputTip, comboxKey: formItem.comboxKey, tip: formItem.tooltips, display: !formItem.hidden, maxlength: formItem.maxlength, filterable: true, referConfig: formItem.type == "refer" ? { title: formItem.text, showField: formItem.showField || formItem.field, field: formItem.field, fieldMap: formItem.fieldMap || {}, placeholder: formItem.inputTip, options: formItem.referConfig } : {}, span: formItem.span ? formItem.span : formItem.type === "textarea" ? 24 : this.localTrendsSpan, rules: [ { required: formItem.required, message: `${message}${formItem.text}`, trigger, }, { // 如果没有正则则匹配任何字符 pattern: formItem.verify ? formItem.verify : /[\s\S.]*/g, message: formItem.tooltips, trigger, }, ], props: { label: "value", value: "key", }, }; if (group.length === 0) { that.slotColumnList.forEach((colItem, index) => { if (colItem.field == columnItem.field) { that.slotColumnList[index] = columnItem; column[index] = columnItem; return; } }) } else { that.slotColumnList.forEach((colItem, index) => { if (colItem.field == columnItem.field) { that.slotColumnList[index] = columnItem; return; } }) group.forEach((groupItem, index) => { groupItem.column.forEach((colItem, colIndex) => { if (colItem.field == columnItem.field) { group[index].column[colIndex] = columnItem; return; } }) }); } }); that.$set(that.option, "column", column); that.$set(that.option, "group", group); }, //标准-修订 changeStatusItem(items, TreeValue, type) { type = type || "add"; // let column = this.option.column; // let group = this.option.group; let column = []; @@ -437,7 +556,8 @@ field: formItem.field, type: this.columnType[formItem.type], dicData: this.getDataList(formItem.type, formItem.data), disabled: type === "detail" ? true : formItem.readOnly || (formItem.codeValueApplyStatus && formItem.codeValueApplyStatus == 2 ? true : false), disabled: this.type === "detail" ? true : formItem.readOnly || (formItem.codeValueApplyStatus && formItem.codeValueApplyStatus == 2 ? true : false) || (this.status === 'amend' ? (formItem.field === "reviseSeries" ? (formItem.value == 'false' ? true : false) : false) : false), prepend: this.preOrSufFixShow("text", formItem.prefix), append: this.preOrSufFixShow("text", formItem.suffix), prefixIcon: this.preOrSufFixShow("icon", formItem.prefix), @@ -445,15 +565,15 @@ valueFormat: formItem.dateFormate || "yyyy-MM-dd HH:mm:ss", format: formItem.dateFormate, keyAttr: formItem.keyAttr, value: (formItem.dicData && formItem.dicData.length > 0 && formItem.secType == "codefixedsec" ? formItem.dicData[0].id : null) || value: formItem.defaultValue || (formItem.dicData && formItem.dicData.length > 0 && formItem.secType == "codefixedsec" ? formItem.dicData[0].id : null) || (formItem.secType == "codedatesec" ? formItem.codeDateValue : null) || (TreeValue && formItem.secType == "codelevelsec" ? TreeValue : null) || (formItem.secType == "codeattrsec" ? this.add : null) || (this.status === "apply" && formItem.field === "codeStandardEditType" ? "1" : null) || (this.status === "amend" && formItem.field === "codeStandardEditType" ? "2" : null), (this.status === "amend" && formItem.field === "codeStandardEditType" ? "2" : null) || //父组件如果是参照数据会将selectRow置空,selectRow不为空就说明不是参照要回填源标准号数据 (this.status === "amend" ? (this.selectRow && (formItem.field === "oldcode" ? this.selectValue : null)) : null), placeholder: formItem.inputTip, comboxKey: formItem.comboxKey, tip: formItem.tooltips, // hidden:formItem.secType && formItem.codeValueApplyStatus == 3 ? true : false, // readonly:formItem.codeValueApplyStatus && formItem.codeValueApplyStatus == 2 ?true : false , display: !formItem.hidden, maxlength: formItem.maxlength, filterable: true, Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -253,7 +253,7 @@ openDialog() { //新增和修改共同调用(有改动 不需要在使用edit,方法没什么影响) this.getFormTemplate(); if (this.type === "add" || (this.type !== "add" && this.status === "amend")) { if (this.type === "add") { this.getCodeRule(); return; } @@ -359,7 +359,7 @@ } }) if (this.$refs.CodeApply) { // 添加一个判断语句,检查对象是否为undefined this.$refs.CodeApply.changeChildItem(this.secVOList, this.TreeValue, this.type); this.$refs.CodeApply.changeStatusItem(this.secVOList, this.TreeValue, this.type); } }, //年代号 @@ -375,7 +375,7 @@ }); if (this.$refs.CodeApply) { this.$refs.CodeApply.changeChildItem(this.secVOList, this.TreeValue, this.type); this.$refs.CodeApply.changeStatusItem(this.secVOList, this.TreeValue, this.type); } }, //属性码段赋值 Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
@@ -1718,7 +1718,10 @@ attrTableWidth: 120, ts: "" }) this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList))) // 将英文编号转换为小写 let { id, ...res } = this.busineAddList; this.busineAddList = { id: id.toLowerCase(), ...res }; this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList))); } }) this.addVisible = false; Source/UBCS-WEB/src/views/code/code.vue
@@ -592,7 +592,7 @@ > <!-- 第一层对话框,添加码段信息对话框中的内容 --> <div class="add-basicsec-total"> <el-form :model="form" class="add-basicsec-form" :rules="rules" > <el-form :model="form" :rules="rules" class="add-basicsec-form"> <span class="left"> <el-form-item :label-width="leftFormLabelWidth" @@ -888,11 +888,11 @@ <template> <vciWebRefer ref="refer" :referConfig="this.referConfig || {}" :display="true" :value="form.customCodeSerialClass" :text="form.customCodeSerialClassText" :referConfig="this.referConfig || {}" :serialType="form.serialType" :text="form.customCodeSerialClassText" :value="form.customCodeSerialClass" @setReferValue="setReferValue" ></vciWebRefer> </template> @@ -1028,9 +1028,9 @@ <!-- 日期码段 --> <div v-show="form.secType === 'codedatesec' ? true : false"> <el-form-item prop="Dateformat" :label-width="rightFormLabelWidth" label="日期格式:" prop="Dateformat" > <el-input ref="codeDateFormatStr" Source/UBCS-WEB/src/views/integration/systemInfo.vue
@@ -1,6 +1,7 @@ <template> <basic-container> <avue-crud ref="crud" :data="data" :option="option" :page.sync="page" :permission="permissionList" :search.sync="search" <avue-crud ref="crud" :data="data" :option="option" :page.sync="page" :permission="permissionList" :search.sync="search" :table-loading="loading" @on-load="getDataList" @row-save="handleSave" @row-del="handleDelete" @row-update="handleEdit" @refresh-change="handleRefresh" @size-change="handleSizePage" @current-change="handleCurrentPage" Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
@@ -11,7 +11,7 @@ <el-form ref="form" :model="btmType" show-message="true" inline size="medium" label-suffix=":" class="btmTypeForm" :rules="rules" @resetFields="resetForm" status-icon="true"> <el-form-item label="英文名称" label-width="100px" required="true" prop="id"> <el-input v-model="btmType.id" :prefix-icon="icons.key" :disabled="true"></el-input> <el-input v-model="btmType.id" :prefix-icon="icons.key" :disabled="Object.keys(this.btmType).length !== 0 "></el-input> </el-form-item> <el-form-item label="中文名称" label-width="100px"> <el-input v-model="btmType.name" :prefix-icon="icons.name"></el-input> @@ -191,7 +191,8 @@ name: 'BusinessAdd', props: { btmType: { type: Object type: Object, default:{} }, domainOption: { type: Array Source/UBCS-WEB/src/views/modeling/LinkTypeAdd.vue
@@ -1,10 +1,12 @@ <template> <el-dialog title="链接类型" :visible.sync="showSubmitDialog" append-to-body @close="closeSubmitDialog" width="70%" top="6vh" style="height: 115vh;"> <el-form ref="form" :model="linkType" show-message="true" inline size="medium" label-suffix=":" class="linkTypeForm" :rules="rules" @resetFields="resetForm" status-icon="true"> <el-form-item label="英文名称" label-width="100px" required="true" prop="id"> <el-input v-model="linkType.id" :prefix-icon="icons.id" maxlength="15" show-word-limit type="text"></el-input> <el-dialog :visible.sync="showSubmitDialog" append-to-body style="height: 115vh;" title="链接类型" top="6vh" width="70%" @close="closeSubmitDialog"> <el-form ref="form" :model="linkType" :rules="rules" class="linkTypeForm" inline label-suffix=":" show-message="true" size="medium" status-icon="true" @resetFields="resetForm"> <el-form-item label="英文名称" label-width="100px" prop="id" required="true"> <el-input v-model="linkType.id" :disabled="this.linkType.hasOwnProperty('id')" :prefix-icon="icons.id" maxlength="15" show-word-limit type="text"></el-input> </el-form-item> <el-form-item label="中文名称" label-width="100px"> <el-input v-model="linkType.name" :prefix-icon="icons.name"></el-input> @@ -14,13 +16,14 @@ </el-form-item> <el-form-item label="所属领域" label-width="100px" prop="domain"> <el-select v-model="linkType.domain" :prefix-icon="icons.domain"> <el-option v-for="item in domainOption" :label="item.label" :value="item.value" :key="item.value"></el-option> <el-option v-for="item in domainOption" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-select> </el-form-item> <el-form-item label="From端类型" label-width="100px"> <!-- from端业务类型选择 --> <el-select v-model="linkType.fromBtmValues" :value="linkType.fromBtmTypes" value-key="oid" placeholder="请选择From端类型" filterable multiple collapse-tags @change="fromSelectChange"> <el-select v-model="linkType.fromBtmValues" :value="linkType.fromBtmTypes" collapse-tags filterable multiple placeholder="请选择From端类型" value-key="oid" @change="fromSelectChange"> <el-option-group v-for="domain in domainList" :key="domain.id" :label="domain.name"> <el-option v-for="item in domain.childList" :key="item.oid" :label="item.id + item.name" :value="item"> @@ -30,7 +33,8 @@ </el-form-item> <el-form-item label="To端类型" label-width="100px"> <!-- to端业务类型选择 --> <el-select v-model="linkType.toBtmValues" :value="linkType.toBtmTypes" value-key="oid" placeholder="请选择To端类型" filterable multiple collapse-tags @change="toSelectChange"> <el-select v-model="linkType.toBtmValues" :value="linkType.toBtmTypes" collapse-tags filterable multiple placeholder="请选择To端类型" value-key="oid" @change="toSelectChange"> <el-option-group v-for="domain in domainList" :key="domain.id" :label="domain.name"> <el-option v-for="item in domain.childList" :key="item.oid" :label="item.id + item.name" :value="item"> @@ -38,14 +42,14 @@ </el-option-group> </el-select> </el-form-item> <el-form-item label="描述" label-width="100px" class="description"> <el-input v-model="linkType.description" :prefix-icon="icons.desc" class="descClass" id="descId"></el-input> <el-form-item class="description" label="描述" label-width="100px"> <el-input id="descId" v-model="linkType.description" :prefix-icon="icons.desc" class="descClass"></el-input> </el-form-item> </el-form> <avue-crud :option="option" :data="linkType.attributes" :page.sync="page" ref="attrTable" <avue-crud ref="attrTable" :data="linkType.attributes" :option="option" :page.sync="page" @cell-mouse-enter="cellEditClick" @cell-mouse-leave="cellEditSave"> <template slot-scope="scope" slot="menuLeft"> <el-button type="danger" icon="el-icon-plus" size="small" @click="rowAdd()">属性选择</el-button> <template slot="menuLeft" slot-scope="scope"> <el-button icon="el-icon-plus" size="small" type="danger" @click="rowAdd()">属性选择</el-button> </template> </avue-crud> @@ -55,8 +59,8 @@ </div> <!-- 属性池的选择 --> <el-dialog title="属性池" :visible="attrRef.visible" append-to-body @close="closeAttrDialog" width="80%"> <avue-crud class="attrRef" :option="attrRef.option" :data="attrRef.data" :page.sync="attrRef.page" ref="attrRef" <el-dialog :visible="attrRef.visible" append-to-body title="属性池" width="80%" @close="closeAttrDialog"> <avue-crud ref="attrRef" :data="attrRef.data" :option="attrRef.option" :page.sync="attrRef.page" class="attrRef" @on-load="attrRefOnLoad" @search-change="attrRefSearch" @selection-change="selectionChange"> <template slot="typeValue" slot-scope="scope"> <el-tag>{{ scope.row.typeValue }}</el-tag> @@ -78,17 +82,27 @@ import { queryPage } from '@/api/omd/OmdAttribute'; import { getPage } from '@/api/omd/revisionRule'; import { initTree } from "@/api/omd/btmType" export default { name: 'LinkTypeAdd', props: { linkType: { type: Object type: Object, default: {} }, domainOption: { type: Array }, icons: { type: Array } }, watch: { linkType:{ handler(newval){ // console.log(newval); // console.log( newval.hasOwnProperty('id')) } } }, data() { @@ -388,6 +402,7 @@ #descId { width: 57vw; } .el-tag + .el-tag{ margin-top: 2px; } Source/UBCS-WEB/src/views/modeling/originalAdd.vue
@@ -6,7 +6,7 @@ <el-form ref="form" :model="attribute" show-message="true" inline size="medium" label-suffix=":" class="attributeForm" :rules="rules" @resetFields="resetAttributeForm" status-icon="true"> <el-form-item label="属性编号" label-width="100px" prop="id"> <el-input v-model="attribute.id" maxlength="30" show-word-limit type="text"></el-input> <el-input v-model="attribute.id" maxlength="30" show-word-limit @input="handleIdInput"></el-input> </el-form-item> <el-form-item label="属性名称" label-width="100px" prop="name"> <el-input v-model="attribute.name"></el-input> @@ -299,6 +299,9 @@ this.initAttributeReferTypeList(); }, methods: { handleIdInput(value){ this.attribute.id = value.toLowerCase(); }, onSubmit() { if (this.form.name || this.form.label) { const params = {}; Source/UBCS-WEB/src/views/ruleBasic/usableCharacter.vue
@@ -21,83 +21,21 @@ border style="width: 100%;height: calc(100vh - 320px)" @cell-click="cellClickHandler"> <el-table-column align="center" label="1" prop="1" > </el-table-column> <el-table-column align="center" label="2" prop="2" > </el-table-column> <el-table-column align="center" label="3" prop="3"> </el-table-column> <el-table-column align="center" label="4" prop="4"> </el-table-column> <el-table-column align="center" label="5" prop="5"> </el-table-column> <el-table-column align="center" label="6" prop="6"> </el-table-column> <el-table-column align="center" label="7" prop="7"> </el-table-column> <el-table-column align="center" label="8" prop="8"> </el-table-column> <el-table-column align="center" label="9" prop="9"> </el-table-column> <el-table-column align="center" label="10" prop="10"> </el-table-column> <el-table-column align="center" label="11" prop="11"> </el-table-column> <el-table-column align="center" label="12" prop="12"> </el-table-column> <el-table-column align="center" label="13" prop="13"> </el-table-column> <el-table-column align="center" label="14" prop="14"> </el-table-column> <el-table-column align="center" label="15" prop="15"> </el-table-column> <el-table-column align="center" label="1" prop="1"></el-table-column> <el-table-column align="center" label="2" prop="2"></el-table-column> <el-table-column align="center" label="3" prop="3"></el-table-column> <el-table-column align="center" label="4" prop="4"></el-table-column> <el-table-column align="center" label="5" prop="5"></el-table-column> <el-table-column align="center" label="6" prop="6"></el-table-column> <el-table-column align="center" label="7" prop="7"></el-table-column> <el-table-column align="center" label="8" prop="8"></el-table-column> <el-table-column align="center" label="9" prop="9"></el-table-column> <el-table-column align="center" label="10" prop="10"></el-table-column> <el-table-column align="center" label="11" prop="11"></el-table-column> <el-table-column align="center" label="12" prop="12"></el-table-column> <el-table-column align="center" label="13" prop="13"></el-table-column> <el-table-column align="center" label="14" prop="14"></el-table-column> <el-table-column align="center" label="15" prop="15"></el-table-column> </el-table> </el-main> <el-footer> @@ -230,7 +168,7 @@ // const targetObject = this.characterReleasedList.find(obj => obj.oid === this.selectValue); // const chartValue = targetObject.name; getList({codeRuleId: this.select, chartType: "charset", chartValue: this.characterValue}).then(res => { console.log(res.data.data); // console.log(res.data.data); this.tableData = res.data.data; this.loading = false; }); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
@@ -843,7 +843,7 @@ */ @GetMapping("/exportGroupCodeExcel") @VciBusinessLog(operateName = "导出集团码") public R exportGroupCodeExcel(String codeClassifyOid, HttpServletResponse response){ public void exportGroupCodeExcel(String codeClassifyOid, HttpServletResponse response) throws IOException { try { String excelName = mdmIOService.exportGroupCodeExcel(codeClassifyOid); ControllerUtil.writeFileToResponse(response,excelName); @@ -854,17 +854,11 @@ msg = "未知错误"; } String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "错误.txt"; LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),errorFile); try { LocalFileUtil.writeContentToFile(msg,errorFile); ControllerUtil.writeFileToResponse(response,errorFile); } catch (IOException ex) { ex.printStackTrace(); // return R.fail(msg); } String uuid=ControllerUtil.putErrorFile(errorFile); return R.fail(msg); // ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); } return R.status(true); // return R.status(true); } /*** Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -422,7 +422,6 @@ allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode",user);allCode.setLctid("codeAllCodeLC");} ); Map<String, String> statusMap = allCodeDOList.stream().collect(Collectors.toMap(s -> s.getOid(), s -> s.getLcStatus())); allCodeDOList.stream().filter(s -> StringUtils.equalsIgnoreCase("codeallcode",s.getBtmname())).forEach(s -> { s.setLcStatus(statusMap.get(s.getOid())); @@ -1191,10 +1190,12 @@ switchSecValueBZ(secVO, secValueMap, classifyFullInfoBO, serialSecVOList, attrSecVOList, serialUnitList, secValueList); //分段存储流水依赖 if(secVO.getSecType().equals(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue())){ int finalI = i; final int[] index = {0}; List<String> newSerialUnitList= serialUnitList.stream().filter(secValueStr -> { return !secValueStr.equals("${"+secVO.getOid()+"}"); return index[0]++< finalI;//除去流水的 }).collect(Collectors.toList()); String serialUnitString = serialUnitList.size() == 0 ? EMPTY_SERIAL_UNIT : newSerialUnitList.stream().collect(Collectors.joining(SERIAL_UNIT_SPACE)); String serialUnitString = newSerialUnitList.size() == 0 ? EMPTY_SERIAL_UNIT : newSerialUnitList.stream().collect(Collectors.joining(SERIAL_UNIT_SPACE)); secOdserialUnitMap.put(secVO.getOid(),serialUnitString); } } @@ -1231,7 +1232,7 @@ AtomicReference<String> serialUnitString= new AtomicReference<>(""); for (int j = 0; j < serialSecVOList.size(); j++) { CodeBasicSecVO secVO = serialSecVOList.get(j); if(lastMaxSerialValueMap.containsKey(secVO.getOid())){ if(lastMaxSerialValueMap.containsKey(secVO.getOid())){//此为最后需要存入流水依赖的最大流水 Map<String/**流水依据**/, String> serialValueMap= lastMaxSerialValueMap.get(secVO.getOid()); serialValueMap.forEach((maxSerialUnitString,serialValue)->{ if(StringUtils.isNotBlank(serialValue)){ @@ -1239,6 +1240,11 @@ sb.append(serialValue).append(SERIAL_VALUE_SPACE); } }); }else{ if(secValueMap.containsKey(secVO.getOid())) {//企业标准处理修订顺序号已经存在的数据则不需要动流水依赖表的数据 serialUnitString.set(secOdserialUnitMap.get(secVO.getOid())); sb.append(secValueMap.get(secVO.getOid())).append(SERIAL_VALUE_SPACE); } } } String codeDelimiter=thisSecValueList.stream().collect(Collectors.joining(SERIAL_VALUE_SPACE));