wangting
2024-12-10 22537c899356e43cbae8c52d1ac4d80cb3b52ae0
Merge remote-tracking branch 'origin/master'
已修改8个文件
142 ■■■■■ 文件已修改
Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/wrapper/VciQueryWrapperForDO.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/WebUtil.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/components/actions/base/uploadFile.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/components/flow-cycle/components/DetailForm.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/components/flow-cycle/components/DetailPanel.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/components/flow-cycle/components/ItemPanel.vue 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/wrapper/VciQueryWrapperForDO.java
@@ -175,6 +175,39 @@
    }};
    /**
     * 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";
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/WebUtil.java
@@ -624,7 +624,7 @@
            }
        }
        //如果版本本次序号的属性,需要从属性的映射中,获取业务类型中的字段名称
        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;
    }
    
@@ -750,12 +750,12 @@
     * @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;
@@ -815,6 +815,7 @@
     * @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){
@@ -1164,38 +1165,18 @@
            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);
                        }
                    }
                }
@@ -1579,8 +1560,7 @@
     * @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;
Source/plt-web/plt-web-ui/src/components/actions/base/uploadFile.vue
@@ -119,10 +119,10 @@
      // 获取文件扩展名
      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);
        }
      }
Source/plt-web/plt-web-ui/src/components/flow-cycle/components/DetailForm.vue
@@ -158,7 +158,7 @@
          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
Source/plt-web/plt-web-ui/src/components/flow-cycle/components/DetailPanel.vue
@@ -8,7 +8,7 @@
        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">
@@ -108,9 +108,9 @@
        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: "标签只能输入英文",
@@ -185,7 +185,6 @@
    color: #409eff;
    background-color: #ecf5ff;
  }
}
.event {
Source/plt-web/plt-web-ui/src/components/flow-cycle/components/ItemPanel.vue
@@ -1,29 +1,32 @@
<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>
@@ -34,16 +37,16 @@
</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() {
@@ -118,4 +121,10 @@
.item-img {
  max-width: 100px;
}
.spanValue {
  white-space: nowrap; // 防止换行
  overflow: hidden; //隐藏超出部分
  text-overflow: ellipsis; //显示省略号
}
</style>
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue
@@ -1026,6 +1026,7 @@
      ],
      form: {},
      topForm: {
        itemQtName:'',
        columnNumber: 8,
        showColumn: '3',
        viName: '',
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
@@ -604,6 +604,7 @@
                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
@@ -916,6 +917,8 @@
    // 增加关闭对话框 清空event数组
    beforeClose(done) {
      this.eventData = [];
      this.showTypeChangeFlag = false;
      this.linkTypeChangeFlag = false;
      done();
    },
@@ -935,6 +938,7 @@
          };
        });
      }
      console.log('row',row);
      this.searchTargerChangeFlag = false;
      this.$refs.crud.rowEdit(row);
    },