Source/UBCS-WEB/src/components/BatchImport/index.vue
@@ -290,10 +290,12 @@ }, onError(err) { this.pageLoading.close(); console.log('onError') }, uploadChange(file) { if (file.status === "success" || file.status === "error") { this.pageLoading.close(); console.log('uploadChange') } }, }, Source/UBCS-WEB/src/views/code/code.vue
@@ -37,104 +37,104 @@ <!-- è¡¨æ ¼å æä½æé® --> <template slot="menu" slot-scope="scope"> <el-button v-if="permissionList.editBtn && (scope.row.lcStatus == 'Editing' ? true : false)" icon="el-icon-edit" plain size="small" type="text" @click="openEdit(scope.row)" >ç¼ è¾ icon="el-icon-edit" plain size="small" type="text" @click="openEdit(scope.row)" >ç¼ è¾ </el-button> <el-button v-if="permissionList.releaseBtn && (scope.row.lcStatus == 'Editing' ? true : false)" :loading="releadDisabled" icon="el-icon-position" plain size="small" type="text" @click="enableOrDeactivatse(scope.row.oid, 'release')" >å å¸ :loading="releadDisabled" icon="el-icon-position" plain size="small" type="text" @click="enableOrDeactivatse(scope.row.oid, 'release')" >å å¸ </el-button> <el-button v-if="permissionList.deactivateBtn && (scope.row.lcStatus == 'Released' ? true : false)" icon="el-icon-video-pause" plain size="small" type="text" @click="enableOrDeactivatse(scope.row.oid, 'disable')" >å ç¨ icon="el-icon-video-pause" plain size="small" type="text" @click="enableOrDeactivatse(scope.row.oid, 'disable')" >å ç¨ </el-button> <el-button v-if="permissionList.enableBtn && (scope.row.lcStatus == 'Disabled' ? true : false)" icon="el-icon-video-play" plain size="small" type="text" @click="enableOrDeactivatse(scope.row.oid, 'enable')" >å¯ ç¨ icon="el-icon-video-play" plain size="small" type="text" @click="enableOrDeactivatse(scope.row.oid, 'enable')" >å¯ ç¨ </el-button> </template> <!-- è¡¨æ ¼ä¸æ¹æé®åºå --> <template slot="menuLeft" slot-scope="scope"> <el-button v-if="permissionList.rulDelBtn" icon="el-icon-delete" plain size="small" type="danger" @click="handleDelete" icon="el-icon-delete" plain size="small" type="danger" @click="handleDelete" > å é¤ </el-button> <el-button v-if="permissionList.advancedQueryBtn" icon="el-icon-search" plain size="small" type="primary" @click="openAdvancedQuery('codeRule')"> icon="el-icon-search" plain size="small" type="primary" @click="openAdvancedQuery('codeRule')"> é«çº§æ¥è¯¢ </el-button> <el-button v-if="permissionList.cloneBtn" icon="icon-kelong" plain size="small" @click="openCodeRuleDialog" icon="icon-kelong" plain size="small" @click="openCodeRuleDialog" > å é </el-button> <el-button v-if="permissionList.otherCloneBtn" icon="icon-lianjiekelong" plain size="small" style="font-size: 12px" @click="openOtherCodeRuleDialog" icon="icon-lianjiekelong" plain size="small" style="font-size: 12px" @click="openOtherCodeRuleDialog" > ä»å ¶ä»è§åä¸å éç æ®µ </el-button> <el-button v-if="permissionList.usescopeBtn" icon="el-icon-s-help" plain size="small" @click="handleRange" icon="el-icon-s-help" plain size="small" @click="handleRange" > 使ç¨èå´ </el-button> <el-button v-if="permissionList.clearBtn" icon="icon-qingkong" plain size="small" @click="clearAllCodeSec" icon="icon-qingkong" plain size="small" @click="clearAllCodeSec" > æ¸ ç©ºç å¼ </el-button> <el-button v-if="permissionList.escapeOwnerBtn" icon="el-icon-guide" plain size="small" @click="escapeOwner" <el-button v-if="permissionList.escapeOwnerBtn" icon="el-icon-guide" plain size="small" @click="escapeOwner" > 转移ææè </el-button> <el-button v-if="permissionList.maxSerialnumBtn" icon="el-icon-data-analysis" plain size="small" @click="maxSerialNum" <el-button v-if="permissionList.maxSerialnumBtn" icon="el-icon-data-analysis" plain size="small" @click="maxSerialNum" > æå¤§æµæ°´å· </el-button> @@ -173,15 +173,15 @@ <!-- ç¼ç è§å,å éå¯¹è¯æ¡ --> <clone-rule-dialog :visible.sync="cloneSettingBox" :ruleData="selectionList[0]" :visible.sync="cloneSettingBox" @refreshRuleTable="onLoad"> </clone-rule-dialog> <!-- ç¼ç è§å,ä»å ¶ä»è§åå éå¯¹è¯æ¡ --> <clone-other-basic-sec-dialog :visible.sync="cloneOtherCodeRuleSettingBox" :quiltCloneCodeRule="selectionList[0]" :visible.sync="cloneOtherCodeRuleSettingBox" @refreshRuleTable="onLoad"> </clone-other-basic-sec-dialog> @@ -189,9 +189,9 @@ <el-dialog :visible.sync="escapeOwnerVisible" append-to-body class="avue-dialog avue-dialog--top" title="转移ææè " width="30%" class= "avue-dialog avue-dialog--top" > <el-select v-model="ruleOwner" class="selects" placeholder="è¯·éæ©"> <el-option @@ -241,75 +241,76 @@ <!-- åºç¡ç æ®µè¡¨æ ¼å æä½æé® --> <template slot="menu" slot-scope="scope"> <el-button v-if="basicPermissionList.viewBtn && currentRuleLcStatus != 'Editing'" icon="el-icon-view" plain size="small" type="text" @click="openBasicDialog('view', scope.row)" >æ¥ç icon="el-icon-view" plain size="small" type="text" @click="openBasicDialog('view', scope.row)" >æ¥ç </el-button> <el-button v-if="basicPermissionList.editBtn && currentRuleLcStatus === 'Editing'" icon="el-icon-edit" plain size="small" type="text" @click="openBasicDialog('edit', scope.row)" >ç¼è¾ icon="el-icon-edit" plain size="small" type="text" @click="openBasicDialog('edit', scope.row)" >ç¼è¾ </el-button> <el-button v-if="basicPermissionList.basicMgrBtn && (scope.row.secType === 'codeclassifysec' || scope.row.secType == 'codefixedsec')" <el-button v-if="basicPermissionList.basicMgrBtn && (scope.row.secType === 'codeclassifysec' || scope.row.secType == 'codefixedsec')" icon="el-icon-setting" plain size="small" type="text" @click="openBasicSecCodeValueMgr(scope.row)" >ç å¼ç®¡ç >ç å¼ç®¡ç </el-button> <el-button v-if="basicPermissionList.basicMoveupBtn && scope.row.orderNum > 1" icon="el-icon-arrow-up" plain size="small" type="text" @click="upOrderNum(scope.row)" >ä¸ç§» icon="el-icon-arrow-up" plain size="small" type="text" @click="upOrderNum(scope.row)" >ä¸ç§» </el-button> <el-button v-if="basicPermissionList.basicDownBtn" icon="el-icon-arrow-down" plain size="small" type="text" @click="downOrderNum(scope.row)" >ä¸ç§» icon="el-icon-arrow-down" plain size="small" type="text" @click="downOrderNum(scope.row)" >ä¸ç§» </el-button> </template> <!-- åºç¡ç æ®µè¡¨æ ¼å·¦ä¸æ¹æé®åºå --> <template slot="menuLeft" slot-scope="scope"> <el-button v-if="basicPermissionList.addBtn" :disabled="selectionList.length <= 0" icon="el-icon-plus" size="small" type="primary" @click="openAddBasicCodeSec" :disabled="selectionList.length <= 0" icon="el-icon-plus" size="small" type="primary" @click="openAddBasicCodeSec" > æ° å¢ </el-button> <el-button v-if="basicPermissionList.basicDelBtn" :disabled="selectionList.length <= 0" icon="el-icon-delete" plain size="small" type="danger" @click="deleteBasicCode(scope.row)" :disabled="selectionList.length <= 0" icon="el-icon-delete" plain size="small" type="danger" @click="deleteBasicCode(scope.row)" > å é¤ </el-button> <el-button v-if="basicPermissionList.basicAdvancedQueryBtn" :disabled="selectionList.length <= 0" icon="el-icon-search" plain size="small" type="primary" @click="openAdvancedQuery('codeBasicSec')" <el-button v-if="basicPermissionList.basicAdvancedQueryBtn" :disabled="selectionList.length <= 0" icon="el-icon-search" plain size="small" type="primary" @click="openAdvancedQuery('codeBasicSec')" > é«çº§æ¥è¯¢ </el-button> @@ -362,7 +363,7 @@ size="mini" type="primary" @click="codeClassifyValueOpetion('up')" >ä¸ç§» >ä¸ç§» </el-button> <el-button class="button" @@ -370,7 +371,7 @@ size="mini" type="primary" @click="codeClassifyValueOpetion('down')" >ä¸ç§» >ä¸ç§» </el-button> </div> </basic-container> @@ -407,7 +408,7 @@ size="mini" type="primary" @click="addCodeSecValue('codeclassifyvaluesec')" >æ·»å >æ·»å </el-button> <el-button :disabled="selectedFixedOrCodeclassifyValue == ''" @@ -417,7 +418,7 @@ size="mini" type="success" @click="editCodeSecValue('codeclassifyvaluesec')" >ä¿®æ¹ >ä¿®æ¹ </el-button> <el-button :disabled="selectedFixedOrCodeclassifyValue == ''" @@ -426,7 +427,7 @@ size="mini" type="danger" @click="delCodeSecValue('codeclassifyvaluesec')" >å é¤ >å é¤ </el-button> <el-button class="button" @@ -435,7 +436,7 @@ size="mini" type="warning" @click="clearFixedOrClassifyForm('codeclassifyvaluesec')" >åæ¶ >åæ¶ </el-button> </div> </basic-container> @@ -464,21 +465,21 @@ size="mini" type="text" @click="codeFixedValueOpetion('up', scope.row)" >ä¸ç§» >ä¸ç§» </el-button> <el-button icon="el-icon-arrow-down" size="mini" type="text" @click="codeFixedValueOpetion('down', scope.row)" >ä¸ç§» >ä¸ç§» </el-button> <el-button icon="el-icon-minus" size="mini" type="text" @click="codeFixedValueOpetion('remove', scope.row)" >ç§»é¤ >ç§»é¤ </el-button> </template> </avue-crud> @@ -490,7 +491,7 @@ size="mini" type="primary" @click="saveCodeFixedOrClassifyValueOption('fixedValue')" >ä¿å >ä¿å </el-button> </div> </basic-container> @@ -534,7 +535,7 @@ size="mini" type="primary" @click="addCodeSecValue('codefixedsec')" >æ·»å >æ·»å </el-button> <el-button :disabled="selectedFixedOrCodeclassifyValue == ''" @@ -544,7 +545,7 @@ size="mini" type="success" @click="editCodeSecValue('codefixedsec')" >ä¿®æ¹ >ä¿®æ¹ </el-button> <el-button :disabled="selectedFixedOrCodeclassifyValue == ''" @@ -553,7 +554,7 @@ size="mini" type="danger" @click="delCodeSecValue('codefixedsec')" >å é¤ >å é¤ </el-button> <el-button class="button" @@ -562,7 +563,7 @@ size="mini" type="warning" @click="clearFixedOrClassifyForm('codefixedsec')" >åæ¶ >åæ¶ </el-button> </div> </basic-container> @@ -879,10 +880,23 @@ :label-width="rightFormLabelWidth" label="èªå®ä¹çæµæ°´ç®æ³:" > <el-input v-model="form.customCodeSerialClass" :readonly="basicSecOnlyRead" ></el-input> <template> <vciWebRefer ref="refer" :referConfig="this.referConfig || {}" :display="true" :value="form.customCodeSerialClass" :text="form.customCodeSerialClass" @setReferValue="setReferValue" ></vciWebRefer> <!-- <el-input--> <!-- v-model="form.customCodeSerialClass"--> <!-- :readonly="basicSecOnlyRead"--> <!-- @focus="streamFocusHandler"--> <!-- ></el-input>--> </template> </el-form-item> </div> <!-- å±çº§ç 段 --> @@ -1147,9 +1161,10 @@ <div slot="footer" class="dialog-footer"> <el-button :disabled="!showbtn" type="primary" :loading="isLoadingSecCodeAddBtn" @click="saveOrEditBasicCode">ä¿ å</el-button> type="primary" @click="saveOrEditBasicCode">ä¿ å </el-button> <el-button @click="addBasicCodeSettingBox = false">å æ¶</el-button> </div> @@ -1246,11 +1261,13 @@ </avue-crud> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="saveSelectedParentClassify" >ä¿ å</el-button >ä¿ å </el-button > <el-button @click="parentClsfyParams.isShowParentClassifySettingBox = false" >å æ¶</el-button >å æ¶ </el-button > </div> </el-dialog> @@ -1271,6 +1288,10 @@ > </refer-config-dialog> </el-dialog> <!-- èªå®ä¹æµæ°´åç §ç»ä»¶--> </basic-container> </template> @@ -1295,7 +1316,7 @@ addSave, refDataGridClassifySec, } from "@/api/code/codebasic"; import { listClassifyLinkAttr } from "@/api/code/codeclassify"; import {listClassifyLinkAttr} from "@/api/code/codeclassify"; import { gridCodeFixedValue, addSaveCodeFixedValue, @@ -1310,8 +1331,8 @@ deleteCodeClassifyValue, saveCodeClassifyValueOrder, } from "@/api/code/codeClassifyValue"; import { getDictionary } from "@/api/omd/enum"; import { getDictionaryBiz } from "@/api/system/dictbiz"; import {getDictionary} from "@/api/omd/enum"; import {getDictionaryBiz} from "@/api/system/dictbiz"; import optionBasic from "@/const/code/codebasic"; import optionRule from "@/const/code/mdmrule"; import attrOption from "@/const/code/selectAttrOptionDialog"; @@ -1319,15 +1340,49 @@ import classisyValueTreeOption from "@/const/code/classisyValueTreeDialog"; import parentClassifyParentOption from "@/const/code/parentClassifyParentOptionDialog"; import fixedValueOption from "@/const/code/fixedValueMgrDialog"; import { mapGetters } from "vuex"; import { getByRoleUserList } from "@/api/system/user"; import {mapGetters} from "vuex"; import {getByRoleUserList} from "@/api/system/user"; import func from "@/util/func"; import secTypeEnum from '@/enumpack/CodeSecTypeEnum'; import vciWebRefer from "../../components/refer/vciWebRefer"; export default { components: { vciWebRefer }, data() { return { crudOption:{...optionRule}, referConfig:{ title: 'èªå®ä¹æµæ°´åç §', showField: 'customCodeSerialClass', field: 'customCodeSerialClass', fieldMap: {}, placeholder:'è¯·éæ©èªå®ä¹æµæ°´', options: { // 设置é»è®¤ç屿§ url: 'api/ubcs-code/codeSerialAlgorithmController/gridCodeSerialAlgorithm', valueField:'classFullName', textField:'classFullName', isMuti: false, type: "grid", method: 'get', tableConfig: { page: { limit: 15, page: 1 }, cols: [ {title: 'ç®æ³ç¼å·', field: 'id', width: 200}, {title: 'ç®æ³åç§°', field: 'name', width: 150}, {title: 'ç±»å ¨è·¯å¾', field: 'classFullName', width: 300}, {title: 'æè¿°', field: 'description'} ], queryColumns: [ // {field: 'id', title: 'ç®æ³ç¼å·'}, // {field: 'name', title: 'ç®æ³åç§°'} ] } } }, crudOption: {...optionRule}, ruleForm: {}, query: {}, loading: true, @@ -1599,7 +1654,7 @@ editBtn: this.vaildData(this.permission.code_rule.code_rule_edit, false), deactivateBtn: this.vaildData(this.permission.code_rule.code_rule_deactivate, false), enableBtn: this.vaildData(this.permission.code_rule.code_rule_enable, false), releaseBtn: this.vaildData(this.permission.code_rule. code_rule_release, false), releaseBtn: this.vaildData(this.permission.code_rule.code_rule_release, false), advancedQueryBtn: this.vaildData(this.permission.code_rule.code_rule_advanced_query, false), cloneBtn: this.vaildData(this.permission.code_rule.code_rule_clone, false), otherCloneBtn: this.vaildData(this.permission.code_rule.code_rule_other_clone, false), @@ -1610,11 +1665,11 @@ }; }, basicPermissionList() { return{ return { // åºç¡ç 段ç¸å ³æé® addBtn: this.vaildData(this.permission.code_rule.code_basic_add, false), editBtn: this.vaildData(this.permission.code_rule.code_basic_edit, false), viewBtn: this.vaildData(this.permission.code_rule. code_basic_view, false), viewBtn: this.vaildData(this.permission.code_rule.code_basic_view, false), basicDelBtn: this.vaildData(this.permission.code_rule.code_basic_delete, false), basicAdvancedQueryBtn: this.vaildData(this.permission.code_rule.code_basic_advanced_query, false), basicMgrBtn: this.vaildData(this.permission.code_rule.code_basic_mgr, false), @@ -1645,7 +1700,10 @@ localStorage.removeItem('codeGetValueType'); }, methods: { //èªå®ä¹æµæ°´å¤±ç¦ setReferValue(data){ console.log(data) }, /** 转移è§åææè å¯¹è¯æ¡ */ escapeOwner() { if (this.selectionList.length === 0) { @@ -1884,7 +1942,7 @@ /** å è½½åºå®ç 段ç å¼è¡¨æ°æ®*/ loadFixedValueTableData(row) { this.fixedValueOptionLoading = true; gridCodeFixedValue(1, -1, { codeFixedSecOid: row.oid }).then((res) => { gridCodeFixedValue(1, -1, {codeFixedSecOid: row.oid}).then((res) => { this.fixedValueData = res.data.data.records; this.fixedValueOptionLoading = false; }); @@ -1988,7 +2046,7 @@ description: this.codeFixdForm.description, id: this.codeFixdForm.id, codeFixedSecOid: this.selectedFixedOrCodeclassifyValue.codefixedsecoid, this.selectedFixedOrCodeclassifyValue.codefixedsecoid, }; editCodeFixedValue(editData).then( () => { @@ -2409,7 +2467,7 @@ }, /** ä¿®æ¹è§åç¶æ:å¯ç¨ãåç¨ãåå¸ */ updateStatus(oid, update) { updateStatus({ oid: oid, ts: new Date().getTime, update: update }).then( updateStatus({oid: oid, ts: new Date().getTime, update: update}).then( () => { this.releadDisabled = false; this.onLoad(this.page); @@ -2433,7 +2491,7 @@ //console.log(res) if (res.data.data.success) { this.updateStatus(oid, update); }else { } else { this.$confirm(res.data.data.msg, "æç¤º", { distinguishCancelAndClose: true, confirmButtonText: "ç»§ç»åå¸", @@ -2495,7 +2553,7 @@ }) .then(() => { let ts = new Date(currentData.ts).getTime(); return clearAllCode({ oid: currentData.oid, ts: ts }); return clearAllCode({oid: currentData.oid, ts: ts}); }) .then(() => { this.this.onLoad(this.page); @@ -2557,7 +2615,7 @@ // åªæ¯ææ¯æ¬¡åæ¡è®°å½å é¤ let oid = this.selectionList[0].oid; let ts = new Date(this.selectionList[0].ts).getTime(); return remove({ oid: oid, ts: ts }); return remove({oid: oid, ts: ts}); }) .then(() => { this.onLoad(this.page); @@ -2640,7 +2698,7 @@ gridCodeRule( page.currentPage, page.pageSize, Object.assign({},params,this.query), Object.assign({}, params, this.query), ).then((res) => { //console.log(res.data); const data = res.data.data; @@ -2751,8 +2809,8 @@ let oldBasicSec = this.selectionBasicList.at(-1); let secType = this.form.secType; Vue.set(this.form, 'isClearValue', false); if((oldBasicSec.secType == "codefixedsec" || oldBasicSec.secType === "codeclassifysec") && oldBasicSec.secType != secType){ await this.$confirm("ç æ®µç±»åç±ã"+oldBasicSec.secTypeText+"ãï¼ä¿®æ¹ä¸º"+"ã"+secTypeEnum.getTextByValue(secType)+"ãï¼è¯·é®æ¯å¦éè¦æ¸ ç©ºå ³èçç å¼ï¼", "æç¤º", { if ((oldBasicSec.secType == "codefixedsec" || oldBasicSec.secType === "codeclassifysec") && oldBasicSec.secType != secType) { await this.$confirm("ç æ®µç±»åç±ã" + oldBasicSec.secTypeText + "ãï¼ä¿®æ¹ä¸º" + "ã" + secTypeEnum.getTextByValue(secType) + "ãï¼è¯·é®æ¯å¦éè¦æ¸ ç©ºå ³èçç å¼ï¼", "æç¤º", { distinguishCancelAndClose: true, closeOnClickModal: false, confirmButtonText: "æ¸ ç©ºç å¼", @@ -3001,7 +3059,7 @@ }) .then(() => { let ts = new Date(this.selectionBasicList[0].ts).getTime(); return deleteData({ oid: oid, ts: ts }); return deleteData({oid: oid, ts: ts}); }) .then(() => { this.loadBasic({ @@ -3025,7 +3083,7 @@ //åå¨å½åå ³èçç¼ç è§åç¸å ³ä¿¡æ¯ this.currentCodeRuleOid = row.oid; this.currentRuleLcStatus = row.lcStatus; this.sendGridCodeBasicSec({ pkCodeRule: row.oid }, false); this.sendGridCodeBasicSec({pkCodeRule: row.oid}, false); } }, /** åéå è½½åºç¡ç 段ç请æ±*/ @@ -3082,7 +3140,7 @@ }, basicSearchReset() { this.sendGridCodeBasicSec( { pkCodeRule: this.selectionList[this.selectionList.length - 1].oid }, {pkCodeRule: this.selectionList[this.selectionList.length - 1].oid}, false ); }, @@ -3126,7 +3184,7 @@ return; } downOrderNum(row.oid).then(() => { this.loadBasic({ oid: codeRuleOid }); this.loadBasic({oid: codeRuleOid}); this.$message({ type: "success", message: "æä½æå!", @@ -3218,19 +3276,19 @@ this.loadCodeSecType(); } this.form = { oid: row !=null ? row.oid:this.form.oid, id: row != null ? row.id:this.form.id, //ç¼å·, name: row != null ? row.name:this.form.name, //åç§° secType: row != null ? row.secType:this.form.secType, //ç æ®µç±»å description: row != null ? row.description:this.form.description, //æè¿° serialDependFlag: this.isNullJsonBoolean(row,this.form, 'serialDependFlag'), //æ¯å¦æµæ°´ä¾èµ serialDependOrder: row !=null ? row.serialDependOrder:this.form.serialDependOrder, //æµæ°´ä¾èµé¡ºåº oid: row != null ? row.oid : this.form.oid, id: row != null ? row.id : this.form.id, //ç¼å·, name: row != null ? row.name : this.form.name, //åç§° secType: row != null ? row.secType : this.form.secType, //ç æ®µç±»å description: row != null ? row.description : this.form.description, //æè¿° serialDependFlag: this.isNullJsonBoolean(row, this.form, 'serialDependFlag'), //æ¯å¦æµæ°´ä¾èµ serialDependOrder: row != null ? row.serialDependOrder : this.form.serialDependOrder, //æµæ°´ä¾èµé¡ºåº nullableFlag: this.isNullJsonBoolean(row, this.form, 'nullableFlag'), //æ¯å¦ä¸ºç©º displayFlag: this.isNullJsonBoolean(row, this.form, 'displayFlag'), componentCodeFlag: this.isNullJsonBoolean(row, this.form, 'componentCodeFlag'), //æ¯å¦åä¸ç¼ç pkCodeRule: row != null ? row.pkCodeRule:this.form.pkCodeRule, //æå±ç¼ç è§å prefixCode: row != null ? row.prefixCode:this.form.prefixCode, //åç¼ suffixCode: row!= null ? row.suffixCode:this.form.suffixCode, //åç¼ pkCodeRule: row != null ? row.pkCodeRule : this.form.pkCodeRule, //æå±ç¼ç è§å prefixCode: row != null ? row.prefixCode : this.form.prefixCode, //åç¼ suffixCode: row != null ? row.suffixCode : this.form.suffixCode, //åç¼ }; if (this.form.secType === "codefixedsec") { //åºå®ç 段 @@ -3274,8 +3332,8 @@ row != null && row.serialStart != "" ? row.serialStart : 1, //æµæ°´å·èµ·å§å¼ serialStep: row != null && row.serialStep != "" ? row.serialStep : 1, //æµæ°´çæ¥é¿ codeFillType: row != null && row.codeFillType != "" ? row.codeFillType : "code_fill_left", //ç¼ç è¡¥ä½æ¹å¼ ? row.codeFillType : "code_fill_left", //ç¼ç è¡¥ä½æ¹å¼ // codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0, //è¡¥ä½æ¶çå符ï¼éä¸ç䏿æ¡ç䏿 codeFillSeparator: row != null && row.codeFillSeparator != "" @@ -3288,8 +3346,8 @@ codeFillFlag: row != null && row.codeFillFlag != "" ? row.codeFillFlag == "true" ? true : false ? true : false : false, //æµæ°´æ¯å¦è¡¥ç customCodeSerialClass: row != null && row.customCodeSerialClass != "" @@ -3352,8 +3410,8 @@ matchClassifyValueFlag: row != null && row.matchClassifyValueFlag != "" ? row.matchClassifyValueFlag == "true" ? true : false ? true : false : false, //æ¯å¦èªå¨å¹é å¼ parentClassifySecOid: row != null && row.parentClassifySecOid != "" @@ -3385,19 +3443,19 @@ } }, // 夿Boolean弿¯å¦ä¸ºç©ºï¼å¹¶ä¸å¯¹strç±»åå¸å°å¼è¿è¡è½¬æ¢ isNullJsonBoolean(row,form,attr) { //console.log(row[attr],form[attr]); if(row != null){ return JSON.parse(row[attr]); }else { return form[attr]; } isNullJsonBoolean(row, form, attr) { //console.log(row[attr],form[attr]); if (row != null) { return JSON.parse(row[attr]); } else { return form[attr]; } }, /** ç¬¬ä¸æ¬¡è¯·æ±çæä¸¾æ°æ®æ¾ç¼å*/ getLocalStorageEnum(enumKey) { let enumCach = JSON.parse(localStorage.getItem(enumKey)); if (enumCach == null) { getDictionary({ code: enumKey }).then((res) => { getDictionary({code: enumKey}).then((res) => { enumCach = res.data.data; localStorage.setItem(enumKey, JSON.stringify(res.data.data)); }); @@ -3428,7 +3486,7 @@ loadCodeFillSeparator() { //let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator")); //if (enumCach == null) { getDictionaryBiz({code:"codeFillSeparator"}).then((res) => { getDictionaryBiz({code: "codeFillSeparator"}).then((res) => { this.enumParam.codeFillSeparator = res.data.data; //console.log(this.enumParam.codeFillSeparator); localStorage.setItem( @@ -3453,7 +3511,7 @@ this.$message.warning("è¯·éæ©ä¸æ¡ç¼ç è§åï¼"); return; } if(this.selectionList.length> 1){ if (this.selectionList.length > 1) { this.$message.warning("åªè½éæ©ä¸æ¡ç¼ç è§åï¼"); return; } @@ -3465,155 +3523,155 @@ </script> <style> [class^="icon-"] { font-size: 12px !important; } [class^="icon-"] { font-size: 12px !important; } .code-rule-crud > .avue-crud__search, .code-basic-crud > .avue-crud__search { margin-bottom: -15px; } .code-rule-crud > .avue-crud__search, .code-basic-crud > .avue-crud__search { margin-bottom: -15px; } .clone-input-textarea > .el-form-item__content { width: 495px; } .clone-input-textarea > .el-form-item__content { width: 495px; } .clone-avue-crud > .el-card > .el-card__body > .avue-crud__menu { display: none !important; } .clone-avue-crud > .el-card > .el-card__body > .avue-crud__menu { display: none !important; } .fixed-avue-crud > .el-card > .el-card__body > .avue-crud__menu { display: none !important; } .fixed-avue-crud > .el-card > .el-card__body > .avue-crud__menu { display: none !important; } .other-clone-codebasic-crud > .el-card > .el-card__body > .avue-crud__menu { display: none !important; } .other-clone-codebasic-crud > .el-card > .el-card__body > .avue-crud__menu { display: none !important; } .other-clone-coderule-crud > .el-card > .el-card__body > .avue-crud__menu { display: none !important; } .other-clone-coderule-crud > .el-card > .el-card__body > .avue-crud__menu { display: none !important; } .el-table--small .el-table__cell { padding: 3px 0; } .el-table--small .el-table__cell { padding: 3px 0; } .classify_value_box > .el-scrollbar { height: 95%; } .classify_value_box > .el-scrollbar { height: 95%; } .basic-container > .el-card > .el-card__body { margin: -10px 0; } .basic-container > .el-card > .el-card__body { margin: -10px 0; } .code-basicsec-container { padding: 1px 6px; } .code-basicsec-container { padding: 1px 6px; } .horizontal-line { /* margin-top: 19px !important; */ margin-bottom: -20px !important; width: 100%; height: 2px; } .horizontal-line { /* margin-top: 19px !important; */ margin-bottom: -20px !important; width: 100%; height: 2px; } .el-card__body > .treeBox { height: 56vh; } .el-card__body > .treeBox { height: 56vh; } .el-col-5 > .box { height: 56vh; } .el-col-5 > .box { height: 56vh; } .operator_, filter, .layui-btn { width: 60px; } .operator_, filter, .layui-btn { width: 60px; } .left > .el-form-item > .el-form-item__content > .el-input-number { width: 120px; } .left > .el-form-item > .el-form-item__content > .el-input-number { width: 120px; } .left > .el-form-item > .el-form-item__content > .el-input-number > .el-input > .el-input__inner { width: 120px; } .left > .el-form-item > .el-form-item__content > .el-input-number > .el-input > .el-input__inner { width: 120px; } .el-col > .el-card > .el-card__header { background: rgb(213 231 239); border-radius: inherit; } .el-col > .el-card > .el-card__header { background: rgb(213 231 239); border-radius: inherit; } /** æ°å¢ç 段 */ .add-basicsec-dialog > .el-dialog > .el-dialog__body { padding: 20px 20px 4px; margin-bottom: 30px; } /** æ°å¢ç 段 */ .add-basicsec-dialog > .el-dialog > .el-dialog__body { padding: 20px 20px 4px; margin-bottom: 30px; } .add-basicsec-total { width: 100%; height: 500px; } .add-basicsec-total { width: 100%; height: 500px; } .add-basicsec-total .el-input__inner, .add-basicsec-total .el-textarea__inner { width: 220px; } .add-basicsec-total .el-input__inner, .add-basicsec-total .el-textarea__inner { width: 220px; } .add-basicsec-total > .add-basicsec-form { display: flex; flex-direction: row; width: 100%; .add-basicsec-total > .add-basicsec-form { display: flex; flex-direction: row; width: 100%; height: 100%; align-items: center; justify-content: space-around; } .add-basicsec-form > .el-divider--vertical { width: 2px; height: 78%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .left { /* float: left; */ width: 45%; height: 100%; } .right { /* float: right; */ margin-right: 2vw; height: 100%; width: auto; } .add-basicsec-form > .left > .el-form-item, .add-basicsec-form > .right > div > .el-form-item { margin-bottom: 12px; } /* å¯¹è¯æ¡åºé¨æé®è¾¹æ¡æ ·å¼ */ .el-dialog__footer { /* width: 100%; */ border-top: 1px solid #e9e7e7; padding: 5px 10px 10px; } .seloption { margin-left: 10px; } /* .code-total > .basic-container__card { height: 100%; align-items: center; justify-content: space-around; } .add-basicsec-form > .el-divider--vertical { width: 2px; height: 78%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .left { /* float: left; */ width: 45%; height: 100%; } .right { /* float: right; */ margin-right: 2vw; height: 100%; width: auto; } .add-basicsec-form > .left > .el-form-item, .add-basicsec-form > .right > div > .el-form-item{ margin-bottom: 12px; } /* å¯¹è¯æ¡åºé¨æé®è¾¹æ¡æ ·å¼ */ .el-dialog__footer { /* width: 100%; */ border-top: 1px solid #e9e7e7; padding: 5px 10px 10px; } .seloption { margin-left: 10px; } /* .code-total > .basic-container__card { height: 100%; } */ } */ </style> Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue
@@ -42,85 +42,11 @@ export default { name: "passwords.vue", data() { // æå°é¿åº¦æ£åç»å®å¼ let validatePass="" //æå¤§é¿åº¦æ£åç»å®å¼ let validatePass1="" //è¿ææ¶é´æ£åç»å®å¼ let validatePass2="" //æéæ¶é´æ£åç»å®å¼ let validatePass3="" //é宿¬¡æ°æ£åç»å®å¼ let validatePass4="" //é宿¶é´æ£åç»å®å¼ let validatePass5="" //æå°é¿åº¦ç»å®value let values="" //æå¤§é¿åº¦ç»å®value let values1="" //æå°é¿åº¦æ£åæ¹æ³ validatePass = (rule, value,callback) => { values=value*1 if(value == ""){ callback(new Error('请è¾å ¥å¯ç æå°é¿åº¦')); // }else if(values >= values1*1){ // callback(new Error('å¯ç æå°é¿åº¦ä¸è½å¤§äºå¯ç æå¤§é¿åº¦')); }else if(/[^\d]/g.test(value)){ callback(new Error('å¯ç æå°é¿åº¦çè¾å ¥ç±»ååªè½ä¸ºæ°åç±»å')); }else { callback(); } }; //æå¤§é¿åº¦æ£åæ¹æ³ validatePass1= (rule, value,callback) =>{ values1=value*1 if(value == ""){ callback(new Error('请è¾å ¥å¯ç æå¤§é¿åº¦')); }else if(values1 <= values){ callback(new Error('å¯ç æå¤§é¿åº¦ä¸è½å°äºå¯ç æå¤§é¿åº¦')); }else if(/[^\d]/g.test(value)){ callback(new Error('å¯ç æå¤§é¿åº¦çè¾å ¥ç±»ååªè½ä¸ºæ°åç±»å')); }else { callback(); } }; validatePass2 = (rule, value,callback) => { if(value == ""){ callback(new Error('请è¾å ¥è¿ææ¶é´')); }else if(/[^\d]/g.test(value)){ callback(new Error('è¿ææ¶é´çè¾å ¥ç±»ååªè½ä¸ºæ°åç±»å')); }else { callback(); } }; validatePass3 = (rule, value,callback) => { if(value == ""){ callback(new Error('请è¾å ¥è¿ææ¶é´')); }else if(/[^\d]/g.test(value)){ callback(new Error('è¿ææ¶é´çè¾å ¥ç±»ååªè½ä¸ºæ°åç±»å')); }else { callback(); } }; validatePass4 = (rule, value,callback) => { if(value == ""){ callback(new Error('请è¾å ¥é宿¬¡æ°')); }else if(/[^\d]/g.test(value)){ callback(new Error('é宿¬¡æ°çè¾å ¥ç±»ååªè½ä¸ºæ°åç±»å')); }else { callback(); } }; validatePass5 = (rule, value,callback) => { if(value == ""){ callback(new Error('请è¾å ¥é宿¶é´')); }else if(/[^\d]/g.test(value)){ callback(new Error('é宿¶é´çè¾å ¥ç±»ååªè½ä¸ºæ°åç±»å')); }else { callback(); } }; return { //æå°é¿åº¦ç»å®value values:"", //æå¤§é¿åº¦ç»å®value values1:"", form:{}, page: { pageSize: 10, @@ -195,7 +121,18 @@ labelWidth:"22%", rules: [{ required: true, validator:this.validatePass, validator:(rule, value,callback)=>{ this.values=value*1 if(value == ""){ callback(new Error('请è¾å ¥å¯ç æå°é¿åº¦')); }else if(/[^\d]/g.test(value)){ callback(new Error('å¯ç æå°é¿åº¦çè¾å ¥ç±»ååªè½ä¸ºæ°åç±»å')); }else if(this.values >= this.values1 && this.values1 != 0){ callback(new Error('å¯ç æå°é¿åº¦ä¸è½å¤§äºå¯ç æå¤§é¿åº¦')) }else { callback(); } }, trigger: 'blur' }] }, @@ -206,7 +143,18 @@ labelWidth:"25%", rules: [{ required: true, validator:this.validatePass1, validator:(rule, value,callback) =>{ this.values1=value*1 if(value == ""){ callback(new Error('请è¾å ¥å¯ç æå¤§é¿åº¦')); }else if(this.values1 <= this.values){ callback(new Error('å¯ç æå¤§é¿åº¦ä¸è½å°äºå¯ç æå¤§é¿åº¦')); }else if(/[^\d]/g.test(value)){ callback(new Error('å¯ç æå¤§é¿åº¦çè¾å ¥ç±»ååªè½ä¸ºæ°åç±»å')); }else { callback(); } }, trigger: 'change' }] }, @@ -280,7 +228,15 @@ labelWidth:"22%", rules: [{ required: true, validator:this.validatePass2, validator: (rule, value,callback) => { if(value == ""){ callback(new Error('请è¾å ¥è¿ææ¶é´')); }else if(/[^\d]/g.test(value)){ callback(new Error('è¿ææ¶é´çè¾å ¥ç±»ååªè½ä¸ºæ°åç±»å')); }else { callback(); } }, trigger: 'blur' }] }, @@ -291,7 +247,15 @@ labelWidth:"25%", rules: [{ required: true, validator:this.validatePass3, validator:(rule, value,callback) => { if(value == ""){ callback(new Error('请è¾å ¥è¿ææ¶é´')); }else if(/[^\d]/g.test(value)){ callback(new Error('è¿ææ¶é´çè¾å ¥ç±»ååªè½ä¸ºæ°åç±»å')); }else { callback(); } }, trigger: 'blur' }] }, @@ -302,7 +266,15 @@ labelWidth:"22%", rules: [{ required: true, validator:this.validatePass4, validator:(rule, value,callback) => { if(value == ""){ callback(new Error('请è¾å ¥é宿¬¡æ°')); }else if(/[^\d]/g.test(value)){ callback(new Error('é宿¬¡æ°çè¾å ¥ç±»ååªè½ä¸ºæ°åç±»å')); }else { callback(); } }, trigger: 'blur' }] }, @@ -313,7 +285,15 @@ labelWidth:"25%", rules: [{ required: true, validator:this.validatePass5, validator:(rule, value,callback) => { if(value == ""){ callback(new Error('请è¾å ¥é宿¶é´')); }else if(/[^\d]/g.test(value)){ callback(new Error('é宿¶é´çè¾å ¥ç±»ååªè½ä¸ºæ°åç±»å')); }else { callback(); } }, trigger: 'blur' }] }, @@ -350,41 +330,72 @@ this.selectlength=val }, handleCheckboxChange(val) { // console.log("val",val); const arr = this.option.column[5]; if(val){ this.checkboxlength = val.value; return } // console.log("this.checkboxlength",this.checkboxlength); this.checkboxlength = val.value; this.checkboxedit = this.checkboxlength.toString().split(","); if (val.value != undefined && val.value != null) { if (this.checkboxlist == val.value) { if (val.value !== undefined && val.value !== null) { if (this.checkboxlist === val.value) { return; } else { this.checkboxlist = val.value; if ( this.selectlength.value >= val.value.length && this.selectlength.value > val.value.length && val.value.length > 0 ) { this.showMessage("å¿ å¡«ç§ç±»ä¸è½å¤§äºç»åæ¹æ³ï¼è¯·éæ°éæ©ï¼"); this.showWarningMessage(); } else if ( this.selectlength.value >= this.checkboxedit.length && this.selectlength.value > this.checkboxedit.length && this.checkboxedit.length > 0 ) { this.showMessage("å¿ å¡«ç§ç±»ä¸è½å¤§äºç»åæ¹æ³ï¼è¯·éæ°éæ©ï¼"); this.showWarningMessage(); } } } const disabledCount = Math.min(this.checkboxedit.length, 4); for (let i = 0; i < arr.dicData.length; i++) { arr.dicData[i].disabled = i >= disabledCount; if (val.value !== undefined && val.value !== null) { if (val.value.length === 1) { this.setDisabled(arr, [0]); } else if (val.value.length === 2) { this.setDisabled(arr, [0, 1]); } else if (val.value.length === 3) { this.setDisabled(arr, [0, 1, 2]); } else if (val.value.length === 4) { this.setDisabled(arr, [0, 1, 2, 3]); } else if (val.value.length === 0) { this.setDisabled(arr, [-1]); } } else if (this.checkboxNumber.length !== 0) { this.setDisabled(arr, [0, 1, 2, 3]); } if (this.editFlag == true) { const disabledCount = Math.min(this.checkboxedit.length, 4); for (let i = 0; i < arr.dicData.length; i++) { arr.dicData[i].disabled = i >= disabledCount; if (this.editFlag) { if (this.checkboxedit.length === 1) { this.setDisabled(arr, [0]); } else if (this.checkboxedit.length === 2) { this.setDisabled(arr, [0, 1]); } else if (this.checkboxedit.length === 3) { this.setDisabled(arr, [0, 1, 2]); } else if (this.checkboxedit.length === 4) { this.setDisabled(arr, [0, 1, 2, 3]); } else if (this.checkboxedit.length === 0) { this.setDisabled(arr, [-1]); } } }, setDisabled(arr, indices) { arr.dicData.forEach((item, index) => { item.disabled = !indices.includes(index); }); }, showWarningMessage() { this.$message({ message: 'å¿ å¡«ç§ç±»ä¸è½å¤§äºç»åæ¹æ³ï¼è¯·éæ°éæ©ï¼', type: 'warning', showClose: true, }); }, rowDel(row){ this.$confirm("ç¡®å®å°éæ©æ°æ®å é¤?", { @@ -432,7 +443,7 @@ this.editFlag=true; this.checkboxNumber=row.combinationIds.split(",") this.selectNumber=row.requiredType if(this.checkboxNumber.length<=this.selectNumber){ if(this.checkboxNumber.length < this.selectNumber){ this.$message({ type:"warning", message:"å¿ å¡«ç§ç±»ä¸è½å¤§äºç»åæ¹æ³ï¼è¯·éæ°éæ©ï¼" Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeBasicSecDTO.java
@@ -193,6 +193,11 @@ private String customCodeSerialClass; /** * èªå®ä¹çæµæ°´ç®æ³ç±» */ private String customCodeSerialClassText; /** * æ¯å¦èªå¨å¹é åç±»å¼ */ private String matchClassifyValueFlag; @@ -661,6 +666,14 @@ this.referCodeClassifyOidName = referCodeClassifyOidName; } public String getCustomCodeSerialClassText() { return customCodeSerialClassText; } public void setCustomCodeSerialClassText(String customCodeSerialClassText) { this.customCodeSerialClassText = customCodeSerialClassText; } @Override public String toString() { return "CodeBasicSecDTO{" + Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeBasicSec.java
@@ -237,6 +237,12 @@ */ private String customCodeSerialClass; /** * èªå®ä¹çæµæ°´ç®æ³ç±» */ private String customCodeSerialClassText; /** * æ¯å¦èªå¨å¹é åç±»å¼ */ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeBasicSecVO.java
@@ -200,6 +200,11 @@ private String customCodeSerialClass; /** * èªå®ä¹çæµæ°´ç®æ³ç±» */ private String customCodeSerialClassText; /** * æ¯å¦èªå¨å¹é åç±»å¼ */ private String matchClassifyValueFlag; Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeSerialAlgorithmVO.java
@@ -1,11 +1,13 @@ package com.vci.ubcs.code.vo.pagemodel; import com.vci.ubcs.starter.revision.model.BaseModel; /** * æµæ°´ç®æ³ç±»çæ¾ç¤ºä¿¡æ¯ * @author weidy * @date 2022-2-17 */ public class CodeSerialAlgorithmVO implements java.io.Serializable{ public class CodeSerialAlgorithmVO extends BaseModel { /** * ç®æ³ç¼å· Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/UIFormItemVO.java
@@ -3,6 +3,7 @@ import com.vci.ubcs.starter.web.pagemodel.KeyValue; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -136,6 +137,10 @@ * è¾å ¥æç¤º */ private String inputTip; /** * å ¶å®å±æ§é½å¯ä»¥å¾é颿¾ */ private Map<String, String> addField = new HashMap<>(); public boolean isKeyAttr() { return keyAttr; @@ -329,6 +334,14 @@ this.selectLibFlag = selectLibFlag; } public Map<String, String> getAddField() { return addField; } public void setAddField(Map<String, String> addField) { this.addField = addField; } @Override public String toString() { return "UIFormItemVO{" + Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/util/ExcelUtil.java
@@ -943,7 +943,7 @@ Map<Integer, String> rowDataMap = new HashMap(); for(int columnIndex = 0; columnIndex < rowDataSet.getLastCellNum(); ++columnIndex) { for(int columnIndex = 0; columnIndex < sheetDataSet.getColName().size(); ++columnIndex) { Cell cell = rowDataSet.getCell(columnIndex); Object value = getCellValue(cell, evaluator); String title = colsNameIndexMap.containsKey(columnIndex) ? (String)colsNameIndexMap.get(columnIndex) : ""; @@ -1025,14 +1025,17 @@ } else { rowDataMap.put(columnIndex, VciBaseUtil.getStringValueFromObject(value)); } } else if (!isDataSet && thisField != null && excelColumn != null) { if (!excelColumn.nullable()) { throw new VciBaseException("cellValueCanNotNull", new String[]{title, rowIndex + 1 + ""}); } } else { if (!isDataSet && thisField != null && excelColumn != null) { if (!excelColumn.nullable()) { throw new VciBaseException("cellValueCanNotNull", new String[]{title, rowIndex + 1 + ""}); } if (StringUtil.isNotBlank(excelColumn.regExg())) { throw new VciBaseException("cellValueCanNotNullForReg", new String[]{title, rowIndex + 1 + ""}); if (StringUtil.isNotBlank(excelColumn.regExg())) { throw new VciBaseException("cellValueCanNotNullForReg", new String[]{title, rowIndex + 1 + ""}); } } rowDataMap.put(columnIndex, VciBaseUtil.getStringValueFromObject(value)); } } Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
@@ -1438,7 +1438,61 @@ return sb.toString(); } public static String intToRomans(int num) { public static String convertArabicToRoman(int num) { int[] values={1000,900,500,400,100,90,50,40,10,9,5,4,1}; String[] romans={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"}; StringBuilder sb=new StringBuilder(); for(int i=0;i<values.length;i++){ while(num>=values[i]){ num=num-values[i]; sb.append(romans[i]); } } return sb.toString(); } /** * æç½é©¬æ°å转æ¢ä¸ºé¿æä¼¯æ°å * @param m * @return */ public static int convertRomanToArabic(String m) { int graph[] = new int[400]; graph['I'] = 1; graph['V'] = 5; graph['X'] = 10; graph['L'] = 50; graph['C'] = 100; graph['D'] = 500; graph['M'] = 1000; char[] num = m.toCharArray(); int sum = graph[num[0]]; for (int i = 0; i < num.length - 1; i++) { if (graph[num[i]] >= graph[num[i + 1]]) { sum += graph[num[i + 1]]; } else { sum = sum + graph[num[i + 1]] - 2 * graph[num[i]]; } } return sum; } /*** * æ ¡éªæ¯å¦æ¯ç½é©¬æ°å * @param s * @return */ public static boolean isRoman(String s) { // æ£æ¥è¾å ¥çå符串æ¯å¦ä¸ºç©º if (s == null || s.length() == 0) { return false; } // å°è¾å ¥çå符串转æ¢ä¸ºå¤§å忝 s = s.toUpperCase(); // è¿åç»æ Pattern pattern = Pattern.compile("^M{0,3}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$"); return pattern.matcher(s ).matches(); } public static String intToRomanTwo(int num) { String M[] = {"", "M", "MM", "MMM"}; String C[] = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"}; String X[] = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"}; Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomRomanSerialAlgorithmExample.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,34 @@ package com.vci.ubcs.code.algorithm; import com.vci.ubcs.code.annotation.MdmSerialAlgorithm; import com.vci.ubcs.code.annotation.MdmSerialAlgorithmMethod; import com.vci.ubcs.code.dto.CodeOrderSecDTO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import com.vci.ubcs.starter.revision.model.BaseModel; import com.vci.ubcs.starter.web.util.VciBaseUtil; import java.util.List; /**** * èªå®ä¹ç½é©¬æµæ°´ç®æ³èªå®ä¹ç±» */ @MdmSerialAlgorithm(text = "èªå®ä¹ç½é©¬æµæ°´",description = "èªå®ä¹ç½é©¬æµæ°´ç®æ³") public class CustomRomanSerialAlgorithmExample { /** * çæç½é©¬æµæ°´å·çæ¹æ³ * @return æµæ°´å·çä¿¡æ¯ */ @MdmSerialAlgorithmMethod public String serialGenerate(BaseModel data, CodeRuleVO codeRuleVO, List<CodeOrderSecDTO> secDTOList){ //å°æ°åæµæ°´è½¬ä¸ºç½é©¬æµæ°´ String romanValue=VciBaseUtil.convertArabicToRoman(5); //å°ç½é©¬æµæ°´è½¬ä¸ºæ°åæµæ°´ int arabicValue=VciBaseUtil.convertRomanToArabic(romanValue); return ""; } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomSerialAlgorithmExample.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package com.vci.ubcs.code.algorithm; import com.vci.ubcs.code.annotation.MdmSerialAlgorithm; import com.vci.ubcs.code.annotation.MdmSerialAlgorithmMethod; import com.vci.ubcs.code.dto.CodeOrderSecDTO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import com.vci.ubcs.starter.revision.model.BaseModel; import java.util.List; /** * æµæ°´ç®æ³çç¤ºä¾ */ @MdmSerialAlgorithm(text = "æµæ°´ç®æ³ç示ä¾",description = "请ä¸è¦ä½¿ç¨è¿ä¸ªç±»ï¼è¿ä¸ªç±»åªæ¯ç¤ºä¾ï¼ç¨äºæ¥çå¦ä½ç¼åæµæ°´ç®æ³") public class CustomSerialAlgorithmExample { /** * çææµæ°´å·çæ¹æ³ * @return æµæ°´å·çä¿¡æ¯ */ @MdmSerialAlgorithmMethod public String serialGenerate(BaseModel data, CodeRuleVO codeRuleVO, List<CodeOrderSecDTO> secDTOList){ return ""; } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/annotation/MdmSerialAlgorithm.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ package com.vci.ubcs.code.annotation; import org.springframework.stereotype.Component; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * èªå®ä¹æµæ°´ç®æ³ç注解 * @author xiejun * @date 2023-11-09 */ @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Component public @interface MdmSerialAlgorithm { /** * å¼ï¼å®é å°±æ¯è¿ä¸ªæ³¨è§£æå¨çç±»çå ¨è·¯å¾ * @return å¼ */ String value() default ""; /** * äºä»¶çåç§° * @return äºä»¶åç§° */ String text(); /** * æè¿° * @return æè¿° */ String description() default ""; } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/annotation/MdmSerialAlgorithmMethod.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.vci.ubcs.code.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * èªå®ä¹æµæ°´ç®æ³å¤çæ¹æ³ç注解 * @author xiejun * @date 2023-11-09 */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface MdmSerialAlgorithmMethod { /** * å¼ * @return å¼ */ String value() default ""; } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java
@@ -83,13 +83,19 @@ /** * ä½¿ç¨æ¨¡æ¿ç主é®è·å表åçå®ä¹ * @param codeClassifyOid ä½¿ç¨æ¨¡æ¿çåç±»ä¸»é® * @param map ä¼ çæ°æ® * @return UIç¸å ³çä¿¡æ¯ï¼ä» å å«è¡¨åï¼ */ @GetMapping("/getFormDefineByTemplateOid") public MdmUIInfoVO getFormDefineByTemplateOid(String codeClassifyOid){ CodeClassifyTemplateVO usedTemplateByClassifyOid = mdmEngineService.getUsedTemplateByClassifyOid(codeClassifyOid); return mdmEngineService.getFormDefineByTemplateOid(usedTemplateByClassifyOid.getOid(),codeClassifyOid); @RequestMapping("/getFormDefineByTemplateOid") public MdmUIInfoVO getFormDefineByTemplateOid(@RequestParam Map<String,String> map){ // CodeClassifyTemplateVO usedTemplateByClassifyOid = mdmEngineService.getUsedTemplateByClassifyOid(codeClassifyOid); CodeClassifyTemplateVO usedTemplateByClassifyOid = mdmEngineService.getUsedTemplateByClassifyOid(map.get("codeClassifyOid")); MdmUIInfoVO formDefineByTemplate = mdmEngineService.getFormDefineByTemplateOid(usedTemplateByClassifyOid.getOid(), map.get("codeClassifyOid")); for (UIFormItemVO item : formDefineByTemplate.getFormDefineVO().getItems()) { if(map.get(item.getField()) != null){ item.getAddField().put("defaultValue",map.get(item.getField())); } }return formDefineByTemplate; } /** Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSerialAlgorithmController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,42 @@ package com.vci.ubcs.code.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.vci.ubcs.code.vo.pagemodel.CodeAllCodeVO; import com.vci.ubcs.code.vo.pagemodel.CodeSerialAlgorithmVO; import io.swagger.annotations.Api; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tool.api.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.vci.ubcs.code.service.ICodeSerialAlgorithmService; /** * å ¨é¨ç å¼ æ§å¶å¨ * * @author ludc * @since 2023-04-03 */ @RestController @AllArgsConstructor @RequestMapping("/codeSerialAlgorithmController") @Api(value = "èªå®ä¹æµæ°´", tags = "èªå®ä¹æµæ°´ç®æ³") public class CodeSerialAlgorithmController extends BladeController { /** * ç®æ³æå¡ */ @Autowired private ICodeSerialAlgorithmService algorithmService; /** * ç®æ³çå表 * @return ç®æ³çä¿¡æ¯ */ @GetMapping("/gridCodeSerialAlgorithm") public R<IPage<CodeSerialAlgorithmVO>> gridCodeSerialAlgorithm(){ IPage<CodeSerialAlgorithmVO> pages= algorithmService.gridSerialAlgorithm(); return R.data(pages); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeSerialAlgorithmService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.vci.ubcs.code.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.vci.ubcs.code.vo.pagemodel.CodeSerialAlgorithmVO; import org.springblade.core.tool.api.R; /** * æµæ°´ç®æ³ç±» * @author weidy * @date 2022-2-17 */ public interface ICodeSerialAlgorithmService { /** * è·åæµæ°´ç®æ³çå表 * @return æµæ°´ç®æ³çä¿¡æ¯ */ IPage<CodeSerialAlgorithmVO> gridSerialAlgorithm(); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSerialAlgorithmServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,65 @@ package com.vci.ubcs.code.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.vci.ubcs.code.annotation.MdmSerialAlgorithm; import com.vci.ubcs.code.service.ICodeSerialAlgorithmService; import com.vci.ubcs.code.vo.pagemodel.CodeSerialAlgorithmVO; import com.vci.ubcs.starter.web.util.ApplicationContextProvider; import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springframework.aop.framework.Advised; import org.springframework.aop.support.AopUtils; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * æµæ°´ç®æ³çæå¡ * @author weidy * @date 2022-2-17 */ @Service public class CodeSerialAlgorithmServiceImpl implements ICodeSerialAlgorithmService { /** * è·åæµæ°´ç®æ³çå表 * * @return æµæ°´ç®æ³çä¿¡æ¯ */ @Override public IPage<CodeSerialAlgorithmVO> gridSerialAlgorithm() { //使ç¨ä¸»é®å»æ«æ String[] beanNames = ApplicationContextProvider.getApplicationContext().getBeanNamesForAnnotation(MdmSerialAlgorithm.class); List<CodeSerialAlgorithmVO> voList = new ArrayList<>(); if(beanNames!=null && beanNames.length>0){ for(String beanName : beanNames){ Object bean = ApplicationContextProvider.getApplicationContext().getBean(beanName); if(bean!=null){ CodeSerialAlgorithmVO algorithmVO = new CodeSerialAlgorithmVO(); //Advised advised = (Advised)bean; Class<?> targetClass = AopUtils.getTargetClass(bean); //Class<?> targetClass = advised.getTargetSource().getTargetClass(); algorithmVO.setClassFullName(targetClass.getName()); MdmSerialAlgorithm serialAlgorithm = targetClass.getDeclaredAnnotation(MdmSerialAlgorithm.class); if(serialAlgorithm==null){ serialAlgorithm = targetClass.getAnnotation(MdmSerialAlgorithm.class); } if(serialAlgorithm !=null) { algorithmVO.setName(serialAlgorithm.text()); algorithmVO.setDescription(serialAlgorithm.description()); algorithmVO.setId(serialAlgorithm.value()); if(StringUtils.isBlank(algorithmVO.getId())){ algorithmVO.setId(beanName); } voList.add(algorithmVO); } } } } Query query=new Query(); IPage<CodeSerialAlgorithmVO> queryIPage =Condition.getPage(query); queryIPage.setRecords(voList); return queryIPage; } } Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml
@@ -55,6 +55,7 @@ <result property="codeFillLimit" column="CODEFILLLIMIT" jdbcType="INTEGER"/> <result property="codeFillFlag" column="CODEFILLFLAG" jdbcType="VARCHAR"/> <result property="customCodeSerialClass" column="CUSTOMCODESERIALCLASS" jdbcType="VARCHAR"/> <result property="customCodeSerialClassText" column="CUSTOMCODESERIALCLASSTEXT" jdbcType="VARCHAR"/> <result property="matchClassifyValueFlag" column="MATCHCLASSIFYVALUEFLAG" jdbcType="VARCHAR"/> <result property="parentClassifySecOid" column="PARENTCLASSIFYSECOID" jdbcType="VARCHAR"/> <result property="parentClassifySecText" column="b__name" jdbcType="VARCHAR"/> @@ -123,6 +124,7 @@ PL_CODE_BASICSEC.codelevelvalue, PL_CODE_BASICSEC.codefilllength, PL_CODE_BASICSEC.customcodeserialclass, PL_CODE_BASICSEC.customCodeSerialClassText, PL_CODE_BASICSEC.matchclassifyvalueflag, PL_CODE_BASICSEC.sectype, PL_CODE_BASICSEC.pkcoderule,