wangting
2023-07-06 40c4bc09706b4fe856568ac256b583c53cc28360
Source/UBCS-WEB/src/components/Tree/attrCrud.vue
@@ -1,6 +1,7 @@
<template>
  <div>
    <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag">
      <el-button-group>
      <!--新增-->
      <el-button v-if="attrEditVisible == false && attrFlagChiledren==false" size="small" type="primary" icon="el-icon-plus" @click="busineHandle">添加 {{ msg }}</el-button>
      <!--        全屏编辑-->
@@ -9,16 +10,8 @@
      <el-button icon="el-icon-info" size="small" @click="rulesVisible=true">验证规则</el-button>
      <!--        属性分组-->
      <el-button icon="el-icon-menu" size="small" @click="attrVisibleHandle">属性分组</el-button>
        <!--        分类注入-->
        <el-button icon="el-icon-magic-stick" size="small" @click="injectBtn">分类注入</el-button>
          <!--    组合规则-->
          <el-button size="small" @click="isShowHandler">组合规则</el-button>
        <!--        枚举注入-->
        <el-button size="small" @click="enmuVisHandle">枚举注入</el-button>
        <!--    级联属性-->
        <el-button size="small" @click="CascadeHandle">级联属性</el-button>
        <!--    预览排序-->
        <el-button size="small" icon="el-icon-arrow-down">预览排序</el-button>
      </el-button-group>
      <el-button-group>
      <!--        分类注入-->
      <el-button icon="el-icon-magic-stick" size="small" @click="injectBtn">分类注入</el-button>
        <!--    组合规则-->
@@ -28,7 +21,9 @@
      <!--    级联属性-->
      <el-button size="small" @click="CascadeHandle">级联属性</el-button>
      <!--    预览排序-->
      <el-button size="small" @click="orderHandle" icon="el-icon-arrow-down">预览排序</el-button>
        <el-button size="small" @click="orderHandle" icon="el-icon-arrow-down">预览排序</el-button>
      </el-button-group>
      <el-button-group>
      <!--    保存-->
      <el-button size="small" @click="addsHandler" icon="el-icon-check">保存</el-button>
      <!--    删除-->
@@ -36,7 +31,8 @@
      <!--    重置-->
      <el-button size="small" @click="reset" icon="el-icon-refresh-right">重置</el-button>
      <!--    同步到其他模板-->
      <el-button size="small" @click="syncHandle">同步到其他模板</el-button>
      <el-button size="small"@click="syncHandle" icon="el-icon-share">同步到其他模板</el-button>
      </el-button-group>
      <!--    编码申请预览-->
      <el-button size="small" @click="applicationHandle" style="">编码申请预览</el-button>
      <!--        验证规则-->
@@ -241,42 +237,47 @@
              @select="selectHandle"
              @selection-change="selectionChange"
              v-if="this.crudArrayFlag"
              ref="referAttrCrud"
    >
      <el-table-column
        type="selection"
        width="55">
        width="55" fixed>
      </el-table-column>
      <!--<el-table-column fixed label="序号" type="index" width="55"></el-table-column>-->
      <el-table-column v-for="item in this.option.column" :key="item.id"
      <el-table-column v-for="(item,index) in this.option.column" :key="item.id"
                       :label="item.label"
                       :prop="item.prop"
                       :formatter="formAttr"
                       :width="item.width||(item.label.length >=4 ?'160':item.label.length==3 ?'130':'100')"
                       :show-overflow-tooltip="true"
                       :sortable="item.sortable"
                       :fixed="item.fixed"
                       align="center"
      >
        <template slot-scope="{ row }">
          <el-input v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text' || item.edit == 'select' ||item.edit == 'refer' )" v-model="row[item.prop]"
          <el-input v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text'  ||item.edit == 'refer' )" v-model="row[item.prop]"
                    @blur="saveRows"></el-input>
          <el-input-number controls-position="right" v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" v-model="row[item.prop]"
                           @blur="saveRows"></el-input-number>
          <el-select v-model="row[item.prop]" slot="prepend" v-if="editingRows === row && editShows== item.prop && item.prop == 'codeDateFormat'  && row[item.prop] ==''" @focus="DataChangeHandler">
            <el-option label="餐厅名" value="1"></el-option>
            <el-option label="订单号" value="2"></el-option>
            <el-option label="用户电话" value="3"></el-option>
          <el-input-number size="small" controls-position="right" v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" v-model="row[item.prop]"
                           @blur="saveRows" :style="{width:(item.width-10)+'px'}"></el-input-number>
          <el-select v-model="row[item.prop]" filterable  allow-create  default-first-option slot="prepend" v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " @focus="DataChangeHandler(item.editConfig,index)">
            <el-option
              v-for="optionItem in item.data"
              :key="optionItem.key"
              :label="optionItem.value"
              :value="optionItem.key">
            </el-option>
          </el-select>
          <el-switch
            v-if="item.edit === 'switch'" v-model="row[item.prop]" active-value="true"
            inactive-value="false">
          </el-switch>
          <span v-else >{{ row[item.prop] }}</span>
          <span v-else>{{ row[item.prop] }}</span>
        </template>
      </el-table-column>
      <el-table-column
        fixed="right"
        label="操作"
        width="120">
        width="70">
        <template slot-scope="scope">
          <el-button
            size="small"
@@ -1121,6 +1122,12 @@
            prop: "prefixValue",
            sortable: true,
            edit: 'select',
            editConfig: {
              extraParams: {
                code: 'codeclstempattr',
                dictKey: 'prefix'
              }
            },
            cell: false,
          },
          {
@@ -1128,6 +1135,12 @@
            prop: "suffixValue",
            sortable: true,
            edit: 'select',
            editConfig: {
              extraParams: {
                code: 'codeclstempattr',
                dictKey: 'suffix'
              }
            },
            cell: false,
          },
          {
@@ -1152,6 +1165,12 @@
            sortable: true,
            width: 135,
            edit: 'select',
            editConfig: {
              extraParams: {
                code: 'codeclstempattr',
                dictKey: 'dateFormates'
              }
            },
            cell: false,
          },
          {
@@ -1296,13 +1315,10 @@
      console.log(row,column)
    },
    //时间下拉格式
    DataChangeHandler(){
      debugger
      listByFlag({comboxKey: 'codedateformat',
        id: 'codedateformat',
        namespace: 'codeclstempattr',
        flag: 'dateFormates'}).then(res=>{
        console.log(res)
    DataChangeHandler(editConfig,index){
      listByFlag(editConfig.extraParams).then(res=>{
        console.log(res);
        this.option.column[index].data=res;
      })
    },
    //属性分组按钮
@@ -1365,11 +1381,11 @@
            precisionLength: (citem.precisionLength ? citem.precisionLength : '') + (citem.scaleLength ? '(' + citem.scaleLength + ')' : ''),
            classifyTemplateOid: this.crudOid,
            classifytemplateoid: this.crudOid,
            formDisplayFlag: true,
            tableDisplayFlag: true,
            sortAttrFlag: false,
            queryAttrFlag: true,
            seniorQueryAttrFlag: true,
            formDisplayFlag: 'true',
            tableDisplayFlag: 'true',
            sortAttrFlag: 'false',
            queryAttrFlag: 'true',
            seniorQueryAttrFlag: 'true',
            attrTableWidth: 120
          })
          this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList)))
@@ -1423,6 +1439,10 @@
    CascaderowClick(row) {
      this.selectRow = row.$index;
      this.selectRowArr=row
    },
    // 排序预览按钮
    orderHandle(){
      this.$refs.referAttrCrud.sort("orderNum");
    },
    //表格单选
    selectHandle(selection, row) {
@@ -1557,7 +1577,9 @@
    },
    //表格删除
    CrudRemove() {
      this.ProData.splice(this.attrRow.$index, 1)
      this.attrSelectList.forEach((item)=>{
        this.ProData.splice(item.$index, 1)
      })
    },
    //表格重置
    reset() {