@fmdevui/fm-dev
Version:
Page level components developed based on Element Plus.
238 lines (233 loc) • 9.24 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var vueRouter = require('vue-router');
var commonFunction = require('../../../utils/comm/commonFunction.js');
require('../../../../../node_modules/.pnpm/@wangeditor_editor@5.1.23/node_modules/@wangeditor/editor/dist/css/style.css.js');
require('../../../api/index.js');
var index = require('../../../api/sys/index.js');
const _hoisted_1 = { class: "user-news-container" };
const _hoisted_2 = { style: { "margin-left": "5px" } };
const _hoisted_3 = { class: "notice-box" };
const _hoisted_4 = ["onClick"];
const _hoisted_5 = { class: "notice-title" };
const _hoisted_6 = { class: "notice-content" };
const _hoisted_7 = { class: "notice-time" };
const _hoisted_8 = { style: { "margin-left": "5px" } };
const _hoisted_9 = { style: { "height": "400px", "overflow-y": "auto", "padding-right": "10px" } };
const _hoisted_10 = { style: { "color": "#fff" } };
const _hoisted_11 = { class: "w-e-text-container" };
const _hoisted_12 = ["innerHTML"];
const _hoisted_13 = { class: "dialog-footer" };
var _sfc_main = /* @__PURE__ */ vue.defineComponent({
__name: "userNews",
props: {
noticeList: Array
},
setup(__props) {
const { removeHtmlSub } = commonFunction.default();
const state = vue.reactive({
dialogVisible: false,
content: ""
});
const router = vueRouter.useRouter();
const goToNotice = () => {
router.push("/dashboard/notice");
};
const viewNoticeDetail = async (notice) => {
state.content = notice.content;
state.dialogVisible = true;
notice.readStatus = 1;
await index.useSysApi().setNoticeRead({ id: notice.id });
};
return (_ctx, _cache) => {
const _component_ele_Bell = vue.resolveComponent("ele-Bell");
const _component_el_icon = vue.resolveComponent("el-icon");
const _component_el_divider = vue.resolveComponent("el-divider");
const _component_el_empty = vue.resolveComponent("el-empty");
const _component_el_tab_pane = vue.resolveComponent("el-tab-pane");
const _component_ele_Position = vue.resolveComponent("ele-Position");
const _component_el_tabs = vue.resolveComponent("el-tabs");
const _component_el_button = vue.resolveComponent("el-button");
const _component_el_dialog = vue.resolveComponent("el-dialog");
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
vue.createVNode(_component_el_tabs, {
stretch: "",
class: "content-box"
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_el_tab_pane, {
label: _ctx.$t("message.list.messageInbox")
}, {
label: vue.withCtx(() => [
vue.createVNode(_component_el_icon, null, {
default: vue.withCtx(() => [
vue.createVNode(_component_ele_Bell)
]),
_: 1
/* STABLE */
}),
vue.createElementVNode(
"span",
_hoisted_2,
vue.toDisplayString(_ctx.$t("message.list.messageInbox")),
1
/* TEXT */
)
]),
default: vue.withCtx(() => [
vue.createElementVNode("div", _hoisted_3, [
__props.noticeList.length > 0 ? (vue.openBlock(true), vue.createElementBlock(
vue.Fragment,
{ key: 0 },
vue.renderList(__props.noticeList, (v, k) => {
return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
class: "notice-item",
key: k,
onClick: ($event) => viewNoticeDetail(v)
}, [
vue.createElementVNode(
"div",
_hoisted_5,
vue.toDisplayString(v.type == 1 ? "\u3010" + _ctx.$t("message.list.notice") + "\u3011" : "\u3010" + _ctx.$t("message.list.announcement") + "\u3011") + vue.toDisplayString(v.title),
1
/* TEXT */
),
vue.createElementVNode(
"div",
_hoisted_6,
vue.toDisplayString(vue.unref(removeHtmlSub)(v.content)),
1
/* TEXT */
),
vue.createElementVNode(
"div",
_hoisted_7,
vue.toDisplayString(v.publicTime),
1
/* TEXT */
),
vue.createVNode(_component_el_divider, {
"border-style": "dashed",
style: { "margin": "10px 0" }
})
], 8, _hoisted_4)), [
[vue.vShow, v.readStatus == 1 ? false : true]
]);
}),
128
/* KEYED_FRAGMENT */
)) : (vue.openBlock(), vue.createBlock(_component_el_empty, {
key: 1,
description: _ctx.$t("message.list.empty")
}, null, 8, ["description"]))
]),
__props.noticeList.length > 0 ? (vue.openBlock(), vue.createElementBlock(
"div",
{
key: 0,
class: "notice-foot",
onClick: goToNotice
},
vue.toDisplayString(_ctx.$t("message.list.goToNotice")),
1
/* TEXT */
)) : vue.createCommentVNode("v-if", true)
]),
_: 1
/* STABLE */
}, 8, ["label"]),
vue.createVNode(_component_el_tab_pane, {
label: _ctx.$t("message.list.my")
}, {
label: vue.withCtx(() => [
vue.createVNode(_component_el_icon, null, {
default: vue.withCtx(() => [
vue.createVNode(_component_ele_Position)
]),
_: 1
/* STABLE */
}),
vue.createElementVNode(
"span",
_hoisted_8,
vue.toDisplayString(_ctx.$t("message.list.my")),
1
/* TEXT */
)
]),
default: vue.withCtx(() => [
vue.createElementVNode("div", _hoisted_9, [
vue.createVNode(_component_el_empty, {
description: _ctx.$t("message.list.empty")
}, null, 8, ["description"])
])
]),
_: 1
/* STABLE */
}, 8, ["label"])
]),
_: 1
/* STABLE */
}),
vue.createVNode(_component_el_dialog, {
modelValue: state.dialogVisible,
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.dialogVisible = $event),
draggable: "",
width: "769px"
}, {
header: vue.withCtx(() => [
vue.createElementVNode("div", _hoisted_10, [
vue.createVNode(_component_el_icon, {
size: "16",
style: { "margin-right": "3px", "display": "inline", "vertical-align": "middle" }
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_ele_Bell)
]),
_: 1
/* STABLE */
}),
vue.createElementVNode(
"span",
null,
vue.toDisplayString(_ctx.$t("message.list.messageDetail")),
1
/* TEXT */
)
])
]),
footer: vue.withCtx(() => [
vue.createElementVNode("span", _hoisted_13, [
vue.createVNode(_component_el_button, {
type: "primary",
onClick: _cache[0] || (_cache[0] = ($event) => state.dialogVisible = false)
}, {
default: vue.withCtx(() => [
vue.createTextVNode(
vue.toDisplayString(_ctx.$t("message.list.confirm")),
1
/* TEXT */
)
]),
_: 1
/* STABLE */
})
])
]),
default: vue.withCtx(() => [
vue.createElementVNode("div", _hoisted_11, [
vue.createElementVNode("div", {
innerHTML: state.content,
"data-slate-editor": ""
}, null, 8, _hoisted_12)
])
]),
_: 1
/* STABLE */
}, 8, ["modelValue"])
]);
};
}
});
exports.default = _sfc_main;