ludc
2023-07-14 54e14bff397221b5b0d64720f77217f4d34ebf98
Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
@@ -19,21 +19,32 @@
        <el-input v-model="btmType.tableName" :prefix-icon="icons.tableName"></el-input>
      </el-form-item>
      <el-form-item label="所属领域" label-width="100px" prop="domain" class="domainSelect">
        <el-select v-model="btmType.bizDomain" :prefix-icon="icons.domain">
        <el-select  placeholder="请选择领域" v-model="btmType.bizDomain" :prefix-icon="icons.domain">
          <el-option v-for="item in domainOption"
                     :label="item.label" :value="item.value" :key="item.value">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="版本规则" label-width="100px">
        <el-input v-model="btmType.revisionRuleName" :prefix-icon="icons.revisionRule" class="revisionRule"
                  @focus="openRevision" clearable @clear="clearRevision">
          <i slot="suffix" class="el-input__icon el-icon-search"></i>
        <el-input v-model="btmType.revisionRuleName"
                  :prefix-icon="icons.revisionRule"
                  class="revisionRule"
                  @focus="openRevision"
                  clearable
                  @clear="clearRevision"
                  :suffix-icon="icons.referType"
                  placeholder="请选择,留空则不进行管理">
        </el-input>
      </el-form-item>
      <el-form-item label="生命周期" label-width="100px">
        <el-input v-model="btmType.lifeCycleId" :prefix-icon="icons.lifeCycle">
          <i slot="suffix" class="el-input__icon el-icon-search"></i>
        <el-input v-model="btmType.lifeCycleName"
                  :prefix-icon="icons.lifeCycle"
                  class="lifeCycle"
                  @focus="openLifeCycle"
                  clearable
                  @clear="clearLifeCycle"
                  :suffix-icon="icons.referType"
                  placeholder="请选择,留空则不进行管理">
        </el-input>
      </el-form-item>
      <div>
@@ -118,7 +129,10 @@
                 :data="revisionRef.data"
                 :page.sync="revisionRef.page"
                 ref="revisionRef"
                 @row-click="revisionClick">
                 @row-click="revisionClick"
                 v-loading="revisionRef.loading"
                @search-change="searchRevisionRule"
                 @search-reset="clearSearchRevisionRule">
        <template slot="radio"
                  slot-scope="{row}">
          <el-radio v-model="revisionRef.selectRow"
@@ -131,7 +145,37 @@
        <el-button @click="cancelRevision">取消</el-button>
      </div>
    </el-dialog>
    <!-- 生命周期的参照 -->
    <el-dialog title="请选择生命周期"
               :visible.sync="lifeCycleRef.visible"
               append-to-body
               width="80%">
      <avue-crud class="lifeCycleRef"
                 :option="lifeCycleRef.option"
                 :data="lifeCycleRef.data"
                 :page.sync="lifeCycleRef.page"
                 ref="lifeCycleRef"
                 @row-click="lifeCycleClick"
                 v-loading="lifeCycleRef.loading"
                @search-change="searchLifeCycle"
                 @search-reset="clearSearchLifeCycle">
        <template slot="radio"
                  slot-scope="{row}">
          <el-radio v-model="lifeCycleRef.selectRow"
                    :label="row.$index">&nbsp;
          </el-radio>
        </template>
      </avue-crud>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="confirmLifeCycle">确定</el-button>
        <el-button @click="cancelLifeCycle">取消</el-button>
      </div>
    </el-dialog>
  </el-dialog>
</template>
@@ -140,6 +184,7 @@
import {add, update} from '@/api/omd/btmType';
import {queryPage} from '@/api/omd/OmdAttribute';
import {getPage} from '@/api/omd/revisionRule';
import {getList} from '@/api/modeling/cycle';
export default {
  name: 'BusinessAdd',
@@ -287,6 +332,71 @@
          currentPage: 1,
          pageSize: 10
        },
        loading: false,
        selectRow: '',
        searchKey: null,
        option: {
          height: 360,
          addBtn: false,
          refreshBtn: false,
          columnBtn: false,
          menu: false,
          border: true,
          reserveSelection: true,
          searchMenuSpan: 8,
          searchShowBtn: false,
          highlightCurrentRow: true,
          column: [{
            label: '选择',
            prop: 'radio',
            width: 60,
            hide: false
          },
            {
              label: '英文名称',
              prop: 'id',
              search: true
            },
            {
              label: "中文名称",
              prop: "name",
              search: true,
            },
            {
              label: "跳跃字符",
              prop: "skipCode"
            },
            {
              label: "初始值",
              prop: "startCode"
            },
            {
              label: "步长",
              prop: "serialStep"
            },
            {
              label: "前缀",
              prop: "prefixCode"
            },
            {
              label: "后缀",
              prop: "suffixCode"
            },
            {
              label: "描述",
              prop: "description",
              type: "textarea"
            }
          ]
        },
      },
      lifeCycleRef: {
        visible: false,
        page: {
          currentPage: 1,
          pageSize: 10
        },
        loading: false,
        selectRow: '',
        searchKey: null,
        option: {
@@ -506,22 +616,48 @@
      row.$cellEdit = false;
    },
    // 打开版本规则参照
    async openRevision() {
      await getPage().then(res => {
     openRevision() {
      this.revisionRef.visible = true;
      this.revisionRuleOnLoad();
    },
    // 版本参照列表的默认查询方法
    revisionRuleOnLoad(){
      this.revisionRef.loading = true;
      getPage().then(res => {
        this.revisionRef.data = res.data.data.records;
      });
      this.revisionRef.visible = true;
      setTimeout(() => {
        this.revisionRef.loading = false;
      }, 600)
      this.$nextTick(() => {
        this.$refs.revisionRef.refreshTable();
      });
    },
    // 打开版本规则参照
    openLifeCycle() {
      this.lifeCycleRef.visible = true;
      this.lifeCycleOnLoad();
    },
    // 生命周期列表的默认查询方法
    lifeCycleOnLoad(){
      this.lifeCycleRef.loading = true;
      getList().then(res => {
        this.lifeCycleRef.data = res.data.data.records;
      });
      setTimeout(() => {
        this.lifeCycleRef.loading = false;
      }, 600)
      this.$nextTick(() => {
        this.$refs.lifeCycleRef.refreshTable();
      });
    },
    // 关闭版本规则参照弹窗
    closeRevisionDialog() {
      this.revisionRef.visible = false;
    },
    // 版本规则参照列表检索
    revisionRefSearch() {
    },
    // 版本规则选中事件
    revisionChange() {
    // 关闭生命周期参照弹窗
    closeLifeCycleDialog() {
      this.lifeCycleRef.visible = false;
    },
    // 确认选中版本规则
    confirmRevision() {
@@ -531,11 +667,24 @@
      this.btmType.inputRevisionFlag = false;
      this.cancelRevision();
    },
    // 确认选中生命周期
    confirmLifeCycle() {
      this.btmType.lifeCycleFlag = true;
      this.btmType.lifeCycleId = this.lifeCycleRef.selectData.id;
      this.btmType.lifeCycleName = this.lifeCycleRef.selectData.name;
      this.cancelLifeCycle();
    },
    // 取消选中版本规则
    cancelRevision() {
      this.revisionRef.selectRow = '';
      this.revisionRef.selectData = {};
      this.closeRevisionDialog();
    },
    // 取消选中生命周期
    cancelLifeCycle() {
      this.lifeCycleRef.selectRow = '';
      this.lifeCycleRef.selectData = {};
      this.closeLifeCycleDialog();
    },
    // 版本规则单选
    revisionClick(row) {
@@ -545,15 +694,90 @@
        name: row.name,
      };
    },
    // 生命周期单选
    lifeCycleClick(row) {
      this.lifeCycleRef.selectRow = row.$index;
      this.lifeCycleRef.selectData = {
        id: row.id,
        name: row.name,
      };
    },
    // 取消版本规则
    clearRevision() {
      this.$delete(this.btmType, 'revisionFlag');
      this.$delete(this.btmType, 'revisionRuleId');
      this.$delete(this.btmType, 'revisionRuleName');
      this.$delete(this.btmType, 'inputRevisionFlag');
    },
    // 取消生命周期
    clearLifeCycle() {
      this.$delete(this.btmType, 'lifeCycleFlag');
      this.$delete(this.btmType, 'lifeCycleId');
      this.$delete(this.btmType, 'lifeCycleName');
    },
    // 表单重置
    resetForm() {
      this.btmType = {};
      this.$refs.form.resetFields();
    },
    /**
     * 搜索版本规则
     * @param params 搜索框输入值  {id: '',name: ''} 直接获取就行
     * @param done 执行完成后的回调
     */
    searchRevisionRule(params,done){
      let condition = {};
      if (params.id){
          condition['id_like'] = params.id;
      }
      if (params.name){
          condition['name_like'] = params.name;
      }
      this.revisionRef.loading = true;
      getPage(this.revisionRef.page.currentPage,this.revisionRef.page.pageSize,condition).then(res => {
        this.revisionRef.data = res.data.data.records;
      });
      setTimeout(() => {
        done();
        this.revisionRef.loading = false;
      }, 600);
      this.$nextTick(() => {
        this.$refs.revisionRef.refreshTable();
      });
    },
    /**
     * 搜索生命周期
     * @param params 搜索框输入值
     * @param done 执行完成后的回调
     */
    searchLifeCycle(params,done){
      let condition = {};
      if (params.id){
        condition['id_like'] = params.id;
      }
      if (params.name){
        condition['name_like'] = params.name;
      }
      this.lifeCycleRef.loading = true;
      getList(this.lifeCycleRef.page.currentPage,this.lifeCycleRef.page.pageSize,condition).then(res => {
        this.lifeCycleRef.data = res.data.data.records;
      });
      setTimeout(() => {
        done();
        this.lifeCycleRef.loading = false;
      }, 600);
      this.$nextTick(() => {
        this.$refs.lifeCycleRef.refreshTable();
      });
    },
    // 取消版本规则搜索
    clearSearchRevisionRule(item){
      this.revisionRuleOnLoad();
    },
    // 取消生命周期搜索
    clearSearchLifeCycle(item){
      this.lifeCycleOnLoad();
      console.log(item);
    }
  }
}
@@ -569,27 +793,27 @@
  display: none !important;
}
.lifeCycleRef > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu {
  display: none !important;
}
.btmTypeForm > .el-form-item > .el-form-item__content > .el-input > .el-input__inner {
  width: 200px;
  width: 260px;
}
.domainSelect > .el-form-item__content > .el-select > .el-input > .el-input__inner {
  width: 200px;
  width: 260px;
}
.viewFlag {
  width: 305px;
  width: 360px;
}
.viewInput > .el-form-item__content > .el-input > .el-input__inner {
  width: 200px;
  width: 630px;
}
.descClass > .el-input__inner {
  width: 57vw
}
#descId {
  width: 57vw;
  width: 1000px;
}
</style>