田源
2023-11-09 cc3d9886a0b6e6f5e7f834045b10735e3197bb7b
Source/UBCS-WEB/src/views/code/code.vue
@@ -576,16 +576,16 @@
      :title="basicSecDialogTitle"
      :visible.sync="addBasicCodeSettingBox"
      append-to-body
      class="avue-dialog avue-dialog--top"
      class="avue-dialog avue-dialog--top add-basicsec-dialog"
      destroy-on-close
      lock-scroll
      style="height: 100vh"
      style="height: 105vh"
      top="-3%"
      width="900px"
      @close="clearBasicAddForm"
    >
      <!--  第一层对话框,添加码段信息对话框中的内容 -->
      <div class="add-basicsec-total" style="overflow-y: auto; height: 58vh">
      <div class="add-basicsec-total">
        <el-form :model="form" class="add-basicsec-form">
          <span class="left">
            <el-form-item
@@ -614,7 +614,7 @@
            <el-form-item
              :label-width="leftFormLabelWidth"
              label="码段类型"
              label="码段类型:"
              required
            >
              <el-select
@@ -631,6 +631,24 @@
                >
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item
              :label-width="leftFormLabelWidth"
              label="前缀:">
              <el-input
                v-model="form.prefixCode"
                :readonly="basicSecOnlyRead"
              ></el-input>
            </el-form-item>
            <el-form-item
              :label-width="leftFormLabelWidth"
              label="后缀:">
              <el-input
                v-model="form.suffixCode"
                :readonly="basicSecOnlyRead">
              </el-input>
            </el-form-item>
            <el-form-item :label-width="leftFormLabelWidth" label="描述:">
@@ -818,9 +836,9 @@
                >
                  <el-option
                    v-for="item in enumParam.codeFillSeparator"
                    :key="item.itemValue"
                    :label="item.itemName"
                    :value="item.itemValue"
                    :key="item.dictKey"
                    :label="item.dictValue"
                    :value="item.dictValue"
                  >
                  </el-option>
                </el-select>
@@ -1113,9 +1131,9 @@
                >
                  <el-option
                    v-for="item in enumParam.codeFillSeparator"
                    :key="item.itemValue"
                    :label="item.itemName"
                    :value="item.itemValue"
                    :key="item.dictKey"
                    :label="item.dictValue"
                    :value="item.dictValue"
                  >
                  </el-option>
                </el-select>
@@ -1125,7 +1143,7 @@
        </el-form>
      </div>
      <!-- 第一层对话框的按钮和分隔线条 -->
      <el-divider class="horizontal-line" direction="horizontal"></el-divider>
      <!-- <el-divider class="horizontal-line" direction="horizontal"></el-divider> -->
      <div slot="footer" class="dialog-footer">
        <el-button
          :disabled="!showbtn"
@@ -1293,6 +1311,7 @@
  saveCodeClassifyValueOrder,
} from "@/api/code/codeClassifyValue";
import { getDictionary } from "@/api/omd/enum";
import { getDictionaryBiz } from "@/api/system/dictbiz";
import optionBasic from "@/const/code/codebasic";
import optionRule from "@/const/code/mdmrule";
import attrOption from "@/const/code/selectAttrOptionDialog";
@@ -1303,6 +1322,7 @@
import { mapGetters } from "vuex";
import { getByRoleUserList } from "@/api/system/user";
import func from "@/util/func";
import secTypeEnum from '@/enumpack/CodeSecTypeEnum';
export default {
  data() {
@@ -1532,6 +1552,8 @@
        serialDependFlag: false, //是否流水依赖
        serialDependOrder: "", //流水依赖顺序
        nullableFlag: false, //是否为空
        prefixCode: "", //前缀
        suffixCode: "", //后缀
        displayFlag: false, //
        componentCodeFlag: false, //是否参与编码
        pkCodeRule: "", //所属编码规则
@@ -1611,6 +1633,16 @@
      this.$refs.crud.doLayout();
      this.$refs.crudBasic.doLayout();
    });
  },
  // 生命钩子函数
  beforeDestroy() {
    // 清除指定缓存
    localStorage.removeItem('codeSecType');
    localStorage.removeItem('codeSecLength');
    localStorage.removeItem('codeFillType');
    localStorage.removeItem('codeLevelType');
    localStorage.removeItem('codeCutType');
    localStorage.removeItem('codeGetValueType');
  },
  methods: {
@@ -2421,11 +2453,11 @@
          .catch((error) => {
            this.releadDisabled = false;
          });
        this.releadDisabled = false;
      } else {
        this.updateStatus(oid, update);
      }
    },
    /** 打开编码规则克隆对话框*/
    openCodeRuleDialog() {
      if (!this.tipsMessage(this.selectionList)) {
@@ -2433,7 +2465,6 @@
      }
      this.cloneSettingBox = true;
    },
    /** 打开从其他编码规则中克隆码段对话框*/
    openOtherCodeRuleDialog() {
      if (!this.tipsMessage(this.selectionList)) {
@@ -2665,13 +2696,13 @@
        this.basicSecDialogTitle = "修改码段信息";
        this.showbtn = true;
        this.basicSecOnlyRead = false;
        //为form绑定值
      } else {
        this.basicSecDialogTitle = "查看码段信息";
        this.showbtn = false;
        this.basicSecOnlyRead = true;
      }
      //console.log(this.form);
      //为form绑定值
      this.changeSectypeFormItems(condition == "add" ? null : row);
      this.addBasicCodeSettingBox = true;
    },
@@ -2717,7 +2748,23 @@
          // let referValueInfo = JSON.parse(this.form.referValueInfo);
          // referValueInfo.referType = this.form.referBtmId;
        }
        editSave(this.form).then(
        let oldBasicSec = this.selectionBasicList.at(-1);
        let secType = this.form.secType;
        Vue.set(this.form, 'isClearValue', false);
        if((oldBasicSec.secType == "codefixedsec" || oldBasicSec.secType === "codeclassifysec") && oldBasicSec.secType != secType){
          await this.$confirm("码段类型由【"+oldBasicSec.secTypeText+"】,修改为"+"【"+secTypeEnum.getTextByValue(secType)+"】,请问是否需要清空关联的码值?", "提示", {
            distinguishCancelAndClose: true,
            closeOnClickModal: false,
            confirmButtonText: "清空码值",
            cancelButtonText: "保留码值",
          }).then(() => {
            // 清空码值
            this.form.isClearValue = true;
          }).catch(action => {
            this.form.isClearValue = false;
          });
        }
        await editSave(this.form).then(
          () => {
            this.$message({
              type: "success",
@@ -2732,6 +2779,7 @@
          }
        );
      }
      // 取消保存按钮加载效果
      this.isLoadingSecCodeAddBtn = false;
    },
    /** 因为elementui的表单校验设置不上所以采用判断的方式来做表单检验方式*/
@@ -3171,16 +3219,18 @@
      }
      this.form = {
        oid: row !=null ? row.oid:this.form.oid,
        id: row !=null ? row.id:this.form.id, //编号,
        name: row !=null ? row.name:this.form.name, //名称
        secType: row !=null ?  row.secType:this.form.secType, //码段类型
        description:  row !=null ? row.description:this.form.description, //描述
        id: row != null ? row.id:this.form.id, //编号,
        name: row != null ? row.name:this.form.name, //名称
        secType: row != null ?  row.secType:this.form.secType, //码段类型
        description:  row != null ? row.description:this.form.description, //描述
        serialDependFlag: this.isNullJsonBoolean(row,this.form, 'serialDependFlag'), //是否流水依赖
        serialDependOrder:  row !=null ? row.serialDependOrder:this.form.serialDependOrder, //流水依赖顺序
        nullableFlag: this.isNullJsonBoolean(row, this.form, 'nullableFlag'), //是否为空
        displayFlag: this.isNullJsonBoolean(row, this.form, 'displayFlag'),
        componentCodeFlag: this.isNullJsonBoolean(row, this.form, 'componentCodeFlag'), //是否参与编码
        pkCodeRule:  row !=null ? row.pkCodeRule:this.form.pkCodeRule, //所属编码规则
        pkCodeRule:  row != null ? row.pkCodeRule:this.form.pkCodeRule, //所属编码规则
        prefixCode: row != null ? row.prefixCode:this.form.prefixCode, //前缀
        suffixCode: row!= null ? row.suffixCode:this.form.suffixCode, //后缀
      };
      if (this.form.secType === "codefixedsec") {
        //固定码段
@@ -3376,16 +3426,17 @@
      this.enumParam.codeFillType = this.getLocalStorageEnum("codeFillType") || [];
    },
    loadCodeFillSeparator() {
      let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator"));
      if (enumCach == null) {
        getDictionary("codeFillSeparator").then((res) => {
          this.enumParam.codeFillSeparator = res.data.data;
          localStorage.setItem(
            "codeFillSeparator",
            JSON.stringify(res.data.data)
          );
        });
      }
      //let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator"));
      //if (enumCach == null) {
      getDictionaryBiz({code:"codeFillSeparator"}).then((res) => {
        this.enumParam.codeFillSeparator = res.data.data;
        //console.log(this.enumParam.codeFillSeparator);
        localStorage.setItem(
          "codeFillSeparator",
          JSON.stringify(res.data.data)
        );
      });
      //}
    },
    loadCodeLevelType() {
      this.enumParam.codeLevelType = this.getLocalStorageEnum("codeLevelType") || [];
@@ -3414,145 +3465,155 @@
</script>
<style>
[class^="icon-"] {
  font-size: 12px !important;
}
  [class^="icon-"] {
    font-size: 12px !important;
  }
.code-rule-crud > .avue-crud__search,
.code-basic-crud > .avue-crud__search {
  margin-bottom: -15px;
}
  .code-rule-crud > .avue-crud__search,
  .code-basic-crud > .avue-crud__search {
    margin-bottom: -15px;
  }
.clone-input-textarea > .el-form-item__content {
  width: 495px;
}
  .clone-input-textarea > .el-form-item__content {
    width: 495px;
  }
.clone-avue-crud > .el-card > .el-card__body > .avue-crud__menu {
  display: none !important;
}
  .clone-avue-crud > .el-card > .el-card__body > .avue-crud__menu {
    display: none !important;
  }
.fixed-avue-crud > .el-card > .el-card__body > .avue-crud__menu {
  display: none !important;
}
  .fixed-avue-crud > .el-card > .el-card__body > .avue-crud__menu {
    display: none !important;
  }
.other-clone-codebasic-crud > .el-card > .el-card__body > .avue-crud__menu {
  display: none !important;
}
  .other-clone-codebasic-crud > .el-card > .el-card__body > .avue-crud__menu {
    display: none !important;
  }
.other-clone-coderule-crud > .el-card > .el-card__body > .avue-crud__menu {
  display: none !important;
}
  .other-clone-coderule-crud > .el-card > .el-card__body > .avue-crud__menu {
    display: none !important;
  }
.el-table--small .el-table__cell {
  padding: 3px 0;
}
  .el-table--small .el-table__cell {
    padding: 3px 0;
  }
.classify_value_box > .el-scrollbar {
  height: 95%;
}
  .classify_value_box > .el-scrollbar {
    height: 95%;
  }
.basic-container > .el-card > .el-card__body {
  margin: -10px 0;
}
  .basic-container > .el-card > .el-card__body {
    margin: -10px 0;
  }
.code-basicsec-container {
  padding: 1px 6px;
}
  .code-basicsec-container {
    padding: 1px 6px;
  }
.horizontal-line {
  /* margin-top: 19px !important; */
  margin-bottom: -20px !important;
  width: 100%;
  height: 2px;
}
  .horizontal-line {
    /* margin-top: 19px !important; */
    margin-bottom: -20px !important;
    width: 100%;
    height: 2px;
  }
.el-card__body > .treeBox {
  height: 56vh;
}
  .el-card__body > .treeBox {
    height: 56vh;
  }
.el-col-5 > .box {
  height: 56vh;
}
  .el-col-5 > .box {
    height: 56vh;
  }
.operator_,
filter,
.layui-btn {
  width: 60px;
}
  .operator_,
  filter,
  .layui-btn {
    width: 60px;
  }
.left > .el-form-item > .el-form-item__content > .el-input-number {
  width: 120px;
}
  .left > .el-form-item > .el-form-item__content > .el-input-number {
    width: 120px;
  }
.left
  > .el-form-item
  > .el-form-item__content
  > .el-input-number
  > .el-input
  > .el-input__inner {
  width: 120px;
}
  .left
    > .el-form-item
    > .el-form-item__content
    > .el-input-number
    > .el-input
    > .el-input__inner {
    width: 120px;
  }
.el-col > .el-card > .el-card__header {
  background: rgb(213 231 239);
  border-radius: inherit;
}
  .el-col > .el-card > .el-card__header {
    background: rgb(213 231 239);
    border-radius: inherit;
  }
/** 新增码段 */
.add-basicsec-total {
  width: 100%;
}
  /** 新增码段 */
  .add-basicsec-dialog > .el-dialog > .el-dialog__body {
    padding: 20px 20px 4px;
    margin-bottom: 30px;
  }
.add-basicsec-total .el-input__inner,
.add-basicsec-total .el-textarea__inner {
  width: 220px;
}
  .add-basicsec-total {
    width: 100%;
    height: 500px;
  }
.add-basicsec-total > .add-basicsec-form {
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: space-around;
}
  .add-basicsec-total .el-input__inner,
  .add-basicsec-total .el-textarea__inner {
    width: 220px;
  }
.add-basicsec-form > .el-divider--vertical {
  width: 2px;
  height: 100%;
  margin: 0 auto;
  /* position: fixed; */
}
.left {
  /* float: left; */
  width: 45%;
  height: 100%;
}
.right {
  /* float: right; */
  margin-right: 2vw;
  height: 100%;
  width: auto;
}
.right > .el-form > .el-form-item {
  margin-bottom: 8px;
}
/* 对话框底部按钮边框样式 */
.el-dialog__footer {
  /* width: 100%; */
  border-top: 1px solid #e9e7e7;
  padding: 5px 10px 10px;
}
.seloption {
  margin-left: 10px;
}
/* .code-total > .basic-container__card {
  .add-basicsec-total > .add-basicsec-form {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100%;
  } */
    align-items: center;
    justify-content: space-around;
  }
  .add-basicsec-form > .el-divider--vertical {
    width: 2px;
    height: 78%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .left {
    /* float: left; */
    width: 45%;
    height: 100%;
  }
  .right {
    /* float: right; */
    margin-right: 2vw;
    height: 100%;
    width: auto;
  }
  .add-basicsec-form > .left > .el-form-item,
  .add-basicsec-form > .right > div > .el-form-item{
    margin-bottom: 12px;
  }
  /* 对话框底部按钮边框样式 */
  .el-dialog__footer {
    /* width: 100%; */
    border-top: 1px solid #e9e7e7;
    padding: 5px 10px 10px;
  }
  .seloption {
    margin-left: 10px;
  }
  /* .code-total > .basic-container__card {
      height: 100%;
    } */
</style>