ludc
2023-12-08 c892580371ef4679c858e2da98f71a9345aa3d80
Source/UBCS-WEB/src/views/modeling/LinkTypeAdd.vue
@@ -1,10 +1,12 @@
<template>
    <el-dialog title="链接类型" :visible.sync="showSubmitDialog" append-to-body @close="closeSubmitDialog" width="70%"  top="6vh"
        style="height: 115vh;">
        <el-form ref="form" :model="linkType" show-message="true" inline size="medium" label-suffix=":"
            class="linkTypeForm" :rules="rules" @resetFields="resetForm" status-icon="true">
            <el-form-item label="英文名称" label-width="100px" required="true" prop="id">
                <el-input v-model="linkType.id" :prefix-icon="icons.id" maxlength="15" show-word-limit type="text"></el-input>
  <el-dialog :visible.sync="showSubmitDialog" append-to-body style="height: 115vh;" title="链接类型" top="6vh"
             width="70%"
             @close="closeSubmitDialog">
    <el-form ref="form" :model="linkType" :rules="rules" class="linkTypeForm" inline label-suffix=":"
             show-message="true" size="medium" status-icon="true" @resetFields="resetForm">
      <el-form-item label="英文名称" label-width="100px" prop="id" required="true">
        <el-input v-model="linkType.id" :disabled="this.linkType.hasOwnProperty('id')" :prefix-icon="icons.id" maxlength="15" show-word-limit
                  type="text"></el-input>
            </el-form-item>
            <el-form-item label="中文名称" label-width="100px">
                <el-input v-model="linkType.name" :prefix-icon="icons.name"></el-input>
@@ -14,13 +16,14 @@
            </el-form-item>
            <el-form-item label="所属领域" label-width="100px" prop="domain">
                <el-select v-model="linkType.domain" :prefix-icon="icons.domain">
                    <el-option v-for="item in domainOption" :label="item.label" :value="item.value"
                        :key="item.value"></el-option>
          <el-option v-for="item in domainOption" :key="item.value" :label="item.label"
                     :value="item.value"></el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="From端类型" label-width="100px">
                <!-- from端业务类型选择 -->
                <el-select v-model="linkType.fromBtmValues" :value="linkType.fromBtmTypes" value-key="oid" placeholder="请选择From端类型" filterable multiple collapse-tags @change="fromSelectChange">
        <el-select v-model="linkType.fromBtmValues" :value="linkType.fromBtmTypes" collapse-tags
                   filterable multiple placeholder="请选择From端类型" value-key="oid" @change="fromSelectChange">
                    <el-option-group v-for="domain in domainList" :key="domain.id" :label="domain.name">
                        <el-option v-for="item in domain.childList" :key="item.oid" :label="item.id + item.name"
                            :value="item">
@@ -30,7 +33,8 @@
            </el-form-item>
            <el-form-item label="To端类型" label-width="100px">
                <!-- to端业务类型选择 -->
                <el-select v-model="linkType.toBtmValues" :value="linkType.toBtmTypes" value-key="oid" placeholder="请选择To端类型" filterable multiple collapse-tags @change="toSelectChange">
        <el-select v-model="linkType.toBtmValues" :value="linkType.toBtmTypes" collapse-tags filterable
                   multiple placeholder="请选择To端类型" value-key="oid" @change="toSelectChange">
                    <el-option-group v-for="domain in domainList" :key="domain.id" :label="domain.name">
                        <el-option v-for="item in domain.childList" :key="item.oid" :label="item.id + item.name"
                            :value="item">
@@ -38,14 +42,14 @@
                    </el-option-group>
                </el-select>
            </el-form-item>
            <el-form-item label="描述" label-width="100px" class="description">
                <el-input v-model="linkType.description" :prefix-icon="icons.desc" class="descClass" id="descId"></el-input>
      <el-form-item class="description" label="描述" label-width="100px">
        <el-input id="descId" v-model="linkType.description" :prefix-icon="icons.desc" class="descClass"></el-input>
            </el-form-item>
        </el-form>
        <avue-crud :option="option" :data="linkType.attributes" :page.sync="page" ref="attrTable"
    <avue-crud ref="attrTable" :data="linkType.attributes" :option="option" :page.sync="page"
            @cell-mouse-enter="cellEditClick" @cell-mouse-leave="cellEditSave">
            <template slot-scope="scope" slot="menuLeft">
                <el-button type="danger" icon="el-icon-plus" size="small" @click="rowAdd()">属性选择</el-button>
      <template slot="menuLeft" slot-scope="scope">
        <el-button icon="el-icon-plus" size="small" type="danger" @click="rowAdd()">属性选择</el-button>
            </template>
        </avue-crud>
@@ -55,8 +59,8 @@
        </div>
        <!-- 属性池的选择 -->
        <el-dialog title="属性池" :visible="attrRef.visible" append-to-body @close="closeAttrDialog" width="80%">
            <avue-crud class="attrRef" :option="attrRef.option" :data="attrRef.data" :page.sync="attrRef.page" ref="attrRef"
    <el-dialog :visible="attrRef.visible" append-to-body title="属性池" width="80%" @close="closeAttrDialog">
      <avue-crud ref="attrRef" :data="attrRef.data" :option="attrRef.option" :page.sync="attrRef.page" class="attrRef"
                @on-load="attrRefOnLoad" @search-change="attrRefSearch" @selection-change="selectionChange">
                <template slot="typeValue" slot-scope="scope">
                    <el-tag>{{ scope.row.typeValue }}</el-tag>
@@ -78,17 +82,27 @@
import { queryPage } from '@/api/omd/OmdAttribute';
import { getPage } from '@/api/omd/revisionRule';
import { initTree } from "@/api/omd/btmType"
export default {
    name: 'LinkTypeAdd',
    props: {
        linkType: {
            type: Object
      type: Object,
      default: {}
        },
        domainOption: {
            type: Array
        },
        icons: {
            type: Array
    }
  },
  watch: {
    linkType:{
      handler(newval){
        // console.log(newval);
        // console.log( newval.hasOwnProperty('id'))
      }
        }
    },
    data() {
@@ -388,6 +402,7 @@
#descId {
    width: 57vw;
}
.el-tag + .el-tag{
  margin-top: 2px;
}