Merge branch 'dev' of https://git.qcloud.com/joylink/jl-nclient into dev
This commit is contained in:
commit
ecc76fa5aa
@ -5,7 +5,7 @@
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.png">
|
||||
<link rel="stylesheet" href="https://cdn.bootcss.com/element-ui/2.12.0/theme-chalk/index.css">
|
||||
<link rel="stylesheet" href="https://cdn.bootcss.com/element-ui/2.7.2/theme-chalk/index.css">
|
||||
<link href="https://cdn.bootcss.com/nprogress/0.2.0/nprogress.min.css" rel="stylesheet">
|
||||
<title><%= webpackConfig.name %></title>
|
||||
<script src="/static/inflate.min.js"></script>
|
||||
@ -17,9 +17,9 @@
|
||||
<script src="https://cdn.bootcss.com/vue-router/3.0.6/vue-router.min.js"></script>
|
||||
<script src="https://cdn.bootcss.com/nprogress/0.2.0/nprogress.min.js"></script>
|
||||
|
||||
<script src="https://cdn.bootcss.com/element-ui/2.12.0/index.js"></script>
|
||||
<script src="https://cdn.bootcss.com/element-ui/2.12.0/locale/en.min.js"></script>
|
||||
<script src="https://cdn.bootcss.com/element-ui/2.12.0/locale/zh-CN.min.js"></script>
|
||||
<script src="https://cdn.bootcss.com/element-ui/2.7.2/index.js"></script>
|
||||
<script src="https://cdn.bootcss.com/element-ui/2.7.2/locale/en.min.js"></script>
|
||||
<script src="https://cdn.bootcss.com/element-ui/2.7.2/locale/zh-CN.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
|
@ -14,7 +14,7 @@ export default {
|
||||
trainingScore: '实训得分',
|
||||
returnToExamList: '返回考试列表',
|
||||
totalScore: '总分',
|
||||
itemList: '试题列表',
|
||||
itemList: '试卷列表',
|
||||
courseName: '课程名称',
|
||||
permissionsDetails: '权限详情',
|
||||
buy: '购买',
|
||||
|
@ -8,9 +8,10 @@
|
||||
background-color="#545c64"
|
||||
text-color="#fff"
|
||||
active-text-color="#ffd04b"
|
||||
@select="handleSelect"
|
||||
>
|
||||
<system-title />
|
||||
<template v-for="(item,idx) in routers">
|
||||
<template v-for="(item, idx) in routers">
|
||||
<template v-if="!item.hidden&&item.children">
|
||||
<template v-if="hasOneScreenShowingChildren(item.children) &&!item.alwaysShow">
|
||||
<template>
|
||||
@ -25,7 +26,6 @@
|
||||
</template>
|
||||
<template v-else-if="hasOneShowingChildren(item.children) &&!item.alwaysShow">
|
||||
<template :to="item.path+'/'+item.children[0].path">
|
||||
<!-- -->
|
||||
<el-menu-item :key="idx" :index="item.redirect ? item.redirect : (item.path+'/'+item.children[0].path)">
|
||||
<span
|
||||
v-if="item.children[0].meta&&item.children[0].meta.i18n"
|
||||
@ -34,14 +34,14 @@
|
||||
</el-menu-item>
|
||||
</template>
|
||||
</template>
|
||||
<el-submenu v-else :key="idx" :index="item.name||item.path" :show-timeout="100">
|
||||
<el-submenu v-else :key="idx" :index="item.path" :show-timeout="100">
|
||||
<template slot="title">
|
||||
<span v-if="item.meta" slot="title">{{ $t(item.meta.i18n) }}</span>
|
||||
</template>
|
||||
<template v-for="(child,cdx) in item.children">
|
||||
<template v-if="!child.hidden">
|
||||
<template v-if="child.children&&child.children.length>0&&hasShowingChildren(child.children)">
|
||||
<el-submenu :key="cdx" :index="child.name||child.path" :show-timeout="100">
|
||||
<el-submenu :key="cdx" :index="child.path" :show-timeout="100">
|
||||
<template slot="title">
|
||||
<span v-if="child.meta" slot="title">{{ $t(child.meta.i18n) }}</span>
|
||||
</template>
|
||||
@ -92,7 +92,8 @@ export default {
|
||||
return {
|
||||
routes: [],
|
||||
isShow: false,
|
||||
activePath: ''
|
||||
activePath: '',
|
||||
index: ''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -133,9 +134,7 @@ export default {
|
||||
},
|
||||
hasOneScreenShowingChildren(children) {
|
||||
const showingChildren = children.filter(item => {
|
||||
if (!item.hidden && item.target) {
|
||||
return item;
|
||||
}
|
||||
if (!item.hidden && item.target) { return item; }
|
||||
});
|
||||
if (showingChildren.length === 1) {
|
||||
return true;
|
||||
@ -150,6 +149,11 @@ export default {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
handleSelect(index, indexPath) {
|
||||
setTimeout(() => { // 路由跳转
|
||||
this.$refs.keMenu.activeIndex = index;
|
||||
}, 100);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -31,7 +31,7 @@ function hasPermission(roles, route, parentsRoles) {
|
||||
|
||||
if (getSessionStorage('project').startsWith('design')) {
|
||||
const result = roles.filter(role => route.meta.roles.indexOf(role) >= 0) || [];
|
||||
return result.length;
|
||||
return result.length && route.meta.roles.indexOf(userTrainingPlatform) < 0;
|
||||
} else {
|
||||
roles = roles.filter(function (role) {
|
||||
return route.meta.roles.indexOf(role) >= 0;
|
||||
|
@ -242,18 +242,11 @@ export default {
|
||||
});
|
||||
},
|
||||
buy() {
|
||||
this.$confirm('支付系统正在改进,如需购买请联系客服<br/>客服电话:13289398171', this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
dangerouslyUseHTMLString: true,
|
||||
type: 'warning',
|
||||
showCancelButton: false,
|
||||
center: true
|
||||
this.buttonLoading = true;
|
||||
this.$router.push({
|
||||
path: `${UrlConfig.trainingPlatform.pay}/${this.courseModel.id}`,
|
||||
query: { permissionType: PermissionType.SIMULATION, prdId: this.courseModel.prdId, mapId: this.courseModel.mapId, subSystem: this.$route.params.subSystem }
|
||||
});
|
||||
// this.buttonLoading = true;
|
||||
// this.$router.push({
|
||||
// path: `${UrlConfig.trainingPlatform.pay}/${this.courseModel.id}`,
|
||||
// query: { permissionType: PermissionType.SIMULATION, prdId: this.courseModel.prdId, mapId: this.courseModel.mapId, subSystem: this.$route.params.subSystem }
|
||||
// });
|
||||
},
|
||||
transfer() {
|
||||
this.buttonLoading = false;
|
||||
|
@ -116,6 +116,7 @@ export default {
|
||||
async refresh(filterSelect) {
|
||||
this.loading = true;
|
||||
this.treeData = this.treeList = [];
|
||||
const that = this;
|
||||
try {
|
||||
let res = '';
|
||||
if (this.project === 'designxty') {
|
||||
@ -167,7 +168,7 @@ export default {
|
||||
});
|
||||
} catch (error) {
|
||||
this.loading = false;
|
||||
this.$messageBox(this.$t('error.refreshFailed'));
|
||||
this.$messageBox(that.$t('error.refreshFailed'));
|
||||
}
|
||||
},
|
||||
resize() {
|
||||
|
@ -137,18 +137,11 @@ export default {
|
||||
});
|
||||
},
|
||||
buy() {
|
||||
this.$confirm('支付系统正在改进,如需购买请联系客服<br/>客服电话:13289398171', this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
dangerouslyUseHTMLString: true,
|
||||
type: 'warning',
|
||||
showCancelButton: false,
|
||||
center: true
|
||||
this.loading = true;
|
||||
this.$router.push({
|
||||
path: `${UrlConfig.trainingPlatform.pay}/${this.courseModel.id}`,
|
||||
query: { permissionType: PermissionType.EXAM, lessonId: this.courseModel.id, prdId: this.courseModel.prdId, mapId: this.courseModel.mapId, subSystem: this.$route.params.subSystem }
|
||||
});
|
||||
// this.loading = true;
|
||||
// this.$router.push({
|
||||
// path: `${UrlConfig.trainingPlatform.pay}/${this.courseModel.id}`,
|
||||
// query: { permissionType: PermissionType.EXAM, lessonId: this.courseModel.id, prdId: this.courseModel.prdId, mapId: this.courseModel.mapId, subSystem: this.$route.params.subSystem }
|
||||
// });
|
||||
},
|
||||
checkCourse() {
|
||||
this.loading = true;
|
||||
|
@ -12,6 +12,7 @@ import { listPackagePermission, restorePackagePermission, getPackageQrCode, setC
|
||||
import { UrlConfig } from '@/router/index';
|
||||
import QrCode from '@/components/QrCode';
|
||||
import Qcode from './Qcode';
|
||||
import { getPublishMapListOnline } from '@/api/jmap/map';
|
||||
|
||||
export default {
|
||||
name: 'Author',
|
||||
@ -31,11 +32,24 @@ export default {
|
||||
labelWidth: '140px',
|
||||
reset: false,
|
||||
queryObject: {
|
||||
'userName': {
|
||||
type: 'text',
|
||||
label: this.$t('orderAuthor.founder')
|
||||
mapId: {
|
||||
type: 'select',
|
||||
label: this.$t('orderAuthor.mapName'),
|
||||
config: {
|
||||
data: []
|
||||
}
|
||||
},
|
||||
'status': {
|
||||
canDistribute: {
|
||||
type: 'select',
|
||||
label: this.$t('orderAuthor.publicOrPrivate'),
|
||||
config: {
|
||||
data: [
|
||||
{ value: false, label: this.$t('orderAuthor.privateAuthority')},
|
||||
{ value: true, label: this.$t('orderAuthor.publicAuthority')}
|
||||
]
|
||||
}
|
||||
},
|
||||
status: {
|
||||
type: 'select',
|
||||
label: this.$t('global.status'),
|
||||
value: '1',
|
||||
@ -179,6 +193,11 @@ export default {
|
||||
return true;
|
||||
});
|
||||
});
|
||||
getPublishMapListOnline().then(resp => {
|
||||
resp.data.forEach(elem => {
|
||||
this.queryForm.queryObject.mapId.config.data.push({value: elem.id, label: elem.name});
|
||||
});
|
||||
});
|
||||
},
|
||||
formatterDate(row, porpInfo) {
|
||||
return row[porpInfo.property] ? row[porpInfo.property] : this.$t('global.perpetual');
|
||||
|
@ -531,12 +531,10 @@ export default {
|
||||
$menuItemPadding: 5px;
|
||||
|
||||
#PlanMenuBar {
|
||||
z-index: 10;
|
||||
position: absolute;
|
||||
top: $top;
|
||||
width: 100%;
|
||||
height: $height;
|
||||
line-height: $height;
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.nav {
|
||||
|
@ -10,7 +10,7 @@
|
||||
ref="table"
|
||||
:data="config.data"
|
||||
:highlight-current-row="config.highlightCurrentRow"
|
||||
:height="height"
|
||||
class="table_box"
|
||||
:show-header="config.showHeader"
|
||||
border
|
||||
@current-change="handleChange"
|
||||
@ -33,10 +33,6 @@
|
||||
export default {
|
||||
name: 'DataTable',
|
||||
props: {
|
||||
height: {
|
||||
type: Number,
|
||||
required: true
|
||||
},
|
||||
config: {
|
||||
type: Object,
|
||||
required: true
|
||||
@ -89,8 +85,8 @@ export default {
|
||||
border: 1px solid #B6BCCC !important;
|
||||
border-bottom: 2px solid #B6BCCC !important;
|
||||
list-style: none;
|
||||
height: $height;
|
||||
line-height: $height;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
.title{
|
||||
float: left;
|
||||
color: #000;
|
||||
@ -99,6 +95,10 @@ export default {
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
.table_box{
|
||||
height: calc(100% - 20px);
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/deep/ {
|
||||
.el-table--border th.gutter {
|
||||
@ -106,7 +106,6 @@ export default {
|
||||
}
|
||||
|
||||
.el-table {
|
||||
overflow-y: hidden;
|
||||
width: 100%;
|
||||
|
||||
th.is-leaf {
|
||||
|
@ -1,21 +1,19 @@
|
||||
<template>
|
||||
<div id="PlanSchedule" :style="{top: top+'px', height: height+'px'}">
|
||||
<div id="PlanSchedule">
|
||||
<div class="left">
|
||||
<div :id="runPlanId" />
|
||||
</div>
|
||||
<div v-show="showTrain" class="position">
|
||||
<data-table
|
||||
ref="serviceTable"
|
||||
:height="(height - 45)/2"
|
||||
class="data_table_box"
|
||||
:config="serviceNumberConfig"
|
||||
:style="{top: top-(height - 45)/2+'px'}"
|
||||
@touch="scheduleTouch"
|
||||
/>
|
||||
<data-table
|
||||
ref="tripTable"
|
||||
:height="height/2"
|
||||
class="data_table_box"
|
||||
:config="tripNumberConfig"
|
||||
:style="{top: top-height/2+'px'}"
|
||||
@touch="trainNumTouch"
|
||||
/>
|
||||
</div>
|
||||
@ -259,14 +257,18 @@ export default {
|
||||
const op = this.myChart.getOption();
|
||||
op.series.forEach((item, index) => {
|
||||
item.lineStyle.color = '#000';
|
||||
if (item.name == serviceNumber) {
|
||||
switch (item.name) {
|
||||
case serviceNumber: {
|
||||
item.lineStyle.color = 'red';
|
||||
break;
|
||||
}
|
||||
case 'trainLabel': {
|
||||
op.series.splice(index, 1);
|
||||
break;
|
||||
}
|
||||
if (item.name == 'trainLabel') {
|
||||
item.data = [];
|
||||
}
|
||||
});
|
||||
this.myChart.setOption(op);
|
||||
this.myChart.setOption(op, true);
|
||||
}
|
||||
this.$store.dispatch('runPlan/setSelected', { serviceNumber: serviceNumber, tripNumber: null });
|
||||
this.analyticalTripNumber(serviceObj.trainMap || {});
|
||||
@ -278,28 +280,31 @@ export default {
|
||||
const data = [];
|
||||
tripNumber = row.tripNumber;
|
||||
const op = this.myChart.getOption();
|
||||
debugger;
|
||||
// op.series.forEach(item => {
|
||||
// if (item.name == serviceNumber) {
|
||||
// item.data.forEach(nor => {
|
||||
// if (nor[3] == tripNumber) {
|
||||
// data.push(nor);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// if (item.name == 'trainLabel') {
|
||||
// item.data = [];
|
||||
// }
|
||||
// });
|
||||
// op.series.push({
|
||||
// name: 'trainLabel',
|
||||
// lineStyle: {
|
||||
// color: 'green'
|
||||
// },
|
||||
// type: 'line',
|
||||
// data: data
|
||||
// });
|
||||
this.myChart && this.myChart.setOption(op);
|
||||
op.series.forEach((item, index) => {
|
||||
switch (item.name) {
|
||||
case serviceNumber: {
|
||||
item.data.forEach(nor => {
|
||||
if (nor[3] == tripNumber) {
|
||||
data.push(nor);
|
||||
}
|
||||
});
|
||||
break;
|
||||
}
|
||||
case 'trainLabel': {
|
||||
op.series.splice(index, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
op.series.push({
|
||||
name: 'trainLabel',
|
||||
lineStyle: {
|
||||
color: 'green'
|
||||
},
|
||||
type: 'line',
|
||||
data: data
|
||||
});
|
||||
this.myChart && this.myChart.setOption(op, true);
|
||||
}
|
||||
|
||||
this.$store.dispatch('runPlan/setSelected', { serviceNumber: serviceNumber, tripNumber: tripNumber });
|
||||
@ -592,8 +597,10 @@ export default {
|
||||
|
||||
#PlanSchedule {
|
||||
z-index: 0;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: calc(100% - 45px);
|
||||
position: relative;
|
||||
margin-top: 45px;
|
||||
|
||||
.left {
|
||||
height: 100%;
|
||||
@ -603,10 +610,13 @@ export default {
|
||||
|
||||
.position {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
top: 0px;
|
||||
right: 50px;
|
||||
width: 220px;
|
||||
height: calc(100% - 45px);
|
||||
}
|
||||
.data_table_box{
|
||||
height: 50%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -144,14 +144,6 @@ export default {
|
||||
return !this.$route.query.lessonId && row.status == 1;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: this.$t('publish.lessonDeleteBtn'),
|
||||
type: 'warning',
|
||||
handleClick: this.handleDelete,
|
||||
showControl: (row) => {
|
||||
return this.$route.query.lessonId && row.status == 1 && row.creatorId == this.userId;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: this.$t('global.putaway'),
|
||||
type: 'primary',
|
||||
@ -253,24 +245,6 @@ export default {
|
||||
}).catch(() => { });
|
||||
},
|
||||
// 下架
|
||||
handleDelete(index, data) {
|
||||
this.$confirm(this.$t('publish.wellDelPaper'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
setExamEfficacy(data).then(res => {
|
||||
this.queryList.reload();
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: this.$t('publish.setSuccess')
|
||||
});
|
||||
}).catch(res => {
|
||||
this.$message({ type: 'warning', message: `${this.$t('error.setFailed')}${res.message}` });
|
||||
});
|
||||
}).catch(() => { });
|
||||
},
|
||||
// 下架
|
||||
handleEfficacy(index, data) {
|
||||
this.$confirm(this.$t('publish.wellSoldOutPaper'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
|
@ -157,17 +157,10 @@ export default {
|
||||
return data.name.indexOf(value) !== -1;
|
||||
},
|
||||
buy() {
|
||||
this.$confirm('支付系统正在改进,如需购买请联系客服<br/>客服电话:13289398171', this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
dangerouslyUseHTMLString: true,
|
||||
type: 'warning',
|
||||
showCancelButton: false,
|
||||
center: true
|
||||
this.$router.push({
|
||||
path: `${UrlConfig.trainingPlatform.pay}/${this.courseModel.id}`, query:
|
||||
{ permissionType: PermissionType.LESSON, lessonId: this.courseModel.id, prdId: this.$route.query.prdId, mapId: this.$route.query.mapId, subSystem: this.$route.params.subSystem }
|
||||
});
|
||||
// this.$router.push({
|
||||
// path: `${UrlConfig.trainingPlatform.pay}/${this.courseModel.id}`, query:
|
||||
// { permissionType: PermissionType.LESSON, lessonId: this.courseModel.id, prdId: this.$route.query.prdId, mapId: this.$route.query.mapId, subSystem: this.$route.params.subSystem }
|
||||
// });
|
||||
},
|
||||
nodeExpand(obj, node, ele) {
|
||||
const key = obj.id;
|
||||
|
Loading…
Reference in New Issue
Block a user