田源
2024-08-15 bc90fb7e0c6c8313e7d5fcf3aba57e3a1f975c93
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
@@ -168,10 +168,10 @@
      class="avue-dialog"
      width="75%"
      @close="addDialogClose">
      <el-form ref="form" :model="form" :rules="rules" label-width="90px">
      <el-form ref="form" :model="form" :rules="rules" label-width="95px">
        <div class="dialogForm">
          <div class="leftForm">
            <el-form-item label="类型名称:" prop="name">
            <el-form-item label="类型名称:" prop="id">
              <el-input v-model="form.id" :readOnly="title === 'edit'"></el-input>
            </el-form-item>
            <el-form-item label="标签:">
@@ -188,44 +188,48 @@
            </el-form-item>
          </div>
          <div class="centerForm">
            <el-form-item label="版本规则:" label-width="100px" prop="revLevel">
            <el-form-item label="版本规则:" label-width="110px" prop="revLevel">
              <el-select v-model="form.revLevel">
                <el-option label="不可修订" value="0"></el-option>
                <el-option label="采用一级版本管理" value="1"></el-option>
                <el-option label="采用二级版本管理" value="2"></el-option>
              </el-select>
            </el-form-item>
            <el-form-item v-if="form.revLevel !== '0'" label="版本号规则:" label-width="100px" prop="revisionRuleName">
            <el-form-item v-if="form.revLevel !== '0'" label="版本号规则:" label-width="110px" prop="revisionRuleName">
              <div style="display: flex;gap: 5px;align-items: center">
                <el-input v-model="form.revisionRuleId" :readOnly="true"></el-input>
                <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success" @click="versionAddHandler">添加</el-button>
                <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success"
                           @click="versionAddHandler">添加
                </el-button>
                <el-switch
                  style="width: 300px"
                  v-model="form.inputRevisionFlag"
                  active-text="手工输入">
                  active-text="手工输入"
                  style="width: 300px">
                </el-switch>
              </div>
            </el-form-item>
            <el-form-item v-if="form.revLevel !== '0'" label="分隔符:" label-width="100px" prop="delimiter">
            <el-form-item v-if="form.revLevel !== '0'" label="分隔符:" label-width="110px" prop="delimiter">
              <el-select v-model="form.delimiter" clearable>
                <el-option label="." value="."></el-option>
                <el-option label="-" value="-"></el-option>
              </el-select>
            </el-form-item>
            <el-form-item v-if="form.revLevel !== '0' && form.revLevel !== '1'" label="版次号规则:" label-width="100px"
            <el-form-item v-if="form.revLevel !== '0' && form.revLevel !== '1'" label="版次号规则:" label-width="110px"
                          prop="revLevel">
              <el-select v-model="form.versionRule" clearable>
                <el-option label="1.2.3..." value="1.2.3..."></el-option>
                <el-option label="a.b.c..." value="a.b.c..."></el-option>
                <el-option label="0.1.2..." value="0.1.2..."></el-option>
                <el-option label="1.2.3..." value="0"></el-option>
                <el-option label="a.b.c..." value="1"></el-option>
                <el-option label="0.1.2..." value="2"></el-option>
              </el-select>
            </el-form-item>
          </div>
          <div class="rightForm">
            <el-form-item label="生命周期:" label-width="138px" prop="revLevel">
            <el-form-item label="生命周期:" label-width="138px" prop="lifeCycleId">
              <div style="display: flex;gap: 5px;align-items: center">
                <el-input v-model="form.lifeCycleId" :readOnly="true"></el-input>
                <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success" @click="lifeAddHandler('input')">添加</el-button>
                <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success"
                           @click="lifeAddHandler('input')">添加
                </el-button>
              </div>
            </el-form-item>
@@ -373,7 +377,7 @@
<script>
import basicOption from '@/util/basic-option'
import {getBizTypes} from "@/api/modeling/businessType/api"
import {getBizTypes, addLifeCycle} from "@/api/modeling/businessType/api"
import {gridAttribute} from "@/api/modeling/attributePool/api";
import func from "@/util/func";
import {getVersionRuleAllList} from "@/api/modeling/version/api";
@@ -481,7 +485,18 @@
      },
      dialogAttrSaveData: [],
      attrPollDialogVisible: false,
      rules: [],
      rules: {
        id: [
          {required: true, message: '请输类型名称', trigger: 'blur'},
          {validator: this.validateEnglishOnly, trigger: 'blur'}
        ],
        revLevel: [
          {required: true, message: '请选择版本规则', trigger: 'blur'},
        ],
        lifeCycleId: [
          {required: true, message: '请选择生命周期', trigger: 'blur'},
        ]
      },
      dialogAttrData: [],
      dialogAttrOption: {
        ...basicOption,
@@ -561,10 +576,11 @@
        description:'', // 描述
        revLevel:'', // 版本规则
        revisionRuleId:'',// 版本号规则
        inputRevisionFlag:'', // 手工输入
        inputRevisionFlag: false, // 手工输入
        versionRule:'', // 版次号规则
        lifeCycleId:'', // 生命周期
        subLifeCycleId:'', // 生命周期备选列表
        subLifeCycleId: '', // 生命周期备选列表,
        apNameArray: "", // 属性池列表’,‘分隔
      },
      nodeRow: {},
      treeOption: {
@@ -775,13 +791,13 @@
      this.dialogVersionData = this.dialogVersionDefalutData;
    },
    // 版本规则保存
    // 版本号规则保存
    dialogVersionAddClickHandler(){
      if(func.isEmptyObject(this.dialogVersionSaveRow)){
        this.$message.error('请至少选择一条数据');
        return;
      }
      this.form.revRuleName = this.dialogVersionSaveRow.id;
      this.form.revisionRuleId = this.dialogVersionSaveRow.id;
      this.dialogVersionVisible = false;
    },
@@ -817,7 +833,7 @@
        return;
      }
      if(this.lifeType === 'input'){
        this.form.lifeCycle = this.dialogLifeSaveRow.id;
        this.form.lifeCycleId = this.dialogLifeSaveRow.id;
      }else {
        const flag = this.dialogLifeTable.some(item => item.id === this.dialogLifeSaveRow.id);
@@ -858,9 +874,37 @@
      this.dialogLifeData = this.dialogLifeDefalutData;
    },
    // 只能输入英文正则校验
    validateEnglishOnly(rule, value, callback) {
      if (!value) {
        return callback(new Error('请输入类型名称'));
      }
      if (!/^[A-Za-z]+$/.test(value)) {
        return callback(new Error('只能输入英文字母'));
      }
      callback(); // 验证通过
    },
    // 新增编辑保存
    addDialogSavaHandler(){
      console.log(this.form)
      this.$refs.form.validate((valid) => {
        if (valid) {
          addLifeCycle(this.form).then(res => {
            console.log(res);
          })
        } else {
          return false;
        }
      });
      this.$refs.form.validate((valid) => {
        if (valid) {
        } else {
          return false;
        }
      });
    }
  }