Vue 规则效验

<template>
  <div>
    <cus-modal
      ref="modal"
      title="编辑"
      @on-visible-change="onVisibleChange"
      @onOk="onOk"
      width="420">
      <Form ref="formValidate" :model="form" :label-width="120">
        <FormItem
          label="姓名"
          prop="name"
          :rules="{
            required: true,
            message: '姓名不能为空',
            trigger: 'blur',
          }"
        >
          <Input
            v-model="form.name"
            clearable
            style="width: 200px"
            placeholder="请输入姓名"
          ></Input>
        </FormItem>
        <FormItem
          label="年龄"
          prop= "age"
          :rules="{
            required: true,
            pattern: /^(?:[1-9][0-9]?|1[01][0-9]|120)$/,
            message: '年龄输入不合法',
          }"
        >
          <Input
            ref="ageInput"
            v-if="true"
            v-model="form.age"
            clearable
            style="width: 200px"
            placeholder="请输入年龄"
          ></Input>
        </FormItem>
        <FormItem label="性别">
            <RadioGroup v-model="form.sex">
                <Radio label="男">男</Radio>
                <Radio label="女">女</Radio>
            </RadioGroup>
        </FormItem>
        <FormItem 
          label="手机号码"
          prop="phonenumber"
          clearable 
          :rules="{
            required: true,
            pattern: /^1[3456789]\d{9}$/, 
            message: '手机号码格式不正确', 
            trigger: 'blur'
          }"
          >
          <Input
            v-model="form.phonenumber"
            style="width: 200px"
            placeholder="请输入手机号码"
          />
        </FormItem>
        <FormItem 
          label="单位" 
          prop="unit">
          <Input
            v-model="form.unit"
            style="width: 200px"
            placeholder="请输入单位信息"
          />
        </FormItem>
        <FormItem 
          label="岗位信息" 
          prop="position">
          <Input
            v-model="form.position"
            style="width: 200px"
            placeholder="请输入岗位信息"
          />
        </FormItem>
      </Form>
      <div slot="footer">
        <div class="modal-footer">
          <cus-button size="small" class="mr_2" @onClick="onCancel"
            >取消</cus-button
          >
          <cus-button type="primary" size="small" @onClick="onOk">
            编辑
          </cus-button>
        </div>
      </div>
    </cus-modal>
  </div>
</template>

<script>
import { getUpdateUser } from "@/api/business/manager";

const form = {
  userId:"",
  age: "",
  name: "",
  sex: "",
  phonenumber: "",
  unit: "",
  position: "",
};

export default {
  name: "userModal",
  data() {
    return {
      form: form,
    };
  },
  mounted() { },
  methods: {
    onVisibleChange(v) {
      this.$refs["formValidate"].resetFields();
      // if (!v)
      // this.form = this.$cu.deepClone(form);
    },
    show(row) {
      this.loading = false;
      this.$refs["modal"].show = true;
      this.form = row;
      this.form = this.$cu.deepClone(row)
    },
    onOk() {
      console.log(this.$refs.ageInput.value)
      if (this.$refs.ageInput.value <= 0){
        console.log('值大于0')
      } else{
        this.$refs["formValidate"].validate((valid) => {
        if (valid) {
          this.loading = true;
          if (this.form.userId) {
            this.getUpdateUserApi();
          }
        }
      });
      }
    },
    onCancel() {
      this.$refs["modal"].show = false;
      this.$parent.onInit();
    },
    // 编辑用户接口
    getUpdateUserApi() {
      return new Promise((resolve) => {
        getUpdateUser({
          userId: this.form.userId,
          name: this.form.name,
          age: this.form.age,
          sex: this.form.sex == '男' ? 1 : 0,
          phonenumber: this.form.phonenumber,
          unit: this.form.unit,
          position: this.form.position,
          }).then((res) => {
          if (res.retCode === 2000) {
            this.$Message.success("编辑成功");
            this.$refs["modal"].show = false;
            this.$parent.onInit();
            resolve();
          }
        });
      });
    },
  },
};
</script>

<style scoped lang="less">
.permission {
  height: 300px;
  width: 500px;
  border: 1px solid #dcdee2;
  overflow-y: auto;
  border-radius: 2px;
  padding: 0 0 0 10px;
}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韩召华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值