田源
2023-08-25 1f6c005d4446b0bdf40d1680c385e43bd53d963d
Source/UBCS-WEB/src/views/code/code.vue
@@ -106,6 +106,13 @@
                @click="escapeOwner">
                转移所有者
            </el-button>
            <el-button
                size="small"
                icon="el-icon-guide"
                plain
                @click="maxSerialNum">
                最大流水号
            </el-button>
          </template>
        </avue-crud>
      </basic-container>
@@ -227,7 +234,7 @@
          <el-button @click="cloneOtherCodeRuleSettingBox = false">取 消</el-button>
        </div>
      </el-dialog>
      <!-- 编码规则,转移所有者对话框 -->
      <el-dialog
        :visible.sync="escapeOwnerVisible"
@@ -248,6 +255,9 @@
            <el-button type="primary" @click="escapeOwnerConfirm">确 定</el-button>
          </span>
      </el-dialog>
      <!-- 最大流水号对话框 -->
      <max-serialnum-dialog :visible.sync="maxSerial.visible" :ruleOid="maxSerial.ruleOid"></max-serialnum-dialog>
      <!-- 基础码段展示区域 -->
      <basic-container class="code-basicsec-container">
@@ -340,7 +350,7 @@
      <!-- 码段码值管理对话框 -->
      <el-dialog title="码段码值管理"
        :visible.sync="isShowBasicSecCodeValueMgr"
        :width="isShowFixedForm ? '68vw':'50vw'"
        :width="isShowFixedForm ? '69vw':'50vw'"
        append-to-body
        style="height: 116vh; margin-top: -10vh;"
        @close="clearFixedOrClassifyForm('close')"
@@ -349,8 +359,7 @@
        <el-row v-show="!isShowFixedForm">
          <el-col :span="11">
            <basic-container>
              <div class="box classify_value_box" style="height:65vh; margin-bottom:-40px">
                <el-scrollbar style="border-bottom-right-radius:8px ">
              <div class="box classify_value_box" style="height:60vh; margin-bottom:-40px">
                  <basic-container>
                    <div class="abox" style="height:54vh">
                      <avue-tree
@@ -360,7 +369,6 @@
                        style="overflow-y: auto; height: 54vh"/>
                    </div>
                  </basic-container>
                </el-scrollbar>
              </div>
              <div style="margin-top:20px; display: flex; align-items:center; justify-content:center;">
                <el-button size="mini" type="primary" icon="el-icon-arrow-up" class="button" @click="codeClassifyValueOpetion('up')">上移</el-button>
@@ -370,7 +378,7 @@
          </el-col>
          <el-col :span="13">
            <basic-container>
              <div class="box" style="height:65vh; margin-bottom:-40px">
              <div class="box" style="height:60vh; margin-bottom:-40px">
                <el-form>
                  <el-form-item label="码值:" :label-width="50" required>
                    <el-input style="width: 18vw" v-model="codeClassifyForm.id"></el-input>
@@ -422,8 +430,8 @@
                    <el-form-item label="码值:" label-width="54px" required>
                      <el-input style="width: 19.5vw" v-model="codeFixdForm.id"></el-input>
                    </el-form-item >
                    <el-form-item label="描述:">
                      <el-input type="textarea" style="width: 20vw;" v-model="codeFixdForm.description"></el-input>
                    <el-form-item label="描述:" label-width="54px">
                      <el-input type="textarea" style="width: 19.5vw;" v-model="codeFixdForm.description"></el-input>
                    </el-form-item>
                  </el-form>
                </div>
@@ -837,6 +845,7 @@
  import fixedValueOption from "@/const/code/fixedValueMgrDialog";
  import {mapGetters} from "vuex";
  import {getByRoleUserList} from "@/api/system/user";
  import func from "@/util/func";
  export default {
      data() {
@@ -875,7 +884,13 @@
          ruleAdminUserList: [], //规则管理员列表
          ruleOwner: '', // 当前要转移给哪个规则管理员的ID
          releadDisabled: false, // 避免规则发布重复提交
          /*最大流水号*/
          maxSerial:{
            visible:false,
          },
          /*使用范围对话框显示控制*/
          codeRangeSettingBox: false,
          useRangeData: [],
@@ -1244,7 +1259,7 @@
          parentClsParam.classifyDialogLoading = true;
          let oid = this.selectionList.length==0 ? this.form.pkCodeRule:this.selectionList[0].oid;
          let conditionMaps = {};
          conditionMaps['conditionMap[pkCodeRule]'] = oid;
          conditionMaps['conditionMap[oid_notequal]'] = this.form.oid;
          refDataGridClassifySec(
@@ -1504,7 +1519,7 @@
          }else{
            if(this.checkClassUpdate(this.codefixedsecOrCodeclassifysec.oid,this.codeClassifyForm.codeClassifySecOid)){
              return;
            }
            }
            //分类码段码值删除
            this.$confirm("是否删除这条数据?如果被引用将不能被删除!", {
              confirmButtonText: "确定",
@@ -1566,7 +1581,7 @@
        codeClassifyValueOpetion(condition){
          if(this.checkClassUpdate(this.codefixedsecOrCodeclassifysec.oid,this.codeClassifyForm.codeClassifySecOid)){
            return;
          }
          }
          //此处涉及到深浅拷贝问题,但是执行上下移保存操作之后会重新加载treedata,所以影响不大
          let currentTreeList = this.getCodeClassifyValueTreeData();
          let saveData = [];
@@ -1812,28 +1827,33 @@
        },
        /** 发布编码规则 */
        async enableOrDeactivatse(oid,update){
          // 避免用户重复点击按钮
          this.releadDisabled = true;
          await checkLikeCodeRule(oid).then(res => {
            if(res.data.success){
              this.updateStatus(oid,update);
            }else{
              this.$confirm('test', '提示', {
                distinguishCancelAndClose: true,
                confirmButtonText: '继续发布',
                cancelButtonText: '取消'
              }).then(() => {
                //this.updateStatus();
              })
              .catch(action => {
                this.$message({
                  type: 'info',
                  message: '取消发布!',
          /*if(update==="release"){
            // 避免用户重复点击按钮
            this.releadDisabled = true;
            await checkLikeCodeRule(oid).then(res => {
              console.log(res)
              if(res.data.success){
                this.updateStatus(oid,update);
              }else{
                this.$confirm(res.data.msg, '提示', {
                  distinguishCancelAndClose: true,
                  confirmButtonText: '继续发布',
                  cancelButtonText: '取消'
                }).then(() => {
                  //this.updateStatus();
                })
              });
            }
          })
          this.releadDisabled = false;
                .catch(action => {
                  this.$message({
                    type: 'info',
                    message: '取消发布!',
                  })
                });
              }
            })
            this.releadDisabled = false;
          }else {*/
            this.updateStatus(oid,update);
          //}
        },
        /** 打开编码规则克隆对话框*/
        openCodeRuleDialog() {
@@ -2618,7 +2638,7 @@
        /** 码段类型改变时,增加对应的form表单中的属性*/
        changeSectypeFormItems(row){
          //console.log(row);
          if(this.enumParam.secTypeList.length==0){
          if(func.isEmpty(this.enumParam.secTypeList) || this.enumParam.secTypeList.length==0){
            this.loadCodeSecType();
          }
          if(row != null){
@@ -2754,41 +2774,60 @@
        },
        /** 枚举和可输可选内容查询 */
        loadCodeSecType(){
          this.enumParam.secTypeList = this.getLocalStorageEnum("codeSecType");
          let enumList = this.getLocalStorageEnum("codeSecType");
          this.enumParam.secTypeList = enumList.length>0 ? enumList:[];
          console.log(this.enumParam.secTypeList);
          this.loadCodeSecLength();
        },
        loadCodeSecLength(){
          this.enumParam.codeSecLengthType = this.getLocalStorageEnum("codeSecLength");
          let enumList = this.getLocalStorageEnum("codeSecLength");
          this.enumParam.codeSecLengthType = enumList.length>0 ? enumList:[];
        },
        loadCodeFillType(){
          this.enumParam.codeFillType = this.getLocalStorageEnum("codeFillType");
          let enumList = this.getLocalStorageEnum("codeFillType");
          this.enumParam.codeFillType = enumList.length>0 ? enumList:[];
        },
        loadCodeFillSeparator(){
          let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator"));
          if(enumCach == null) {
            getDictionary("codeFillSeparator").then(res=>{
              this.enumParam.codeFillSeparator = res.data.data;
              localStorage.setItem(key,JSON.stringify(res.data.data));
              localStorage.setItem('codeFillSeparator',JSON.stringify(res.data.data));
            })
          }
        },
        loadCodeLevelType(){
          this.enumParam.codeLevelType = this.getLocalStorageEnum("codeLevelType");
          let enumList = this.getLocalStorageEnum("codeLevelType");
          this.enumParam.codeLevelType = enumList.length>0 ? enumList:[];
        },
        loadCodeCutType(){
          this.enumParam.codeCutType = this.getLocalStorageEnum("codeCutType");
          let enumList = this.getLocalStorageEnum("codeCutType");
          this.enumParam.codeCutType = enumList.length>0 ? enumList:[];
        },
        loadCodeGetValueType(){
          this.enumParam.codeGetValueType =  this.getLocalStorageEnum("codeGetValueType");
          let enumList = this.getLocalStorageEnum("codeGetValueType");
          this.enumParam.codeGetValueType =  enumList.length>0 ? enumList:[];
        },
        // 最大流水号
        maxSerialNum(){
          console.log(this.selectionList)
          if (this.selectionList.length === 0) {
            this.$message.warning("请选择一条编码规则!");
            return;
          }
          this.maxSerial.visible = true
          this.maxSerial.ruleOid = this.selectionList[0]['oid']
        }
      }
  };
</script>
<style>
[class^="icon-"]{
  font-size: 12px !important;
}
  .code-rule-crud > .avue-crud__search ,.code-basic-crud > .avue-crud__search {
    margin-bottom: -15px;
  }