2020-2021暑期项目实训第四周——更改个人信息功能实现以及主要代码

更改个人信息的功能实现。在个人信息界面,点击修改按钮后,input变为可编辑状态,按钮变为确定和取消。点击取消恢复,点击确定进行修改信息,可同时进行多项信息同时修改。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<a-form-model
      ref="form"
      :model="form"
      :rules="rules"
      :label-col="labelCol"
      :wrapper-col="wrapperCol"
    >
      <a-form-model-item ref="name" label="姓名" prop="name">
        <a-input
          v-bind:disabled="!isEdit[0]"
          v-model="form.name"
          @blur="
            () => {
              $refs.name.onFieldBlur();
            }
          "
        />
        <a-button v-show="!isShow[0]" type="link" @click="edit(1)">
          修改
        </a-button>
        <a-button v-show="isShow[0]" type="link" @click="confirm()">
          确认
        </a-button>
        <a-button
          v-show="isShow[0]"
          type="link"
          @click="cancel(1)"
          style="margin-left: 3%"
        >
          取消
        </a-button>
      </a-form-model-item>
      <a-form-item ref="sex" label="性别" prop="sex">
        <a-input
          v-bind:disabled="!isEdit[3]"
          v-if="!isShow[3]"
          v-model="form.sex"
        />
        <a-radio-group v-model="form.sex" v-if="isShow[3]">
          <a-radio-button value="男性"> 男性 </a-radio-button>
          <a-radio-button value="女性"> 女性 </a-radio-button>
        </a-radio-group>
        <a-button v-show="!isShow[3]" type="link" @click="edit(4)">
          修改
        </a-button>
        <a-button v-show="isShow[3]" type="link" @click="confirm()">
          确认
        </a-button>
        <a-button
          v-show="isShow[3]"
          type="link"
          @click="cancel(4)"
          style="margin-left: 3%"
        >
          取消
        </a-button>
      </a-form-item>

      <a-form-model-item ref="phone" label="手机号" required prop="phone">
        <a-input
          v-bind:disabled="!isEdit[1]"
          v-model="form.phone"
          @blur="
            () => {
              $refs.phone.onFieldBlur();
            }
          "
        />
        <a-button v-show="!isShow[1]" type="link" @click="edit(2)">
          修改
        </a-button>
        <a-button v-show="isShow[1]" type="link" @click="confirm()">
          确认
        </a-button>
        <a-button
          v-show="isShow[1]"
          type="link"
          @click="cancel(2)"
          style="margin-left: 3%"
        >
          取消
        </a-button>
      </a-form-model-item>
      <a-form-model-item ref="email" label="邮箱" required prop="email">
        <a-input
          v-bind:disabled="!isEdit[2]"
          v-model="form.email"
          @blur="
            () => {
              $refs.email.onFieldBlur();
            }
          "
        />
        <a-button v-show="!isShow[2]" type="link" @click="edit(3)">
          修改
        </a-button>
        <a-button v-show="isShow[2]" type="link" @click="confirm()">
          确认
        </a-button>
        <a-button
          v-show="isShow[2]"
          type="link"
          @click="cancel(3)"
          style="margin-left: 3%"
        >
          取消
        </a-button>
      </a-form-model-item>
      <a-form-model-item ref="password" label="密码" required prop="password">
        <a-input
          disabled
          v-model="form.password"
          @blur="
            () => {
              $refs.password.onFieldBlur();
            }
          "
        />
        <a-button type="link" @click="editPassword"> 修改 </a-button>
      </a-form-model-item>
      <a-form-model-item ref="companyName" label="企业" prop="companyName">
        <a-input
          v-bind:disabled="true"
          v-model="form.companyName"
          @blur="
            () => {
              $refs.companyName.onFieldBlur();
            }
          "
        />
        <a-button v-if="companyId == null" type="link" @click="createCompany">
          创建企业
        </a-button>
        <a-button
          v-if="form.companyId == null"
          type="link"
          @click="addCompany"
          style="margin-left: 3%"
        >
          加入企业
        </a-button>
      </a-form-model-item>
      <a-form-model-item>
        <a-button type="link" style="float: left; margin-left: 15%">
          注销账号
        </a-button>
      </a-form-model-item>
    </a-form-model>
 methods: {
    edit: function (num) {
      this.$set(this.isEdit, num - 1, !this.isEdit[num - 1]);
      this.$set(this.isShow, num - 1, !this.isShow[num - 1]);
      switch (num) {
        case 1:
          this.context = this.form.name;
          break;
        case 2:
          this.context = this.form.phone;
          break;
        case 3:
          this.context = this.form.email;
          break;
        case 4:
          this.context = this.form.sex;
          break;
      }
    },
    confirm: function () {
      console.log(this.form.sex);
      this.$refs.form.validate((valid) => {
        if (valid) {
          modifyUser(
            this.userId,
            this.form.name,
            this.form.phone,
            this.form.sex,
            this.form.email
          ).then(this.afterModity);
        } else {
          return false;
        }
      });
    },
    afterModity(res) {
      const modifyRse = res.data;
      if (modifyRse.code == 200) {
        this.setUserName(this.form.name);
        this.setTelephone(this.form.phone);
        this.setEmail(this.form.email);
        this.setSex(this.form.sex);
        this.$message.success("修改成功!");
        for (let i = 0; i < 4; i++) {
          this.$set(this.isEdit, i, false);
          this.$set(this.isShow, i, false);
        }
      }
    },
    cancel: function (num) {
      this.$set(this.isEdit, num - 1, !this.isEdit[num - 1]);
      this.$set(this.isShow, num - 1, !this.isShow[num - 1]);
      switch (num) {
        case 1:
          this.form.name = this.context;
          break;
        case 2:
          this.form.phone = this.context;
          break;
        case 3:
          this.form.email = this.context;
          break;
        case 4:
          this.form.sex = this.context;
          break;
      }
    },
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【JAVA】个人信息管理系统设计与实现代码 基于B/S设计 在日常办公中有许多常用的个人数据,如朋友电话、邮件地址、日程安排、日常记事、文件上传和下载,这些都可以用一个个人信息管理系统进行管理。个人信息管理系统可以内置于手掌上的数字处理器,以提供电子名片、便条、行程管理等功能。本项目基于B/S设计,也可以发布到网上,用户可以随时存取个人信息。 用户可以在系统中任意添加、修改、删除个人数据,包括个人的基本信息、个人通讯录、日程安排、个人文件管理。 要实现功能包括四个方面: (1)登录与注册 系统的登录和注册功能。 (2)个人基本信息管理模块 系统中对个人基本信息的管理包括:个人的姓名、性别、出生日期、民族、学历、职称、登录名、密码、电话、家庭住址等。 (2)用户个人通讯录模块 系统的个人通讯录是保存了个人的通讯录信息,包括自己联系人的姓名、电话、邮箱、工作单位、地址、QQ等。可以自由添加联系人的信息,查询或删除联系人。 (3)日程安排模块 日程模块记录自己的活动安排或者其它有关事项,如添加从某一时间到另一时间要做什么事,日程标题、内容、开始时间、结束时间。可以自由查询,修改,删除。 (4)个人文件管理模块 该模块实现用户在网上存储临时文件的功能。用户可以新建文件夹,修改、删除、移动文件夹;上传文件、修改文件名、下载文件、删除文件、移动文件等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值