zsk 1 year ago
parent de42cc3ba1
commit 99ee2b19c6

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="icon" href="./favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="referrer" content="no-referrer">
<link rel="stylesheet" href="https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudanWeb/iconfont/iconfont.css">
<link rel=icon href="./static/ico/favicon-370eaef1.ico">
<title>伯才</title>
<script type="module" crossorigin src="./static/js/daotianAdmin-20240327_164749.js"></script>
<link rel="stylesheet" href="./static/css/index-a35ee460.css">
</head>
<body>
<div id="app"></div>
</body>
</html>

@ -0,0 +1 @@
.warning404[data-v-1c73e3b0]{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;position:fixed;left:0;top:0;z-index:99999}img[data-v-1c73e3b0]{width:734px;height:428px}

@ -0,0 +1 @@
.ant-table-cell:empty:before{content:"-"}.p-manage-myJob{position:relative;min-height:calc(100vh - 213px);width:100%;height:100px}.p-manage-myJob .btn-active{width:40px;height:24px;margin-left:6.5px;font-size:12px;color:#f6343e;background-color:#fff3f3;padding:1px 3px;zoom:.6;margin-top:8px;text-align:center}.ant-spin-blur .ant-empty{opacity:0}

@ -0,0 +1 @@
.p-index{height:calc(100% + -0px);overflow-y:auto}.p-index .m-worp{width:calc(100% - 34px);margin:0 auto}.p-index .m-worp .m-router{overflow-y:auto}.p-index .m-worp .g_pb_0{padding-bottom:0!important}.p-index .m-worp .m-footer{width:100%;height:72px}

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
.timebox[data-v-0f368491]{display:inline-block;width:72px;text-align:center}.login-container[data-v-eae380da]{height:100%;background:url(https://matripe-cms.oss-cn-beijing.aliyuncs.com/ibocai/loginBg.svg) no-repeat center}.login-container .centerbox[data-v-eae380da]{position:absolute;width:640px;height:400px;left:50%;top:50%;transform:translate(-50%) translateY(-50%);border-radius:16px;box-shadow:0 0 30px 6px #eee}.login-container .centerbox .title[data-v-eae380da]{position:absolute;width:100%;top:-64px;left:50%;transform:translate(-50%);text-align:center}.login-container .centerbox .contentleft[data-v-eae380da]{width:320px;height:100%;border-radius:16px 0 0 16px;float:left;background:url(../png/loginBg-c4b31bd4.png) no-repeat}.login-container .centerbox .contentright[data-v-eae380da]{width:320px;height:100%;float:left;box-sizing:border-box;background-color:#fff;border-radius:0 16px 16px 0}.login-container .centerbox .contentright .contentbox[data-v-eae380da]{width:290px;margin:0 auto}.login-container .centerbox .contentright .contentbox .loginchange[data-v-eae380da]{width:100%;font-weight:700}.login-container .centerbox .contentright .contentbox .loginchange .loginactive[data-v-eae380da]{color:#333;border-bottom:1px solid #333}.login-container .centerbox .contentright .contentbox .loginchange>li[data-v-eae380da]{color:#ccc;line-height:22px;cursor:pointer}.login-container .centerbox .contentright .contentbox .getrulecode[data-v-eae380da]{width:67px;text-align:center;border-left:1px #cccccc solid;line-height:12px}.login-container .footer[data-v-eae380da]{position:absolute;bottom:0}

@ -0,0 +1 @@
.p-layout-footer{width:100%}.p-layout-footer .item:nth-child(2) .img{height:auto}.p-layout-footer .item:last-child{cursor:pointer}

@ -0,0 +1 @@
.w[data-v-0a124843]{left:50%;max-width:1320px;min-width:1320px;position:relative;transform:translate(-50%)}.main-container[data-v-0a124843]{position:relative;width:100vw;height:100vh;background:url(https://matripe-cms.oss-cn-beijing.aliyuncs.com/ibocai/bocaiBg.svg) no-repeat;background-size:cover;background-origin:center}.main-container .download-btn[data-v-0a124843]{width:95px;height:40px;border:1px solid #999;background-color:transparent;color:#999;border-radius:8px;cursor:not-allowed}.main-container .center-box[data-v-0a124843]{text-align:center}.main-container .center-box .login-btn[data-v-0a124843]{margin-top:5vh}.main-container .bottom-box[data-v-0a124843]{height:200px;padding:0 40px;border-radius:20px;background-color:#34252599}

@ -0,0 +1 @@
[data-v-d683565e] .ant-upload-list-text{display:none!important}

@ -0,0 +1,231 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>yuque编辑器</title>
<link rel="stylesheet" type="text/css" href="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/umd_doc.css" />
<link rel="stylesheet" type="text/css" href="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/yuQueAntd.css" />
<link rel="stylesheet" href="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/lake-content-v1.css" />
<script src="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/react.production.min.js"></script>
<script src="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/react-dom.production.min.js"></script>
<script src="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/umd_doc.umd.js"></script>
<script src="http://matripe.oss-cn-beijing.aliyuncs.com/js/jquery.min.js"></script>
<style>
.placeholder::before {
content: attr(data-placeholder);
display: block;
color: rgba(0, 0, 0, 0.2);
position: absolute;
left: 12px;
top: 72px;
z-index: 999;
font-size: 14px;
-webkit-text-stroke-width: 0.1px;
font-weight: 400;
line-height: 1.5714285714285714;
list-style: none;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.ne-layout-mode-fixed .ne-engine,
.ne-layout-mode-adapt .ne-engine {
min-height: auto;
}
.ne-doc-major-editor .ne-layout-mode-adapt .ne-ui {
padding: 0;
}
.ne-layout-mode-fixed .ne-engine,
.ne-layout-mode-adapt .ne-engine {
min-height: 440px;
}
.ne-ui.lakex-default-theme {
background-color: #fff;
position: sticky;
}
.ne-td {
vertical-align: middle;
}
.ne-layout-mode-fixed .ne-engine,
.ne-layout-mode-adapt .ne-engine {
padding: 20px 12px 90px 12px;
}
.ne-doc-major-editor .ne-layout-mode-adapt .ne-ui {
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
</style>
</head>
<body>
<div id="root" class="ne-doc-major-editor placeholder" data-placeholder=""></div>
<script>
let wStr = window.location.href.indexOf("?");
$("#root").on("click", function () {
$("#root").removeAttr("data-placeholder");
});
$("#root").on("mouseleave", function () {
setTimeout(() => {
if ($("ne-p ne-text").html()) {
$("#root").attr("data-placeholder", " ");
} else {
if (wStr > -1) {
$("#root").attr("data-placeholder", " ");
} else {
$("#root").attr("data-placeholder", "请输入内容");
}
}
}, 100);
});
function uuid() {
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] = "-";
var uuid = s.join("");
return uuid;
}
var img = "";
window.onload = function () {
const { createOpenEditor, toolbarItems } = window.Doc;
let configJS = {
upload: [toolbarItems.cardSelect, "|"],
default: [toolbarItems.undo, toolbarItems.redo, toolbarItems.formatPainter, toolbarItems.clearFormat, "|", toolbarItems.style, toolbarItems.fontsize, toolbarItems.bold, toolbarItems.italic, toolbarItems.strikethrough, toolbarItems.underline, toolbarItems.mixedTextStyle, "|", toolbarItems.color, toolbarItems.bgColor, "|", toolbarItems.alignment, toolbarItems.unorderedList, toolbarItems.orderedList, toolbarItems.indent, toolbarItems.lineHeight, "|", toolbarItems.taskList, toolbarItems.link, toolbarItems.quote, toolbarItems.hr],
},
itemsArray = [];
if (wStr > -1) {
// 新增职位
itemsArray = configJS.default;
$("root").attr("data-");
} else {
// 内容管理
itemsArray = configJS.upload.concat(configJS.default);
}
// 创建编辑器
const editor = createOpenEditor(document.getElementById("root"), {
input: {},
image: {
isCaptureImageURL() {
return false;
},
createUploadPromise: (request) => {
const { type, data } = request;
if (type === "url") {
// data 是一个url表示需要转存
} else if (type === "file") {
// data是一个File
var dataObj = {};
$.ajax({
method: "get", // 请求使用的 http 方法,包含 get/post如果省略默认是 get
url: "http://a.matripe.com.cn/oss/policy", // 请求使用的 url 地址
headers: {
Authorization: "Bearer " + "eyJUeXBlIjoiSnd0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJ0b2tlbiI6IntcImNyZWF0ZWRcIjoxNzAwMTA0Nzg2NzAzLFwidGVsXCI6XCIxMzI1MzMzOTM5NFwiLFwidXNlcklkXCI6MTAwNzMxLFwidXNlck5hbWVcIjpcIuWImOiBqlwifSJ9.5s0pWGnyg0d2TH03SSWzsYpOEafP5Pjogt1ml5q7C6s",
},
})
.done(function (response) {
let str = data.name.replace(/\s/g, "");
dataObj.policy = response.data.data.policy;
dataObj.signature = response.data.data.signature;
dataObj.ossaccessKeyId = response.data.data.accessid;
dataObj.key = response.data.data.dir + uuid() + str;
dataObj.dir = response.data.data.dir;
dataObj.host = response.data.data.host;
var formData = new FormData();
//注意formData里append添加的键的大小写
formData.append("key", dataObj.key); //存储在oss的文件路径
formData.append("OSSAccessKeyId", dataObj.ossaccessKeyId); //accessKeyId
formData.append("policy", dataObj.policy); //policy
formData.append("Signature", dataObj.signature); //签名
formData.append("success_action_status", "200"); // 上传成功返回的状态码不设置则是204
formData.append("file", data); // 一定在最后
$.ajax({
type: "post",
url: "http://matripe-cms.oss-cn-beijing.aliyuncs.com",
data: formData,
contentType: false, // 不设置Content-Type请求头
processData: false,
success: function (data1) {
img = dataObj.host + "/" + dataObj.key;
},
});
})
.fail(function (err) {})
.always(function () {});
}
return Promise.resolve({
url: img,
size: 10000, // 文件大小
filename: "",
});
},
},
toolbar: {
agentConfig: {
default: {
items: itemsArray,
},
// table选区工具栏
table: {
items: [toolbarItems.cardSelect, "|", toolbarItems.undo, toolbarItems.redo, toolbarItems.formatPainter, toolbarItems.clearFormat, "|", toolbarItems.style, toolbarItems.fontsize, toolbarItems.bold, toolbarItems.italic, toolbarItems.strikethrough, toolbarItems.underline, toolbarItems.mixedTextStyle, "|", toolbarItems.color, toolbarItems.bgColor, toolbarItems.tableCellBgColor, toolbarItems.tableBorderVisible, "|", toolbarItems.alignment, toolbarItems.tableVerticalAlign, toolbarItems.tableMergeCell, "|", toolbarItems.unorderedList, toolbarItems.orderedList, toolbarItems.indent, toolbarItems.lineHeight, "|", toolbarItems.taskList, toolbarItems.link, toolbarItems.quote, toolbarItems.hr],
},
},
},
});
var desp = "";
console.log();
// editor.setDocument("text/lake", "");
window.addEventListener(
"message",
function (event) {
// debugger
// editor.setDocument("text/lake", ' ');
console.log("event", event);
var data = event.data;
// 然后就可以获得vue传过来的数据
console.log("从vue中获得的数据", data);
editor.setDocument("text/lake", data);
// var data = event.data.replace(/\n/g, "<br />");
// desp = data.replace(/[*]+/g, '');
},
"*"
);
editor.setDocument("text/lake", desp || "");
// 监听内容变动
let timer = null;
editor.on("contentchange", (e) => {
var editorObj = { lake: editor.getDocument("text/lake"), html: editor.getDocument("text/html"),remake: editor.getDocument("text/plain") };
// if (!timer) {
// clearTimeout(colorMark.value);
// timer = null;
clearTimeout(timer)
timer = setTimeout(() => {
// console.log(e);
window.parent.postMessage(editorObj, "*");
}, 500);
// }
// window.parent.postMessage(editorObj, "*");
// console.log(editor.getDocument("text/lake"));
// window.parent.postMessage(editor.getDocument("text/lake"), "*");
});
editor.on("focusstatuschange", ({ focused }) => {
console.info("文档焦点状态", focused);
});
};
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
import{_ as e,o as a,d as s,e as l,f as t,t as n,g as i,u as o,a as r,b as _,E as d,r as c,c as u,h as m,w as g,y as p,s as f,q as v,j as h,p as x,k as b}from"./daotianAdmin-20240327_164749.js";import{_ as y}from"./daotianAdmin-20240327_16474912.js";import{l as w,i as k,a as I}from"./daotianAdmin-20240327_16474916.js";const A={class:""},j={class:"timebox"},q=e({__name:"timmer",props:{timedata:{type:Object,default:()=>({isfinish:!0,deadline:60,timer:null})}},setup(e){const i=e;a((()=>{o()}));const o=()=>{i.timedata.timer=setInterval((()=>{i.timedata.deadline--,i.timedata.deadline<=0&&(i.timedata.deadline=60,i.timedata.isfinish=!0,clearInterval(i.timedata.timer))}),1e3)};return(a,i)=>(s(),l("div",A,[t("span",j,n(e.timedata.deadline)+"秒",1)]))}},[["__scopeId","data-v-0f368491"]]),z=e=>(x("data-v-eae380da"),e=e(),b(),e),F={class:"login-container"},M={class:"centerbox"},O=z((()=>t("div",{class:"contentleft"},null,-1))),U={class:"contentright"},C={class:"contentbox"},D=z((()=>t("div",{class:"g_text_c g_mt_40"},[t("img",{src:"https://matripe-cms.oss-cn-beijing.aliyuncs.com/ibocai/maitianLogo.png",style:{width:"48px","text-align":"center"},alt:""})],-1))),L=z((()=>t("ul",{class:"loginchange centerall g_flex_row_center g_mt_30 g_mb_24"},null,-1))),N={key:0},S=z((()=>t("i",{class:"iconfont icon-yonghuming g_lh_1 g_fsi_22"},null,-1))),T=z((()=>t("i",{class:"iconfont icon-mima g_lh_1 g_fsi_24"},null,-1))),P={key:1,class:"g_mb_51"},E=z((()=>t("i",{class:"iconfont icon-yonghuming g_lh_1 g_fsi_22"},null,-1))),G=z((()=>t("i",{class:"iconfont icon-duanxinyanzheng g_fsi_24"},null,-1))),R={class:"getrulecode"},V={class:"g_text_c g_mt_8"},Y=e({__name:"login",setup(e){i().appContext.app.config.globalProperties.G;const n=o();r(),_(),d((()=>{})),a((()=>{}));const x=c({isfinish:!0,deadline:60,timer:null}),b=c(1),A=c({username:"bocai",password:"123456",code:""}),j=c(),z=e=>{},Y=e=>{w({password:A.value.password,username:A.value.username}).then((e=>{localStorage.setItem("DAOTIAN_token",e.data.token)})).then((()=>{k().then((e=>{localStorage.setItem("DAOTIAN_userinfo_name",e.data.name||e.data.name),localStorage.setItem("DAOTIAN_userinfo_avatar",e.data.avatar),n.push("/merchantManagement/homePage"),p.success("登录成功")}))}))},B=e=>{},H=()=>{""!=A.value.tel&&(x.value.isfinish=!1,I({tel:A.value.tel}).then((e=>{p.success("验证码发送成功")})))};return(e,a)=>{const n=u("a-input"),i=u("a-form-item"),o=u("a-button"),r=u("a-form");return s(),l("div",F,[t("div",M,[O,t("div",U,[t("div",C,[D,L,m(r,{model:A.value,onFinish:Y,onValidate:z,hideRequiredMark:"",colon:!1,onFinishFailed:B,"label-col":{span:2},"wrapper-col":{span:20},autocomplete:"off",ref_key:"loginInfoForm",ref:j,style:""},{default:g((()=>[1==b.value?(s(),l("div",N,[m(i,{class:"",label:" ",name:"username",rules:[{required:!0,message:"请输入手机号"}]},{default:g((()=>[m(n,{value:A.value.username,"onUpdate:value":a[0]||(a[0]=e=>A.value.username=e),size:"large",class:"g_fs_14 g_h_36",maxLength:11,placeholder:"请输入手机号"},{prefix:g((()=>[S])),_:1},8,["value"])])),_:1}),m(i,{class:"",label:" ",name:"password",rules:[{required:!0,message:"请输入密码"}]},{default:g((()=>[m(n,{value:A.value.password,"onUpdate:value":a[1]||(a[1]=e=>A.value.password=e),type:"password",size:"large",class:"g_fs_14 g_h_36",placeholder:"请输入密码"},{prefix:g((()=>[T])),_:1},8,["value"])])),_:1}),t("div",{onClick:a[2]||(a[2]=(...a)=>e.showModal&&e.showModal(...a)),class:"g_fs_12 g_text_r g_pr_24 g_cursor_point",style:{transform:"translateY(-16px)"}}," ")])):(s(),l("div",P,[m(i,{class:"",label:" ",name:"tel",rules:[{required:!0,message:"请输入手机号"}]},{default:g((()=>[m(n,{value:A.value.tel,"onUpdate:value":a[3]||(a[3]=e=>A.value.tel=e),size:"large",class:"g_fs_14 g_h_36",maxLength:11,placeholder:"请输入手机号"},{prefix:g((()=>[E])),_:1},8,["value"])])),_:1}),m(i,{name:"code",label:" ",rules:[{required:!0,message:"请输入验证码"}]},{default:g((()=>[m(n,{type:"text",value:A.value.code,"onUpdate:value":a[4]||(a[4]=e=>A.value.code=e),size:"large",class:"g_fs_14 g_h_36",placeholder:"请输入验证码"},{prefix:g((()=>[G])),suffix:g((()=>[t("div",R,[x.value.isfinish?(s(),l("span",{key:0,onClick:H,class:"g_fs_12 g_pl_6 g_cursor_point"},"获取验证码")):f("",!0),x.value.isfinish?f("",!0):(s(),v(q,{key:1,timedata:x.value},null,8,["timedata"]))])])),_:1},8,["value"])])),_:1})])),t("div",V,[m(o,{type:"primary","html-type":"submit",class:"login-form-button g_h_36 g_br_20 g_w_240"},{default:g((()=>[h("登录")])),_:1})])])),_:1},8,["model"])])])]),m(y,{class:"footer"})])}}},[["__scopeId","data-v-eae380da"]]);export{Y as default};

@ -0,0 +1 @@
import{_ as a,d as t,e,p as n,k as s,f as d}from"./daotianAdmin-20240327_164749.js";const o=""+new URL("../png/404-29c971d7.png",import.meta.url).href,r={name:"",components:{},props:{},data:()=>({}),computed:{},watch:{},created(){},mounted(){},methods:{}},c={class:"warning404"},m=[(a=>(n("data-v-1c73e3b0"),a=a(),s(),a))((()=>d("img",{src:o,alt:""},null,-1)))];const p=a(r,[["render",function(a,n,s,d,o,r){return t(),e("div",c,m)}],["__scopeId","data-v-1c73e3b0"]]);export{p as default};

@ -0,0 +1 @@
import{d as e,e as o,f as t,v as s}from"./daotianAdmin-20240327_164749.js";const l={class:"p-layout-footer g_flex_row_center g_h_72"},r={__name:"m-footer",props:{color:{type:String,default:"#4d575e"}},setup(r){const n=()=>{window.open("https://beian.miit.gov.cn/#/Integrated/index","_blank")};return(_,c)=>(e(),o("div",l,[t("div",{style:s({color:r.color}),class:"item g_flex_column_center g_fs_12"},"Copyright © 2015-2023 Bocai. All Rights Reserved.",4),t("div",{style:s({color:r.color}),class:"item g_flex_column_center g_fs_12",onClick:n},"豫ICP备2023001993号",4)]))}};export{r as _};

@ -0,0 +1 @@
import{z as t}from"./daotianAdmin-20240327_164749.js";function e(e){return t({url:`/admin/user/${e.page}/${e.limit}?keyword=${e.keyword}`,method:"get"})}function r(e){return t({url:`/admin/user/stock/${e.page}/${e.limit}?keyword=${e.keyword}`,method:"get"})}function u(e){return t({url:`/admin/user/updateStatus/${e.id}/${e.status}`,method:"get"})}function a(e){return t({url:"/admin/user/save",method:"post",data:e})}function n(e){return t({url:"/admin/user/stock/save",method:"post",data:e})}function d(e){return t({url:"/admin/user/update",method:"put",data:e})}function o(e){return t({url:"/admin/user/stock/update",method:"put",data:e})}function s(e){return t({url:`/admin/user/remove/${e}`,method:"DELETE"})}function i(e){return t({url:`/admin/user/stock/record/${e.userId}/${e.page}/${e.limit}`,method:"get"})}export{a,u as b,r as c,s as d,o as e,n as f,e as g,i as h,d as u};

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
import{z as t}from"./daotianAdmin-20240327_164749.js";function a(a){return t({url:"/admin/cms/save",method:"POST",data:a})}function n(a){return t({url:"/admin/cms/update",method:"PUT",data:a})}function r(a){return t({url:`/admin/cms/${a.page}/${a.limit}`,method:"get",params:{status:a.status,keyword:a.keyword}})}function e(a){return t({url:`/admin/cms/get/${a}`,method:"get"})}function m(a){return t({url:`/admin/cms/remove/${a}`,method:"DELETE"})}export{e as a,m as d,r as g,a as s,n as u};

@ -0,0 +1 @@
import{G as n,H as t,I as o,J as i,z as a}from"./daotianAdmin-20240327_164749.js";const r=n({formats:i,parse:o,stringify:t});let s=function(n){return r.stringify(n)};function e(n){return a({url:"/yishoudan/commons/sendMsgCode",method:"post",data:s(n)})}function d(n){return a({url:"/admin/index/login",method:"post",data:n})}function u(){return a({url:"/admin/index/info",method:"get"})}function m(n){return a({url:`/admin/user/login/log/${n.page}/${n.limit}`,method:"get"})}export{e as a,m as g,u as i,d as l};

@ -0,0 +1 @@
import{g as e,u as a,a as t,B as l,b as s,r as n,o as i,c as r,d as u,e as m,f as o,h as d,w as c,m as _,j as p}from"./daotianAdmin-20240327_164749.js";import{a as b,u as v,s as f}from"./daotianAdmin-20240327_16474915.js";const h={class:"g_flex_row_center"},g={class:"m-job-detail g_pt_24",style:{width:"880px"}},k={class:"g_flex_row_start g_mt_24 g_ml_110"},w={__name:"add",setup(w){e().appContext.app.config.globalProperties.G;const y=a(),Y=t();l.locale("zh-cn"),s();let T=n({});i((()=>{[{},{},{}].forEach(((e,a)=>{e.rank=a+1,e.title="常用发票主体信息"+a,e.content="默认主体:郑州伯才科技有限公司 单位名称:郑州伯才科技有限公司 纳税人识别号91410100MA9L4HDT0L 地址:河南自贸试验区郑州"+a,e.time="2024-03-11 13:04:24"})),Y.query.id&&b(Y.query.id).then((e=>{T.value=e.data,T.value.publishTimeStr=l(e.data.publishTime)})),setTimeout((()=>{M()}),1e3)}));const q=n();window.addEventListener("message",(e=>{e.data.lake&&(T.value.contentYuque=e.data.lake,T.value.content=e.data.html,T.value.remake=e.data.remake)}));const M=()=>{q.value.contentWindow.postMessage(""),"messageEdit"==Y.name?q.value.contentWindow.postMessage(T.value.content):q.value.contentWindow.postMessage("")},x=()=>{y.back()},H=n(0),S=()=>{let e={title:T.value.title,content:T.value.content,remake:T.value.remake,contentYuque:T.value.contentYuque,publishTimeStr:l(T.value.publishTimeStr).format("YYYY-MM-DD HH:mm")+":00",status:H.value};"messageEdit"==Y.name?(e.recordId=Y.query.id,v(e).then((e=>{y.back()}))):f(e).then((e=>{y.back()}))};return(e,a)=>{const t=r("a-input"),l=r("a-form-item"),s=r("a-date-picker"),n=r("a-button"),i=r("a-form");return u(),m("div",h,[o("div",g,[d(i,{model:_(T),class:"main_container",onFinish:S,labelCol:{span:3},wrapperCol:{span:20}},{default:c((()=>[d(l,{class:"g_mb_12",label:"标题",name:"title",rules:[{required:!0,message:"请输入标题"}]},{default:c((()=>[d(t,{value:_(T).title,"onUpdate:value":a[0]||(a[0]=e=>_(T).title=e),placeholder:"请输入标题"},null,8,["value"])])),_:1}),d(l,{class:"g_mb_12",label:"发布时间",name:"publishTimeStr",rules:[{required:!1,message:"请选择发布时间"}]},{default:c((()=>[d(s,{value:_(T).publishTimeStr,"onUpdate:value":a[1]||(a[1]=e=>_(T).publishTimeStr=e),placeholder:"请选择发布时间",minuteStep:30,format:"YYYY-MM-DD HH:mm",showTime:{format:"HH:mm"},style:{width:"100%"}},null,8,["value"])])),_:1}),d(l,{class:"g_mb_12",label:"内容",rules:[{required:!0,message:"请输入内容"}],name:"content"},{default:c((()=>[o("iframe",{src:"../../../public/static/editor.html",class:"g_border_d",width:"100%",height:"500px",frameborder:"0",ref_key:"iframeDom",ref:q,style:{"border-radius":"6px"}},null,512)])),_:1}),d(l,{class:"g_mb_12"},{default:c((()=>[o("div",k,[d(n,{class:"g_mr_16",onClick:x},{default:c((()=>[p("取消")])),_:1}),d(n,{class:"g_mr_16",onClick:a[2]||(a[2]=e=>H.value=0),"html-type":"submit"},{default:c((()=>[p("存草稿")])),_:1}),d(n,{type:"primary",onClick:a[3]||(a[3]=e=>H.value=1),"html-type":"submit"},{default:c((()=>[p("发布")])),_:1})])])),_:1})])),_:1},8,["model"])])])}}};export{w as default};

@ -0,0 +1 @@
import{_ as i,g as s,u as a,a as t,b as e,o,r as c,c as n,d as l,e as g,f as m,h as _,w as r,F as p,i as u,j as b,t as d,p as f,k as v}from"./daotianAdmin-20240327_164749.js";import{_ as h}from"./daotianAdmin-20240327_16474912.js";const j=""+new URL("../svg/bocaiLogo-33545612.svg",import.meta.url).href,x=i=>(f("data-v-0a124843"),i=i(),v(),i),w={class:"main-container w"},y={class:"g_flex_column_between flex_nr g_h_pull"},L={class:"title g_mt_33 flex_center g_flex_row_between w"},z=x((()=>m("img",{src:j,alt:""},null,-1))),k={class:"center-box w"},A=x((()=>m("div",{class:"g_fs_85 g_c_f",style:{"letter-spacing":"6px"}},"人力资源供应链平台",-1))),P={class:"w"},q={class:"bottom-box g_flex_row_around flex_center"},B={class:"g_text_c g_flex_1"},C=["src"],F={class:"g_c_f g_mt_12"},G=i({__name:"main",props:{isLogin:{type:Boolean,default:!1}},setup(i){s().appContext.app.config.globalProperties.G,a(),t(),e(),o((()=>{}));const f=c([{title:"报名助手",img:"https://matripe-cms.oss-cn-beijing.aliyuncs.com/ibocai/dailibaoming.svg"},{title:"交付助手",img:"https://matripe-cms.oss-cn-beijing.aliyuncs.com/ibocai/jiaofuzhushou.svg"},{title:"管理后台",img:"https://matripe-cms.oss-cn-beijing.aliyuncs.com/ibocai/guanlihoutai.svg"},{title:"招工小程序",img:"https://matripe-cms.oss-cn-beijing.aliyuncs.com/ibocai/zhaogongxiaochengxu.svg"},{title:"发单机器人",img:"https://matripe-cms.oss-cn-beijing.aliyuncs.com/ibocai/jiqiren.svg"},{title:"电子合同",img:"https://matripe-cms.oss-cn-beijing.aliyuncs.com/ibocai/dianzihetong.svg"},{title:"简历集采",img:"https://matripe-cms.oss-cn-beijing.aliyuncs.com/ibocai/jianlijicai.svg"},{title:"职位库",img:"https://matripe-cms.oss-cn-beijing.aliyuncs.com/ibocai/zhiweiku.svg"}]);return(s,a)=>{const t=n("a-button"),e=n("router-link");return l(),g("div",w,[m("div",y,[m("div",L,[z,_(t,{class:"download-btn g_fs_16"},{default:r((()=>[b("应用下载")])),_:1})]),m("div",k,[A,_(e,{to:i.isLogin?"/merchantManagement/homePage":"/login"},{default:r((()=>[_(t,{class:"login-btn g_br_25 g_h_50 g_w_140 g_fs_18",type:"primary"},{default:r((()=>[b(d(i.isLogin?"进入后台":"注册/登录"),1)])),_:1})])),_:1},8,["to"])]),m("div",P,[m("div",q,[(l(!0),g(p,null,u(f.value,(i=>(l(),g("div",B,[m("img",{src:i.img},null,8,C),m("div",F,d(i.title),1)])))),256))]),_(h,{color:"#fff",class:""})])])])}}},[["__scopeId","data-v-0a124843"]]);export{G as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
import{u as a,a as e,g as t,o as l,r as i,c as s,d as o,e as n,f as d,h as r,w as u,s as p}from"./daotianAdmin-20240327_164749.js";import{g}from"./daotianAdmin-20240327_16474916.js";import"./daotianAdmin-20240327_16474914.js";const c={class:"p-manage-myJob"},m=d("div",{class:"m-select g_flex_row_between"},[d("div")],-1),v={class:"m-table g_mt_20 antd-table"},h={key:0,class:"g_pb_16 g_pt_16 g_pageBottom"},_={__name:"record",setup(_){a(),e(),t().appContext.app.config.globalProperties.G,l((()=>{w()}));const z=i({keyword:"",page:1,limit:20,total:0,count:0,loading:!1,records:[]}),w=()=>{z.value.loading=!0,g({limit:z.value.limit,page:z.value.page}).then((a=>{z.value={...a.data,page:a.data.current,limit:a.data.size},z.value.records.forEach(((a,e)=>{a.rank=e+1}))}))},x=i([{title:"序号",key:"rank",dataIndex:"rank",width:"50px",ellipsis:!0},{title:"姓名",key:"username",width:"120px",dataIndex:"username"},{title:"电话",key:"name",width:"180px",dataIndex:"name"},{title:"登录时间",key:"updateTime",dataIndex:"updateTime",ellipsis:!0}]),k=(a,e)=>{z.value.page=a,w()},y=(a,e)=>{z.value.page=1,z.value.size=e,w()};return(a,e)=>{const t=s("a-table"),l=s("a-pagination");return o(),n("div",c,[m,d("div",v,[r(t,{sticky:"",columns:x.value,scroll:{x:1e3},"data-source":z.value.records,size:"middle",pagination:!1,loading:z.value.loading,class:"g_clear_scroll",style:{"max-width":"calc(100% - 0px)"}},{bodyCell:u((({column:a,record:e})=>[])),_:1},8,["columns","data-source","loading"]),z.value.records.length>0?(o(),n("div",h,[r(l,{current:z.value.page,"onUpdate:current":e[0]||(e[0]=a=>z.value.page=a),"page-size":z.value.size,"onUpdate:pageSize":e[1]||(e[1]=a=>z.value.size=a),total:z.value.total,pageSize:z.value.size,"show-total":a=>`${a}`,onChange:k,onShowSizeChange:y,"show-quick-jumper":!(z.value.total<z.value.size),showSizeChanger:!(z.value.total<z.value.size),hideOnSinglePage:!1},null,8,["current","page-size","total","pageSize","show-total","show-quick-jumper","showSizeChanger"])])):p("",!0)])])}}};export{_ as default};

@ -0,0 +1,189 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<title>默认点标记</title>
<link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" />
<style>
html,
body,
#container {
height: 100%;
width: 100%;
}
.amap-icon img,
.amap-marker-content img {
width: 25px;
height: 34px;
}
.marker {
position: absolute;
top: -20px;
right: -118px;
color: #fff;
padding: 4px 10px;
box-shadow: 1px 1px 1px rgba(10, 10, 10, .2);
white-space: nowrap;
font-size: 12px;
font-family: "";
background-color: #25A5F7;
border-radius: 3px;
}
.input-card {
width: 18rem;
z-index: 170;
}
.input-card .btn {
margin-right: .8rem;
}
.input-card .btn:last-child {
margin-right: 0;
}
.masn{
width: 120px;
max-height: 90px;
padding: 10px;
position: absolute;
background: #fff;
line-height: 1.4;
overflow: hidden;
left: -53px;
top: -51px;
z-index: 1;
}
.ma-title{
height: 20px;
line-height: 20px;
overflow: hidden;
font-size: 14px;
font-weight: 700;
width: 220px;
text-overflow: ellipsis;
word-break: break-all;
white-space: nowrap;
}
.ma-desc{
margin-top: 10px;
min-height: 40px;
line-height: 20px;
font-size: 13px;
color: #6f6f6f;
}
.masn-img{
position: absolute;
top: 34px;
}
.amap-info-sharp {
top: 39px;
left: 50%;
margin-left: 5px;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-top: 8px solid #fff;
}
.g_ell_1{
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
word-break: break-all;
}
.g_ell_2{
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
word-break: break-all;
}
</style>
</head>
<body>
<div id="container"></div>
<script src="https://webapi.amap.com/maps?v=2.0&key=b07c4f869f1abf510e59a94bd50699d8&&plugin=AMap.Scale,AMap.HawkEye,AMap.ToolBar,AMap.ControlBar" type="text/javascript" >
</script>
<script type="text/javascript">
var marker, map;
// 实例化点标记
function addMarker($data) {
if (!marker) {
console.log('指定坐标的map信息',$data)
map = new AMap.Map("container", {
resizeEnable: true,
center:[Number($data.lng),Number($data.lat)],
zoom: 12
});
var scale = new AMap.Scale(),
toolBar = new AMap.ToolBar({
position: {
top: '110px',
right: '40px'
}
}),
controlBar = new AMap.ControlBar({
position: {
top: '10px',
right: '10px',
}
}),
overView = new AMap.HawkEye({
opened: false
});
map.addControl(scale);
// 点标记显示内容HTML要素字符串
var markerContent = '' +
'<div class="custom-content-marker">' +
' <div class="masn">' +
' <div class="ma-title g_ell_1" title=' + $data.name + '>' + $data.name + '</div>' +
' <div class="ma-desc g_ell_2" title=' + $data.address + '>' + $data.address + '</div>' +
' </div>' +
' <div>' +
' <img class="masn-img" src="//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png" style="width:28px;height:auto;">' +
' </div>' +
' <div class="amap-info-sharp"></div>'
'</div>';
marker = new AMap.Marker({
icon: "//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-red.png",
position: [Number($data.lng),Number($data.lat)],
zoom: 12,
offset: new AMap.Pixel(-13, -30),
content: markerContent,
});
marker.setMap(map);
}
}
window.addEventListener(
"message",
function (event) {
addMarker(event.data);
},
"*"
);
// 清除 marker
function clearMarker() {
if (marker) {
marker.setMap(null);
marker = null;
}
}
</script>
</body>
</html>

@ -0,0 +1,234 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<title>输入提示后查询</title>
<link rel="stylesheet" href="https://cache.amap.com/lbs/static/main1119.css" />
<style>
#myPageTop{
position: absolute;
top: 66px;
width: 280px;
border: none;
right: 368px;
padding: 0;
}
.g_flex_1 {
flex: 1;
}
.g_flex_none {
flex: none;
}
.g_flex_c {
display: flex;
display: -webkit-flex;
justify-content: center;
align-items: center;
}
.g_flex_rowRight_columnCenter {
display: flex;
display: -webkit-flex;
justify-content: flex-end;
align-items: center;
}
.g_flex_rowRight_columnEnd {
display: flex;
display: -webkit-flex;
justify-content: flex-end;
align-items: flex-end;
}
.g_flex_row_start {
display: flex;
display: -webkit-flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
}
.g_flex_row_start_none {
display: flex;
display: -webkit-flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
}
.g_flex_row_start_c {
display: flex;
display: -webkit-flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
justify-content: flex-start;
}
.g_flex_row_between {
display: flex;
display: -webkit-flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
}
.g_flex_row_around {
display: flex;
display: -webkit-flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-around;
}
.g_flex_row_center {
display: flex;
display: -webkit-flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
}
.g_flex_row_end {
display: flex;
display: -webkit-flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-end;
}
.g_flex_column_start {
display: flex;
display: -webkit-flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: flex-start;
}
.g_flex_column_between {
display: flex;
display: -webkit-flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: space-between;
}
.g_flex_column_end {
display: flex;
display: -webkit-flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: flex-end;
}
.g_flex_column_center {
display: flex;
display: -webkit-flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: center;
}
#myPageTop input{
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
padding: 0;
font-variant: tabular-nums;
list-style: none;
-webkit-font-feature-settings: "tnum";
font-feature-settings: "tnum";
position: relative;
display: inline-block;
width: 100%;
height: 32px;
padding: 4px 11px;
color: rgba(0,0,0,.65);
font-size: 14px;
line-height: 1.5;
background-color: #fff;
background-image: none;
border: 1px solid #d9d9d9;
border-radius: 4px;
-webkit-transition: all .3s;
transition: all .3s;
width: 280px;
outline: #1677ff;
}
#myPageTop input:focus{
border-color: #40a9ff;
border-right-width: 1px!important;
}
#myPageTop .btn{
cursor: pointer;
width: 32px;
height: 32px;
background-color: #1677ff;
color: #fff;
position: absolute;
right: 0;
top: 0;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
</style>
</head>
<body>
<div id="container"></div>
<div id="myPageTop" >
<div class="g_flex_row_center" style="position: relative;">
<div>
<input id="tipinput" placeholder="请输入关键词搜索" />
</div>
<div class="btn g_flex_c">
<svg focusable="false" data-icon="search" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"></path></svg>
</div>
</div>
</div>
<div id="output" class="output">
</div>
<script type="text/javascript">
window._AMapSecurityConfig = {
securityJsCode:'d2cc124abc816af959dc3cd2279792a0',
}
</script>
<script
src="https://webapi.amap.com/maps?v=2.0&key=b07c4f869f1abf510e59a94bd50699d8&&plugin=AMap.Scale,AMap.HawkEye,AMap.ToolBar,AMap.ControlBar"
type="text/javascript">
</script>
<script type="text/javascript">
//地图加载
var map = new AMap.Map("container", {
resizeEnable: true
});
var scale = new AMap.Scale(),
toolBar = new AMap.ToolBar({
position: {
top: '110px',
right: '40px'
}
}),
controlBar = new AMap.ControlBar({
position: {
top: '10px',
right: '10px',
}
}),
overView = new AMap.HawkEye({
opened: false
});
map.addControl(scale);
map.addControl(toolBar);
map.addControl(controlBar);
map.addControl(overView);
//输入提示
var autoOptions = {
input: "tipinput",
output: "output"
};
var auto;
AMap.plugin(['AMap.PlaceSearch', 'AMap.AutoComplete'], function() {
auto = new AMap.AutoComplete(autoOptions);
var placeSearch = new AMap.PlaceSearch({
map: map
}); //构造地点查询类
auto.on("select", select); //注册监听,当选中某条记录时会触发
function select(e) {
placeSearch.setCity(e.poi.adcode);
placeSearch.search(e.poi.name); //关键字查询查询
}
});
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699864804396" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8009" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M128.256 581.056a382.016 382.016 0 0 1 81.92-240c27.712-35.2 60.672-64.64 97.28-87.68V153.344C307.52 68.928 239.04 0 154.56 0H128v578.688h0.192l0.064 2.368" fill="#00D000" p-id="8010"></path><path d="M649.92 427.776L795.328 319.808a381.312 381.312 0 0 1 100.48 270.272A381.12 381.12 0 0 1 787.84 845.312L645.696 733.44 642.56 735.936a204.8 204.8 0 0 0 7.36-308.16" fill="#00D000" p-id="8011"></path><path d="M511.616 962.752a380.16 380.16 0 0 1-237.312-82.368A384.512 384.512 0 0 1 210.176 341.12a382.08 382.08 0 0 1 302.08-146.56c86.784 0 168.896 28.544 237.248 82.432 16.512 12.928 31.872 27.2 46.016 42.688l-145.6 108.16A202.24 202.24 0 0 0 537.6 375.68a204.16 204.16 0 0 0-195.712 89.28c-59.072 87.808-39.552 209.088 43.648 274.496a202.432 202.432 0 0 0 126.272 43.712c49.92 0 97.024-17.792 133.824-49.728l142.464 112.192a381.952 381.952 0 0 1-276.48 117.12z" fill="#027AFF" p-id="8012"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

353
package-lock.json generated

@ -493,6 +493,11 @@
"nanopop": "^2.1.0"
}
},
"@transloadit/prettier-bytes": {
"version": "0.0.7",
"resolved": "https://registry.npmmirror.com/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz",
"integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA=="
},
"@tsconfig/node18": {
"version": "18.2.2",
"resolved": "https://registry.npmjs.org/@tsconfig/node18/-/node18-18.2.2.tgz",
@ -504,6 +509,11 @@
"resolved": "https://registry.npmmirror.com/@types/d3-timer/-/d3-timer-2.0.3.tgz",
"integrity": "sha512-jhAJzaanK5LqyLQ50jJNIrB8fjL9gwWZTgYjevPvkDLMU+kTAZkYsobI59nYoeSrH1PucuyJEi247Pb90t6XUg=="
},
"@types/event-emitter": {
"version": "0.3.5",
"resolved": "https://registry.npmmirror.com/@types/event-emitter/-/event-emitter-0.3.5.tgz",
"integrity": "sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ=="
},
"@types/node": {
"version": "18.18.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.7.tgz",
@ -519,6 +529,53 @@
"integrity": "sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==",
"dev": true
},
"@uppy/companion-client": {
"version": "2.2.2",
"resolved": "https://registry.npmmirror.com/@uppy/companion-client/-/companion-client-2.2.2.tgz",
"integrity": "sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==",
"requires": {
"@uppy/utils": "^4.1.2",
"namespace-emitter": "^2.0.1"
}
},
"@uppy/core": {
"version": "2.3.4",
"resolved": "https://registry.npmmirror.com/@uppy/core/-/core-2.3.4.tgz",
"integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==",
"requires": {
"@transloadit/prettier-bytes": "0.0.7",
"@uppy/store-default": "^2.1.1",
"@uppy/utils": "^4.1.3",
"lodash.throttle": "^4.1.1",
"mime-match": "^1.0.2",
"namespace-emitter": "^2.0.1",
"nanoid": "^3.1.25",
"preact": "^10.5.13"
}
},
"@uppy/store-default": {
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/@uppy/store-default/-/store-default-2.1.1.tgz",
"integrity": "sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ=="
},
"@uppy/utils": {
"version": "4.1.3",
"resolved": "https://registry.npmmirror.com/@uppy/utils/-/utils-4.1.3.tgz",
"integrity": "sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==",
"requires": {
"lodash.throttle": "^4.1.1"
}
},
"@uppy/xhr-upload": {
"version": "2.1.3",
"resolved": "https://registry.npmmirror.com/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz",
"integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==",
"requires": {
"@uppy/companion-client": "^2.2.2",
"@uppy/utils": "^4.1.2",
"nanoid": "^3.1.25"
}
},
"@vitejs/plugin-vue": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.4.0.tgz",
@ -679,6 +736,88 @@
"integrity": "sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg==",
"dev": true
},
"@wangeditor/basic-modules": {
"version": "1.1.7",
"resolved": "https://registry.npmmirror.com/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz",
"integrity": "sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==",
"requires": {
"is-url": "^1.2.4"
}
},
"@wangeditor/code-highlight": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz",
"integrity": "sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==",
"requires": {
"prismjs": "^1.23.0"
}
},
"@wangeditor/core": {
"version": "1.1.19",
"resolved": "https://registry.npmmirror.com/@wangeditor/core/-/core-1.1.19.tgz",
"integrity": "sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==",
"requires": {
"@types/event-emitter": "^0.3.3",
"event-emitter": "^0.3.5",
"html-void-elements": "^2.0.0",
"i18next": "^20.4.0",
"scroll-into-view-if-needed": "^2.2.28",
"slate-history": "^0.66.0"
}
},
"@wangeditor/editor": {
"version": "5.1.23",
"resolved": "https://registry.npmmirror.com/@wangeditor/editor/-/editor-5.1.23.tgz",
"integrity": "sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==",
"requires": {
"@uppy/core": "^2.1.1",
"@uppy/xhr-upload": "^2.0.3",
"@wangeditor/basic-modules": "^1.1.7",
"@wangeditor/code-highlight": "^1.0.3",
"@wangeditor/core": "^1.1.19",
"@wangeditor/list-module": "^1.0.5",
"@wangeditor/table-module": "^1.1.4",
"@wangeditor/upload-image-module": "^1.0.2",
"@wangeditor/video-module": "^1.1.4",
"dom7": "^3.0.0",
"is-hotkey": "^0.2.0",
"lodash.camelcase": "^4.3.0",
"lodash.clonedeep": "^4.5.0",
"lodash.debounce": "^4.0.8",
"lodash.foreach": "^4.5.0",
"lodash.isequal": "^4.5.0",
"lodash.throttle": "^4.1.1",
"lodash.toarray": "^4.4.0",
"nanoid": "^3.2.0",
"slate": "^0.72.0",
"snabbdom": "^3.1.0"
}
},
"@wangeditor/editor-for-vue": {
"version": "5.1.12",
"resolved": "https://registry.npmmirror.com/@wangeditor/editor-for-vue/-/editor-for-vue-5.1.12.tgz",
"integrity": "sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ=="
},
"@wangeditor/list-module": {
"version": "1.0.5",
"resolved": "https://registry.npmmirror.com/@wangeditor/list-module/-/list-module-1.0.5.tgz",
"integrity": "sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ=="
},
"@wangeditor/table-module": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/@wangeditor/table-module/-/table-module-1.1.4.tgz",
"integrity": "sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w=="
},
"@wangeditor/upload-image-module": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz",
"integrity": "sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA=="
},
"@wangeditor/video-module": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/@wangeditor/video-module/-/video-module-1.1.4.tgz",
"integrity": "sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg=="
},
"acorn": {
"version": "8.11.2",
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.2.tgz",
@ -864,6 +1003,15 @@
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
"d": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/d/-/d-1.0.2.tgz",
"integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
"requires": {
"es5-ext": "^0.10.64",
"type": "^2.7.2"
}
},
"d3-color": {
"version": "3.1.0",
"resolved": "https://registry.npmmirror.com/d3-color/-/d3-color-3.1.0.tgz",
@ -941,7 +1089,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/dom7/-/dom7-3.0.0.tgz",
"integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==",
"dev": true,
"requires": {
"ssr-window": "^3.0.0-alpha.1"
}
@ -964,6 +1111,36 @@
"is-arrayish": "^0.2.1"
}
},
"es5-ext": {
"version": "0.10.64",
"resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.64.tgz",
"integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
"requires": {
"es6-iterator": "^2.0.3",
"es6-symbol": "^3.1.3",
"esniff": "^2.0.1",
"next-tick": "^1.1.0"
}
},
"es6-iterator": {
"version": "2.0.3",
"resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz",
"integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
"requires": {
"d": "1",
"es5-ext": "^0.10.35",
"es6-symbol": "^3.1.1"
}
},
"es6-symbol": {
"version": "3.1.4",
"resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.4.tgz",
"integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
"requires": {
"d": "^1.0.2",
"ext": "^1.7.0"
}
},
"esbuild": {
"version": "0.18.20",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
@ -1000,11 +1177,39 @@
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true
},
"esniff": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/esniff/-/esniff-2.0.1.tgz",
"integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
"requires": {
"d": "^1.0.1",
"es5-ext": "^0.10.62",
"event-emitter": "^0.3.5",
"type": "^2.7.2"
}
},
"estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
"event-emitter": {
"version": "0.3.5",
"resolved": "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz",
"integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
"requires": {
"d": "1",
"es5-ext": "~0.10.14"
}
},
"ext": {
"version": "1.7.0",
"resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz",
"integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
"requires": {
"type": "^2.7.2"
}
},
"fecha": {
"version": "4.2.3",
"resolved": "https://registry.npmmirror.com/fecha/-/fecha-4.2.3.tgz",
@ -1114,6 +1319,19 @@
"lru-cache": "^10.0.1"
}
},
"html-void-elements": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-2.0.1.tgz",
"integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A=="
},
"i18next": {
"version": "20.6.1",
"resolved": "https://registry.npmmirror.com/i18next/-/i18next-20.6.1.tgz",
"integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==",
"requires": {
"@babel/runtime": "^7.12.0"
}
},
"iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
@ -1129,6 +1347,11 @@
"integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
"optional": true
},
"immer": {
"version": "9.0.21",
"resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.21.tgz",
"integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA=="
},
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@ -1144,11 +1367,21 @@
"hasown": "^2.0.0"
}
},
"is-hotkey": {
"version": "0.2.0",
"resolved": "https://registry.npmmirror.com/is-hotkey/-/is-hotkey-0.2.0.tgz",
"integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw=="
},
"is-plain-object": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz",
"integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g=="
},
"is-url": {
"version": "1.2.4",
"resolved": "https://registry.npmmirror.com/is-url/-/is-url-1.2.4.tgz",
"integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww=="
},
"is-what": {
"version": "3.14.1",
"resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz",
@ -1220,6 +1453,41 @@
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
},
"lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
"integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
},
"lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="
},
"lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
},
"lodash.foreach": {
"version": "4.5.0",
"resolved": "https://registry.npmmirror.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz",
"integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ=="
},
"lodash.isequal": {
"version": "4.5.0",
"resolved": "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
"integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
},
"lodash.throttle": {
"version": "4.1.1",
"resolved": "https://registry.npmmirror.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
"integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ=="
},
"lodash.toarray": {
"version": "4.4.0",
"resolved": "https://registry.npmmirror.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
"integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw=="
},
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@ -1277,6 +1545,14 @@
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
},
"mime-match": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/mime-match/-/mime-match-1.0.2.tgz",
"integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==",
"requires": {
"wildcard": "^1.1.0"
}
},
"mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
@ -1306,6 +1582,11 @@
"integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==",
"dev": true
},
"namespace-emitter": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/namespace-emitter/-/namespace-emitter-2.0.1.tgz",
"integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g=="
},
"nanoid": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
@ -1327,6 +1608,11 @@
"sax": "^1.2.4"
}
},
"next-tick": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz",
"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
},
"normalize-package-data": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz",
@ -1440,6 +1726,16 @@
"source-map-js": "^1.0.2"
}
},
"preact": {
"version": "10.25.2",
"resolved": "https://registry.npmmirror.com/preact/-/preact-10.25.2.tgz",
"integrity": "sha512-GEts1EH3oMnqdOIeXhlbBSddZ9nrINd070WBOiPO2ous1orrKGUM4SMDbwyjSWD1iMS2dBvaDjAa5qUhz3TXqw=="
},
"prismjs": {
"version": "1.29.0",
"resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz",
"integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q=="
},
"proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
@ -1577,6 +1873,43 @@
"object-inspect": "^1.9.0"
}
},
"slate": {
"version": "0.72.8",
"resolved": "https://registry.npmmirror.com/slate/-/slate-0.72.8.tgz",
"integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==",
"requires": {
"immer": "^9.0.6",
"is-plain-object": "^5.0.0",
"tiny-warning": "^1.0.3"
},
"dependencies": {
"is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
}
}
},
"slate-history": {
"version": "0.66.0",
"resolved": "https://registry.npmmirror.com/slate-history/-/slate-history-0.66.0.tgz",
"integrity": "sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==",
"requires": {
"is-plain-object": "^5.0.0"
},
"dependencies": {
"is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
}
}
},
"snabbdom": {
"version": "3.6.2",
"resolved": "https://registry.npmmirror.com/snabbdom/-/snabbdom-3.6.2.tgz",
"integrity": "sha512-ig5qOnCDbugFntKi6c7Xlib8bA6xiJVk8O+WdFrV3wxbMqeHO0hXFQC4nAhPVWfZfi8255lcZkNhtIBINCc4+Q=="
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@ -1631,8 +1964,7 @@
"ssr-window": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz",
"integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==",
"dev": true
"integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA=="
},
"stylis": {
"version": "4.3.0",
@ -1674,11 +2006,21 @@
"resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz",
"integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg=="
},
"tiny-warning": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz",
"integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
},
"tslib": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
},
"type": {
"version": "2.7.3",
"resolved": "https://registry.npmmirror.com/type/-/type-2.7.3.tgz",
"integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ=="
},
"type-fest": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.6.0.tgz",
@ -1785,6 +2127,11 @@
"isexe": "^2.0.0"
}
},
"wildcard": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-1.1.2.tgz",
"integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng=="
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",

@ -14,6 +14,8 @@
"@amap/amap-jsapi-loader": "^1.0.1",
"@ant-design/icons-vue": "^7.0.1",
"@antv/g2": "^4.2.2",
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12",
"ant-design-vue": "^4.0.6",
"axios": "^1.6.1",
"js-cookie": "^3.0.5",

@ -3,13 +3,13 @@
<head>
<meta charset="UTF-8" />
<title>yuque编辑器</title>
<link rel="stylesheet" type="text/css" href="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/umd_doc.css" />
<link rel="stylesheet" type="text/css" href="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/yuQueAntd.css" />
<link rel="stylesheet" href="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/lake-content-v1.css" />
<script src="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/react.production.min.js"></script>
<script src="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/react-dom.production.min.js"></script>
<script src="http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/umd_doc.umd.js"></script>
<script src="http://matripe.oss-cn-beijing.aliyuncs.com/js/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="//matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/umd_doc.css" />
<link rel="stylesheet" type="text/css" href="//matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/yuQueAntd.css" />
<link rel="stylesheet" href="//matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/lake-content-v1.css" />
<script src="//matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/react.production.min.js"></script>
<script src="//matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/react-dom.production.min.js"></script>
<script src="//matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/yuqueEditor/umd_doc.umd.js"></script>
<script src="//matripe.oss-cn-beijing.aliyuncs.com/js/jquery.min.js"></script>
<style>
.placeholder::before {
content: attr(data-placeholder);
@ -126,7 +126,7 @@
var dataObj = {};
$.ajax({
method: "get", // 请求使用的 http 方法,包含 get/post如果省略默认是 get
url: "http://a.matripe.com.cn/oss/policy", // 请求使用的 url 地址
url: "//a.matripe.com.cn/oss/policy", // 请求使用的 url 地址
headers: {
Authorization: "Bearer " + "eyJUeXBlIjoiSnd0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJ0b2tlbiI6IntcImNyZWF0ZWRcIjoxNzAwMTA0Nzg2NzAzLFwidGVsXCI6XCIxMzI1MzMzOTM5NFwiLFwidXNlcklkXCI6MTAwNzMxLFwidXNlck5hbWVcIjpcIuWImOiBqlwifSJ9.5s0pWGnyg0d2TH03SSWzsYpOEafP5Pjogt1ml5q7C6s",
},
@ -149,7 +149,7 @@
formData.append("file", data); // 一定在最后
$.ajax({
type: "post",
url: "http://matripe-cms.oss-cn-beijing.aliyuncs.com",
url: "//matripe-cms.oss-cn-beijing.aliyuncs.com",
data: formData,
contentType: false, // 不设置Content-Type请求头
processData: false,

@ -113,18 +113,10 @@ onMounted(() => {
case "HomePage":
items.push(getItem(item.title, item.id, item.component, () => h(UsergroupAddOutlined)));
break;
case "projectData":
items.push(getItem(item.title, item.id, item.component, () => h(FileProtectOutlined)));
break;
case "personData":
items.push(getItem(item.title, item.id, item.component, () => h(UserOutlined)));
break;
case "message":
items.push(getItem(item.title, item.id, item.component, () => h(MessageOutlined)));
break;
case "record":
items.push(getItem(item.title, item.id, item.component, () => h(VideoCameraOutlined)));
items.push(getItem(item.title, item.id, item.component, () => h(SketchOutlined)));
break;
case "ServiceMarket":
items.push(getItem(item.title, item.id, item.component, () => h(SketchOutlined)));
break;

@ -32,37 +32,38 @@ const router = createRouter({
},
component: () => import("../views/homePage/index.vue")
},
{
path: "/merchantManagement/projectData",
name: "projectData",
meta: {
title: '项目数据',
},
component: () => import("../views/homePage/projectData.vue")
},
{
path: "/merchantManagement/personData",
name: "personData",
meta: {
title: '个人数据(股)',
},
component: () => import("../views/homePage/personData.vue")
},
// {
// path: "/merchantManagement/projectData",
// name: "projectData",
// meta: {
// title: '项目数据',
// },
// component: () => import("../views/homePage/projectData.vue")
// },
// {
// path: "/merchantManagement/personData",
// name: "personData",
// meta: {
// title: '个人数据(股)',
// },
// component: () => import("../views/homePage/personData.vue")
// },
{
path: "/merchantManagement/message",
name: "message",
meta: {
title: '消息通知',
title: '内容管理',
},
component: () => import("../views/message/index.vue")
},{
path: "/merchantManagement/record",
name: "record",
meta: {
title: '访问记录',
},
component: () => import("../views/homePage/record.vue")
}
// ,{
// path: "/merchantManagement/record",
// name: "record",
// meta: {
// title: '访问记录',
// },
// component: () => import("../views/homePage/record.vue")
// }
].concat(noticeData)
},
{
@ -88,35 +89,35 @@ const router = createRouter({
}
]
})
router.beforeEach(async (to, from, next) => {
// 路由守卫
console.log('to', to);
console.log('from', from);
const whiteList = [
// 设置白名单
// "/404",
"/login"
];
var isLogin // 登录状态判断
if (localStorage.getItem("LOGIN_DATA") || localStorage.getItem("DAOTIAN_token")) {
isLogin = true;
}
console.log(isLogin);
if (isLogin) {
if (to.path == '/login') {
next("/merchantManagement/homePage");
}
next();
} else {
if (whiteList.some((obj) => obj === to.path)) {
console.log('/login', to);
// if (to.path == '/login') {
// next('/login');
next();
// }
} else {
next("/login");
}
}
});
// router.beforeEach(async (to, from, next) => {
// // 路由守卫
// console.log('to', to);
// console.log('from', from);
// const whiteList = [
// // 设置白名单
// // "/404",
// "/login"
// ];
// var isLogin // 登录状态判断
// if (localStorage.getItem("LOGIN_DATA") || localStorage.getItem("DAOTIAN_token")) {
// isLogin = true;
// }
// console.log(isLogin);
// if (isLogin) {
// if (to.path == '/login') {
// next("/merchantManagement/homePage");
// }
// next();
// } else {
// if (whiteList.some((obj) => obj === to.path)) {
// console.log('/login', to);
// // if (to.path == '/login') {
// // next('/login');
// next();
// // }
// } else {
// next("/login");
// }
// }
// });
export default router

@ -1,18 +1,19 @@
export let mockMenuList = {
"menus": [
{
"id": 1,
"id": 2,
"creator": "",
"updator": "",
"createTime": "",
"updateTime": "",
"deleted": 0,
"title": "用户列表",
"menuName": "HomePage",
"title": "项目数据",
"menuName": "projectData",
"parentName": "",
"path": "homePage",
"component": "/merchantManagement/homePage.vue",
"path": "projectData",
"component": "/merchantManagement/projectData.vue",
"visible": 0,
"perms": "",
"icon": "icon-houtaishouye",
@ -28,19 +29,18 @@ export let mockMenuList = {
"exportTag": 0,
"childrenList": []
},
{
"id": 2,
"id": 3,
"creator": "",
"updator": "",
"createTime": "",
"updateTime": "",
"deleted": 0,
"title": "项目数据",
"menuName": "projectData",
"title": "个人数据(股)",
"menuName": "personData",
"parentName": "",
"path": "projectData",
"component": "/merchantManagement/projectData.vue",
"path": "personData",
"component": "/merchantManagement/personData.vue",
"visible": 0,
"perms": "",
"icon": "icon-houtaishouye",
@ -57,17 +57,17 @@ export let mockMenuList = {
"childrenList": []
},
{
"id": 3,
"id": 4,
"creator": "",
"updator": "",
"createTime": "",
"updateTime": "",
"deleted": 0,
"title": "个人数据(股)",
"menuName": "personData",
"title": "内容管理",
"menuName": "message",
"parentName": "",
"path": "personData",
"component": "/merchantManagement/personData.vue",
"path": "message",
"component": "/merchantManagement/message.vue",
"visible": 0,
"perms": "",
"icon": "icon-houtaishouye",
@ -83,18 +83,19 @@ export let mockMenuList = {
"exportTag": 0,
"childrenList": []
},
{
"id": 4,
"id": 1,
"creator": "",
"updator": "",
"createTime": "",
"updateTime": "",
"deleted": 0,
"title": "消息通知",
"menuName": "message",
"title": "用户列表",
"menuName": "HomePage",
"parentName": "",
"path": "message",
"component": "/merchantManagement/message.vue",
"path": "homePage",
"component": "/merchantManagement/homePage.vue",
"visible": 0,
"perms": "",
"icon": "icon-houtaishouye",

@ -132,8 +132,8 @@
<a-form-item label="电话" name="name" required>
<a-input style="width: 100%" placeholder="请输入电话" v-model:value="modalInfo.form.username" />
</a-form-item>
<a-form-item label="身份证号" name="name">
<a-input style="width: 100%" placeholder="请输入身份证号" v-model:value="modalInfo.form.idcard" />
<a-form-item label="密码" name="name">
<a-input style="width: 100%" placeholder="请输入密码" v-model:value="modalInfo.form.idcard" />
</a-form-item>
<a-form-item label="备注" name="desp">
@ -165,7 +165,7 @@ const commonJS = getCurrentInstance().appContext.app.config.globalProperties.G;
const speed = ref(0);
const showAdd = ref(0);
onMounted(() => {
getTable();
// getTable();
});
/**
* 搜索事件
@ -338,7 +338,7 @@ const columns = ref([
width: "140px",
},
{
title: "身份证号",
title: "密码",
key: "idcard",
dataIndex: "idcard",
width: "200px",

@ -118,6 +118,26 @@ const watchValidate = (e1) => {
const submitInfo = (e) => {
let obj = e;
router.push("/merchantManagement/homePage");
return
// if (loginType.value == 2) {
// obj.loginType = 1;
// } else {

@ -0,0 +1,71 @@
<template>
<div style="border: 1px solid #ccc">
<Toolbar
style="border-bottom: 1px solid #ccc"
:editor="editorRef"
:defaultConfig="toolbarConfig"
:mode="mode"
/>
<Editor
style="height: 500px; overflow-y: hidden;"
v-model="valueHtml"
:defaultConfig="editorConfig"
:mode="mode"
@onCreated="handleCreated"
/>
</div>
</template>
<script>
import '@wangeditor/editor/dist/css/style.css' // css
import { onBeforeUnmount, ref, shallowRef, onMounted } from 'vue'
import { Editor, Toolbar } from '@wangeditor/editor-for-vue'
export default {
components: { Editor, Toolbar },
setup() {
// shallowRef
const editorRef = shallowRef()
// HTML
const valueHtml = ref('<p>hello</p>')
// ajax
onMounted(() => {
setTimeout(() => {
valueHtml.value = '<p>模拟 Ajax 异步设置内容</p>'
}, 1500)
})
const toolbarConfig = {}
const editorConfig = { placeholder: '请输入内容...' }
//
onBeforeUnmount(() => {
const editor = editorRef.value
if (editor == null) return
editor.destroy()
})
const handleCreated = (editor) => {
editorRef.value = editor // editor
}
return {
editorRef,
valueHtml,
mode: 'default', // 'simple'
toolbarConfig,
editorConfig,
handleCreated,
}
},
}
</script>
<style scoped>
.wysiwyg-editor {
border: 1px solid #ccc;
z-index: 100;
}
</style>

@ -9,7 +9,7 @@
<a-date-picker v-model:value=" currentInfo.publishTimeStr" placeholder="请选择发布时间" :minuteStep="30" format="YYYY-MM-DD HH:mm" :showTime="{ format: 'HH:mm' }" style="width: 100%" />
</a-form-item>
<a-form-item class="g_mb_12" label="内容" :rules="[{ required: true, message: '请输入内容' }]" name="content">
<iframe src="../../../public/static/editor.html" class="g_border_d" width="100%" height="500px" frameborder="0" ref="iframeDom" style="border-radius: 6px"></iframe>
<iframe src="./static/editor.html" class="g_border_d" width="100%" height="500px" frameborder="0" ref="iframeDom" style="border-radius: 6px"></iframe>
</a-form-item>
<!-- <div class="g_flex_row_center">
@ -19,7 +19,7 @@
<a-form-item class="g_mb_12">
<div class="g_flex_row_start g_mt_24 g_ml_110">
<a-button class="g_mr_16" @click="cancel"></a-button>
<a-button class="g_mr_16" @click="subType = 0" html-type="submit">存草稿</a-button>
<!-- <a-button class="g_mr_16" @click="subType = 0" html-type="submit">存草稿</a-button> -->
<a-button type="primary" @click="subType = 1" html-type="submit">发布</a-button>
</div>
</a-form-item>

@ -1,468 +1,215 @@
<template>
<!--我的职位-->
<div class="p-manage-myJob">
<div class="m-select g_flex_row_between g_pt_16">
<div class="g_flex_row_start">
<div class="g_w_320 g-search-btn g_mr_16">
<a-input-search v-model:value="tableData.keyword" placeholder="请输入关键字" @search="searchList" @change="handleChangeSearch" allowClear />
</div>
<a-radio-group v-model:value="infoType" @change="handleUpdateStatus">
<a-radio-button class="g_minw_80 g_p_0 g_text_c" :value="1">已发布</a-radio-button>
<a-radio-button class="g_minw_80 g_p_0 g_text_c" :value="0">草稿</a-radio-button>
</a-radio-group>
</div>
<div>
<!-- @click="openAdd" -->
<a-button type="primary" @click="openAdd('add')" :icon="h(PlusOutlined)">新增内容</a-button>
<!-- <a-button type="" class="g_border_d g_ml_16" @click="handleToForm('add', { id: 0 })" :icon="h(DownloadOutlined)">导出模版</a-button> -->
<!--
<a-dropdown :trigger="['click']">
<template #overlay>
<a-menu>
<a-menu-item key="1" @click="goShareList"></a-menu-item>
<a-menu-item key="2" @click="handleToForm('add',{id:0})"></a-menu-item>
</a-menu>
</template>
<a-button>
新增职位
<DownOutlined style="zoom:.8" />
</a-button>
</a-dropdown> -->
</div>
</div>
<div class="m-table g_mt_20 antd-table">
<a-table sticky :columns="columns" :data-source="tableData.records" size="middle" :pagination="false" :loading="tableData.loading" class="g_clear_scroll" style="max-width: calc(100% - 0px)">
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'job'">
<!-- @click="goDetail(record)" -->
<div class="btn g_fs_14 g_cursor_point g_mr_13 g_flex_row_start">
<div class="g_ell_1">{{ "" }}</div>
</div>
</template>
<template v-if="column.key === 'age'">
<div class="g_ell_1">{{ record.sex + " " + record.age }}</div>
</template>
<template v-if="column.key === 'price'">
<!-- <div v-html="record.price"></div> -->
</template>
<template v-if="column.key === 'content'">
<!-- <div v-html="record.content"></div> -->
</template>
<template v-if="column.key === 'status'">
<a-switch @change="(e) => handleStatus(e, record)" :checked="record.status == 1 ? true : false" checked-children="" un-checked-children="" />
</template>
<template v-if="column.key === 'state'">
<div class="g_flex_row_between">
<!-- <div
class="btn g_fs_14 g_mr_13"
:class="'g_c_main g_cursor_point'"
:style="{
cursor: !record.statusBool ? 'not-allowed' : '',
color: !record.statusBool ? '#d8d8d8' : '#1677ff',
}"
@click="handleApplication(record)"
>
报名
</div> -->
<div class="btn g_c_main g_fs_14 g_cursor_point g_mr_13" @click="openAdd('edit', record)">编辑</div>
<div class="btn g_c_main g_fs_14 g_cursor_point" @click="handleDel(record)"></div>
</div>
</template>
</template>
<!-- <template #summary class="fixed-obj">
<div style="width: 70vw" class="g_pb_16 g_pt_16">
<a-table-summary fixed="bottom"> </a-table-summary>
</div>
</template> -->
</a-table>
<div class="g_pb_16 g_pt_16 g_pageBottom" v-if="tableData.records.length > 0">
<a-pagination v-model:current="tableData.page" v-model:page-size="tableData.size" :total="tableData.total" :pageSize="tableData.size" :show-total="(total) => `${total}`" @change="handleModalPage" @showSizeChange="handleModalSize" :show-quick-jumper="tableData.total < tableData.size ? false : true" :showSizeChanger="tableData.total < tableData.size ? false : true" :hideOnSinglePage="false" />
</div>
</div>
<!-- <a-modal v-model:open="modalInfo.isShow"
:title="modalInfo.title"
width="640px"
centered
:destroyOnClose="true"
:forceRender="true"
>
<div class="g_pt_30 modal-box">
<a-form :model="modalInfo.form"
name="basic"
:label-col="{ span: 6 }"
:wrapper-col="{ span: 18 }"
autocomplete="off"
style="width: 80%;"
class="g_ml_51"
>
<a-form-item label="职位要求标签" name="name" required>
<a-input style="width: 100%" placeholder="请输入职位要求标签" v-model:value="modalInfo.form.name" />
</a-form-item>
<a-form-item label="标签类型" name="typeClassify" required>
<a-select v-model:value="modalInfo.form.typeClassify"
:getPopupContainer="(triggerNode) => triggerNode.parentNode.parentNode"
placeholder="请选择职位分类"
@change="handleUpdateSelect"
>
<a-select-option v-for="item in typeClassifyList" :value="item.id" :title="item.id">{{ item.name }}</a-select-option>
</a-select>
</a-form-item>
<a-form-item label="说明" name="desp">
<a-textarea :rows='6' style="width: 100%" placeholder="请输入职位说明" v-model:value="modalInfo.form.desp" />
</a-form-item>
</a-form>
</div>
<template #footer>
<a-button @click="modalInfo.isShow = false">关闭</a-button>
<a-button @click="submitForm" type="primary">确定</a-button>
</template>
</a-modal> -->
<a-modal v-model:open="showAdd" :title="modalInfo.title" style="width: 734px" :destroyOnClose="true">
<div class="g_pt_30 modal-box">
<a-form :model="modalInfo.form" name="basic" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }" autocomplete="off" style="width: 80%" class="g_ml_51">
<a-form-item label="姓名" name="name" required>
<a-input style="width: 100%" placeholder="请输入姓名" v-model:value="modalInfo.form.name" />
</a-form-item>
<a-form-item label="电话" name="name" required>
<a-input style="width: 100%" placeholder="请输入电话" v-model:value="modalInfo.form.username" />
</a-form-item>
<a-form-item label="身份证号" name="name">
<a-input style="width: 100%" placeholder="请输入身份证号" v-model:value="modalInfo.form.idcard" />
</a-form-item>
<a-form-item label="备注" name="desp">
<a-textarea :rows="6" style="width: 100%" placeholder="请输入备注" v-model:value="modalInfo.form.description" />
</a-form-item>
</a-form>
</div>
<template #footer>
<a-button @click="showAdd = false">关闭</a-button>
<a-button @click="submitForm" type="primary">确定</a-button>
</template>
</a-modal>
</div>
<div class="content-management">
<a-tabs v-model:activeKey="activeTab">
<a-tab-pane key="stores" tab="门店"></a-tab-pane>
<a-tab-pane key="recommendations" tab="今日推荐"></a-tab-pane>
<a-tab-pane key="events" tab="赛事分析"></a-tab-pane>
</a-tabs>
<div class="table-actions">
<a-button type="primary" @click="showAddModal"></a-button>
</div>
<a-table :columns="columns" :data-source="filteredData" :rowKey="record => record.id">
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'content'">
<div v-if="record.type === 'recommendations' && Array.isArray(record.content)">
<a-image
v-for="(image, index) in record.content.slice(0, 3)"
:key="index"
:src="image"
:width="50"
:height="50"
style="margin-right: 5px;"
/>
<span v-if="record.content.length > 3">+{{ record.content.length - 3 }} more</span>
</div>
<span v-else v-html="record.content"></span>
</template>
<template v-if="column.key === 'action'">
<a-space>
<a-button type="link" @click="editItem(record)"></a-button>
<a-button type="link" @click="deleteItem(record)"></a-button>
</a-space>
</template>
</template>
</a-table>
<a-modal
v-model:visible="modalVisible"
:title="modalMode === 'add' ? '新增内容' : '编辑内容'"
@ok="handleModalOk"
@cancel="handleModalCancel"
width="800px"
>
<a-form :model="formState" :label-col="{ span: 4 }" :wrapper-col="{ span: 20 }">
<a-form-item label="类型">
<a-select v-model:value="formState.type" :disabled="modalMode === 'edit'">
<a-select-option value="stores">门店</a-select-option>
<a-select-option value="recommendations">今日推荐</a-select-option>
<a-select-option value="events">赛事分析</a-select-option>
</a-select>
</a-form-item>
<a-form-item label="标题" v-if="formState.type !== 'recommendations'">
<a-input v-model:value="formState.title" />
</a-form-item>
<a-form-item label="内容" v-if="formState.type !== 'recommendations'">
<wysiwyg-editor v-model="formState.content" />
</a-form-item>
<a-form-item label="图片" v-if="formState.type === 'recommendations'">
<a-upload
v-model:fileList="formState.images"
list-type="picture-card"
:max-count="9"
@preview="handlePreview"
@change="handleImageChange"
>
<div v-if="formState.images.length < 9">
<plus-outlined />
<div style="margin-top: 8px">Upload</div>
</div>
</a-upload>
</a-form-item>
</a-form>
</a-modal>
<a-modal v-model:visible="previewVisible" :title="previewTitle" :footer="null">
<img alt="example" style="width: 100%" :src="previewImage" />
</a-modal>
</div>
</template>
<script setup>
import { ref, onMounted, getCurrentInstance, h, watch } from "vue";
import { PlusOutlined, EllipsisOutlined, UploadOutlined, DownOutlined } from "@ant-design/icons-vue";
import { Modal, message } from "ant-design-vue";
import { useRouter, useRoute } from "vue-router";
import { getUserListApi, updateUserStatusApi, addUserApi, delUserApi, updateUserApi } from "../../api/userList/userList";
import { getMessageListApi,delMessageApi } from "../../api/messageConfig/message";
import { DownloadOutlined } from "@ant-design/icons-vue";
import idCardPanel from "../components/upload/image.vue";
import dayjs from "dayjs"
dayjs.locale("zh-cn");
/* #################### 初始化事件 #################### */
const router = useRouter(); //
const route = useRoute();
const commonJS = getCurrentInstance().appContext.app.config.globalProperties.G;
const speed = ref(0);
const showAdd = ref(false);
const infoType = ref(1);
import { ref, reactive, computed } from 'vue';
import { message } from 'ant-design-vue';
import { PlusOutlined } from '@ant-design/icons-vue';
import WysiwygEditor from './WysiwygEditor.vue';
const activeTab = ref('stores');
const modalVisible = ref(false);
const modalMode = ref('add');
const previewVisible = ref(false);
const previewImage = ref('');
const previewTitle = ref('');
const columns = [
{ title: '类型', dataIndex: 'type', key: 'type' },
{ title: '标题', dataIndex: 'title', key: 'title' },
{ title: '内容', dataIndex: 'content', key: 'content' },
{ title: '操作', key: 'action' },
];
const data = reactive([
{ id: 1, type: 'stores', title: '门店1', content: '<p>门店1的内容...</p>' },
{ id: 2, type: 'recommendations', title: '推荐1', content: ['https://matripe.oss-cn-beijing.aliyuncs.com/default.png', 'https://matripe.oss-cn-beijing.aliyuncs.com/default.png'] },
{ id: 3, type: 'events', title: '赛事1', content: '<p>赛事1的分析...</p>' },
]);
onMounted(() => {
getTable();
const formState = reactive({
id: null,
type: 'stores',
title: '',
content: '',
images: [],
});
/**
* 搜索事件
*/
const searchList = (e) => {
console.log("searchList", e);
tableData.value.page = 1;
getTable();
};
/* #################### 顶部事件 #################### */
const handleChangeSearch = (e) => {
if (tableData.value.keyword == "") {
getTable();
}
};
const modalInfo = ref({
title: "新增用户",
id: 0,
form: {
name: "",
username: "",
idcard: "",
description: "",
},
});
const submitForm = () => {
let url = "",
params = {};
params = {
name: modalInfo.value.form.name,
username: modalInfo.value.form.username,
idcard: modalInfo.value.form.idcard,
description: modalInfo.value.form.description,
password: "123456",
id: modalInfo.value.id,
};
if (!commonJS.regular(modalInfo.value.form.username, "tel")) {
message.warning("请输入正确的手机号");
return false;
}
const filteredData = computed(() => {
return data.filter(item => item.type === activeTab.value);
});
if (modalInfo.value.id) {
delete params.password;
updateUserApi(params).then((res) => {
showAdd.value = false;
message.success("修改成功");
getTable();
});
} else {
addUserApi(params).then((res) => {
showAdd.value = false;
message.success("新增成功");
getTable();
});
}
const showAddModal = () => {
modalMode.value = 'add';
Object.assign(formState, { id: null, type: activeTab.value, title: '', content: '', images: [] });
modalVisible.value = true;
};
const handleToForm = ($type, $data) => {
showAdd.value = true;
console.log($data.id);
modalInfo.value = {
isShow: true,
title: "修改用户",
form: {
name: $data.name,
username: $data.username,
idcard: $data.idcard,
description: $data.description,
},
id: $data.id,
};
// updateUserApi({
// description: "",
// idcard: "123123123123123123",
// name: "",
// username: "13214534564",
// password: 123456,
// status: 0,
// username: "",
// }).then(() => {
// message.success("");
// getTable();
// });
// if ($data.id > 0) {
// router.push({
// path: "/merchantManagement/jobForm",
// query: {
// id: $data.id ? $data.id : 0,
// type: $type,
// templateId: $data.templateId ? $data.templateId : 0,
// },
// });
// } else {
// router.push({
// path: "/merchantManagement/jobForm",
// query: {
// id: $data.id ? $data.id : 0,
// type: $type,
// },
// });
// }
const editItem = (record) => {
modalMode.value = 'edit';
if (record.type === 'recommendations') {
Object.assign(formState, {
...record,
images: record.content.map((url, index) => ({
uid: -index,
name: `image${index + 1}.jpg`,
status: 'done',
url: url,
}))
});
} else {
Object.assign(formState, { ...record, images: [] });
}
modalVisible.value = true;
};
/* #################### 表格事件 #################### */
const tableData = ref({
keyword: "",
page: 1,
limit: 20,
total: 0,
count: 0,
loading: false,
records: [],
jobType2Num: "-",
jobType1Num: "-",
});
const handleUpdateStatus = (e) => {
console.log(e);
getTable();
};
const getTable = () => {
console.log(tableData.value);
tableData.value.loading = true;
getMessageListApi({ limit: tableData.value.limit, page: tableData.value.page, keyword: tableData.value.keyword, status: infoType.value }).then((res) => {
console.log(res);
tableData.value = { ...res.data, keyword: tableData.value.keyword, page: res.data.current, limit: res.data.size };
tableData.value.records.forEach((item, index) => {
item.rank = index + 1;
// item.title = "";
// item.content = " 91410100MA9L4HDT0L ";
item.time = dayjs(item.publishTime).format("YYYY-MM-DD HH:mm");
});
});
const deleteItem = (record) => {
const index = data.findIndex(item => item.id === record.id);
if (index !== -1) {
data.splice(index, 1);
message.success('删除成功');
}
};
const openAdd = (_type, _record) => {
if (_type == "add") {
router.push({
path: "messageAdd",
// query: {
// type: "add",
// },
});
} else {
router.push({
path: "messageEdit",
query: {
id: _record.id,
},
});
}
};
const columns = ref([
{
title: "序号",
key: "rank",
dataIndex: "rank",
width: "50px",
ellipsis: true,
},
{
title: "标题",
key: "title",
dataIndex: "title",
width: "240px",
},
{
title: "内容",
key: "remark",
dataIndex: "remark",
ellipsis: true,
},
{
title: "发布时间",
key: "time",
dataIndex: "time",
width: "200px",
ellipsis: true,
},
{
title: "操作",
key: "state",
dataIndex: "state",
width: "90px",
ellipsis: true,
},
]);
/**
* 切换用户状态
*/
const handleStatus = (e, $data) => {
updateUserStatusApi({ id: $data.id, status: e ? 1 : 0 }).then(() => {
message.success("更新成功");
getTable();
});
const handleModalOk = () => {
if (modalMode.value === 'add') {
data.push({
id: Date.now(),
type: formState.type,
title: formState.title,
content: formState.type === 'recommendations'
? formState.images.map(img => img.url || img.response.url)
: formState.content,
});
message.success('添加成功');
} else {
const index = data.findIndex(item => item.id === formState.id);
if (index !== -1) {
Object.assign(data[index], {
type: formState.type,
title: formState.title,
content: formState.type === 'recommendations'
? formState.images.map(img => img.url || img.response.url)
: formState.content,
});
message.success('编辑成功');
}
}
modalVisible.value = false;
};
const addInfo = ref({});
const goDetail = ($item) => {
console.log($item);
//
if ($item.jobType == 1) {
//
router.push({
path: "/merchantManagement/shareJobDetail",
query: {
id: $item.templateId,
shared: $item.shared,
form: "joblist",
},
});
} else {
//
router.push({
path: "/merchantManagement/jobDetail",
query: {
id: $item.id,
},
});
}
};
const handleApplication = (record) => {
console.log(record);
if (!record.statusBool) {
return false;
}
//
router.push({
path: "/merchantManagement/recordJob",
query: {
company: record.boss,
job: record.job,
jobId: record.id,
templateId: record.templateId,
jobType: record.jobType,
},
});
const handleModalCancel = () => {
modalVisible.value = false;
};
const handleDel = ($data) => {
commonJS.gConfirmModal(
"删除",
"确认删除该内容吗?",
() => {
delMessageApi($data.id).then(() => {
message.success("删除成功");
getTable();
});
},
() => {}
);
const handlePreview = async (file) => {
if (!file.url && !file.preview) {
file.preview = await getBase64(file.originFileObj);
}
previewImage.value = file.url || file.preview;
previewVisible.value = true;
previewTitle.value = file.name || file.url.substring(file.url.lastIndexOf('/') + 1);
};
/* #################### 分页器事件 #################### */
const handleModalPage = ($page, $size) => {
//
console.log($page);
console.log($size);
tableData.value.page = $page;
getTable();
const handleImageChange = ({ fileList }) => {
formState.images = fileList;
};
const handleModalSize = ($page, $size) => {
// size
tableData.value.page = 1;
tableData.value.size = $size;
getTable();
const getBase64 = (file) => {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result);
reader.onerror = error => reject(error);
});
};
</script>
<style lang="less">
.ant-table-cell:empty::before {
content: "-";
<style scoped>
.content-management {
padding: 24px;
}
.p-manage-myJob {
position: relative;
min-height: calc(100vh - 213px);
width: 100%;
height: 100px;
.btn-active {
width: 40px;
height: 24px;
margin-left: 6.5px;
font-size: 12px;
color: #f6343e;
background-color: #fff3f3;
padding: 1px 3px;
zoom: 0.6;
margin-top: 8px;
text-align: center;
}
}
.ant-spin-blur .ant-empty {
opacity: 0;
.table-actions {
margin-bottom: 16px;
text-align: right;
}
</style>

Loading…
Cancel
Save