增加操作日志及菜单缺少的icon

This commit is contained in:
龙运模 2024-07-10 17:04:20 +08:00
parent d8aa326825
commit e3b1d2c9c8
19 changed files with 292 additions and 201 deletions

View File

@ -371,10 +371,10 @@ export default {
}, },
log: { log: {
list: { list: {
url: `${config.API_URL}/system/log/list`, url: `${config.API_URL}/sys.log.list`,
name: "日志列表", name: "日志列表",
get: async function (params) { get: async function (params) {
return await http.get(this.url, params); return await http.post(this.url, params);
}, },
}, },
}, },

13
src/assets/icons/Cost.vue Normal file
View File

@ -0,0 +1,13 @@
<template>
<svg t="1720592043222" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4122" width="200" height="200"><path d="M897.8 303.7H123.7v-59.6c0-32.9 26.7-59.5 59.5-59.5h655c32.9 0 59.5 26.7 59.5 59.5v59.6z m0 476.4c0 32.9-26.7 59.5-59.5 59.5h-655c-32.9 0-59.5-26.7-59.5-59.5V363.3h774.1v416.8z m-59.6-655h-655c-65.8 0-119.1 53.3-119.1 119.1v535.9c0 65.8 53.3 119.1 119.1 119.1h655c65.8 0 119.1-53.3 119.1-119.1V244.2c0-65.8-53.3-119.1-119.1-119.1z" fill="" p-id="4123"></path><path d="M391.7 661c-16.4 0-29.8 13.3-29.8 29.8 0 16.4 13.3 29.8 29.8 29.8H481v59.5c0 16.4 13.3 29.8 29.8 29.8 16.4 0 29.8-13.3 29.8-29.8v-59.5h89.3c16.4 0 29.8-13.3 29.8-29.8 0-16.4-13.3-29.8-29.8-29.8h-89.3v-59.5h89.3c16.4 0 29.8-13.3 29.8-29.8 0-16.4-13.3-29.8-29.8-29.8h-74.1l-1-1 95.3-95.3c11.3-12.3 10.9-31.3-0.9-43.1s-30.8-12.2-43.1-0.9l-95.3 95.3-95.3-95.3c-12.3-11.3-31.3-10.9-43.1 0.9s-12.2 30.8-0.9 43.1l95.3 95.3-1 1h-74.1c-16.4 0-29.8 13.3-29.8 29.8 0 16.4 13.3 29.8 29.8 29.8H481V661h-89.3z" fill="" p-id="4124"></path></svg>
</template>
<script>
export default {
name: "Cost"
}
</script>
<style scoped>
</style>

View File

@ -20,6 +20,7 @@ export { default as Password } from './Password.vue'
export { default as Secure } from './Secure.vue' export { default as Secure } from './Secure.vue'
export { default as UserLog } from './Log.vue' export { default as UserLog } from './Log.vue'
export { default as WechartRound } from './WechartRound.vue' export { default as WechartRound } from './WechartRound.vue'
export { default as Cost } from './Cost.vue'
// 列表按钮 // 列表按钮
export { default as Delete } from './Delete.vue' export { default as Delete } from './Delete.vue'

View File

@ -8,19 +8,21 @@
:on-error="handleAvatarError" :on-error="handleAvatarError"
:before-upload="beforeAvatarUpload" :before-upload="beforeAvatarUpload"
> >
<div class="imgList"> <el-scrollbar class="uploadScrollbar">
<div class="imgBox" v-for="(item,index) in imageList" :key="index" @click.stop="imgOpen"> <div class="imgList">
<el-image :src="item.url?item.url:item" :zoom-rate="1.2" :max-scale="7" :min-scale="0.2" :hide-on-click-modal="true" :preview-teleported="true" :initial-index="index" :preview-src-list="imageList" class="avatar" fit="cover" /> <div class="imgBox" v-for="(item,index) in imageList" :key="index" @click.stop="imgOpen">
<div class="deleteIcon" @click.stop="imgDelete(index)"> <el-image :src="item.url?item.url:item" :zoom-rate="1.2" :max-scale="7" :min-scale="0.2" :hide-on-click-modal="true" :preview-teleported="true" :initial-index="index" :preview-src-list="imageList" class="avatar" fit="cover" />
<div class="iconBox"> <div class="deleteIcon" @click.stop="imgDelete(index)">
<el-icon class="iconBtn"><sc-icon-Delete /></el-icon> <div class="iconBox">
<el-icon class="iconBtn"><sc-icon-Delete /></el-icon>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> <div class="avatar-icon" v-if="imageList.length<=num">
<div class="avatar-icon" v-if="imageList.length<=num"> <div class="avatar-uploader-icon"><el-icon-Plus /></div>
<div class="avatar-uploader-icon"><el-icon-Plus /></div> </div>
</div> </el-scrollbar>
</el-upload> </el-upload>
</template> </template>
@ -133,6 +135,13 @@ export default {
overflow: hidden; overflow: hidden;
height: 80px; height: 80px;
transition: var(--el-transition-duration-fast); transition: var(--el-transition-duration-fast);
}
.uploadScrollbar :deep(.el-scrollbar__view){
display: flex;
}
:deep(.el-upload){
width: 100%;
} }
.avatar-img{ .avatar-img{
border: none; border: none;

View File

@ -90,7 +90,7 @@ a,button,input,textarea{-webkit-tap-highlight-color:rgba(0,0,0,0);box-sizing: bo
.adminui-tags li.active a {color: #409EFF;} .adminui-tags li.active a {color: #409EFF;}
.adminui-tags li.sortable-ghost {opacity: 0;} .adminui-tags li.sortable-ghost {opacity: 0;}
.adminui-main {background-color: #f6f8f9;height: 100%; flex: 1;padding: 10px;box-sizing: border-box;} .adminui-main {background-color: #f6f8f9;height: 100%; flex: 1;overflow: hidden;padding: 10px;box-sizing: border-box;}
.adminui-main .mainBox{height: calc(100%);overflow: auto;background-color: #FFFFFF;padding: 0 10px;border-radius: 6px;} .adminui-main .mainBox{height: calc(100%);overflow: auto;background-color: #FFFFFF;padding: 0 10px;border-radius: 6px;}
/*页面最大化*/ /*页面最大化*/

View File

@ -12,6 +12,7 @@
</el-header> </el-header>
<el-main class="nopadding"> <el-main class="nopadding">
<scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" stripe> <scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" stripe>
<sc-table-column label="序号" align="center" type="index"></sc-table-column>
<el-table-column label="工单号" prop="order_sn" width="150"></el-table-column> <el-table-column label="工单号" prop="order_sn" width="150"></el-table-column>
<el-table-column label="别名" prop="alias" width="200"></el-table-column> <el-table-column label="别名" prop="alias" width="200"></el-table-column>
<el-table-column label="排序" prop="sort" width="80"></el-table-column> <el-table-column label="排序" prop="sort" width="80"></el-table-column>

View File

@ -4,7 +4,7 @@
<div class="searchMain"> <div class="searchMain">
<div class="searchItem"> <div class="searchItem">
<label class="name">时间</label> <label class="name">时间</label>
<el-date-picker class="input" type="daterange" :size="size" v-model="params.keyword" align="right" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" clearable></el-date-picker> <el-date-picker class="input" type="daterange" :size="size" v-model="params.keyword" :popper-options="{ placement: 'bottom-start' }" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" clearable></el-date-picker>
</div> </div>
<div class="searchItem"> <div class="searchItem">
<label class="name">工单号</label> <label class="name">工单号</label>
@ -28,7 +28,7 @@
</div> </div>
</div> </div>
<scTable ref="table" :apiObj="list.apiObj" row-key="id" @selection-change="selectionChange" stripe :size="size"> <scTable ref="table" :apiObj="list.apiObj" row-key="id" @selection-change="selectionChange" stripe :size="size">
<el-table-column label="序号" type="index" width="50"></el-table-column> <sc-table-column label="序号" align="center" type="index"></sc-table-column>
<el-table-column label="工单号" prop="order_sn" width="150"></el-table-column> <el-table-column label="工单号" prop="order_sn" width="150"></el-table-column>
<el-table-column label="别名" prop="alias" width="200"></el-table-column> <el-table-column label="别名" prop="alias" width="200"></el-table-column>
<el-table-column label="排序" prop="sort" width="80"></el-table-column> <el-table-column label="排序" prop="sort" width="80"></el-table-column>

View File

@ -0,0 +1,125 @@
<template>
<el-container class="mainNoBack userBox">
<el-aside class="userAside" style="width: 226px;">
<el-container>
<el-main class="nopadding">
<el-menu class="menu mainMenu" :default-active="page">
<el-menu-item-group v-for="group in menu" :key="group.groupName" :title="group.groupName">
<el-menu-item v-for="item in group.list" :key="item.component" :index="item.component" @click="openPage">
<el-icon v-if="item.icon"><component :is="item.icon"/></el-icon>
<template #title>
<span>{{item.title}}</span>
</template>
</el-menu-item>
</el-menu-item-group>
</el-menu>
</el-main>
</el-container>
</el-aside>
<el-main class="userMain userMainPadding_0">
<Suspense>
<template #default>
<component :is="page"/>
</template>
<template #fallback>
<el-skeleton :rows="3" />
</template>
</Suspense>
</el-main>
</el-container>
</template>
<script>
import { defineAsyncComponent } from 'vue'
export default {
components: {
account: defineAsyncComponent(() => import('./setup/computerRoom')),
seting: defineAsyncComponent(() => import('./setup/computerRoom')),
pushSettings: defineAsyncComponent(() => import('./setup/computerRoom')),
password: defineAsyncComponent(() => import('./setup/computerRoom')),
space: defineAsyncComponent(() => import('./setup/computerRoom')),
logs: defineAsyncComponent(() => import('./setup/computerRoom')),
upToEnterprise: defineAsyncComponent(() => import('./setup/computerRoom')),
bind: defineAsyncComponent(() => import('./setup/computerRoom')),
},
data() {
return {
menu: [
{
groupName: "账号设置",
list: [
{
icon: "sc-icon-Account",
title: "机房配置",
component: "account"
},
{
icon: "sc-icon-Cost",
title: "费用配置",
component: "password"
},
{
icon: "sc-icon-Secure",
title: "维保代理商维护",
component: "pushSettings"
},
]
},
{
groupName: "数据管理",
list: [
{
icon: "sc-icon-UserLog",
title: "数据源邮件账号设置",
component: "logs"
}
]
},
],
user: {
avatar:this.$store.state.global.login_avatar,
name: this.$store.state.global.login_name,
role: "",
},
userNameF:'',
page: "account"
}
},
// from
beforeRouteEnter (to, from, next){
next((vm)=>{
if(from.is){
//
delete from.is
//
vm.$alert('路由跳转过来后含有特殊标识,做特殊处理', '提示', {
type: 'success',
center: true
}).then(() => {}).catch(() => {})
}
})
},
created() {
const userInfo = this.$TOOL.data.get('USER_INFO');
this.user.role = userInfo.user_roles && userInfo.user_roles.role_names.length>0?userInfo.user_roles.role_names[0]:'';
},
methods: {
openPage(item){
this.page = item.index
},
async parentParams(files) {
let params = {
avatar: files
}
const res = await this.$API.user.uploadAvatar.post(params);
if (res.code == 200) {
this.$store.commit("SET_LOGIN_AVATAR", files);
}
}
}
}
</script>
<style scoped lang="scss">
.noBorderRadius{border-radius: 0 !important;}
</style>

View File

@ -0,0 +1,24 @@
<template>
<view>机房</view>
</template>
<script>
export default {
name: "computerRoom",
data(){
return{
}
},
mounted() {
},
methods:{
}
}
</script>
<style scoped lang="scss">
</style>

View File

@ -9,6 +9,7 @@
<el-main class="nopadding"> <el-main class="nopadding">
<scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" stripe> <scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" stripe>
<el-table-column type="selection" width="50"></el-table-column> <el-table-column type="selection" width="50"></el-table-column>
<sc-table-column label="序号" align="center" type="index"></sc-table-column>
<el-table-column label="应用ID" prop="appId" width="150"></el-table-column> <el-table-column label="应用ID" prop="appId" width="150"></el-table-column>
<el-table-column label="应用名称" prop="appName" width="250"></el-table-column> <el-table-column label="应用名称" prop="appName" width="250"></el-table-column>
<el-table-column label="状态" width="50"> <el-table-column label="状态" width="50">

View File

@ -13,11 +13,11 @@
<div class="searchMain searchMainNoTop"> <div class="searchMain searchMainNoTop">
<div class="searchItem"> <div class="searchItem">
<label class="name">开通日期</label> <label class="name">开通日期</label>
<el-date-picker class="input" type="daterange" :size="size" v-model="params.activation_date" start-placeholder="开始日期" end-placeholder="结束日期" clearable></el-date-picker> <el-date-picker class="input" type="daterange" :size="size" v-model="params.activation_date" :popper-options="{ placement: 'bottom-start' }" start-placeholder="开始日期" end-placeholder="结束日期" clearable></el-date-picker>
</div> </div>
<div class="searchItem"> <div class="searchItem">
<label class="name">公司名称</label> <label class="name">公司名称</label>
<el-select class="input" :size="size" v-model="params.full_name" @visible-change="getCompanyList" placeholder="请选择公司名称" filterable clearable> <el-select class="input" :size="size" v-model="params.id" @visible-change="getCompanyList" placeholder="请选择公司名称" filterable clearable>
<el-option v-for="item in setMap.full_name" :key="item" :label="item.full_name" :value="item.id"></el-option> <el-option v-for="item in setMap.full_name" :key="item" :label="item.full_name" :value="item.id"></el-option>
</el-select> </el-select>
</div> </div>
@ -34,7 +34,7 @@
</div> </div>
<scTable ref="table" :apiObj="list.apiObj" :column="list.column" row-key="id" stripe :size="size" @selection-change="selectionChange"> <scTable ref="table" :apiObj="list.apiObj" :column="list.column" row-key="id" stripe :size="size" @selection-change="selectionChange">
<el-table-column type="selection" align="center" width="40"></el-table-column> <el-table-column type="selection" align="center" width="40"></el-table-column>
<el-table-column type="index" align="center" label="序号" width="50"></el-table-column> <sc-table-column label="序号" align="center" type="index"></sc-table-column>
<template #logo="scope"> <template #logo="scope">
<el-image class="logoCell" :src="scope.row.logo" fit="contain"></el-image> <el-image class="logoCell" :src="scope.row.logo" fit="contain"></el-image>
</template> </template>
@ -96,7 +96,7 @@ export default {
selection: [], selection: [],
params: { params: {
activation_date: '', activation_date: '',
full_name:'', id:'',
active_status:'', active_status:'',
} }
} }
@ -197,6 +197,11 @@ export default {
this.$refs.table.upData(this.params); this.$refs.table.upData(this.params);
}, },
reset(){ reset(){
this.params = {
activation_date: '',
id:'',
active_status:'',
};
this.$refs.table.reload(); this.$refs.table.reload();
}, },

View File

@ -1,67 +1,73 @@
<template> <template>
<el-dialog :title="titleMap[mode]" v-model="visible" :width="640" destroy-on-close draggable @closed="$emit('closed')"> <el-dialog :title="titleMap[mode]" v-model="visible" :width="1200" destroy-on-close draggable @closed="$emit('closed')">
<el-scrollbar height="460px" style="padding: 0 20px;"> <el-scrollbar height="460px" style="padding: 0 20px;">
<el-form :model="form" :rules="rules" ref="dialogForm" label-width="140px"> <el-form :model="form" :rules="rules" ref="dialogForm" label-width="140px">
<div class="dialogBoxTitle"><span class="make"></span><span class="name">企业信息</span></div> <el-row justify="space-between">
<el-form-item label="公司名称" prop="full_name"> <el-col :span="11">
<el-input v-model="form.full_name" placeholder="请填写认证企业名称" clearable></el-input> <div class="dialogBoxTitle"><span class="make"></span><span class="name">企业信息</span></div>
</el-form-item> <el-form-item label="公司名称" prop="full_name">
<el-form-item label="公司简称" prop="name"> <el-input v-model="form.full_name" placeholder="请填写认证企业名称" clearable></el-input>
<el-input v-model="form.name" placeholder="请输入公司简称" clearable></el-input> </el-form-item>
</el-form-item> <el-form-item label="公司简称" prop="name">
<el-form-item label="公司系统入口地址" prop="domain"> <el-input v-model="form.name" placeholder="请输入公司简称" clearable></el-input>
<el-input v-model="form.domain" placeholder="公司系统入口地址" clearable></el-input> </el-form-item>
</el-form-item> <el-form-item label="公司系统入口地址" prop="domain">
<el-form-item label="公司类型" prop="company_type"> <el-input v-model="form.domain" placeholder="公司系统入口地址" clearable></el-input>
<el-select v-model="form.company_type" @visible-change="getCompanyTypeSelect" placeholder="请选择公司类型" clearable style="width: 100%;"> </el-form-item>
<el-option v-for="item in setMap.companyType" :key="item" :label="item.label" :value="item.company_type"></el-option> <el-form-item label="公司类型" prop="company_type">
</el-select> <el-select v-model="form.company_type" @visible-change="getCompanyTypeSelect" placeholder="请选择公司类型" clearable style="width: 100%;">
</el-form-item> <el-option v-for="item in setMap.companyType" :key="item" :label="item.label" :value="item.company_type"></el-option>
<el-form-item label="公司地址" prop="address"> </el-select>
<el-input v-model="form.address" placeholder="请输入部门名称" clearable></el-input> </el-form-item>
</el-form-item> <el-form-item label="公司地址" prop="address">
<el-form-item label="证件照" prop="doc_url"> <el-input v-model="form.address" placeholder="请输入部门名称" clearable></el-input>
<ossImgListUpload :list="form.doc_url" :length="3" @parentParams="faultParentParams" /> </el-form-item>
<p class="el-form-item-msg">可接受格式为jpgjpegpnggif图片大小不超过5M</p> <el-form-item label="公司LOGO" prop="logo">
<p class="el-form-item-msg">可接受证件类型:营业执照组织机构代码证统一社会信用代码证事业单位法人证书</p> <ossImgUpload @parentParams="parentParams" :url="form.logo" />
<p class="el-form-item-msg">可以添加"高德开放平台备案、地图开发申请、地图开发认证"等水印</p> </el-form-item>
<p class="el-form-item-msg">但不能遮挡关键信息例如公司名称公司证件号</p> <el-form-item label="备注" prop="remark">
</el-form-item> <el-input type="textarea" placeholder="请输入备注"></el-input>
<el-form-item label="公司LOGO" prop="logo"> </el-form-item>
<ossImgUpload @parentParams="parentParams" :url="form.logo" /> </el-col>
</el-form-item> <el-col :span="12">
<el-form-item label="备注" prop="remark"> <div class="dialogBoxTitle"><span class="make"></span><span class="name">企业管理员信息</span></div>
<el-input type="textarea" placeholder="请输入备注"></el-input> <el-form-item label="负责人/联系方式" required>
</el-form-item> <el-row justify="space-between">
<div class="dialogBoxTitle"><span class="make"></span><span class="name">企业管理员信息</span></div> <el-col :span="5">
<el-form-item label="负责人/联系方式" required> <el-form-item prop="owner">
<el-row justify="space-between"> <el-input v-model="form.owner" placeholder="负责人"></el-input>
<el-col :span="5"> </el-form-item>
<el-form-item prop="owner"> </el-col>
<el-input v-model="form.owner" placeholder="负责人"></el-input> <el-col :span="7">
</el-form-item> <el-form-item prop="mobile">
</el-col> <el-input v-model="form.mobile" placeholder="联系方式"></el-input>
<el-col :span="7"> </el-form-item>
<el-form-item prop="mobile"> </el-col>
<el-input v-model="form.mobile" placeholder="联系方式"></el-input> <el-col :span="10">
</el-form-item> <el-form-item prop="email">
</el-col> <el-input v-model="form.email" placeholder="邮箱地址"></el-input>
<el-col :span="10"> </el-form-item>
<el-form-item prop="email"> </el-col>
<el-input v-model="form.email" placeholder="邮箱地址"></el-input> </el-row>
</el-form-item> </el-form-item>
</el-col> <el-form-item label="账号" prop="admin_access">
</el-row> <el-input v-model="form.admin_access" placeholder="请填写管理员账号"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="账号" prop="admin_access"> <el-form-item label="登录密码" prop="password" v-if="mode == 'add'">
<el-input v-model="form.admin_access" placeholder="请填写管理员账号"></el-input> <el-input v-model="form.password" type="password" placeholder="请填写密码"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="登录密码" prop="password" v-if="mode == 'add'"> <el-form-item label="证件照" prop="doc_url">
<el-input v-model="form.password" type="password" placeholder="请填写密码"></el-input> <ossImgListUpload :list="form.doc_url" :length="3" @parentParams="faultParentParams" />
</el-form-item> <p class="el-form-item-msg">可接受格式为jpgjpegpnggif图片大小不超过5M</p>
<el-form-item label="生成系统使用协议" prop="accord"> <p class="el-form-item-msg">可接受证件类型:营业执照组织机构代码证统一社会信用代码证事业单位法人证书</p>
<el-switch v-model="form.accord" :active-value="1" :inactive-value="0"></el-switch> <p class="el-form-item-msg">可以添加"高德开放平台备案、地图开发申请、地图开发认证"等水印</p>
</el-form-item> <p class="el-form-item-msg">但不能遮挡关键信息例如公司名称公司证件号</p>
</el-form-item>
<el-form-item label="生成系统使用协议" prop="accord">
<el-switch v-model="form.accord" :active-value="1" :inactive-value="0"></el-switch>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
</el-scrollbar> </el-scrollbar>
<template #footer> <template #footer>

View File

@ -12,7 +12,7 @@
<el-main class="nopadding"> <el-main class="nopadding">
<scTable ref="table" :apiObj="list.apiObj" :column="list.column" row-key="id" stripe :size="size" :showPagination="false" @selection-change="selectionChange"> <scTable ref="table" :apiObj="list.apiObj" :column="list.column" row-key="id" stripe :size="size" :showPagination="false" @selection-change="selectionChange">
<el-table-column type="selection" width="40"></el-table-column> <el-table-column type="selection" width="40"></el-table-column>
<el-table-column type="index" label="序号" align="center" width="50"></el-table-column> <sc-table-column label="序号" align="center" type="index"></sc-table-column>
<el-table-column label="状态" fixed="right" align="center" width="80" prop="active_status"> <el-table-column label="状态" fixed="right" align="center" width="80" prop="active_status">
<template #default="scope"> <template #default="scope">
<el-switch :size="size" v-model="scope.row.active_status" @change="changeSwitch($event, scope.row)" :loading="scope.row.$switch_status" :active-value="true" :inactive-value="false"></el-switch> <el-switch :size="size" v-model="scope.row.active_status" @change="changeSwitch($event, scope.row)" :loading="scope.row.$switch_status" :active-value="true" :inactive-value="false"></el-switch>

View File

@ -1,54 +1,20 @@
<template> <template>
<el-container> <el-container class="mainBox mainBoxHeaderNoBorder">
<!-- <el-aside width="220px">--> <el-main class="nopadding">
<!-- <el-tree ref="category" class="menu" node-key="label" :data="category" :default-expanded-keys="['系统日志']" current-node-key="系统日志" :highlight-current="true" :expand-on-click-node="false">--> <div class="searchMain">
<!-- </el-tree>--> <div class="searchItem">
<!-- </el-aside>--> <label class="name">时间</label>
<el-container class="mainBox mainBoxHeaderNoBorder"> <el-date-picker class="input" type="datetimerange" :size="size" v-model="date" :popper-options="{ placement: 'bottom-start' }" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" clearable></el-date-picker>
<el-main class="nopadding"> </div>
<el-container> <div class="searchItem searchBtn">
<!-- <el-header>--> <el-button :size="size" type="primary" icon="el-icon-search" @click="upSearch">查询</el-button>
<!-- <div class="left-panel">--> <el-button :size="size" type="info" icon="el-icon-RefreshRight">重置</el-button>
</div>
<!-- </div>--> </div>
<!-- <div class="right-panel">--> <scTable ref="table" :apiObj="list.apiObj" :column="list.column" stripe :size="size" highlightCurrentRow @row-click="rowClick">
<sc-table-column label="序号" align="center" type="index"></sc-table-column>
<!-- </div>--> </scTable>
<!-- </el-header>--> </el-main>
<!-- <el-header style="height:150px;">-->
<!-- <scEcharts height="100%" :option="logsChartOption"></scEcharts>-->
<!-- </el-header>-->
<el-main class="nopadding">
<div class="searchMain">
<div class="searchItem">
<label class="name">时间</label>
<el-date-picker class="input" type="datetimerange" :size="size" v-model="date" align="right" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" clearable></el-date-picker>
</div>
<div class="searchItem searchBtn">
<el-button :size="size" type="primary" icon="el-icon-search" @click="upSearch">查询</el-button>
<el-button :size="size" type="info" icon="el-icon-RefreshRight">重置</el-button>
</div>
</div>
<scTable ref="table" :apiObj="list.apiObj" :column="list.column" stripe :size="size" highlightCurrentRow @row-click="rowClick">
<el-table-column label="级别" prop="level" width="60">
<template #default="scope">
<el-icon v-if="scope.row.level=='error'" style="color: #F56C6C;"><el-icon-circle-close-filled /></el-icon>
<el-icon v-if="scope.row.level=='warn'" style="color: #E6A23C;"><el-icon-warning-filled /></el-icon>
<el-icon v-if="scope.row.level=='info'" style="color: #409EFF;"><el-icon-info-filled /></el-icon>
</template>
</el-table-column>
<el-table-column label="ID" prop="id" width="180"></el-table-column>
<el-table-column label="日志名" prop="name" width="150"></el-table-column>
<el-table-column label="请求接口" prop="url" width="150"></el-table-column>
<el-table-column label="请求方法" prop="type" width="150"></el-table-column>
<el-table-column label="用户" prop="user" width="150"></el-table-column>
<el-table-column label="客户端IP" prop="cip" width="150"></el-table-column>
<el-table-column label="日志时间" prop="time" width="170"></el-table-column>
</scTable>
</el-main>
</el-container>
</el-main>
</el-container>
</el-container> </el-container>
<el-drawer v-model="infoDrawer" title="日志详情" :size="600" destroy-on-close> <el-drawer v-model="infoDrawer" title="日志详情" :size="600" destroy-on-close>
@ -58,80 +24,20 @@
<script> <script>
import info from './info' import info from './info'
import scEcharts from '@/components/scEcharts'
export default { export default {
name: 'log', name: 'log',
components: { components: {
info, info,
scEcharts
}, },
data() { data() {
return { return {
size:"small", size:"small",
infoDrawer: false, infoDrawer: false,
logsChartOption: {
color: ['#409eff','#e6a23c','#f56c6c'],
grid: {
top: '0px',
left: '10px',
right: '10px',
bottom: '0px'
},
tooltip: {
trigger: 'axis'
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['2021-07-01', '2021-07-02', '2021-07-03', '2021-07-04', '2021-07-05', '2021-07-06', '2021-07-07', '2021-07-08', '2021-07-09', '2021-07-10', '2021-07-11', '2021-07-12', '2021-07-13', '2021-07-14', '2021-07-15']
},
yAxis: {
show: false,
type: 'value'
},
series: [{
data: [120, 200, 150, 80, 70, 110, 130, 120, 200, 150, 80, 70, 110, 130, 70, 110],
type: 'bar',
stack: 'log',
barWidth: '15px'
},
{
data: [15, 26, 7, 12, 13, 9, 21, 15, 26, 7, 12, 13, 9, 21, 12, 3],
type: 'bar',
stack: 'log',
barWidth: '15px'
},
{
data: [0, 0, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
type: 'bar',
stack: 'log',
barWidth: '15px'
}]
},
category: [
{
label: '系统日志',
children: [
{label: 'debug'},
{label: 'info'},
{label: 'warn'},
{label: 'error'},
{label: 'fatal'}
]
},
{
label: '应用日志',
children: [
{label: 'selfHelp'},
{label: 'WechatApp'}
]
}
],
date: [], date: [],
list:{ list:{
apiObj: {}, apiObj: this.$API.system.log.list,
column:[] column:[]
}, },
search: { search: {
@ -140,7 +46,7 @@
} }
}, },
methods: { methods: {
upsearch(){ upSearch(){
}, },
rowClick(row){ rowClick(row){

View File

@ -13,7 +13,7 @@
<div class="searchMain searchMainNoTop"> <div class="searchMain searchMainNoTop">
<div class="searchItem"> <div class="searchItem">
<label class="name">操作时间</label> <label class="name">操作时间</label>
<el-date-picker class="input" type="daterange" :size="size" v-model="params.keyword" align="right" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" clearable></el-date-picker> <el-date-picker class="input" type="daterange" :size="size" v-model="params.keyword" :popper-options="{ placement: 'bottom-start' }" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" clearable></el-date-picker>
</div> </div>
<div class="searchItem"> <div class="searchItem">
<label class="name">物料编码</label> <label class="name">物料编码</label>
@ -33,7 +33,7 @@
</div> </div>
</div> </div>
<scTable ref="table" :apiObj="list.apiObj" row-key="id" @selection-change="selectionChange" stripe :size="size"> <scTable ref="table" :apiObj="list.apiObj" row-key="id" @selection-change="selectionChange" stripe :size="size">
<el-table-column label="序号" type="index" width="50"></el-table-column> <sc-table-column label="序号" align="center" type="index"></sc-table-column>
<el-table-column label="工单号" prop="order_sn" width="150"></el-table-column> <el-table-column label="工单号" prop="order_sn" width="150"></el-table-column>
<el-table-column label="别名" prop="alias" width="200"></el-table-column> <el-table-column label="别名" prop="alias" width="200"></el-table-column>
<el-table-column label="排序" prop="sort" width="80"></el-table-column> <el-table-column label="排序" prop="sort" width="80"></el-table-column>

View File

@ -13,7 +13,7 @@
<el-main class="nopadding"> <el-main class="nopadding">
<scTable ref="table" :apiObj="list.apiObj" :column="list.column" row-key="id" @selection-change="selectionChange" stripe :size="size"> <scTable ref="table" :apiObj="list.apiObj" :column="list.column" row-key="id" @selection-change="selectionChange" stripe :size="size">
<el-table-column type="selection" align="center" width="50"></el-table-column> <el-table-column type="selection" align="center" width="50"></el-table-column>
<el-table-column label="序号" type="index" align="center" width="50"></el-table-column> <sc-table-column label="序号" align="center" type="index"></sc-table-column>
<el-table-column label="角色名称" prop="label" width="150"></el-table-column> <el-table-column label="角色名称" prop="label" width="150"></el-table-column>
<el-table-column label="创建时间" prop="date" width="180"></el-table-column> <el-table-column label="创建时间" prop="date" width="180"></el-table-column>
<el-table-column label="备注" prop="remark" min-width="150"></el-table-column> <el-table-column label="备注" prop="remark" min-width="150"></el-table-column>

View File

@ -28,7 +28,7 @@
<el-main class="nopadding"> <el-main class="nopadding">
<scTable ref="table" :apiObj="list.apiObj" :column="list.column" @selection-change="selectionChange" stripe :size="size"> <scTable ref="table" :apiObj="list.apiObj" :column="list.column" @selection-change="selectionChange" stripe :size="size">
<el-table-column type="selection" align="center" width="45"></el-table-column> <el-table-column type="selection" align="center" width="45"></el-table-column>
<el-table-column label="序号" type="index" align="center" width="50"></el-table-column> <sc-table-column label="序号" align="center" type="index"></sc-table-column>
<template #avatar="scope"> <template #avatar="scope">
<div class="userImg"> <div class="userImg">
<el-avatar :src="scope.row.avatar" size="small"></el-avatar> <el-avatar :src="scope.row.avatar" size="small"></el-avatar>

View File

@ -4,7 +4,7 @@
<div class="searchMain"> <div class="searchMain">
<div class="searchItem"> <div class="searchItem">
<label class="name">时间</label> <label class="name">时间</label>
<el-date-picker class="input" type="daterange" :size="size" v-model="params.keyword" align="right" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" clearable></el-date-picker> <el-date-picker class="input" type="daterange" :size="size" v-model="params.keyword" :popper-options="{ placement: 'bottom-start' }" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" clearable></el-date-picker>
</div> </div>
<div class="searchItem"> <div class="searchItem">
<label class="name">工单号</label> <label class="name">工单号</label>
@ -28,7 +28,7 @@
</div> </div>
</div> </div>
<scTable ref="table" :apiObj="list.apiObj" row-key="id" @selection-change="selectionChange" stripe :size="size"> <scTable ref="table" :apiObj="list.apiObj" row-key="id" @selection-change="selectionChange" stripe :size="size">
<el-table-column label="序号" type="index" width="50"></el-table-column> <sc-table-column label="序号" align="center" type="index"></sc-table-column>
<el-table-column label="工单号" prop="order_sn" width="150"></el-table-column> <el-table-column label="工单号" prop="order_sn" width="150"></el-table-column>
<el-table-column label="别名" prop="alias" width="200"></el-table-column> <el-table-column label="别名" prop="alias" width="200"></el-table-column>
<el-table-column label="排序" prop="sort" width="80"></el-table-column> <el-table-column label="排序" prop="sort" width="80"></el-table-column>
@ -85,7 +85,7 @@ export default {
permission: false permission: false
}, },
list:{ list:{
apiObj: {}, apiObj: this.$API.system.log.list,
column:[] column:[]
}, },
selection: [], selection: [],

View File

@ -66,7 +66,7 @@
}, },
{ {
icon: "sc-icon-Password", icon: "sc-icon-Password",
title: "密码", title: "修改密码",
component: "password" component: "password"
}, },
{ {