提交 1d300a9f authored 作者: thy's avatar thy

Merge branch 'ningbo' into 'thy'

# Conflicts: # src/services/server.js
...@@ -10,6 +10,7 @@ const IP = 'http://120.55.57.35'; // 刘杰 ...@@ -10,6 +10,7 @@ const IP = 'http://120.55.57.35'; // 刘杰
// 请求目标服务器域名配置 // 请求目标服务器域名配置
const DOMAIN_NAME = { const DOMAIN_NAME = {
URL_CNODEJS: IP + ':12345', // 网关 服务端口 URL_CNODEJS: IP + ':12345', // 网关 服务端口
assessma: IP + ':8078', // 网关 服务端口
}; };
export default DOMAIN_NAME; export default DOMAIN_NAME;
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>XXX工作台</title> <title>工作台</title>
</head> </head>
<body> <body>
<noscript> <noscript>
......
...@@ -119,7 +119,7 @@ export default { ...@@ -119,7 +119,7 @@ export default {
item.createDate = item.createDate === '' ? '暂无' : this.time(item.createDate); item.createDate = item.createDate === '' ? '暂无' : this.time(item.createDate);
} }
}).catch(err => { }).catch(err => {
console.log(err); console.log(err.message);
}) })
}, },
// 搜索栏 // 搜索栏
......
...@@ -2,17 +2,17 @@ ...@@ -2,17 +2,17 @@
<div class="headerAll" v-if=" $route.name == 'assessmentReport'?false:$route.name == 'reportAssess'?false:true"> <div class="headerAll" v-if=" $route.name == 'assessmentReport'?false:$route.name == 'reportAssess'?false:true">
<div class="header"> <div class="header">
<span class="left-header"> <span class="left-header">
<p style="text-align: center;font-size: 28px;font-weight: bold;color: #fff;line-height: 98px;">XXX</p> <p style="text-align: center;font-size: 28px;font-weight: bold;color: #fff;line-height: 98px;">912</p>
</span> </span>
<span class="center"> <span class="center">
<span class="title" @click="jump('firstHome')" style="cursor: pointer;">XX工作台</span> <span class="title" @click="jump('firstHome')" style="cursor: pointer;">工作台</span>
<span class="time">当前时间:&nbsp;&nbsp;{{this.time}}</span> <span class="time">当前时间:&nbsp;&nbsp;{{this.time}}</span>
</span> </span>
<span class="right"> <span class="right">
<span class="tohome"> <!-- <span class="tohome">-->
<img src="./img/toHome.png"> <!-- <img src="./img/toHome.png">-->
<span class="font">综合展现</span> <!-- <span class="font">综合展现</span>-->
</span> <!-- </span>-->
<span class="user" v-if="this.$store.getters.getUserData.name !== undefined"> <span class="user" v-if="this.$store.getters.getUserData.name !== undefined">
<span class="admin"> <span class="admin">
<img src="./img/admin.png"> <img src="./img/admin.png">
......
...@@ -42,10 +42,14 @@ ...@@ -42,10 +42,14 @@
<img src="./img/PG.png"> <img src="./img/PG.png">
<span>评估报告管理</span> <span>评估报告管理</span>
</p> </p>
<p class="bg" @click="otherJump" v-if="this.$store.getters.getUserData.authorityCode.indexOf('0001700') !== -1"> <p class="bg" v-if="this.$store.getters.getUserData.authorityCode.indexOf('0001700') !== -1">
<img src="./img/PC.png"> <img src="./img/PC.png">
<span>评测报告管理</span> <span>评测报告管理</span>
</p> </p>
<p class="bg" v-if="this.$store.getters.getUserData.authorityCode.indexOf('0002000') !== -1">
<img src="./img/HJ.png">
<span>实验仿真环境</span>
</p>
<p class="bg" @click="jump('projectManagement','我的项目')" v-if="this.$store.getters.getUserData.authorityCode.indexOf('0001800') !== -1"> <p class="bg" @click="jump('projectManagement','我的项目')" v-if="this.$store.getters.getUserData.authorityCode.indexOf('0001800') !== -1">
<img src="./img/WD.png"> <img src="./img/WD.png">
<span>我的项目</span> <span>我的项目</span>
...@@ -97,9 +101,12 @@ export default { ...@@ -97,9 +101,12 @@ export default {
}, },
mounted(){ mounted(){
this.init(1); if ($('.menu')[0].innerText !== '') {
this.init(2); this.init(1);
this.init(3); this.init(2);
this.init(3);
}
}, },
methods: { methods: {
// 页面布局 // 页面布局
...@@ -172,4 +179,7 @@ export default { ...@@ -172,4 +179,7 @@ export default {
justify-content: space-between; justify-content: space-between;
margin-bottom: 88px; margin-bottom: 88px;
} }
.firstHome .bottom{
margin-bottom: 0px;
}
</style> </style>
...@@ -526,7 +526,7 @@ export default { ...@@ -526,7 +526,7 @@ export default {
console.log(err); console.log(err);
}) })
} else { } else {
this.errorData(); // this.errorData();
this.$message.error('基本信息项不可为空!'); this.$message.error('基本信息项不可为空!');
} }
}, },
......
...@@ -23,7 +23,8 @@ ...@@ -23,7 +23,8 @@
<div class="one"> <div class="one">
<div class="oneTitle"> <i></i>概要</div> <div class="oneTitle"> <i></i>概要</div>
<div class="lineTop"> <div class="lineTop">
<span @click="jump">导出PDF格式</span> <span @click="downloadWps" v-show="this.$route.query.authority === 1">导出WPS格式</span>
<span @click="jump" v-show="this.$route.query.authority === 1">导出PDF格式</span>
<span @click="reback">信息填报</span> <span @click="reback">信息填报</span>
<span @click="goBackprev">关闭</span> <span @click="goBackprev">关闭</span>
<!-- <div ><span @click="goBackprev">返回</span> --> <!-- <div ><span @click="goBackprev">返回</span> -->
...@@ -56,7 +57,7 @@ ...@@ -56,7 +57,7 @@
'JAVASCRIPT' : this.language ===14? 'JAVASCRIPT' : this.language ===14?
'HTML': '-' 'HTML': '-'
}} }}
</span> </span>
</div> </div>
</el-col> </el-col>
...@@ -237,7 +238,7 @@ ...@@ -237,7 +238,7 @@
<span v-if="opper[index].technology.match( /.*\((.*)\)/)[1] == '支持'">忽略</span> <span v-if="opper[index].technology.match( /.*\((.*)\)/)[1] == '支持'">忽略</span>
<span v-else-if="opper[index].technology.match( /.*\((.*)\)/)[1] == '不支持'">重新开发</span> <span v-else-if="opper[index].technology.match( /.*\((.*)\)/)[1] == '不支持'">重新开发</span>
<span v-else-if="opper[index].technology.match( /.*\((.*)\)/)[1] == '未知'">修改或重新开发</span> <span v-else-if="opper[index].technology.match( /.*\((.*)\)/)[1] == '未知'">修改或重新开发</span>
<span v-else-if="opper[index].technology.match( /.*\((.*)\)/)[1] == '优化'">修改</span> <span v-else-if="opper[index].technology.match( /.*\((.*)\)/)[1] == '优化'">f修改</span>
<span v-else>-</span> <span v-else>-</span>
<!--{{ item1.technology === '国产化依赖(支持)' ?--> <!--{{ item1.technology === '国产化依赖(支持)' ?-->
<!--replaceSuggest= '忽略' : item1.technology=== '非国产化依赖(不支持)' ?--> <!--replaceSuggest= '忽略' : item1.technology=== '非国产化依赖(不支持)' ?-->
...@@ -763,8 +764,8 @@ ...@@ -763,8 +764,8 @@
<p class="bird">{{this.newWork.des}}</p> <p class="bird">{{this.newWork.des}}</p>
<p class="otherTitle">3、额外依赖服务申请</p> <p class="otherTitle">3、额外依赖服务申请</p>
<p class="bird">额外依赖服务申请费用 <span></span> {{this.newApply.cost === -1 ? '无' : this.newApply.cost}}</p> <p class="bird">额外依赖服务申请费用 <span></span> {{this.newApply.cost === -1 ? '无' : this.newApply.cost}}</p>
<p class="otherTitle">4、适配难度评估</p> <p class="otherTitle" v-if=" this.newCost.degreeOfDifficulty">4、适配难度评估</p>
<p class="bird">{{this.newDifficuty.des}}</p> <p class="bird" v-if=" this.newCost.degreeOfDifficulty">难度系数:{{ this.newCost.degreeOfDifficulty.calculation}}</p>
</div> </div>
...@@ -786,6 +787,7 @@ ...@@ -786,6 +787,7 @@
<script> <script>
// 这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) // 这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
// 例如:import 《组件名称》 from '《组件路径》'; // 例如:import 《组件名称》 from '《组件路径》';
import $ from 'jquery'
export default { export default {
name: 'reportAssess', name: 'reportAssess',
// import引入的组件需要注入到对象中才能使用 // import引入的组件需要注入到对象中才能使用
...@@ -889,13 +891,55 @@ export default { ...@@ -889,13 +891,55 @@ export default {
}, },
// 方法集合 // 方法集合
methods: { methods: {
// 导出wps
downloadWps() {
let gong = '0';
if (this.newCost.workLoad) {
gong = String(this.newCost.workLoad.calculation)
}
let val = {
'id': this.$route.query.id,
'danjia': String(this.sumAmount),
'gong': gong,
'ewai': this.isAgree === true ? String(this.newCost.apply.calculation) : '0',
'yusuan': String(this.sumAmount1),
'agree': this.isAgree === true ? '1' : '0'
}
this.$server.getEvaDownload(val).then(res=>{
console.log(res)
if (res.status === 200) {
if (res.data !== '') {
let name = this.type === 2 ? '适配' : '改造' + '报告';
name = this.sysName + '系统' + name
let x = new XMLHttpRequest();
x.open('GET', res.data, true);
x.responseType = 'blob';
x.onload = (e) =>{
console.log(e)
let url = window.URL.createObjectURL(x.response)
let a = document.createElement('a');
a.href = url
a.download = name
a.click()
}
x.send();
} else {
this.$message.error('未能生成wps文件,请联系管理员!')
}
} else {
this.$message.error('未能生成wps文件,请联系管理员!')
}
})
},
// 转pdf
jump() { jump() {
const {href} = this.$router.resolve({ const {href} = this.$router.resolve({
path: 'otherPdf', path: 'otherPdf',
query: { query: {
username: this.$route.query.username, username: this.$route.query.username,
id: this.$route.query.id, id: this.$route.query.id,
popp: this.popp.basic popp: this.popp.basic,
agree: this.isAgree
} }
}); });
window.open(href, '_blank'); window.open(href, '_blank');
...@@ -1005,7 +1049,7 @@ export default { ...@@ -1005,7 +1049,7 @@ export default {
// this.type === 1 ? this.type = '改造' : this.type = '适配' // this.type === 1 ? this.type = '改造' : this.type = '适配'
this.framework = res.data.framework this.framework = res.data.framework
this.language = res.data.language this.language = res.data.language
this.budget = res.data.budget this.budget = res.data.budget
// firstTable // firstTable
...@@ -1396,9 +1440,13 @@ export default { ...@@ -1396,9 +1440,13 @@ export default {
background: #1c45a4; background: #1c45a4;
} }
.lineTop>span:first-child { .lineTop>span:first-child {
right: 290px; right: 435px;
} }
.lineTop>span:nth-child(2) { .lineTop>span:nth-child(2) {
cursor: pointer;
right: 290px
}
.lineTop>span:nth-child(3) {
cursor: pointer; cursor: pointer;
right: 145px right: 145px
} }
......
...@@ -7,6 +7,19 @@ ...@@ -7,6 +7,19 @@
<span class="line"></span> <span class="line"></span>
</p> </p>
</div> </div>
<div v-if="this.$store.getters.getUserData.authorityCode.indexOf('0001700') !== -1">
<p class="menu">
<span class="font">评测报告管理</span>
<span class="line"></span>
</p>
</div>
<div v-if="this.$store.getters.getUserData.authorityCode.indexOf('0002000') !== -1">
<p class="menu">
<span class="font">实验仿真环境</span>
<span class="line"></span>
</p>
</div>
<div @click="clickMenu('projectManagement','项目管理')" v-if="this.$store.getters.getUserData.authorityCode.indexOf('000900') !== -1"> <div @click="clickMenu('projectManagement','项目管理')" v-if="this.$store.getters.getUserData.authorityCode.indexOf('000900') !== -1">
<p class="menu"> <p class="menu">
...@@ -237,6 +250,12 @@ export default { ...@@ -237,6 +250,12 @@ export default {
{ {
name: '课题攻关' name: '课题攻关'
}, },
{
name: '评测报告管理'
},
{
name: '实验仿真环境'
},
{ {
name: '项目管理' name: '项目管理'
}, },
......
...@@ -42,7 +42,19 @@ axios.interceptors.response.use(function (response) { ...@@ -42,7 +42,19 @@ axios.interceptors.response.use(function (response) {
} }
}, function (error) { }, function (error) {
// 预处理响应错误(error) // 预处理响应错误(error)
// alert(error); console.log(error.request.status);
if (error.request.status === 403) {
v.$message.error('您没有访问权限!');
setTimeout(function () {
router.push({name: 'login'})
}, 500)
} else if (error.request.status === 400) {
v.$message.error('登录已超时,请重新登陆!');
setTimeout(function () {
router.push({name: 'login'})
}, 500)
}
// console.log(error.splice(error.length - 4,error.length - 1))
return Promise.reject(error); return Promise.reject(error);
}); });
......
...@@ -400,6 +400,12 @@ const server = { ...@@ -400,6 +400,12 @@ const server = {
return axios( assessma + '/evaluation/in/excel/' + id,{ return axios( assessma + '/evaluation/in/excel/' + id,{
method:'get' method:'get'
}) })
},
getEvaDownload(data){
return axios( assessma + '/evaluation/downloadWps',{
method:'post',
data: data
})
} }
} }
export default server; export default server;
// 导出页面为PDF格式 // 导出页面为PDF格式
import Vue from 'vue'
let v = new Vue();
import html2Canvas from 'html2canvas' import html2Canvas from 'html2canvas'
import JsPDF from 'jspdf' import JsPDF from 'jspdf'
export default { import {
Message, Loading
} from 'element-ui'
let loading;
export default{
install (Vue, options) { install (Vue, options) {
Vue.prototype.getPdf = function () { Vue.prototype.getPdf = function () {
loading = Loading.service({
lock: true,
text: '正在下载pdf...',
background: 'rgba(0,0,0,.5)'
});
let title = this.htmlTitle let title = this.htmlTitle
v.$message.info('正在生成pdf文件!请稍等')
html2Canvas(document.querySelector('#pdfDom'), { html2Canvas(document.querySelector('#pdfDom'), {
allowTaint: true allowTaint: true
}).then(function (canvas) { }).then(function (canvas) {
let contentWidth = canvas.width console.log(canvas)
let contentHeight = canvas.height let contentWidth = canvas.width;
let contentHeight = canvas.height;
if (contentWidth === '' || contentWidth === undefined || contentHeight === '' || contentHeight === undefined) {
loading.close();
Message.error('转换pdf失败,请稍后再试!')
}
let pageHeight = contentWidth / 595 * 842 let pageHeight = contentWidth / 595 * 842
let leftHeight = contentHeight let leftHeight = contentHeight
let position = 0 let position = 0
...@@ -32,6 +43,7 @@ export default { ...@@ -32,6 +43,7 @@ export default {
} }
} }
} }
loading.close();
PDF.save(title + '.pdf') PDF.save(title + '.pdf')
}) })
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论