lihang
2023-05-16 ca6ec80da1bffc13e67b2ce5e34ff67f485cc74f
Source/UBCS-WEB/src/views/modeling/original.vue
@@ -1,44 +1,89 @@
<template>
  <basic-container>
    <avue-crud v-model="form" :option="option" :data="data" ref="crud"
               @on-load="onLoad"
               @row-save="rowSave"
               @row-update="rowUpdate"
               :before-open="beforeOpen"
               @row-del="rowDel"
               :page.sync="page"
               @refresh-change="refreshChange"
    >
      <template slot-scope="{row,index,type}" slot="selInputForm">
        <div style="margin-left: 75px">
          <el-input v-model="form.text" :size="size"
                    style="width: 210px" :readonly="true"></el-input>
          <el-button type="primary" style="margin-left: 10px" @click="addHandle">选择</el-button>
          <el-button type="info">取消</el-button>
        </div>
      </template>
    </avue-crud>
    <el-dialog :visible.sync="packageBox"
               append-to-body
               title="查看业务类型"
               width="1000px">
      <original-range @rowchange="rowchange"></original-range>
      <span slot="footer" class="dialog-footer">
  <el-container>
    <el-main>
      <basic-container>
        <avue-crud v-model="form" :option="option" :data="data" ref="crud" @on-load="onLoad" @row-save="rowSave"
          @row-update="rowUpdate" :before-open="beforeOpen" @row-del="rowDel" :page.sync="page"
          @refresh-change="refreshChange" @row-click="rowClick">
          <template slot-scope="{row,index,type}" slot="selInputForm">
          <div style="margin-left: 75px">
            <el-input v-model="form.text" :size="size" style="width: 210px" :readonly="true" @focus="selectBtmType" :disabled="referType.disable"></el-input>
            <!-- <el-button type="primary" style="margin-left: 10px" @click="addHandle">选择</el-button> -->
            <!-- <el-button type="info">取消</el-button> -->
          </div>
        </template>
        </avue-crud>
        <el-dialog :visible.sync="referType.display" append-to-body :title="referType.title" width="1000px">
          <original-range @rowchange="rowchange"></original-range>
          <span slot="footer" class="dialog-footer">
            <el-button @click="dialoghandelfalse">取 消</el-button>
            <el-button type="primary" @click="dialoghandeltrue">确 定</el-button>
  </span>
    </el-dialog>
    <el-dialog :visible.sync="packageLinkBox"
               append-to-body
               title="查看链接类型"
               width="1000px">
      <original-link @rowLinkchange="rowLinkchange"></original-link>
      <span slot="footer" class="dialog-footer">
          </span>
        </el-dialog>
        <!-- <el-dialog :visible.sync="packageLinkBox" append-to-body title="查看链接类型" width="1000px">
          <original-link @rowLinkchange="rowLinkchange"></original-link>
          <span slot="footer" class="dialog-footer">
            <el-button @click="Linkdialoghandelfalse">取 消</el-button>
            <el-button type="primary" @click="Linkdialoghandeltrue">确 定</el-button>
  </span>
    </el-dialog>
  </basic-container>
          </span>
        </el-dialog> -->
      </basic-container>
    </el-main>
    <el-aside>
      <basic-container class="itemForm">
        <el-tabs v-model="activeName" @tab-click="handleClick">
          <el-tab-pane label="属性项" name="attrTab">
            <el-form ref="form" :model="itemData" label-width="80px" style="height: 656px;">
              <el-form-item label="属性编码">
                <el-input v-model="itemData.key" :disabled="true"></el-input>
              </el-form-item>
              <el-form-item label="属性名称">
                <el-input v-model="itemData.label" :disabled="true"></el-input>
              </el-form-item>
              <el-form-item label="属性类型">
                <el-input v-model="itemData.typeValue" :disabled="true"></el-input>
              </el-form-item>
              <el-form-item label="标签">
                <el-input v-model="itemData.hashtag" :disabled="true"></el-input>
              </el-form-item>
              <el-form-item label="默认值">
                <el-input v-model="itemData.defaultValue" :disabled="true"></el-input>
              </el-form-item>
              <el-form-item label="允许为空">
                <el-switch v-model="itemData.nullable" :disabled="true"></el-switch>
              </el-form-item>
              <el-form-item label="长度">
                <el-input v-model="itemData.maxLength" :disabled="true"></el-input>
              </el-form-item>
              <el-form-item label="描述">
                <el-input v-model="itemData.description" :disabled="true"></el-input>
              </el-form-item>
            </el-form>
          </el-tab-pane>
          <el-tab-pane label="参照" name="valueTab">
            <el-form ref="form" :model="itemData" label-width="80px" style="height: 656px;">
              <el-form-item label="参照类型">
                <el-input v-model="itemData.referTypeValue" :disabled="true"></el-input>
              </el-form-item>
              <el-form-item label="参照名称">
                <el-input v-model="itemData.referToName" :disabled="true"></el-input>
              </el-form-item>
            </el-form>
          </el-tab-pane>
          <el-tab-pane label="枚举" name="enumTab">
            <el-form ref="form" :model="itemData" label-width="80px" style="height: 656px;">
              <el-form-item label="使用枚举">
                <el-switch v-model="itemData.usingDict" :disabled="true"></el-switch>
              </el-form-item>
              <el-form-item label="枚举类型">
                <el-input v-model="form.dictCode" :disabled="true"></el-input>
              </el-form-item>
            </el-form>
          </el-tab-pane>
        </el-tabs>
      </basic-container>
    </el-aside>
  </el-container>
</template>
<script>
@@ -49,33 +94,37 @@
  update, getPage
} from "@/api/omd/OmdAttribute";
import {
  getDictionary
} from "@/api/omd/dict";
import { getDictionary } from "@/api/omd/enum";
export default {
  name: "original.vue",
  name: "original",
  data() {
    return {
      datas:[],
      formAtrr:{},
      datas: [],
      itemData: {},
      activeName: 'attrTab',
      formAtrr: {},
      rouname: "",
      // 业务类型对话框
      packageBox: false,
      //链接类型对话框
      packageLinkBox: false,
      referType: {
        code: 'referType',
        key: '',
        value: '',
        display: false,
        title: '',
        disable: true
      },
      //值域下拉框数据
      Typelist: [],
      //版本数据
      banList: [],
      // 属性类型下拉框数据
      typeSelectList : [
      typeSelectList: [
        {
          label: "哈哈哈",
          value:0
          value: 0
        },],
      // 是否为空
      nullable : [],
      nullable: [],
      form: {
        text: ""
      },
@@ -91,6 +140,7 @@
      ],
      option: {
        height: "550px",
        selection: true,
        headerAlign: 'center',
        border: true,
@@ -102,7 +152,8 @@
            label: '属性编号',
            prop: 'key',
            align: 'left',
            display: false
            display: false,
            width: 200
          }, {
            label: '属性名称',
            prop: 'label',
@@ -119,7 +170,7 @@
            label: '是否使用枚举',
            prop: 'usingDict',
            type: 'switch',
            // hide: true,
            hide: true,
            labelWidth: 132,
            display: false,
            dicData: [{
@@ -149,12 +200,12 @@
            hide: true,
            labelWidth: 132,
            dicData: [{
                  label: '否',
                  value: 1
                }, {
                  label: '是',
                  value: 0
                }]
              label: '否',
              value: 1
            }, {
              label: '是',
              value: 0
            }]
          },
          {
            label: "长度",
@@ -188,7 +239,7 @@
                label: '标签',
                prop: 'hashtag',
                hide: true
              },{
              }, {
                label: '属性类型字典码',
                prop: 'typeCode',
                display: false,
@@ -222,7 +273,13 @@
                type: 'switch',
                hide: true,
                labelWidth: 132,
                dicData: this.nullable
                dicData: [{
                  label: '否',
                  value: 1
                }, {
                  label: '是',
                  value: 0
                }]
              },
              {
                label: "长度",
@@ -237,25 +294,31 @@
            ]
          },
          {
            label: '值域',
            label: '参照',
            column: [
              {
                placeholder: "请选择值域",
                label: '参照类别',
                prop: 'referTypeCode',
                display: false,
                hide: true
              },{
                span: 12,
                label: '值域',
                prop: 'range',
                value: 0,
                label: '参照类别',
                prop: 'referTypeKey',
                type: "select",
                change: this.selectChange,
                dicData: [
                dicUrl: '/api/ubcs-omd/dict-biz/dictionary?code=referType',
                dicType: 'String',
                props: {
                  label: 'dictValue',
                  value: 'dictKey'
                },
                rules: [
                  {
                    label: "业务类型",
                    value: 0
                  },
                  {
                    label: "链接类型",
                    value: 1
                  },
                    required: true,
                    message: "请选择参照类别",
                    trigger: "click"
                  }
                ]
              },
              {
@@ -265,24 +328,24 @@
                display: true,
                formslot: true,
              },
              {
                label: "选择版本",
                prop: "banben",
                type: 'select',
                value: 0,
                change: this.selchange,
                display: true,
                dicData: [
                  {
                    label: '当前版本次',
                    value: 0
                  },
                  {
                    label: '最新版本次',
                    value: 1
                  }
                ]
              },
              // {
              //   label: "选择版本",
              //   prop: "banben",
              //   type: 'select',
              //   value: 0,
              //   change: this.selchange,
              //   display: true,
              //   dicData: [
              //     {
              //       label: '当前版本次',
              //       value: 0
              //     },
              //     {
              //       label: '最新版本次',
              //       value: 1
              //     }
              //   ]
              // },
              {
                //默认表格插槽
                prop: "default",
@@ -352,6 +415,8 @@
  created() {
    const column =this.findObject(this.option.group,"referTypeKey")
    console.log(column);
  },
  methods: {
    rowLinkchange(row) {
@@ -390,18 +455,22 @@
      this.packageLinkBox = false
    },
    selectChange(val) {
      this.Typelist = val
      if (val.value == 0) {
        this.option.group[1].column[2].display = false
      } else if (val.value == 1) {
        this.option.group[1].column[2].display = true
      } else if (val.column.value == 0) {
        this.option.group[1].column[2].display = false
       console.log(val);
       this.referType.key = val.value
      if (val.value == 'businessType'){
        this.referType.value = '业务类型'
      }
      if (val.value == 'linkType'){
        this.referType.value = '链接类型'
      }
      if(val.value){
        this.referType.disable = false
      }
      console.log(this.referType.disable)
    },
    selchange(val) {
      this.banList = val
      console.log(val);
    },
    refreshChange() {
      this.onLoad(this.pageParent, this.query);
@@ -471,12 +540,18 @@
        this.data = data.records;
        this.loading = false;
        this.data = res.data.data.records
        this.itemData = this.data[0];
      })
    },
    rowClick(row) {
      this.itemData = row
    }
    ,selectBtmType(){
        this.referType.display = true;
        this.referType.title = "请选择" + this.referType.value
    }
  },
}
</script>
<style lang="scss">
</style>
<style lang="scss"></style>