ludc
2023-05-23 b8886034cbd7a43911d6b24e322f604f557c1e02
Source/UBCS-WEB/src/views/code/code.vue
@@ -1,5 +1,5 @@
<template>
  <basic-container style="height: 350px;">
  <basic-container style="height: 100%;">
    <!-- 编码规则信息展示区域 -->
    <basic-container class="code-rule-container">
@@ -149,8 +149,8 @@
        </el-row>
      </div>
      <div slot="footer" class="dialog-footer" style="height: 50px; margin-top: -4vh;">
        <el-button @click="cloneSettingBox = false">取 消</el-button>
        <el-button type="primary" @click="saveCloneCodeRule">保 存</el-button>
        <el-button @click="cloneSettingBox = false">取 消</el-button>
      </div>
    </el-dialog>
    <!-- 编码规则,从其他规则克隆对话框 -->
@@ -190,8 +190,8 @@
        </el-row>
      </div>
      <div slot="footer" class="dialog-footer" style="height: 50px; margin-top: -4vh;">
        <el-button @click="cloneOtherCodeRuleSettingBox = false">取 消</el-button>
        <el-button type="primary" @click="saveOtherCodeBasic">保 存</el-button>
        <el-button @click="cloneOtherCodeRuleSettingBox = false">取 消</el-button>
      </div>
    </el-dialog>
@@ -645,10 +645,10 @@
        </el-form>
      </div>
      <!-- 第一层对话框的按钮和,线条 -->
      <el-divider direction="horizontal"></el-divider>
      <el-divider class="horizontal-line" direction="horizontal"></el-divider>
      <div slot="footer" class="dialog-footer">
        <el-button @click="addBasicCodeSettingBox = false" v-show="showbtn">取 消</el-button>
        <el-button type="primary" @click="saveOrEditBasicCode" v-show="showbtn">保 存</el-button>
        <el-button @click="addBasicCodeSettingBox = false" v-show="showbtn">取 消</el-button>
      </div>
      <!--  第二层对话框,属性码段,属性选择对话框 -->
@@ -664,7 +664,7 @@
              <div class="box">
                <el-scrollbar style="height: auto; border-bottom-right-radius:8px ">
                  <basic-container>
                    <div class="abox">
                    <div class="treeBox">
                      <avue-tree :data="attrClassifyTreeData" :option="treeOption" @node-click="nodeClick"/>
                    </div>
                  </basic-container>
@@ -691,10 +691,9 @@
          </el-row>
        </div>
        <div slot="footer" class="dialog-footer">
          <el-button @click="isShowSelectAttrOption = false">取 消</el-button>
          <el-button type="primary" @click="selectedListClassifyLinkAttr">确 定</el-button>
          <el-button @click="isShowSelectAttrOption = false">取 消</el-button>
        </div>
      </el-dialog>
      <!-- 第二层对话框,属性码段,公式编辑框对话框组件 -->
@@ -727,8 +726,8 @@
          @on-load="parentClassifyOnLoad">
        </avue-crud>
        <div slot="footer" class="dialog-footer">
          <el-button @click="isShowParentClassifyOption = false">取 消</el-button>
          <el-button type="primary" @click="saveSelectedParentClassify">保 存</el-button>
          <el-button @click="isShowParentClassifyOption = false">取 消</el-button>
        </div>
      </el-dialog>
@@ -753,16 +752,20 @@
          @row-click="referBtmRowClick">
        </avue-crud>
        <div slot="footer" class="dialog-footer">
          <el-button @click="isShowSelectReferBtmOption = false">取 消</el-button>
          <el-button type="primary" @click="saveSelectedreferBtm">保 存</el-button>
          <el-button @click="isShowSelectReferBtmOption = false">取 消</el-button>
        </div>
      </el-dialog>
      <!-- 第二层对话框,参照配置组件 -->
      <refer-config-dialog
        ref="referConfigDialog"
      <!-- 第二层对话框,自定义参照配置Form组件 -->
      <refer-config-form-dialog
        ref="referConfigFormDialog"
        @echoReferConfig="echoReferConfig" >
      </refer-config-dialog>
      </refer-config-form-dialog>
      <!-- 第二层对话框,直接选择参照配置curd组件 -->
      <refer-config-crud-dialog
        ref="referConfigCrudDialog">
      </refer-config-crud-dialog>
    </el-dialog>
@@ -797,7 +800,7 @@
  import referBtmOption from "@/const/code/referBtmDialog";
  import fixedValueOption from "@/const/code/fixedValueMgrDialog";
  import {mapGetters} from "vuex";
  import func from "@/util/func";
  export default {
      data() {
        return {
@@ -1116,9 +1119,13 @@
          this.form.getValueClass = content;
        },
        /* 参照配置,子组件填完参照配置之后内容回显时调用 */
        /* 引用码段参照配置,子组件填完参照配置之后内容回显时调用 */
        echoReferConfig(content){
          this.form.referConfig = content;
          this.form.referBtmId = content.referType;
          this.form.referBtmName = content.referTypeName;
          //转换成JSON字符串进行父组件回显
          let submitFormJson = JSON.stringify(content);
          this.form.referConfig = submitFormJson;
        },
        
        /** 为参照引用的业务类型选取值,第二层嵌套对话框,及其相关方法  */
@@ -2075,6 +2082,7 @@
        },
        // 单击编码规则实现行选择
        codeRuleRowClick (row) {
          // 这儿应该可以不要,因为toggleRowSelection也会触发行选择时间
          this.selectionList = row;
          this.$refs.crud.toggleSelection();
          this.$refs.crud.setCurrentRow(row);
@@ -2380,11 +2388,46 @@
            this.isShowSelectReferBtmOption = true;
            this.refreshReferBtmDataChange();
          }else if(condition === 'referConfig'){
            this.$refs.referConfigDialog.isShowReferConfig = true;
            //表格错行的问题所
            this.$refs.referConfigDialog.onloadAttrData();
            if(func.notEmpty(this.form.referConfig) || func.notEmpty(this.form.referBtmName)){
              this.$refs.referConfigFormDialog.isShowReferConfig = true;
              let value = {
                referTypeName: this.form.referBtmName,
                referType: this.form.referBtmId,
                referConfig: this.form.referConfig,
              }
              this.$refs.referConfigFormDialog.initPageData(value);
            }else{
              this.openTipsChooseOrCust();
            }
             //this.$refs.referConfigFormDialog.onloadAttrData();
          }
        },
        // 打开自定义参照配置或直接选择参照配置界面
        openTipsChooseOrCust(){
          this.$confirm('请选择参照配置的定义方式?','参照配置的方式', {
            distinguishCancelAndClose: true,
            closeOnClickModal: false,
            confirmButtonText: '自定义参照配置',
            cancelButtonText: '直接选择参照配置'
          })
          .then(() => {
            // 打开自定参照配置对话框
            this.$refs.referConfigFormDialog.isShowReferConfigForm = true;
            // 表格错行的问题
            this.$refs.referConfigFormDialog.onloadAttrData();
          })
          .catch(action => {
            if (action === "cancel") {
              // 打开直接选择参照配置对话框
              this.$refs.referConfigCrudDialog.isShowReferConfigCrud = true;
              this.$refs.referConfigCrudDialog.referConfigOnload();
            }
            //console.log(action);
          });
          // 让参照配置输入框失去焦点,否则该提示框无法被关闭
          this.$refs.referConfig.$el.querySelector('input').blur();
        },
        // 点击输入框的×号,清空输入框中的内容
        clearAttrDataByIcon(condition){
          if(condition === 'attr'){
@@ -2398,8 +2441,9 @@
            this.form.parentClassifySecOid = '';
          }else if(condition === 'referBtmId'){
            this.form.referBtmId = '';
            this.form.referConfig = '';
          }else if(condition === 'referConfig'){
            this.form.referBtmId = '';
            this.form.referConfig = '';
          }
        },
        // 补位时的字符,实现可输可选
@@ -2566,7 +2610,7 @@
</script>
<style scope>
<style>
  .code-rule-crud > .avue-crud__search ,.code-basic-crud > .avue-crud__search {
    margin-bottom: -15px;
@@ -2612,14 +2656,14 @@
    padding: 1px 6px;
  }
  .el-divider--horizontal {
  .horizontal-line {
    /* margin-top: 19px !important; */
    margin-bottom: -20px !important;
    width: 100%;
    height: 2px;
  }
  .el-card__body > .abox {
  .el-card__body > .treeBox {
    height: 50vh;
  }
@@ -2631,11 +2675,11 @@
    width:60px;
  }
  .el-input-number {
  .left > .el-form-item > .el-form-item__content > .el-input-number {
    width: 120px;
  }
  .el-input-number >.el-input > .el-input__inner {
  .left > .el-form-item > .el-form-item__content > .el-input-number > .el-input > .el-input__inner {
    width:120px;
  } 
  
@@ -2662,16 +2706,16 @@
    justify-content: space-around;
  }
  .el-divider--vertical {
  .add-basicsec-form > .el-divider--vertical {
    width: 2px;
    height: 72%;
    height: 100%;
    margin: 0 auto;
    position: fixed;
    /* position: fixed; */
  }
 .left {
    /* float: left; */
    width: 49%;
    width: 45%;
    height: 100%;
 }
@@ -2690,6 +2734,6 @@
    /* width: 100%; */
    border-top: 1px solid #E9E7E7;
    padding: 5px 10px 10px;
  }
 }
</style>