From 63ad2c3598400370dd7da5534659fd7e768a0a4a Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Mon, 16 May 2022 17:29:46 +0800
Subject: [PATCH] 地址替换
---
src/views/article/article.vue | 463 ++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 353 insertions(+), 110 deletions(-)
diff --git a/src/views/article/article.vue b/src/views/article/article.vue
index b4f02c7..9b8b1a9 100644
--- a/src/views/article/article.vue
+++ b/src/views/article/article.vue
@@ -1,39 +1,88 @@
<template>
<basic-container>
- <avue-crud :option="option"
- :table-loading="loading"
- :data="data"
- :page.sync="page"
- ref="crud"
- @row-del="rowDel"
- v-model="form"
- :permission="permissionList"
- @row-update="rowUpdate"
- @row-save="rowSave"
- :before-open="beforeOpen"
- @search-change="searchChange"
- @search-reset="searchReset"
- @selection-change="selectionChange"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad">
+ <avue-crud
+ :option="option"
+ :table-loading="loading"
+ :data="data"
+ :page.sync="page"
+ ref="crud"
+ @row-del="rowDel"
+ v-model="form"
+ :permission="permissionList"
+ @row-update="rowUpdate"
+ @row-save="rowSave"
+ :before-open="beforeOpen"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @selection-change="selectionChange"
+ @current-change="currentChange"
+ @size-change="sizeChange"
+ @refresh-change="refreshChange"
+ @on-load="onLoad"
+ >
<template slot="menuLeft">
- <el-button type="danger"
- size="small"
- icon="el-icon-delete"
- plain
- v-if="permission.article_delete"
- @click="handleDelete">删 除
+ <el-button
+
+ size="small"
+ icon="el-icon-delete"
+ plain
+ v-if="permission.article_delete"
+ @click="handleDelete"
+ >删 除
+ </el-button>
+ <el-button
+
+ size="small"
+ icon="el-icon-s-order"
+ plain
+ @click="kqcomment"
+ >开启评论
+ </el-button>
+ <el-button
+
+ size="small"
+ icon="el-icon-s-release"
+ plain
+ @click="gbcomment"
+ >关闭评论
+ </el-button>
+
+
+ </template>
+
+ <template slot-scope="{type,size,row }" slot="menu">
+ <el-button v-if="row.publish == '1'" icon="el-icon-close" :size="size" :type="type" @click.stop="updateFb(row)">
+ 撤销
+ </el-button>
+ <el-button v-if="row.publish == '0'" icon="el-icon-check" :size="size" :type="type" @click.stop="updateFb(row)">
+ 发布
</el-button>
</template>
+
+ <template slot-scope="{ row }" slot="publish">
+ <el-tag
+ >{{
+ row.publish == "1" ? "已发布" : row.publish == "0" ? "未发布" : "未发布"
+ }}
+ </el-tag>
+ </template>
+
+ <template slot-scope="{ row }" slot="iscomment">
+ <el-tag
+ >{{
+ row.iscomment == "1" ? "开启" : row.iscomment == "0" ? "关闭" : "关闭"
+ }}
+ </el-tag>
+ </template>
+
</avue-crud>
</basic-container>
</template>
<script>
- import {getList, remove, update, add, getNotice} from "@/api/article/article";
+ import {getList, remove, update, add, getNotice, upcomment} from "@/api/article/article";
import {mapGetters} from "vuex";
+ import userinfo from "@/views/system/userinfo";
export default {
data() {
@@ -44,19 +93,20 @@
page: {
pageSize: 10,
currentPage: 1,
- total: 0
+ total: 0,
},
- datetime:"",
+ datetime: "",
selectionList: [],
option: {
- height: 'auto',
+ height: "auto",
calcHeight: 54,
dialogWidth: 950,
tip: false,
searchShow: true,
- searchMenuSpan: 6,
+ searchMenuSpan: 3,
+ menuWidth: 350,
border: false,
- stripe:true,
+ //stripe:true,
index: true,
viewBtn: true,
selection: true,
@@ -68,137 +118,263 @@
prop: "title",
span: 24,
row: true,
+ searchSpan: 4,
search: true,
- rules: [{
- required: true,
- message: "请输入资讯标题",
- trigger: "blur"
- }]
+ rules: [
+ {
+ required: true,
+ message: "请输入资讯标题",
+ trigger: "blur",
+ },
+ ],
},
{
- label: "资讯封面",
- prop: "url",
- type: 'upload',
- listType: 'picture-img',
- action: '/api/blade-resource/oss/endpoint/put-file',
- propsHttp: {
- res: 'data',
- url: 'link',
+ label: "资讯封面",
+ prop: "url",
+ // align:'center',
+ width: 80,
+ type: "upload",
+ listType: "picture-img",
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ propsHttp: {
+ res: "data",
+ url: "link",
+ },
+ // hide: true,
+ span: 24,
},
- // hide: true,
- span: 24,
- },
{
label: "资讯来源",
prop: "sourceName",
search: true,
- rules: [{
- required: true,
- message: "请输入资讯类型",
- trigger: "blur"
- }]
+ searchSpan: 4,
+ span: 24,
+ rules: [
+ {
+ required: true,
+ message: "请输入资讯类型",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "资讯类型",
+ prop: "articleType",
+ addDisplay: true,
+ editDisplay: true,
+ viewDisplay: true,
+ searchSpan: 3,
+ checkStrictly: true,
+ dicUrl: "/api/blade-system/dict-biz/child-list?parentId=1411214799056932865",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ search: true,
+ type: "tree",
+ rules: [
+ {
+ required: true,
+ message: "请选择资讯类型",
+ trigger: "blur",
+ },
+ ],
},
{
label: "发布时间",
- prop: "datetime",
+ prop: "dateTime",
type: "datetime",
- format: "yyyy-MM-dd hh:mm:ss",
- valueFormat: "yyyy-MM-dd hh:mm:ss",
- searchRange:true,
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ searchSpan: 5,
+ searchRange: true,
hide: true,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
search: true,
- rules: [{
- required: true,
- message: "请选择发布时间",
- trigger: "blur"
- }]
+ rules: [
+ {
+ required: true,
+ message: "请选择发布时间",
+ trigger: "blur",
+ },
+ ],
},
{
label: "发布时间",
prop: "createTime",
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
type: "date",
- format: "yyyy-MM-dd hh:mm:ss",
- valueFormat: "yyyy-MM-dd hh:mm:ss"
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ },
+ {
+ label: "发布状态",
+ prop: "publish",
+ searchSpan: 3,
+ width: 80,
+ value: "0",
+ slot: true,
+ search: true,
+ type: "select",
+ rules: [
+ {
+ required: true,
+ message: "请选择发布状态",
+ trigger: "blur",
+ },
+ ],
+ dicData: [
+ {
+ label: "未发布",
+ value: "0",
+ },
+ {
+ label: "已发布",
+ value: "1",
+ }
+ ],
+ },
+ {
+ label: "评论区",
+ prop: "iscomment",
+ width: 80,
+ slot: true,
+ type: "select",
+ dicData: [
+ {
+ label: "关闭",
+ value: "0",
+ },
+ {
+ label: "开启",
+ value: "1",
+ }
+ ],
+ },
+ {
+ label: "视频",
+ prop: "videoUrl",
+ type: "upload",
+ accept: "video/mp4",
+ display: false,
+ hide: true,
+ span: 24,
+ listType: "picture-img",
+ action: "/api/depl/put-depl",
+ propsHttp: {
+ url: "data",
+ },
},
{
label: "资讯内容",
prop: "content",
- component: 'AvueUeditor',
+ component: "AvueUeditor",
options: {
- action: '/api/blade-resource/oss/endpoint/put-file',
+ action: "/api/blade-resource/oss/endpoint/put-file",
// customConfig: {
// lineHeights: ['1', '1.15', '1.6', '2', '2.5', '3']
// },//wangEditor编辑的配置
props: {
res: "data",
url: "link",
- }
+ },
},
hide: true,
minRows: 6,
span: 24,
- }
- ]
+ },
+ ],
},
- data: []
+ data: [],
};
},
+ watch: {
+ "form.articleType": {
+ handler(val) {
+ if (val) {
+ var videoUrl = this.findObject(this.option.column, "videoUrl");
+ var content = this.findObject(this.option.column, "content");
+ if (val.indexOf('ksp') != -1) {
+ videoUrl.display = true;
+ content.display = false;
+ videoUrl.rules = [
+ {
+ required: false,
+ message: "请选择视频",
+ trigger: "blur",
+ },
+ ];
+ } else {
+ videoUrl.display = false;
+ content.display = true;
+ videoUrl.rules = "";
+ }
+ }
+ },
+ immediate: true,
+ }
+ },
computed: {
- ...mapGetters(["permission"]),
+ ...mapGetters(["permission","userInfo"]),
permissionList() {
return {
addBtn: this.vaildData(this.permission.article_add, true),
viewBtn: this.vaildData(this.permission.article_view, true),
delBtn: this.vaildData(this.permission.article_delete, true),
- editBtn: this.vaildData(this.permission.article_edit, true)
+ editBtn: this.vaildData(this.permission.article_edit, true),
};
},
ids() {
let ids = [];
- this.selectionList.forEach(ele => {
+ this.selectionList.forEach((ele) => {
ids.push(ele.id);
});
return ids.join(",");
- }
+ },
},
methods: {
rowSave(row, done, loading) {
- add(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
+ if (row.videoUrl.length == 0) {
+ row.videoUrl = "";
+ }
+ row.userid=this.userInfo.user_id;
+ add(row).then(
+ () => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
},
rowUpdate(row, index, done, loading) {
- update(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
+ update(row).then(
+ () => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
},
rowDel(row) {
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
- type: "warning"
+ type: "warning",
})
.then(() => {
return remove(row.id);
@@ -207,7 +383,7 @@
this.onLoad(this.page);
this.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
});
},
@@ -236,7 +412,7 @@
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
- type: "warning"
+ type: "warning",
})
.then(() => {
return remove(this.ids);
@@ -245,17 +421,18 @@
this.onLoad(this.page);
this.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
this.$refs.crud.toggleSelection();
});
},
beforeOpen(done, type) {
if (["edit", "view"].includes(type)) {
- getNotice(this.form.id).then(res => {
+ getNotice(this.form.id).then((res) => {
this.form = res.data.data;
});
}
+ // con
done();
},
currentChange(currentPage) {
@@ -268,31 +445,97 @@
this.onLoad(this.page, this.query);
},
onLoad(page, params = {}) {
- const {datetime} = this.query;
+ const {dateTime} = this.query;
let values = {
...params,
};
- if (datetime) {
+ if (dateTime) {
values = {
...params,
- startTime: datetime[0],
- endTime: datetime[1],
- ...this.query
+ startTime: dateTime[0],
+ endTime: dateTime[1],
+ ...this.query,
};
- values.datetime = null;
+ values.dateTime = null;
}
this.loading = true;
- getList(page.currentPage, page.pageSize, values).then(res => {
+ getList(page.currentPage, page.pageSize, values).then((res) => {
const data = res.data.data;
this.page.total = data.total;
this.data = data.records;
this.loading = false;
this.selectionClear();
});
+ },
+ updateFb(row) {
+ if (row.publish == "0") {
+ row.publish = "1";
+ } else {
+ row.publish = "0";
+ }
+ update(row).then(
+ () => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ },
+ kqcomment() {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据");
+ return;
+ }
+ this.$confirm("确定将选择数据开启评论?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ }).then(() => {
+ return upcomment(this.ids, "1");
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ this.$refs.crud.toggleSelection();
+ });
+ },
+ gbcomment() {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据");
+ return;
+ }
+ this.$confirm("确定将选择数据开启评论?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ }).then(() => {
+ return upcomment(this.ids, "0");
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ this.$refs.crud.toggleSelection();
+ });
}
- }
+ },
};
</script>
<style>
+ .avue-upload__icon {
+ line-height: 6;
+ }
</style>
--
Gitblit v1.9.3