|
|
|
|
<template>
|
|
|
|
|
<div>
|
|
|
|
|
<base-page
|
|
|
|
|
:searchParams="searchParams"
|
|
|
|
|
:tableParams="tableParams"
|
|
|
|
|
:tableUrl="tableUrl"
|
|
|
|
|
:addUrl="addUrl"
|
|
|
|
|
:editUrl="editUrl"
|
|
|
|
|
:delUrl="delUrl"
|
|
|
|
|
:editAuth="editAuth"
|
|
|
|
|
:delAuth="delAuth"
|
|
|
|
|
:infoUrl="infoUrl"
|
|
|
|
|
:exportUrl="exportUrl"
|
|
|
|
|
:importUrl="importUrl"
|
|
|
|
|
:mubanUrl="mubanUrl"
|
|
|
|
|
:editParams="editParams"
|
|
|
|
|
:editElseRules="editElseRules"
|
|
|
|
|
:editBtnName="(item) => (!item.latitude ? '待完善' : '修改')"
|
|
|
|
|
idName="articleId"
|
|
|
|
|
></base-page>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import basePage from "@/views/modules/cpts/base/index";
|
|
|
|
|
import { getItemByIdInCascader } from "@/utils/cascader";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
props: {},
|
|
|
|
|
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
searchParams: [
|
|
|
|
|
{ field: "活动标题", keyName: "name", type: "input" },
|
|
|
|
|
{
|
|
|
|
|
field: "标签",
|
|
|
|
|
keyName: "tagIds",
|
|
|
|
|
type: "select",
|
|
|
|
|
multiple: true,
|
|
|
|
|
optionUrl: "/gov/voice/tag/taglist",
|
|
|
|
|
optionUrlParams: {},
|
|
|
|
|
optionList: [],
|
|
|
|
|
optionCook(list) {
|
|
|
|
|
return list.map((item) => ({
|
|
|
|
|
label: item.tagName,
|
|
|
|
|
value: item.tagId,
|
|
|
|
|
}));
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "状态",
|
|
|
|
|
keyName: "statusFlag",
|
|
|
|
|
value: "",
|
|
|
|
|
type: "select",
|
|
|
|
|
optionUrl: "",
|
|
|
|
|
optionUrlParams: {},
|
|
|
|
|
optionList: [
|
|
|
|
|
{
|
|
|
|
|
label: "全部",
|
|
|
|
|
value: "",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "已发布",
|
|
|
|
|
value: "published",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "已下线",
|
|
|
|
|
value: "offline",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "发布范围",
|
|
|
|
|
keyName: "publishRangeIds",
|
|
|
|
|
type: "cascader",
|
|
|
|
|
optionUrl: "/gov/org/customeragency/agencygridtree",
|
|
|
|
|
optionUrlParams: {
|
|
|
|
|
agencyId: this.$store.state.user.agencyId,
|
|
|
|
|
},
|
|
|
|
|
optionList: [],
|
|
|
|
|
optionProps: {
|
|
|
|
|
multiple: false,
|
|
|
|
|
value: "agencyId",
|
|
|
|
|
label: "agencyName",
|
|
|
|
|
children: "subAgencyList",
|
|
|
|
|
checkStrictly: true,
|
|
|
|
|
},
|
|
|
|
|
optionCook(obj) {
|
|
|
|
|
return [obj];
|
|
|
|
|
},
|
|
|
|
|
supKeys: ["publishRangeId", "publishRangeType"],
|
|
|
|
|
supValues: ["", ""],
|
|
|
|
|
handleChangeFn(vals, item) {
|
|
|
|
|
const { optionList } = item;
|
|
|
|
|
if (vals.length > 0) {
|
|
|
|
|
item["supValues"][0] = vals[vals.length - 1];
|
|
|
|
|
item["supValues"][1] = getItemByIdInCascader(
|
|
|
|
|
optionList,
|
|
|
|
|
vals,
|
|
|
|
|
"agencyId",
|
|
|
|
|
"subAgencyList"
|
|
|
|
|
)[vals.length - 1]["level"];
|
|
|
|
|
} else {
|
|
|
|
|
item["supValues"][0] = "";
|
|
|
|
|
item["supValues"][1] = "";
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "发布时间",
|
|
|
|
|
keyName: "publishTime",
|
|
|
|
|
type: "date-range",
|
|
|
|
|
supKeys: ["startTime", "endTime"],
|
|
|
|
|
supValues: ["", ""],
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
tableParams: [
|
|
|
|
|
{ field: "序号", keyName: "", type: "no" },
|
|
|
|
|
{ field: "活动标题", keyName: "title", type: "text" },
|
|
|
|
|
{
|
|
|
|
|
field: "标签",
|
|
|
|
|
keyName: "tagNameList",
|
|
|
|
|
type: "array",
|
|
|
|
|
arrayDiv: "、",
|
|
|
|
|
},
|
|
|
|
|
{ field: "状态", keyName: "statusFlag", type: "text" },
|
|
|
|
|
{ field: "发布单位", keyName: "publisherName", type: "text" },
|
|
|
|
|
{ field: "发布时间", keyName: "publishDate", type: "text" },
|
|
|
|
|
{
|
|
|
|
|
field: "发布范围",
|
|
|
|
|
keyName: "publishRangeDesc",
|
|
|
|
|
type: "array",
|
|
|
|
|
arrayDiv: "、",
|
|
|
|
|
},
|
|
|
|
|
{ field: "置顶", keyName: "isTopName", type: "text" },
|
|
|
|
|
],
|
|
|
|
|
tableUrl: "/gov/voice/article/articleListV2",
|
|
|
|
|
mubanUrl: "",
|
|
|
|
|
importUrl: "",
|
|
|
|
|
exportUrl: "",
|
|
|
|
|
|
|
|
|
|
addUrl: "/gov/voice/article/addOrSaveDraft",
|
|
|
|
|
editUrl: "",
|
|
|
|
|
infoUrl: "/gov/voice/article/detailV2",
|
|
|
|
|
delUrl: "",
|
|
|
|
|
editAuth(item) {
|
|
|
|
|
return false;
|
|
|
|
|
},
|
|
|
|
|
delAuth(item) {
|
|
|
|
|
return false;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
editParams: [
|
|
|
|
|
{
|
|
|
|
|
field: "文章标题",
|
|
|
|
|
keyName: "name",
|
|
|
|
|
type: "input",
|
|
|
|
|
maxlength: 50,
|
|
|
|
|
editDisabled: true,
|
|
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: "文章标题不能为空",
|
|
|
|
|
trigger: "blur",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "封面图片",
|
|
|
|
|
keyName: "category",
|
|
|
|
|
type: "upload",
|
|
|
|
|
limit: 1,
|
|
|
|
|
editDisabled: true,
|
|
|
|
|
rules: [],
|
|
|
|
|
beforeImgUpload(file, item, that) {
|
|
|
|
|
console.log(file);
|
|
|
|
|
const isLt1M = file.size / 1024 / 1024 < 10;
|
|
|
|
|
const srcType = file.type;
|
|
|
|
|
|
|
|
|
|
if (!isLt1M) {
|
|
|
|
|
that.$message.error("上传文件大小不能超过 10MB!");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (srcType.indexOf("image") == -1) {
|
|
|
|
|
that.$message.error("仅限图片格式");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "发布范围",
|
|
|
|
|
keyName: "publishRangeIds",
|
|
|
|
|
type: "cascader",
|
|
|
|
|
optionUrl: "/gov/org/customeragency/agencygridtree",
|
|
|
|
|
optionUrlParams: {
|
|
|
|
|
agencyId: this.$store.state.user.agencyId,
|
|
|
|
|
},
|
|
|
|
|
optionList: [],
|
|
|
|
|
optionProps: {
|
|
|
|
|
multiple: false,
|
|
|
|
|
value: "agencyId",
|
|
|
|
|
label: "agencyName",
|
|
|
|
|
children: "subAgencyList",
|
|
|
|
|
checkStrictly: true,
|
|
|
|
|
},
|
|
|
|
|
optionCook(obj) {
|
|
|
|
|
return [obj];
|
|
|
|
|
},
|
|
|
|
|
supKeys: ["publishRangeId", "publishRangeType"],
|
|
|
|
|
supValues: ["", ""],
|
|
|
|
|
handleChangeFn(vals, item) {
|
|
|
|
|
const { optionList } = item;
|
|
|
|
|
if (vals.length > 0) {
|
|
|
|
|
item["supValues"][0] = vals[vals.length - 1];
|
|
|
|
|
item["supValues"][1] = getItemByIdInCascader(
|
|
|
|
|
optionList,
|
|
|
|
|
vals,
|
|
|
|
|
"agencyId",
|
|
|
|
|
"subAgencyList"
|
|
|
|
|
)[vals.length - 1]["level"];
|
|
|
|
|
} else {
|
|
|
|
|
item["supValues"][0] = "";
|
|
|
|
|
item["supValues"][1] = "";
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "发布时间",
|
|
|
|
|
keyName: "principalName",
|
|
|
|
|
type: "date",
|
|
|
|
|
maxlength: 50,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "文章标签",
|
|
|
|
|
keyName: "tagIds",
|
|
|
|
|
type: "select",
|
|
|
|
|
multiple: true,
|
|
|
|
|
optionUrl: "/gov/voice/tag/taglist",
|
|
|
|
|
optionUrlParams: {},
|
|
|
|
|
optionList: [],
|
|
|
|
|
optionCook(list) {
|
|
|
|
|
return list.map((item) => ({
|
|
|
|
|
label: item.tagName,
|
|
|
|
|
value: item.tagId,
|
|
|
|
|
}));
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "内容",
|
|
|
|
|
keyName: "content",
|
|
|
|
|
type: "rich-text",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "置顶",
|
|
|
|
|
keyName: "principalMobile",
|
|
|
|
|
type: "input",
|
|
|
|
|
maxlength: 50,
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
editElseRules: {},
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
components: { basePage },
|
|
|
|
|
computed: {},
|
|
|
|
|
watch: {},
|
|
|
|
|
|
|
|
|
|
async mounted() {},
|
|
|
|
|
|
|
|
|
|
methods: {},
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped></style>
|