提交 e6127dfe 编写于 作者: fzh's avatar fzh

feat: 新增支持客服外协管理系统入口

上级 ffc0681b
<?xml version="1.0" encoding="UTF-8"?>
<svg width="107px" height="111px" viewBox="0 0 107 111" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>客服类外协管理icon</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.25">
<g id="首页" transform="translate(-1154, -141)" fill="#FFFFFF" fill-rule="nonzero">
<g id="客服类外协管理" transform="translate(1014, 76)">
<g id="客服类外协管理icon" transform="translate(140, 65)">
<path d="M54.003853,87.5711202 C54.5438003,87.5711202 55.0931769,87.5377317 55.6462636,87.4717314 C60.9503612,86.8322269 65.4543535,83.1076334 67.1167049,77.9749807 C67.2422237,77.5910917 67.0610562,77.1797154 66.6951657,77.0110651 C66.3334489,76.8417936 65.8956788,76.9880814 65.6910151,77.3325256 C65.6716926,77.3652928 63.5643059,80.7848872 55.3601363,81.8980411 C54.1319996,82.0635855 52.9369429,82.1503954 51.804182,82.1503954 C46.0562859,82.1466683 43.4948981,79.9702099 43.471402,79.9501768 C43.1821831,79.6917661 42.7407032,79.6850883 42.444219,79.9368215 C42.1447978,80.1885545 42.0758553,80.6260204 42.2800552,80.9608363 C44.782239,85.0360858 49.2723191,87.5711202 54.003853,87.5711202 L54.003853,87.5711202 Z M98.1170704,36.4905809 C98.0447271,36.4905809 97.978876,36.5039362 97.9100881,36.5039362 C93.1029646,15.5962695 74.7351715,0 52.7129568,0 C30.0850984,0 11.2957662,16.4575352 7.13123112,38.2305052 C3.08201259,38.9625655 0,42.5380759 0,46.8621079 L0,64.1683299 C0,69.0188117 3.8717609,72.9521217 8.6522965,72.9521217 C11.3489415,72.9521217 13.7291616,71.672802 15.3125229,69.7080106 C19.1383735,79.8737719 26.9270326,88.0703934 36.7839696,92.3950465 C36.8074658,92.3434887 36.9940436,91.9788562 37.2186481,91.6882993 C37.3738462,91.4868818 37.5477485,91.3219586 37.696918,91.3219586 C37.8514979,91.3219586 37.9934021,91.3783307 38.1147473,91.464364 C35.8334582,89.7579833 27.593117,80.9869258 25.8081838,68.7470456 C25.0250824,63.3597092 29.0416846,58.0711405 33.7195792,57.1963641 C41.2293762,55.7915662 48.6999099,54.191252 56.209707,52.8130095 C60.9835957,51.9382331 64.2460029,49.3073818 66.2410101,44.9269777 C66.7084594,43.9029629 67.3835095,41.832571 67.6932875,38.8467154 C67.7753694,38.4027272 68.1377045,38.0618549 68.6020623,38.0618549 C68.9118403,38.0618549 69.1750897,38.2207216 69.3496103,38.449471 L69.5567473,38.3202656 C72.5166417,42.6374646 78.3865014,52.1966439 79.2294252,62.2762165 C80.197404,73.8001871 79.6574567,81.6930518 70.8773227,89.7677668 C70.8669659,89.7780163 70.8536721,89.7907504 70.8409965,89.8011553 C70.719033,89.9333113 70.6465351,90.1055333 70.6465351,90.2948379 C70.6465351,90.5429992 70.7782371,90.7552873 70.9689887,90.8844927 C71.0414866,90.9143094 71.1139846,90.9542201 71.1864824,90.9840368 C71.2455319,90.9973921 71.3017989,91.016804 71.3610031,91.016804 C71.4206708,91.016804 71.473228,90.9973921 71.5257851,90.9840368 C71.6508402,90.9178811 71.7690938,90.841476 71.8910572,90.7753203 C80.7704315,85.8610124 87.582146,77.6541413 90.729855,67.7831298 C92.0040565,69.6848715 93.9990637,71.0534857 96.3165244,71.5308623 C92.5993435,88.5150027 77.5211637,99.1449405 58.8405011,100.758455 C57.721034,97.9685815 54.9651849,95.9873288 51.728747,95.9873288 C47.5019164,95.9873288 44.0745724,99.3505511 44.0745724,103.495528 C44.0745724,107.64066 47.501298,111 51.728747,111 C55.1367685,111 57.9909304,108.800403 58.981787,105.778208 C80.6054949,104.012349 97.9396127,91.0998868 101.558326,71.0370245 C104.755037,69.6946551 107,66.5438763 107,62.8658712 L107,45.3546601 C107,40.4603851 103.022661,36.4905809 98.1170704,36.4905809 L98.1170704,36.4905809 Z M90.1399785,41.5207389 C84.5002883,26.1726306 69.8858479,15.2084982 52.6936343,15.2084982 C35.5733004,15.2084982 21.0114172,26.0797642 15.3191698,41.3284838 C15.0359796,40.9803125 14.7037875,40.6824568 14.3777786,40.3808742 C17.6003043,21.7989042 33.5190891,7.67063766 52.7129568,7.67063766 C71.8150041,7.67063766 87.6841689,21.6599153 91.0124271,40.1128351 C90.6834812,40.5568233 90.3803501,41.0202233 90.1399785,41.5207389 L90.1399785,41.5207389 Z" id="形状"></path>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
......@@ -3,11 +3,11 @@ var _ = (s, n, e) => n in s ? q(s, n, { enumerable: !0, configurable: !0, writab
var w = (s, n, e) => (_(s, typeof n != "symbol" ? n + "" : n, e), e);
import { ListPortletController as y, AppMenuPortletController as A } from "@ibiz-template/controller";
import { ListPortletModel as F, AppMenuPortletModel as $ } from "@ibiz-template/model";
import { useNamespace as D, useListController as T } from "@ibiz-template/vue-util";
import { defineComponent as k, ref as f, getCurrentInstance as L, onMounted as C, h as t, watch as R, onUnmounted as N } from "vue";
import { useNamespace as k, useListController as T } from "@ibiz-template/vue-util";
import { defineComponent as D, ref as v, getCurrentInstance as L, onMounted as C, h as t, watch as R, onUnmounted as N } from "vue";
import { PluginStaticResource as U, AppFuncCommand as j } from "@ibiz-template/runtime";
import { CounterService as B } from "@ibiz-template/service";
const d = new U(import.meta.url), G = k({
const d = new U(import.meta.url), G = D({
name: "AppPortalListPortlet",
props: {
modelData: {
......@@ -20,15 +20,15 @@ const d = new U(import.meta.url), G = k({
}
},
setup(s) {
const n = D("app-portal-list-portlet"), e = f([]), p = Array.from({
length: 3
const n = k("app-portal-list-portlet"), e = v([]), p = Array.from({
length: 4
}).map((c, i) => d.dir(`/assets/img/app-portal-list-${i}.svg`)), l = L();
if (l && s.modelData.list) {
const c = T(l.proxy, s.modelData.list, s.controller.context);
C(() => {
c.nerve.self.evt.on("mounted", async () => {
const i = await c.load();
e.value = i.slice(0, 3);
const i = await c.load(), g = i.find((f) => f.codename === "KFLPMSWebApp");
e.value = i.slice(0, 3), e.value.push(g);
});
});
}
......@@ -79,7 +79,7 @@ class J {
return await l.init(), l;
}
}
const M = k({
const M = D({
name: "FuncDrawer",
props: {
isShowDrawer: {
......@@ -94,8 +94,8 @@ const M = k({
setup(s, {
emit: n
}) {
var S;
const e = D("func-drawer"), p = d.dir("/assets/img/placeholder.svg"), l = "未分类", h = f([]), c = f([]), i = f(!1), m = (S = L()) == null ? void 0 : S.proxy, b = () => {
var I;
const e = k("func-drawer"), p = d.dir("/assets/img/placeholder.svg"), l = "未分类", m = v([]), c = v([]), i = v(!1), g = (I = L()) == null ? void 0 : I.proxy, f = () => {
ibiz.net.post("/appfuncs/fetchpersonfuncsetting", {
page: 0,
size: 1e3,
......@@ -111,7 +111,7 @@ const M = k({
r[u] ? r[u].push(o) : r[u] = [o];
}
return o.ispersonal;
}), h.value = Object.keys(r).map((o) => ({
}), m.value = Object.keys(r).map((o) => ({
name: o,
items: r[o]
}));
......@@ -125,20 +125,20 @@ const M = k({
list: c.value
})
}).then((a) => {
a.ok && (m == null || m.$Notice.success({
a.ok && (g == null || g.$Notice.success({
title: "成功",
desc: "保存成功"
}), b());
}), f());
})), i.value = !i.value;
};
R(() => s.isShowDrawer, (a) => {
a && b();
a && f();
});
const g = (a) => {
const h = (a) => {
a && ibiz.net.get(`/appfuncs/${a}/getfuncurl`).then((r) => {
r.ok && r.data && r.data.url && window.open(r.data.url);
});
}, v = (a, r) => {
}, b = (a, r) => {
var o;
i.value && ((o = a.dataTransfer) == null || o.setData("originIndex", r.toString()));
}, E = (a) => {
......@@ -151,7 +151,7 @@ const M = k({
c.value.splice(o, 1, P), c.value.splice(r, 1, u);
}
}
}, I = (a, r, o, u) => {
}, S = (a, r, o, u) => {
if (a.stopPropagation(), r.ispersonal = +!r.ispersonal, u === "remove")
c.value.splice(o, 1);
else if (u === "change") {
......@@ -185,8 +185,8 @@ const M = k({
class: [e.b("group-item"), a.pssysappfuncid ? "" : e.bm("group-item", "disabled")],
key: a.pssysappfuncid,
on: {
click: () => g(a.pssysappfuncid),
dragstart: (o) => v(o, r),
click: () => h(a.pssysappfuncid),
dragstart: (o) => b(o, r),
dragover: E,
drop: (o) => z(o, r)
},
......@@ -196,7 +196,7 @@ const M = k({
}, [t("div", {
class: [e.be("group-item", "checkbox"), e.bem("group-item", "checkbox", "remove"), i.value ? e.bem("group-item", "checkbox", "show") : ""],
on: {
click: (o) => I(o, a, r, "remove")
click: (o) => S(o, a, r, "remove")
}
}, [t("i-icon", {
attrs: {
......@@ -217,7 +217,7 @@ const M = k({
}
}, [t("div", {
class: e.be("group-item", "text")
}, [a.pssysappfuncname])])]))])]), h.value.map((a, r) => t("div", {
}, [a.pssysappfuncname])])]))])]), m.value.map((a, r) => t("div", {
class: e.b("group"),
key: r
}, [t("header", {
......@@ -228,12 +228,12 @@ const M = k({
class: [e.b("group-item"), o.pssysappfuncid ? "" : e.bm("group-item", "disabled")],
key: o.pssysappfuncid,
on: {
click: () => g(o.pssysappfuncid)
click: () => h(o.pssysappfuncid)
}
}, [t("div", {
class: [e.be("group-item", "checkbox"), o.ispersonal ? e.bem("group-item", "checkbox", "selected") : "", i.value ? e.bem("group-item", "checkbox", "show") : ""],
on: {
click: (u) => I(u, o, r, "change")
click: (u) => S(u, o, r, "change")
}
}, [o.ispersonal ? t("i-icon", {
attrs: {
......@@ -256,7 +256,7 @@ const M = k({
class: e.be("group-item", "text")
}, [o.pssysappfuncname])])]))])]))])]);
}
}), H = k({
}), K = D({
name: "FuncPortalListPortlet",
components: {
FuncDrawer: M
......@@ -272,33 +272,33 @@ const M = k({
}
},
setup(s) {
const n = D("func-portal-list-portlet"), e = d.dir("/assets/img/quick-entry.svg"), p = d.dir("/assets/img/editor.svg"), l = d.dir("/assets/img/placeholder.svg"), h = f([]), c = L();
const n = k("func-portal-list-portlet"), e = d.dir("/assets/img/quick-entry.svg"), p = d.dir("/assets/img/editor.svg"), l = d.dir("/assets/img/placeholder.svg"), m = v([]), c = L();
let i = null;
c && s.modelData.list && (i = T(c.proxy, s.modelData.list, s.controller.context), C(() => {
i == null || i.nerve.self.evt.on("mounted", async () => {
if (i) {
const g = await i.load();
h.value = g;
const h = await i.load();
m.value = h;
}
});
}));
const m = (g) => {
g && ibiz.net.get(`/appfuncs/${g}/getfuncurl`).then((v) => {
v.ok && v.data && v.data.url && window.open(v.data.url);
const g = (h) => {
h && ibiz.net.get(`/appfuncs/${h}/getfuncurl`).then((b) => {
b.ok && b.data && b.data.url && window.open(b.data.url);
});
}, b = f(!1);
}, f = v(!1);
return {
ns: n,
quickEntryImg: e,
editorImg: p,
placeholderImg: l,
funcPortalList: h,
openPage: m,
isShowDrawer: b,
funcPortalList: m,
openPage: g,
isShowDrawer: f,
isShowDrawerChange: async () => {
if (b.value = !1, i) {
const g = await i.load();
h.value = g;
if (f.value = !1, i) {
const h = await i.load();
m.value = h;
}
}
};
......@@ -366,9 +366,9 @@ const M = k({
})]);
}
});
class K {
class W {
constructor() {
w(this, "component", H);
w(this, "component", K);
}
async createController(n, e, p) {
const l = new y(
......@@ -379,7 +379,7 @@ class K {
return await l.init(), l;
}
}
const Q = k({
const H = D({
name: "TodoAppMenuPortlet",
props: {
modelData: {
......@@ -392,16 +392,16 @@ const Q = k({
}
},
setup(s) {
const n = D("todo-app-menu-portlet"), e = Array.from({
const n = k("todo-app-menu-portlet"), e = Array.from({
length: 5
}).map((c, i) => d.dir(`/assets/img/todo-app-menu-${i}.svg`));
let p = null;
const l = f({});
const l = v({});
if (s.modelData.appMenu) {
const i = s.modelData.appMenu.source.getPSAppCounterRef();
i && (C(async () => {
p = await B.getCounterByRef(i), p.onChange((m) => {
l.value = m;
p = await B.getCounterByRef(i), p.onChange((g) => {
l.value = g;
});
}), N(() => {
p == null || p.destroy();
......@@ -452,9 +452,9 @@ const Q = k({
}, [n.label])])])]))]);
}
});
class V {
class Q {
constructor() {
w(this, "component", Q);
w(this, "component", H);
}
async createController(n, e, p) {
const l = new A(
......@@ -473,10 +473,10 @@ const ot = {
new J()
), ibiz.register.portletPart.register(
"PORTLET_CUSTOM_FuncPortalList",
new K()
new W()
), ibiz.register.portletPart.register(
"PORTLET_CUSTOM_TodoAppMenu",
new V()
new Q()
);
}
};
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册