田源
2024-01-24 7521100425838f0ce8d4ef8005861ef4941f961b
整合代码
已修改4个文件
491 ■■■■ 文件已修改
Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue 174 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue 293 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Theme/ThemeTemplatePro.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
@@ -276,8 +276,8 @@
      </el-dialog>
      <!--        全屏编辑-->
      <el-dialog :before-close="escEdit" :visible.sync="attrEditVisible" append-to-body fullscreen="true">
        <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" :crudArrayFlag="this.crudArrayFlag"
                  :editOpenFlag="editOpenFlag" :editStyleFlag="editStyleFlag" :btnAuthList="btnAuthList"
        <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" :btnAuthList="btnAuthList"
                  :crudArrayFlag="this.crudArrayFlag" :editOpenFlag="editOpenFlag" :editStyleFlag="editStyleFlag"
                  @editCloseChildren="editClose"></attrCrud>
      </el-dialog>
      <!--      组合规则-->
@@ -321,82 +321,83 @@
    </div>
      <el-table v-if="this.crudArrayFlag"
                ref="referAttrCrud"
                v-loading="loading"
                :data="ProData"
                :height="this.tableHeight"
                :header-cell-style="{background:'#FAFAFA',color:'#505050'}"
                border
                style="width: 100%"
                @select="selectHandle"
                @cell-click="handleCellClicks"
                @selection-change="selectionChange"
                @row-click="rowClick"
    <el-table v-if="this.crudArrayFlag"
              ref="referAttrCrud"
              v-loading="loading"
              :data="ProData"
              :header-cell-style="{background:'#FAFAFA',color:'#505050'}"
              :height="this.tableHeight"
              border
              style="width: 100%"
              @select="selectHandle"
              @cell-click="handleCellClicks"
              @selection-change="selectionChange"
              @row-click="rowClick"
    >
      <el-table-column
        :fixed="!editStyleFlag ? 'left' : undefined"
        type="selection" width="55">
      </el-table-column>
      <!--<el-table-column fixed label="序号" type="index" width="55"></el-table-column>-->
      <el-table-column v-for="(item,index) in this.option.column" v-if="item.edit !='referName'"
                       :key="item.id"
                       :fixed="!editStyleFlag ? item.fixed : undefined"
                       :formatter="formAttr"
                       :label="item.label"
                       :prop="item.prop"
                       :show-overflow-tooltip="true"
                       :sortable="item.sortable"
                       :width="item.width||(item.label.length >=4 ?'160':item.label.length==3 ?'130':'100')"
                       align="center"
      >
        <el-table-column
          :fixed="!editStyleFlag ? 'left' : undefined"
          type="selection" width="55">
        </el-table-column>
        <!--<el-table-column fixed label="序号" type="index" width="55"></el-table-column>-->
        <el-table-column v-for="(item,index) in this.option.column" v-if="item.edit !='referName'"
                         :key="item.id"
                         :fixed="!editStyleFlag ? item.fixed : undefined"
                         :formatter="formAttr"
                         :label="item.label"
                         :prop="item.prop"
                         :show-overflow-tooltip="true"
                         :sortable="item.sortable"
                         :width="item.width||(item.label.length >=4 ?'160':item.label.length==3 ?'130':'100')"
                         align="center"
        >
          <template slot-scope="{ row }">
            <el-input
              v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text'  ||item.edit == 'refer' )"
              v-show="!AddCellFlag"
              :ref="'input' + row.oid"
              v-model="row[item.prop]"
              @blur="saveRows(row)"
            ></el-input>
            <el-input-number v-if="editingRows === row && editShows== item.prop && item.edit == 'number'"
                             v-show="!AddCellFlag"
                             v-model="row[item.prop]"
                             :style="{width:(item.width-10)+'px'}"
                             controls-position="right"
                             size="small" @blur="saveRows"></el-input-number>
            <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " slot="prepend" :clearable="true"
                       v-model="row[item.prop]" allow-create default-first-option
                       filterable v-show="!AddCellFlag"
                       @blur="selectChangeHandler(item.editConfig,index)">
              <el-option
                v-for="optionItem in item.data"
                :key="optionItem.dictValue"
                :label="optionItem.dictValue"
                :value="optionItem.dictValue">
              </el-option>
            </el-select>
            <el-switch
              v-if="item.edit === 'switch'" v-model="row[item.prop]" :disabled="!editOpenFlag" active-value="true"
              inactive-value="false">
            </el-switch>
            <span v-else>{{ row[item.prop] }}</span>
          </template>
        </el-table-column>
        <el-table-column
          fixed="right"
          label="操作"
          width="70">
          <template slot-scope="scope">
            <el-button
              size="small"
              type="text"
              @click.native.prevent="CrudRowDel(scope.$index)">
              移除
            </el-button>
          </template>
        </el-table-column>
      </el-table>
    </div>
        <template slot-scope="{ row }">
          <el-input
            v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text'  ||item.edit == 'refer' )"
            v-show="!AddCellFlag"
            :ref="'input' + row.oid"
            v-model="row[item.prop]"
            @blur="saveRows(row)"
          ></el-input>
          <el-input-number v-if="editingRows === row && editShows== item.prop && item.edit == 'number'"
                           v-show="!AddCellFlag"
                           v-model="row[item.prop]"
                           :style="{width:(item.width-10)+'px'}"
                           controls-position="right"
                           size="small" @blur="saveRows"></el-input-number>
          <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " v-show="!AddCellFlag"
                     slot="prepend"
                     v-model="row[item.prop]" :clearable="true" allow-create
                     default-first-option filterable
                     @blur="selectChangeHandler(item.editConfig,index)">
            <el-option
              v-for="optionItem in item.data"
              :key="optionItem.dictValue"
              :label="optionItem.dictValue"
              :value="optionItem.dictValue">
            </el-option>
          </el-select>
          <el-switch
            v-if="item.edit === 'switch'" v-model="row[item.prop]" :disabled="!editOpenFlag" active-value="true"
            inactive-value="false">
          </el-switch>
          <span v-else>{{ row[item.prop] }}</span>
        </template>
      </el-table-column>
      <el-table-column
        fixed="right"
        label="操作"
        width="70">
        <template slot-scope="scope">
          <el-button
            size="small"
            type="text"
            @click.native.prevent="CrudRowDel(scope.$index)">
            移除
          </el-button>
        </template>
      </el-table-column>
    </el-table>
  </div>
</template>
<script>
@@ -452,7 +453,7 @@
      default: false
    },
    btnAuthList: {
      type:Array
      type: Array
    }
  },
  watch: {
@@ -1110,10 +1111,10 @@
        indexClassName: "序号",
        indexLabelClassName: '序号',
        index: true,
        indexFixed:false,
        selectionFixed:false,
        indexFixed: false,
        selectionFixed: false,
        columnBtn: false,
        refreshBtn:false,
        refreshBtn: false,
        border: true,
        addBtn: false,
        menu: false,
@@ -1563,7 +1564,7 @@
    ...mapGetters(["permission"]),
    permissionList() {
      return {
        busineStatus: this.vaildData(this.btnAuthList.attr_add, false) ,
        busineStatus: this.vaildData(this.btnAuthList.attr_add, false),
        fullscreenStatus: this.vaildData(this.btnAuthList.attr_view_edit, false),
        ruleStatus: this.vaildData(this.btnAuthList.attr_rule, false),
        attrStatus: this.vaildData(this.btnAuthList.attr_group, false),
@@ -1724,8 +1725,8 @@
            ts: ""
          })
          // 将英文编号转换为小写
          let { id, ...res } = this.busineAddList;
          this.busineAddList = { id: id.toLowerCase(), ...res };
          let {id, ...res} = this.busineAddList;
          this.busineAddList = {id: id.toLowerCase(), ...res};
          this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList)));
        }
      })
@@ -2072,7 +2073,7 @@
      const regex = new RegExp(this.rulesData.ruleRowBds);
      if (regex.test(this.RulesForm.TestContent)) {
        this.$message.success('校验成功')
      }else {
      } else {
        this.$message.error('校验失败')
      }
    },
@@ -2084,7 +2085,8 @@
      }
      if (this.attrSelectList.length < 1) {
        this.$message.warning('请选择一条模板数据')
        return;;
        return;
        ;
      }
      if (this.attrSelectList.length === 1) {
        this.injectVisible = true;
Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue
@@ -1,23 +1,23 @@
<template>
  <div>
    <avue-form v-model="loneTreeNewForm" :option="renonlyOption" v-if="flag == 'renonly'">
    <avue-form v-if="flag == 'renonly'" v-model="loneTreeNewForm" :option="renonlyOption">
    </avue-form>
      <avue-form v-model="loneTreeNewForm" :option="this.editOption" @submit="submits" v-else-if="flag == 'edit'">
    <avue-form v-else-if="flag == 'edit'" v-model="loneTreeNewForm" :option="this.editOption" @submit="submits">
    </avue-form>
    <div>
<!--     编码规则-->
      <!--     编码规则-->
      <ThemeChildren
        ref="ThemeMasterChildren"
        dialogTitle="编码规则"
        codeName="codeRuleOidName"
        codeType="coderule"
        code-lcstatus="Released"
        :visible.sync="MasterdialogVisible"
        :SelectOption="SelectOption"
        :TreeAddform="loneTreeNewForm"
        :visible.sync="MasterdialogVisible"
        code-lcstatus="Released"
        codeName="codeRuleOidName"
        codeType="coderule"
        dialogTitle="编码规则"
        @defineHandler="handlerDefine"
      ></ThemeChildren>
<!--      关键属性查询规则-->
      <!--      关键属性查询规则-->
      <ThemeChildren
        ref="ThemeKeyChildren"
        :SelectOption="SelectOption"
@@ -41,7 +41,7 @@
        dialogTitle="相似项查询规则"
        @defineHandler="handlerDefine"
      ></ThemeChildren>
<!--      存储的业务类型-->
      <!--      存储的业务类型-->
      <ThemeChildren
        ref="ThemeBtmChildren"
        :SelectOption="btmSelectOption"
@@ -57,19 +57,20 @@
</template>
<script>
import {defaultReferDataGrid,referDataGrid} from '@/api/MasterData/master'
import {defaultReferDataGrid, referDataGrid} from '@/api/MasterData/master'
import {TreeEditSave} from '@/api/template/templateAttr'
import ThemeChildren from '@/components/FormTemplate/ThemeChildren'
export default {
  components: {ThemeChildren},
  name: "classifyTreeform.vue",
  props: ['loneTreeNewForm','flag','Editclose','TreeFlag','nodeClickList'],
  props: ['loneTreeNewForm', 'flag', 'Editclose', 'TreeFlag', 'nodeClickList'],
  data() {
    return {
      masterRow:null,
      masterInput:'',
      MasterSearchSelects:"",
      SelectOption:[
      masterRow: null,
      masterInput: '',
      MasterSearchSelects: "",
      SelectOption: [
        {
          value: 'name',
          label: '中文名称'
@@ -79,7 +80,7 @@
          label: '英文名称'
        }
      ],
      btmSelectOption:[
      btmSelectOption: [
        {
          value: 'id',
          label: '业务类型编号'
@@ -89,23 +90,23 @@
          label: '业务类型名称'
        },
      ],
      MasterdialogVisible:false,
      KeydialogVisible:false,
      SimidialogVisible:false,
      BtmdialogVisible:false,
      MasterdialogVisible: false,
      KeydialogVisible: false,
      SimidialogVisible: false,
      BtmdialogVisible: false,
      form: {
        name: "哈哈",
        sex: "男"
      },
      renonlyOption: {
        submitBtn:false,
        emptyBtn:false,
        columnBtn:false,
        submitBtn: false,
        emptyBtn: false,
        columnBtn: false,
        column: [
          {
            label: '主题库/分类编号',
            prop: 'id',
            labelWidth:135,
            labelWidth: 135,
            disabled: true,
            rules: [{
              required: true,
@@ -117,7 +118,7 @@
            label: '主题库/分类名称',
            prop: 'name',
            disabled: true,
            labelWidth:135,
            labelWidth: 135,
            rules: [{
              required: true,
              message: "主题库/分类名称",
@@ -125,15 +126,15 @@
            }]
          },
          {
            label:"描述",
            prop:"description",
            labelWidth:128,
            label: "描述",
            prop: "description",
            labelWidth: 128,
            disabled: true,
          },
          {
            label: '存储的业务类型',
            prop: 'btmTypeName',
            labelWidth:128,
            labelWidth: 128,
            disabled: true,
            rules: [{
              required: true,
@@ -142,21 +143,21 @@
            }]
          },
          {
            label:"编码规则",
            prop:"codeRuleOidName",
            labelWidth:128,
            label: "编码规则",
            prop: "codeRuleOidName",
            labelWidth: 128,
            disabled: true,
          },
          {
            label:"关键属性查询规则",
            prop:"codeKeyAttrRepeatOidName",
            labelWidth:128,
            label: "关键属性查询规则",
            prop: "codeKeyAttrRepeatOidName",
            labelWidth: 128,
            disabled: true,
          },
          {
            label:"相似查询规则",
            prop:"codeResembleRuleOidName",
            labelWidth:128,
            label: "相似查询规则",
            prop: "codeResembleRuleOidName",
            labelWidth: 128,
            disabled: true,
          },
          {
@@ -165,7 +166,7 @@
            type: 'switch',
            activeColor: "#13ce66",
            inactiveColor: "#ff4949",
            labelWidth:160,
            labelWidth: 160,
            disabled: true,
            dicData: [{
              label: '否',
@@ -180,106 +181,106 @@
      },
      FormList: {},
      masterSelectList:[],
      KeySelectLIst:[],
      simSelectList:[],
      btmSelectList:[]
      masterSelectList: [],
      KeySelectLIst: [],
      simSelectList: [],
      btmSelectList: []
    }
  },
  computed:{
    editOption(){
      return{
          column: [
            {
              label: '主题库/分类编号',
              prop: 'id',
              labelWidth:128,
              rules: [{
                required: true,
                message: "主题库/分类编号",
                trigger: "blur"
              }]
            },
            {
              label: '主题库/分类名称',
              prop: 'name',
              labelWidth:128,
              rules: [{
                required: true,
                message: "主题库/分类名称",
                trigger: "blur"
              }]
            },
            {
              label:"描述",
              prop:"description",
              labelWidth:128,
            },
            {
              label: '存储的业务类型',
              prop: 'btmTypeName',
              labelWidth:128,
              focus:this.btmFoucus,
              display:this.TreeFlag,
              rules: [{
                required: true,
                message: "存储的业务类型",
                trigger: "blur"
              }]
            },
            {
              label:"编码规则",
              prop:"codeRuleOidName",
              labelWidth:128,
              focus:this.CodeFocus,
              readonly: true,
            },
            {
              label:"关键属性查询规则",
              prop:"codeKeyAttrRepeatOidName",
              labelWidth:128,
              focus:this.Keyfouce,
              change:(data)=>{
                if(data.value === ""){
                  this.loneTreeNewForm.codeKeyAttrRepeatOid = ""
                }
  computed: {
    editOption() {
      return {
        column: [
          {
            label: '主题库/分类编号',
            prop: 'id',
            labelWidth: 128,
            rules: [{
              required: true,
              message: "主题库/分类编号",
              trigger: "blur"
            }]
          },
          {
            label: '主题库/分类名称',
            prop: 'name',
            labelWidth: 128,
            rules: [{
              required: true,
              message: "主题库/分类名称",
              trigger: "blur"
            }]
          },
          {
            label: "描述",
            prop: "description",
            labelWidth: 128,
          },
          {
            label: '存储的业务类型',
            prop: 'btmTypeName',
            labelWidth: 128,
            focus: this.btmFoucus,
            display: this.TreeFlag,
            rules: [{
              required: true,
              message: "存储的业务类型",
              trigger: "blur"
            }]
          },
          {
            label: "编码规则",
            prop: "codeRuleOidName",
            labelWidth: 128,
            focus: this.CodeFocus,
            readonly: true,
          },
          {
            label: "关键属性查询规则",
            prop: "codeKeyAttrRepeatOidName",
            labelWidth: 128,
            focus: this.Keyfouce,
            change: (data) => {
              if (data.value === "") {
                this.loneTreeNewForm.codeKeyAttrRepeatOid = ""
              }
            },
            {
              label:"相似查询规则",
              prop:"codeResembleRuleOidName",
              labelWidth:128,
              focus: this.simFouce,
              change:(data)=>{
                if(data.value === ""){
                  this.loneTreeNewForm.codeResembleRuleOid = ""
                }
              }
            },
            {
              label: '是否参与关键属性校验',
              prop: 'isParticipateCheck',
              type: 'switch',
              activeColor: "#13ce66",
              inactiveColor: "#ff4949",
              labelWidth:160,
              dicData: [{
                label: '否',
                value: 0
              }, {
                label: '是',
                value: 1
              }
              ]
            }
          ]
          },
          {
            label: "相似查询规则",
            prop: "codeResembleRuleOidName",
            labelWidth: 128,
            focus: this.simFouce,
            change: (data) => {
              if (data.value === "") {
                this.loneTreeNewForm.codeResembleRuleOid = ""
              }
            }
          },
          {
            label: '是否参与关键属性校验',
            prop: 'isParticipateCheck',
            type: 'switch',
            activeColor: "#13ce66",
            inactiveColor: "#ff4949",
            labelWidth: 160,
            dicData: [{
              label: '否',
              value: 0
            }, {
              label: '是',
              value: 1
            }
            ]
          }
        ]
      }
    }
  },
  watch:{
    TreeFlag:{
      handler(newval,oldval){
  watch: {
    TreeFlag: {
      handler(newval, oldval) {
        // console.log(newval)
      }
    }
@@ -315,19 +316,19 @@
        this.$emit('MasterHandler', this.loneTreeNewForm);
      }
    },
    submits(form,done){
      if(this.TreeFlag){
        TreeEditSave(this.loneTreeNewForm).then(res=>{
    submits(form, done) {
      if (this.TreeFlag) {
        TreeEditSave(this.loneTreeNewForm).then(res => {
          this.$message.success('修改成功');
          this.Editclose()
          this.$emit('referTreeForm');
          this.$emit('flushed');
          done()
        })
      }else {
        this.loneTreeNewForm.btmTypeName='';
        this.loneTreeNewForm.btmTypeId='';
        TreeEditSave(this.loneTreeNewForm).then(res=>{
      } else {
        this.loneTreeNewForm.btmTypeName = '';
        this.loneTreeNewForm.btmTypeId = '';
        TreeEditSave(this.loneTreeNewForm).then(res => {
          this.$message.success('修改成功');
          this.Editclose()
          this.$emit('referTreeForm');
@@ -340,23 +341,23 @@
      this.$message.success(err);
    },
    //编码规则失焦
    CodeFocus(){
      this.MasterdialogVisible=true;
    CodeFocus() {
      this.MasterdialogVisible = true;
      this.$refs.ThemeMasterChildren.defaultSearchRend()
    },
    //关键属性失焦
    Keyfouce(){
      this.KeydialogVisible=true;
    Keyfouce() {
      this.KeydialogVisible = true;
      this.$refs.ThemeKeyChildren.defaultSearchRend();
    },
    //相似项失焦
    simFouce(){
      this.SimidialogVisible=true;
    simFouce() {
      this.SimidialogVisible = true;
      this.$refs.ThemeSimChildren.defaultSearchRend();
    },
    //业务类型失焦
    btmFoucus(){
    btmFoucus() {
      this.BtmdialogVisible = true;
      this.$refs.ThemeBtmChildren.btmDefaultRend();
    },
Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -122,9 +122,9 @@
        ></classify-auth-dialog>
        <!-- 数据授权对话框 -->
        <data-auth-dialog
          :TreeNode="TreeEditObj"
          :classifyData="classifyData"
          :visible.sync="dataAuthVisible"
          :TreeNode="TreeEditObj"
        ></data-auth-dialog>
      </basic-container>
    </el-aside>
@@ -709,7 +709,7 @@
        border: true,
        columnBtn: false,
        height: 150,
        refreshBtn:false,
        refreshBtn: false,
        addBtn: this.Formlist.length <= 0 && this.nodeClickList != "",
        editBtn: false,
        delBtn: false,
@@ -1143,7 +1143,7 @@
    },
    //树点击事件
    async nodeClick(data) {
      getAuthButtonList({classifyId: data.oid,code: "classifyTree",authType: "classify_auth"}).then(res => {
      getAuthButtonList({classifyId: data.oid, code: "classifyTree", authType: "classify_auth"}).then(res => {
        this.btnAuthList = res.data.data;
      }).catch(error => {
        console.log(error)
Source/UBCS-WEB/src/components/Theme/ThemeTemplatePro.vue
@@ -1,14 +1,17 @@
  <template>
<template>
  <basic-container>
    <avue-tabs :option="Taboption" @change="handleChange"></avue-tabs>
    <span v-if="type.prop==='tab1'">
      <attrCrud :ProData="ProData" :btnAuthList="btnAuthList" :crudOid="crudOid" :checkStatus="checkStatus"  :crudLCStatus="crudLCStatus" :crudArray="crudArray" :Formlist="Formlist" :codeClassifyOid="codeClassifyOid"></attrCrud>
      <attrCrud :Formlist="Formlist" :ProData="ProData" :btnAuthList="btnAuthList" :checkStatus="checkStatus"
                :codeClassifyOid="codeClassifyOid" :crudArray="crudArray" :crudLCStatus="crudLCStatus"
                :crudOid="crudOid"></attrCrud>
    </span>
    <span v-else-if="type.prop==='tab2'">
       <FlowPath ref="FlowPath" :code="this.crudOid"  :checkStatus="checkStatus" :crudLCStatus="crudLCStatus" :Formlist="Formlist"></FlowPath>
       <FlowPath ref="FlowPath" :Formlist="Formlist" :checkStatus="checkStatus" :code="this.crudOid"
                 :crudLCStatus="crudLCStatus"></FlowPath>
    </span>
    <span v-else-if="type.prop==='tab3'">
          <stage ref="stage"  :code="this.crudOid" :Formlist="Formlist"></stage>
          <stage ref="stage" :Formlist="Formlist" :code="this.crudOid"></stage>
    </span>
  </basic-container>
@@ -18,7 +21,7 @@
<script>
export default {
  name: "TemplatePro.vue",
  props: ['ProData','crudOid','crudLCStatus','crudArray','Formlist','codeClassifyOid','rowIndex','crudArrayFlag','btnAuthList'],
  props: ['ProData', 'crudOid', 'crudLCStatus', 'crudArray', 'Formlist', 'codeClassifyOid', 'rowIndex', 'crudArrayFlag', 'btnAuthList'],
  data: function () {
    return {
      type: {},
@@ -34,7 +37,7 @@
          prop: 'tab3',
        }]
      },
      checkStatus:false,//是否需要验证模板状态,false为关闭权限
      checkStatus: false,//是否需要验证模板状态,false为关闭权限
    }
  },
  created() {
@@ -42,8 +45,7 @@
    this.type = this.Taboption.column[0];
    this.type.prop = "tab1";
  },
  watch:{
  },
  watch: {},
  methods: {
    // Tab栏切换
    handleChange(column) {