田源
2024-02-28 45455b3144d80bf58aeb00b7484fe71e4e2ae9a3
Source/UBCS-WEB/src/views/modeling/Business.vue
@@ -4,15 +4,15 @@
    <!--    </el-header>-->
    <el-container>
      <el-aside style="width: 20%">
      <el-aside style="width: 300px">
        <basic-container class="businessTreeContainer">
          <div class="app">
          <div class="app"style="height: calc(100vh - 145px);">
            <div style="display: flex;margin-bottom: 10px;justify-content: space-around;">
              <el-button v-if="permissionList.addBtn" plain size="mini" style="width: 60px" type="primary"
              <el-button v-if="permissionList.addBtn" plain size="mini"  type="primary"
                         @click="businessAdd">
                新增
              </el-button>
              <el-button v-if="permissionList.editBtn" plain size="mini" style="width: 60px" type="primary"
              <el-button v-if="permissionList.editBtn" plain size="mini"  type="primary"
                         @click="businessEdit">
                修改
              </el-button>
@@ -20,19 +20,21 @@
                         type="primary" @click="selectFromTable"> 从已有中获取
              </el-button>
            </div>
            <avue-tree :data="treeData" :option="treeOption" class="businessTree" style="height: 70.3vh"
                       @node-click="nodeClick">
              <template slot-scope="{ node, data }" class="el-tree-node__label">
                <el-tooltip :content="$createElement('div', { domProps: { innerHTML: node.label } })" class="item" effect="dark"
                            open-delay="250"
                            placement="right-start">
                <span>
            <div style="height:  calc(100vh - 220px);overflow: auto">
              <avue-tree :data="treeData" :option="treeOption" class="businessTree"
                         @node-click="nodeClick">
                <template slot-scope="{ node, data }" class="el-tree-node__label">
                  <el-tooltip :content="$createElement('div', { domProps: { innerHTML: node.label } })" class="item" effect="dark"
                              open-delay="250"
                              placement="top-start">
                <span style="font-size: 15px;">
                <i :class="(node || {}).level === 2 ? 'el-icon-star-off' : 'el-icon-folder-opened'"></i>
                {{ (node || {}).label }}
              </span>
                </el-tooltip>
              </template>
            </avue-tree>
                  </el-tooltip>
                </template>
              </avue-tree>
            </div>
          </div>
        </basic-container>
@@ -94,24 +96,6 @@
                </template>
                {{ obj.lifeCycleName ? obj.lifeCycleName + '(' + obj.lifeCycleId + ')' : '' }}
              </el-descriptions-item>
              <!--              <el-descriptions-item :contentStyle="descriptionOption.contentStyle"-->
              <!--                                    :labelStyle="descriptionOption.labelStyle">-->
              <!--                <template slot="label">-->
              <!--                  <i :class="icons.view"></i>-->
              <!--                  视图-->
              <!--                </template>-->
              <!--                <el-tag v-if="obj.viewText" size="small">-->
              <!--                  {{ obj.viewText }}-->
              <!--                </el-tag>-->
              <!--                <span v-else></span>-->
              <!--              </el-descriptions-item>-->
              <!-- <el-descriptions-item>
            <template slot="label">
              <i class="el-icon-arrow-down"></i>
              实现类
            </template>
            {{ obj.implClass }}
          </el-descriptions-item> -->
              <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
                                    :labelStyle="descriptionOption.labelStyle">
                <template slot="label">
@@ -125,14 +109,15 @@
          <!-- 属性列表-->
          <basic-container>
            <p style="margin-top: 10px;font-weight: 570;font-size: 19px">属性列表</p>
            <avue-crud v-model="obj" :data="obj.attributes" :option="loadOption" class="attributeCrud">
<!--            style="height: calc(100vh - 435px)"-->
            <avue-crud v-model="obj" :data="obj.attributes" :option="loadOption"  class="attributeCrud">
              <template slot="attrDataTypeText" slot-scope="{row}">
                <el-tag>{{ row.attrDataTypeText }}</el-tag>
              </template>
            </avue-crud>
          </basic-container>
        </el-main>
        <el-dialog :visible="ref.visible" append-to-body title="从数据库中添加" top="9vh" width="700px"
        <el-dialog :visible="ref.visible" append-to-body title="从数据库中添加" top="4vh" width="600px"
                   @close="dialoghandelfalse">
          选择领域:
          <el-select v-model="domain" placeholder="请选择" size="small" @change="refOnLoad">
@@ -155,6 +140,10 @@
    <business-add ref="btmAdd" :btmType="addOption.btmType" :domainOption="domainOptions" :icons="icons" :type="type"
                  @refreshTable="initTreeOnLoad">
    </business-add>
    <business-edit ref="btmEdit" :btmType="addOption.btmEditType" :domainOption="domainOptions" :icons="icons" :type="type"
                   @refreshTable="initTreeOnLoad">
    </business-edit>
  </el-container>
</template>
<script>
@@ -180,6 +169,7 @@
      selectionList: [],
      treeData: [],
      treeOption: {
        height:'auto',
        defaultExpandAll: false,
        title: '业务类型树',
        addBtn: false,
@@ -192,10 +182,16 @@
        }
      },
      addOption: {
        btmType: {},
        btmType: {
          attributes:[]
        },
        btmEditType:{
          attributes:[]
        }
      },
      loadOption: {
        height: 'auto',
        calcHeight: 0,
        border: true,
        editBtn: false,
        addBtn: false,
@@ -262,6 +258,7 @@
          tabs: true,
          addBtn: false,
          menu: false,
          refreshBtn:false,
          highlightCurrentRow: true,
          column: [
            {
@@ -301,6 +298,18 @@
      if (data.oid) {
        getDetail(data.oid).then(res => {
          this.obj = res.data.data;
          this.addOption.btmEditType = res.data.data;
          // if(this.addOption.btmEditType.domainText){
          //   this.$refs.btmEdit.getDefaultData('reVersionRule', 'ruleData', 'ruleFirstSelection');
          // }
          // //版本规则
          // if(this.addOption.btmEditType.revisionRuleName && this.addOption.btmEditType.revisionRuleId){
          //   this.$refs.btmEdit.getDefaultData('reVersionRule', 'ruleData', 'ruleFirstSelection');
          // }
          // //生命周期
          // if(this.addOption.btmEditType.lifeCycleId && this.addOption.btmEditType.lifeCycleName){
          //   this.$refs.btmEdit.getDefaultData('lifeCycle', 'lifeData', 'lifeCycleSelection')
          // }
        })
      } else {
        this.$message.warning('请点击子节点');
@@ -379,9 +388,9 @@
        this.$message.warning("请选择一条叶子节点的业务类型");
        return;
      }
      const json = JSON.stringify(this.obj);
      this.$refs.btmAdd.btmType = JSON.parse(json);
      this.$refs.btmAdd.showSubmitDialog = true;
      // const json = JSON.stringify(this.obj);
      // this.$refs.btmAdd.btmType = JSON.parse(json);
      this.$refs.btmEdit.showSubmitDialog = true;
      this.type = 'edit'
      this.ifRefreshBtmAddRefresh();
    },
@@ -403,10 +412,7 @@
}
.app {
  overflow-y: auto;
  height: 84.3vh;
}
//
//.app::-webkit-scrollbar {