dev_202412
yujialong 3 months ago
parent 91eb1676a1
commit 9811ac3bbd
  1. 2
      src/api/index.js
  2. 8
      src/layouts/navbar/index.vue
  3. 2
      src/pages/account/redirect/index.vue
  4. 20
      src/pages/achievement/info/course.vue
  5. 93
      src/pages/achievement/info/project.vue
  6. 4
      src/pages/achievement/list/project.vue
  7. 195
      src/pages/assessment/list/index.vue
  8. 6
      src/pages/review/list/index.vue
  9. 121
      src/pages/system/list/role.vue
  10. 2
      src/setting.js

@ -136,6 +136,8 @@ export default {
exportProductAssessResults: `${host}occupationlab/occupationlab/achievement/exportProductAssessResults`,
exportMultipleExperimentalReports: `${host}occupationlab/occupationlab/achievement/exportMultipleExperimentalReports`,
batchExportReportsAsZip: `${host}occupationlab/occupationlab/achievement/batchExportReportsAsZip`,
exportExamPaperReports: `${host}exam/exam/paper/exportExamPaperReports`,
exportPracticePaperExperimentReport: `${host}exam/exam/paper/exportPracticePaperExperimentReport`,
// 项目管理
getSystemIdBySchool: `occupationlab/occupationlab/projectManage/getSystemIdBySchool`, // 获取学校下拥有的系统

@ -107,7 +107,7 @@ export default {
},
{
icon: "el-icon-setting",
index: "/review/list",
index: "/review",
title: "评阅平台"
},
{
@ -133,13 +133,13 @@ export default {
},
watch: {
"$route" (to, from) {
let actives = this.actives;
for (let i in this.actives) {
let { actives } = this
for (let i in actives) {
if (actives[i].includes(this.$route.name)) this.active = `/${i}/list`;
}
let arr = this.$route.path.split("/");
let name = `/${arr[1]}/list`
this.active = name;
this.active = name === '/review/list' ? '/review' : name
}
},
created () {

@ -22,6 +22,8 @@ export default {
"setCustomerName"
]),
setLogin () {
localStorage.removeItem('review_token')
localStorage.removeItem('reviewPath')
this.SET_FROM(true)
Util.local.set(Setting.tokenKey, window.atob(decodeURI(this.token)), Setting.tokenExpires);
this.getRole()

@ -45,7 +45,7 @@
<div class="line">
<div class="jud-name">
错误率最高
<div v-html="max.projectName"></div>
<div class="jud-html" v-html="max.projectName"></div>
</div>
<span>参加考试{{ permissions ? (max.numberOfParticipants || 0) : (max.quantityAfterWeightRemoval || 0)
}}&emsp;&emsp;{{ curTab == 1 ? `${max.itemErrorCount || 0}人做错,` : '' }}错误率{{ max.errorRate || 0
@ -54,7 +54,7 @@
<div class="line">
<div class="jud-name">
错误率最低
<div v-html="min.projectName"></div>
<div class="jud-html" v-html="min.projectName"></div>
</div>
<span>参加考试{{ permissions ? (min.numberOfParticipants || 0) : (min.quantityAfterWeightRemoval || 0)
}}&emsp;&emsp;{{ curTab == 1 ? `${min.itemErrorCount || 0}人做错,` : '' }}错误率{{ min.errorRate || 0
@ -514,6 +514,14 @@ export default {
errorChart () {
const data = this.errorAnalysis
const maxFontLength = data.length > 13 ? 6 : 10
const xData = []
const yData = []
data.forEach(e => {
const el = document.createElement('div')
el.innerHTML = e.projectName
xData.push(el.innerText)
yData.push(e.errorRate)
})
const option = {
tooltip: {
trigger: 'axis',
@ -567,7 +575,7 @@ export default {
},
rotate: data.length > 16 ? 45 : 0
},
data: data.map(e => e.projectName)
data: xData
}],
yAxis: [
{
@ -614,7 +622,7 @@ export default {
shadowColor: 'rgba(0, 0, 0, 0.1)',
}
},
data: data.map(e => e.errorRate)
data: yData
}
]
}
@ -709,6 +717,10 @@ export default {
width: 500px;
margin-right: 100px;
}
.jud-html {
max-width: 410px;
}
}
}
</style>

@ -50,7 +50,7 @@
<div class="line">
<div class="jud-name">
错误率最高
<div v-html="max.judgmentName"></div>
<div class="jud-html" v-html="max.judgmentName"></div>
</div>
<span>参加考试{{ peopleNum }}&emsp;&emsp;{{ permissions ? `${max.errorTotal || 0}人做错,` : '' }}错误率{{
max.errorRate }}%</span>
@ -58,7 +58,7 @@
<div class="line">
<div class="jud-name">
错误率最低
<div v-html="min.judgmentName"></div>
<div class="jud-html" v-html="min.judgmentName"></div>
</div>
<span>参加考试{{ peopleNum }}&emsp;&emsp;{{ permissions ? `${min.errorTotal || 0}人做错,` : '' }}错误率{{
min.errorRate }}%</span>
@ -188,6 +188,7 @@ export default {
id: this.$route.query.id || '',
paperId: this.$route.query.paperId || '',
mallId: this.$route.query.mallId,
cid: this.$route.query.cid || '',
workNumber: this.$route.query.workNumber,
keyword: "",
searchTimer: null,
@ -339,30 +340,58 @@ export default {
},
//
async exportReport () {
this.exporting = true
// reportId
let list = this.multipleSelection
let reportIds = []
if (list.length) {
list.map(e => {
e.reportId && reportIds.push(e.reportId)
})
}
if (this.list.length) {
this.exporting = true
// reportId
let list = this.multipleSelection
let reportIds = []
if (list.length) {
list.map(e => {
e.reportId && reportIds.push(e.reportId)
})
}
const per = this.permissions
let res
if (this.list[0].paperId) {
//
const data = {
ids: reportIds,
}
if (!reportIds.length) {
if (per) {
data.assessmentId = this.id
} else {
data.examPaperId = this.paperId
data.mallId = this.mallId
data.cid = this.cid
}
}
res = await axios.post(this.api[per ? 'exportExamPaperReports' : 'exportPracticePaperExperimentReport'], data, {
headers: {
token: this.token
},
responseType: 'blob'
})
} else {
//
const data = {
mallId: this.mallId,
reportIds
}
data[per ? 'assessmentId' : 'projectId'] = this.id || this.paperId
res = await axios.post(this.api.batchExportReportsAsZip, data, {
headers: {
token: this.token
},
responseType: 'blob'
})
}
const data = {
mallId: this.mallId,
reportIds
const name = res.headers['content-disposition']
Util.downloadFileDirect(name ? decodeURI(name) : '成绩报告.zip', new Blob([res.data]))
this.exporting = false
}
data[this.permissions ? 'assessmentId' : this.paperId ? 'paperId' : 'projectId'] = this.id || this.paperId
const res = await axios.post(this.api.batchExportReportsAsZip, data, {
headers: {
token: this.token
},
responseType: 'blob'
})
const name = res.headers['content-disposition']
Util.downloadFileDirect(name ? decodeURI(name) : '成绩报告.zip', new Blob([res.data]))
this.exporting = false
},
handleDelete (row) { //
this.$confirm("确定要删除吗?", "提示", {
@ -489,6 +518,14 @@ export default {
errorChart () {
const data = this.errorAnalysis.scoringPointList
const maxFontLength = data.length > 13 ? 6 : 10
const xData = []
const yData = []
data.forEach(e => {
const el = document.createElement('div')
el.innerHTML = e.judgmentName
xData.push(el.innerText)
yData.push(e.errorRate)
})
const option = {
tooltip: {
trigger: 'axis',
@ -540,7 +577,7 @@ export default {
},
// rotate: 45
},
data: data.map(e => e.judgmentName)
data: xData
}],
yAxis: [
{
@ -587,7 +624,7 @@ export default {
shadowColor: 'rgba(0, 0, 0, 0.1)',
}
},
data: data.map(e => e.errorRate)
data: yData
}
]
}
@ -696,6 +733,10 @@ export default {
width: 500px;
margin-right: 100px;
}
.jud-html {
max-width: 410px;
}
}
}
</style>

@ -250,8 +250,10 @@ export default {
},
//
entry (row) {
const { mallId } = this.form
const cur = this.curs.find(e => e.mallId == mallId) || {}
this.$store.commit('achievement/setReferrer', `${this.$route.path}?${qs.stringify(this.form)}&page=${this.page}`)
this.$router.push(`project?id=${row.assessmentId || row.projectId || ''}&paperId=${row.paperId || ''}&projectName=${row.projectName}&permissions=${this.form.permissions}&mallId=${this.form.mallId}&classId=${row.classId || ''}`)
this.$router.push(`project?id=${row.assessmentId || row.projectId || ''}&paperId=${row.paperId || ''}&cid=${cur.cid}&projectName=${row.projectName || ''}&permissions=${this.form.permissions}&mallId=${this.form.mallId}&classId=${row.classId || ''}`)
},
handleDelete (row) { //
this.$confirm("该项目下的所有成绩报告将会删除,是否继续?", "提示", {

@ -1,62 +1,34 @@
<template>
<div class="page"
v-loading="loading">
<div class="page" v-loading="loading">
<h6 class="p-title">筛选</h6>
<div class="tool mul">
<ul class="filter">
<li>
<label>创建时间</label>
<el-radio-group v-model="form.month"
@change="initData">
<el-radio v-for="(item,index) in dateList"
:key="index"
:label="item.id"
border>{{ item.name }}</el-radio>
<el-radio-group v-model="form.month" @change="initData">
<el-radio v-for="(item, index) in dateList" :key="index" :label="item.id" border>{{ item.name }}</el-radio>
</el-radio-group>
<el-date-picker v-model="date"
@blur='pickerInput'
align="right"
unlink-panels
type="daterange"
style="width: 300px;margin-left: 10px;"
start-placeholder="开始日期"
end-placeholder="结束日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
clearable></el-date-picker>
<el-date-picker v-model="date" @blur='pickerInput' align="right" unlink-panels type="daterange"
style="width: 300px;margin-left: 10px;" start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" clearable></el-date-picker>
</li>
<li>
<label>发布类型</label>
<el-select v-model="form.type"
clearable
placeholder="请选择发布类型"
@change="initData">
<el-option v-for="(item,index) in typeList"
:key="index"
:label="item.name"
:value="item.value"></el-option>
<el-select v-model="form.type" clearable placeholder="请选择发布类型" @change="initData">
<el-option v-for="(item, index) in typeList" :key="index" :label="item.name" :value="item.value"></el-option>
</el-select>
</li>
<li>
<label>实验状态</label>
<el-select v-model="form.status"
clearable
placeholder="请选择实验状态"
@change="initData">
<el-option v-for="(item,index) in statusList"
:key="index"
:label="item.name"
:value="item.value"></el-option>
<el-select v-model="form.status" clearable placeholder="请选择实验状态" @change="initData">
<el-option v-for="(item, index) in statusList" :key="index" :label="item.name"
:value="item.value"></el-option>
</el-select>
</li>
<li>
<label>课程</label>
<el-select v-model="form.mallId"
@change="initData">
<el-option v-for="(item, i) in curs"
:key="i"
:label="item.curriculumName"
:value="item.mallId"></el-option>
<el-select v-model="form.mallId" @change="initData">
<el-option v-for="(item, i) in curs" :key="i" :label="item.curriculumName" :value="item.mallId"></el-option>
</el-select>
<!-- <el-cascader v-model="mallIds"
@ -71,152 +43,92 @@
<div class="tool mul">
<ul class="filter">
<li>
<el-input placeholder="请输入实验班级/项目名称/考核名称"
prefix-icon="el-icon-search"
v-model.trim="form.keyWord"
clearable
style="width: 300px"></el-input>
<el-input placeholder="请输入实验班级/项目名称/考核名称" prefix-icon="el-icon-search" v-model.trim="form.keyWord" clearable
style="width: 300px"></el-input>
</li>
</ul>
<div>
<div>
<el-button v-auth
type="info"
round
@click="add">创建考核</el-button>
<el-button v-auth
type="primary"
round
@click="delAllData">批量删除</el-button>
<el-button v-auth type="info" round @click="add">创建考核</el-button>
<el-button v-auth type="primary" round @click="delAllData">批量删除</el-button>
</div>
</div>
</div>
<el-table ref="table"
:data="listData"
class="table"
stripe
header-align="center"
@selection-change="handleSelectionChange"
row-key="id">
<el-table-column type="selection"
:selectable="row => row.status !== 1"
width="50"
align="center"
:reserve-selection="true"></el-table-column>
<el-table-column type="index"
width="60"
label="序号"
align="center">
<el-table ref="table" :data="listData" class="table" stripe header-align="center"
@selection-change="handleSelectionChange" row-key="id">
<el-table-column type="selection" :selectable="row => row.status !== 1" width="50" align="center"
:reserve-selection="true"></el-table-column>
<el-table-column type="index" width="60" label="序号" align="center">
<template slot-scope="scope">
{{ scope.$index + (page - 1) * pageSize + 1 }}
</template>
</el-table-column>
<el-table-column prop="className"
label="实验班级"
align="center"
min-width="120px"
show-overflow-tooltip></el-table-column>
<el-table-column prop="experimentalName"
label="考核名称"
align="center"
min-width="120px"
show-overflow-tooltip></el-table-column>
<el-table-column prop="projectName"
label="项目名称"
min-width="200"
show-overflow-tooltip
align="center"></el-table-column>
<el-table-column prop="experimenterNum"
label="实验人数"
align="center"></el-table-column>
<el-table-column prop="experimentDuration"
label="实验时长"
align="center"></el-table-column>
<el-table-column label="邀请码"
align="center">
<el-table-column prop="className" label="实验班级" align="center" min-width="120px"
show-overflow-tooltip></el-table-column>
<el-table-column prop="experimentalName" label="考核名称" align="center" min-width="120px"
show-overflow-tooltip></el-table-column>
<el-table-column prop="projectName" label="项目名称" min-width="200" show-overflow-tooltip
align="center"></el-table-column>
<el-table-column prop="experimenterNum" label="实验人数" align="center"></el-table-column>
<el-table-column prop="experimentDuration" label="实验时长" align="center"></el-table-column>
<el-table-column label="邀请码" align="center">
<template slot-scope="scope">
<span>{{ scope.row.isEnableCode == 1 ? scope.row.invitationCode : "" }}</span>
</template>
</el-table-column>
<el-table-column prop="type"
label="发布类型"
align="center">
<el-table-column prop="type" label="发布类型" align="center">
<template slot-scope="scope">
<span>{{ types[scope.row.type] }}</span>
</template>
</el-table-column>
<el-table-column prop="createTime"
width="150"
label="创建时间"
align="center">
<el-table-column prop="createTime" width="150" label="创建时间" align="center">
</el-table-column>
<el-table-column prop="startTime"
width="150"
label="起始时间"
align="center">
<el-table-column prop="startTime" width="150" label="起始时间" align="center">
<template slot-scope="scope">
<span>{{ (scope.row.status == 0 && scope.row.type == 1) ? '---' : transferTime(scope.row.startTime) }}</span>
</template>
</el-table-column>
<el-table-column prop="stopTime"
width="150"
label="结束时间"
align="center">
<el-table-column prop="stopTime" width="150" label="结束时间" align="center">
<template slot-scope="scope">
<span>{{ (scope.row.status == 0 && scope.row.type == 1) ? '---' : transferTime(scope.row.stopTime) }}</span>
</template>
</el-table-column>
<el-table-column label="倒计时"
align="center">
<el-table-column label="倒计时" align="center">
<template slot-scope="scope">
<span>{{ timeFilter(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column label="实验状态"
align="center">
<el-table-column label="实验状态" align="center">
<template slot-scope="scope">
<span>
{{ status[scope.row.status] }}
</span>
</template>
</el-table-column>
<el-table-column label="操作"
width="170"
align="center">
<el-table-column label="操作" width="170" align="center">
<template slot-scope="scope">
<template v-if="scope.row.status == 0 && (roleName.includes('超级') || roleName === scope.row.roleName || (roleName === '管理员' && !scope.row.roleName.includes('超级')))">
<el-button v-auth
v-if="scope.row.type == 1"
type="text"
@click="start(scope.row)">启动</el-button>
<el-button v-auth
type="text"
@click="edit(scope.row)">修改</el-button>
<template
v-if="scope.row.status == 0 && (roleName.includes('超级') || roleName === scope.row.roleName || (roleName === '管理员' && !scope.row.roleName.includes('超级')))">
<el-button v-auth v-if="scope.row.type == 1" type="text" @click="start(scope.row)">启动</el-button>
<el-button v-auth type="text" @click="edit(scope.row)">修改</el-button>
</template>
<template v-else-if="scope.row.status == 1 && (roleName.includes('超级') || roleName === scope.row.roleName || (roleName === '管理员' && !scope.row.roleName.includes('超级')))">
<el-button v-auth
type="text"
@click="finish(scope.row)">提前结束</el-button>
<template
v-else-if="scope.row.status == 1 && (roleName.includes('超级') || roleName === scope.row.roleName || (roleName === '管理员' && !scope.row.roleName.includes('超级')))">
<el-button v-auth type="text" @click="finish(scope.row)">提前结束</el-button>
</template>
<template v-else-if="scope.row.status == 2">
<el-button v-auth
type="text"
@click="show(scope.row)">查看成绩</el-button>
<el-button v-auth type="text" @click="show(scope.row)">查看成绩</el-button>
</template>
<el-button v-auth
v-if="(scope.row.status == 0 || scope.row.status == 2) && (roleName.includes('超级') || roleName === scope.row.roleName || (roleName === '管理员' && !scope.row.roleName.includes('超级')))"
type="text"
@click="delData(scope.row)">删除</el-button>
v-if="(scope.row.status == 0 || scope.row.status == 2) && (roleName.includes('超级') || roleName === scope.row.roleName || (roleName === '管理员' && !scope.row.roleName.includes('超级')))"
type="text" @click="delData(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background
layout="total, prev, pager, next"
:total="total"
@current-change="handleCurrentChange"
:current-page="page"></el-pagination>
<el-pagination background layout="total, prev, pager, next" :total="total" @current-change="handleCurrentChange"
:current-page="page"></el-pagination>
</div>
</div>
</template>
@ -551,9 +463,10 @@ export default {
<style lang="scss" scoped>
.el-radio-group {
white-space: nowrap;
white-space: nowrap;
}
.el-radio.is-bordered + .el-radio.is-bordered {
margin-left: 0;
.el-radio.is-bordered+.el-radio.is-bordered {
margin-left: 0;
}
</style>

@ -19,12 +19,12 @@ export default {
let url = `${location.origin}/reviewCenter/`
if (Setting.isDev) url = `http://192.168.31.125:8099/`
if (cache) {
url += `#${cache}${cache.includes('?') ? `&` : '?'}token=${this.token}`
url += `#${cache}${cache.includes('?') ? `&` : '?'}token=${this.token}&nakadai=`
} else {
url += `#/allocationReview?token=${this.token}`
url += `#/myReview?token=${this.token}&nakadai=`
}
// myReview
url += `&v=${Date.now()}`
console.log("🚀 ~ mounted ~ url:", url)
localStorage.setItem('review_token', this.token)
this.url = url
},

@ -4,120 +4,62 @@
<div class="tool">
<ul class="filter">
<li>
<el-input placeholder="请输入角色名称"
prefix-icon="el-icon-search"
v-model.trim="keyword"
clearable></el-input>
<el-input placeholder="请输入角色名称" prefix-icon="el-icon-search" v-model.trim="keyword" clearable></el-input>
</li>
</ul>
<div>
<el-button v-auth="'角色权限:新增角色'"
type="info"
round
@click="addRole">新增角色</el-button>
<el-button v-auth="'角色权限:批量删除'"
type="primary"
round
@click="delAllSelection">批量删除</el-button>
<el-button v-auth="'角色权限:新增角色'" type="info" round @click="addRole">新增角色</el-button>
<el-button v-auth="'角色权限:批量删除'" type="primary" round @click="delAllSelection">批量删除</el-button>
</div>
</div>
<el-table :data="listData"
class="table"
ref="table"
stripe
header-align="center"
@selection-change="handleSelectionChange"
:row-key="getRowKeys">
<el-table-column type="selection"
width="55"
align="center"
:selectable="practiceSelectable"
:reserve-selection="true"></el-table-column>
<el-table-column type="index"
width="60"
label="序号"
align="center"></el-table-column>
<el-table-column prop="roleName"
label="角色名称"
align="center"
min-width="250"
show-overflow-tooltip></el-table-column>
<el-table-column label="角色描述"
min-width="400"
align="center">
<el-table :data="listData" class="table" ref="table" stripe header-align="center"
@selection-change="handleSelectionChange" :row-key="getRowKeys">
<el-table-column type="selection" width="55" align="center" :selectable="practiceSelectable"
:reserve-selection="true"></el-table-column>
<el-table-column type="index" width="60" label="序号" align="center"></el-table-column>
<el-table-column prop="roleName" label="角色名称" align="center" min-width="250"
show-overflow-tooltip></el-table-column>
<el-table-column label="角色描述" min-width="400" align="center">
<template slot-scope="scope">
<el-input placeholder="该角色用于管理全部功能权限"
v-model="scope.row.remark"
disabled></el-input>
<el-input placeholder="该角色用于管理全部功能权限" v-model="scope.row.remark" disabled></el-input>
</template>
</el-table-column>
<el-table-column label="操作"
align="center"
width="200">
<el-table-column label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button v-auth="'角色权限:查看'"
type="text"
@click="showRole(scope.row)">查看</el-button>
<el-button v-auth="'角色权限:编辑'"
v-if="scope.row.roleName !== '超级管理员'"
type="text"
@click="editRole(scope.row)">编辑</el-button>
<el-button v-auth="'角色权限:删除'"
v-if="scope.row.roleName !== '超级管理员' && scope.row.roleName !== '管理员'"
type="text"
@click="handleDelete(scope.row)">删除</el-button>
<el-button v-auth="'角色权限:查看'" type="text" @click="showRole(scope.row)">查看</el-button>
<!-- v-if="scope.row.roleName !== '超级管理员'" -->
<el-button v-auth="'角色权限:编辑'" type="text" @click="editRole(scope.row)">编辑</el-button>
<el-button v-auth="'角色权限:删除'" v-if="scope.row.roleName !== '超级管理员' && scope.row.roleName !== '管理员'"
type="text" @click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background
@current-change="currentChange"
:current-page="page"
layout="total, prev, pager, next"
:total="total"></el-pagination>
<el-pagination background @current-change="currentChange" :current-page="page" layout="total, prev, pager, next"
:total="total"></el-pagination>
</div>
<el-dialog :title="isDetail ? '查看角色' : (isAdd ? '新增角色' : '编辑角色')"
:visible.sync="roleVisible"
width="30%"
@close="closeRole"
class="dialog"
:close-on-click-modal="false">
<el-form ref="form"
label-width="80px"
:disabled="isDetail">
<el-dialog :title="isDetail ? '查看角色' : (isAdd ? '新增角色' : '编辑角色')" :visible.sync="roleVisible" width="30%"
@close="closeRole" class="dialog" :close-on-click-modal="false">
<el-form ref="form" label-width="80px" :disabled="isDetail">
<el-form-item label="角色名称">
<el-input v-model="form.roleName"
placeholder="请输入角色名称"></el-input>
<el-input v-model="form.roleName" placeholder="请输入角色名称"></el-input>
</el-form-item>
<el-form-item label="角色描述">
<el-input v-model="form.remark"
placeholder="请输入角色描述"
type="textarea"
rows="5"></el-input>
<el-input v-model="form.remark" placeholder="请输入角色描述" type="textarea" rows="5"></el-input>
</el-form-item>
<el-form-item prop="role"
label="角色权限">
<el-form-item prop="role" label="角色权限">
<div style="max-height: 300px; overflow: auto">
<el-tree ref="per"
:data="permissions"
show-checkbox
default-expand-all
node-key="id"
:default-expanded-keys="checkedIds"
:default-checked-keys="checkedIds"
:props="defaultProps">
<el-tree ref="per" :data="permissions" show-checkbox default-expand-all node-key="id"
:default-expanded-keys="checkedIds" :default-checked-keys="checkedIds" :props="defaultProps">
</el-tree>
</div>
</el-form-item>
</el-form>
<span slot="footer"
class="dialog-footer"
v-if="!isDetail">
<span slot="footer" class="dialog-footer" v-if="!isDetail">
<el-button @click="roleVisible = false"> </el-button>
<el-button type="primary"
@click="saveData"> </el-button>
<el-button type="primary" @click="saveData"> </el-button>
</span>
</el-dialog>
</div>
@ -324,5 +266,4 @@ export default {
}
};
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>

@ -97,7 +97,7 @@ const Setting = {
// 相同路由,不同参数间进行切换,是否强力更新
sameRouteForceUpdate: false,
// 是否使用动态路由(即角色权限,开启了的话就会取后端返回的权限树来显示头部导肮和页面按钮)
dynamicRoute: false,
dynamicRoute: true,
// 文件上传
upload: {
apiURL: uploadURL,

Loading…
Cancel
Save