fujunling
2023-06-02 33c8db885ab2b5117c064d064f6e7c7eb0357a1c
动态模块
已修改7个文件
17874 ■■■■■ 文件已修改
Source/UBCS-WEB/package-lock.json 16657 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue 1010 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/FormTemplate/ResembleQuery.vue 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/FormTemplate/index.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/vue.config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/package-lock.json
ÎļþÌ«´ó
Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue
@@ -1,39 +1,85 @@
<template>
  <div></div>
  <FormTempalte
    ref="FormTempalte"
    :visible="visible"
    :selfColumnType="selfColumnType"
    :selfColumnConfig="selfColumnConfig"
    :columnList="columnList"
  ></FormTempalte>
</template>
<script>
import { getCodeRule } from "@/api/formTemplate.js";
import FormTempalte from "./FormTempalte.vue";
export default {
  name: "CodeApply",
  components: { FormTempalte },
  props: {
    visible: {
      type: Boolean,
      default: false
    },
    codeClassifyOid: {
      type: String,
      default: ''
    }
      default: "",
    },
  },
  data() {
    return {
      secVOList: [],
      formItems: [],
      trendsSpan: 8
      trendsSpan: 8,
      selfColumnType: {
        codefixedsec: "combox",
        codeclassifysec: "refer",
        codevariablesec: "text",
        coderefersec: "refer",
      },
      selfColumnConfig: {
        function: {
          required: this.isRequired,
          dicData: this.getOptionList,
          type: this.getType,
        },
        exchange: {
          text: "name",
          field: "oid",
          prop: "oid",
          showField: "name",
          parentClassifySecOid: "parentClassifySecOid",
          label: "name",
          maxlength: "codeSecLength",
          data: "fixedValueVOList",
        },
        directVoluation: {
          search: true,
          props: {
            label: "id",
            value: "id",
          },
        },
      },
      columnList: [],
    };
  },
  created() {
    this.handleResize();
    this.getCodeRule();
  },
  mounted() {
  },
  mounted() {},
  methods: {
    getType(item) {
      return this.selfColumnType[item.sectype];
    },
    getCodeRule() {
      getCodeRule({ codeClassifyOid: this.codeClassifyOid }).then((res) => {
        if (res.data && res.data.code === 200) {
          this.defaultValue = res.data.data;
          this.secVOList = res.data.data.secVOList || [];
          this.columnList = res.data.data.secVOList || [];
          console.log(res.data.data.secVOList, 'res.data.data.secVOList');
          this.codeRuleOid = res.data.data.oid;
          this.$nextTick(() => {
            this.$refs.FormTempalte.init(res.data.data.secVOList)
          })
        }
      });
    },
@@ -41,43 +87,34 @@
      let windowWidth = document.body.clientWidth;
      this.trendsSpan = 24 / Math.floor(windowWidth / 500);
    },
    isRequired(item) {
      return item.nullableFlag != "true";
    },
    getOptionList(item) {
      if (
        Array.isArray(item.fixedValueVOList) &&
        item.fixedValueVOList.length > 0
      ) {
        const configAttr = {
          key: "id",
          value: "id",
        };
        const optionList = item.fixedValueVOList.map((item) => {
          for (const key in configAttr) {
            if (Object.hasOwnProperty.call(configAttr, key)) {
              const element = configAttr[key];
              item[key] = item[element];
            }
          }
          return item;
        });
        return optionList;
      } else {
        return [];
      }
    },
  },
  watch: {
    secVOList: {
      deep: true,
      handler(newV) {
        this.formItems = [];
        newV.forEach((item) => {
          let itemObj = {};
          let options = [];
          //固定码段
          if (item.sectype == "codefixedsec") {
            options = item.fixedValueVOList.map((item) => {
              item.key = item.id;
              item.value = item.id;
            });
            itemObj = {
              field: item.oid,
              title: item.name,
              required: item.nullableFlag != "true",
              type: "combox",
              data: options,
              search: true,
            };
            //可变码段
          } else if (item.sectype == "codevariablesec") {
            itemObj = {
              field: item.oid,
              title: item.name,
              required: item.nullableFlag != "true",
              type: "text",
            };
          }
          itemObj.span = item.type === "textarea" ? 24 : this.trendsSpan,
          this.formItems.push(itemObj);
        });
      },
    },
  },
};
</script>
Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue
@@ -1,6 +1,7 @@
<template>
  <avue-form v-model="form" :option="option" v-loading="loading" ref="form">
    <template :slot="item.prop + 'Label'" v-for="item in option.column">
  <div>
  <avue-form v-model="form" :option="option" v-loading="loading" ref="form"  :style="{minHeight: loading ? '300px' : ''}">
    <template :slot="item.prop + 'Label'" v-for="item in slotColumnList">
      <span>
        <span>{{ item.label }} </span>
        <el-tooltip
@@ -15,6 +16,7 @@
      </span>
    </template>
  </avue-form>
  </div>
</template>
<script>
@@ -23,6 +25,7 @@
export default {
  name: "FormTemplate",
  props: {
    // é»˜è®¤ç¦ç”¨å…ƒç´ 
    disabledProp: {
      type: Array,
      default: () => ["id"],
@@ -35,22 +38,22 @@
      type: String,
      default: "",
    },
    // ä¿®æ”¹å›žæ˜¾çš„æ•°æ®
    editForm: {
      type: Object,
      default: () => ({}),
    },
    // è¡¨å•类型(add, edit, detail)
    type: {
      type: String,
      default: "add",
    },
    dialogOpen: {
      type: Boolean,
      default: false,
    },
    // è‡ªå®šä¹‰è¡¨å•类型
    selfColumnType: {
      type: Object,
      default: () => ({}),
    },
    // è‡ªå®šä¹‰è¡¨å•属性
    selfColumnConfig: {
      type: Object,
      default: () => ({}),
@@ -67,8 +70,7 @@
        column: [],
        group: [],
      },
      loading: false,
      templateData: {},
      loading: true,
      columnType: {
        text: "input",
        combox: "select",
@@ -79,505 +81,508 @@
        date: "date",
      },
      // å‡æ•°æ®
      testItems: [
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "id",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "传值禁用功能",
          tooltips: "",
          type: "combox",
          unique: false,
          verify: "",
        },
        {
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "state",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: true,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "接口禁用功能",
          tooltips: "",
          type: "combox",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "oldcode",
          hidden: false,
          keyAttr: false,
          prefix: "el-icon-search",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "文本后缀测试",
          text: "前后缀功能",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "materialname",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: true,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "正则校验功能",
          tooltips: "请输入数字",
          type: "text",
          unique: false,
          verify: "/[0-9]/",
        },
        {
          comboxKey: null,
          customClass: null,
          data: [
            {
              attributes: {},
              key: "model_type",
              value: "模型",
            },
            {
              attributes: {},
              key: "part_type",
              value: "零件",
            },
          ],
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "dataSelect",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "直接返回下拉",
          tooltips: "",
          type: "combox",
          unique: false,
          verify: "",
        },
        {
          comboxKey: "formTemplateTest",
          customClass: null,
          data: [],
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "dictSelect",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "字典返回下拉",
          tooltips: "",
          type: "combox",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "firstfl",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "数字输入框",
          tooltips: "",
          type: "number",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "yyyy-MM-dd HH:mm:ss",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "datetime",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "日期时间选择器",
          tooltips: "",
          type: "datetime",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "time",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "时间选择器",
          tooltips: "",
          type: "date",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "false",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "xiaoshouwl",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "开关",
          tooltips: "",
          type: "truefalse",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "我是默认值",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "tuhao",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "默认值功能",
          tooltips: "提示",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "xinghaoguige",
          hidden: false,
          keyAttr: true,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "属性关键值",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "jiliangdw",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          tip: "我是提示功能",
          required: false,
          selectLibFlag: "",
          showField: "jiliangdwname",
          suffix: "",
          text: "提示功能",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: "this.form.sum = this.form.fun1 + this.form.fun2",
          extendAttrMap: null,
          extendAttrString: null,
          field: "fun1",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "参数1测试js",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: "this.form.sum = this.form.fun1 + this.form.fun2",
          extendAttrMap: null,
          extendAttrString: null,
          field: "fun2",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          required: false,
          selectLibFlag: "",
          showField: "hesuanfenleiname",
          suffix: "",
          text: "参数2测试js",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: "",
          extendAttrMap: null,
          extendAttrString: null,
          field: "sum",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: true,
          required: false,
          selectLibFlag: "",
          showField: "",
          suffix: "",
          text: "参数1参数2求和",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "textarea",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "文本域",
          tooltips: "",
          type: "textarea",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "cz",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: true,
          referConfig: true,
          required: false,
          selectLibFlag: "",
          showField: "depId",
          suffix: "",
          text: "参照",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
      ],
      // testItems: [
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "id",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: false,
      //     referConfig: null,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: null,
      //     suffix: "",
      //     text: "传值禁用功能",
      //     tooltips: "",
      //     type: "combox",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "state",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: true,
      //     referConfig: null,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: null,
      //     suffix: "",
      //     text: "接口禁用功能",
      //     tooltips: "",
      //     type: "combox",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "oldcode",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "el-icon-search",
      //     readOnly: false,
      //     referConfig: null,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: null,
      //     suffix: "文本后缀测试",
      //     text: "前后缀功能",
      //     tooltips: "",
      //     type: "text",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "materialname",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: false,
      //     referConfig: null,
      //     required: true,
      //     selectLibFlag: "",
      //     showField: null,
      //     suffix: "",
      //     text: "正则校验功能",
      //     tooltips: "请输入数字",
      //     type: "text",
      //     unique: false,
      //     verify: "/[0-9]/",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: [
      //       {
      //         attributes: {},
      //         key: "model_type",
      //         value: "模型",
      //       },
      //       {
      //         attributes: {},
      //         key: "part_type",
      //         value: "零件",
      //       },
      //     ],
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "dataSelect",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: false,
      //     referConfig: null,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: null,
      //     suffix: "",
      //     text: "直接返回下拉",
      //     tooltips: "",
      //     type: "combox",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: "formTemplateTest",
      //     customClass: null,
      //     data: [],
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "dictSelect",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: false,
      //     referConfig: null,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: null,
      //     suffix: "",
      //     text: "字典返回下拉",
      //     tooltips: "",
      //     type: "combox",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "firstfl",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: false,
      //     referConfig: null,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: null,
      //     suffix: "",
      //     text: "数字输入框",
      //     tooltips: "",
      //     type: "number",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "yyyy-MM-dd HH:mm:ss",
      //     defaultValue: "",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "datetime",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: false,
      //     referConfig: null,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: null,
      //     suffix: "",
      //     text: "日期时间选择器",
      //     tooltips: "",
      //     type: "datetime",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "time",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: false,
      //     referConfig: null,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: null,
      //     suffix: "",
      //     text: "时间选择器",
      //     tooltips: "",
      //     type: "date",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "false",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "xiaoshouwl",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: false,
      //     referConfig: null,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: null,
      //     suffix: "",
      //     text: "开关",
      //     tooltips: "",
      //     type: "truefalse",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "我是默认值",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "tuhao",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: false,
      //     referConfig: null,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: null,
      //     suffix: "",
      //     text: "默认值功能",
      //     tooltips: "提示",
      //     type: "text",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "xinghaoguige",
      //     hidden: false,
      //     keyAttr: true,
      //     prefix: "",
      //     readOnly: false,
      //     referConfig: null,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: null,
      //     suffix: "",
      //     text: "属性关键值",
      //     tooltips: "",
      //     type: "text",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "jiliangdw",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: false,
      //     tip: "我是提示功能",
      //     required: false,
      //     selectLibFlag: "",
      //     showField: "jiliangdwname",
      //     suffix: "",
      //     text: "提示功能",
      //     tooltips: "",
      //     type: "text",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: "this.form.sum = this.form.fun1 + this.form.fun2",
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "fun1",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: false,
      //     referConfig: null,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: null,
      //     suffix: "",
      //     text: "参数1测试js",
      //     tooltips: "",
      //     type: "text",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: "this.form.sum = this.form.fun1 + this.form.fun2",
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "fun2",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: false,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: "hesuanfenleiname",
      //     suffix: "",
      //     text: "参数2测试js",
      //     tooltips: "",
      //     type: "text",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: "",
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "sum",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: true,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: "",
      //     suffix: "",
      //     text: "参数1参数2求和",
      //     tooltips: "",
      //     type: "text",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "textarea",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: false,
      //     referConfig: null,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: null,
      //     suffix: "",
      //     text: "文本域",
      //     tooltips: "",
      //     type: "textarea",
      //     unique: false,
      //     verify: "",
      //   },
      //   {
      //     comboxKey: null,
      //     customClass: null,
      //     data: null,
      //     dateFormate: "",
      //     defaultValue: "",
      //     displayExtension: null,
      //     extendAttrMap: null,
      //     extendAttrString: null,
      //     field: "cz",
      //     hidden: false,
      //     keyAttr: false,
      //     prefix: "",
      //     readOnly: true,
      //     referConfig: true,
      //     required: false,
      //     selectLibFlag: "",
      //     showField: "depId",
      //     suffix: "",
      //     text: "参照",
      //     tooltips: "",
      //     type: "text",
      //     unique: false,
      //     verify: "",
      //   },
      // ],
      trendsSpan: 8,
      defaultValue: {},
      // è¡¨å•属性
      attributes: [],
      // è¡¨å•元素
      items: [],
      slotColumnList: []
    };
  },
  mounted() {
    this.handleResize();
  },
  methods: {
    init(columnList) {
      if (Array.isArray(columnList)) {
        this.templateRender(columnList);
      } else {
        this.getFormTemplate();
      }
    },
    getFormTemplate() {
      this.loading = true;
      getFormTemplate({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
      })
        .then((res) => {
          if (res.status === 200) {
            this.templateData = res.data;
            // è¡¨å•元素(过滤需要隐藏的属性)
            this.items = res.data.formDefineVO.items;
            this.templateRender();
            this.templateRender(res.data.formDefineVO.items);
            this.$emit("getFormTemplateEnd", res.data);
          }
          this.loading = false;
        })
        .catch((err) => {
          this.loading = false;
          console.log(err);
        });
    },
    templateRender() {
    templateRender(formItemList) {
      // æ— éœ€åˆ†ç»„数据
      let column = [];
      let group = [];
      let dictKeys = [];
      this.items.forEach((formItem) => {
      let slotColumnList = []
      formItemList.forEach((formItem) => {
        formItem = this.resetFormConfig(formItem);
        if (formItem.type === "line") {
          group.push({
            label: formItem.text,
@@ -606,8 +611,6 @@
        if (formItem.type === "text") {
          message = "请输入";
          trigger = "blur";
        } else if (formItem.type === "file") {
          message = "请上传";
        }
        let columnItem = {
          label: formItem.text,
@@ -631,12 +634,15 @@
          tipPlacement: "right",
          comboxKey: formItem.comboxKey,
          display: !formItem.hidden,
          maxlength: formItem.maxlength,
          filterable: true,
          change: () => {
            this.changeFun(formItem.displayExtension, formItem.prop);
          },
          span: formItem.type === "textarea" ? 24 : this.trendsSpan,
          click: this.clickFun(formItem.referConfig),
          click: () => {
            this.clickFun(formItem.referConfig)
          },
          rules: [
            {
              required: formItem.required,
@@ -655,24 +661,47 @@
            value: "key",
          },
        };
        columnItem = this.resetFormConfig(columnItem);
        slotColumnList.push(columnItem)
        if (group.length === 0) {
          column.push(columnItem);
        } else {
          group[group.length - 1]["column"].push(columnItem);
        }
      });
      this.slotColumnList = slotColumnList
      this.$set(this.option, "column", column);
      this.$set(this.option, "group", group);
      this.formIndex++;
      this.loading = false
      this.geDictData(dictKeys);
    },
    // ä½¿ç”¨ä¼ å…¥çš„表单数据配置
    resetFormConfig(formItem) {
      for (const key in this.selfColumnConfig) {
        if (Object.hasOwnProperty.call(this.selfColumnConfig, key)) {
          const element = this.selfColumnConfig[key];
          formItem[key] = element;
      for (const configType in this.selfColumnConfig) {
        if (Object.hasOwnProperty.call(this.selfColumnConfig, configType)) {
          const element = this.selfColumnConfig[configType];
          if (configType === "function") {
            for (const attr in element) {
              if (Object.hasOwnProperty.call(element, attr)) {
                const fun = element[attr];
                formItem[attr] = fun(formItem);
              }
            }
          } else if (configType === "exchange") {
            for (const newAttr in element) {
              if (Object.hasOwnProperty.call(element, newAttr)) {
                const oldAttr = element[newAttr];
                formItem[newAttr] = formItem[oldAttr];
              }
            }
          } else if (configType === "directVoluation") {
            for (const attr in element) {
              if (Object.hasOwnProperty.call(element, attr)) {
                const value = element[attr];
                formItem[attr] = value;
              }
            }
          }
        }
      }
      return formItem;
@@ -696,6 +725,7 @@
      // })
    },
    clickFun(referConfig) {
      console.log(123123);
      if (this.type === "detail") {
        return;
      }
@@ -740,14 +770,6 @@
    },
  },
  watch: {
    dialogOpen: {
      immediate: true,
      handler(newV) {
        if (newV) {
          this.getFormTemplate();
        }
      },
    },
    form: {
      deep: true,
      immediate: true,
Source/UBCS-WEB/src/components/FormTemplate/ResembleQuery.vue
@@ -25,21 +25,23 @@
        </template>
      </el-table-column>
    </el-table>
    <FormTemplate
      ref="FormTemplate"
    <FormTemplateDialog
      ref="FormTemplateDialog"
      type="detail"
      :visible.sync="formTemplateVisible"
      :templateOid="this.resembleTemplateOid"
      :codeClassifyOid="this.resembleCodeClassifyOid"
    ></FormTemplate>
    ></FormTemplateDialog>
  </div>
</template>
<script>
import { findLike } from "@/api/formTemplate.js";
import FormTemplateDialog from "./index.vue";
export default {
  name: "ResembleQuery",
  components: { FormTemplateDialog },
  props: {
    column: {
      type: Array,
@@ -53,10 +55,6 @@
      type: String,
      default: "",
    },
    hasResemble: {
      type: Boolean,
      default: false,
    },
    type: {
      type: String,
      default: "add",
@@ -67,8 +65,8 @@
    },
    codeRuleOid: {
      type: String,
      default: ''
    }
      default: "",
    },
  },
  data() {
    return {
@@ -116,34 +114,20 @@
      formItems: [],
    };
  },
  created() {
    this.getCodeRule();
  },
  computed: {
    showCodeOrder() {
      if (this.type === "add") {
        if (this.secVOList.length == 0 && this.hasResemble) {
          return false;
        }
      } else {
        if (this.hasResemble) {
          return false;
        }
      }
      return true;
    },
  },
  created() {},
  computed: {},
  methods: {
    // ç›¸ä¼¼é¡¹æŸ¥è¯¢
    resembleQuery(form) {
      this.loading = true;
      this.activeName = "findlike";
      const { defaultValue, formValue } = this.getDefaultValueAndFormValues(form);
      const { defaultValue, formValue } =
        this.getDefaultValueAndFormValues(form);
      let params = {
        codeClassifyOid: this.codeClassifyOid,
        codeRuleOid: this.codeRuleOid,
        templateOid: this.templateOid,
        data: formValue,
        data: formValue
      };
      params = Object.assign(params, defaultValue);
      this.tableVisible = true;
@@ -152,11 +136,8 @@
        this.tableData = res.data.data || [];
      });
    },
    openFormTemlpate(row) {
      this.$nextTick(() => {
        console.log(this.$refs.FormTemplate);
      });
      this.codetemplateoid = row.codetemplateoid;
      this.formTemplateVisible = true;
    },
@@ -179,6 +160,5 @@
      };
    },
  },
};
</script>
</script>
Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -7,19 +7,22 @@
    class="avue-dialog avue-dialog--top"
    :width="width"
    append-to-body
    @opened="openDialog"
  >
    <FormTempalte
      v-bind="$attrs"
      :dialogOpen="visible"
      :visible="visible"
      :type="type"
      v-if="dialogVisible"
      ref="FormTempalte"
      @getFormTemplateEnd="getFormTemplate"
      @getFormData="getFormData"
    ></FormTempalte>
    <div class="tab_box">
    <div class="tab_box" v-if="type !== 'detail' && dialogVisible">
      <el-tabs v-model="activeName" type="card">
        <el-tab-pane label="码值申请" name="codeApply" v-if="showCodeApply">
          <CodeApply v-bind="$attrs"></CodeApply>
          <CodeApply ref="CodeApply" v-bind="$attrs" @getCodeRuleOid="getCodeRuleOid"></CodeApply>
        </el-tab-pane>
        <el-tab-pane
          label="相似项查询"
@@ -32,6 +35,7 @@
            :hasResemble="this.hasResemble"
            :column="this.resembleTableColumn"
            :form="this.form"
            :codeRuleOid="codeRuleOid"
          ></ResembleQuery>
        </el-tab-pane>
      </el-tabs>
@@ -79,7 +83,9 @@
      submitBtnLoading: false,
      hasResemble: false,
      resembleTableColumn: [],
      secVOList: [],
      activeName: "resembleQuery",
      codeRuleOid: '',
      form: {}
    };
  },
@@ -95,7 +101,7 @@
    },
    showCodeApply() {
      if (this.type === "add") {
        if (this.hasResemble && this.resembleTableColumn.length === 0) {
        if (this.hasResemble && this.secVOList.length === 0) {
          return false;
        }
      } else {
@@ -110,9 +116,19 @@
    },
  },
  methods: {
    openDialog() {
      this.$nextTick(() => {
        this.$refs.FormTempalte.init()
        this.$refs.CodeApply.getCodeRule()
      })
    },
    close() {
      this.dialogVisible = false;
    },
    getCodeRuleOid(data) {
      this.codeRuleOid = data.oid
      this.secVOList = data.secVOList
    },
    getFormTemplate(data) {
      this.hasResemble =
        data.resembleTableVO &&
Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue
@@ -26,8 +26,8 @@
      editForm: {},
      // è¡¨å•类型
      type: "add",
      templateOid: "D32FC682-4376-A148-DF8D-6261206E6412",
      codeClassifyOid: "91E05D2B-FEB2-6D41-5CE5-5B489615A29C",
      templateOid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
      codeClassifyOid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
    };
  },
};
Source/UBCS-WEB/vue.config.js
@@ -26,10 +26,10 @@
    proxy: {
      '/api': {
        //本地服务接口地址
          target: 'http://localhost:37000',
          // target: 'http://localhost:37000',
        // target: 'http://192.168.1.63:37000',
        //target: 'http://192.168.3.7:37000',
        //target: 'http://dev.vci-tech.com:37000',
        target: 'http://dev.vci-tech.com:37000',
        //target: 'http://192.168.1.51:37000/',
        //远程演示服务地址,可用于直接启动项目
        // target: 'https://saber.bladex.vip/api',