提交 78f9d5bc 编写于 作者: guangjun.yang's avatar guangjun.yang

Merge branch 'test-learning-1205' into release

* test-learning-1205: (114 commits)
  业务方需求的文案修改
  数据总览文案修改
  导出PDF细节
  UI回测问题
  PDF导出样式的问题
  PDF导出样式的问题
  多次loading问题
  多次loading问题
  PDF导出时间问题 loading问题
  PDF导出问题更新
  PDF生成情况下文案修改
  PDF导出样式问题
  html2Canvas 插件静态导入
  JDF静态导入
  JDF导出的问题
  去掉图片导出
  m导出图片 和 pdf
  导出png
  导出参数设置
  饼图文案修改
  ...
......@@ -2371,9 +2371,9 @@
"dev": true
},
"element-ui": {
"version": "2.10.0",
"resolved": "http://192.168.110.93:4873/element-ui/-/element-ui-2.10.0.tgz",
"integrity": "sha1-5hKfa21v/g260SWkqNF9RHpfY5w=",
"version": "2.11.1",
"resolved": "http://192.168.110.93:4873/element-ui/-/element-ui-2.11.1.tgz",
"integrity": "sha512-PACNMHPWqm+/Wc2f/q93pLNzbNyVbpMCXCrYe81czengSWj7IBku7F3zccybkxtWn5qdCmMDBCpG5BzGJL4rKA==",
"requires": {
"async-validator": "~1.8.1",
"babel-helper-vue-jsx-merge-props": "^2.0.0",
......
......@@ -254,3 +254,15 @@ html,body{
color: #FF9A4B;
}
}
.empty-img {
position: relative;
height: 100px;
width: 100%;
display: flex;
img {
position: relative;
margin: 38px auto;
height: 24px;
width: 106px;
}
}
\ No newline at end of file
......@@ -10,9 +10,9 @@ export const envConfig = {
// baseUrl: 'https://uat-sc.yunqueyi.com/',
// baseUrl: 'http://10.177.15.150:10401/',
// baseUrl: 'http://10.177.15.150:11905/',
baseUrl: 'https://dev-sc.yunqueyi.com/',
// baseUrl: 'https://dev-sc.yunqueyi.com/',
// baseUrl: 'https://test1-sc.yunqueyi.com/',
// baseUrl: 'https://uat-sc.yunqueyi.com/',
baseUrl: 'https://uat-sc.yunqueyi.com/',
apiUrl: 'https://uat-api.yunqueyi.com/',
qiniuFileUrl: "https://uat-sc.yunqueyi.com/contents/admin/qiniu/token1",
qiniuResourceUrl: "https://test1-videos.yunqueyi.com",
......
......@@ -56,7 +56,7 @@ service.interceptors.request.use(config => {
// console.log('环境变量>>>> ', process.env.BUILD_ENV);
// config.headers['token'] = 'BFD804F3A3194FBBBE113962222839F6';
// config.headers['token'] = 'F8209898391C40A0B8DBC1ED9E157291';
config.headers['token'] = '299F66567E7C48C78ADE418B364C5A35' || 'F24CD42F1CFA46829639228E9CFE1E3D' || '2E46B77D801C479DBA1C550CE70D348F';
config.headers['token'] = '29D71EAAB92E4580AFB16A8011BE7206';
}else{
config.headers['token'] = localStorage.getItem('storageToken')
}
......
......@@ -207,11 +207,11 @@ const vueFilter = {
},
exportStatus: (value) => {
if(value == 0) {
return '数据生成中,请稍后---';
return '生成中';
}else if(value == 1) {
return '数据生成完成';
return '成功';
} else {
return '文件生成失败 请重新操作导出';
return '失败';
}
},
getAvgTime: (value) => {
......@@ -232,6 +232,37 @@ const vueFilter = {
}
return avgTime;
},
learnTimeValue: (value) => {
if(value === null || value === '') {
return '-';
}
if(value === 0) {
return '0秒';
}
let s = parseInt(value),m = 0, h = 0;//秒,分,小时
if(s==NaN){//错误error
return '';
}
if(s > 60) {
m = parseInt(s/60);
s = parseInt(s%60);
if(m > 60) {
h = parseInt(m/60);
m = parseInt(m%60);
}
}
let result = "";
if(s > 0) {
result = ""+parseInt(s)+"秒";
}
if(m > 0) {
result = ""+parseInt(m)+"分"+result;
}
if(h > 0) {
result = ""+parseInt(h)+"小时"+result;
}
return result;
},
getTotalTime: (value) => {
let time = value +'分钟';
return time;
......@@ -280,6 +311,86 @@ const vueFilter = {
} else if(value == 4) {
return '已下架';
}
}
},
examRate: (value) => {
let num = (value*100).toFixed(1);
let rate = num + '%';
return rate;
},
sexValue: (value) => {
if(value == 1) {
return '男';
} else if(value == 2) {
return '女';
} else if(value == 0) {
return '-';
}
},
joinFlagValue: (value) => {
if(value === 1) {
return '已参与';
} else if(value === 2 || value === 0) {
return '未参与';
} else {
return '-';
}
},
finishFlagValue: (value) => {
if(value === 1) {
return '已完成';
} else if(value === 2 || value === 0) {
return '未完成';
} else {
return '-';
}
},
departmentNameValue: (value) => {
if(value === '') {
return '-';
}
return value;
},
nullOfValue: (value) => {
if(value === null || value === '') {
return '-';
}
return value;
},
certGradeValue: (value) => {
if(value == 1) {
return '优秀';
} else if(value == 2) {
return '良好';
} else if(value == 3) {
return '及格';
} else if(value == 4) {
return '不及格';
} else {
return '-';
}
},
finishFlagType: (value) => {
if(value[0] === null || value[0] === '') {
return '-';
}
if(value[1] === null) {
if(value[0] == 0) {
return '未参与';
} else if(value[0] == 1) {
return '未完成';
} else if(value[0] == 2) {
return '已完成';
}
} else {
if(value[0] == 0) {
return '未参与';
} else if(value[0] == 1) {
return '已参与';
}
}
},
toThousands:(value) => {
return (value || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');
},
}
export default vueFilter
\ No newline at end of file
此差异已折叠。
......@@ -220,24 +220,25 @@ module.exports = {
},
// 通用GET请求
GET(api, para, callback,str) {
GET(api, para, callback, str, noLoading) {
// para.token = para.token || this.token || "343BCABC890349ACAF357FA79122F9FE"
let url = api + this.getUrlPara(para)
url = encodeURI(url);
return fetch({
url: getBaseUrl(url),
method: 'get',
data: para
data: para,
noLoading
})
},
reportGET(api, para, callback,str) {
reportGET(api, para, callback, str) {
// para.token = para.token || this.token || "343BCABC890349ACAF357FA79122F9FE"
let url = api + this.getUrlPara(para)
url = encodeURI(url);
return fetch({
url: getReportUrl(url),
method: 'get',
data: para
data: para,
})
},
// saas-GET请求
......@@ -273,12 +274,13 @@ module.exports = {
})
},
// 通用POST请求
POST(api, para, callback) {
POST(api, para, callback, str, noLoading) {
// para.token = para.token || this.token || "343BCABC890349ACAF357FA79122F9FE"
return fetch({
url: getBaseUrl(api),
method: 'post',
data: para
data: para,
noLoading
})
},
reportPOST(api, para, callback) {
......
......@@ -305,6 +305,20 @@ export function setRegionOption2(data) {
}
return option;
}
export function setRegionOptionNew(data) {
let option = [];
for (let i = 0; i < data.length; i++) {
let obj = data[i];
obj.label = data[i].label;
obj.value = data[i].id;
if(obj.degree == 4 || obj.degree == 0 || obj.label == "全部") {
// if(obj.degree == 4 ) {
obj.leaf = true;
}
option.push(obj);
}
return option;
}
export function setAdministrativeId(value) {
let areaId = '000';
for (let i = 0; i < value.length; i++) {
......@@ -335,16 +349,17 @@ export function getLearnOrganization(data) {
let arr = [];
return arr;
}
let organization = [
{
label: "全部",
value: 0
},
];
// let organization = [
// {
// label: "全部",
// value: 0
// },
// ];
let organization = [];
for (let i = 0; i < data.length; i++) {
let obj = {
label: data[i].hospital_name,
value: data[i].hospital_id,
label: data[i].hospitalName,
value: data[i].hospitalId,
index: i,
};
organization.push(obj);
......@@ -355,17 +370,25 @@ export function getPicOption(title, legendData, colorData, seriesData) {
let option = {
title: {
text: title,
x: "center",
top: "3%",
x: "left",
left: '20px',
top: "20px",
},
tooltip: {
trigger: 'item',
formatter: "{a} <br/>{b} : {c} ({d}%)"
// formatter: "{a} <br/>{b} : {c} ({d}%)"
formatter:function(data){
let value = data.name + ':' + data.percent.toFixed(1)+"%"
return value;
}
},
label: {
formatter:function(data){ return data.percent.toFixed(1)+"%";}
},
legend: {
orient: "vertical",
top: "3%",
left: "left",
top: "center",
right: "26",
data: legendData
},
grid: {
......@@ -375,13 +398,13 @@ export function getPicOption(title, legendData, colorData, seriesData) {
containLabel: true
},
color: colorData,
backgroundColor: '#F3F3F3',
backgroundColor: '#FFFFFF',
series: [
{
name: "",
type: "pie",
radius: "55%",
center: ["60%", "65%"],
radius: [0, '55%'],
center: ["50%", "57.2%"],
data: seriesData,
}
]
......@@ -391,16 +414,22 @@ export function getPicOption(title, legendData, colorData, seriesData) {
export function getBarOption(xAxisData, seriesData) {
let option = {
title: {
text: "用户年龄发布",
x: "center",
top: "3%",
text: "人员年龄分布",
x: "left",
left: '20px',
top: "20px",
},
color: ['rgba(91, 143, 249, 0.85)'],
backgroundColor: '#FFFFFF',
tooltip: {
trigger: 'item',
formatter: "{b} : {c} "
},
color: ['#3398DB'],
backgroundColor: '#F3F3F3',
grid: {
left: '3%',
right: '4%',
bottom: '3%',
top: '84',
bottom: '36',
left: '20',
right: '20',
containLabel: true
},
xAxis: [
......@@ -409,22 +438,32 @@ export function getBarOption(xAxisData, seriesData) {
data: xAxisData,
axisLabel: {
interval: 0
}
// axisTick: {
// alignWithLabel: true
// }
},
axisTick: { // 隐藏刻度
show: false
},
axisLine: { //隐藏轴线
show: false
},
}
],
yAxis: [
{
type: 'value'
type: 'value',
minInterval: 1,
axisLine: { //隐藏轴线
show: false
},
axisTick: { // 隐藏刻度
show: false
},
}
],
series: [
{
name: '',
type: 'bar',
barWidth: 30,
barWidth: 18,
data: seriesData,
}
]
......@@ -592,13 +631,23 @@ export function initRank(data) {
}
return list;
}
export function getAvgTime(data) {
let list = [0, 0];
if (data != null && data != '') {
list[0] = Math.floor(data / 60);
list[1] = data % 60;
export function getAvgTime(value) {
let list = [0,0];
let avgTime = '';
if(value != null && value !='') {
list[0] = Math.floor(value / 60);
list[1] = value % 60;
}
return list;
if(list[0] == 0 && list[1] == 0) {
avgTime = list[1] + '秒';
} else if(list[0] == 0 && list[1] != 0) {
avgTime = list[1] + '秒';
} else if(list[0] != 0 && list[1] == 0) {
avgTime = list[0] + '分钟';
} else if(list[0] != 0 && list[1] != 0) {
avgTime = list[0] + '分钟' + list[1] + '秒';
}
return avgTime;
}
export function getComponent(data) {
let list = [];
......@@ -641,4 +690,66 @@ export function setSelectedKeys(checkedKeys, halfCheckedKeys) {
selected.push(obj);
}
return selected;
}
export function setDuringTime(time , type) {
let value = time;
if(time == '' || time == null) {
return '';
}
if(type == 'begin') {
value = time[0];
} else if(type == 'end') {
value = time[1];
}
return value;
}
export function setHospitalIdList(data) {
let listStr = '';
if(data == null || data.length == 0) {
return listStr
}
for(let i = 0 ; i<data.length ; i++) {
listStr += data[i]+'_';
}
listStr = listStr.substring(0, listStr.length - 1);
return listStr;
}
export function getHospitalIdList(data) {
let listArr = [];
if(data == null || data == '') {
return listArr
}
listArr = data.split("_")
return listArr;
}
export function learnTimeValue(value) {
if(value === null || value === '') {
return '-';
}
if(value === 0) {
return '0秒';
}
let s = parseInt(value),m = 0, h = 0;//秒,分,小时
if(s==NaN){//错误error
return '';
}
if(s > 60) {
m = parseInt(s/60);
s = parseInt(s%60);
if(m > 60) {
h = parseInt(m/60);
m = parseInt(m%60);
}
}
let result = "";
if(s > 0) {
result = ""+parseInt(s)+"秒";
}
if(m > 0) {
result = ""+parseInt(m)+"分"+result;
}
if(h > 0) {
result = ""+parseInt(h)+"小时"+result;
}
return result;
}
\ No newline at end of file
......@@ -139,7 +139,7 @@
index: 'report-list'
},
{
title: '导出下载',
title: '任务列表',
icon: 'el-icon-document',
index: 'export-download'
}
......
......@@ -90,8 +90,7 @@
<el-table-column prop="townName" label="乡镇/街道" show-overflow-tooltip></el-table-column>
<div slot="empty">
<div class="table-empty">
<img src="../../assets/image/no-content1.png" />
<p>没有相关数据,请重新选择查询范围</p>
<img src="../../assets/image/noData.png" />
</div>
</div>
</el-table>
......@@ -102,14 +101,14 @@
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="formData.pageNo"
:page-sizes="[20, 50 ,100]"
:page-sizes="[20, 50 ,100, 200]"
:page-size="formData.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows"
></el-pagination>
</div>
<el-dialog title="发布学情报告" :visible.sync="dialogVisible" width="30%" append-to-body>
<p style="color:red">项目【{{ projectName }}】的数据修改</p>
<p style="color:red">项目【{{ projectName }}】的数据修改将于次日生效</p>
<p>确认需要更新学情报告吗?</p>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取消</el-button>
......@@ -239,6 +238,7 @@ export default {
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
vm.formData.pageSize = val;
vm.formData.pageNo = 1;
vm.search();
},
// 换页
......@@ -258,18 +258,23 @@ export default {
setTimeout(function(){
openLoading(vm);
},20);
let checkAll = operationData.hasAll(vm.formInline.organization);
// let checkAll = operationData.hasAll(vm.formInline.organization);
let req = {
projectId: vm.projectId,
hospitalIdList: vm.formInline.organization,
originalFlag: vm.formInline.checked == false ? 2 : 1,
regionId: vm.formInline.region[vm.formInline.region.length - 1],
timeFlag: vm.formInline.timeFlag,
beginDate: operationData.setDuringTime(vm.formInline.during,'begin'),
endDate: operationData.setDuringTime(vm.formInline.during,'end'),
achievementStatus: vm.formData.achievementStatus,
status: vm.formData.status,
ids: operationData.getIds(vm.formInline,vm.organizationList,checkAll),
type: operationData.getSearchType(vm.formInline,checkAll),
doctorName: vm.formData.doctorName,
pageNo: vm.formData.pageNo,
pageSize: vm.formData.pageSize,
};
vm.reportGET("report/portal/getProjectData", req).then(res => {
vm.POST("stats/report/getProjectData", req).then(res => {
// closeLoading(vm);
if (res.code == "000000") {
vm.tableData = res.data.projectData;
......@@ -339,7 +344,7 @@ export default {
joinDoctorIdList: operationData.getAjustmentList(vm.changedDoctor),
};
openLoading(vm);
vm.reportPOST("report/portal/peopleAdjustment", req).then(res => {
vm.POST("stats/report/peopleAdjustment", req).then(res => {
closeLoading(vm);
vm.$message(res.message);
if (res.code == "000000") {
......@@ -396,5 +401,11 @@ export default {
.pagination {
margin-right: 10px;
}
.table-empty {
img {
height: 24px;
width: 106px;
}
}
}
</style>
此差异已折叠。
......@@ -121,7 +121,7 @@ export default {
projectId: vm.projectId,
ids: operationData.getIds(vm.formInline,vm.organizationList,checkAll),
type: operationData.getSearchType(vm.formInline,checkAll),
originalFlag: vm.formInline.checked == false ? 0 : 1
originalFlag: vm.formInline.checked == false ? 2 : 1
};
console.log("1 req", req);
openLoading(vm);
......
此差异已折叠。
......@@ -54,8 +54,7 @@
</el-table-column>
<div slot="empty">
<div class="table-empty">
<img src="../../assets/image/no-content1.png" />
<p>没有找到符合的结果</p>
<img src="../../assets/image/noData.png" />
</div>
</div>
</el-table>
......@@ -65,7 +64,7 @@
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="formData.pageNo"
:page-sizes="[20, 50 ,100]"
:page-sizes="[20, 50 ,100, 200]"
:page-size="formData.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows"
......@@ -134,9 +133,9 @@ export default {
search() {
let req = {};
req = this.formData;
openLoading(vm);
vm.GET("portal/portalInfo/getPortalReportProject", req).then(res => {
closeLoading(vm);
if (res.code == "000000") {
if(res.data.totalRows == 0) {
vm.$message("没有找到符合的结果");
......@@ -186,6 +185,12 @@ export default {
.itemlist-content {
padding: 10px;
background: #fff;
.table-empty {
img {
height: 24px;
width: 106px;
}
}
}
}
</style>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册