🐛 fix数据类型不匹配

This commit is contained in:
不做码农
2023-08-04 20:02:58 +08:00
committed by DESKTOP-H2PAFLR\Administrator
parent 91ac6bc01a
commit ff8cc71432
7 changed files with 487 additions and 62 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -12,40 +12,113 @@
<img :src="userInfo.avatar" />
</div>
<div class="user-item-right overflow">
<el-row>
<el-col :xs="24" :md="24" class="right-title mb20 one-text-overflow">
{{ userInfo.welcomeMessage }}{{ userInfo.nickName }}{{ userInfo.welcomeContent }}</el-col>
<el-col :xs="24" :sm="24" :md="24">
<el-col :xs="24" :md="8" class="right-l-v">
<div class="right-label">昵称</div>
<div class="right-value">{{ userInfo.nickName }}</div>
</el-col>
<el-col :xs="24" :md="16" class="right-l-v">
<div class="right-label">身份</div>
<div class="right-value">
<span v-for="item in userInfo.roles" :key="item.roleId">{{ item.roleName }}</span>
</div>
</el-col>
</el-col>
<el-col :md="24" class="mt10">
<el-col :xs="24" :sm="12" :md="8" class="right-l-v">
<div class="right-label one-text-overflow">IP</div>
<div class="right-value one-text-overflow">{{ userInfo.loginIP }}</div>
</el-col>
<el-col :xs="24" :sm="12" :md="16" class="right-l-v">
<div class="right-label one-text-overflow">时间</div>
<div class="right-value one-text-overflow">{{ currentTime }}</div>
</el-col>
</el-col>
<el-col :lg="24" class="mt10">
<el-button size="small" icon="el-icon-edit-outline">
<router-link to="/user/profile">修改信息</router-link>
</el-button>
<!-- <el-button size="small" icon="el-icon-position" type="primary">发布活动</el-button> -->
</el-col>
</el-row>
</div>
腾讯云限时秒杀活动
<el-link href="https://curl.qcloud.com/4yEoRquq" type="primary" target="_blank">点我进入 </el-link>
<br />
华为特惠专区多款产品限时特价
<el-link
href="https://activity.huaweicloud.com/discount_area_v5/index.html?fromacct=a53709d1-149d-49f4-9b89-bf62bd96ef65&utm_source=aGlkX3N0dnZkMWNxejBnOTJ5OA===&utm_medium=cps&utm_campaign=201905"
type="primary"
target="_blank"
>
点我进入
</el-link>
<br />
领取七牛云通用云产品优惠券
<el-link href="https://s.qiniu.com/FzEfay" type="primary" target="_blank"> 点我进入 </el-link>
<br />
Gitee 企业版优惠专区
<el-link href="https://gitee.com/enterprises?invite_code=Z2l0ZWUtMTI1NzM1OQ%3D%3D" type="primary" target="_blank"> 点我进入 </el-link>
<br />
<h4 class="text-danger">云产品通用红包可叠加官网常规优惠使用(仅限新用户)</h4>
</blockquote>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :lg="16" :sm="24">
<h2>ZRAdmin.NET后台管理框架</h2>
<p>
ZRAdmin.NET借鉴了很多开源项目的优点让你开发Web管理系统更简单所以我也把它给开源了前端
<code>vue页面</code>主要参考若依在此表示感谢.)
</p>
<p>代码完全免费开源易读易懂界面简洁美观给你的项目多一种选择与参考</p>
<p>
<b>当前版本:</b> <span>v{{ version }}</span>
<el-link
class="ml10"
type="primary"
size="mini"
icon="el-icon-document"
plain
@click="goTarget('http://www.izhaorui.cn/doc/changelog.html#' + version)"
>更新日志
</el-link>
</p>
<p>
<el-button type="primary" size="mini" icon="el-icon-cloudy" plain @click="goTarget('https://gitee.com/izory/ZrAdminNetCore')"
>访问码云
</el-button>
<el-button type="primary" size="mini" icon="el-icon-cloudy" plain @click="goTarget('https://github.com/izhaorui/ZrAdmin.NET')"
>Github
</el-button>
</p>
<p></p>
<h3>如果觉得不错欢迎给个Star收藏一下 这样作者才有继续免费下去的动力谢谢</h3>
</el-col>
<el-col :sm="24" :lg="8">
<el-row>
<h2>技术选型</h2>
<el-col :span="10">
<h4>后端技术</h4>
<ul>
<li>NET5</li>
<li>JWT</li>
<li>SqlSugar</li>
<li>Quartz.Net</li>
<li>MySql</li>
<li>Mapster</li>
<li>Epplus</li>
<li>Signalr</li>
<li>...</li>
</ul>
</el-col>
<el-col :span="10">
<h4>前端技术</h4>
<ul>
<li>Vue</li>
<li>Vuex</li>
<li>Element-ui</li>
<li>Axios</li>
<li>Sass</li>
<li>Quill</li>
<li>...</li>
</ul>
</el-col>
</el-row>
</el-col>
</el-row>
<el-divider />
<el-row :gutter="20" class="mt10">
<el-col :sm="24" :lg="8">
<el-card>
<div slot="header" class="clearfix">
<span>联系信息</span>
</div>
<div class="body">
<p>
<i class="el-icon-s-promotion"></i>官网
<el-link href="http://www.izhaorui.cn/doc" target="_blank">http://www.izhaorui.cn/doc</el-link>
</p>
</div>
<div class="body">
<p>
<i class="el-icon-user-solid"></i>QQ群<a
href="https://qm.qq.com/cgi-bin/qm/qr?k=Y__-fTGo_K2UIo3nWz7QnvS8LoRfPWKm&authKey=/ldXxiuolv80PF4yC8VtLk/TvAYbIhm2LKP8YVHCxAk+x2I+iqPAM1H/IsxQ+0gC&noverify=0"
target="_black"
>191349103</a
>
</p>
</div>
</el-card>
</el-col>
@@ -67,28 +140,12 @@
</div>
</el-card>
</el-col>
</el-row>
<panel-group @handleSetLineChartData="handleSetLineChartData" />
<el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;">
<line-chart :chart-data="lineChartData" />
</el-row>
<el-row :gutter="32">
<el-col :xs="24" :sm="24" :lg="8">
<div class="chart-wrapper">
<raddar-chart />
</div>
</el-col>
<el-col :xs="24" :sm="24" :lg="8">
<div class="chart-wrapper">
<pie-chart />
</div>
</el-col>
<el-col :xs="24" :sm="24" :lg="8">
<div class="chart-wrapper">
<bar-chart />
</div>
<el-col :span="10">
<!-- <el-card>
<div slot="header" class="clearfix">
<span></span>
</div>
</el-card> -->
</el-col>
</el-row>
</div>

View File

@@ -0,0 +1,368 @@
<template>
<div class="dashboard-editor-container home">
<!-- 用户信息 -->
<el-row :gutter="15">
<el-col :md="24" :lg="16" :xl="16" class="mb10">
<el-card shadow="hover">
<div slot="header">
<span>我的工作台</span>
</div>
<div class="user-item">
<div class="user-item-left">
<img :src="userInfo.avatar" />
</div>
<div class="user-item-right overflow">
<el-row>
<el-col :xs="24" :md="24" class="right-title mb20 one-text-overflow">
{{ userInfo.welcomeMessage }}{{ userInfo.nickName }}{{ userInfo.welcomeContent }}</el-col
>
<el-col :xs="24" :sm="24" :md="24">
<el-col :xs="24" :md="8" class="right-l-v">
<div class="right-label">昵称</div>
<div class="right-value">{{ userInfo.nickName }}</div>
</el-col>
<el-col :xs="24" :md="16" class="right-l-v">
<div class="right-label">身份</div>
<div class="right-value">
<span v-for="item in userInfo.roles" :key="item.roleId">{{ item.roleName }}</span>
</div>
</el-col>
</el-col>
<el-col :md="24" class="mt10">
<el-col :xs="24" :sm="12" :md="8" class="right-l-v">
<div class="right-label one-text-overflow">IP</div>
<div class="right-value one-text-overflow">{{ userInfo.loginIP }}</div>
</el-col>
<el-col :xs="24" :sm="12" :md="16" class="right-l-v">
<div class="right-label one-text-overflow">时间</div>
<div class="right-value one-text-overflow">{{ currentTime }}</div>
</el-col>
</el-col>
<el-col :lg="24" class="mt10">
<el-button size="small" icon="el-icon-edit-outline">
<router-link to="/user/profile">修改信息</router-link>
</el-button>
<!-- <el-button size="small" icon="el-icon-position" type="primary">发布活动</el-button> -->
</el-col>
</el-row>
</div>
</div>
</el-card>
</el-col>
<el-col :md="24" :lg="8" :xl="8" class="mb10">
<el-card shadow="hover">
<div slot="header">
<span>最新文章</span>
<el-button class="home-card-more" type="text" @click="onOpenGitee">更多</el-button>
</div>
<div class="info">
<Scroll :data="newArticleList" class="info-scroll" :class-option="optionSingleHeight">
<ul class="info-ul">
<li v-for="(v, k) in newArticleList" :key="k" class="info-item">
<div class="info-item-left" v-text="v.title"></div>
<div class="info-item-right" v-text="parseTime(v.updateTime, '{m}/{d}')"></div>
</li>
</ul>
</Scroll>
</div>
</el-card>
</el-col>
</el-row>
<panel-group @handleSetLineChartData="handleSetLineChartData" />
<el-row style="background: #fff; padding: 16px 16px 0; margin-bottom: 32px">
<line-chart :chart-data="lineChartData" />
</el-row>
<el-row :gutter="32">
<el-col :xs="24" :sm="24" :lg="8">
<div class="chart-wrapper">
<raddar-chart />
</div>
</el-col>
<el-col :xs="24" :sm="24" :lg="8">
<div class="chart-wrapper">
<pie-chart />
</div>
</el-col>
<el-col :xs="24" :sm="24" :lg="8">
<div class="chart-wrapper">
<bar-chart />
</div>
</el-col>
</el-row>
</div>
</template>
<script>
import PanelGroup from './dashboard/PanelGroup'
import LineChart from './dashboard/LineChart'
import RaddarChart from './dashboard/RaddarChart'
import PieChart from './dashboard/PieChart'
import BarChart from './dashboard/BarChart'
import Scroll from 'vue-seamless-scroll'
import { listNewArticle } from '@/api/system/article.js'
const lineChartData = {
newVisitis: {
expectedData: [100, 120, 161, 134, 105, 160, 165],
actualData: [120, 82, 91, 154, 162, 140, 145],
},
messages: {
expectedData: [200, 192, 120, 144, 160, 130, 140],
actualData: [180, 160, 151, 106, 145, 150, 130],
},
purchases: {
expectedData: [80, 100, 121, 104, 105, 90, 100],
actualData: [120, 90, 100, 138, 142, 130, 130],
},
shoppings: {
expectedData: [130, 140, 141, 142, 145, 150, 160],
actualData: [120, 82, 91, 154, 162, 140, 130],
},
}
export default {
name: 'Index',
components: {
PanelGroup,
LineChart,
RaddarChart,
PieChart,
BarChart,
Scroll,
},
computed: {
photo() {
return this.$store.getters.photo
},
userInfo() {
return this.$store.getters.userinfo
},
currentTime() {
return this.parseTime(new Date())
},
optionSingleHeight() {
return {
step: 0.2, // 数值越大速度滚动越快
limitMoveNum: 2, // 开始无缝滚动的数据量 this.dataList.length
hoverStop: true, // 是否开启鼠标悬停stop
direction: 1, // 0向下 1向上 2向左 3向右
openWatch: true, // 开启数据实时监控刷新dom
singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
waitTime: 1000, // 单步运动停止的时间(默认值1000ms)
}
},
},
data() {
return {
lineChartData: lineChartData.newVisitis,
newArticleList: [],
}
},
created() {
listNewArticle().then((res) => {
this.newArticleList = res.data
})
},
methods: {
handleSetLineChartData(type) {
this.lineChartData = lineChartData[type]
},
onOpenGitee() {},
},
}
</script>
<style lang="scss" scoped>
.home {
width: 100%;
overflow: hidden;
.home-card-more {
float: right;
padding: 3px 0;
font-size: 13px;
}
.home-card-time {
float: right;
font-size: 13px;
width: 130px;
margin-top: -4px;
}
.user-item {
height: 198px;
display: flex;
align-items: center;
.user-item-left {
width: 100px;
height: 130px;
border-radius: 4px;
overflow: hidden;
img {
width: 100%;
height: 100%;
}
}
.user-item-right {
flex: 1;
padding: 15px;
.right-title {
font-size: 20px;
}
.right-l-v {
font-size: 13px;
display: flex;
.right-label {
color: gray;
width: 40px;
}
.right-value {
flex: 1;
}
}
}
}
.info {
height: 198px;
.info-scroll {
height: 100%;
overflow: hidden;
.info-ul {
list-style: none;
padding: 0;
.info-item {
display: flex;
font-size: 13px;
color: gray;
height: 28px;
line-height: 28px;
&:hover {
color: var(--color-primary);
cursor: pointer;
}
.info-item-left {
flex: 1;
flex-shrink: 0;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.info-item-right {
width: 60px;
text-align: right;
}
}
}
}
}
.home-recommend-row {
.home-recommend {
position: relative;
height: 100px;
color: #ffffff;
border-radius: 4px;
overflow: hidden;
cursor: pointer;
&:hover {
i {
right: 0px !important;
bottom: 0px !important;
transition: all ease 0.3s;
}
}
i {
position: absolute;
right: -10px;
bottom: -10px;
font-size: 70px;
transform: rotate(-30deg);
transition: all ease 0.3s;
}
.home-recommend-auto {
padding: 15px;
position: absolute;
left: 0;
top: 5%;
.home-recommend-msg {
font-size: 12px;
margin-top: 10px;
}
}
}
}
.charts {
width: 100%;
height: 282.6px;
display: flex;
padding: 12px 15px;
.charts-left {
flex: 1;
height: 100%;
}
.charts-right {
flex: 1;
height: 100%;
}
}
.home-charts {
height: 282.6px;
.home-charts-item {
background-color: #f5f5f5;
padding: 19px 15px;
border-radius: 2px;
display: flex;
align-items: center;
margin-bottom: 12px;
cursor: pointer;
&:last-of-type {
margin-bottom: 0;
}
&:hover {
.home-charts-item-right {
i {
transform: rotate(45deg);
transition: all ease 0.3s;
}
}
}
.home-charts-item-left {
flex: 1;
.home-charts-item-title {
font-size: 13px;
}
.home-charts-item-num {
font-size: 20px;
margin-top: 5px;
}
}
.home-charts-item-right {
i {
font-size: 20px;
padding: 8px;
border-radius: 100%;
transition: all ease 0.3s;
}
}
}
}
}
.dashboard-editor-container {
padding: 18px;
background-color: rgb(240, 242, 245);
position: relative;
.chart-wrapper {
background: #fff;
padding: 16px 16px 0;
margin-bottom: 32px;
}
}
@media (max-width: 1024px) {
.chart-wrapper {
padding: 8px;
}
}
</style>

View File

@@ -219,7 +219,7 @@ export default {
leader: undefined,
phone: undefined,
email: undefined,
status: '0',
status: 0,
}
this.resetForm('form')
},

View File

@@ -330,7 +330,7 @@ export default {
},
// 角色状态修改
handleStatusChange(row) {
const text = row.status === '0' ? '启用' : '停用'
const text = row.status == 0 ? '启用' : '停用'
console.log(JSON.stringify(row), text)
this.$confirm('确认要"' + text + '""' + row.roleName + '"角色吗?', '警告', {
@@ -345,7 +345,7 @@ export default {
this.msgSuccess(text + '成功')
})
.catch(function () {
row.status = row.status === '0' ? '1' : '0'
row.status = row.status == 0 ? 1 : 0
})
},
// 取消按钮

View File

@@ -51,7 +51,7 @@
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="用户状态" clearable size="small" style="width: 240px">
<el-option label="全部" :value="-1" />
<el-option v-for="dict in statusOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
<el-option v-for="dict in statusOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
</el-select>
</el-form-item>
<el-form-item label="创建时间">
@@ -418,7 +418,7 @@ export default {
},
// 用户状态修改
handleStatusChange(row) {
let text = row.status === '0' ? '启用' : '停用'
let text = row.status == 0 ? '启用' : '停用'
this.$confirm('确认要"' + text + '""' + row.userName + '"用户吗?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@@ -431,7 +431,7 @@ export default {
this.msgSuccess(text + '成功')
})
.catch(function () {
row.status = row.status === '0' ? '1' : '0'
row.status = row.status == 0 ? 1 : 0
})
},
// 取消按钮