提交 d4ce4531 编写于 作者: 张平's avatar 张平

Merge branch 'dev-optimization-1223' into 'release'

code reviewer:  张平:修复几个UI bug等

code reviewer:  张平:修复几个UI bug等

See merge request !1
...@@ -18,9 +18,9 @@ export default { ...@@ -18,9 +18,9 @@ export default {
pieData: { pieData: {
type: Array, type: Array,
default: () => [ default: () => [
{ value: 335, name: "优秀证书" }, { value: 0, name: "优秀证书" },
{ value: 310, name: "及格证书" }, { value: 0, name: "及格证书" },
{ value: 234, name: "未获证" } { value: 0, name: "未获证" }
] ]
} }
}, },
...@@ -28,6 +28,7 @@ export default { ...@@ -28,6 +28,7 @@ export default {
return { return {
pieId: 'certPieId', pieId: 'certPieId',
chartHeight: "1000px", chartHeight: "1000px",
legendDataNotSelected: {},
handledData: {}, handledData: {},
legendData: [], legendData: [],
seriesData: {} seriesData: {}
...@@ -48,18 +49,30 @@ export default { ...@@ -48,18 +49,30 @@ export default {
}, },
methods: { methods: {
handlePieData(pieData) { handlePieData(pieData) {
this.legendData = pieData.map( item => { let legendDataNotSelected = {}, legendData = [], seriesData = [];
return item.certName pieData.forEach( (item, i) => {
}) if(!pieData[i].doneCount) {
this.seriesData = pieData.map( item => { legendDataNotSelected[pieData[i].certName] = false
return { name: item.certName, value: item.doneCount} }
legendData.push(item.certName);
seriesData.push({ name: item.certName, value: item.doneCount});
}) })
this.legendDataNotSelected = legendDataNotSelected;
this.legendData = legendData;
this.seriesData = seriesData;
// this.legendData = pieData.map( item => {
// return item.certName
// })
// this.seriesData = pieData.map( item => {
// return { name: item.certName, value: item.doneCount}
// })
}, },
// 绘制图表 // 绘制图表
drawPie() { drawPie() {
let chartPie = vm.$echarts.init(document.getElementById(vm.pieId)); let chartPie = vm.$echarts.init(document.getElementById(vm.pieId));
let options = { let options = {
color: echartColors, // color: echartColors,
tooltip: { tooltip: {
trigger: "item", trigger: "item",
formatter: "{a} <br/>{b} : {c} ({d}%)" formatter: "{a} <br/>{b} : {c} ({d}%)"
...@@ -71,6 +84,7 @@ export default { ...@@ -71,6 +84,7 @@ export default {
top: '30%', top: '30%',
left: '60%', left: '60%',
bottom: 20, bottom: 20,
selected: this.legendDataNotSelected,
data: vm.legendData, // ["优秀证书", "及格证书", "未获证"], data: vm.legendData, // ["优秀证书", "及格证书", "未获证"],
textStyle: { textStyle: {
fontSize: 12, fontSize: 12,
...@@ -112,7 +126,7 @@ export default { ...@@ -112,7 +126,7 @@ export default {
let item = this.pieData.find(item => { let item = this.pieData.find(item => {
return item.certName === name; return item.certName === name;
}); });
return (item && item.doneCount) || ""; return (item && item.doneCount) || 0;
} }
} }
}; };
......
...@@ -19,9 +19,9 @@ export default { ...@@ -19,9 +19,9 @@ export default {
dataList: { dataList: {
type: Array, type: Array,
default: () => [ default: () => [
{ value: 335, name: "优秀证书" }, { value: 0, name: "优秀证书" },
{ value: 310, name: "及格证书" }, { value: 0, name: "及格证书" },
{ value: 234, name: "未获证" } { value: 0, name: "未获证" }
] ]
}, },
...@@ -31,6 +31,7 @@ export default { ...@@ -31,6 +31,7 @@ export default {
chartWidth: '320px', chartWidth: '320px',
pieId: 'eduPieId', pieId: 'eduPieId',
chartHeight: "1000px", chartHeight: "1000px",
legendDataNotSelected: {},
handledData: {}, handledData: {},
legendData: [], legendData: [],
seriesData: {}, seriesData: {},
...@@ -68,23 +69,37 @@ export default { ...@@ -68,23 +69,37 @@ export default {
mounted() {}, mounted() {},
methods: { methods: {
handlePieData(pieData) { handlePieData(pieData) {
this.legendData = pieData.map( item => { let count = 0, legendDataNotSelected = {}, legendData = [], seriesData = [];
return item.name pieData.forEach( (item, i) => {
}) if(!pieData[i].value) {
this.seriesData = pieData.map( item => { legendDataNotSelected[pieData[i].name] = false
return { name: item.name, value: item.value} }
}) legendData.push(item.name);
let count = 0 seriesData.push({ name: item.name, value: item.value});
pieData.forEach( item => {
count += item.value; count += item.value;
}) })
this.legendDataNotSelected = legendDataNotSelected;
this.legendData = legendData;
this.seriesData = seriesData;
this.count = count; this.count = count;
// this.legendData = pieData.map( item => {
// return item.name
// })
// this.seriesData = pieData.map( item => {
// return { name: item.name, value: item.value}
// })
// let count = 0
// pieData.forEach( item => {
// count += item.value;
// })
// this.count = count;
}, },
// 绘制图表 // 绘制图表
drawPie() { drawPie() {
let chartPie = vm.$echarts.init(document.getElementById(vm.pieId)); let chartPie = vm.$echarts.init(document.getElementById(vm.pieId));
let options = { let options = {
color: echartColors, // color: echartColors,
title: { title: {
text: "总人数: " + vm.count, text: "总人数: " + vm.count,
top: '10%', top: '10%',
...@@ -111,6 +126,7 @@ export default { ...@@ -111,6 +126,7 @@ export default {
top: '20%', top: '20%',
left: '60%', left: '60%',
bottom: 20, bottom: 20,
selected: this.legendDataNotSelected,
data: vm.legendData, // ["优秀证书", "及格证书", "未获证"], data: vm.legendData, // ["优秀证书", "及格证书", "未获证"],
textStyle: { textStyle: {
fontSize: 12, fontSize: 12,
...@@ -152,7 +168,7 @@ export default { ...@@ -152,7 +168,7 @@ export default {
let item = this.dataList.find(item => { let item = this.dataList.find(item => {
return item.name === name; return item.name === name;
}); });
return (item && item.value) || ""; return (item && item.value) || 0;
} }
} }
}; };
......
...@@ -19,17 +19,17 @@ export default { ...@@ -19,17 +19,17 @@ export default {
pieData: { pieData: {
type: Array, type: Array,
default: () => [ default: () => [
{ value: 335, name: "优秀证书" }, { value: 0, name: "优秀证书" },
{ value: 310, name: "及格证书" }, { value: 0, name: "及格证书" },
{ value: 234, name: "未获证" } { value: 0, name: "未获证" }
] ]
}, },
dataList: { dataList: {
type: Array, type: Array,
default: () => [ default: () => [
{ value: 335, name: "优秀证书" }, { value: 0, name: "优秀证书" },
{ value: 310, name: "及格证书" }, { value: 0, name: "及格证书" },
{ value: 234, name: "未获证" } { value: 0, name: "未获证" }
] ]
}, },
}, },
...@@ -38,6 +38,7 @@ export default { ...@@ -38,6 +38,7 @@ export default {
chartWidth: '320px', chartWidth: '320px',
pieId: "titlePieId", pieId: "titlePieId",
chartHeight: "1000px", chartHeight: "1000px",
legendDataNotSelected: {},
handledData: {}, handledData: {},
legendData: [], legendData: [],
seriesData: {}, seriesData: {},
...@@ -74,23 +75,37 @@ export default { ...@@ -74,23 +75,37 @@ export default {
mounted() {}, mounted() {},
methods: { methods: {
handlePieData(pieData) { handlePieData(pieData) {
this.legendData = pieData.map(item => { let count = 0, legendDataNotSelected = {}, legendData = [], seriesData = [];
return item.name; pieData.forEach( (item, i) => {
}); if(!pieData[i].value) {
this.seriesData = pieData.map(item => { legendDataNotSelected[pieData[i].name] = false
return { name: item.name, value: item.value }; }
}); legendData.push(item.name);
let count = 0 seriesData.push({ name: item.name, value: item.value});
pieData.forEach( item => {
count += item.value; count += item.value;
}) })
this.legendDataNotSelected = legendDataNotSelected;
this.legendData = legendData;
this.seriesData = seriesData;
this.count = count; this.count = count;
// this.legendData = pieData.map(item => {
// return item.name;
// });
// this.seriesData = pieData.map(item => {
// return { name: item.name, value: item.value };
// });
// let count = 0
// pieData.forEach( item => {
// count += item.value;
// })
// this.count = count;
}, },
// 绘制图表 // 绘制图表
drawPie() { drawPie() {
let chartPie = vm.$echarts.init(document.getElementById(vm.pieId)); let chartPie = vm.$echarts.init(document.getElementById(vm.pieId));
let options = { let options = {
color: echartColors, // color: echartColors,
title: { title: {
text: "总人数: " + vm.count, text: "总人数: " + vm.count,
top: '10%', top: '10%',
...@@ -118,6 +133,7 @@ export default { ...@@ -118,6 +133,7 @@ export default {
top: '20%', top: '20%',
left: "60%", left: "60%",
bottom: 20, bottom: 20,
selected: this.legendDataNotSelected,
data: vm.legendData, // ["优秀证书", "及格证书", "未获证"], data: vm.legendData, // ["优秀证书", "及格证书", "未获证"],
textStyle: { textStyle: {
fontSize: 12, fontSize: 12,
...@@ -159,7 +175,7 @@ export default { ...@@ -159,7 +175,7 @@ export default {
let item = this.dataList.find(item => { let item = this.dataList.find(item => {
return item.name === name; return item.name === name;
}); });
return (item && item.value) || ""; return (item && item.value) || 0;
} }
} }
}; };
......
...@@ -45,6 +45,7 @@ export default { ...@@ -45,6 +45,7 @@ export default {
return { return {
chartHeight: "1000px", chartHeight: "1000px",
handledData: {}, handledData: {},
legendDataNotSelected: {},
legendData: [], legendData: [],
seriesData: {}, seriesData: {},
isShow: true isShow: true
...@@ -78,12 +79,23 @@ export default { ...@@ -78,12 +79,23 @@ export default {
}, },
methods: { methods: {
handlePieData(pieData) { handlePieData(pieData) {
this.legendData = pieData.map( item => { let legendDataNotSelected = {}, legendData = [], seriesData = [];
return item.certName pieData.forEach( (item, i) => {
}) if(!pieData[i].doneCount) {
this.seriesData = pieData.map( item => { legendDataNotSelected[pieData[i].certName] = false
return { name: item.certName, value: item.doneCount} }
legendData.push(item.certName);
seriesData.push({ name: item.certName, value: item.doneCount});
}) })
this.legendDataNotSelected = legendDataNotSelected;
this.legendData = legendData;
this.seriesData = seriesData;
// this.legendData = pieData.map( item => {
// return item.certName
// })
// this.seriesData = pieData.map( item => {
// return { name: item.certName, value: item.doneCount}
// })
}, },
// 绘制图表 // 绘制图表
drawPie() { drawPie() {
...@@ -91,7 +103,7 @@ export default { ...@@ -91,7 +103,7 @@ export default {
chartPie = vm.$echarts.init(document.getElementById(vm.id)); chartPie = vm.$echarts.init(document.getElementById(vm.id));
} }
options = { options = {
color: echartColors, // color: echartColors,
tooltip: { tooltip: {
trigger: "item", trigger: "item",
// formatter: "{a} <br/>{b} : {c} ({d}%)" // formatter: "{a} <br/>{b} : {c} ({d}%)"
...@@ -102,9 +114,10 @@ export default { ...@@ -102,9 +114,10 @@ export default {
type: "scroll", type: "scroll",
orient: "vertical", orient: "vertical",
// orient:'horizontal', // orient:'horizontal',
top: '30%', top: '25%',
left: '60%', left: '60%',
bottom: 20, bottom: 20,
selected: this.legendDataNotSelected,
data: vm.legendData, // ["优秀证书", "及格证书", "未获证"], data: vm.legendData, // ["优秀证书", "及格证书", "未获证"],
textStyle: { textStyle: {
fontSize: 12, fontSize: 12,
...@@ -145,7 +158,7 @@ export default { ...@@ -145,7 +158,7 @@ export default {
let item = this.pieData.find(item => { let item = this.pieData.find(item => {
return item.certName === name; return item.certName === name;
}); });
return (item && item.doneCount) || ""; return (item && item.doneCount) || 0;
} }
} }
}; };
......
...@@ -6,17 +6,22 @@ ...@@ -6,17 +6,22 @@
<li>课程时长</li> <li>课程时长</li>
<li>人均学习时长</li> <li>人均学习时长</li>
</ul> </ul>
<ul class="list"> <ul v-if="dataList.length" class="list">
<li v-for="(item, index) in dataList" :key="index"> <li v-for="(item, index) in dataList" :key="index">
<span>{{item.courseName | shortName}}</span> <span>{{item.courseName | shortName}}</span>
<span>{{item.courseTime | convert}}</span> <span>{{item.courseTime | convert}}</span>
<span>{{item.averageTime | convert}}</span> <span>{{item.averageTime | convert}}</span>
</li> </li>
</ul> </ul>
<NoContent v-show="!dataList.length"></NoContent>
</div> </div>
</template> </template>
<script> <script>
import NoContent from "@/components/bussiness/no-content";
export default { export default {
components: {
NoContent
},
props: { props: {
dataList: { dataList: {
type: Array, type: Array,
......
...@@ -5,16 +5,21 @@ ...@@ -5,16 +5,21 @@
<li>考试名</li> <li>考试名</li>
<li>参与通过率</li> <li>参与通过率</li>
</ul> </ul>
<ul class="list"> <ul v-if="dataList.length" class="list">
<li v-for="(item, index) in dataList" :key="index"> <li v-for="(item, index) in dataList" :key="index">
<span>{{item.examName | shortName}}</span> <span>{{item.examName | shortName}}</span>
<span>{{(item.joinRate * 100).toFixed(1)}}%</span> <span>{{(item.joinRate * 100).toFixed(1)}}%</span>
</li> </li>
</ul> </ul>
<NoContent v-show="!dataList.length"></NoContent>
</div> </div>
</template> </template>
<script> <script>
import NoContent from "@/components/bussiness/no-content";
export default { export default {
components: {
NoContent
},
props: { props: {
dataList: { dataList: {
type: Array, type: Array,
......
...@@ -6,19 +6,22 @@ ...@@ -6,19 +6,22 @@
<li>考试分数(分)</li> <li>考试分数(分)</li>
<li>考试人数(个)</li> <li>考试人数(个)</li>
</ul> </ul>
<ul class="list"> <ul v-if="dataList.length" class="list">
<li v-for="(item, index) in dataList" :key="index"> <li v-for="(item, index) in dataList" :key="index">
<span>{{item.timesStr}}</span> <span>{{item.timesStr}}</span>
<span>{{item.count}}</span> <span>{{item.count}}</span>
</li> </li>
</ul> </ul>
<NoContent v-show="!dataList.length"></NoContent>
</div> </div>
</template> </template>
<script> <script>
import TipsInfo from '@/components/bussiness/tips-info' import TipsInfo from '@/components/bussiness/tips-info'
import NoContent from "@/components/bussiness/no-content";
export default { export default {
components: { components: {
TipsInfo TipsInfo,
NoContent
}, },
props: { props: {
dataList: { dataList: {
......
...@@ -6,19 +6,22 @@ ...@@ -6,19 +6,22 @@
<li>考试次数(次)</li> <li>考试次数(次)</li>
<li>考试人数(个)</li> <li>考试人数(个)</li>
</ul> </ul>
<ul class="list"> <ul v-if="dataList.length" class="list">
<li v-for="(item, index) in dataList" :key="index"> <li v-for="(item, index) in dataList" :key="index">
<span>{{item.times}}</span> <span>{{item.times}}</span>
<span>{{item.count}}</span> <span>{{item.count}}</span>
</li> </li>
</ul> </ul>
<NoContent v-show="!dataList.length"></NoContent>
</div> </div>
</template> </template>
<script> <script>
import TipsInfo from '@/components/bussiness/tips-info' import TipsInfo from '@/components/bussiness/tips-info'
import NoContent from "@/components/bussiness/no-content";
export default { export default {
components: { components: {
TipsInfo TipsInfo,
NoContent
}, },
props: { props: {
dataList: { dataList: {
......
<!-- 完成天数排名组件 --> <!-- 完成天数排名组件 -->
<template> <template>
<ul class="rank-item-days"> <div>
<ul v-if="rankList.length" class="rank-item-days">
<li v-for="(item, index) in rankList" :key="index"> <li v-for="(item, index) in rankList" :key="index">
<div class="order"> <div class="order">
<img v-if="index === 0 || index === 1 || index === 2" :src="getRankImgUrl(index)" alt=""> <img v-if="index === 0 || index === 1 || index === 2" :src="getRankImgUrl(index)" alt="">
...@@ -16,9 +17,16 @@ ...@@ -16,9 +17,16 @@
</div> </div>
</li> </li>
</ul> </ul>
<NoContent v-show="!rankList.length"></NoContent>
</div>
</template> </template>
<script> <script>
import NoContent from "@/components/bussiness/no-content";
export default { export default {
components: {
NoContent
},
props: { props: {
rankList: { rankList: {
type: Array, type: Array,
......
<!-- 培训情况排名组件 --> <!-- 培训情况排名组件 -->
<template> <template>
<div> <div>
<ul class="rank-item"> <ul v-if="rankList.length" class="rank-item">
<li v-for="(item, index) in rankList" :key="index"> <li v-for="(item, index) in rankList" :key="index">
<div class="order"> <div class="order">
<img v-if="index === 0 || index === 1 || index === 2" :src="getRankImgUrl(index)" alt /> <img v-if="index === 0 || index === 1 || index === 2" :src="getRankImgUrl(index)" alt />
...@@ -17,10 +17,15 @@ ...@@ -17,10 +17,15 @@
</div> </div>
</li> </li>
</ul> </ul>
<NoContent v-if="!rankList.length"></NoContent>
</div> </div>
</template> </template>
<script> <script>
import NoContent from "@/components/bussiness/no-content";
export default { export default {
components: {
NoContent
},
props: { props: {
rankList: { rankList: {
type: Array, type: Array,
......
<template> <template>
<section class="container" > <section class="container">
<CommonHeader :title="projectInfo.projectName | shortName"></CommonHeader> <CommonHeader :title="projectInfo.projectName | shortName"></CommonHeader>
<CommonAreaSelect <CommonAreaSelect v-show="!isScroll" @areaClick="areaTabClick" @orgClick="orgTabClick" :areaName="areaName" :orgName="orgName" :showArea="isShowArea" :showOrg="isShowOrg">
v-show="!isScroll"
@areaClick="areaTabClick"
@orgClick="orgTabClick"
:areaName="areaName"
:orgName="orgName"
:showArea="isShowArea"
:showOrg="isShowOrg">
</CommonAreaSelect> </CommonAreaSelect>
<CommonTaps :needFixed="isScroll" :projectInfo="projectInfo" @tabClicked="tabClicked"></CommonTaps> <CommonTaps :needFixed="isScroll" :projectInfo="projectInfo" @tabClicked="tabClicked"></CommonTaps>
<!-- 总体概况 --> <!-- 总体概况 -->
<div v-show="isScroll" class="pd-top-60"></div> <div v-show="isScroll" class="pd-top-60"></div>
<article v-show="cIndex === 0"> <article v-show="cIndex === 0">
<CommonSwiperItem <CommonSwiperItem :isSingleOrg="isSingleOrg" :percentData="allData.percentData || {}" :certFlag="projectInfo.certFlag" @tipsClick="tipsSwiperClick"></CommonSwiperItem>
:isSingleOrg="isSingleOrg"
:percentData="allData.percentData || {}"
:certFlag="projectInfo.certFlag"
@tipsClick="tipsSwiperClick"
></CommonSwiperItem>
<div v-show="!isSingleOrg"> <div v-show="!isSingleOrg">
<CommonTitle v-if="projectInfo.certFlag" title="证书分布情况"></CommonTitle> <CommonTitle v-if="projectInfo.certFlag" title="证书分布情况"></CommonTitle>
<ChartPie v-if="projectInfo.certFlag" :certFlag="projectInfo.certFlag" id="certPieId2" :pieData="(allData && allData.certData)"></ChartPie> <ChartPie v-if="projectInfo.certFlag" :certFlag="projectInfo.certFlag" id="certPieId2" :pieData="(allData && allData.certData)"></ChartPie>
...@@ -36,14 +24,7 @@ ...@@ -36,14 +24,7 @@
</div> </div>
<div v-show="isSingleOrg"> <div v-show="isSingleOrg">
<CommonTitle title="培训机构情况"></CommonTitle> <CommonTitle title="培训机构情况"></CommonTitle>
<OrgDoctorList <OrgDoctorList @orgDoctorTabChange="orgDoctorTabChange" :certUserList="orgDoctorTabData.certUserList" :noCertUserList="orgDoctorTabData.noCertUserList" :noJoinList="orgDoctorTabData.noJoinList" :certFlag="projectInfo.certFlag" :containOfficialFlag="projectInfo.containOfficialFlag"></OrgDoctorList>
@orgDoctorTabChange="orgDoctorTabChange"
:certUserList="orgDoctorTabData.certUserList"
:noCertUserList="orgDoctorTabData.noCertUserList"
:noJoinList="orgDoctorTabData.noJoinList"
:certFlag="projectInfo.certFlag"
:containOfficialFlag="projectInfo.containOfficialFlag"
></OrgDoctorList>
</div> </div>
<CommonBottomInfo></CommonBottomInfo> <CommonBottomInfo></CommonBottomInfo>
</article> </article>
...@@ -79,8 +60,8 @@ ...@@ -79,8 +60,8 @@
<ShowAll v-show="generalExamData && generalExamData.examTimesList.length > 5" @action="gotoPage('/examtimes')" class="mt-10"></ShowAll> <ShowAll v-show="generalExamData && generalExamData.examTimesList.length > 5" @action="gotoPage('/examtimes')" class="mt-10"></ShowAll>
<CommonSplitLine></CommonSplitLine> <CommonSplitLine></CommonSplitLine>
<CommonTitle title="完成项目考试分数情况"></CommonTitle> <CommonTitle title="完成项目考试分数情况"></CommonTitle>
<ChartColumnVerticalScore id="chartCourseScoreId" :dataList="generalExamData.examScoreList"></ChartColumnVerticalScore> <ChartColumnVerticalScore id="chartCourseScoreId" :dataList="(generalExamData.examScoreList || []).slice(0, 5)"></ChartColumnVerticalScore>
<ShowAll v-show="generalExamData.examScoreList & generalExamData.examScoreList.length > 5" @action="gotoPage('/examscore')" class="mt-10"></ShowAll> <ShowAll v-show="generalExamData.examScoreList && generalExamData.examScoreList.length > 5" @action="gotoPage('/examscore')" class="mt-10"></ShowAll>
<CommonSplitLine></CommonSplitLine> <CommonSplitLine></CommonSplitLine>
</div> </div>
<CommonTitle title="考试列表"></CommonTitle> <CommonTitle title="考试列表"></CommonTitle>
...@@ -96,28 +77,27 @@ ...@@ -96,28 +77,27 @@
<ChartColumnVerticalTC :dataList="studyEffect.educationEffectList || []" id="chartColumnVerticalTC"></ChartColumnVerticalTC> <ChartColumnVerticalTC :dataList="studyEffect.educationEffectList || []" id="chartColumnVerticalTC"></ChartColumnVerticalTC>
<CommonSplitLine style="margin-top: 10px;"></CommonSplitLine> <CommonSplitLine style="margin-top: 10px;"></CommonSplitLine>
<CommonTitle title="培训前后知识点掌握情况"></CommonTitle> <CommonTitle title="培训前后知识点掌握情况"></CommonTitle>
<ChartColumnHorizontalTC :dataList="studyEffect.knowledgeEffectList || []" id="ChartColumnVerticalTC2"></ChartColumnHorizontalTC> <ChartColumnHorizontalTC :dataList="(studyEffect.knowledgeEffectList || []).slice(0, 5)" id="ChartColumnVerticalTC2"></ChartColumnHorizontalTC>
<ShowAll v-show="studyEffect.knowledgeEffectList && studyEffect.knowledgeEffectList.length > 5" @action="gotoPage('/klgpoint')" class="mt-10"></ShowAll> <ShowAll v-show="studyEffect.knowledgeEffectList && studyEffect.knowledgeEffectList.length > 5" @action="gotoPage('/klgpoint')" class="mt-10"></ShowAll>
<CommonBottomInfo></CommonBottomInfo> <CommonBottomInfo></CommonBottomInfo>
</article> </article>
<PicaArea <PicaArea v-show="isShowArea" @confirm="areaConfirm" @cancel="areaCancel" :projectId="projectId" :token="token"></PicaArea>
v-show="isShowArea"
@confirm="areaConfirm"
@cancel="areaCancel"
:projectId="projectId"
:token="token"
></PicaArea>
<PicaOrg v-show="isShowOrg" @confirm="orgConfirm" @cancel="orgCancel"></PicaOrg> <PicaOrg v-show="isShowOrg" @confirm="orgConfirm" @cancel="orgCancel"></PicaOrg>
<CommonLoading v-show="false"></CommonLoading> <CommonLoading v-show="false"></CommonLoading>
<PopTips :tipsContent="tipsContent" @clickTips="clickTips" v-show="isShowTips"></PopTips> <PopTips :tipsContent="tipsContent" @clickTips="clickTips" v-show="isShowTips"></PopTips>
</section> </section>
</template> </template>
<script> <script>
const cookies = require("cookie-universal")(); const cookies = require("cookie-universal")();
import { goPageByNative } from "@/utils"; import {
import { mapGetters, mapActions } from "vuex"; goPageByNative
} from "@/utils";
import {
mapGetters,
mapActions
} from "vuex";
import { import {
getProvinceList, getProvinceList,
getUserAnalysis, getUserAnalysis,
...@@ -160,7 +140,9 @@ import OrgDoctorList from "@/components/bussiness/org-doctor-list"; ...@@ -160,7 +140,9 @@ import OrgDoctorList from "@/components/bussiness/org-doctor-list";
import ExamList from "@/components/bussiness/exam-list"; import ExamList from "@/components/bussiness/exam-list";
import PopTips from "@/components/bussiness/pop-tips"; import PopTips from "@/components/bussiness/pop-tips";
import CommonCard from "@/components/common/common-card"; import CommonCard from "@/components/common/common-card";
import { getGeneralData } from "@/service/index"; import {
getGeneralData
} from "@/service/index";
let timeOutId = null; let timeOutId = null;
export default { export default {
components: { components: {
...@@ -209,8 +191,7 @@ export default { ...@@ -209,8 +191,7 @@ export default {
cIndex: 0, cIndex: 0,
colors: ["#39AF9A", "#FF9A4B", "#abb7bb", "#76d2d2"], colors: ["#39AF9A", "#FF9A4B", "#abb7bb", "#76d2d2"],
needBG: true, needBG: true,
effectCardList: [ effectCardList: [{
{
count: 65, count: 65,
unitName: "%", unitName: "%",
description: "培训前正确率" description: "培训前正确率"
...@@ -225,8 +206,7 @@ export default { ...@@ -225,8 +206,7 @@ export default {
studyRankList: [], studyRankList: [],
costRankList: [], costRankList: [],
projectId: "", projectId: "",
token: token: "2DEF4802111943C49A98A1429095A876" ||
"2DEF4802111943C49A98A1429095A876" ||
"79A005DB585C45C389ED1DD0C76E3633" || "79A005DB585C45C389ED1DD0C76E3633" ||
"A220943B006347799F277CC524EBB662", "A220943B006347799F277CC524EBB662",
isOrgStat: false, isOrgStat: false,
...@@ -253,8 +233,14 @@ export default { ...@@ -253,8 +233,14 @@ export default {
}, },
echartsData: null, echartsData: null,
analysisData: { analysisData: {
eduList: { join: [], finish: []}, eduList: {
titleList: { join: [], finish: []}, join: [],
finish: []
},
titleList: {
join: [],
finish: []
},
}, },
analysisEduData: [], analysisEduData: [],
analysisTitleData: [], analysisTitleData: [],
...@@ -398,7 +384,9 @@ export default { ...@@ -398,7 +384,9 @@ export default {
// 查询用户信息和权限 // 查询用户信息和权限
getProjectInfo(params) { getProjectInfo(params) {
getProjectInfo({ projectId: this.projectId }).then(res => { getProjectInfo({
projectId: this.projectId
}).then(res => {
if (res.code === "000000") { if (res.code === "000000") {
this.projectInfo = res.data; this.projectInfo = res.data;
getProvinceList(params).then(res => { getProvinceList(params).then(res => {
...@@ -488,11 +476,11 @@ export default { ...@@ -488,11 +476,11 @@ export default {
// 上面三个图标数据 // 上面三个图标数据
getGeneralExam(queryData).then(res => { getGeneralExam(queryData).then(res => {
if (res.code === "000000") { if (res.code === "000000") {
debugger
this.generalExamData = res.data; this.generalExamData = res.data;
this.setExamTimesList(res.data.examTimesList) this.setExamTimesList(res.data.examTimesList)
this.setExamScoreList(res.data.examScoreList) this.setExamScoreList(res.data.examScoreList)
this.examCardList = [ this.examCardList = [{
{
count: res.data.afterExamCount, count: res.data.afterExamCount,
unitName: "门", unitName: "门",
description: "正式考试数" description: "正式考试数"
...@@ -532,7 +520,7 @@ export default { ...@@ -532,7 +520,7 @@ export default {
let viewportHeight = this.getViewportHeight(); let viewportHeight = this.getViewportHeight();
let courseLength = res.data.pCourseList.length; let courseLength = res.data.pCourseList.length;
// 上面的高度 468 每一条数据的高度 60 // 上面的高度 468 每一条数据的高度 60
if(viewportHeight > (468 + (courseLength - 1) * 60)) { if (viewportHeight > (468 + (courseLength - 1) * 60)) {
this.needFixedBottomInfo = true; this.needFixedBottomInfo = true;
} }
} }
...@@ -569,7 +557,7 @@ export default { ...@@ -569,7 +557,7 @@ export default {
this.getHospitalsCNT(this.CNTParams); this.getHospitalsCNT(this.CNTParams);
this.isShowArea = false; this.isShowArea = false;
this.setAreaDegree(selData.areaDegree); this.setAreaDegree(selData.areaDegree);
if(selData.townName || selData.countyName || selData.cityName || selData.provinceName) { if (selData.townName || selData.countyName || selData.cityName || selData.provinceName) {
this.areaName = this.shortName(selData.townName || selData.countyName || selData.cityName || selData.provinceName, 6) this.areaName = this.shortName(selData.townName || selData.countyName || selData.cityName || selData.provinceName, 6)
} }
}, },
...@@ -595,7 +583,7 @@ export default { ...@@ -595,7 +583,7 @@ export default {
this.isShowOrg = false; this.isShowOrg = false;
this.orgName = this.shortName(hospitalNames[0] || '全部机构', 6); this.orgName = this.shortName(hospitalNames[0] || '全部机构', 6);
this.queryGDParams.hospitalIdList = hospitalIds; this.queryGDParams.hospitalIdList = hospitalIds;
if(hospitalIds.length == 0) { if (hospitalIds.length == 0) {
this.getHospitalsCNT(this.CNTParams); this.getHospitalsCNT(this.CNTParams);
return; return;
} }
...@@ -620,7 +608,7 @@ export default { ...@@ -620,7 +608,7 @@ export default {
// 弹出选择区域控件 // 弹出选择区域控件
areaTabClick() { areaTabClick() {
if(this.isShowOrg) { if (this.isShowOrg) {
this.isShowOrg = false; this.isShowOrg = false;
} }
this.isShowArea = !this.isShowArea; this.isShowArea = !this.isShowArea;
...@@ -628,11 +616,11 @@ export default { ...@@ -628,11 +616,11 @@ export default {
// 弹出选择机构控件 // 弹出选择机构控件
orgTabClick() { orgTabClick() {
if(this.areaDegree !== 3 && this.areaDegree !== 4) { if (this.areaDegree !== 3 && this.areaDegree !== 4) {
this.$toast('选择区/县后才可选择机构'); this.$toast('选择区/县后才可选择机构');
return; return;
} }
if(this.orgList.length === 0) { if (this.orgList.length === 0) {
this.$toast('此区域下无机构'); this.$toast('此区域下无机构');
return; return;
} }
...@@ -643,7 +631,7 @@ export default { ...@@ -643,7 +631,7 @@ export default {
// 通用跳转页面 // 通用跳转页面
gotoPage(subUrl, hasCert) { gotoPage(subUrl, hasCert) {
let subUrlAndParams = `${subUrl}?token=${this.token}&projectId=${this.queryGDParams.projectId}&regionId=${this.queryGDParams.regionId}&hospitalIdList=${this.queryGDParams.hospitalIdList.join(',')}` let subUrlAndParams = `${subUrl}?token=${this.token}&projectId=${this.queryGDParams.projectId}&regionId=${this.queryGDParams.regionId}&hospitalIdList=${this.queryGDParams.hospitalIdList.join(',')}`
if(hasCert) { if (hasCert) {
subUrlAndParams += `&certFlag=${this.projectInfo.certFlag}` subUrlAndParams += `&certFlag=${this.projectInfo.certFlag}`
} }
if (this.$rocNative.isWeb) { if (this.$rocNative.isWeb) {
...@@ -727,24 +715,30 @@ export default { ...@@ -727,24 +715,30 @@ export default {
.container { .container {
margin: 0 auto; margin: 0 auto;
font-size: 17px; font-size: 17px;
h1 { h1 {
font-size: 36px; font-size: 36px;
text-align: center; text-align: center;
} }
.m1 { .m1 {
width: 100%; width: 100%;
> div {
>div {
width: 100%; width: 100%;
} }
} }
.mt-10 { .mt-10 {
margin-top: 0; margin-top: 0;
} }
.fixed-bottom-info { .fixed-bottom-info {
position: fixed; position: fixed;
bottom: 0; bottom: 0;
left: 0; left: 0;
} }
.pd-top-60 { .pd-top-60 {
padding-top: 40px; padding-top: 40px;
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册