msgForm.vue
3.54 KB
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
126
127
128
129
130
131
<template>
<el-dialog
:title="isDetail ? '通知详情' : '发布通知'"
:close-on-click-modal="false"
:visible.sync="visible"
class="NCC-dialog NCC-dialog_center msg-dialog"
lock-scroll
width="50%"
>
<el-row :gutter="15" style="padding-top: 10px">
<el-form
ref="elForm"
:model="dataForm"
size="small"
label-width="100px"
label-position="right"
:disabled="!!isDetail"
:rules="rules">
<el-col :span="24">
<el-form-item label="通知标题" prop="title">
<el-input v-model="dataForm.title"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="内容" prop="bodyContent">
<NCC-Quill v-model="dataForm.bodyContent" placeholder="请输入内容..." :disabled="!!isDetail" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="图片上传" prop="imgUrl">
<NCC-UploadFz v-model="dataForm.imgUrl" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
</el-form-item>
</el-col>
</el-form>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取 消</el-button>
<el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail">确 定</el-button>
</span>
</el-dialog>
</template>
<script>
import request from "@/utils/request";
export default {
components: {},
props: [],
data() {
return {
loading: false,
visible: false,
isDetail: false,
dataForm: {
id: '',
title: '',
bodyContent: '',
imgUrl: [],
categoryId: 'cc225c68421644f79037aaf624ccccc0',
isType: '0',
},
rules: {
title: [
{ required: true, message: '请输入标题', trigger: 'blur' },
],
bodyContent: [
{ required: true, message: '请输入内容', trigger: 'blur' },
],
},
};
},
computed: {},
watch: {},
created() {
},
mounted() {},
beforeDestroy() {
},
methods: {
goBack() {
this.$emit("refresh");
},
init(id, isDetail) {
this.dataForm.id = id || 0;
this.visible = true;
this.isDetail = isDetail || false;
this.$nextTick(() => {
this.$refs["elForm"].resetFields();
if(this.dataForm.id) {
request({
url: `/SubDev/ZyOaArticle/${this.dataForm.id}`,
method: "GET",
}).then((res) => {
this.dataForm = res.data;
console.log(this.dataForm);
});
}
});
},
dataFormSubmit() {
this.$refs['elForm'].validate((valid) => {
if (valid) {
request({
url: `/SubDev/ZyOaArticle`,
method: 'post',
data: this.dataForm,
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
this.visible = false, this.$emit('refresh', true)
}
})
})
}
})
},
},
};
</script>
<style lang="scss" scoped>
.msg-dialog {
:deep(.el-dialog__body) {
max-height: 50vh;
overflow-y: scroll;
}
}
</style>