Blame view

ant-design-vue-jeecg/src/views/jeecg/modules/JeecgDemoModal.vue 3.9 KB
肖超群 authored
1
2
3
4
5
6
7
8
9
10
<template>
  <a-modal
    :title="title"
    :width="800"
    :visible="visible"
    :confirmLoading="confirmLoading"
    @ok="handleOk"
    @cancel="handleCancel"
    cancelText="关闭">
    <a-spin :spinning="confirmLoading">
肖超群 authored
11
      <a-form-model ref="form" :label-col="labelCol" :wrapper-col="wrapperCol" :model="model" :rules="validatorRules">
肖超群 authored
12
        <a-form-model-item label="姓名" required prop="name" hasFeedback>
肖超群 authored
13
          <a-input v-model="model.name" placeholder="请输入姓名"/>
肖超群 authored
14
15
        </a-form-model-item>
肖超群 authored
16
17
        <a-form-model-item label="关键词" prop="keyWord" hasFeedback>
          <a-input v-model="model.keyWord" placeholder="请输入关键词"/>
肖超群 authored
18
19
        </a-form-model-item>
肖超群 authored
20
21
        <a-form-model-item label="打卡时间" prop="punchTime" hasFeedback>
          <a-date-picker showTime valueFormat="YYYY-MM-DD HH:mm:ss" v-model="model.punchTime"/>
肖超群 authored
22
23
        </a-form-model-item>
肖超群 authored
24
25
        <a-form-model-item label="性别" prop="sex" hasFeedback>
          <j-dict-select-tag type="radio" v-model="model.sex" :trigger-change="true" dictCode="sex"/>
肖超群 authored
26
27
        </a-form-model-item>
肖超群 authored
28
        <a-form-model-item label="年龄" prop="age" hasFeedback>
肖超群 authored
29
30
31
          <a-input placeholder="请输入年龄" v-model="model.age"/>
        </a-form-model-item>
肖超群 authored
32
33
        <a-form-model-item label="生日" prop="age" hasFeedback>
          <a-date-picker valueFormat="YYYY-MM-DD" v-model="model.birthday"/>
肖超群 authored
34
35
        </a-form-model-item>
肖超群 authored
36
37
        <a-form-model-item label="邮箱" prop="email" hasFeedback>
          <a-input placeholder="请输入邮箱" v-model="model.email"/>
肖超群 authored
38
39
        </a-form-model-item>
肖超群 authored
40
41
        <a-form-model-item label="个人简介" prop="content" hasFeedback>
          <a-input type="textarea" placeholder="请输入个人简介" v-model="model.content"/>
肖超群 authored
42
43
44
45
46
47
48
49
        </a-form-model-item>

      </a-form-model>
    </a-spin>
  </a-modal>
</template>

<script>
肖超群 authored
50
import {httpAction} from '@/api/manage'
肖超群 authored
51
肖超群 authored
52
53
54
55
56
57
58
59
60
61
export default {
  name: "JeecgDemoModal",
  data() {
    return {
      title: "操作",
      visible: false,
      model: {},
      layout: {
        labelCol: {span: 3},
        wrapperCol: {span: 14},
肖超群 authored
62
      },
肖超群 authored
63
64
65
      labelCol: {
        xs: {span: 24},
        sm: {span: 3},
肖超群 authored
66
      },
肖超群 authored
67
68
69
      wrapperCol: {
        xs: {span: 24},
        sm: {span: 16},
肖超群 authored
70
      },
肖超群 authored
71
72
73
74
75
76
77
78
79
80
81
82
83
84
      confirmLoading: false,
      form: this.$form.createForm(this),
      validatorRules: {
        name: [
          {required: true, message: '请输入姓名!'},
          {min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur'}
        ],
        email: [
          {required: false, type: 'email', message: '邮箱格式不正确', trigger: 'blur'}
        ]
      },
      url: {
        add: "/test/jeecgDemo/add",
        edit: "/test/jeecgDemo/edit",
肖超群 authored
85
      },
肖超群 authored
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
    }
  },
  created() {
  },
  methods: {
    add() {
      this.edit({});
    },
    edit(record) {
      this.model = Object.assign({}, record);
      this.visible = true;
    },
    close() {
      this.$refs.form.resetFields();
      this.$emit('close');
      this.visible = false;
    },
    handleOk() {
      const that = this;
      // 触发表单验证
      this.$refs.form.validate(valid => {
        if (valid) {
          that.confirmLoading = true;
          let httpurl = '';
          let method = '';
          if (!this.model.id) {
            httpurl += this.url.add;
            method = 'post';
          } else {
            httpurl += this.url.edit;
            method = 'put';
          }
          httpAction(httpurl, this.model, method).then((res) => {
            if (res.success) {
              that.$message.success(res.message);
              that.$emit('ok');
            } else {
              that.$message.warning(res.message);
            }
          }).finally(() => {
            that.confirmLoading = false;
            that.close();
          })
        }
      })
    },
    handleCancel() {
      this.close()
肖超群 authored
134
135
    }
  }
肖超群 authored
136
}
肖超群 authored
137
138
139
140
141
</script>

<style scoped>

</style>