From 33abdafe12b59ef3842671a298735817f4c38a79 Mon Sep 17 00:00:00 2001 From: dai <851733175@qq.com> Date: Fri, 1 Jul 2022 14:40:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E4=BF=9D=E5=AD=98=E7=9C=8B?= =?UTF-8?q?=E5=88=AB=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/communityParty/article/index.vue | 93 ++++++++++++++++++- src/views/modules/cpts/base/cpts/edit.vue | 63 +++++++++++-- 2 files changed, 147 insertions(+), 9 deletions(-) diff --git a/src/views/modules/communityParty/article/index.vue b/src/views/modules/communityParty/article/index.vue index 8a48672a..323c9d02 100644 --- a/src/views/modules/communityParty/article/index.vue +++ b/src/views/modules/communityParty/article/index.vue @@ -25,6 +25,7 @@ import basePage from "@/views/modules/cpts/base/index"; import { getItemByIdInCascader, collapse } from "@/utils/cascader"; import { requestPost } from "@/js/dai/request"; +import dateFormat from "dai-js/tools/dateFormat.js"; export default { props: {}, @@ -243,12 +244,95 @@ export default { } else { } }, + rules: [ + { + required: true, + message: "发布范围不能为空", + trigger: "blur", + }, + ], }, { field: "发布时间", keyName: "publishDate", type: "date", - maxlength: 50, + value: dateFormat(new Date(), "yyyy-MM-dd"), + rules: [ + { + required: true, + message: "发布时间不能为空", + trigger: "blur", + }, + ], + }, + { + field: "发布单位", + keyName: "publisher", + type: "select", + optionUrl: "/gov/voice/article/publishagencylist", + optionList: [], + optionType: "group", + supKeys: ["publisherName", "publisherType"], + supValues: ["", ""], + optionCook(data) { + let ret = []; + const { agencyDeptList, agencyGridList, agencyId, agencyName } = + data; + if (agencyId) { + ret.push({ + label: "以组织名义", + optionList: [ + { + label: agencyId, + value: agencyName, + type: "agency", + }, + ], + }); + } + if (Array.isArray(agencyDeptList) && agencyDeptList.length > 0) { + ret.push({ + label: "以部门名义", + optionList: [ + ...agencyDeptList.map((d) => ({ + label: d.agencyDeptName, + value: d.departmentId, + type: "department", + })), + ], + }); + } + if (Array.isArray(agencyGridList) && agencyGridList.length > 0) { + ret.push({ + label: "以网格名义", + optionList: [ + ...agencyGridList.map((d) => ({ + label: d.agencyGridName, + value: d.gridId, + type: "grid", + })), + ], + }); + } + return ret; + }, + handleChangeFn(vals, item, that) { + const { optionList } = item; + let opts = []; + optionList.forEach((g) => { + opts = [...opts, ...g.optionList]; + }); + let publisher = opts.find((p) => vals == p.value); + that.fmData[item["supKeys"][0]] = publisher.label; + that.fmData[item["supKeys"][1]] = publisher.type; + }, + rules: [ + { + required: true, + message: "发布单位不能为空", + trigger: "blur", + }, + ], }, { field: "文章标签", @@ -271,6 +355,13 @@ export default { field: "内容", keyName: "content", type: "rich-text", + rules: [ + { + required: true, + message: "内容不能为空", + trigger: "blur", + }, + ], }, { field: "置顶", diff --git a/src/views/modules/cpts/base/cpts/edit.vue b/src/views/modules/cpts/base/cpts/edit.vue index 19721a70..94ef2d3f 100644 --- a/src/views/modules/cpts/base/cpts/edit.vue +++ b/src/views/modules/cpts/base/cpts/edit.vue @@ -121,18 +121,51 @@ :multiple="item.multiple || false" :filterable="item.filterable || false" :allowCreate="item.allowCreate || false" + default-first-option @change="(e) => handleChangeSelect(e, item)" > - - + + + +