ZZJ
2022-05-27 a689af1348938afd3b4506aad9b6d5057193e25d
src/views/register/components/SelectType.vue
@@ -7,26 +7,30 @@
      :validate-on-rule-change="false"
      label-width="76px"
    >
      <el-form-item label="类型" prop="type">
      <el-form-item label="类型" prop="userType">
        <el-radio-group
          v-model="info.type"
          v-model="info.userType"
          style="float: left; margin-top: 15px"
        >
          <el-radio :label="1">个人</el-radio>
          <el-radio :label="2">公司</el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item label="真实姓名" prop="trueName" v-show="info.type == '1'">
      <el-form-item
        label="真实姓名"
        prop="trueName"
        v-show="info.userType == '1'"
      >
        <el-input v-model="info.trueName" placeholder="请输入"></el-input>
      </el-form-item>
      <el-form-item
        label="公司名称"
        prop="companyName"
        v-show="info.type == '2'"
        v-show="info.userType == '2'"
      >
        <el-input v-model="info.companyName" placeholder="请输入"></el-input>
      </el-form-item>
      <el-form-item label="联系人" prop="contact" v-show="info.type == '2'">
      <el-form-item label="联系人" prop="contact" v-show="info.userType == '2'">
        <el-input v-model="info.contact" placeholder="请输入"></el-input>
      </el-form-item>
      <el-form-item label="邮箱" prop="email">
@@ -124,9 +128,9 @@
  },
  computed: {
    infoRules() {
      if (this.info.type == 1) {
      if (this.info.userType == 1) {
        return {
          type: [{ required: true, message: "请选择类型" }],
          userType: [{ required: true, message: "请选择类型" }],
          trueName: [
            { required: true, message: "请填写真实姓名", trigger: "change" },
          ],
@@ -134,7 +138,7 @@
        };
      } else {
        return {
          type: [{ required: true, message: "请选择类型" }],
          userType: [{ required: true, message: "请选择类型" }],
          companyName: [
            { required: true, message: "请填写公司名称", trigger: "change" },
          ],
@@ -146,11 +150,15 @@
      }
    },
    disabled() {
      if (this.info.type == 1 && this.info.trueName) {
      if (this.info.userType == 1 && this.info.trueName) {
        return false;
      }
      if (this.info.type == 2 && this.info.companyName && this.info.contact) {
      if (
        this.info.userType == 2 &&
        this.info.companyName &&
        this.info.contact
      ) {
        return false;
      }
@@ -403,5 +411,9 @@
    width: 230px;
    height: 175px;
  }
  .el-scrollbar__view {
    overflow: hidden;
  }
}
</style>