emis-frontend/src/views/emis/emisArticle/emisArticleForm.vue
2024-09-02 15:16:25 +08:00

247 lines
7.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div >
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="24">
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" placeholder="请输入标题" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="描述" prop="description">
<el-input v-model="form.description" placeholder="请输入描述" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="文章主图" prop="fileUrl">
<ImageOneUpload v-model="form.fileUrl" ></ImageOneUpload>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="内容" prop="content">
<editor v-model="form.content" :min-height="192"/>
</el-form-item>
</el-col>
<!-- <el-col :span="24">
<el-form-item label="作者" prop="author">
<el-input v-model="form.author" placeholder="请输入作者" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="作者邮箱" prop="authorEmail">
<el-input v-model="form.authorEmail" placeholder="请输入作者邮箱" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="关键字" prop="keywords">
<el-input v-model="form.keywords" placeholder="请输入关键字" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="文章类型" prop="articleType">
<el-input v-model="form.articleType" placeholder="请输入文章类型" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="是否开放" prop="isOpen">
<el-input v-model="form.isOpen" placeholder="请输入是否开放" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="开放类型" prop="openType">
<el-input v-model="form.openType" placeholder="请输入开放类型" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="url" prop="link">
<el-input v-model="form.link" placeholder="请输入url" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="点击次数" prop="clickCount">
<el-input v-model="form.clickCount" placeholder="请输入点击次数" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="删除标志(0代表存在" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志(0代表存在" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col> -->
</el-row>
</el-form>
<div style="text-align: center;margin-bottom: 10px;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</div>
</template>
<script>
import { listEmisArticle, getEmisArticle, delEmisArticle, addEmisArticle, updateEmisArticle } from "@/api/emis/emisArticle";
export default {
name: "emisArticleForm",
props:{
id:{
type:Number
}
},
components: { },
dicts: [
],
data() {
return {
emisArticleOptions: [],
// 遮罩层
loading: true,
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "id不能为空", trigger: "blur" }
],
catId: [
{ required: true, message: "分类不能为空", trigger: "blur" }
],
title: [
{ required: true, message: "标题不能为空", trigger: "blur" }
],
content: [
{ required: true, message: "内容不能为空", trigger: "blur" }
],
articleType: [
{ required: true, message: "文章类型不能为空", trigger: "blur" }
],
isOpen: [
{ required: true, message: "是否开放不能为空", trigger: "blur" }
],
clickCount: [
{ required: true, message: "点击次数不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "删除标志(0代表存在不能为空", trigger: "blur" }
],
}
};
},
watch: {
"id": {
handler (newValue, oldValue) {
this.id = newValue;
this.initData();
},
deep: true
}
},
created() {
this.initData();
},
methods: {
initData() {
if(this.id !=null) {
this.loading = true;
getEmisArticle(this.id).then(response => {
this.form = response.data;
this.loading = false;
});
}else{
this.reset();
}
// this.getTreeselect();
},
// 取消按钮
cancel() {
this.reset();
this.$emit("on-cancel");
},
// 表单重置
reset() {
this.form = {
id: null,
catId: null,
title: null,
content: null,
author: null,
authorEmail: null,
keywords: null,
articleType: null,
isOpen: null,
fileUrl: null,
openType: null,
link: null,
description: null,
clickCount: null,
tenantId: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null,
createSite: null,
updateSite: null
};
this.resetForm("form");
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateEmisArticle(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$emit("on-changed");
});
} else {
addEmisArticle(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$emit("on-changed");
});
}
}
});
},
// /** 转换菜单数据结构 */
// normalizer(node) {
// if (node.children && !node.children.length) {
// delete node.children;
// }
// return {
// id: node.id,
// label: node.idName,
// children: node.children
// };
// },
// /** 查询菜单下拉树结构 */
// getTreeselect() {
// const queryParams = {}
// listEmisArticle(queryParams).then(response => {
// this.emisArticleOptions = [];
// const rootItem = { idId: 0, emisArticleName: '-', children: [] };
// rootItem.children = this.handleTree(response.data, "id");
// this.emisArticleOptions.push(rootItem);
// if(this.parentId != undefined) {
// this.form.parentId = this.parentId;
// }
// });
// },
}
};
</script>