wangting
2024-12-17 b9686c7739bf131922005e86128ba9232c0313ac
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
@@ -21,22 +21,22 @@
    <el-main>
      <basic-container>
        <div>
          <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">创建</el-button>
          <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editClickHandler">修改</el-button>
          <el-button icon="el-icon-delete" plain size="small" type="danger" @click="deleteClickHandler">删除</el-button>
          <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">导出</el-button>
          <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">导入</el-button>
          <el-button icon="el-icon-circle-plus-outline" plain size="small" type="primary" @click="createViewClickHandler">创建视图</el-button>
          <el-button icon="el-icon-circle-plus-outline" plain size="small" type="primary" @click="indexClickHandler">创建索引</el-button>
          <el-button icon="el-icon-menu" plain size="small" type="primary" @click="checkClickHandler">一致性检查</el-button>
          <el-button icon="el-icon-delete" plain size="small" type="danger" @click="checkClickHandler">删除数据</el-button>
          <el-button icon="el-icon-delete" plain size="small" type="danger" @click="checkClickHandler">删除全部类型</el-button>
          <el-button icon="el-icon-view" plain size="small" type="primary" @click="checkViewClickHandler">查看使用范围</el-button>
          <el-button v-if="permissionList.addBtn" icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">创建</el-button>
          <el-button v-if="permissionList.editBtn" icon="el-icon-edit" plain size="small" type="primary" @click="editClickHandler">修改</el-button>
          <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="deleteClickHandler">删除</el-button>
          <el-button v-if="permissionList.importBtn" icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">导入</el-button>
          <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">导出</el-button>
          <el-button v-if="permissionList.createViewBtn" icon="el-icon-circle-plus-outline" plain size="small" type="primary" @click="createViewClickHandler">创建视图</el-button>
          <el-button v-if="permissionList.createIndexBtn" icon="el-icon-circle-plus-outline" plain size="small" type="primary" @click="indexClickHandler">创建索引</el-button>
          <el-button v-if="permissionList.consistencyCheckBtn" icon="el-icon-menu" plain size="small" type="primary" @click="checkClickHandler">一致性检查</el-button>
          <el-button v-if="permissionList.deleteDataBtn" icon="el-icon-delete" plain size="small" type="danger" @click="checkClickHandler">删除数据</el-button>
          <el-button v-if="permissionList.deleteEveryTypeBtn" icon="el-icon-delete" plain size="small" type="danger" @click="checkClickHandler">删除全部类型</el-button>
          <el-button v-if="permissionList.viewTheScopeBtn" icon="el-icon-view" plain size="small" type="primary" @click="checkViewClickHandler">查看使用范围</el-button>
        </div>
        <div style="display: flex;justify-content:left;margin-top: 15px;">
          <div class="descBox" style="width: 40%">
            <el-descriptions :column="1" border class="margin-top" size="medium" title="属性信息">
              <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
            <el-descriptions :column="2" border class="margin-top" size="medium" title="属性信息">
              <el-descriptions-item :span="12" :contentStyle="descriptionOption.contentStyle"
                                    :labelStyle="descriptionOption.labelStyle">
                <template slot="label">
                  名称
@@ -50,7 +50,16 @@
                </template>
                <el-tag v-if="nodeRow.name">{{ nodeRow.name }}</el-tag>
              </el-descriptions-item>
              <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
              <el-descriptions-item  :contentStyle="descriptionOption.contentStyle+';min-width: 100px;'"
                                    :labelStyle="descriptionOption.labelStyle">
                <template slot="label">
                  图标
                </template>
                <span class="avue-icon avue-icon--small" style="display: block">
                  <span v-html="svgHtml(nodeRow.imageName )"></span>
                </span>
              </el-descriptions-item>
              <el-descriptions-item :span="12" :contentStyle="descriptionOption.contentStyle"
                                    :labelStyle="descriptionOption.labelStyle">
                <template slot="label">
                  实现类
@@ -60,7 +69,7 @@
                  <el-tag style="max-width: 100%;overflow: hidden;display: block">{{ nodeRow.implClass }}</el-tag>
                </el-tooltip>
              </el-descriptions-item>
              <el-descriptions-item :contentStyle="descriptionOption.contentStyle"
              <el-descriptions-item :span="12" :contentStyle="descriptionOption.contentStyle"
                                    :labelStyle="descriptionOption.labelStyle">
                <template slot="label">
                  描述
@@ -170,28 +179,27 @@
            </el-form-item>
            <el-row :span="24">
              <el-col :span="12">
                <el-form-item label="标签:">
                <el-form-item label="标签:" prop="name">
                  <el-input v-model="form.name"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="图标:">
                  <avue-input-icon v-model="form.icon" :icon-list="iconList" placeholder="请选择图标">
                  </avue-input-icon>
                <el-form-item label="图标:" prop="imageName">
                  <input-icon v-model="form.imageName" placeholder="请选择图标"></input-icon>
                </el-form-item>
              </el-col>
            </el-row>
            <el-form-item label="继承自:">
            <el-form-item label="继承自:" prop="fName">
              <avue-input-tree :disabled="title === 'add'"
                               v-model="form.fName"
                               placeholder="请选择业务类型"
                               :props="{label: 'id', value: 'id',children: 'children'}"
                               :dic="inheritTreeData"></avue-input-tree>
            </el-form-item>
            <el-form-item label="实现类:">
            <el-form-item label="实现类:" prop="implClass">
              <el-input v-model="form.implClass"></el-input>
            </el-form-item>
            <el-form-item label="描述">
            <el-form-item label="描述" prop="description">
              <el-input v-model="form.description" :rows="2" type="textarea"></el-input>
            </el-form-item>
          </div>
@@ -235,7 +243,7 @@
                           :props="{label: 'id', value: 'id'}"
                           :dic="lifeData"></avue-select>
            </el-form-item>
            <el-form-item label="备选生命周期列表:" label-width="138px">
            <el-form-item label="备选生命周期列表:" label-width="138px" prop="subLifeCycleIdList">
              <avue-select multiple
                           :filterable="true"
                           v-model="form.subLifeCycleIdList"
@@ -430,13 +438,12 @@
import func from "@/util/func";
import {getUsedVersionRuleList, getVersionRuleAllList} from "@/api/modeling/version/api";
import {gridLifeCycle} from "@/api/modeling/lifeCycle/api";
import iconList from "@/config/iconList";
import {mapGetters} from "vuex";
export default {
  name: "index",
  data() {
    return {
      iconList: iconList,
      indexLoading: false,
      indexFormRead: false,
      indexAttrRow: {},
@@ -639,6 +646,9 @@
          {required: true, message: '请输类型名称', trigger: 'blur'},
          {validator: this.validateEnglishOnly, trigger: 'blur'}
        ],
        imageName:[
          {required: true, message: '请选择图标', trigger: 'submit'},
        ],
        revLevel: [
          {required: true, message: '请选择版本规则', trigger: 'blur'},
        ],
@@ -787,7 +797,23 @@
    this.getVersionList();
    this.getLifeCycle();
  },
  mounted() {
  computed:{
    ...mapGetters(["permission"]),
    permissionList() {
      return {
        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
        editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
        exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false),
        importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false),
        consistencyCheckBtn: this.vaildData(this.permission[this.$route.query.id].consistencyCheck, false),
        createIndexBtn: this.vaildData(this.permission[this.$route.query.id].createIndex, false),
        createViewBtn: this.vaildData(this.permission[this.$route.query.id].createView, false),
        deleteDataBtn: this.vaildData(this.permission[this.$route.query.id].deleteData, false),
        deleteEveryTypeBtn: this.vaildData(this.permission[this.$route.query.id].deleteEveryType, false),
        viewTheScopeBtn: this.vaildData(this.permission[this.$route.query.id].viewTheScope, false),
      };
    },
  },
  watch:{
    'form.lifeCycleId':{
@@ -803,6 +829,9 @@
    }
  },
  methods: {
    svgHtml(svgName){
      return func.getSVGByName(svgName);
    },
    //树表查询
    getTreeList() {
      this.treeLoading = true;