1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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
| <template>
| <a-modal
| :title="title"
| :width="800"
| :visible="visible"
| :maskClosable="false"
| :confirmLoading="confirmLoading"
| @ok="handleOk"
| @cancel="handleCancel"
| cancelText="关闭">
|
| <a-spin :spinning="confirmLoading">
| <a-form-model ref="form" :model="model" :rules="validatorRules">
|
| <a-form-model-item
| :labelCol="labelCol"
| :wrapperCol="wrapperCol"
| prop="code"
| label="岗位编码">
| <a-input placeholder="岗位编码自动生成" v-model="model.code" disabled />
| </a-form-model-item>
| <a-form-model-item
| :labelCol="labelCol"
| :wrapperCol="wrapperCol"
| prop="name"
| label="岗位名称">
| <a-input placeholder="请输入岗位名称" v-model="model.name" />
| </a-form-model-item>
| </a-form-model>
| </a-spin>
| </a-modal>
| </template>
|
| <script>
| import { httpAction } from '@/api/manage'
|
| export default {
| name: 'SysPositionModal',
| data() {
| return {
| title: '操作',
| visible: false,
| model: {},
| labelCol: {
| xs: { span: 24 },
| sm: { span: 5 }
| },
| wrapperCol: {
| xs: { span: 24 },
| sm: { span: 16 }
| },
| confirmLoading: false,
| validatorRules: {
| name: [{ required: true, message: '请输入岗位名称' }]
| },
| url: {
| add: '/sys/position/add',
| edit: '/sys/position/edit'
| },
| readOnly: false
| }
| },
| created() {
| },
| methods: {
| add() {
| this.edit({})
| },
| edit(record) {
| this.model = Object.assign({}, record)
| this.visible = true
| if (record.id) {
| this.readOnly = true
| } else {
| this.readOnly = false
| }
| },
| close() {
| this.$emit('close')
| this.visible = false
| this.$refs.form.resetFields()
| },
| 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()
| })
| } else {
| return false
| }
| })
| },
| handleCancel() {
| this.close()
| }
|
| }
| }
| </script>
|
| <style lang="less" scoped>
|
| </style>
|
|