田源
2023-08-08 0efcf618f642c4c42315a26e49c0749abc9ebb32
主题库分类注入 枚举注入等清空
已修改6个文件
476 ■■■■■ 文件已修改
Source/UBCS-WEB/src/components/Master/MasterTransfer.vue 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/template/FlowPath.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/template/Stage.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
@@ -1,5 +1,6 @@
<template>
<el-dialog :visible.sync="dialogPush" append-to-body  :close-on-click-modal="false"  @close="escHandler" title="导出" style="width: 1550px; margin: auto">
  <el-dialog :close-on-click-modal="false" :visible.sync="dialogPush" append-to-body style="width: 1550px; margin: auto" title="导出"
             @close="escHandler">
  <div style="margin-bottom: 20px;">
    <div>
      <span>导出方式:</span>
@@ -8,23 +9,24 @@
        <el-radio :label="1">全部</el-radio>
        <el-radio :label="2">页码</el-radio>
      </el-radio-group>
      <span v-if="radio === 2" style="margin-left: 20px;"><el-input style="width: 150px" v-model="pageExport"></el-input> (输入页码或者页面范围,如:1-10))</span>
        <span v-if="radio === 2" style="margin-left: 20px;"><el-input v-model="pageExport"
                                                                      style="width: 150px"></el-input> (输入页码或者页面范围,如:1-10))</span>
    </div>
  </div>
  <div style="text-align: center">
  <el-transfer
    style="text-align: left; display: inline-block;height: 400px"
    filterable
    :filter-method="filterMethod"
    filter-placeholder="关键词搜索"
    v-model="value"
        :data="data"
        :filter-method="filterMethod"
    :titles="['未选属性', '已选属性']"
    :data="data">
        filter-placeholder="关键词搜索"
        filterable
        style="text-align: left; display: inline-block;height: 400px">
  </el-transfer>
  </div>
  <div style="display: flex;justify-content: flex-end;">
    <el-button size="small" plain type="success" @click="handleExcel">确定</el-button>
    <el-button size="small" plain @click="escHandler">取消</el-button>
      <el-button plain size="small" type="success" @click="handleExcel">确定</el-button>
      <el-button plain size="small" @click="escHandler">取消</el-button>
  </div>
</el-dialog>
</template>
@@ -32,6 +34,7 @@
<script>
import {exportCode,FindData} from '@/api/GetItem'
import func from "@/util/func";
export default {
name: "MasterTransfer",
  props:['visible','tableHeadData','codeClassifyOid','tableData','selectRow','templateOid','limit'],
@@ -113,9 +116,7 @@
      }
    }
  },
  computed:{
  },
  computed: {},
  mounted() {
  },
  methods:{
@@ -151,7 +152,11 @@
                .forEach((prop, index) => {
                  this.exportArrTwo[`attrIdIndexMap[${index}]`] = prop;
                });
              exportCode({codeClassifyOid:this.codeClassifyOid,'conditionMap[oid]':this.ids,...this.exportArrTwo,limit:-1}).then(res=>{
            exportCode({
              codeClassifyOid: this.codeClassifyOid,
              'conditionMap[oid]': this.ids, ...this.exportArrTwo,
              limit: -1
            }).then(res => {
                // console.log('res',res)
                if(res){
                  func.downloadFileByBlobHandler(res);
@@ -160,7 +165,10 @@
              })
            }else {
              exportCode({codeClassifyOid:this.codeClassifyOid,'conditionMap[oid]':this.ids,...this.exportArr}).then(res=>{
            exportCode({
              codeClassifyOid: this.codeClassifyOid,
              'conditionMap[oid]': this.ids, ...this.exportArr
            }).then(res => {
                // console.log('res',res)
                if(res){
                  func.downloadFileByBlobHandler(res);
@@ -218,7 +226,12 @@
            }
          }
          if(this.value >=1 ){
            exportCode({ codeClassifyOid: this.codeClassifyOid, ...this.exportArr, limit: this.limit, page: start, endPage: end }).then((res) => {
          exportCode({
            codeClassifyOid: this.codeClassifyOid, ...this.exportArr,
            limit: this.limit,
            page: start,
            endPage: end
          }).then((res) => {
              // console.log('res',res)
              if (res) {
                func.downloadFileByBlobHandler(res);
@@ -230,7 +243,12 @@
              .forEach((prop, index) => {
                this.exportArrTwo[`attrIdIndexMap[${index}]`] = prop;
              });
            exportCode({codeClassifyOid:this.codeClassifyOid,...this.exportArrTwo,limit:this.limit,page: start, endPage: end}).then(res=>{
          exportCode({
            codeClassifyOid: this.codeClassifyOid, ...this.exportArrTwo,
            limit: this.limit,
            page: start,
            endPage: end
          }).then(res => {
              // console.log('res',res)
              if(res){
                func.downloadFileByBlobHandler(res);
@@ -244,6 +262,6 @@
}
</script>
<style scoped lang="scss">
<style lang="scss" scoped>
</style>
Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -16,7 +16,7 @@
                }}
              </el-button>
              <span v-if="tableHeadFindData.length > 0">
              <el-select v-model="keyWordFind" slot="prepend" placeholder="请选择" size="small">
              <el-select slot="prepend" v-model="keyWordFind" placeholder="请选择" size="small">
                <el-option v-for="item in tableHeadFindData" :label="item.label" :value="item.prop"></el-option>
              </el-select>
              <el-input v-model="WupinFindValue" placeholder="请输入关键字按回车查询"
@@ -66,8 +66,8 @@
          <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
                              :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid"
                              :title="'已发布数据更改'"
                              type="edit"
                              :visible.sync="DataVisible" @submit="updataSumbit"></FormTemplateDialog>
                              :visible.sync="DataVisible"
                              type="edit" @submit="updataSumbit"></FormTemplateDialog>
          <!--          发布-->
          <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleFlow"
                         @onLoad="onLoad"></set-personnel>
@@ -877,7 +877,7 @@
    updataSumbit(val){
      this.DataVisible = false;
      val.copyFromVersion = this.rowOid;
      val.oid=''
      val.oid = '';
      console.log(val)
      upSaveCode(val).then(res=>{
        console.log(res)
Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
@@ -1,53 +1,79 @@
<template>
  <div>
    <div style="display: flex;flex-wrap: wrap; display: inline-block" v-if="this.crudArrayFlag" class="app" >
    <div v-if="this.crudArrayFlag" class="app" style="display: flex;flex-wrap: wrap; display: inline-block">
      <el-button-group>
      <!--新增-->
      <el-button v-if="attrEditVisible == false && attrFlagChiledren==false && editOpenFlag &&  (!checkStatus || crudLCStatus=='Editing' )" size="small" type="primary" icon="el-icon-plus" plain @click="busineHandle">添加 {{ msg }}</el-button>
        <el-button
          v-if="attrEditVisible == false && attrFlagChiledren==false && editOpenFlag &&  (!checkStatus || crudLCStatus=='Editing' )"
          icon="el-icon-plus" plain size="small" type="primary" @click="busineHandle">添加 {{ msg }}
        </el-button>
      <!--        全屏编辑-->
      <el-button v-if=" attrEditVisible == false && attrFlagChiledren==false && editOpenFlag&&(!checkStatus || crudLCStatus=='Editing')" size="small" @click="fullscreenHandle" icon="el-icon-full-screen">全屏编辑</el-button>
        <el-button
          v-if=" attrEditVisible == false && attrFlagChiledren==false && editOpenFlag&&(!checkStatus || crudLCStatus=='Editing')"
          icon="el-icon-full-screen" size="small" @click="fullscreenHandle">全屏编辑
        </el-button>
      <!--        验证规则-->
      <el-button v-if="(!checkStatus || crudLCStatus=='Editing' )&& editOpenFlag" icon="el-icon-info" size="small" @click="ruleAddHandler">验证规则</el-button>
        <el-button v-if="(!checkStatus || crudLCStatus=='Editing' )&& editOpenFlag" icon="el-icon-info" size="small"
                   @click="ruleAddHandler">验证规则
        </el-button>
      <!--        属性分组-->
      <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-menu" size="small" @click="attrVisibleHandle">属性分组</el-button>
        <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-menu" size="small"
                   @click="attrVisibleHandle">属性分组
        </el-button>
      </el-button-group>
      <el-button-group>
        <!--    保存-->
        <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" size="small" type="success" plain @click.prevent="addsHandler" icon="el-icon-check">保存</el-button>
        <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-check" plain size="small"
                   type="success" @click.prevent="addsHandler">保存
        </el-button>
        <!--    预览排序-->
        <el-button size="small" @click="orderHandle" icon="el-icon-arrow-down">预览排序</el-button>
        <el-button icon="el-icon-arrow-down" size="small" @click="orderHandle">预览排序</el-button>
        <!--    删除-->
        <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" size="small" @click="CrudRemove" icon="el-icon-delete">删除</el-button>
        <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-delete" size="small"
                   @click="CrudRemove">删除
        </el-button>
        <!--    重置-->
        <el-button size="small" @click="reset" icon="el-icon-refresh-right">重置</el-button>
        <el-button icon="el-icon-refresh-right" size="small" @click="reset">重置</el-button>
      </el-button-group>
      <el-button-group>
        <!--新增-->
      <!--        分类注入-->
      <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag"  icon="el-icon-magic-stick" size="small" @click="injectBtn">分类注入</el-button>
        <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-magic-stick"
                   size="small" @click="injectBtn">分类注入
        </el-button>
        <!--    组合规则-->
        <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-film" size="small" @click="isShowHandler">组合规则</el-button>
        <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-film" size="small"
                   @click="isShowHandler">组合规则
        </el-button>
      <!--        枚举注入-->
      <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-c-scale-to-original" size="small" @click="enmuVisHandle">枚举注入</el-button>
        <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-c-scale-to-original"
                   size="small" @click="enmuVisHandle">枚举注入
        </el-button>
      <!--    级联属性-->
      <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-coin" size="small" @click="CascadeHandle">级联属性</el-button>
        <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-coin" size="small"
                   @click="CascadeHandle">级联属性
        </el-button>
      </el-button-group>
      <el-button-group>
      <!--    同步到其他模板-->
      <el-button size="small"@click="syncHandle" icon="el-icon-share">同步到其他模板</el-button>
        <el-button icon="el-icon-share" size="small" @click="syncHandle">同步到其他模板</el-button>
      </el-button-group>
      <el-button-group>
      <!--    编码申请预览-->
      <el-button size="small" icon="el-icon-view" @click="applicationHandle" style="">编码申请预览</el-button>
        <el-button icon="el-icon-view" size="small" style="" @click="applicationHandle">编码申请预览</el-button>
      </el-button-group>
      <!-- 是否开启编辑     -->
    <el-button-group>
      <el-button size="small" plain  icon="el-icon-view"  v-if="(!checkStatus|| crudLCStatus=='Editing') && !editOpenFlag && attrEditVisible == false && attrFlagChiledren==false" @click="editOpen" >开启编辑</el-button>
        <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && !editOpenFlag && attrEditVisible == false && attrFlagChiledren==false" icon="el-icon-view" plain
                   size="small"
                   @click="editOpen">开启编辑
        </el-button>
    </el-button-group>
      <el-select v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag"  size="small" v-model="selectvalue" placeholder="请选择">
      <el-select v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="selectvalue" placeholder="请选择"
                 size="small">
        <el-option
          v-for="item in selectoptions"
          :key="item.value"
@@ -55,7 +81,8 @@
          :value="item.value">
        </el-option>
      </el-select>
      <el-switch v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag"  v-model="switchvalue" @change="batchSetFlag" active-value="true" style="margin:6px 0 0 10px">
      <el-switch v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="switchvalue"
                 active-value="true" style="margin:6px 0 0 10px" @change="batchSetFlag">
      </el-switch>
    </div>
<!--    弹窗-->
@@ -85,14 +112,14 @@
        </div>
      </el-dialog>
      <!--        枚举注入-->
      <el-dialog :visible.sync="enumVisible" append-to-body title="枚举注入" :before-close="this.enumBeforeClose">
      <el-dialog :before-close="this.enumBeforeClose" :visible.sync="enumVisible" append-to-body title="枚举注入">
        <!-- 渲染表格及按钮 -->
        <!-- 渲染表格及按钮 -->
        <el-alert
          title="请新增后点击单元格输入枚举数据"
          type="success"
          :closable="false"
          style="margin-bottom: 10px;display: inline-block"
          :closable="false">
          title="请新增后点击单元格输入枚举数据"
          type="success">
        </el-alert>
        <div>
          <el-button icon="el-icon-plus" type="primary" @click="addRow">新增</el-button>
@@ -116,7 +143,7 @@
            </el-table-column>
            <el-table-column fixed="right" label="操作" width="120">
              <template slot-scope="scope">
                <el-button size="small" type="text" plain @click="enumDeleteRow">
                <el-button plain size="small" type="text" @click="enumDeleteRow">
                  移除
                </el-button>
              </template>
@@ -151,7 +178,8 @@
                <el-radio-group v-model="injectOption.classifyInvokeLevel">
                  <el-radio label="min">最小层</el-radio>
                  <el-radio label="max">指定层</el-radio>
                  <el-input-number v-if="this.injectOption.classifyInvokeLevel == 'max'" v-model="injectOption.classifyNumber" :max="10" :min="0"
                  <el-input-number v-if="this.injectOption.classifyInvokeLevel == 'max'"
                                   v-model="injectOption.classifyNumber" :max="10" :min="0"
                                   controls-position="right"></el-input-number>
                </el-radio-group>
              </el-form-item>
@@ -171,7 +199,8 @@
        </div>
      </el-dialog>
      <!--        属性分组-->
      <el-dialog :visible.sync="attrVisible" append-to-body :before-close="attrClose" style="width: 800px; left:30vw;top: 10vh ;"
      <el-dialog :before-close="attrClose" :visible.sync="attrVisible" append-to-body
                 style="width: 800px; left:30vw;top: 10vh ;"
                 title="输入分组的名称">
        <el-form ref="form" label-width="70px">
          <el-form-item label="属性分组">
@@ -222,19 +251,22 @@
        </el-container>
      </el-dialog>
      <!--        全屏编辑-->
      <el-dialog :visible.sync="attrEditVisible" append-to-body fullscreen="true" :before-close="escEdit" >
        <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" @editCloseChildren="editClose" :editStyleFlag="editStyleFlag" :editOpenFlag="editOpenFlag" :crudArrayFlag="this.crudArrayFlag"></attrCrud>
      <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"
                  @editCloseChildren="editClose"></attrCrud>
      </el-dialog>
      <!--      组合规则-->
      <formula-editor :systemVariableTableData="systemVariableTableData"
      <formula-editor :componentRuleText="componentRuleText"
                      :systemVariableTableData="systemVariableTableData"
                      :thisSceneTableData="thisSceneTableData"
                      :visible.sync="isShowformulaEdit"
                      @updateFormulaContent="updataFormlaContent"
                      :componentRuleText="componentRuleText"
      ></formula-editor>
      <!--    新增  -->
      <el-dialog :visible.sync="addVisible" append-to-body title="从业务类型中选择属性">
        <avue-crud ref="AddOriginPlace" :data="businessData" :option="businessOption" @selection-change="businessSelect">
        <avue-crud ref="AddOriginPlace" :data="businessData" :option="businessOption"
                   @selection-change="businessSelect">
          <template slot="menuLeft">
            <div style="display: flex;">
              <el-select v-model="SelectValue" placeholder="请选择" style="width: 150px !important;">
@@ -246,7 +278,7 @@
                  style="width: 150px">
                </el-option>
              </el-select>
              <el-input style="width: 400px;margin-left: 20px" v-model="SelectFInd"></el-input>
              <el-input v-model="SelectFInd" style="width: 400px;margin-left: 20px"></el-input>
              <el-button size="small" style="margin-left: 10px" @click="AddFindHandler">查询</el-button>
            </div>
          </template>
@@ -260,44 +292,50 @@
      <!--      参照配置-->
        <refer-config-dialog
          :display="referConfigVisble"
          @setReferConfigValue="setReferConfigValue"
          :referConfigOption="referConfigOption"
        @setReferConfigValue="setReferConfigValue"
        ></refer-config-dialog>
    </div>
    <el-table :data="ProData"
              style="width: 100%"
              :height="this.editStyleFlag? 800 : 343"
              @cell-click="handleCellClicks"
              @select="selectHandle"
              @selection-change="selectionChange"
              @row-click="rowClick"
              v-if="this.crudArrayFlag"
    <el-table v-if="this.crudArrayFlag"
              ref="referAttrCrud"
              v-loading="loading"
              :data="ProData"
              :height="this.editStyleFlag? 800 : 343"
              style="width: 100%"
              @select="selectHandle"
              @cell-click="handleCellClicks"
              @selection-change="selectionChange"
              @row-click="rowClick"
    >
      <el-table-column
        type="selection"
        width="55" fixed>
        fixed
        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" :key="item.id"
      <el-table-column v-for="(item,index) in this.option.column" v-if="item.edit !='referName'"
                       :key="item.id"
                       :fixed="item.fixed"
                       :formatter="formAttr"
                       :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"
                       :width="item.width||(item.label.length >=4 ?'160':item.label.length==3 ?'130':'100')"
                       align="center"
                       v-if="item.edit !='referName'"
      >
        <template slot-scope="{ row }">
          <el-input ref="inputRef" v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text'  ||item.edit == 'refer' )" v-model="row[item.prop]"
                    @blur="saveRows" autofocus ></el-input>
          <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' " @blur="selectChangeHandler(item.editConfig,index)">
          <el-input v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text'  ||item.edit == 'refer' )"
                    ref="inputRef"
                    v-model="row[item.prop]"
                    autofocus @blur="saveRows"></el-input>
          <el-input-number v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" 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" v-model="row[item.prop]" allow-create default-first-option
                     filterable
                     @blur="selectChangeHandler(item.editConfig,index)">
            <el-option
              v-for="optionItem in item.data"
              :key="optionItem.dictValue"
@@ -306,7 +344,7 @@
            </el-option>
          </el-select>
          <el-switch
            v-if="item.edit === 'switch'" v-model="row[item.prop]" active-value="true" :disabled="!editOpenFlag"
            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>
@@ -1069,7 +1107,9 @@
          {
            label: "可空",
            prop: "nullableFlag",
            formatter:function(row,column){return row.nullableFlag=='true' || row.nullableFlag=='1'?'是':'否'}
            formatter: function (row, column) {
              return row.nullableFlag == 'true' || row.nullableFlag == '1' ? '是' : '否'
            }
          },
          {
            label: "默认值",
@@ -1664,7 +1704,10 @@
    },
    //级联属性清除
    casRemove() {
      this.selectRow = ""
      this.selectRow = "";
      this.$set(this.CurrentCell, 'parentCode', this.selectRow);
      this.CascadeVisible = false;
    },
    // 级联属性行单选
    CascaderowClick(row) {
@@ -1789,7 +1832,7 @@
               classifyNumber: this.CurrentCell.classifyInvokeLevel == 'min' ? '' : this.CurrentCell.classifyInvokeLevel
             };
           } else {
             this.injectHandleReset();
            // this.injectHandleReset();
           }
         }else if(column.property == 'componentRule'){
           if(this.CurrentCell){
@@ -1920,6 +1963,8 @@
    rulesremove() {
      this.RulesForm.expressionText = ""
      this.RulesForm.TestContent = ""
      this.$set(this.CurrentCell, 'verifyRule', '')
      this.rulesVisible = false
    },
    // 验证规则确定
    rulesHandle() {
@@ -1970,7 +2015,7 @@
          }
          this.$set(this.attrSelectList[0],'classifyInvokeText',data)
        }
        this.injectHandleReset()
      // this.injectHandleReset()
      if(this.injectOption.classifyInvokeLevel !== 'min'){
        this.injectOption.classifyInvokeLevel=this.injectOption.classifyNumber;
@@ -1982,11 +2027,13 @@
    },
    //分类注入清空
    injectHandleReset() {
      this.injectOption.classifyInvokeAttrName = "分类名称";
      this.injectOption.classifyInvokeAttr = "name";
      this.injectOption.classifyInvokeLevel = "min";
      this.injectOption.classifyInvokeEditFlag = "true";
      this.injectOption.classifyNumber = "0";
      // this.injectOption.classifyInvokeAttrName = "分类名称";
      // this.injectOption.classifyInvokeAttr = "name";
      // this.injectOption.classifyInvokeLevel = "min";
      // this.injectOption.classifyInvokeEditFlag = "true";
      // this.injectOption.classifyNumber = "0";
      this.$set(this.CurrentCell, 'classifyInvokeText', '')
      this.injectVisible = false;
    },
    // 分类注入取消
    injectRemove() {
@@ -2092,12 +2139,13 @@
}
</script>
<style scoped lang="scss" >
<style lang="scss" scoped>
.app {
   /deep/ .el-button {
   //margin: 0 10px 10px 0;
   }
}
.el-button-group {
  margin-right: 10px;
  margin-bottom: 10px;
Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -24,31 +24,36 @@
          </div>
        </div>
        <!--        树节点添加对话框-->
        <el-dialog :title="this.TreeFlag ? '添加分类' :'添加主题库'" :before-close="TreeEscHandler" :visible.sync="TreeAddFormVisible"  v-loading="AddLoading" append-to-body
          <el-dialog v-loading="AddLoading" :before-close="TreeEscHandler"
                     :title="this.TreeFlag ? '添加分类' :'添加主题库'" :visible.sync="TreeAddFormVisible" append-to-body
                   style="width: 1700px;margin: auto">
          <el-form ref="myForm" :model="TreeAddform" :rules="rules">
            <el-form-item :label="this.TreeFlag ? '分类编号:' :'主题库编号:'" label-width="150px" style="display: inline-block" prop="id">
              <el-form-item :label="this.TreeFlag ? '分类编号:' :'主题库编号:'" label-width="150px" prop="id"
                            style="display: inline-block">
              <el-input v-model="TreeAddform.id" autocomplete="off" style="width: 170px"></el-input>
            </el-form-item>
            <el-form-item :label="this.TreeFlag ? '分类名称:' :'主题库名称:'" label-width="110px" style="display: inline-block" prop="name">
              <el-form-item :label="this.TreeFlag ? '分类名称:' :'主题库名称:'" label-width="110px" prop="name"
                            style="display: inline-block">
              <el-input v-model="TreeAddform.name" autocomplete="off" style="width: 170px"></el-input>
            </el-form-item>
            <el-form-item label="存储的业务类型:" label-width="150px" v-if="TreeFlagCode" prop="btmTypeName">
              <el-input v-model="TreeAddform.btmTypeName" autocomplete="off" style="width: 585px" @focus="btmFoucus"></el-input>
              <el-form-item v-if="TreeFlagCode" label="存储的业务类型:" label-width="150px" prop="btmTypeName">
                <el-input v-model="TreeAddform.btmTypeName" autocomplete="off" style="width: 585px"
                          @focus="btmFoucus"></el-input>
            </el-form-item>
            <el-form-item label="描述:" label-width="150px">
              <el-input v-model="TreeAddform.description" autocomplete="off" style="width: 585px"></el-input>
            </el-form-item>
            <el-form-item label="编码规则:" label-width="150px">
              <el-input v-model="TreeAddform.codeRuleOidName" autocomplete="off" style="width: 585px" @focus="CodeFoucus"></el-input>
                <el-input v-model="TreeAddform.codeRuleOidName" autocomplete="off" style="width: 585px"
                          @focus="CodeFoucus"></el-input>
            </el-form-item>
            <el-form-item label="关键属性查询规则:" label-width="150px">
                <el-input v-model="TreeAddform.codeKeyAttrRepeatOidName" autocomplete="off" @focus="Keyfouce"
                        style="width: 585px"></el-input>
                <el-input v-model="TreeAddform.codeKeyAttrRepeatOidName" autocomplete="off" style="width: 585px"
                          @focus="Keyfouce"></el-input>
            </el-form-item>
            <el-form-item label="相似查询规则:" label-width="150px">
              <el-input v-model="TreeAddform.codeResembleRuleOidName" autocomplete="off" @focus="simFouce"
                        style="width: 585px"></el-input>
                <el-input v-model="TreeAddform.codeResembleRuleOidName" autocomplete="off" style="width: 585px"
                          @focus="simFouce"></el-input>
            </el-form-item>
          </el-form>
          <div slot="footer" class="dialog-footer">
@@ -58,13 +63,17 @@
        </el-dialog>
        <!--        修改对话框-->
        <el-dialog :visible.sync="TreeEditFormVisible" append-to-body title="修改分类">
          <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'edit'" @MasterHandler="MasterHandler" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="editTreeFLagCode" :nodeClickList="nodeClickList" @referTreeForm="referTreeForm" @flushed="flushed"></classifyTreeform>
            <classifyTreeform ref="childForm" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="editTreeFLagCode" :flag="'edit'"
                              :loneTreeNewForm="TreeList" :nodeClickList="nodeClickList"
                              :nodeList="nodeList" @MasterHandler="MasterHandler" @flushed="flushed"
                              @referTreeForm="referTreeForm"></classifyTreeform>
        </el-dialog>
        <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata" :defaultExpandAll="false"
          <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata"
                     :defaultExpandAll="false"
                   :option="Treeoption"
                     class="classifyTree"
                   style="height: calc(100vh - 230px);"
                   @node-click="nodeClick"
                   class="classifyTree"
        >
        </avue-tree>
        </div>
@@ -75,18 +84,21 @@
        <!--        右侧表格-->
        <avue-tabs :option="tabOption" @change="handleChange"></avue-tabs>
        <span v-if="type.prop==='tab1'">
           <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'renonly'" ></classifyTreeform>
           <classifyTreeform ref="childForm" :flag="'renonly'" :loneTreeNewForm="TreeList"
                             :nodeList="nodeList"></classifyTreeform>
        </span>
        <span v-else-if="type.prop==='tab2'">
            <basic-container>
               <avue-crud ref="textCrud" v-model="crudForm" v-loading="FormLoing" :data="this.Formlist" :option="this.crudTreeOption"
               <avue-crud ref="textCrud" v-model="crudForm" v-loading="FormLoing" :data="this.Formlist"
                          :option="this.crudTreeOption"
                          @row-save="CrudRowSave"
                          @row-del="CrudRowDel"
                          @row-update="CrudRowUpdata"
                          @row-click="rowHandle"
               >
                  <template slot="radio" slot-scope="{row}">
                       <el-radio v-model="selectRow" :label="row.$index" style="padding-left: 10px !important;">{{''}}</el-radio>
                       <el-radio v-model="selectRow" :label="row.$index"
                                 style="padding-left: 10px !important;">{{ '' }}</el-radio>
                  </template>
            <template slot="menuLeft">
@@ -121,7 +133,7 @@
        </div>
           </el-dialog>
              <!--            模板克隆  -->
                <el-dialog :visible.sync="CloneVisible" append-to-body title="克隆模板" :before-close="cloneClose">
                <el-dialog :before-close="cloneClose" :visible.sync="CloneVisible" append-to-body title="克隆模板">
                  <el-container>
                    <el-aside width="300px">
                      <div style="margin-bottom: 5px"><el-tag>主题库分类</el-tag></div>
@@ -146,8 +158,10 @@
                                 :value="item.value">
                              </el-option>
                             </el-select>
                            <el-input v-model="CloneFind" size="small" style="width: 40%;margin-left: 15px" placeholder="输入值后按回车进行模糊查询"></el-input>
                             <el-button size="small" type="primary" plain style="margin-left: 10px" @click="CloneEnterFind"  @keyup.enter.native="CloneEnterFind">查询</el-button>
                            <el-input v-model="CloneFind" placeholder="输入值后按回车进行模糊查询" size="small"
                                      style="width: 40%;margin-left: 15px"></el-input>
                             <el-button plain size="small" style="margin-left: 10px" type="primary"
                                        @click="CloneEnterFind" @keyup.enter.native="CloneEnterFind">查询</el-button>
                           </div>
                            <avue-crud v-model="ClonecrudForm" v-loading="FormLoing" :data="this.CloneFormlist"
                                       :option="this.ClonecrudTreeOption"
@@ -163,61 +177,63 @@
                     <el-button size="small" @click="cloneClose" >取消</el-button>
                   </div>
                      <el-dialog
                        width="30%"
                        title="克隆模板"
                        :visible.sync="CloneinnerVisible"
                        append-to-body>
                        append-to-body
                        title="克隆模板"
                        width="30%">
                        <div>
                          <avue-form :option="CloneOption" @submit="Clonesubmit" v-model="CloneModel"></avue-form>
                          <avue-form v-model="CloneModel" :option="CloneOption" @submit="Clonesubmit"></avue-form>
                        </div>
                    </el-dialog>
                </el-dialog>
            </template>
                  <template #menu="{ size, row ,index}">
                    <el-button type="text"
                               v-if="row.lcStatus == 'Editing'"
                    <el-button v-if="row.lcStatus == 'Editing'"
                               :size="size"
                               icon="el-icon-edit-outline "
                               :size="size"
                               type="text"
                               @click="$refs.textCrud.rowEdit(row)">编辑</el-button>
                    <el-button type="text"
                               v-if="row.lcStatus == 'Editing'"
                               icon="el-icon-delete"
                    <el-button v-if="row.lcStatus == 'Editing'"
                               :size="size"
                               icon="el-icon-delete"
                               type="text"
                               @click="$refs.textCrud.rowDel(row,index)">删除</el-button>
                <el-button
                  v-show="row.lcStatus === 'Released'"
                  @click="upAndStopAndStart(row, 'upVersion')"
                  :loading="row.upVersionLoad"
                  :size="size"
                  icon="el-icon-upload2"
                  type="text"
                  :size="size"
                  @click="upAndStopAndStart(row, 'upVersion')"
                >升版</el-button
                >
                <el-button
                  v-show="row.lcStatus === 'Released'"
                  @click="upAndStopAndStart(row, 'stopLose')"
                  :loading="row.stopLoseLoad"
                  :size="size"
                  icon="el-icon-circle-close"
                  type="text"
                  :size="size"
                  @click="upAndStopAndStart(row, 'stopLose')"
                >停用/失效</el-button
                >
                <el-button
                  v-show="['Disabled', 'Editing'].includes(row.lcStatus)"
                  @click="upAndStopAndStart(row, 'startRelease')"
                  :loading="row.startReleaseLoad"
                  :size="size"
                  icon="el-icon-circle-check"
                  type="text"
                  :size="size"
                  @click="upAndStopAndStart(row, 'startRelease')"
                >启用/发布</el-button
                >
              </template>
          </avue-crud>
          </basic-container>
          <templatePro :ProData="this.ProData" :rowIndex="this.selectRow" :crudOid="this.crudOid" :crudLCStatus="this.crudLCStatus" :crudArray="this.crudArray" :Formlist="this.Formlist" :codeClassifyOid="this.codeClassifyOid"></templatePro>
          <templatePro :Formlist="this.Formlist" :ProData="this.ProData" :codeClassifyOid="this.codeClassifyOid"
                       :crudArray="this.crudArray" :crudLCStatus="this.crudLCStatus" :crudOid="this.crudOid"
                       :rowIndex="this.selectRow"></templatePro>
        </span>
        <!--     编码规则-->
        <el-dialog  :visible.sync="MasterdialogVisible"   title="为【编码规则】选取值" append-to-body>
        <el-dialog :visible.sync="MasterdialogVisible" append-to-body title="为【编码规则】选取值">
          <template>
            <el-select v-model="SelectValue" placeholder="请选择" style="width: 135px">
              <el-option
@@ -228,24 +244,29 @@
                style="width: 150px">
              </el-option>
            </el-select>
            <el-input style="width: 260px;margin-left: 15px" placeholder="输入值后进行模糊查询" v-model="SelectFInd"></el-input>
            <el-button size="small"  type="primary" plain @click="SelectFindeHandler" style="margin-left: 20px">查询</el-button>
            <el-input v-model="SelectFInd" placeholder="输入值后进行模糊查询" style="width: 260px;margin-left: 15px"></el-input>
            <el-button plain size="small" style="margin-left: 20px" type="primary" @click="SelectFindeHandler">查询
            </el-button>
          </template>
          <avue-crud :data="masterData" :option="masterOption" @row-click="masterSelect">
            <template slot="radio" slot-scope="{row}">
              <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{''}}</el-radio>
              <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }}
              </el-radio>
            </template>
          </avue-crud>
          <div style="height: 30px">
            <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >已设置的值为:[{{this.TreeAddform.coderuleoidName ==''?'未设置值':this.TreeAddform.coderuleoidName}}]</div>
            <div
              style="display: inline-block;float: left;border: 1px solid #eeeeee;padding: 5px;margin-top: 5px;font-size: 14px ">
              已设置的值为:[{{ this.TreeAddform.coderuleoidName == '' ? '未设置值' : this.TreeAddform.coderuleoidName }}]
            </div>
            <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
              <el-button type="primary" size="small" @click="MasterHandlerClick">确定</el-button>
              <el-button size="small" type="primary" @click="MasterHandlerClick">确定</el-button>
              <el-button  size="small" @click="MasterdialogVisible=false">取消</el-button>
            </div>
          </div>
        </el-dialog>
        <!--      关键属性查询规则-->
        <el-dialog  :visible.sync="KeydialogVisible"   title="为【关键属性查询规则】选取值" append-to-body>
        <el-dialog :visible.sync="KeydialogVisible" append-to-body title="为【关键属性查询规则】选取值">
          <template>
            <el-select v-model="SelectValue" placeholder="请选择" style="width: 135px">
              <el-option
@@ -256,24 +277,29 @@
                style="width: 150px">
              </el-option>
            </el-select>
            <el-input style="width: 260px;margin-left: 15px" placeholder="输入值后进行模糊查询" v-model="SelectFInd"></el-input>
            <el-button size="small"  type="primary" plain @click="KeySelectFindeHandler" style="margin-left: 20px">查询</el-button>
            <el-input v-model="SelectFInd" placeholder="输入值后进行模糊查询" style="width: 260px;margin-left: 15px"></el-input>
            <el-button plain size="small" style="margin-left: 20px" type="primary" @click="KeySelectFindeHandler">查询
            </el-button>
          </template>
          <avue-crud :data="KeyData" :option="masterOption" @row-click="KeySelect">
            <template slot="radio" slot-scope="{row}">
              <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{''}}</el-radio>
              <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }}
              </el-radio>
            </template>
          </avue-crud>
          <div style="height: 30px">
            <div style="display: inline-block;float: left;border: 1px solid #eeeeee;padding: 5px;margin-top: 5px;font-size: 14px " >已设置的值为:[{{this.TreeAddform.codeKeyAttrRepeatOidName ==''?'未设置值':this.TreeAddform.codekeyattrrepeatoidName}}]</div>
            <div
              style="display: inline-block;float: left;border: 1px solid #eeeeee;padding: 5px;margin-top: 5px;font-size: 14px ">
              已设置的值为:[{{ this.TreeAddform.codeKeyAttrRepeatOidName == '' ? '未设置值' : this.TreeAddform.codekeyattrrepeatoidName }}]
            </div>
            <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
              <el-button type="primary" size="small" @click="KeyHandlerClick">确定</el-button>
              <el-button size="small" type="primary" @click="KeyHandlerClick">确定</el-button>
              <el-button  size="small" @click="KeydialogVisible=false">取消</el-button>
            </div>
          </div>
        </el-dialog>
        <!--      相似项查询规则-->
        <el-dialog  :visible.sync="SimidialogVisible"   title="为【相似项查询规则】选取值" append-to-body>
        <el-dialog :visible.sync="SimidialogVisible" append-to-body title="为【相似项查询规则】选取值">
          <template>
            <el-select v-model="SelectValue" placeholder="请选择" style="width: 135px">
              <el-option
@@ -284,24 +310,29 @@
                style="width: 150px">
              </el-option>
            </el-select>
            <el-input style="width: 260px;margin-left: 15px" placeholder="输入值后进行模糊查询" v-model="SelectFInd"></el-input>
            <el-button size="small"  type="primary" plain @click="SimSelectFindeHandler" style="margin-left: 20px">查询</el-button>
            <el-input v-model="SelectFInd" placeholder="输入值后进行模糊查询" style="width: 260px;margin-left: 15px"></el-input>
            <el-button plain size="small" style="margin-left: 20px" type="primary" @click="SimSelectFindeHandler">查询
            </el-button>
          </template>
          <avue-crud :data="simData" :option="masterOption" @row-click="simSelect">
            <template slot="radio" slot-scope="{row}">
              <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{''}}</el-radio>
              <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }}
              </el-radio>
            </template>
          </avue-crud>
          <div style="height: 30px">
            <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >已设置的值为:[{{this.TreeAddform.codeResembleRuleOidName ==''?'未设置值':this.TreeAddform.codeResembleRuleOidName}}]</div>
            <div
              style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px ">
              已设置的值为:[{{ this.TreeAddform.codeResembleRuleOidName == '' ? '未设置值' : this.TreeAddform.codeResembleRuleOidName }}]
            </div>
            <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
              <el-button type="primary" size="small" @click="simHandlerClick">确定</el-button>
              <el-button size="small" type="primary" @click="simHandlerClick">确定</el-button>
              <el-button  size="small" @click="SimidialogVisible=false">取消</el-button>
            </div>
          </div>
        </el-dialog>
<!--        业务类型-->
        <el-dialog  :visible.sync="BtmdialogVisible"   title="为【业务类型规则】选取值" append-to-body>
        <el-dialog :visible.sync="BtmdialogVisible" append-to-body title="为【业务类型规则】选取值">
          <template>
            <el-select v-model="SelectValue" placeholder="请选择" style="width: 135px !important;">
              <el-option
@@ -312,24 +343,29 @@
                style="width: 130px">
              </el-option>
            </el-select>
            <el-input style="width: 260px;margin-left: 15px" placeholder="输入值后进行模糊查询" v-model="SelectFInd"></el-input>
            <el-button size="small"  type="primary" plain @click="BtmSelectFindeHandler" style="margin-left: 20px">查询</el-button>
            <el-input v-model="SelectFInd" placeholder="输入值后进行模糊查询" style="width: 260px;margin-left: 15px"></el-input>
            <el-button plain size="small" style="margin-left: 20px" type="primary" @click="BtmSelectFindeHandler">查询
            </el-button>
          </template>
          <avue-crud :data="BtmData" :option="masterOption" @row-click="btmSelect">
            <template slot="radio" slot-scope="{row}">
              <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{''}}</el-radio>
              <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }}
              </el-radio>
            </template>
          </avue-crud>
          <div style="height: 30px">
            <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >已设置的值为:[{{this.TreeAddform.btmTypeName}}]</div>
            <div
              style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px ">
              已设置的值为:[{{ this.TreeAddform.btmTypeName }}]
            </div>
            <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
              <el-button type="primary" size="small" @click="btmHandlerClick">确定</el-button>
              <el-button size="small" type="primary" @click="btmHandlerClick">确定</el-button>
              <el-button  size="small" @click="BtmdialogVisible=false">取消</el-button>
            </div>
          </div>
        </el-dialog>
<!--        导出-->
          <ThemeImport :visible.sync="ThemeImportVisible" :codeClassifyOid="this.codeClassifyOid"></ThemeImport>
        <ThemeImport :codeClassifyOid="this.codeClassifyOid" :visible.sync="ThemeImportVisible"></ThemeImport>
      </basic-container>
    </el-main>
  </el-container>
@@ -358,6 +394,7 @@
} from "@/api/template/templateAttr";
import {defaultReferDataGrid,referDataGrid} from '@/api/MasterData/master'
import func from "@/util/func";
export default {
  name: "classifyTrees.vue",
  //使用inject接收参数
@@ -455,7 +492,6 @@
        searchCondition: 'id',
        findText: "",
      },
      //高级查询对话框
      FindFormVisible: false,
      //克隆模板对话框
@@ -531,8 +567,6 @@
        delBtn: false,
        defaultExpandAll: false,
        menu: false,
        // //这个是多选
        // multiple: true,
      },
      //模板管理form
      crudForm: "",
@@ -683,9 +717,7 @@
      showEditBtn:false,
    }
  },
  watch:{
  },
  watch: {},
  //tab栏默认是表格
  mounted() {
    this.type = this.tabOption.column[0];
@@ -762,7 +794,6 @@
  },
  methods: {
    // 关闭弹窗
    /** 导入 */
    ImportExcel(){
      this.ThemeImportVisible=true;
@@ -947,17 +978,9 @@
    },
    //业务类型查询
    BtmSelectFindeHandler(){
      if(this.SelectValue == 'id'){
        const masterParameter={
          'conditionMap[id]':this.SelectFInd
        }
      const masterParameter = {};
      masterParameter[`conditionMap['${this.SelectValue}']`] = `*${this.SelectFInd}*`;
        this.btmdefaultRend(masterParameter);
      }else if(this.SelectValue == 'name'){
        const masterParameter={
          'conditionMap[name]':this.SelectFInd
        }
        this.btmdefaultRend(masterParameter);
      }
    },
    //业务类型多选
    btmSelect(row){
@@ -1260,7 +1283,10 @@
    async gridCode() {
      try {
        const res = await gridCodeClassifyTemplateAttr({ 'conditionMap[classifyTemplateOid]': this.Formlist[this.selectRow].oid, limit: -1 });
        const res = await gridCodeClassifyTemplateAttr({
          'conditionMap[classifyTemplateOid]': this.Formlist[this.selectRow].oid,
          limit: -1
        });
        this.ProData = res.data.data.map(item => {
          if (item.classifyInvokeAttr !== '') {
            if (!item.hasOwnProperty('classifyInvokeText')) {
@@ -1473,7 +1499,10 @@
          })
          this.crudLCStatus=this.Formlist[this.selectRow].lcStatus;
          this.crudArray.push(this.Formlist[this.selectRow]);
          gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]':  res.data.data[this.selectRow].oid,limit:-1}).then(res => {
          gridCodeClassifyTemplateAttr({
            'conditionMap[classifyTemplateOid]': res.data.data[this.selectRow].oid,
            limit: -1
          }).then(res => {
            this.ProData = res.data.data;
            //分类注入数据格式
            this.ProData =  res.data.data.map((item) => {
@@ -1533,12 +1562,15 @@
.el-container{
  height: 100%;
}
.el-aside {
  height: calc(100% - 30px);
}
.el-main {
  height: calc(100% - 30px);
}
.el-form {
  display: flex;
  flex-wrap: wrap; /* 设置可换行,以便在小屏幕设备上使用多行布局 */
Source/UBCS-WEB/src/components/template/FlowPath.vue
@@ -1,13 +1,14 @@
<template>
        <avue-crud ref="crud" :table-loading="loading" :data="data" v-model="form" :option="option" :page.sync="page"
            :search.sync="search" @on-load="getDataList" @row-save="handleSave" @row-del="handleDelete"
            @row-update="handleEdit" @refresh-change="handleRefresh" @size-change="handleSizePage"
            @current-change="handleCurrentPage" v-if="Formlist.length>0">
  <avue-crud v-if="Formlist.length>0" ref="crud" v-model="form" :data="data" :option="option" :page.sync="page"
             :search.sync="search" :table-loading="loading" @on-load="getDataList" @row-save="handleSave"
             @row-del="handleDelete" @row-update="handleEdit" @refresh-change="handleRefresh"
             @size-change="handleSizePage" @current-change="handleCurrentPage">
        </avue-crud>
</template>
<script>
import { getFlowpathList, getStartList, flowpathSave, flowpathDelete } from '@/api/template/flowpath.js'
export default {
    name: 'FlowPath',
    props: {
Source/UBCS-WEB/src/components/template/Stage.vue
@@ -1,30 +1,33 @@
<template>
    <div v-if="Formlist.length>0">
        <avue-crud ref="crud" :table-loading="loading" :data="data" :option="option" :page.sync="page"
    <avue-crud ref="crud" :data="data" :option="option" :page.sync="page" :table-loading="loading"
            @on-load="getDataList" @size-change="handleSizePage" @current-change="handleCurrentPage"
            @row-click="handleRowClick">
            <template slot-scope="{type,size,row,index}" slot="menu">
                <el-button icon="el-icon-check" :size="size" :type="type"
                    @click="handleMaintenance(row, index)">维护</el-button>
      <template slot="menu" slot-scope="{type,size,row,index}">
        <el-button :size="size" :type="type" icon="el-icon-check"
                   @click="handleMaintenance(row, index)">维护
        </el-button>
            </template>
        </avue-crud>
        <el-dialog title="模板阶段" width="50%"  append-to-body="true" :visible.sync="dialogNode">
            <avue-crud ref="crud" :table-loading="loading" :data="stageData" :option="stageOption" @on-load="getStagelist"
    <el-dialog :visible.sync="dialogNode" append-to-body="true" title="模板阶段" width="50%">
      <avue-crud ref="crud" :data="stageData" :option="stageOption" :table-loading="loading" @on-load="getStagelist"
                @row-click="handleRowStageClick">
                <template slot-scope="{type,size,row,index}" slot="menu">
                    <el-button icon="el-icon-check" :size="size" :type="type"
                        @click="handleMaintenanceTransfer(row, index)">维护</el-button>
        <template slot="menu" slot-scope="{type,size,row,index}">
          <el-button :size="size" :type="type" icon="el-icon-check"
                     @click="handleMaintenanceTransfer(row, index)">维护
          </el-button>
                </template>
            </avue-crud>
        </el-dialog>
        <table-transfer v-if="flag" :visible.sync="dialogTransfer" v-model="attributeValue" :dataList="attributeData"
            :columns="columns" keyName="oid" @save="handleSave" @close="handelClose"></table-transfer>
    <table-transfer v-if="flag" v-model="attributeValue" :columns="columns" :dataList="attributeData"
                    :visible.sync="dialogTransfer" keyName="oid" @close="handelClose" @save="handleSave"></table-transfer>
    </div>
</template>
<script>
import { getFlowpathList, stagelist, attributeListRight, attributeList, attributeSave } from '@/api/template/flowpath.js'
import TableTransfer from '@/components/template/TableTransfer'
export default {
    name: 'Stage',
    components: {
@@ -166,7 +169,11 @@
        // 获取全部属性
        async getAttributeList() {
            const response = await attributeList({ 'conditionMap[classifyTemplateOid]': this.code })
            const responseRight = await attributeListRight({ templateId: this.code, modelKey: this.modelKey, taskId: this.saveParam.taskId })
      const responseRight = await attributeListRight({
        templateId: this.code,
        modelKey: this.modelKey,
        taskId: this.saveParam.taskId
      })
            if (response.status === 200 && responseRight.status === 200) {
                let datas = response.data.data.records
                let dataRight = responseRight.data.data
@@ -174,7 +181,9 @@
                    const { oid, id, name, attributeGroup } = item
                    item = { oid, id, name, attributeGroup, ...{ checked: false } }
                    if (dataRight.length !== 0) {
                        dataRight.forEach(element => { if (item.id === element.attrId) item.checked = true });
            dataRight.forEach(element => {
              if (item.id === element.attrId) item.checked = true
            });
                    }
                    return item
                })
@@ -187,7 +196,11 @@
        },
        // 获取已保存属性
        async getAttributeListRight() {
            const response = await attributeListRight({ templateId: this.code, modelKey: this.modelKey, taskId: this.saveParam.taskId })
      const response = await attributeListRight({
        templateId: this.code,
        modelKey: this.modelKey,
        taskId: this.saveParam.taskId
      })
            if (response.status === 200) {
                let data = response.data.data
                data = data.map(item => {