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
| <template>
| <el-dialog :title="titleMap[mode]" v-model="visible" :width="800" destroy-on-close @closed="$emit('closed')">
| <el-form :model="postForm" :rules="postRules" :disabled="mode=='show'" ref="dialogForm" label-width="120px" label-position="center">
| <el-row>
| <el-col :span="12">
| <el-form-item label="岗位编号" prop="postCode">
| <el-input v-model="postForm.postCode" placeholder="岗位编号" clearable></el-input>
| </el-form-item>
| </el-col>
| <el-col :span="12">
| <el-form-item label="岗位" prop="postName">
| <el-input v-model="postForm.postName" placeholder="岗位" clearable></el-input>
| </el-form-item>
| </el-col>
| <el-col :span="12">
| <el-form-item label="使用状态">
| <el-switch v-model="postForm.status" />
| </el-form-item>
| </el-col>
| </el-row>
| </el-form>
| <template #footer>
| <el-button @click="visible=false" >取 消</el-button>
| <el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="postSubmit()">保 存</el-button>
| </template>
| </el-dialog>
| </template>
|
| <script>
| export default {
| emits: ['success', 'closed'],
| data() {
| return {
| value1: true,
| mode: "add",
| titleMap: {
| add: '添加岗位',
| edit: '修改岗位',
| show: '查看'
| },
| visible: false,
| isSaveing: false,
| //表单数据
| postForm: {
| postCode: "",
| postName: "",
| status: true
| },
| //验证规则
| postRules: {
| postCode:[{required: true, message: '请输入岗位编号'}],
| postName:[{required: true, message: '请输入岗位'}]
| },
| //所需数据选项
| groups: [],
| groupsProps: {
| value: "id",
| multiple: true,
| checkStrictly: true
| },
| depts: [],
| deptsProps: {
| value: "id",
| checkStrictly: true
| }
| }
| },
| mounted() {
|
| },
| methods: {
| //显示
| open(mode='add'){
| this.mode = mode;
| this.visible = true;
| return this
| },
| //加载树数据
| async getGroup(){
| var res = await this.$API.system.role.list.get();
| this.groups = res.data.rows;
| },
| async getDept(){
| var res = await this.$API.system.dept.list.get();
| this.depts = res.data;
| },
| //表单提交方法
| postSubmit(){
| var obj = Object.assign({},this.postForm);
| obj.status = obj.status ? 1 : 0;
| this.$refs.dialogForm.validate(async (valid) => {
| if (valid) {
| this.$HTTP.post("/api/blade-system/post/submit",obj).then(res=> {
| if(res.code == 200) {
| this.$emit('success', this.postForm, this.mode);
| this.visible = false;
| this.$message.success("操作成功");
| }else {
| this.$alert(res.message, "提示", {type: 'error'});
| }
| })
| }else{
| return false;
| }
| })
| },
| //表单注入数据
| setData(data){
| if(data.status == 1){
| data.status = true;
| }else{
| data.status = false;
| }
| //可以和上面一样单个注入,也可以像下面一样直接合并进去
| Object.assign(this.postForm, data)
| }
| }
| }
| </script>
|
| <style>
| </style>
|
|