Merge remote-tracking branch 'origin/master'
| | |
| | | }}; |
| | | |
| | | /** |
| | | * BaseModel和BusinessObject中的属性映射。 |
| | | * key:为BaseModel中的属性,value:为BusinessObject中的属性 |
| | | */ |
| | | public static final Map<String, String> BASEMODEL_CBO_FIELD_MAP = new HashMap(){{ |
| | | put("oid", "oid"); |
| | | put("revisionoid","revoid"); |
| | | put("nameoid","nameoid"); |
| | | put("btmname","btname"); |
| | | put("lastr","islastr"); |
| | | put("firstr","isfirstr"); |
| | | put("lastv","islastv"); |
| | | put("firstv","isfirstv"); |
| | | put("creator","creator"); |
| | | put("createtime","createtime"); |
| | | put("lastmodifier","modifier"); |
| | | put("lastmodifytime","modifytime"); |
| | | put("revisionrule","revisionrule"); |
| | | put("versionrule","versionrule"); |
| | | put("revisionseq","revisionseq"); |
| | | put("revisionvalue","revisionvalue"); |
| | | put("versionseq","versionseq"); |
| | | put("versionvalue","versionvalue"); |
| | | put("lctid","lctid"); |
| | | put("lcstatus","lcstatus"); |
| | | put("ts","ts"); |
| | | put("id","id"); |
| | | put("name","name"); |
| | | put("description","description"); |
| | | put("owner","owner"); |
| | | put("copyfromversion","fromversion"); |
| | | }}; |
| | | |
| | | /** |
| | | * 主键属性 |
| | | */ |
| | | public static final String OID_FIELD = "oid"; |
| | |
| | | } |
| | | } |
| | | //如果版本本次序号的属性,需要从属性的映射中,获取业务类型中的字段名称 |
| | | clientBoAttrName = VciQueryWrapperForDO.BASE_MODEL_COMPATIBILITY_MAP.getOrDefault(clientBoAttrName.toLowerCase(Locale.ROOT),clientBoAttrName); |
| | | clientBoAttrName = VciQueryWrapperForDO.BASEMODEL_CBO_FIELD_MAP.getOrDefault(clientBoAttrName.toLowerCase(Locale.ROOT),clientBoAttrName); |
| | | return clientBoAttrName; |
| | | } |
| | | |
| | |
| | | * @return 方法 |
| | | */ |
| | | public static Method getSetmethod(Class c,String fieldName){ |
| | | if(c!=null&&isNotNull(fieldName)){ |
| | | if(c != null && isNotNull(fieldName)){ |
| | | try { |
| | | PropertyDescriptor pd = new PropertyDescriptor(fieldName, c); |
| | | return pd.getWriteMethod(); |
| | | } catch (SecurityException e) { |
| | | } catch (IntrospectionException e) { |
| | | } catch (Exception e) { |
| | | //TODO 不做处理 |
| | | } |
| | | } |
| | | return null; |
| | |
| | | * @param value 属性值 |
| | | */ |
| | | public static void setValueForFieldFromCbo(String fieldName,Object obj,String value){ |
| | | System.out.println("fieldName:"+fieldName+",value:"+value); |
| | | try{ |
| | | Field field = getFieldForObject(fieldName,obj); |
| | | if(field != null){ |
| | |
| | | List<Field> boFields = getAllFieldForObj(bo.getClass()); |
| | | if(!CollectionUtils.isEmpty(boFields)){ |
| | | for(Field field : boFields){ |
| | | //说明这个就是在BO对象上的 |
| | | Object value = getValueFromField(field.getName(), bo); |
| | | if(value != null){ |
| | | //BusinessObject和BaseModel中,以下的属性,不相同,需要单独处理 |
| | | switch (field.getName().toLowerCase()){ |
| | | case "revoid": |
| | | setValueForFieldFromCbo("revisionOid", obj, getStringValueFromObject(value)); |
| | | break; |
| | | case "btname": |
| | | setValueForFieldFromCbo("btmName", obj, getStringValueFromObject(value)); |
| | | break; |
| | | case "islastr": |
| | | setValueForFieldFromCbo("lastr", obj, getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0"); |
| | | break; |
| | | case "isfirstr": |
| | | setValueForFieldFromCbo("firstr", obj, getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0"); |
| | | break; |
| | | case "islastv": |
| | | setValueForFieldFromCbo("lastv", obj, getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0"); |
| | | break; |
| | | case "isfirstv": |
| | | setValueForFieldFromCbo("firstv", obj, getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0"); |
| | | break; |
| | | case "modifytime": |
| | | setValueForFieldFromCbo("lastmodifytime", obj, getStringValueFromObject(value)); |
| | | break; |
| | | case "fromversion": |
| | | setValueForFieldFromCbo("copyFromVersion", obj, getStringValueFromObject(value)); |
| | | break; |
| | | default: |
| | | setValueForFieldFromCbo(fieldAttrMap.get(field.getName().toLowerCase()), obj, getStringValueFromObject(value)); |
| | | break; |
| | | if(VciQueryWrapperForDO.BASEMODEL_CBO_FIELD_MAP.containsValue(field.getName().toLowerCase())){ |
| | | //说明这个就是在BO对象上的 |
| | | Object value = getValueFromField(field.getName(), bo); |
| | | if(value != null){ |
| | | //BusinessObject和BaseModel中,是否第一版本版次的属性,需要单独处理 |
| | | String fieldValue; |
| | | if(VciQueryWrapperForDO.BASE_MODEL_COMPATIBILITY_MAP.containsValue(field.getName().toLowerCase())){ |
| | | fieldValue = getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0"; |
| | | }else{ |
| | | fieldValue = getStringValueFromObject(value); |
| | | } |
| | | setValueForFieldFromCbo(fieldAttrMap.get(field.getName().toLowerCase()), obj, fieldValue); |
| | | } |
| | | } |
| | | } |
| | |
| | | * @return true为默认 |
| | | */ |
| | | public static boolean isDefaultField(String fieldNames){ |
| | | if(VciQueryWrapperForDO.BASIC_FIELD_MAP.containsKey(fieldNames) || VciQueryWrapperForDO.LIFECYCLE_MANAGE_FIELD_MAP.containsKey(fieldNames) |
| | | || VciQueryWrapperForDO.REVISION_MANAGE_FIELD_MAP.containsKey(fieldNames) || VciQueryWrapperForDO.BASE_MODEL_COMPATIBILITY_MAP.containsValue(fieldNames)) { |
| | | if(VciQueryWrapperForDO.BASEMODEL_CBO_FIELD_MAP.containsKey(fieldNames)) { |
| | | return true; |
| | | } |
| | | return false; |
| | |
| | | // 获取文件扩展名 |
| | | const fileExtension = file.name.split(".").pop().toLowerCase(); // 转换为小写以避免大小写不匹配的问题 |
| | | |
| | | if(this.paramVOS.fileType){ |
| | | if (!this.paramVOS.fileType.includes(fileExtension)) { |
| | | if(this.paramVOS.filetype){ |
| | | if (!this.paramVOS.filetype.includes(fileExtension)) { |
| | | // 上传格式不符合要求,提示错误信息并取消上传 |
| | | this.$message.error(`只允许上传${this.paramVOS.fileType.toString()}格式的文件`); |
| | | this.$message.error(`只允许上传${this.paramVOS.filetype.toString()}格式的文件`); |
| | | return Promise.reject(false); |
| | | } |
| | | } |
| | |
| | | const canvas = document.createElement('canvas') |
| | | const canvasContext = canvas.getContext('2d') |
| | | canvasContext.font = this.fontSize + 'px System' |
| | | let label = model.label.replace('\n', '') |
| | | let label = model.label ? model.label.replace('\n', '') : ''; |
| | | let sourceWidth = this.formModel.width |
| | | let sourceHeight = this.formModel.height |
| | | const spacing = 10 |
| | |
| | | label-width="80px" |
| | | size="mini" |
| | | > |
| | | <el-form-item label="名称" prop="id"> |
| | | <el-form-item label="模板名称" prop="id"> |
| | | <el-input v-model.trim="newRowData.id" :disabled="!disabledBtn" :maxLength="20" clearable/> |
| | | </el-form-item> |
| | | <el-form-item label="标签" prop="name"> |
| | |
| | | saveEventList: [] |
| | | }, |
| | | rules: { |
| | | name: [{required: true, message: "名称不能为空", trigger: "blur"}], |
| | | name: [{required: true, message: "标签不能为空", trigger: "blur"}], |
| | | id: [ |
| | | {required: true, message: "标签不能为空", trigger: "blur"}, |
| | | {required: true, message: "名称不能为空", trigger: "blur"}, |
| | | { |
| | | pattern: /^[A-z]+$/g, |
| | | message: "标签只能输入英文", |
| | |
| | | color: #409eff; |
| | | background-color: #ecf5ff; |
| | | } |
| | | |
| | | } |
| | | |
| | | .event { |
| | |
| | | <template> |
| | | <div class="item_panel_box"> |
| | | <el-input size="mini" placeholder="输入关键字进行过滤" v-model="filterText"> |
| | | <el-input v-model="filterText" placeholder="输入关键字进行过滤" size="mini"> |
| | | </el-input> |
| | | <div class="box_item"> |
| | | <item-panel class="item-panel" v-loading="loading"> |
| | | <item-panel v-loading="loading" class="item-panel"> |
| | | <template v-for="(item, index) in nodeItems"> |
| | | <item |
| | | :key="index" |
| | | :type="item.type || 'node'" |
| | | :size="item.size || '72*43'" |
| | | :shape="item.shape || 'flow-rect'" |
| | | :model="{ |
| | | // must have model property |
| | | color: item.color || '#1890FF', |
| | | label: item.id || '节点' |
| | | }" |
| | | :shape="item.shape || 'flow-rect'" |
| | | :size="item.size || '72*43'" |
| | | :type="item.type || 'node'" |
| | | > |
| | | <template v-if="item.src"> |
| | | <div class="item item-img"> |
| | | <img :src="item.src" :alt="item.id" /> |
| | | <img :alt="item.id" :src="item.src"/> |
| | | </div> |
| | | </template> |
| | | <template v-else> |
| | | <div :class="'item item-' + (item.shape || 'flow-rect')"> |
| | | <span>{{ item.id }}</span> |
| | | <el-tooltip v-if="item.id.length > 9" :content="item.id" effect="light" placement="top"> |
| | | <span class="spanValue">{{ item.id }}</span> |
| | | </el-tooltip> |
| | | <span v-else>{{ item.id }}</span> |
| | | </div> |
| | | </template> |
| | | </item> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { Item, ItemPanel } from 'vue-flowchart-editor' |
| | | import {Item, ItemPanel} from 'vue-flowchart-editor' |
| | | // import { getPage } from '../../../api/omd/status' |
| | | |
| | | export default { |
| | | name: 'EditorItemPanel', |
| | | components: { ItemPanel, Item }, |
| | | components: {ItemPanel, Item}, |
| | | props: { |
| | | nodeItems:{ |
| | | type:Array, |
| | | default:() => [], |
| | | nodeItems: { |
| | | type: Array, |
| | | default: () => [], |
| | | } |
| | | }, |
| | | data() { |
| | |
| | | .item-img { |
| | | max-width: 100px; |
| | | } |
| | | |
| | | .spanValue { |
| | | white-space: nowrap; // 防止换行 |
| | | overflow: hidden; //隐藏超出部分 |
| | | text-overflow: ellipsis; //显示省略号 |
| | | } |
| | | </style> |
| | |
| | | ], |
| | | form: {}, |
| | | topForm: { |
| | | itemQtName:'', |
| | | columnNumber: 8, |
| | | showColumn: '3', |
| | | viName: '', |
| | |
| | | dicUrl: '/api/uiManagerController/getBtmDatasByPage?page=1&limit=-1', |
| | | filterable: true, |
| | | change: (val) => { |
| | | console.log('showTypeChangeFlag',this.showTypeChangeFlag) |
| | | if (val.value) { |
| | | let params = { |
| | | 'conditionMap[selectBtmType]': this.form.searchTarger === '1' ? this.form.showType : this.form.linkType |
| | |
| | | // 增加关闭对话框 清空event数组 |
| | | beforeClose(done) { |
| | | this.eventData = []; |
| | | this.showTypeChangeFlag = false; |
| | | this.linkTypeChangeFlag = false; |
| | | done(); |
| | | }, |
| | | |
| | |
| | | }; |
| | | }); |
| | | } |
| | | console.log('row',row); |
| | | this.searchTargerChangeFlag = false; |
| | | this.$refs.crud.rowEdit(row); |
| | | }, |