优化 TABLE

This commit is contained in:
小陌 2023-12-27 13:46:43 +08:00
parent dc872e4241
commit 9b44122b45
39 changed files with 598 additions and 526 deletions

2
dist/index.html vendored
View File

@ -1,4 +1,4 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=0" name="viewport"/><link rel="icon" href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/x-Admin/favicon.ico"><title>X-PHP</title><script>document.write("<script src='config.js'><\/script>");</script><script defer="defer" src="https://ansnid.oss-cn-shenzhen.aliyuncs.com/x-Admin/static/js/elicons.337a070a.js"></script><script defer="defer" src="https://ansnid.oss-cn-shenzhen.aliyuncs.com/x-Admin/static/js/modules.4fd5df59.js"></script><script defer="defer" src="https://ansnid.oss-cn-shenzhen.aliyuncs.com/x-Admin/static/js/app.9b427868.js"></script><link href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/x-Admin/static/css/modules.853ca01a.css" rel="stylesheet"><link href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/x-Admin/static/css/app.b015391d.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but X-PHP doesn't work properly without JavaScript enabled.</strong></noscript><div id="app" class="aminui"><div class="app-loading"><div class="app-loading__logo"></div><div class="app-loading__loader"></div></div></div></body><div id="versionCheck" class="versionCheck"><h2>当前浏览器内核版本过低</h2><p>当前版本:<span id="versionCheck-type">--</span> <span id="versionCheck-version">--</span></p><p>最低版本要求Chrome 71+、Firefox 65+、Safari 12+、Edge 97+。</p><p>请升级浏览器版本,或更换现代浏览器,如果你使用的是双核浏览器,请切换到极速/高速模式。</p></div><style>.app-loading { <!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=0" name="viewport"/><link rel="icon" href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/x-Admin/favicon.ico"><title>X-PHP</title><script>document.write("<script src='config.js'><\/script>");</script><script defer="defer" src="https://ansnid.oss-cn-shenzhen.aliyuncs.com/x-Admin/static/js/elicons.337a070a.js"></script><script defer="defer" src="https://ansnid.oss-cn-shenzhen.aliyuncs.com/x-Admin/static/js/modules.4fd5df59.js"></script><script defer="defer" src="https://ansnid.oss-cn-shenzhen.aliyuncs.com/x-Admin/static/js/app.355889f1.js"></script><link href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/x-Admin/static/css/modules.853ca01a.css" rel="stylesheet"><link href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/x-Admin/static/css/app.13582ee2.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but X-PHP doesn't work properly without JavaScript enabled.</strong></noscript><div id="app" class="aminui"><div class="app-loading"><div class="app-loading__logo"></div><div class="app-loading__loader"></div></div></div></body><div id="versionCheck" class="versionCheck"><h2>当前浏览器内核版本过低</h2><p>当前版本:<span id="versionCheck-type">--</span> <span id="versionCheck-version">--</span></p><p>最低版本要求Chrome 71+、Firefox 65+、Safari 12+、Edge 97+。</p><p>请升级浏览器版本,或更换现代浏览器,如果你使用的是双核浏览器,请切换到极速/高速模式。</p></div><style>.app-loading {
position: absolute; position: absolute;
top:0px; top:0px;
left:0px; left:0px;

4
dist/report.html vendored

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
.dis-f[data-v-4176f032]{display:flex}.flex-1[data-v-4176f032]{flex:1}.al-item[data-v-4176f032]{align-items:center}.tran-width[data-v-4176f032]{transition:width .2s linear}.hid-box[data-v-4176f032]{width:100%;overflow:hidden;position:relative;overflow-y:scroll}.tab-list-box[data-v-4176f032]{width:100%;height:60px;font-size:16px;color:#525967;position:relative;z-index:666}.tab-box[data-v-4176f032]{height:100%;width:100px;display:flex;justify-content:center;align-items:center;cursor:pointer;padding:0 10px;transition:all .3s linear;border-bottom:1px solid transparent}.click-tab[data-v-4176f032]{color:#409eff;border-bottom:2px solid #409eff}.tab-box[data-v-4176f032]:hover{color:#409eff}.tab-info-box-hid[data-v-4176f032]{width:0!important}.tab-info-box[data-v-4176f032]{min-width:100%;min-height:100%;background:#fff;position:absolute;top:0;left:0}

1
dist/static/css/472.165ff2be.css vendored Normal file
View File

@ -0,0 +1 @@
.xlogin .el-input__wrapper{padding:1px 1px}.xlogin .el-input__inner{--el-input-inner-height:auto;padding:4px 10px}code[data-v-398cc4e3]{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px;clear:both;display:initial;cursor:pointer}.el-alert[data-v-398cc4e3]{margin:10px 0 10px}.el-alert[data-v-398cc4e3]:first-child{margin:0}.text[data-v-398cc4e3]{font-size:18px;font-weight:700;height:38px;line-height:38px;color:#000}.link[data-v-398cc4e3]{color:#3b6ff1;cursor:pointer}.x-update[data-v-398cc4e3]{width:100%;height:calc(100% - 102px);padding:15px 20px 20px;background:#fff;overflow:auto}.title-wrap[data-v-398cc4e3]{display:flex;padding:0 15px}.title-wrap .el-icon-setting[data-v-398cc4e3]{width:30px;height:30px;margin-right:12px;border-radius:6px;line-height:30px;text-align:center;background:#2362fb;color:#fff;font-size:18px}.title-wrap .title[data-v-398cc4e3]{font-size:16px;font-weight:700}.title-wrap .description[data-v-398cc4e3]{height:22px;line-height:22px;color:#a2a2a2;font-size:13px}.login-wrap[data-v-398cc4e3]{display:flex;height:40px;align-items:center}.login-wrap .face[data-v-398cc4e3]{width:40px;height:40px;border-radius:50%;overflow:hidden}.login-wrap .face img[data-v-398cc4e3]{width:100%}.login-wrap .name[data-v-398cc4e3]{margin:0 8px}.login-wrap .phone[data-v-398cc4e3]{margin-right:8px}.warning-box[data-v-398cc4e3]{margin-top:10px;margin-bottom:10px}.login-box[data-v-398cc4e3]{max-width:800px;background:#f8f8f8;padding:22px;display:flex;border-radius:6px;justify-content:space-between}.login-box .face[data-v-398cc4e3]{width:40px;height:40px;margin-right:14px;border-radius:50%;overflow:hidden;line-height:40px;background:var(--el-color-primary);font-size:12px;color:#fff;text-align:center;flex-grow:0}.login-box .face img[data-v-398cc4e3]{width:100%}.login-box .info[data-v-398cc4e3]{flex-grow:1;color:#a2a2a2;font-size:12px;line-height:20px}.login-box .name[data-v-398cc4e3]{height:22px;line-height:22px;font-weight:700;font-size:16px;color:#000;margin-right:10px}.login-box .login-box-title[data-v-398cc4e3]{height:22px;line-height:22px;font-weight:700;font-size:16px;color:#333;cursor:pointer}.login-box .login-box-title p[data-v-398cc4e3]{height:28px;font-size:14px;color:#a2a2a2;line-height:28px;font-weight:400}.login-box .el-button[data-v-398cc4e3]{height:31px}.last-time[data-v-398cc4e3]{margin:16px 0;padding:16px 0 0}.version a[data-v-398cc4e3]{color:#3b6ff1}.version button[data-v-398cc4e3]{display:block}.data-back[data-v-398cc4e3]{margin-top:40px}.data-back .link[data-v-398cc4e3]{margin-left:20px}.box[data-v-398cc4e3]{width:820px;border-radius:6px;padding:14px;margin-top:20px;background:#fafafa}.box .database-wrap[data-v-398cc4e3]{margin-top:20px}.box .way[data-v-398cc4e3]{margin:14px 0}.box .back-success[data-v-398cc4e3]{color:#f56c6c;height:30px;line-height:30px;font-size:18px;margin-top:12px}.box .explain[data-v-398cc4e3]{margin-top:14px;line-height:22px;font-size:12px;color:#aaa}.box .explain img[data-v-398cc4e3]{width:16px;vertical-align:middle}.custom[data-v-398cc4e3]{width:200px}.custom p[data-v-398cc4e3]{width:200px;margin:14px 0}.custom1[data-v-398cc4e3]{width:200px;margin-top:14px}.el-dialog[data-v-398cc4e3]{padding-left:25px;padding-right:25px;border-radius:6px}.el-dialog .el-dialog__title .description[data-v-398cc4e3]{font-size:14px;color:#a2a2a2;font-weight:400}.login-form .el-button[data-v-398cc4e3]{width:100%;font-size:16px;height:45px}.form-item.password[data-v-398cc4e3]{margin-top:8px}.form-item p[data-v-398cc4e3]{margin-bottom:8px}.form-item .el-input input[data-v-398cc4e3]{height:47px;background:#f8f8f8}.forget[data-v-398cc4e3]{height:40px;line-height:40px;text-align:right;color:#2362fb}.register[data-v-398cc4e3]{margin-top:20px;text-align:center;color:#2362fb;font-size:16px}.time[data-v-398cc4e3]{display:flex}.time .el-input[data-v-398cc4e3]{width:246px;margin-left:108px}.p-contianer[data-v-398cc4e3]{margin-top:30px;border-top:none}.p-contianer .p-bar[data-v-398cc4e3]{margin-right:0}.update-wrap[data-v-398cc4e3]{margin-top:20px}

1
dist/static/css/485.aa70cfc0.css vendored Normal file
View File

@ -0,0 +1 @@
.container[data-v-0d7cfddc]{border:1px solid var(--el-border-color-light);border-radius:4px;background-color:var(--el-fill-color-blank);overflow:hidden}.el-aside[data-v-0d7cfddc]{background-color:#fff}

View File

@ -1 +0,0 @@
.x-page-header[data-v-dcd32f46]{border-bottom:1px solid hsla(0,0%,92%,.761);padding:10px 20px}.x-page-header .x-page-header__icon[data-v-dcd32f46]{width:40px}.message-header[data-v-dcd32f46]{margin-left:28px;height:60px}.message-header .title-icon[data-v-dcd32f46]{width:30px;height:30px;margin-right:10px;border-radius:4px}.message-header .title[data-v-dcd32f46]{font-size:16px;font-weight:600}.message-body[data-v-dcd32f46],.message-content[data-v-dcd32f46]{position:relative;height:100%}.message-body-side[data-v-dcd32f46]{padding:0 0;width:180px;font-size:14px;background-color:#fff;position:absolute;top:0;left:0;bottom:0;z-index:100;border-right:1px solid #e6e6e6;overflow-y:auto}.message-body-side .side-item[data-v-dcd32f46]{position:relative;height:50px;line-height:50px;padding:0 20px;font-size:13px;cursor:pointer}.message-body-side .side-item i[data-v-dcd32f46]{color:#999}.message-body-content[data-v-dcd32f46]{margin-left:180px;height:100%;overflow:hidden}@media(max-width:767px){.message-body-side[data-v-dcd32f46]{width:0;transition:all .1s;overflow-y:hidden}.message-body-content[data-v-dcd32f46]{margin-left:0;transition:all .1s}}

View File

@ -1 +1 @@
.container .el-header{padding:0 20px}.container .el-tabs__header{margin:0}@media (max-width:992px){.adminui-main>.el-container>.el-container>.el-header .right-panel[data-v-6c12f8f6]{display:block;margin-top:0}}.container[data-v-6c12f8f6]{border:1px solid var(--el-border-color-light);border-radius:4px;background-color:var(--el-fill-color-blank);overflow:hidden} .container .el-header{padding:0 20px}.container .el-tabs__header{margin:0}@media (max-width:992px){.adminui-main>.el-container>.el-container>.el-header .right-panel[data-v-afb09b50]{display:block;margin-top:0}}.container[data-v-afb09b50]{border:1px solid var(--el-border-color-light);border-radius:4px;background-color:var(--el-fill-color-blank);overflow:hidden}

View File

@ -1 +0,0 @@
.container[data-v-fa217f6a]{border:1px solid var(--el-border-color-light);border-radius:4px;background-color:var(--el-fill-color-blank);overflow:hidden}.el-aside[data-v-fa217f6a]{background-color:#fff}

View File

@ -1 +0,0 @@
.xlogin .el-input__wrapper{padding:1px 1px}.xlogin .el-input__inner{--el-input-inner-height:auto;padding:4px 10px}code[data-v-3a1638a9]{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px;clear:both;display:initial;cursor:pointer}.el-alert[data-v-3a1638a9]{margin:10px 0 10px}.el-alert[data-v-3a1638a9]:first-child{margin:0}.text[data-v-3a1638a9]{font-size:18px;font-weight:700;height:38px;line-height:38px;color:#000}.link[data-v-3a1638a9]{color:#3b6ff1;cursor:pointer}.x-update[data-v-3a1638a9]{width:100%;height:calc(100% - 102px);padding:15px 20px 20px;background:#fff;overflow:auto}.title-wrap[data-v-3a1638a9]{display:flex;padding:0 15px}.title-wrap .el-icon-setting[data-v-3a1638a9]{width:30px;height:30px;margin-right:12px;border-radius:6px;line-height:30px;text-align:center;background:#2362fb;color:#fff;font-size:18px}.title-wrap .title[data-v-3a1638a9]{font-size:16px;font-weight:700}.title-wrap .description[data-v-3a1638a9]{height:22px;line-height:22px;color:#a2a2a2;font-size:13px}.login-wrap[data-v-3a1638a9]{display:flex;height:40px;align-items:center}.login-wrap .face[data-v-3a1638a9]{width:40px;height:40px;border-radius:50%;overflow:hidden}.login-wrap .face img[data-v-3a1638a9]{width:100%}.login-wrap .name[data-v-3a1638a9]{margin:0 8px}.login-wrap .phone[data-v-3a1638a9]{margin-right:8px}.warning-box[data-v-3a1638a9]{margin-top:10px;margin-bottom:10px}.login-box[data-v-3a1638a9]{max-width:800px;background:#f8f8f8;padding:22px;display:flex;border-radius:6px;justify-content:space-between}.login-box .face[data-v-3a1638a9]{width:40px;height:40px;margin-right:14px;border-radius:50%;overflow:hidden;line-height:40px;background:#2362fb;font-size:12px;color:#fff;text-align:center;flex-grow:0}.login-box .face img[data-v-3a1638a9]{width:100%}.login-box .info[data-v-3a1638a9]{flex-grow:1;color:#a2a2a2;font-size:12px;line-height:20px}.login-box .name[data-v-3a1638a9]{height:22px;line-height:22px;font-weight:700;font-size:16px;color:#000;margin-right:10px}.login-box .login-box-title[data-v-3a1638a9]{height:22px;line-height:22px;font-weight:700;font-size:16px;color:#333;cursor:pointer}.login-box .login-box-title p[data-v-3a1638a9]{height:28px;font-size:14px;color:#a2a2a2;line-height:28px;font-weight:400}.login-box .el-button[data-v-3a1638a9]{height:31px}.last-time[data-v-3a1638a9]{margin:16px 0;padding:16px 0 0}.version a[data-v-3a1638a9]{color:#3b6ff1}.version button[data-v-3a1638a9]{display:block}.data-back[data-v-3a1638a9]{margin-top:40px}.data-back .link[data-v-3a1638a9]{margin-left:20px}.box[data-v-3a1638a9]{width:820px;border-radius:6px;padding:14px;margin-top:20px;background:#fafafa}.box .database-wrap[data-v-3a1638a9]{margin-top:20px}.box .way[data-v-3a1638a9]{margin:14px 0}.box .back-success[data-v-3a1638a9]{color:#f56c6c;height:30px;line-height:30px;font-size:18px;margin-top:12px}.box .explain[data-v-3a1638a9]{margin-top:14px;line-height:22px;font-size:12px;color:#aaa}.box .explain img[data-v-3a1638a9]{width:16px;vertical-align:middle}.custom[data-v-3a1638a9]{width:200px}.custom p[data-v-3a1638a9]{width:200px;margin:14px 0}.custom1[data-v-3a1638a9]{width:200px;margin-top:14px}.el-dialog[data-v-3a1638a9]{padding-left:25px;padding-right:25px;border-radius:6px}.el-dialog .el-dialog__title .description[data-v-3a1638a9]{font-size:14px;color:#a2a2a2;font-weight:400}.login-form .el-button[data-v-3a1638a9]{width:100%;font-size:16px;height:45px}.form-item.password[data-v-3a1638a9]{margin-top:8px}.form-item p[data-v-3a1638a9]{margin-bottom:8px}.form-item .el-input input[data-v-3a1638a9]{height:47px;background:#f8f8f8}.forget[data-v-3a1638a9]{height:40px;line-height:40px;text-align:right;color:#2362fb}.register[data-v-3a1638a9]{margin-top:20px;text-align:center;color:#2362fb;font-size:16px}.time[data-v-3a1638a9]{display:flex}.time .el-input[data-v-3a1638a9]{width:246px;margin-left:108px}.p-contianer[data-v-3a1638a9]{margin-top:30px;border-top:none}.p-contianer .p-bar[data-v-3a1638a9]{margin-right:0}.update-wrap[data-v-3a1638a9]{margin-top:20px}

1
dist/static/css/819.b1a5705f.css vendored Normal file
View File

@ -0,0 +1 @@
.dis-f[data-v-60337e11]{display:flex}.flex-1[data-v-60337e11]{flex:1}.al-item[data-v-60337e11]{align-items:center}.tran-width[data-v-60337e11]{transition:width .2s linear}.hid-box[data-v-60337e11]{width:100%;overflow:hidden;position:relative;overflow-y:scroll}.tab-list-box[data-v-60337e11]{width:100%;height:60px;font-size:16px;color:#525967;position:relative;z-index:666}.tab-box[data-v-60337e11]{height:100%;width:100px;display:flex;justify-content:center;align-items:center;cursor:pointer;padding:0 10px;transition:all .3s linear;border-bottom:1px solid transparent}.click-tab[data-v-60337e11]{border-bottom:2px solid var(--el-color-primary)}.click-tab[data-v-60337e11],.tab-box[data-v-60337e11]:hover{color:var(--el-color-primary)}.tab-info-box-hid[data-v-60337e11]{width:0!important}.tab-info-box[data-v-60337e11]{min-width:100%;min-height:100%;background:#fff;position:absolute;top:0;left:0}

1
dist/static/css/873.d70f6a21.css vendored Normal file
View File

@ -0,0 +1 @@
.x-page-header[data-v-03db4287]{border-bottom:1px solid hsla(0,0%,92%,.761);padding:10px 20px}.x-page-header .x-page-header__icon[data-v-03db4287]{width:40px}.message-header[data-v-03db4287]{margin-left:28px;height:60px}.message-header .title-icon[data-v-03db4287]{width:30px;height:30px;margin-right:10px;border-radius:4px}.message-header .title[data-v-03db4287]{font-size:16px;font-weight:600}.message-body[data-v-03db4287],.message-content[data-v-03db4287]{position:relative;height:100%}.message-body-side[data-v-03db4287]{padding:0 0;font-size:14px;background-color:#fff;position:absolute;top:0;left:0;bottom:0;z-index:100;border-right:1px solid #e6e6e6;overflow-y:auto}.message-body-side .side-item[data-v-03db4287]{position:relative;height:50px;line-height:50px;padding:0 20px;font-size:13px;cursor:pointer}.message-body-side .side-item i[data-v-03db4287]{color:#999}.message-body-content[data-v-03db4287]{height:100%;overflow:hidden}@media(max-width:767px){.message-body-side[data-v-03db4287]{width:0!important;transition:all .1s;overflow-y:hidden}.message-body-content[data-v-03db4287]{margin-left:0!important;transition:all .1s}}

1
dist/static/css/app.13582ee2.css vendored Normal file

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

1
dist/static/js/485.53a8a895.js vendored Normal file
View File

@ -0,0 +1 @@
"use strict";(self["webpackChunkx_php_admin"]=self["webpackChunkx_php_admin"]||[]).push([[485],{485:function(e,t,a){a.r(t),a.d(t,{default:function(){return g}});var l=a(6252),n=a(3577);const i={class:"left-panel"},r={class:"right-panel"},o={class:"right-panel-search"};function c(e,t,a,c,s,u){const p=(0,l.up)("x-page-header"),h=(0,l.up)("x-menu-item"),d=(0,l.up)("el-aside"),m=(0,l.up)("el-date-picker"),f=(0,l.up)("el-input"),g=(0,l.up)("el-button"),w=(0,l.up)("el-header"),y=(0,l.up)("xEcharts"),b=(0,l.up)("el-table-column"),k=(0,l.up)("xTable"),C=(0,l.up)("el-main"),x=(0,l.up)("el-container"),_=(0,l.up)("info"),W=(0,l.up)("el-drawer");return(0,l.wg)(),(0,l.iD)(l.HY,null,[(0,l.Wm)(x,null,{default:(0,l.w5)((()=>[(0,l.Wm)(d,{width:"210px"},{default:(0,l.w5)((()=>[(0,l.Wm)(p,{title:"日志",icon:"el-icon-Calendar",style:{padding:"10px 16px"}}),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.typeList,((e,t)=>((0,l.wg)(),(0,l.j4)(h,{key:t,label:e.label,num:e.num,icon:e.icon,"icon-color":e.color,select:s.search.type==e.value,onClick:t=>u.sideClick(e)},null,8,["label","num","icon","icon-color","select","onClick"])))),128))])),_:1}),(0,l.Wm)(x,{style:{padding:"10px 10px 6px 10px"}},{default:(0,l.w5)((()=>[(0,l.Wm)(C,{class:"nopadding"},{default:(0,l.w5)((()=>[(0,l.Wm)(x,{class:"container"},{default:(0,l.w5)((()=>[(0,l.Wm)(w,null,{default:(0,l.w5)((()=>[(0,l._)("div",i,[(0,l.Wm)(m,{modelValue:s.date,"onUpdate:modelValue":t[0]||(t[0]=e=>s.date=e),type:"datetimerange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},null,8,["modelValue"])]),(0,l._)("div",r,[(0,l._)("div",o,[(0,l.Wm)(f,{modelValue:s.search.keyword,"onUpdate:modelValue":t[1]||(t[1]=e=>s.search.keyword=e),placeholder:"输入关键词",clearable:""},null,8,["modelValue"]),(0,l.Wm)(g,{type:"primary",icon:"el-icon-search",onClick:u.upsearch},null,8,["onClick"])])])])),_:1}),"object"===typeof s.chartoption&&Object.keys(s.chartoption).length>0?((0,l.wg)(),(0,l.j4)(w,{key:0,style:{height:"120px"}},{default:(0,l.w5)((()=>[(0,l.Wm)(y,{height:"100%",option:s.chartoption},null,8,["option"])])),_:1})):(0,l.kq)("",!0),(0,l.Wm)(C,{class:"nopadding"},{default:(0,l.w5)((()=>[(0,l.Wm)(k,{ref:"table",api:s.api,params:s.search,tableColumn:s.tableColumn,stripe:"",highlightCurrentRow:"",onRowClick:u.rowClick},{default:(0,l.w5)((()=>[(0,l.Wm)(b,{type:"index",width:"60",align:"center"},{default:(0,l.w5)((e=>[(0,l._)("span",null,(0,n.zw)(e.$index+(s.currentPage-1)*s.limit+1),1)])),_:1})])),_:1},8,["api","params","tableColumn","onRowClick"])])),_:1})])),_:1})])),_:1})])),_:1})])),_:1}),(0,l.Wm)(W,{modelValue:s.infoDrawer,"onUpdate:modelValue":t[2]||(t[2]=e=>s.infoDrawer=e),title:"日志详情",size:700,"destroy-on-close":""},{default:(0,l.w5)((()=>[(0,l.Wm)(_,{ref:"info"},null,512)])),_:1},8,["modelValue"])],64)}var s=a(6359),u=a(7015),p=a(8492),h=a(8046),d={name:"log",components:{info:s["default"],columnItem:p.Z,xMenuItem:h.Z,xEcharts:u.Z},data(){return{infoDrawer:!1,chartoption:{},typeList:[],date:[],data:[],search:{},api:"",current:"",config:{},tableColumn:{},column:"default",currentPage:1,limit:20}},mounted(){this.getType()},watch:{current(){this.search.type=this.current,this.getCurrent()}},methods:{sideClick(e){this.info=e,this.search.type=e.value,this.current=e.value,this.column=e.column||"column"},changeURLArg(e,t,a){var l=t+"=([^&]*)";if(""===a)return e=e.replace(new RegExp("&?"+l,"gi"),""),e=e.replace(new RegExp("\\??"+l+"&?","gi"),"?"),e;var n=t+"="+a;if(e.match(l)){var i="("+t+"=)([^&]*)";return i=e.replace(new RegExp(i,"gi"),n),i}return e.match("[?]")?e+"&"+n:e+"?"+n},nodeClick(e){if(e.disabled)return!1;this.current=e.label,this.column=e.column||"column"},getType(){this.$http.get("log/admin/types",{type:this.$route.query.type},{cacheparameters:!0}).then((e=>{if(200==e.code){Object.assign(this.$data,e.data);for(const e in this.search)Object.prototype.hasOwnProperty.call(this.$route.query,e)&&(this.search[e]=this.$route.query[e])}}))},getCurrent(){this.tableColumn=this.config[this.column]||this.config.default,this.api||(this.api="log/admin/lists"),this.$refs.table.reload(this.search);let e=window.location.href;for(const[t,a]of Object.entries(this.search))e=this.changeURLArg(e,t,a);history.replaceState(Object.assign({},window.history.state,{url:e}),"null",e)},upsearch(){this.getCurrent()},rowClick(e){this.infoDrawer=!0,this.$nextTick((()=>{this.$refs.info.setData(e)}))}}},m=a(3744);const f=(0,m.Z)(d,[["render",c],["__scopeId","data-v-0d7cfddc"]]);var g=f}}]);

View File

@ -1 +0,0 @@
"use strict";(self["webpackChunkx_php_admin"]=self["webpackChunkx_php_admin"]||[]).push([[491],{6491:function(e,i,a){a.r(i),a.d(i,{default:function(){return p}});var s=a(6252);const t={class:"message-body"},l={class:"message-content"},n={class:"message-body-side"},o={class:"message-body-flexbox"},c={class:"message-body-item"},d={class:"message-body-content"};function u(e,i,a,u,r,h){const m=(0,s.up)("x-page-header"),g=(0,s.up)("x-menu-item"),b=(0,s.up)("table2"),p=(0,s.Q2)("loading");return(0,s.wg)(),(0,s.iD)("div",t,[(0,s.wy)(((0,s.wg)(),(0,s.iD)("div",l,[(0,s._)("div",n,[(0,s._)("div",o,[(0,s.Wm)(m,{title:r.title,icon:r.icon},null,8,["title","icon"])]),(0,s._)("div",c,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(r.items,((e,i)=>((0,s.wg)(),(0,s.j4)(g,{key:i,label:e.label,num:e.num,icon:e.icon,"icon-color":e.color,select:r.search[r.key]==e.value,onClick:i=>h.sideClick(e)},null,8,["label","num","icon","icon-color","select","onClick"])))),128))])]),(0,s._)("div",d,[(0,s.Wm)(b,{ref:"table",onChildLoaded:h.getChildData},null,8,["onChildLoaded"])])])),[[p,r.loading]])])}var r=a(9501),h=a(5016),m={name:"table_3",components:{table2:h["default"],xMenuItem:r.Z},data(){return{loading:!0,icon:"",title:"",items:[],key:"",search:{}}},methods:{sideClick(e){this.info=e,this.search[this.key||"type"]=e.value,this.$refs.table.filterChange(this.search)},getChildData(e){Object.assign(this.$data,e),this.loading=!1}}},g=a(3744);const b=(0,g.Z)(m,[["render",u],["__scopeId","data-v-dcd32f46"]]);var p=b}}]);

1
dist/static/js/582.7871cb6e.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
"use strict";(self["webpackChunkx_php_admin"]=self["webpackChunkx_php_admin"]||[]).push([[68],{68:function(e,t,a){a.r(t),a.d(t,{default:function(){return f}});var l=a(6252),n=a(3577);const i={class:"left-panel"},r={class:"right-panel"},o={class:"right-panel-search"};function c(e,t,a,c,u,s){const p=(0,l.up)("x-page-header"),d=(0,l.up)("x-menu-item"),h=(0,l.up)("el-aside"),m=(0,l.up)("el-date-picker"),g=(0,l.up)("el-input"),f=(0,l.up)("el-button"),w=(0,l.up)("el-header"),y=(0,l.up)("xEcharts"),k=(0,l.up)("el-table-column"),C=(0,l.up)("xTable"),b=(0,l.up)("el-main"),x=(0,l.up)("el-container"),_=(0,l.up)("info"),W=(0,l.up)("el-drawer");return(0,l.wg)(),(0,l.iD)(l.HY,null,[(0,l.Wm)(x,null,{default:(0,l.w5)((()=>[(0,l.Wm)(h,{width:"210px"},{default:(0,l.w5)((()=>[(0,l.Wm)(p,{title:"日志",icon:"el-icon-Calendar",style:{padding:"10px 16px"}}),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(u.typeList,((e,t)=>((0,l.wg)(),(0,l.j4)(d,{key:t,label:e.label,num:e.num,icon:e.icon,"icon-color":e.color,select:u.search.type==e.value,onClick:t=>s.sideClick(e)},null,8,["label","num","icon","icon-color","select","onClick"])))),128))])),_:1}),(0,l.Wm)(x,{style:{padding:"10px 10px 6px 10px"}},{default:(0,l.w5)((()=>[(0,l.Wm)(b,{class:"nopadding"},{default:(0,l.w5)((()=>[(0,l.Wm)(x,{class:"container"},{default:(0,l.w5)((()=>[(0,l.Wm)(w,null,{default:(0,l.w5)((()=>[(0,l._)("div",i,[(0,l.Wm)(m,{modelValue:u.date,"onUpdate:modelValue":t[0]||(t[0]=e=>u.date=e),type:"datetimerange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},null,8,["modelValue"])]),(0,l._)("div",r,[(0,l._)("div",o,[(0,l.Wm)(g,{modelValue:u.search.keyword,"onUpdate:modelValue":t[1]||(t[1]=e=>u.search.keyword=e),placeholder:"输入关键词",clearable:""},null,8,["modelValue"]),(0,l.Wm)(f,{type:"primary",icon:"el-icon-search",onClick:s.upsearch},null,8,["onClick"])])])])),_:1}),"object"===typeof u.chartoption&&Object.keys(u.chartoption).length>0?((0,l.wg)(),(0,l.j4)(w,{key:0,style:{height:"120px"}},{default:(0,l.w5)((()=>[(0,l.Wm)(y,{height:"100%",option:u.chartoption},null,8,["option"])])),_:1})):(0,l.kq)("",!0),(0,l.Wm)(b,{class:"nopadding"},{default:(0,l.w5)((()=>[(0,l.Wm)(C,{ref:"table",api:u.api,params:u.search,tableColumn:u.tableColumn,stripe:"",highlightCurrentRow:"",onRowClick:s.rowClick},{default:(0,l.w5)((()=>[(0,l.Wm)(k,{type:"index",width:"60",align:"center"},{default:(0,l.w5)((e=>[(0,l._)("span",null,(0,n.zw)(e.$index+(u.currentPage-1)*u.limit+1),1)])),_:1})])),_:1},8,["api","params","tableColumn","onRowClick"])])),_:1})])),_:1})])),_:1})])),_:1})])),_:1}),(0,l.Wm)(W,{modelValue:u.infoDrawer,"onUpdate:modelValue":t[2]||(t[2]=e=>u.infoDrawer=e),title:"日志详情",size:700,"destroy-on-close":""},{default:(0,l.w5)((()=>[(0,l.Wm)(_,{ref:"info"},null,512)])),_:1},8,["modelValue"])],64)}var u=a(6359),s=a(7015),p=a(9399),d=a(9501),h={name:"log",components:{info:u["default"],columnItem:p.Z,xMenuItem:d.Z,xEcharts:s.Z},data(){return{infoDrawer:!1,chartoption:{},typeList:[],date:[],data:[],search:{keyword:this.$route.query.keyword||"",type:this.$route.query.type||""},api:"",current:"",config:{},tableColumn:{},column:"default",currentPage:1,limit:20}},mounted(){this.getType()},watch:{current(){this.search.type=this.current,this.getCurrent()}},methods:{sideClick(e){this.info=e,this.search.type=e.value,this.current=e.value,this.column=e.column||"column"},changeURLArg(e,t,a){var l=t+"=([^&]*)";if(""===a)return e=e.replace(new RegExp("&?"+l,"gi"),""),e=e.replace(new RegExp("\\??"+l+"&?","gi"),"?"),e;var n=t+"="+a;if(e.match(l)){var i="("+t+"=)([^&]*)";return i=e.replace(new RegExp(i,"gi"),n),i}return e.match("[?]")?e+"&"+n:e+"?"+n},nodeClick(e){if(e.disabled)return!1;this.current=e.label,this.column=e.column||"column"},getType(){this.$http.get("log/admin/types",{type:this.search.type},{cacheparameters:!0}).then((e=>{200==e.code&&Object.assign(this.$data,e.data)}))},getCurrent(){this.tableColumn=this.config[this.column]||this.config.default,this.api||(this.api="log/admin/lists"),this.$refs.table.reload(this.search);var e=this.changeURLArg(window.location.href,"type",this.current);e=this.changeURLArg(e,"keyword",this.search.keyword),history.replaceState(Object.assign({},window.history.state,{url:e}),"null",e)},upsearch(){this.getCurrent()},rowClick(e){this.infoDrawer=!0,this.$nextTick((()=>{this.$refs.info.setData(e)}))}}},m=a(3744);const g=(0,m.Z)(h,[["render",c],["__scopeId","data-v-fa217f6a"]]);var f=g}}]);

View File

@ -1 +1 @@
"use strict";(self["webpackChunkx_php_admin"]=self["webpackChunkx_php_admin"]||[]).push([[78],{7078:function(e,n,t){t.r(n),t.d(n,{default:function(){return o}});var u=t(6252);function a(e,n,t,a,r,c){const s=(0,u.up)("table2");return(0,u.wg)(),(0,u.j4)(s,{name:"user"})}var r=t(5016),c={name:"user",components:{table2:r["default"]},data(){return{}},computed:{},watch:{},mounted(){},methods:{}},s=t(3744);const d=(0,s.Z)(c,[["render",a]]);var o=d}}]); "use strict";(self["webpackChunkx_php_admin"]=self["webpackChunkx_php_admin"]||[]).push([[78],{7078:function(e,n,t){t.r(n),t.d(n,{default:function(){return o}});var u=t(6252);function a(e,n,t,a,r,c){const s=(0,u.up)("table2");return(0,u.wg)(),(0,u.j4)(s,{name:"user"})}var r=t(596),c={name:"user",components:{table2:r["default"]},data(){return{}},computed:{},watch:{},mounted(){},methods:{}},s=t(3744);const d=(0,s.Z)(c,[["render",a]]);var o=d}}]);

View File

@ -1 +1 @@
"use strict";(self["webpackChunkx_php_admin"]=self["webpackChunkx_php_admin"]||[]).push([[383],{4383:function(a,e,t){t.r(e),t.d(e,{default:function(){return b}});var i=t(6252),l=t(3577);const n={class:"dis-f",style:{"flex-direction":"column",height:"100%"}},s={class:"left-panel tab-list-box dis-f al-item"},c=["onClick"],d={class:"right-panel"},o={key:0,class:"right-panel-search"},p={class:"flex-1 dis-f"},u={class:"hid-box tran-width"},r={class:"tab-info-box tab-info-box-hid"};function m(a,e,t,m,h,k){const f=(0,i.up)("el-button"),g=(0,i.up)("el-header"),v=(0,i.up)("InstalledApplist"),b=(0,i.up)("plugin-market"),_=(0,i.up)("el-container");return(0,i.wg)(),(0,i.iD)("div",n,[(0,i.Wm)(_,null,{default:(0,i.w5)((()=>[(0,i.Wm)(g,null,{default:(0,i.w5)((()=>[(0,i._)("div",s,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(h.tabList,((a,e)=>((0,i.wg)(),(0,i.iD)("div",{key:e,class:(0,l.C_)(["tab-box",{"click-tab":a.type===h.activeName}]),onClick:e=>k.changeTab(a.type)},(0,l.zw)(a.title),11,c)))),128))]),(0,i._)("div",d,["market"==h.activeName?((0,i.wg)(),(0,i.iD)("div",o,[(0,i.Wm)(f,{type:"primary",size:"small",onClick:e[0]||(e[0]=a=>k.cleanCache()),loading:h.updateloading,icon:"el-icon-opportunity"},{default:(0,i.w5)((()=>[(0,i.Uk)("更新列表")])),_:1},8,["loading"])])):(0,i.kq)("",!0)])])),_:1}),(0,i._)("div",p,[(0,i._)("div",u,[(0,i._)("div",r,["manage"==h.activeName?((0,i.wg)(),(0,i.j4)(v,{key:0})):(0,i.kq)("",!0),"market"==h.activeName?((0,i.wg)(),(0,i.j4)(b,{key:1,ref:"market"},null,512)):(0,i.kq)("",!0)])])])])),_:1})])}var h=t(7440),k=t(8084),f={data(){return{activeName:"manage",updateloading:!1,tabList:[{title:"插件管理",type:"manage"},{title:"插件市场",type:"market"}]}},components:{pluginMarket:h["default"],InstalledApplist:k["default"]},mounted(){},methods:{changeTab(a){this.activeName=a},cleanCache(){this.updateloading=!0,this.$http.post("admin/application/cleanCache",{},{cacheparameters:!0}).then((a=>{200==a.code&&(this.$refs.market.loaddata(),this.updateloading=!1)}))}}},g=t(3744);const v=(0,g.Z)(f,[["render",m],["__scopeId","data-v-4176f032"]]);var b=v}}]); "use strict";(self["webpackChunkx_php_admin"]=self["webpackChunkx_php_admin"]||[]).push([[819],{9819:function(a,e,t){t.r(e),t.d(e,{default:function(){return b}});var i=t(6252),l=t(3577);const n={class:"dis-f",style:{"flex-direction":"column",height:"100%"}},s={class:"left-panel tab-list-box dis-f al-item"},c=["onClick"],d={class:"right-panel"},o={key:0,class:"right-panel-search"},p={class:"flex-1 dis-f"},u={class:"hid-box tran-width"},r={class:"tab-info-box tab-info-box-hid"};function m(a,e,t,m,h,k){const g=(0,i.up)("el-button"),f=(0,i.up)("el-header"),v=(0,i.up)("InstalledApplist"),b=(0,i.up)("plugin-market"),_=(0,i.up)("el-container");return(0,i.wg)(),(0,i.iD)("div",n,[(0,i.Wm)(_,null,{default:(0,i.w5)((()=>[(0,i.Wm)(f,null,{default:(0,i.w5)((()=>[(0,i._)("div",s,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(h.tabList,((a,e)=>((0,i.wg)(),(0,i.iD)("div",{key:e,class:(0,l.C_)(["tab-box",{"click-tab":a.type===h.activeName}]),onClick:e=>k.changeTab(a.type)},(0,l.zw)(a.title),11,c)))),128))]),(0,i._)("div",d,["market"==h.activeName?((0,i.wg)(),(0,i.iD)("div",o,[(0,i.Wm)(g,{type:"primary",size:"small",onClick:e[0]||(e[0]=a=>k.cleanCache()),loading:h.updateloading,icon:"el-icon-opportunity"},{default:(0,i.w5)((()=>[(0,i.Uk)("更新列表")])),_:1},8,["loading"])])):(0,i.kq)("",!0)])])),_:1}),(0,i._)("div",p,[(0,i._)("div",u,[(0,i._)("div",r,["manage"==h.activeName?((0,i.wg)(),(0,i.j4)(v,{key:0})):(0,i.kq)("",!0),"market"==h.activeName?((0,i.wg)(),(0,i.j4)(b,{key:1,ref:"market"},null,512)):(0,i.kq)("",!0)])])])])),_:1})])}var h=t(7440),k=t(9725),g={data(){return{activeName:"manage",updateloading:!1,tabList:[{title:"插件管理",type:"manage"},{title:"插件市场",type:"market"}]}},components:{pluginMarket:h["default"],InstalledApplist:k["default"]},mounted(){},methods:{changeTab(a){this.activeName=a},cleanCache(){this.updateloading=!0,this.$http.post("admin/application/cleanCache",{},{cacheparameters:!0}).then((a=>{200==a.code&&(this.$refs.market.loaddata(),this.updateloading=!1)}))}}},f=t(3744);const v=(0,f.Z)(g,[["render",m],["__scopeId","data-v-60337e11"]]);var b=v}}]);

1
dist/static/js/873.35155abf.js vendored Normal file
View File

@ -0,0 +1 @@
"use strict";(self["webpackChunkx_php_admin"]=self["webpackChunkx_php_admin"]||[]).push([[873],{7873:function(e,t,i){i.r(t),i.d(t,{default:function(){return b}});var s=i(6252),a=i(3577);const l={class:"message-body"},n={class:"message-content"},o={class:"message-body-flexbox"},d={class:"message-body-item"};function c(e,t,i,c,h,u){const r=(0,s.up)("x-page-header"),m=(0,s.up)("x-menu-item"),g=(0,s.up)("table2"),b=(0,s.Q2)("loading");return(0,s.wg)(),(0,s.iD)("div",l,[(0,s.wy)(((0,s.wg)(),(0,s.iD)("div",n,[(0,s._)("div",{class:"message-body-side",style:(0,a.j5)({width:h.width+"px"})},[(0,s._)("div",o,[(0,s.Wm)(r,{title:h.title,icon:h.icon},null,8,["title","icon"])]),(0,s._)("div",d,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(h.items,((e,t)=>((0,s.wg)(),(0,s.j4)(m,{key:t,label:e.label,num:e.num,icon:e.icon,"icon-color":e.color,select:h.search[h.key]==e.value,onClick:t=>u.sideClick(e)},null,8,["label","num","icon","icon-color","select","onClick"])))),128))])],4),(0,s._)("div",{class:"message-body-content",style:(0,a.j5)({"margin-left":h.width+"px"})},[(0,s.Wm)(g,{ref:"table",onChildLoaded:u.getChildData},null,8,["onChildLoaded"])],4)])),[[b,h.loading]])])}var h=i(8046),u=i(596),r={name:"table_3",components:{table2:u["default"],xMenuItem:h.Z},data(){return{loading:!0,icon:"",width:180,title:"",items:[],key:"",search:{}}},methods:{sideClick(e){this.info=e,this.search[this.key||"type"]=e.value,this.$refs.table.filterChange(this.search)},getChildData(e){Object.assign(this.$data,e),this.loading=!1}}},m=i(3744);const g=(0,m.Z)(r,[["render",c],["__scopeId","data-v-03db4287"]]);var b=g}}]);

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

View File

@ -63,6 +63,7 @@ export default {
margin-left: 5px; margin-left: 5px;
width: calc(100% - 20px); width: calc(100% - 20px);
overflow: hidden; overflow: hidden;
white-space:nowrap
} }
&.is-select { &.is-select {

View File

@ -1,8 +1,8 @@
<template> <template>
<div style="display: flex;"> <div style="display: flex;">
<el-badge v-if="item.status && item.status.key && row[item.status.key]" is-dot class="item" :type="item.status.type || 'primary'" style="width: 10px;cursor: pointer;line-height: 38px;"></el-badge> <el-badge v-if="item.status && item.status.key && row[item.status.key]" is-dot class="item" :type="item.status.type || 'primary'" style="width: 10px;cursor: pointer;margin-top: 10px;"></el-badge>
<x-avatar v-if="item.columntype == 'avatar' || item.component == 'avatar'" :name="item.name" :options="item.options" :data="row"></x-avatar> <x-avatar v-if="item.columntype == 'avatar' || item.component == 'avatar'" :name="item.name" :options="item.options" :data="row"></x-avatar>
<el-badge v-else-if="item.columntype=='badge' || item.columntype=='imagegroup'" :value="getType(row[item.name])" @click="handleClick(row, item)" :type="item.options.type || 'warning'"></el-badge> <el-badge v-else-if="item.columntype == 'badge' || item.columntype == 'imagegroup'" :value="getType(row[item.name])" @click="handleClick(row, item)" v-bind="item.options"></el-badge>
<el-image v-else-if="item.columntype == 'image'" :preview-src-list="[getImg(row[item.name])]" :preview-teleported="true" hide-on-click-modal="true" lazy="true" style="max-width: 60px; height: 26px; border-radius: 2px;" fit="cover" :src="getImg(row[item.name])"> <el-image v-else-if="item.columntype == 'image'" :preview-src-list="[getImg(row[item.name])]" :preview-teleported="true" hide-on-click-modal="true" lazy="true" style="max-width: 60px; height: 26px; border-radius: 2px;" fit="cover" :src="getImg(row[item.name])">
<template #error> <template #error>
<div class="image-slot"> <div class="image-slot">
@ -13,39 +13,20 @@
<input v-else-if="item.columntype == 'input'" @click="handleClick(row, item)" style="cursor: pointer; " class="el-input__inner" type="text" readonly :value="row[item.name]"> <input v-else-if="item.columntype == 'input'" @click="handleClick(row, item)" style="cursor: pointer; " class="el-input__inner" type="text" readonly :value="row[item.name]">
<p v-else-if="item.columntype == 'status'"> <p v-else-if="item.columntype == 'status'">
<template v-for="{ value, type = 'success', label } in item.options.items"> <template v-for="{ value, type = 'success', label } in item.options.items">
<x-status-indicator <x-status-indicator :key="value" pulse :type="type || 'success'" :label="label" @click="handleClick(row, item)" v-if="value == row[item.name]"></x-status-indicator>
:key="value"
pulse
:type="type || 'success'"
:label="label"
@click="handleClick(row, item)"
v-if="value == row[item.name]"></x-status-indicator>
</template> </template>
</p> </p>
<p v-else-if="item.columntype == 'button' && item.options.items && item.options.items.length > 0"> <p v-else-if="item.columntype == 'button' && item.options.items && item.options.items.length > 0">
<template v-for="op in item.options.items"> <template v-for="op in item.options.items">
<el-button <el-button @click="handleClick(row, op.options || item)" :key="op.value" :type="op.type || 'warning'" :size="op.size || 'small'" :link="op.link" :icon="op.icon" :circle="op.circle || false" v-if="op.value == row[item.name]">
@click="handleClick(row, op.options || item)"
:key="op.value"
:type="op.type || 'warning'"
:size="op.size || 'small'"
:link="op.link"
:icon="op.icon"
:circle="op.circle || false"
v-if="value === row[item.name]">
{{ op.label }} {{ op.label }}
</el-button> </el-button>
</template> </template>
</p> </p>
<p v-else-if="item.columntype == 'button'"> <p v-else-if="item.columntype == 'button'">
<el-button <el-button @click="handleClick(row, item)" :type="item.options.type || 'warning'" :size="item.options.size || 'small'" :circle="item.options.circle || false" :icon="item.options.icon"> {{ row[item.name] }} </el-button>
@click="handleClick(row, item)"
:type="item.options.type || 'warning'"
:size="item.options.size || 'small'"
:circle="item.options.circle || false"
:icon="item.options.icon"> {{ row[item.name] }} </el-button>
</p> </p>
<p v-else-if="item.columntype == 'tag' || item.columntype == 'time'" @click="handleClick(row, item)" v-time.tip="row[item.name]"></p> <p v-else-if="item.columntype == 'tag' || item.columntype == 'time'" @click="handleClick(row, item)" v-time.tip="row[item.name]"></p>
@ -56,12 +37,19 @@
</div> </div>
</template> </template>
<style scoped> <style scoped>
.el-badge{
display: inherit;
}
</style> </style>
<script> <script>
export default { export default {
name: 'XTableColumnItem', name: 'XTableColumnItem',
props: { props: {
item: { type: Object, default: () => {} }, item: {
type: Object, default: () => ({
options: {}
})
},
row: { type: Object, default: () => { } }, row: { type: Object, default: () => { } },
}, },
methods: { methods: {

View File

@ -9,7 +9,9 @@
</div> </div>
<ul v-if="!ismobile" class="nav"> <ul v-if="!ismobile" class="nav">
<li v-for="item in menu" :key="item" :class="pmenu.path == item.path ? 'active' : ''" @click="showMenu(item)"> <li v-for="item in menu" :key="item" :class="pmenu.path == item.path ? 'active' : ''" @click="showMenu(item)">
<el-icon><component :is="item.meta.icon || 'el-icon-menu'" /></el-icon> <el-icon>
<component :is="item.meta.icon || 'el-icon-menu'" />
</el-icon>
<span>{{ item.meta.title }}</span> <span>{{ item.meta.title }}</span>
</li> </li>
</ul> </ul>
@ -138,9 +140,10 @@
<div class="adminui-side-split-scroll"> <div class="adminui-side-split-scroll">
<el-scrollbar> <el-scrollbar>
<ul> <ul>
<li v-for="item in menu" :key="item" :class="pmenu.path==item.path?'active':''" <li v-for="item in menu" :key="item" :class="pmenu.path == item.path ? 'active' : ''" @click="showMenu(item)">
@click="showMenu(item)"> <el-icon>
<el-icon><component :is="item.meta.icon || el-icon-menu" /></el-icon> <component :is="item.meta.icon || el-icon-menu" />
</el-icon>
<p>{{ item.meta.title }}</p> <p>{{ item.meta.title }}</p>
</li> </li>
</ul> </ul>
@ -270,6 +273,9 @@
this.nextMenu = this.filterUrl(this.pmenu.children); this.nextMenu = this.filterUrl(this.pmenu.children);
this.$nextTick(() => { this.$nextTick(() => {
this.active = this.$route.meta.active || this.$route.fullPath; this.active = this.$route.meta.active || this.$route.fullPath;
if (this.active && !this.active.startsWith('/')) {
this.active = '/' + this.active;
}
}) })
}, },
// //

View File

@ -106,12 +106,12 @@ export default {
} }
.click-tab { .click-tab {
color: #409eff; color: var(--el-color-primary);
border-bottom: 2px solid #409eff; border-bottom: 2px solid var(--el-color-primary);
} }
.tab-box:hover { .tab-box:hover {
color: #409eff; color: var(--el-color-primary);
} }
.tab-info-box-hid { .tab-info-box-hid {

View File

@ -182,7 +182,6 @@ export default {
</script> </script>
<style scoped> <style scoped>
.pop-box { .pop-box {
position: fixed; position: fixed;
top: 0; top: 0;
@ -192,6 +191,7 @@ export default {
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
} }
code { code {
padding: 2px 4px; padding: 2px 4px;
font-size: 90%; font-size: 90%;
@ -202,6 +202,7 @@ code {
display: initial; display: initial;
cursor: pointer; cursor: pointer;
} }
.dis-f { .dis-f {
display: flex; display: flex;
} }
@ -278,6 +279,7 @@ code {
.tool-box { .tool-box {
font-size: 20px; font-size: 20px;
} }
.tool-box .icon { .tool-box .icon {
cursor: pointer; cursor: pointer;
} }

View File

@ -18,7 +18,9 @@
</div> </div>
</div> </div>
<div class="installed" v-if="item.installed"> <div class="installed" v-if="item.installed">
<span><el-icon><component :is="'el-icon-Select'" /></el-icon></span> <span><el-icon>
<component :is="'el-icon-Select'" />
</el-icon></span>
</div> </div>
</div> </div>
</template> </template>
@ -34,9 +36,8 @@ let props = defineProps({
</script> </script>
<style scoped> <style scoped>
.tab-box .installed { .tab-box .installed {
background-color: #54cbffd4; background-color: var(--el-color-primary-light-3);
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
position: absolute; position: absolute;
@ -49,7 +50,7 @@ background-color: #54cbffd4;
.tab-box .installed span { .tab-box .installed span {
border: 1px solid #54cbffd4; border: 1px solid var(--el-color-primary-light-3);
transform: rotate(45deg); transform: rotate(45deg);
color: #fff; color: #fff;
display: block; display: block;
@ -65,9 +66,11 @@ background-color: #54cbffd4;
.dis-f { .dis-f {
display: flex; display: flex;
} }
.al-item { .al-item {
align-items: center; align-items: center;
} }
.mg-r-25 { .mg-r-25 {
margin-right: 25px; margin-right: 25px;
} }
@ -136,5 +139,4 @@ background-color: #54cbffd4;
.tab-box:hover { .tab-box:hover {
transform: translateY(-6px); transform: translateY(-6px);
box-shadow: 0 10px 12px 0 rgba(0, 0, 0, .1); box-shadow: 0 10px 12px 0 rgba(0, 0, 0, .1);
} }</style>
</style>

View File

@ -61,10 +61,7 @@ export default {
typeList: [], typeList: [],
date: [], date: [],
data: [], data: [],
search: { search: {},
keyword: this.$route.query.keyword || '',
type: this.$route.query.type || ''
},
api: '', api: '',
current: '', current: '',
config: {}, config: {},
@ -119,9 +116,15 @@ export default {
this.column = data.column || 'column'; this.column = data.column || 'column';
}, },
getType() { getType() {
this.$http.get('log/admin/types', { type: this.search.type }, { cacheparameters: true }).then((res) => { this.$http.get('log/admin/types', { type: this.$route.query.type }, { cacheparameters: true }).then((res) => {
if (res.code == 200) { if (res.code == 200) {
Object.assign(this.$data, res.data); Object.assign(this.$data, res.data);
// search
for (const key in this.search) {
if (Object.prototype.hasOwnProperty.call(this.$route.query, key)) {
this.search[key] = this.$route.query[key];
}
}
} }
}); });
}, },
@ -132,8 +135,10 @@ export default {
} }
this.$refs.table.reload(this.search) this.$refs.table.reload(this.search)
var url = this.changeURLArg(window.location.href, 'type', this.current) let url = window.location.href;
url = this.changeURLArg(url, 'keyword', this.search.keyword) for (const [key, value] of Object.entries(this.search)) {
url = this.changeURLArg(url, key, value)
}
history.replaceState(Object.assign({}, window.history.state, { url: url }), 'null', url); history.replaceState(Object.assign({}, window.history.state, { url: url }), 'null', url);
}, },
upsearch() { upsearch() {

View File

@ -9,7 +9,7 @@
</div> </div>
</el-header> </el-header>
<el-main> <el-main>
<el-card shadow="never" v-if="statistic.length>0"> <el-card shadow="never" v-if="statistic.length > 0" class="xcard">
<div class="number-data"> <div class="number-data">
<div class="item" v-for="(s, index) in statistic" :key="index"> <div class="item" v-for="(s, index) in statistic" :key="index">
<x-statistic :title="s.title" :value="s.value" :description="s.description" :tips="s.tips" groupSeparator> <x-statistic :title="s.title" :value="s.value" :description="s.description" :tips="s.tips" groupSeparator>
@ -25,8 +25,8 @@
</el-row> </el-row>
</div> </div>
</el-card> </el-card>
<el-card shadow="never" v-if="table && table.column.length>0" style="margin-bottom: 0px;"> <el-card shadow="never" v-if="table && table.column.length > 0" class="xcard">
<xTable stripe ref="table" :data="table.data" :api="table.api" :tableColumn="table.column" :hideDo="table.hideDo || true" :hidePagination="table.hidePagination || true" show-summary :height="table.height || 'auto'"> <xTable ref="table" :data="table.data" :api="table.api" :tableColumn="table.column" :hideDo="table.hideDo || true" :hidePagination="table.hidePagination || true" :height="table.height || 'auto'">
<el-table-column type="index" width="50" fixed /> <el-table-column type="index" width="50" fixed />
</xTable> </xTable>
</el-card> </el-card>
@ -117,16 +117,65 @@
} }
} }
</script> </script>
<style scoped> <style>
.el-card {margin-bottom: 15px;} .xcard {
.number-data {display: flex;} margin-bottom: 10px;
.number-data .item {flex:1;border-right: 1px solid #f0f0f0;padding:0 20px;} }
.number-data .item:last-child {border: 0;}
.number-data .item h2 {font-size: 12px;color: #787a7d;font-weight: normal;display: flex;align-items: center;} .xcard .el-card__body {
.number-data .item h2 i {margin-left: 5px;color: #8cc5ff;cursor: pointer;} padding: 10px
.number-data .item p {font-size: 20px;color: #121315;margin-top: 10px;} }
.chart {border-top: 1px solid #f0f0f0;margin-top: 20px;padding-top: 20px;}
.dark .number-data .item {border-color: var(--el-border-color-light);}
.dark .number-data .item p {color: #d0d0d0;}
.dark .chart {border-color: var(--el-border-color-light);}
</style> </style>
<style scoped>
.number-data {
display: flex;
}
.number-data .item {
flex: 1;
border-right: 1px solid #f0f0f0;
padding: 0 20px;
}
.number-data .item:last-child {
border: 0;
}
.number-data .item h2 {
font-size: 12px;
color: #787a7d;
font-weight: normal;
display: flex;
align-items: center;
}
.number-data .item h2 i {
margin-left: 5px;
color: #8cc5ff;
cursor: pointer;
}
.number-data .item p {
font-size: 20px;
color: #121315;
margin-top: 10px;
}
.chart {
border-top: 1px solid #f0f0f0;
margin-top: 20px;
padding-top: 20px;
}
.dark .number-data .item {
border-color: var(--el-border-color-light);
}
.dark .number-data .item p {
color: #d0d0d0;
}
.dark .chart {
border-color: var(--el-border-color-light);
}</style>

View File

@ -415,7 +415,7 @@ $linkColor: #3b6ff1;
border-radius: 50%; border-radius: 50%;
overflow: hidden; overflow: hidden;
line-height: 40px; line-height: 40px;
background: #2362fb; background: var(--el-color-primary);
font-size: 12px; font-size: 12px;
color: #fff; color: #fff;
text-align: center; text-align: center;

View File

@ -83,7 +83,6 @@ export default {
tableurl: this.$route.meta.tableurl, tableurl: this.$route.meta.tableurl,
groupFilterText: '', groupFilterText: '',
tabskey: '', tabskey: '',
tabsdefaultvalue: ''
} }
}, },
mounted() { mounted() {
@ -97,8 +96,12 @@ export default {
awaitvar.then((res) => { awaitvar.then((res) => {
if (res.code == 200) { if (res.code == 200) {
Object.assign(this.$data, res.data); Object.assign(this.$data, res.data);
if (res.data.tabsdefaultvalue && res.data.tabskey) {
this.search[res.data.tabskey] = res.data.tabsdefaultvalue // search
for (const key in this.search) {
if (Object.prototype.hasOwnProperty.call(this.$route.query, key)) {
this.search[key] = this.$route.query[key];
}
} }
} }
@ -210,6 +213,7 @@ export default {
.container .el-header { .container .el-header {
padding: 0 20px; padding: 0 20px;
} }
.container .el-tabs__header { .container .el-tabs__header {
margin: 0; margin: 0;
} }
@ -226,7 +230,8 @@ export default {
.container { .container {
border: 1px solid var(--el-border-color-light); border: 1px solid var(--el-border-color-light);
border-radius: 4px; border-radius: 4px;
background-color: var(--el-fill-color-blank);; background-color: var(--el-fill-color-blank);
;
overflow: hidden; overflow: hidden;
} }
</style> </style>

View File

@ -18,10 +18,11 @@
<el-tabs v-if="tabs && tabs.length > 0" v-model="search[tabskey]" @tab-change="tabChange"> <el-tabs v-if="tabs && tabs.length > 0" v-model="search[tabskey]" @tab-change="tabChange">
<el-tab-pane v-for="item in tabs" :key="item.value" :label="item.label + (item.num ? '(' + item.num + ')' : '')" :name="item.value" /> <el-tab-pane v-for="item in tabs" :key="item.value" :label="item.label + (item.num ? '(' + item.num + ')' : '')" :name="item.value" />
</el-tabs> </el-tabs>
<xTable :isselection="isselection" :batchoperation="batch" :defaultExpandAll="tableexpand" height="auto" ref="table" :tableColumn="column" :name="tablename" :params="search" :api="api" :row-key="key" :remoteSort="true" :remoteFilter="true" stripe> <xTable :isselection="isselection" :batchoperation="batch" :defaultExpandAll="defaultExpandAll" height="auto" ref="table" :tableColumn="column" :name="tablename" :params="search" :api="api" :row-key="key" :remoteSort="true" :remoteFilter="true" stripe>
<el-table-column type="expand" v-if="tableexpand"> <el-table-column type="expand" v-if="tableexpand">
<template #default="{ row }"> <template #default="{ row }">
<el-input :value="row[tableexpandfield]" type="textarea" style="cursor: pointer; " class="expandtextarea" readonly></el-input> <span v-if="tableexpandtype == 'html'" class="tableexpandhtml" v-html="row[tableexpandfield]"> </span>
<el-input v-else :value="row[tableexpandfield]" type="textarea" style="cursor: pointer; " class="expandtextarea" readonly></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="operation.label || '操作'" :width="operation.width || 124" :fixed="operation.fixed || 'right'" :align="operation.align || 'left'" v-if="operation.edit || operation.delete"> <el-table-column :label="operation.label || '操作'" :width="operation.width || 124" :fixed="operation.fixed || 'right'" :align="operation.align || 'left'" v-if="operation.edit || operation.delete">
@ -62,6 +63,8 @@ export default {
}, },
isselection: true, isselection: true,
tableexpand: false, tableexpand: false,
tableexpandtype: '',
defaultExpandAll: true,
tableexpandfield: 'content', tableexpandfield: 'content',
selection: [], selection: [],
column: [], column: [],
@ -84,7 +87,6 @@ export default {
tableurl: this.$route.meta.tableurl, tableurl: this.$route.meta.tableurl,
groupFilterText: '', groupFilterText: '',
tabskey: '', tabskey: '',
tabsdefaultvalue: ''
} }
}, },
mounted() { mounted() {
@ -99,11 +101,18 @@ export default {
awaitvar.then((res) => { awaitvar.then((res) => {
if (res.code == 200) { if (res.code == 200) {
Object.assign(this.$data, res.data); Object.assign(this.$data, res.data);
if (res.data.tabsdefaultvalue && res.data.tabskey) {
this.search[res.data.tabskey] = res.data.tabsdefaultvalue
// search
for (const key in this.search) {
if (Object.prototype.hasOwnProperty.call(this.$route.query, key)) {
this.search[key] = this.$route.query[key];
} }
}
// //
this.$emit('child-loaded', Object.assign({}, this.$data.aside, { search: this.$data.search })); this.$emit('child-loaded', Object.assign({}, this.$data.aside, { search: this.search }));
} }
}); });
} }
@ -218,6 +227,11 @@ export default {
</script> </script>
<style> <style>
.tableexpandhtml img {
max-width: calc(100% - 100px);
max-height: 120px;
}
.expandtextarea .el-textarea__inner { .expandtextarea .el-textarea__inner {
box-shadow: none box-shadow: none
} }
@ -261,4 +275,5 @@ export default {
.xtable .el-tabs__nav-next, .xtable .el-tabs__nav-next,
.el-tabs__nav-prev { .el-tabs__nav-prev {
padding: 10px 0; padding: 10px 0;
}</style> }
</style>

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="message-body"> <div class="message-body">
<div v-loading="loading" class="message-content"> <div v-loading="loading" class="message-content">
<div class="message-body-side"> <div class="message-body-side" :style="{ width: width + 'px' }">
<div class="message-body-flexbox"> <div class="message-body-flexbox">
<x-page-header :title="title" :icon="icon"></x-page-header> <x-page-header :title="title" :icon="icon"></x-page-header>
</div> </div>
@ -9,7 +9,7 @@
<x-menu-item v-for="(item, index) in items" :key="index" :label="item.label" :num="item.num" :icon="item.icon" :icon-color="item.color" :select="search[key] == item.value" @click="sideClick(item)" /> <x-menu-item v-for="(item, index) in items" :key="index" :label="item.label" :num="item.num" :icon="item.icon" :icon-color="item.color" :select="search[key] == item.value" @click="sideClick(item)" />
</div> </div>
</div> </div>
<div class="message-body-content"> <div class="message-body-content" :style="{ 'margin-left': width + 'px' }">
<table2 ref="table" @childLoaded="getChildData"></table2> <table2 ref="table" @childLoaded="getChildData"></table2>
</div> </div>
</div> </div>
@ -31,6 +31,7 @@ export default {
return { return {
loading: true, loading: true,
icon: '', icon: '',
width: 180,
title: '', title: '',
items: [], items: [],
key: '', key: '',
@ -94,7 +95,6 @@ export default {
.message-body-side { .message-body-side {
padding: 0px 0; padding: 0px 0;
width: 180px;
font-size: 14px; font-size: 14px;
background-color: white; background-color: white;
position: absolute; position: absolute;
@ -121,7 +121,6 @@ export default {
} }
.message-body-content { .message-body-content {
margin-left: 180px;
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
} }
@ -129,13 +128,13 @@ export default {
@media (max-width: 767px) { @media (max-width: 767px) {
.message-body-side { .message-body-side {
width: 0px; width: 0px !important;
transition: all 0.1s; transition: all 0.1s;
overflow-y: hidden; overflow-y: hidden;
} }
.message-body-content { .message-body-content {
margin-left: 0px; margin-left: 0px !important;
transition: all 0.1s; transition: all 0.1s;
} }
} }