提交 f6134c0f authored 作者: thy's avatar thy

输入输出页面修改

上级 7f86168d
......@@ -5261,8 +5261,7 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"aproba": {
"version": "1.2.0",
......@@ -5283,14 +5282,12 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
......@@ -5305,20 +5302,17 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"core-util-is": {
"version": "1.0.2",
......@@ -5435,8 +5429,7 @@
"inherits": {
"version": "2.0.4",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"ini": {
"version": "1.3.5",
......@@ -5448,7 +5441,6 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
......@@ -5463,7 +5455,6 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
......@@ -5471,14 +5462,12 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"minipass": {
"version": "2.9.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
......@@ -5497,7 +5486,6 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"minimist": "0.0.8"
}
......@@ -5587,8 +5575,7 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"object-assign": {
"version": "4.1.1",
......@@ -5600,7 +5587,6 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"wrappy": "1"
}
......@@ -5686,8 +5672,7 @@
"safe-buffer": {
"version": "5.1.2",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"safer-buffer": {
"version": "2.1.2",
......@@ -5723,7 +5708,6 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
......@@ -5743,7 +5727,6 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
......@@ -5787,14 +5770,12 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"yallist": {
"version": "3.1.1",
"bundled": true,
"dev": true,
"optional": true
"dev": true
}
}
},
......@@ -7776,6 +7757,11 @@
}
}
},
"moment": {
"version": "2.24.0",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
"integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
},
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
......
......@@ -13,6 +13,7 @@
"echarts": "^4.6.0",
"element-ui": "^2.13.0",
"jquery": "^3.4.1",
"moment": "^2.24.0",
"node-sass": "^4.13.1",
"vue": "^2.6.11",
"vue-router": "^3.0.7",
......
......@@ -2,7 +2,7 @@
<div>
<app-header></app-header>
<div style="display: flex;">
<sidebar></sidebar>
<sidebar v-show="$route.name == 'assessmentReport'?false:$route.name == 'reportAssess'?false:true"></sidebar>
<router-view ></router-view>
</div>
......
......@@ -74,7 +74,7 @@ export default {
pageSize: 8, // 每页个数
openModel: false,
components: '',
technologyId:'未知依赖(未知)',
technologyId:'内部依赖(未知)',
input2: '',
}
},
......@@ -126,7 +126,7 @@ export default {
suffix: ['java'],
target: row.target,
technologyId: '967a8bd0-eb27-4fb6-ba1d-1bca21cea5b4',
technologyName: '国产化依赖(支持)',
technologyName: '内部依赖(支持)',
id: row.id,
oldRule:{
target:row.target,
......@@ -149,7 +149,7 @@ export default {
suffix: ['java'],
target: row.target,
technologyId: '1cc9c4be-8245-49b6-bb4b-3f10c4e8b47f',
technologyName: '非国产化依赖(不支持)',
technologyName: '内部依赖(不支持)',
id: row.id,
oldRule:{
target:row.target,
......
<template>
<div class="add-role">
<p class="dialog-header">
<span>代码上传</span>
</p>
<div class="company-content" style="text-align: center; margin-top: 14px;">
<p class="new">
<el-form :model="form">
<el-form-item label="上传类型" :label-width="formLabelWidth">
<el-select v-model="form.region" placeholder="请选择">
<el-option label="压缩包" value="zip"></el-option>
<el-option label="git地址" value="git"></el-option>
</el-select>
</el-form-item>
<div class="upload-text" v-show="form.region == 'zip'"><img src="../img/upload-text.png" alt="" style="margin-right:5px;margin-botton:5px; cursor: pointer;">上传文件<input type="file" name="file" id="fileUpload" class="up-input" ref="file" @change="after"> </div>
<div class="box">{{ziptext}}</div>
<el-form-item label="请输入git账号" :label-width="formLabelWidth" v-show="form.region == 'git'">
<el-input v-model="form.username" ></el-input>
</el-form-item>
<el-form-item label="请输入git密码" :label-width="formLabelWidth" v-show="form.region == 'git'">
<el-input type="password" v-model="form.password" ></el-input>
</el-form-item>
<el-form-item label="请输入git地址" :label-width="formLabelWidth" v-show="form.region == 'git'">
<el-input type="textarea" v-model="form.desc" ></el-input>
</el-form-item>
</el-form>
</p>
</div>
<p class="line"></p>
<p class="buttonClick">
<!-- <span class="buttonCancl" @click="cancel">取消</span> -->
<span class="buttonSave" @click="goAdd" :class="{'buttonCancl my':ziptext==''?form.desc == ''?true:false:false}">确定</span>
</p>
</div>
</template>
<script>
export default {
name: 'addRole',
props: ['detailData', 'modalName'],
data () {
return {
form: {},
tableDataAdd: [],
content: '',
target: '',
suffix: '',
technologyId: '',
oldRule: {},
form: {
region:'zip',
desc:''
},
ziptext:'',
formLabelWidth: '120px'
}
},
mounted() {
},
methods: {
testLoading(){
this.$parent.myLoading()
},
add(){
this.form = { region:'zip', desc:''}
// this.dialogFormVisible = true
},
close(){
// this.dialogFormVisible = false
this.form={}
},
after(file){
// var test = document.getElementById('fileUpload').files[0].name
this.ziptext = this.$refs.file.files[0].name
},
goAdd(){
if(this.form.region == 'zip' && this.ziptext != ''){
// this.$parent.reset()
this.$emit('reset')
var fd = new FormData()
fd.append('file',this.$refs.file.files[0])
this.$emit('myLoading')
// this.$parent.myLoading()
this.$server.upZip(fd).then(res =>{
console.log(res)
this.$message({
message: '上传代码成功',
type: 'success'
});
this.$emit('addZip','zip',res.data.path)
// this.$parent.addZip('zip',res.data.path)
this.form = { region:'zip', desc:''}
this.ziptext = ''
})
}else if (this.form.region == 'git' && this.form.desc != '' && this.form.username != '' && this.form.password != ''){
// this.$parent.reset()
this.$emit('reset')
this.$emit('myLoading')
// this.$parent.myLoading()
var obj = {
gitAddress:this.form.desc,
username:this.form.username,
password:this.form.password,
}
var url = this.form.desc
this.$server.upGit(obj).then(res =>{
console.log(res)
this.$message({
message: '上传代码成功',
type: 'success'
});
console.log("上传的git",url)
// this.$parent.addZip('git',res.data,url)
this.$emit('addZip','git',res.data,url)
this.form = { region:'zip', desc:''}
})
}
}
}}
</script>
<style scoped>
.buttonCancl.my{
cursor:default;
}
.upload-text{
position: relative;
cursor: pointer;
}
.up-input{
cursor: pointer;
opacity: 0;
position: absolute;
left: 30%;
top: 0;
display: block;
}
.add-role .new{
display: inline-block;
}
.add-role .new{
right: 220px;
}
.add-role .addVal{
/*width: 390px;*/
width: 710px;
display: flex;
font-size: 18px;
color: #666;
text-align: center;
margin-top: 40px;
}
.add-role .addVal>span{
width: 160px;
display: inline-block;
line-height: 34px;
text-align: right;
}
.add-role .line{
margin: 40px 30px 0 30px;
height: 1px;
background: rgba(72,119,230,0.2);
}
.add-role .buttonClick{
display: flex;
justify-content: space-evenly;
margin-top: 30px;
}
.add-role .company-content{
height: 240px;
}
.add-role .company-content>>>.el-radio{
margin-right: 30px;
margin-bottom: 11px;
width: 49px;
}
.add-role .company-content>>>.el-input__inner, .add-role .company-content>>>.el-input{
width: 220px;
}
</style>
\ No newline at end of file
<!-- 页面布局 -->
<template>
<div class="upload-add">
<el-dialog title="上传代码" :visible.sync="dialogFormVisible" @close="close" :close-on-click-modal='false'>
<img src="../img/upload-line.png" alt="" style="width:95%;">
<el-form :model="form">
<el-form-item label="上传类型" :label-width="formLabelWidth">
<el-select v-model="form.region" placeholder="请选择">
<el-option label="压缩包" value="zip"></el-option>
<el-option label="git地址" value="git"></el-option>
</el-select>
</el-form-item>
<div class="upload-text" v-show="form.region == 'zip'"><img src="../img/upload-text.png" alt="" style="margin-right:5px;margin-botton:5px;">上传文件<input type="file" name="file" id="fileUpload" class="up-input" ref="file" @change="after"> </div>
<div class="box">{{ziptext}}</div>
<el-form-item label="请输入git账号" :label-width="formLabelWidth" v-show="form.region == 'git'">
<el-input v-model="form.username" ></el-input>
</el-form-item>
<el-form-item label="请输入git密码" :label-width="formLabelWidth" v-show="form.region == 'git'">
<el-input type="password" v-model="form.password" ></el-input>
</el-form-item>
<el-form-item label="请输入git地址" :label-width="formLabelWidth" v-show="form.region == 'git'">
<el-input type="textarea" v-model="form.desc" ></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" >
<div >
<el-button type="primary" @click="goAdd" :class="{'hui':ziptext==''?form.desc == ''?true:false:false}" >确 定</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';
export default {
name: "uploadAdd",
//import引入的组件需要注入到对象中才能使用
components: {},
data() {
//这里存放数据
return {
dialogFormVisible: false,
form: {
region:'zip',
desc:''
},
ziptext:'',
formLabelWidth: '120px'
};
},
//监听属性 类似于data概念
computed: {},
//监控data中的数据变化
watch: {},
//方法集合
methods: {
testLoading(){
this.$parent.myLoading()
},
add(){
this.form = { region:'zip', desc:''}
this.dialogFormVisible = true
},
close(){
this.dialogFormVisible = false
this.form={}
},
after(file){
// var test = document.getElementById('fileUpload').files[0].name
this.ziptext = this.$refs.file.files[0].name
},
goAdd(){
if(this.form.region == 'zip' && this.ziptext != ''){
this.dialogFormVisible = false
var fd = new FormData()
fd.append('file',this.$refs.file.files[0])
this.$parent.myLoading()
this.$server.upZip(fd).then(res =>{
console.log(res)
this.$message({
message: '上传代码成功',
type: 'success'
});
this.$parent.addZip('zip',res.data.path)
this.form = { region:'zip', desc:''}
this.ziptext = ''
})
}else if (this.form.region == 'git' && this.form.desc != '' && this.form.username != '' && this.form.password != ''){
this.dialogFormVisible = false
this.$parent.myLoading()
var obj = {
gitAddress:this.form.desc,
username:this.form.username,
password:this.form.password,
}
var url = this.form.desc
this.$server.upGit(obj).then(res =>{
console.log(res)
this.$message({
message: '上传代码成功',
type: 'success'
});
console.log("上传的git",url)
this.$parent.addZip('git',res.data,url)
this.form = { region:'zip', desc:''}
})
}
}
},
//生命周期 - 创建完成(可以访问当前this实例)
created() {
},
//生命周期 - 挂载完成(可以访问DOM元素)
mounted() {},
beforeCreate() {}, //生命周期 - 创建之前
beforeMount() {}, //生命周期 - 挂载之前
beforeUpdate() {}, //生命周期 - 更新之前
updated() {}, //生命周期 - 更新之后
beforeDestroy() {}, //生命周期 - 销毁之前
destroyed() {}, //生命周期 - 销毁完成
activated() {} //如果页面有keep-alive缓存功能,这个函数会触发
};
</script>
<style scoped>
</style>
<!-- 页面布局 -->
<template>
<div
class="home-detail-copy"
v-loading="loading"
element-loading-text="上传代码中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.8)"
>
<div
v-loading="loading2"
element-loading-text="评估报告生成中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.8)"
>
<div class="big-box" id="tchar_nav">
<div class="copy-title">应用系统改造替换</div>
<div class="copy-box">
<div class="copy-box-main">
<div class="right-radio one">
替换方式:
<el-radio v-model="form.mode" :label="1">改造(解释链接)</el-radio>
<el-radio v-model="form.mode" :label="2">适配(解释链接)</el-radio>
</div>
<div class="copy-box-title one">
<span class="ju"></span>
<span>概要</span>
</div>
<!-- <div class="line"></div> -->
<div class="copy-form">
<div class="please">
<img src="./img/xing.png" alt style="width: 20px;" /> 为必填项
</div>
<el-form ref="form" :model="form" label-width="140px">
<div class="home-form-input">
<el-form-item label="系统名称:">
<el-input v-model="form.projectName"></el-input>
<img
src="./img/xing.png"
alt
style="width:20px; margin-left:10px;float:left;margin-top:10px;"
/>
</el-form-item>
<el-form-item label="模块数:">
<el-input v-model.number="form.moduleNum"></el-input>
</el-form-item>
<el-form-item label="数据库表:">
<el-input v-model.number="form.tableNum"></el-input>
<span class="input_text"></span>
</el-form-item>
<el-form-item label="原开发费用:">
<el-input v-model.number="form.cost"></el-input>
<span class="input_text">万元</span>
<img
src="./img/xing.png"
alt
style="width:20px;float:left; margin-top:10px;margin-left:10px; "
/>
</el-form-item>
<el-form-item label="运行时间:">
<el-input v-model="form.time" onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"></el-input>
<span class="input_text"></span>
</el-form-item>
<el-form-item label="数据库数据量:">
<el-input v-model.number="form.databaseNum"></el-input>
<span class="input_text">G</span>
</el-form-item>
<el-form-item label="开发周期:">
<el-input v-model="notime"></el-input>
<span class="input_text"></span>
</el-form-item>
<div class="form-radio one">
<div class="radio-text one">开发单位是否为本地:</div>
<el-radio
v-model="form.address"
:label="1"
@click.native.prevent="clickitem1('form','address',1)"
></el-radio>
<el-radio
v-model="form.address"
:label="2"
@click.native.prevent="clickitem1('form','address',2)"
></el-radio>
</div>
<div class="form-radio one">
<div class="radio-text one">是否为涉密信息系统:</div>
<el-radio
v-model="form.secret"
:label="1"
@click.native.prevent="clickitem1('form','secret',1)"
></el-radio>
<el-radio
v-model="form.secret"
:label="2"
@click.native.prevent="clickitem1('form','secret',2)"
></el-radio>
</div>
<div class="form-radio one">
<div class="radio-text one">容灾能力:</div>
<el-radio
v-model="form.disasterTolerance"
:label="4"
@click.native.prevent="clickitem1('form','disasterTolerance',4)"
></el-radio>
<el-radio
v-model="form.disasterTolerance"
:label="0"
@click.native.prevent="clickitem1('form','disasterTolerance',0)"
></el-radio>
</div>
<div class="form-radio one">
<div class="radio-text one">安全能力:</div>
<el-radio
v-model="form.safe"
:label="4"
@click.native.prevent="clickitem1('form','safe',4)"
></el-radio>
<el-radio
v-model="form.safe"
:label="2"
@click.native.prevent="clickitem1('form','safe',2)"
></el-radio>
<!-- <el-radio v-model="radio" label="3"></el-radio> -->
</div>
<div class="form-radio one">
<div class="radio-text one">架构:</div>
<el-radio
v-model="form.framework"
:label="1"
@click.native.prevent="clickitem1('form','framework',1)"
>B/S</el-radio>
<el-radio
v-model="form.framework"
:label="2"
@click.native.prevent="clickitem1('form','framework',2)"
>C/S</el-radio>
<el-radio
v-model="form.framework"
:label="0"
@click.native.prevent="clickitem1('form','framework',0)"
>单机</el-radio>
<el-radio
v-model="form.framework"
:label="4"
@click.native.prevent="clickitem1('form','framework',4)"
>分布式</el-radio>
</div>
<div class="form-radio chec ">
<div class="radio-text one">该应用类型:</div>
<el-checkbox-group v-model="form.applicationType" style="float:left;width:75%;">
<el-checkbox :label="1">OA办公类</el-checkbox>
<el-checkbox :label="2">门户、新闻类</el-checkbox>
<el-checkbox :label="3">邮件类</el-checkbox>
<el-checkbox :label="4">申请填报类</el-checkbox>
<el-checkbox :label="5">态势感知类</el-checkbox>
<el-checkbox :label="6">地图应用类</el-checkbox>
<el-checkbox :label="7">视频应用类</el-checkbox>
<el-checkbox :label="8">3D应用类</el-checkbox>
<el-checkbox :label="9">数据挖掘类</el-checkbox>
<el-checkbox :label="10">其他</el-checkbox>
</el-checkbox-group>
<!-- <el-radio v-model="form.applicationType" :label="1" @click.native.prevent="clickitem1('form','applicationType',1)" >OA办公类</el-radio>
<el-radio v-model="form.applicationType" :label="2" @click.native.prevent="clickitem1('form','applicationType',2)" >门户、新闻类</el-radio>
<el-radio v-model="form.applicationType" :label="3" @click.native.prevent="clickitem1('form','applicationType',3)" >邮件类</el-radio>
<el-radio v-model="form.applicationType" :label="4" @click.native.prevent="clickitem1('form','applicationType',4)" >申请填报类</el-radio>
<el-radio v-model="form.applicationType" :label="5" @click.native.prevent="clickitem1('form','applicationType',5)" >态势感知类</el-radio>
<el-radio v-model="form.applicationType" :label="6" @click.native.prevent="clickitem1('form','applicationType',6)" >地图应用类</el-radio>
<el-radio v-model="form.applicationType" :label="7" @click.native.prevent="clickitem1('form','applicationType',7)" >视频应用类</el-radio>
<el-radio v-model="form.applicationType" :label="8" @click.native.prevent="clickitem1('form','applicationType',8)" >3D应用类</el-radio>
<el-radio v-model="form.applicationType" :label="9" @click.native.prevent="clickitem1('form','applicationType',9)" >数据挖掘类</el-radio>
<el-radio v-model="form.applicationType" :label="10" @click.native.prevent="clickitem1('form','applicationType',10)" >其他</el-radio>-->
</div>
<div class="form-radio one">
<div class="radio-text one" style="line-height:35px;">代码上传:</div>
<div class="up-box" @click="upload">
上传
<img src="./img/upload_hover.png" alt />
</div>
<!-- <span style="color:red;font-size:14px;line-height:35px;margin-left:5px;">建议文件大小不超过20M</span> -->
</div>
<div class="form-radio one">
<div class="radio-text one">代码地址:</div>
<span style="font-size:18px">{{form.codeUrl}}</span>
<span style="font-size:18px" v-show="form.codeUrl==''"></span>
</div>
</div>
</el-form>
</div>
<!-- <div class="line"></div> -->
<div :class="{'pg-button no':!isLog,'pg-button':isLog}" @click="goPrev">上次报告</div>
<div
:class="{'pg-button':form.cost!=''&& form.projectName!='' ,'pg-button no':form.cost==''|| form.projectName=='' }"
@click="goPg2(1)"
>快速评估</div>
<div class="pg-button" @click="goBack">关闭</div>
</div>
</div>
<div class="copy-box">
<div class="copy-box-main">
<div class="copy-box-title one">
<span class="ju" style=" cursor: pointer;"></span>
<span style=" cursor: pointer;">详细填写</span>
<span style="color:#999;font-size:18px; cursor: pointer;" >(我有更详细的技术细节及特殊需求)</span>
<div class="right-radio">
<!-- <img
class="open-img"
src="./img/open_play.png"
alt
style=" cursor: pointer;"
@click="open"
v-show="isOpen"
/>
<img
class="open-img"is
src="./img/open.png"
alt
style=" cursor: pointer;"
@click="open"
v-show="!isOpen"
/> -->
</div>
</div>
<!-- <div class="line"></div> -->
<!-- <div class="open-box" v-show="isOpen"> -->
<div class="open-box-nav">
<li :class="{'box-nav-title':true,'active':isOpen1}" @click="open1">系统部署架构</li>
<li :class="{'box-nav-title':true,'active':isOpen2}" @click="open2">前端浏览器相关</li>
<li :class="{'box-nav-title':true,'active':isOpen3}" @click="open3">中间件/API相关</li>
<li :class="{'box-nav-title':true,'active':isOpen4}" @click="open4">数据库相关</li>
<li :class="{'box-nav-title':true,'active':isOpen5}" @click="open5">迁移策略</li>
<li :class="{'box-nav-title':true,'active':isOpen6}" @click="open6">额外申请</li>
</div>
<div class="open-box">
<div class="copy-nav-box">
<!-- <div class="copy-nav-title">
<span class="open-title" style=" cursor: pointer;"
@click="open1">系统部署架构</span>
<div class="right-radio">
<img
class="open-img"
src="./img/open_play.png"
alt
style=" cursor: pointer;"
@click="open1"
v-show="isOpen1"
/>
<img
class="open-img"
src="./img/open.png"
alt
style=" cursor: pointer;"
@click="open1"
v-show="!isOpen1"
/>
</div>
<img
v-show="systemStructure.application.deploy == '' && systemStructure.application.operateSystem == '' && systemStructure.application.other == '' && systemStructure.application.edition == '' && systemStructure.database.other == '' && systemStructure.database.deploy == '' && systemStructure.database.operateSystem == '' && systemStructure.database.edition == '' && systemStructure.storage.edition == '' && systemStructure.storage.other == '' && systemStructure.storage.deploy == '' && systemStructure.storage.operateSystem == '' && systemStructure.otherEquipment.operateSystem == '' && systemStructure.otherEquipment.edition == '' && systemStructure.otherEquipment.deploy == '' && systemStructure.otherEquipment.other == '' && systemStructure.slb.operateSystem == '' && systemStructure.slb.edition == '' && systemStructure.slb.deploy == '' && systemStructure.slb.other == '' && systemStructure.otherDemand == '' && systemStructure.loadBalance == '' && systemStructure.disaster == '' && systemStructure.distributed == ''"
src="./img/noform.png"
alt
class="rule-img"
/>
<img
v-show="systemStructure.application.deploy != '' || systemStructure.application.operateSystem != '' || systemStructure.application.other != '' || systemStructure.application.edition != '' || systemStructure.database.other != '' || systemStructure.database.deploy != '' || systemStructure.database.operateSystem != '' || systemStructure.database.edition != '' || systemStructure.storage.edition != '' || systemStructure.storage.other != '' || systemStructure.storage.deploy != '' || systemStructure.storage.operateSystem != '' || systemStructure.otherEquipment.operateSystem != '' || systemStructure.otherEquipment.edition != '' || systemStructure.otherEquipment.deploy != '' || systemStructure.otherEquipment.other != '' || systemStructure.slb.operateSystem != '' || systemStructure.slb.edition != '' || systemStructure.slb.deploy != '' || systemStructure.slb.other != '' || systemStructure.otherDemand != '' || systemStructure.loadBalance != '' || systemStructure.disaster != '' || systemStructure.distributed != ''"
src="./img/doform.png"
alt
class="rule-img"
/>
</div> -->
<div class="open-box" v-show="isOpen1">
<div class="copy-nav-title-two">
<span class="ball"></span>原系统部署架构
</div>
<div class="copy-nav-main">
<div class="copy-nav-main-title">应用服务器:</div>
<div class="copy-nav-main-main">
<div class="form-radio">
<div class="radio-text">部署情况:</div>
<el-radio
v-model="systemStructure.application.deploy"
@click.native.prevent="clickitem('application','deploy',1)"
:label="1"
>本地</el-radio>
<el-radio
v-model="systemStructure.application.deploy"
@click.native.prevent="clickitem('application','deploy',2)"
:label="2"
>政务云</el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">操作系统:</div>
<div class="radios-box">
<el-radio
v-model="systemStructure.application.operateSystem"
@click.native.prevent="clickitem('application','operateSystem','WINSERVER2006')"
label="WINSERVER2006"
>WinServer 2006-2008/X64</el-radio>
<el-radio
v-model="systemStructure.application.operateSystem"
@click.native.prevent="clickitem('application','operateSystem','WINSERVER2012')"
label="WINSERVER2012"
>WinServer 2012-2019/X64</el-radio>
<el-radio
v-model="systemStructure.application.operateSystem"
@click.native.prevent="clickitem('application','operateSystem','UBUNTU')"
label="UBUNTU"
>Ubuntu Reales XX.XX-XX.XX</el-radio>
<el-radio
v-model="systemStructure.application.operateSystem"
label="CENTEROSREALES"
@click.native.prevent="clickitem('application','operateSystem','CENTEROSREALES')"
>CentOS Reales X.XX-X.XX</el-radio>
<el-radio
v-model="systemStructure.application.operateSystem"
@click.native.prevent="clickitem('application','operateSystem','REDHATREALES')"
label="REDHATREALES"
>Redhat Reales XX.XX-XX.XX</el-radio>
<el-radio
v-model="systemStructure.application.operateSystem"
@click.native.prevent="clickitem('application','operateSystem','AIX')"
label="AIX"
>AIX Version X.X-X.X</el-radio>
</div>
<div class="copy-box-main-input">
<span class="box-input-text">其他:</span>
<el-input v-model="systemStructure.application.other" placeholder="请输入"></el-input>
</div>
<div class="copy-box-main-input bottom">
<span class="box-input-text">版本:</span>
<el-input v-model="systemStructure.application.edition" placeholder="请输入"></el-input>
</div>
</div>
</div>
</div>
<div class="copy-nav-main">
<div class="copy-nav-main-title">数据库服务器:</div>
<div class="copy-nav-main-main">
<div class="form-radio">
<div class="radio-text">部署情况:</div>
<el-radio
v-model="systemStructure.database.deploy"
:label="1"
@click.native.prevent="clickitem('database','deploy',1)"
>本地</el-radio>
<el-radio
v-model="systemStructure.database.deploy"
:label="2"
@click.native.prevent="clickitem('database','deploy',2)"
>政务云</el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">操作系统:</div>
<div class="radios-box">
<el-radio
v-model="systemStructure.database.operateSystem"
@click.native.prevent="clickitem('database','operateSystem','WINSERVER2006')"
label="WINSERVER2006"
>WinServer 2006-2008/X64</el-radio>
<el-radio
v-model="systemStructure.database.operateSystem"
@click.native.prevent="clickitem('database','operateSystem','WINSERVER2012')"
label="WINSERVER2012"
>WinServer 2012-2019/X64</el-radio>
<el-radio
v-model="systemStructure.database.operateSystem"
@click.native.prevent="clickitem('database','operateSystem','UBUNTU')"
label="UBUNTU"
>Ubuntu Reales XX.XX-XX.XX</el-radio>
<el-radio
v-model="systemStructure.database.operateSystem"
@click.native.prevent="clickitem('database','operateSystem','CENTEROSREALES')"
label="CENTEROSREALES"
>CentOS Reales X.XX-X.XX</el-radio>
<el-radio
v-model="systemStructure.database.operateSystem"
@click.native.prevent="clickitem('database','operateSystem','REDHATREALES')"
label="REDHATREALES"
>Redhat Reales XX.XX-XX.XX</el-radio>
<el-radio
v-model="systemStructure.database.operateSystem"
@click.native.prevent="clickitem('database','operateSystem','AIX')"
label="AIX"
>AIX Version X.X-X.X</el-radio>
</div>
<div class="copy-box-main-input">
<span class="box-input-text">其他:</span>
<el-input v-model="systemStructure.database.other" placeholder="请输入"></el-input>
</div>
<div class="copy-box-main-input bottom">
<span class="box-input-text">版本:</span>
<el-input v-model="systemStructure.database.edition" placeholder="请输入"></el-input>
</div>
</div>
</div>
</div>
<div class="copy-nav-main">
<div class="copy-nav-main-title">slb:</div>
<div class="copy-nav-main-main">
<div class="form-radio">
<div class="radio-text">部署情况:</div>
<el-radio
v-model="systemStructure.slb.deploy"
:label="1"
@click.native.prevent="clickitem('slb','deploy',1)"
>本地</el-radio>
<el-radio
v-model="systemStructure.slb.deploy"
:label="2"
@click.native.prevent="clickitem('slb','deploy',2)"
>政务云</el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">操作系统:</div>
<div class="radios-box">
<el-radio
v-model="systemStructure.slb.operateSystem"
@click.native.prevent="clickitem('slb','operateSystem','WINSERVER2006')"
label="WINSERVER2006"
>WinServer 2006-2008/X64</el-radio>
<el-radio
v-model="systemStructure.slb.operateSystem"
@click.native.prevent="clickitem('slb','operateSystem','WINSERVER2012')"
label="WINSERVER2012"
>WinServer 2012-2019/X64</el-radio>
<el-radio
v-model="systemStructure.slb.operateSystem"
@click.native.prevent="clickitem('slb','operateSystem','UBUNTU')"
label="UBUNTU"
>Ubuntu Reales XX.XX-XX.XX</el-radio>
<el-radio
v-model="systemStructure.slb.operateSystem"
@click.native.prevent="clickitem('slb','operateSystem','CENTEROSREALES')"
label="CENTEROSREALES"
>CentOS Reales X.XX-X.XX</el-radio>
<el-radio
v-model="systemStructure.slb.operateSystem"
@click.native.prevent="clickitem('slb','operateSystem','REDHATREALES')"
label="REDHATREALES"
>Redhat Reales XX.XX-XX.XX</el-radio>
<el-radio
v-model="systemStructure.slb.operateSystem"
@click.native.prevent="clickitem('slb','operateSystem','AIX')"
label="AIX"
>AIX Version X.X-X.X</el-radio>
</div>
<div class="copy-box-main-input">
<span class="box-input-text">其他:</span>
<el-input v-model="systemStructure.slb.other" placeholder="请输入"></el-input>
</div>
<div class="copy-box-main-input bottom">
<span class="box-input-text">版本:</span>
<el-input v-model="systemStructure.slb.edition" placeholder="请输入"></el-input>
</div>
</div>
</div>
</div>
<div class="copy-nav-main">
<div class="copy-nav-main-title">存储:</div>
<div class="copy-nav-main-main">
<div class="form-radio">
<div class="radio-text">部署情况:</div>
<el-radio
v-model="systemStructure.storage.deploy"
:label="1"
@click.native.prevent="clickitem('storage','deploy',1)"
>本地</el-radio>
<el-radio
v-model="systemStructure.storage.deploy"
:label="2"
@click.native.prevent="clickitem('storage','deploy',2)"
>政务云</el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">操作系统:</div>
<div class="radios-box">
<el-radio
v-model="systemStructure.storage.operateSystem"
@click.native.prevent="clickitem('storage','operateSystem','WINSERVER2006')"
label="WINSERVER2006"
>WinServer 2006-2008/X64</el-radio>
<el-radio
v-model="systemStructure.storage.operateSystem"
@click.native.prevent="clickitem('storage','operateSystem','WINSERVER2012')"
label="WINSERVER2012"
>WinServer 2012-2019/X64</el-radio>
<el-radio
v-model="systemStructure.storage.operateSystem"
@click.native.prevent="clickitem('storage','operateSystem','UBUNTU')"
label="UBUNTU"
>Ubuntu Reales XX.XX-XX.XX</el-radio>
<el-radio
v-model="systemStructure.storage.operateSystem"
@click.native.prevent="clickitem('storage','operateSystem','CENTEROSREALES')"
label="CENTEROSREALES"
>CentOS Reales X.XX-X.XX</el-radio>
<el-radio
v-model="systemStructure.storage.operateSystem"
@click.native.prevent="clickitem('storage','operateSystem','REDHATREALES')"
label="REDHATREALES"
>Redhat Reales XX.XX-XX.XX</el-radio>
<el-radio
v-model="systemStructure.storage.operateSystem"
@click.native.prevent="clickitem('storage','operateSystem','AIX')"
label="AIX"
>AIX Version X.X-X.X</el-radio>
</div>
<div class="copy-box-main-input">
<span class="box-input-text">其他:</span>
<el-input v-model="systemStructure.storage.other" placeholder="请输入"></el-input>
</div>
<div class="copy-box-main-input bottom">
<span class="box-input-text">版本:</span>
<el-input v-model="systemStructure.storage.edition" placeholder="请输入"></el-input>
</div>
</div>
</div>
</div>
<div class="copy-nav-main">
<div class="copy-nav-main-title">其他服务设备:</div>
<div class="copy-nav-main-main">
<div class="form-radio">
<div class="radio-text">部署情况:</div>
<el-radio
v-model="systemStructure.otherEquipment.deploy"
:label="1"
@click.native.prevent="clickitem('otherEquipment','deploy',1)"
>本地</el-radio>
<el-radio
v-model="systemStructure.otherEquipment.deploy"
:label="2"
@click.native.prevent="clickitem('otherEquipment','deploy',2)"
>政务云</el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">操作系统:</div>
<div class="radios-box">
<el-radio
v-model="systemStructure.otherEquipment.operateSystem"
@click.native.prevent="clickitem('otherEquipment','operateSystem','WINSERVER2006')"
label="WINSERVER2006"
>WinServer 2006-2008/X64</el-radio>
<el-radio
v-model="systemStructure.otherEquipment.operateSystem"
@click.native.prevent="clickitem('otherEquipment','operateSystem','WINSERVER2012')"
label="WINSERVER2012"
>WinServer 2012-2019/X64</el-radio>
<el-radio
v-model="systemStructure.otherEquipment.operateSystem"
@click.native.prevent="clickitem('otherEquipment','operateSystem','UBUNTU')"
label="UBUNTU"
>Ubuntu Reales XX.XX-XX.XX</el-radio>
<el-radio
v-model="systemStructure.otherEquipment.operateSystem"
@click.native.prevent="clickitem('otherEquipment','operateSystem','CENTEROSREALES')"
label="CENTEROSREALES"
>CentOS Reales X.XX-X.XX</el-radio>
<el-radio
v-model="systemStructure.otherEquipment.operateSystem"
@click.native.prevent="clickitem('otherEquipment','operateSystem','REDHATREALES')"
label="REDHATREALES"
>Redhat Reales XX.XX-XX.XX</el-radio>
<el-radio
v-model="systemStructure.otherEquipment.operateSystem"
@click.native.prevent="clickitem('otherEquipment','operateSystem','AIX')"
label="AIX"
>AIX Version X.X-X.X</el-radio>
</div>
<div class="copy-box-main-input">
<span class="box-input-text">其他:</span>
<el-input
v-model="systemStructure.otherEquipment.other"
placeholder="请输入"
></el-input>
</div>
<div class="copy-box-main-input bottom">
<span class="box-input-text">版本:</span>
<el-input
v-model="systemStructure.otherEquipment.edition"
placeholder="请输入"
></el-input>
</div>
</div>
</div>
</div>
<div class="copy-nav-title-two">
<span class="ball"></span>更多需求
</div>
<div class="copy-nav-main noborder more seven">
<div class="copy-nav-main-main">
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">分布式:</div>
<el-radio
v-model="systemStructure.distributed"
:label="1"
@click.native.prevent="clickitem1('systemStructure','distributed',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">负载均衡:</div>
<el-radio
v-model="systemStructure.loadBalance"
:label="1"
@click.native.prevent="clickitem1('systemStructure','loadBalance',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">容灾:</div>
<el-radio
v-model="systemStructure.disaster"
:label="1"
@click.native.prevent="clickitem1('systemStructure','disaster',1)"
></el-radio>
<div class="copy-box-main-input more">
<span class="box-input-text">其他:</span>
<el-input v-model="systemStructure.otherDemand" placeholder="请输入"></el-input>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="copy-nav-box yuan">
<!-- <div class="copy-nav-title">
<span class="open-title" style=" cursor: pointer;"
@click="open2">前端浏览器相关</span>
<img
v-show="browser.plugInUnit == '' && browser.compatibleBrowsers == '' && browser.otherBrowser=='' && browser.geography == '' && browser.peripheral == '' && browser.media == '' && browser.animation== '' && browser.document == '' && browser.threeD == ''&& browser.flash == '' && browser.otherDemand == ''"
src="./img/noform.png"
alt
class="rule-img"
/>
<img
v-show="browser.plugInUnit != '' || browser.compatibleBrowsers != '' || browser.otherBrowser!='' || browser.geography != '' || browser.peripheral != '' || browser.media != '' || browser.animation!= '' || browser.document != '' || browser.threeD != '' || browser.flash != '' || browser.otherDemand != ''"
src="./img/doform.png"
alt
class="rule-img"
/>
<div class="right-radio">
<img
class="open-img"
src="./img/open_play.png"
alt
style=" cursor: pointer;"
@click="open2"
v-show="isOpen2"
/>
<img
class="open-img"
src="./img/open.png"
alt
style=" cursor: pointer;"
@click="open2"
v-show="!isOpen2"
/>
</div>
</div> -->
<div class="open-box" v-show="isOpen2">
<div class="copy-nav-title-two">
<span class="ball"></span>原浏览器情况
</div>
<div class="copy-nav-main noborder more six">
<div class="copy-nav-main-main">
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">插件安装情况:</div>
<el-radio
v-model="browser.plugInUnit"
:label="1"
@click.native.prevent="clickitem1('browser','plugInUnit',1)"
></el-radio>
<el-radio
v-model="browser.plugInUnit"
:label="2"
@click.native.prevent="clickitem1('browser','plugInUnit',2)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">兼容的浏览器:</div>
<div class="radios-box">
<el-checkbox-group v-model="browser.compatibleBrowsers">
<el-checkbox label="IETRIDENT">IE Trident 内核</el-checkbox>
<el-checkbox label="CHROMEWEBKIT" style="width:320px;">Chorme WebKit/Blink 内核</el-checkbox>
<el-checkbox label="FIREFOX">Firefox Gecko 内核</el-checkbox>
<el-checkbox label="OPERA">Opera Blink 内核</el-checkbox>
<el-checkbox label="SECURE">360安全浏览器 Trident/Blink双内核</el-checkbox>
</el-checkbox-group>
</div>
<!-- <el-radio v-model="browser.compatibleBrowser" label="IETRIDENT">IE Trident 内核</el-radio>
<el-radio
v-model="browser.compatibleBrowser"
label="CHROMEWEBKIT"
>Chorme WebKit/Blink 内核</el-radio>
<el-radio v-model="browser.compatibleBrowser" label="FIREFOX">Firefox Gecko 内核</el-radio>
<el-radio v-model="browser.compatibleBrowser" label="OPERA">Opera Blink 内核</el-radio>
<el-radio
v-model="browser.compatibleBrowser"
label="SECURE"
style="margin-left:180px;"
>360安全浏览器 Trident/Blink双内核</el-radio>-->
<div class="copy-box-main-input">
<span class="box-input-text">其他:</span>
<el-input v-model="browser.otherBrowser" placeholder="请输入"></el-input>
</div>
</div>
</div>
</div>
<div class="copy-nav-title-two">
<span class="ball"></span>更多需求
</div>
<div class="copy-nav-main noborder more six">
<div class="copy-nav-main-main more seven">
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">地理信息系统:</div>
<el-radio
v-model="browser.geography"
:label="1"
@click.native.prevent="clickitem1('browser','geography',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">3D展示:</div>
<el-radio
v-model="browser.threeD"
:label="1"
@click.native.prevent="clickitem1('browser','threeD',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">flash:</div>
<el-radio
v-model="browser.flash"
:label="1"
@click.native.prevent="clickitem1('browser','flash',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">动画:</div>
<el-radio
v-model="browser.animation"
:label="1"
@click.native.prevent="clickitem1('browser','animation',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">公文显示与编辑:</div>
<el-radio
v-model="browser.document"
:label="1"
@click.native.prevent="clickitem1('browser','document',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">调用外设:</div>
<el-radio
v-model="browser.peripheral"
:label="1"
@click.native.prevent="clickitem1('browser','peripheral',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">多媒体:</div>
<el-radio
v-model="browser.media"
:label="1"
@click.native.prevent="clickitem1('browser','media',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">其他:</div>
<el-radio
v-model="browser.otherDemand"
:label="1"
@click.native.prevent="clickitem1('browser','otherDemand',1)"
></el-radio>
</div>
</div>
</div>
</div>
</div>
<div class="copy-nav-box yuan">
<!-- <div class="copy-nav-title">
<span class="open-title" style=" cursor: pointer;"
@click="open3">中间件/API相关</span>
<img
v-show="middleware.middlewareEnums == '' && middleware.otherMiddleware == '' && middleware.web==''&& middleware.jndi == '' && middleware.jms == '' && middleware.route == ''"
src="./img/noform.png"
alt
class="rule-img"
/>
<img
v-show="middleware.middlewareEnums != '' || middleware.otherMiddleware != '' || middleware.web!='' || middleware.jndi != '' || middleware.jms != '' || middleware.route != ''"
src="./img/doform.png"
alt
class="rule-img"
/>
<div class="right-radio">
<img
class="open-img"
src="./img/open_play.png"
alt
style=" cursor: pointer;"
@click="open3"
v-show="isOpen3"
/>
<img
class="open-img"
src="./img/open.png"
alt
style=" cursor: pointer;"
@click="open3"
v-show="!isOpen3"
/>
</div>
</div> -->
<div class="open-box" v-show="isOpen3">
<div class="copy-nav-title-two">
<span class="ball"></span>原中间件情况
</div>
<div class="copy-nav-main noborder more six">
<div class="copy-nav-main-main five more">
<el-checkbox-group v-model="middleware.middlewareEnums" style="float:left;">
<el-checkbox label="TOMCAT">Tomcat</el-checkbox>
<el-checkbox label="NGNIX">Ngnix</el-checkbox>
<el-checkbox label="WEBSPHERE">websphere</el-checkbox>
<el-checkbox label="WEBLOGIC">weblogic</el-checkbox>
<el-checkbox label="JBOSS">JBoss</el-checkbox>
</el-checkbox-group>
<!-- <div class="form-radio" style="margin-top:5px;">
<el-radio v-model="middleware.middlewareEnum" label="TOMCAT" >Tomcat</el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<el-radio v-model="middleware.middlewareEnum" label="NGNIX">Ngnix</el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<el-radio v-model="middleware.middlewareEnum" label="WEBSPHERE">websphere</el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<el-radio v-model="middleware.middlewareEnum" label="WEBLOGIC">weblogic</el-radio>
</div>
<div class="form-radio" style="margin-top:5px;margin-bottom:20px;">
<el-radio v-model="middleware.middlewareEnum" label="JBOSS">JBoss</el-radio>
</div>-->
<div class="copy-box-main-input more" style="float:left;padding-top:20px;">
<span class="box-input-text">其他:</span>
<el-input v-model="middleware.otherMiddleware" placeholder="请输入"></el-input>
</div>
</div>
</div>
<div class="copy-nav-title-two" style="margin-top:-35px;">
<span class="ball"></span>更多需求
</div>
<div class="copy-nav-main noborder more six">
<div class="copy-nav-main-main more">
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">Web集群:</div>
<el-radio
v-model="middleware.web"
:label="1"
@click.native.prevent="clickitem1('middleware','web',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">JNDI集群:</div>
<el-radio
v-model="middleware.jndi"
:label="1"
@click.native.prevent="clickitem1('middleware','jndi',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">JMS集群:</div>
<el-radio
v-model="middleware.jms"
:label="1"
@click.native.prevent="clickitem1('middleware','jms',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">消息路由:</div>
<el-radio
v-model="middleware.route"
:label="1"
@click.native.prevent="clickitem1('middleware','route',1)"
></el-radio>
</div>
</div>
</div>
</div>
</div>
<div class="copy-nav-box yuan">
<!-- <div class="copy-nav-title">
<span class="open-title" style=" cursor: pointer;"
@click="open4">数据库相关</span>
<img
v-show="database.databaseType == '' && database.othertype == '' && database.view =='' && database.storage == ''&& database.function == '' && database.dbLink == '' && database.sequence == '' && database.timeTask == '' && database.trigger == '' && database.disasterTolerance == ''&& database.separate == '' && database.safe == '' && database.performance == ''&& database.otherContent == ''"
src="./img/noform.png"
alt
class="rule-img"
/>
<img
v-show="database.databaseType != '' || database.othertype != '' || database.view !='' || database.storage != '' || database.function != '' || database.dbLink != '' || database.sequence != '' || database.timeTask != '' || database.trigger != '' || database.disasterTolerance != ''|| database.separate != '' || database.safe != '' || database.performance != ''|| database.otherContent != ''"
src="./img/doform.png"
alt
class="rule-img"
/>
<div class="right-radio">
<img
class="open-img"
src="./img/open_play.png"
alt
style=" cursor: pointer;"
@click="open4"
v-show="isOpen4"
/>
<img
class="open-img"
src="./img/open.png"
alt
style=" cursor: pointer;"
@click="open4"
v-show="!isOpen4"
/>
</div>
</div> -->
<div class="open-box" v-show="isOpen4">
<div class="copy-nav-title-two">
<span class="ball"></span>数据库
</div>
<div class="copy-nav-main noborder more">
<div class="copy-nav-main-main five more">
<el-checkbox-group v-model="database.databaseType">
<el-checkbox class="form-radio" label="ORACLE">Oracle</el-checkbox>
<el-checkbox class="form-radio" label="SQLSERVER">SQLServer</el-checkbox>
<el-checkbox class="form-radio" label="DB2">DB2</el-checkbox>
<el-checkbox class="form-radio" label="MYSQL">mysql</el-checkbox>
<el-checkbox class="form-radio" label="SYBASE">Sybase</el-checkbox>
</el-checkbox-group>
<!-- <div class="form-radio" style="margin-top:5px;">
<el-radio v-model="database.databaseType" label="Orcle">Orcle</el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<el-radio v-model="database.databaseType" label="SQLServer">SQLServer</el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<el-radio v-model="database.databaseType" label="DB2">DB2</el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<el-radio v-model="database.databaseType" label="msql">msql</el-radio>
</div>
<div class="form-radio" style="margin-top:5px;margin-bottom:20px;">
<el-radio v-model="database.databaseType" label="Sybase">Sybase</el-radio>
</div>-->
<div class="copy-box-main-input more" style="float:left;">
<span class="box-input-text">其他:</span>
<el-input v-model="database.othertype" placeholder="请输入"></el-input>
</div>
</div>
<div class="copy-nav-main-main more" style="margin-top:35px;">
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">视图:</div>
<el-radio
v-model="database.view"
:label="1"
@click.native.prevent="clickitem1('database','view',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">存储过程:</div>
<el-radio
v-model="database.storage"
:label="1"
@click.native.prevent="clickitem1('database','storage',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">函数:</div>
<el-radio
v-model="database.function"
:label="1"
@click.native.prevent="clickitem1('database','function',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">Dblink:</div>
<el-radio
v-model="database.dbLink"
:label="1"
@click.native.prevent="clickitem1('database','dbLink',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">序列:</div>
<el-radio
v-model="database.sequence"
:label="1"
@click.native.prevent="clickitem1('database','sequence',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">定时任务:</div>
<el-radio
v-model="database.timeTask"
:label="1"
@click.native.prevent="clickitem1('database','timeTask',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">触发器:</div>
<el-radio
v-model="database.trigger"
:label="1"
@click.native.prevent="clickitem1('database','trigger',1)"
></el-radio>
</div>
</div>
</div>
<div class="copy-nav-title-two" style="margin-top:-35px;">
<span class="ball"></span>更多需求
</div>
<div class="copy-nav-main noborder more yuan">
<div class="copy-nav-main-main two">
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">容灾:</div>
<el-radio-group v-model="database.disasterTolerance">
<!-- <el-radio :label="1" @click.native.prevent="clickitem1('database','disasterTolerance',1)"></el-radio> -->
<el-radio
:label="2"
@click.native.prevent="clickitem1('database','disasterTolerance',2)"
>主备</el-radio>
<el-radio
:label="3"
@click.native.prevent="clickitem1('database','disasterTolerance',3)"
>分布式</el-radio>
</el-radio-group>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">读写分离:</div>
<el-radio
v-model="database.separate"
:label="1"
@click.native.prevent="clickitem1('database','separate',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">安全:</div>
<el-radio
v-model="database.safe"
:label="1"
@click.native.prevent="clickitem1('database','safe',1)"
></el-radio>
</div>
<div class="form-radio" style="margin-top:5px;">
<div class="radio-text">更高性能:</div>
<el-radio
v-model="database.performance"
:label="1"
@click.native.prevent="clickitem1('database','performance',1)"
></el-radio>
</div>
<div class="copy-box-main-input more">
<span class="box-input-text">其他:</span>
<el-input
v-model="database.otherContent"
placeholder="请输入"
></el-input>
</div>
</div>
</div>
</div>
</div>
<div class="copy-nav-box yuan">
<!-- <div class="copy-nav-title">
<span class="open-title" style=" cursor: pointer;"
@click="open5">迁移策略</span>
<img v-show="strategy == ''" src="./img/noform.png" alt class="rule-img" />
<img v-show="strategy != ''" src="./img/doform.png" alt class="rule-img" />
<div class="right-radio">
<img
class="open-img"
src="./img/open_play.png"
alt
style=" cursor: pointer;"
@click="open5"
v-show="isOpen5"
/>
<img
class="open-img"
src="./img/open.png"
alt
style=" cursor: pointer;"
@click="open5"
v-show="!isOpen5"
/>
</div>
</div> -->
<div class="open-box" v-show="isOpen5">
<div class="copy-nav-main noborder more six" style="margin-top:40px;">
<div class="copy-nav-main-main two">
<div class="copy-box-main-input more">
<span class="box-input-text">类型选择:</span>
<el-select v-model="strategy" placeholder="请选择">
<el-option label="休息日或晚间替换" :value="1"></el-option>
<el-option label="暂停服务" :value="2"></el-option>
<el-option label="平滑过渡" :value="3"></el-option>
</el-select>
</div>
</div>
</div>
</div>
</div>
<div class="copy-nav-box yuan">
<!-- <div class="copy-nav-title">
<span class="open-title" style=" cursor: pointer;"
@click="open6">额外申请</span>
<img
v-show="apply.reason == '' && apply.cost == ''"
src="./img/noform.png"
alt
class="rule-img"
/>
<img
v-show="apply.reason != '' || apply.cost != ''"
src="./img/doform.png"
alt
class="rule-img"
/>
<div class="right-radio">
<img
class="open-img"
src="./img/open_play.png"
alt
style=" cursor: pointer;"
@click="open6"
v-show="isOpen6"
/>
<img
class="open-img"
src="./img/open.png"
alt
style=" cursor: pointer;"
@click="open6"
v-show="!isOpen6"
/>
</div>
</div> -->
<div class="open-box" v-show="isOpen6">
<div class="copy-nav-main noborder more six" style="margin-top:50px;">
<div class="copy-nav-main-main two">
<div class="copy-box-main-input more">
<span class="box-input-text">费用:</span>
<el-input v-model.number="apply.cost" placeholder="请输入"></el-input>
<span class="input_textbottom">万元</span>
</div>
<div class="copy-box-main-input more" style="margin-top:30px;">
<span class="box-input-text">原因:</span>
<el-input
type="textarea"
:autosize="{ minRows: 4, maxRows: 6}"
placeholder="请输入内容"
v-model="apply.reason"
></el-input>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="pg-button-box" >
<div class="pg-button ball" @click="backTop">回到顶部</div>
<div v-show="isOpen" :class="{'pg-button no active':form.cost!=''&& form.projectName!='' && (systemStructure.application.deploy != '' || systemStructure.application.operateSystem != '' || systemStructure.application.other != '' || systemStructure.application.edition != '' || systemStructure.database.other != '' || systemStructure.database.deploy != '' || systemStructure.database.operateSystem != '' || systemStructure.database.edition != '' || systemStructure.storage.edition != '' || systemStructure.storage.other != '' || systemStructure.storage.deploy != '' || systemStructure.storage.operateSystem != '' || systemStructure.otherEquipment.operateSystem != '' || systemStructure.otherEquipment.edition != '' || systemStructure.otherEquipment.deploy != '' || systemStructure.otherEquipment.other != '' || systemStructure.slb.operateSystem != '' || systemStructure.slb.edition != '' || systemStructure.slb.deploy != '' || systemStructure.slb.other != '' || systemStructure.otherDemand != '' || systemStructure.loadBalance != '' || systemStructure.disaster != '' || systemStructure.distributed != '' || browser.plugInUnit != '' || browser.compatibleBrowsers != '' || browser.otherBrowser!='' || browser.geography != '' || browser.peripheral != '' || browser.media != '' || browser.animation!= '' || browser.document != '' || browser.threeD != '' || browser.flash != '' || browser.otherDemand != '' || middleware.middlewareEnums != '' || middleware.otherMiddleware != '' || middleware.web!='' || middleware.jndi != '' || middleware.jms != '' || middleware.route != '' || database.databaseType != '' || database.othertype != '' || database.view !='' || database.storage != '' || database.function != '' || database.dbLink != '' || database.sequence != '' || database.timeTask != '' || database.trigger != '' || database.disasterTolerance != ''|| database.separate != '' || database.safe != '' || database.performance != ''|| database.otherContent != '' || strategy != '' || apply.reason != '' || apply.cost != '') ,'pg-button no':true}" @click="goPg2(2)">详细评估</div>
</div>
</div>
</div>
</div>
</div>
<el-dialog :visible.sync="openModel" class="model">
<span class="closeModel" @click="reset()"></span>
<addUpload ref="addUp" @addZip="addZip" @reset="reset" @myLoading="myLoading"></addUpload>
</el-dialog>
</div>
</template>
<script>
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';
import addUpload from "./components/upload";
export default {
name: "assessmentReport",
//import引入的组件需要注入到对象中才能使用
components: {
addUpload
},
data() {
//这里存放数据
return {
openModel:false,
isLog: true,
loading: false,
loading2: false,
gitName: "",
gitUrl: "",
form: {
admin: 1,
username: "",
mode: 1, //替换方式 int(1:改造 2:适配)
projectName: "",
codeUrl: "",
codeName: "",
gitUrl: "",
moduleNum: "", //模块数
cost: "", //原开发费用
applicationType: [], //应用类型
address: "", //开发单位是否在本地int 1:是 2:否
secret: "", //是否为涉密信息系统 int 1:是 2:否
safe: "", //安全能力 1:无 2:弱 3:强
framework: "", //架构
disasterTolerance: "", //容灾能力 int 1:是 2:否
tableNum: "", //数据库表数量
databaseNum: "", //数据库大小
time: "" //运行时间
},
radio: "1",
textarea2: "",
systemStructure: {
application: {
deploy: "",
operateSystem: "",
other: "",
edition: ""
}, //应用服务器
database: {
deploy: "",
operateSystem: "",
other: "",
edition: ""
}, //数据库服务器
storage: {
deploy: "",
operateSystem: "",
other: "",
edition: ""
}, //存储
otherEquipment: {
deploy: "",
operateSystem: "",
other: "",
edition: ""
}, //其他服务设备
slb: {
deploy: "",
operateSystem: "",
other: "",
edition: ""
}, //slb
otherDemand: "",
loadBalance: "",
disaster: "",
distributed: ""
},
browser: {
compatibleBrowsers: [], //兼容的浏览器
otherBrowser: "",
geography: "", //地理信息系统 int 1:是 2:否
peripheral: "", //调用外设
animation: "", //动画
threeD: "", //3d展示
document: "", //公文显现与编辑
media: "", //多媒体
flash: "", //flash
otherDemand: "", //其他 疑似多出来
plugInUnit: "" //插件安装情况int 1:是 2:否
}, //浏览器相关
middleware: {
middlewareEnums: [],
otherMiddleware: "",
web: "",
jndi: "",
jms: "",
route: ""
}, //中间件
database: {
databaseType: [],
othertype: "",
view: "",
storage: "",
function: "",
dbLink: "",
sequence: "",
timeTask: "",
trigger: "",
disasterTolerance: "",
separate: "",
safe: "",
performance: "",
otherContent: ""
},
strategy: "", //迁移策略
apply: {
reason: "",
cost: ""
}, //额外申请,
isOpen: true,
isOpen1: true,
isOpen2: false,
isOpen3: false,
isOpen4: false,
isOpen5: false,
isOpen6: false,
notime:''
};
},
//监听属性 类似于data概念
computed: {},
//监控data中的数据变化
watch: {},
//方法集合
methods: {
reset(){
this.$refs.addUp.close()
this.openModel = false
},
goBack(){
this.$router.push({name:'evaluationReport', query:{
username: this.$route.query.username,
id: this.$route.query.id,
authority: this.$route.query.authority,
}})
// if(this.$route.query.authority == 0){
// console.log("执行")
// this.$router.push({name:'AssessmentUser', query: {
// username: this.$route.query.username,
// id: this.$route.query.id,
// authority: this.$route.query.authority,
// }})
// }else if (this.$route.query.authority == 1){
// console.log("执行")
// this.$router.push({name:'Assessment', query: {
// username: this.$route.query.username,
// id: this.$route.query.id,
// authority: this.$route.query.authority,
// }})
// }
},
backTop(){
console.log('zzz')
document.getElementById("tchar_nav").scrollIntoView({
behavior: "smooth", // 平滑过渡
block: "start" // 上边框与视窗顶部平齐。默认值
});
},
goPg2(flag) {
if(flag == 1){
if (
this.form.cost == "" ||
this.form.projectName == ""
) {
this.$message({
message: "请填写必填项",
type: "error"
});
} else {
this.loading2 = true;
setTimeout(item => {
this.goPg(flag);
}, 3000);
}
}else if (flag == 2){
if(this.form.cost!=''&& this.form.projectName!='' && (this.systemStructure.application.deploy != '' || this.systemStructure.application.operateSystem != '' || this.systemStructure.application.other != '' || this.systemStructure.application.edition != '' || this.systemStructure.database.other != '' || this.systemStructure.database.deploy != '' || this.systemStructure.database.operateSystem != '' || this.systemStructure.database.edition != '' || this.systemStructure.storage.edition != '' || this.systemStructure.storage.other != '' || this.systemStructure.storage.deploy != '' || this.systemStructure.storage.operateSystem != '' || this.systemStructure.otherEquipment.operateSystem != '' || this.systemStructure.otherEquipment.edition != '' || this.systemStructure.otherEquipment.deploy != '' || this.systemStructure.otherEquipment.other != '' || this.systemStructure.slb.operateSystem != '' || this.systemStructure.slb.edition != '' || this.systemStructure.slb.deploy != '' || this.systemStructure.slb.other != '' || this.systemStructure.otherDemand != '' || this.systemStructure.loadBalance != '' || this.systemStructure.disaster != '' || this.systemStructure.distributed != '' || this.browser.plugInUnit != '' || this.browser.compatibleBrowsers != '' || this.browser.otherBrowser!='' || this.browser.geography != '' || this.browser.peripheral != '' || this.browser.media != '' || this.browser.animation!= '' || this.browser.document != '' || this.browser.threeD != '' || this.browser.flash != '' || this.browser.otherDemand != '' || this.middleware.middlewareEnums != '' || this.middleware.otherMiddleware != '' || this.middleware.web!='' || this.middleware.jndi != '' || this.middleware.jms != '' || this.middleware.route != '' || this.database.databaseType != '' || this.database.othertype != '' || this.database.view !='' || this.database.storage != '' || this.database.function != '' || this.database.dbLink != '' || this.database.sequence != '' || this.database.timeTask != '' || this.database.trigger != '' || this.database.disasterTolerance != ''|| this.database.separate != '' || this.database.safe != '' || this.database.performance != ''|| this.database.otherContent != '' || this.strategy != '' || this.apply.reason != '' || this.apply.cost != '')){
this.loading2 = true;
setTimeout(item => {
this.goPg(flag);
}, 3000);
}
}
},
goPrev() {
if (this.isLog) {
this.$router.push({
name: "reportAssess",
query: {
username: this.$route.query.username,
id: this.$route.query.id,
authority: this.$route.query.authority,
}
});
}
},
goPg(flag) {
//true快速 false详细
var obj = {};
Object.assign(obj, this.form);
obj.assessmentType = flag
obj.database = this.database;
obj.middleware = this.middleware;
obj.apply = this.apply;
obj.browser = this.browser;
obj.systemStructure = this.systemStructure;
obj.username = this.$route.query.username;
obj.authority = Number(this.$route.query.authority);
// 现在OBJ是究极整合
if (this.strategy == "") {
} else {
obj.strategy = this.strategy;
}
// this.loading = true
for (var key in obj.database) {
if (obj.database[key] === "" || obj.database[key].length == 0) {
delete obj.database[key];
}
}
for (var key in obj.middleware) {
if (obj.middleware[key] === "" || obj.middleware[key].length == 0) {
delete obj.middleware[key];
}
}
for (var key in obj.apply) {
if (obj.apply[key] === "") {
delete obj.apply[key];
}
}
for (var key in obj.browser) {
if (obj.browser[key] === "" || obj.browser[key].length == 0) {
delete obj.browser[key];
}
}
for (var key in obj.systemStructure.application) {
if (obj.systemStructure.application[key] === "") {
delete obj.systemStructure.application[key];
}
}
for (var key in obj.systemStructure.database) {
if (obj.systemStructure.database[key] === "") {
delete obj.systemStructure.database[key];
}
}
for (var key in obj.systemStructure.storage) {
if (obj.systemStructure.storage[key] === "") {
delete obj.systemStructure.storage[key];
}
}
for (var key in obj.systemStructure.otherEquipment) {
if (obj.systemStructure.otherEquipment[key] === "") {
delete obj.systemStructure.otherEquipment[key];
}
}
for (var key in obj.systemStructure.slb) {
if (obj.systemStructure.slb[key] === "") {
delete obj.systemStructure.slb[key];
}
}
for (var key in obj.systemStructure) {
if (
obj.systemStructure[key] === "" ||
JSON.stringify(obj.systemStructure[key]) == "{}"
) {
delete obj.systemStructure[key];
}
}
for (var key in obj) {
if (obj[key] === "" || JSON.stringify(obj[key]) == "{}" ) {
console.log(obj[key]);
console.log('11111',obj[key]);
delete obj[key];
}
}
console.log("======>", obj);
// console.log("=231321=====>", obj.applicationType.length);
// return
this.$server.goPg(obj).then(res => {
console.log(res);
this.$message({
message: "生成评估报告成功",
type: "success"
});
// return
this.$router.push({
name: "reportAssess",
query: {
username: this.$route.query.username,
id:res.data,
authority: this.$route.query.authority,
}
});
});
},
myLoading() {
this.loading = true;
},
open() {
this.isOpen = !this.isOpen;
if(this.isOpen == false){
this.isOpen1 =this.isOpen
this.isOpen2 = this.isOpen
this.isOpen3 =this.isOpen
this.isOpen4 =this.isOpen
this.isOpen5 =this.isOpen
this.isOpen6 =this.isOpen
}
},
open1() {
this.isOpen1 = true;
this.isOpen2 = false
this.isOpen3 =false
this.isOpen4 = false
this.isOpen5 = false
this.isOpen6 =false
},
open2() {
this.isOpen2 = true;
this.isOpen1 = false
this.isOpen3 =false
this.isOpen4 = false
this.isOpen5 = false
this.isOpen6 =false
},
open3() {
this.isOpen2 = false;
this.isOpen1 = false
this.isOpen3 =true
this.isOpen4 = false
this.isOpen5 = false
this.isOpen6 =false
},
open4() {
this.isOpen2 = false;
this.isOpen1 = false
this.isOpen3 =false
this.isOpen4 = true
this.isOpen5 = false
this.isOpen6 =false
},
open5() {
this.isOpen2 = false;
this.isOpen1 = false
this.isOpen3 =false
this.isOpen4 = false
this.isOpen5 = true
this.isOpen6 =false
},
open6() {
this.isOpen2 = false;
this.isOpen1 = false
this.isOpen3 =false
this.isOpen4 = false
this.isOpen5 = false
this.isOpen6 =true
},
clickitem(objKey, objName, e) {
e === this.systemStructure[objKey][objName]
? (this.systemStructure[objKey][objName] = "")
: (this.systemStructure[objKey][objName] = e);
},
clickitem1(objKey, objName, e) {
console.log(this[objKey][objName]);
e === this[objKey][objName]
? (this[objKey][objName] = "")
: (this[objKey][objName] = e);
},
addZip(name, file, git) {
this.loading = false;
if (name == "zip") {
this.form.codeUrl = file;
this.form.gitUrl = ''
} else if (name == "git") {
this.form.codeUrl = file;
this.form.gitUrl = git;
console.log("执行了git?", this.form.gitUrl);
}
},
upload() {
this.openModel = true
},
getPrev() {
this.$server.pgName(this.$route.query.id).then(res => {
console.log(res.data);
if (res.data == "") {
this.isLog = false;
} else {
// thy
if (res.data.strategy != -1) {
this.strategy = res.data.strategy;
}
Object.keys(this.form).forEach(key => {
if (res.data[key] != -1) {
this.form[key] = res.data[key];
}
});
Object.keys(this.apply).forEach(key => {
if (res.data.apply[key] != -1) {
this.apply[key] = res.data.apply[key];
}
});
Object.keys(this.browser).forEach(key => {
if (res.data.browser[key] != -1) {
if (res.data.browser[key] == undefined) {
} else {
this.browser[key] = res.data.browser[key];
console.log(res.data.browser[key]);
}
}
});
Object.keys(this.database).forEach(key => {
if (res.data.database[key] != -1) {
if (res.data.database[key] == undefined) {
} else {
this.database[key] = res.data.database[key];
}
}
});
Object.keys(this.middleware).forEach(key => {
if (res.data.middleware[key] != -1) {
if (res.data.middleware[key] == undefined) {
} else {
this.middleware[key] = res.data.middleware[key];
}
}
});
Object.keys(this.systemStructure).forEach(key => {
if (res.data.systemStructure[key] != -1) {
if (res.data.systemStructure[key] == undefined) {
} else {
this.systemStructure[key] = res.data.systemStructure[key];
}
}
});
console.log("上次报告", this.form);
this.isLog = true;
}
});
}
},
//生命周期 - 创建完成(可以访问当前this实例)
created() {
this.getPrev();
},
//生命周期 - 挂载完成(可以访问DOM元素)
mounted() {},
beforeCreate() {}, //生命周期 - 创建之前
beforeMount() {}, //生命周期 - 挂载之前
beforeUpdate() {}, //生命周期 - 更新之前
updated() {}, //生命周期 - 更新之后
beforeDestroy() {}, //生命周期 - 销毁之前
destroyed() {}, //生命周期 - 销毁完成
activated() {} //如果页面有keep-alive缓存功能,这个函数会触发
};
</script>
<style scoped>
.home-detail-copy >>> .el-loading-mask {
position: fixed;
top: 0;
left: 0;
}
.home-detail-copy .open-img{
width: 30px;
}
.home-detail-copy .open-box-nav .box-nav-title.active{
background-color: #4877e6;
color:#fff;
}
.home-detail-copy .open-box-nav .box-nav-title{
cursor: pointer;
width: 12%;
height: 40px;
float: left;
color:#666;
line-height: 40px;
text-align: center;
}
.home-detail-copy .open-box-nav{
width: 100%;
/* background-color: orange; */
height: 40px;
margin-top: 30px;
border-bottom: 2px solid #c8d6f7;
}
.home-detail-copy {
width: 100%;
background-color: #ebf0f8;
/* padding-bottom: 300px; */
color: #333;
/* margin-top: 150px; */
height:100vh;
overflow-y: auto;
scrollbar-color: transparent transparent;
}
.pg-button-box{
width:100%;
/* height: 100px; */
/* background: orange; */
/* margin-bottom: 100px; */
}
.home-detail-copy .rule-img {
/* margin-left: 20px; */
}
.home-detail-copy .open-title {
display: inline-block;
text-align: left;
text-indent: 25px;
width: 400px;
}
.home-detail-copy h1 {
font-weight: bold;
}
.home-detail-copy
>>> .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled)
.el-radio__inner {
box-shadow: none;
}
.home-detail-copy >>> .el-checkbox__label {
width: 180px;
height: 30px;
text-align: left;
line-height: 30px;
}
.home-detail-copy .up-box {
cursor: pointer;
position: relative;
height: 35px;
width: 100px;
border-radius: 5px;
background-color: #4877e6;
float: left;
line-height: 35px;
color: #fff;
text-align: center;
}
.home-detail-copy .up-box:hover {
background-color: #1c45a4;
}
.home-detail-copy >>> .el-radio__inner {
border: 1px solid #666;
}
.home-detail-copy >>> .el-radio__input.is-checked .el-radio__inner {
/* background-color: transparent; */
border: none;
/* background: url("./img/radio_click.png") no-repeat center; */
background-size: 14px 14px;
}
.home-detail-copy >>> .el-input__inner:hover {
/* border-color: #233b6e !important; */
}
.home-detail-copy .big-box {
width: 92%;
margin: 0 auto;
height: auto;
background-color: #fff;
/* margin-bottom: 50px; */
margin-top: 30px;
/* margin-bottom: -30px; */
}
.home-detail-copy .copy-box {
/* width: 92%; */
/* margin: 0 auto; */
/* height: 820px; */
background-color: #fff;
/* margin-top: 30px; */
}
.copy-title {
text-align: center;
font-size: 24px;
padding-top: 30px;
margin-top: 10px;
color:#233b6e;
}
.home-detail-copy .copy-box .copy-box-main {
width: 96%;
margin: 0 auto;
/* height: 700px; */
padding-bottom: 100px;
/* background-color: #fff; */
padding-top: 30px;
/* margin-bottom: 50px; */
}
.home-detail-copy .copy-box .copy-box-main .copy-box-title.one{
background-color: #ecf1fc;
height: 40px;
margin-top: 40px;
width: 100%;
line-height: 40px;
}
.home-detail-copy .copy-box .copy-box-main .copy-box-title {
font-size: 20px;
text-align: left;
}
.home-detail-copy .copy-box .copy-box-main .copy-box-title span {
font-weight: bold;
font-size: 20px;
}
.home-detail-copy .copy-box .copy-box-main .copy-box-title .ju {
display: block;
float: left;
background-color: #4877e6;
height:40px;
width:4px;
margin-right: 10px;
}
.home-detail-copy .copy-box .copy-box-main .copy-box-title {
font-size: 24px;
text-align: left;
}
.home-detail-copy .right-radio {
font-size: 18px;
float: right;
color: #333;
}
.home-detail-copy .right-radio.one {
font-size: 18px;
text-align: right;
width:100%;
color: #333;
background-color: #fff;
/* margin-bottom: 30px; */
}
.home-detail-copy .copy-nav-box {
margin-top: 32px;
}
.home-detail-copy .copy-nav-title {
font-size: 22px;
color: #333;
height: 40px;
width: 100%;
background: url("./img/pinggu_nav.png") no-repeat;
text-align: left;
line-height: 40px;
/* text-indent: 25px; */
font-weight: bold;
}
.home-detail-copy .copy-nav-title-two {
font-size: 20px;
margin-top: 20px;
color: #333;
height: 40px;
width: 100%;
text-align: left;
line-height: 40px;
text-indent: 10px;
font-weight: bold;
}
.home-detail-copy .line {
width: 100%;
height: 3px;
background-color: #41ba87;
margin-top: 20px;
}
.home-detail-copy .input_text {
color: #333;
font-size: 18px;
/* text-align: right; */
float: left;
text-indent: 10px;
/* margin-left: 5px; */
/* margin-right: 5px; */
}
.home-detail-copy .input_textbottom {
color: #333;
font-size: 18px;
margin-left: 20px;
line-height: 38px;
}
.home-detail-copy .copy-form {
width: 98%;
margin: 0 auto;
height: 100%;
height: 630px;
/* background-color: orange; */
}
.home-detail-copy .copy-form >>> .el-form-item {
width: 33%;
float: left;
}
.home-detail-copy .copy-form >>> .el-form-item__label {
color: #666;
text-align: right;
font-size: 18px;
}
.home-detail-copy .copy-form >>> .el-input {
width: 65%;
/* margin-left: -190px; */
float: left;
}
.home-detail-copy .copy-form >>> .el-input__inner {
color: #999;
border-radius: 0;
border: 1px solid rgba(8,104,157,.3);
border-radius: 2px;
/* width: 240px; */
height: 38px;
font-size: 18px;
line-height: 40px;
/* margin-left: -170px; */
}
.home-detail-copy .copy-box-main-input {
margin-left: 180px;
}
.home-detail-copy .copy-box-main-input >>> .el-textarea {
width: 90%;
vertical-align: top;
}
.home-detail-copy .copy-box-main-input >>> .el-textarea__inner {
border-radius: 0;
border: 1px solid #ccc;
color: #333;
resize: vertical;
}
.home-detail-copy .copy-box-main-input.more {
text-align: left;
width: 100%;
margin-left: 0;
}
.home-detail-copy .copy-box-main-input.bottom {
margin-top: 10px;
}
.home-detail-copy .copy-box-main-input >>> .el-input {
width: 70%;
/* margin-left: -190px; */
}
.home-detail-copy .copy-box-main-input >>> .el-select {
width: 90%;
/* margin-left: -190px; */
}
.home-detail-copy .copy-box-main-input >>> .el-select .el-input {
width: 100%;
/* margin-left: -190px; */
}
.home-detail-copy .copy-box-main-input >>> .el-input__inner {
color: #999;
border-radius: 2px;
border: 1px solid rgba(8,104,157,.3);
height: 38px;
/* margin-left: -170px; */
}
.home-detail-copy .copy-nav-main {
width: 96%;
margin: 0 auto;
height: 310px;
/* background-color: #f5fbf9; */
border: 2px solid #eaf1ff;
margin-top: 10px;
margin-bottom: 30px;
}
.home-detail-copy .copy-nav-main.noborder{
border: none;
}
.home-detail-copy .copy-nav-main.more {
background-color: #fff;
/* margin-bottom: 150px; */
}
.home-detail-copy .copy-nav-main.yuan {
height: 220px;
/* margin-bottom: 150px; */
}
.home-detail-copy .copy-nav-main.seven {
height: 260px;
/* margin-bottom: 150px; */
}
.home-detail-copy .copy-nav-main.six {
height: 160px;
/* margin-bottom: 150px; */
}
.home-detail-copy .radios-box {
width: 80%;
margin-left: 180px;
}
.home-detail-copy .radios-box >>> .el-radio__label {
display: inline-block;
width: 250px;
}
.home-detail-copy .copy-nav-main-main {
width: 75%;
float: left;
margin-left: 85px;
}
.home-detail-copy .copy-nav-main-main.more .form-radio {
width: 24%;
float: left;
line-height: 40px;
}
.form-radio.chec >>> .el-checkbox {
width: 20%;
}
.home-detail-copy .copy-nav-main-main.two .form-radio {
width: 50%;
float: left;
}
.home-detail-copy .copy-nav-main-main.two .form-radio .radio-text {
width: 100px;
}
.home-detail-copy .copy-nav-main-main.five .form-radio {
width: 15.5%;
float: left;
margin-bottom: 30px;
/* float: left; */
}
.home-detail-copy .copy-nav-main-main.more .form-radio .radio-text {
text-align: right;
width: 160px;
}
.home-detail-copy .copy-nav-main-main.more {
width: 100%;
float: left;
margin-left: 25px;
}
.home-detail-copy .copy-nav-main .copy-nav-main-title {
width: 100%;
font-size: 18px;
color: #333;
float: left;
text-align: left;
/* margin-bottom: 38px; */
text-indent: 25px;
margin-top: 15px;
font-weight: bold;
}
.home-detail-copy .copy-nav-box >>> .el-radio {
height: 40px;
line-height: 25px;
}
.home-detail-copy >>> .el-radio__label {
color: #333;
font-size: 18px;
}
.please {
font-size: 14px;
color: red;
text-align: left;
line-height: 44px;
}
.form-radio {
width: 100%;
float: left;
text-align: left;
margin-top: 15px;
}
.form-radio .radio-text {
width: 180px;
float: left;
font-size: 18px;
}
.form-radio .radio-text.one {
width: 180px;
float: left;
text-align: right;
font-size: 18px;
margin-right: 30px;
}
.form-radio.one >>>.el-radio{
width:15%;
}
.pg-button.no.active:hover,
.pg-button:hover {
background-color: #1c45a4;
}
.pg-button.ball{
width: 70px;
height: 30px;
/* border-radius: 50px; */
position: fixed;
right: 10px;
bottom: 20px;
font-size: 14px;
}
.pg-button {
text-align: center;
width: 100px;
height: 32px;
background-color: #4877e6;
float: right;
margin-left: 72px;
margin-top: 20px;
line-height: 32px;
color: #fff;
font-size: 18px;
cursor: pointer;
border-radius: 5px;
}
.ball {
width: 4px;
height: 20px;
float: left;
display: block;
/* border-radius: 20px; */
background-color: #4877e6;
margin-top: 10px;
margin-left: 25px;
}
.pg-button.no {
cursor: default;
background-color: #889cdd;
}
.pg-button.no.active {
cursor: pointer;
background-color: #4877e6;
}
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
/* 正常情况下滑块的样式 */
::-webkit-scrollbar-thumb {
background-color: rgba(0, 0, 0, 0.05);
border-radius: 2px;
-webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1);
}
</style>
......@@ -10,7 +10,7 @@
<el-input v-model="searchVal" size="medium" placeholder="请输入查询内容" @change="search"></el-input>
</span>
<span class="button" @click="search">查询</span>
<span class="button new" title="新增报告"><img src="./img/add.png"></span>
<span class="button new" title="新增报告" @click="add"><img src="./img/add.png"></span>
</p>
<div class="common-table">
<el-table
......@@ -66,6 +66,7 @@
<script>
import $ from 'jquery';
import moment from "moment";
export default {
data () {
return {
......@@ -82,6 +83,17 @@ export default {
this.init();
},
methods: {
add(){
console.log(this.$store.state.userData.userName)
this.$router.push({
name: "assessmentReport",
query: {
username:this.$store.state.userData.userName,
authority: this.$store.state.userData.type,
id: null,
}
});
},
// 初始请求
init() {
let val = {
......@@ -116,11 +128,24 @@ export default {
// 评估
evaluation(row) {
console.log(row)
console.log(this.$store.state.userData)
// return
this.$router.push({name:'assessmentReport', query: {
username: this.$store.state.userData.userName,
id: row.id,
authority: this.$store.state.userData.type
}})
// this.$router.push({name: 'complaintManagementDetail',params:{'value': row}});
},
// 报告
report(row) {
console.log(row)
this.$router.push({name:'reportAssess',query: {
username: row.username,
id:row.id,
authority:this.$store.state.userData.type,
}})
},
// 删除
del(row) {
......@@ -149,14 +174,19 @@ export default {
},
// 时间换算
time(value) {
let date = new Date(value); // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
let Y = date.getFullYear() + '-';
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate());
let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
let s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
return Y + M + D + ' ' + h + m + s;
// console.log(timestamp)
value = value.replace(/-/g, '/').replace('T', ' ').replace('.000+0000', '')
if (value !== undefined && value !== null) {
let date = new Date(value); // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
var day = moment(value).format('YYYY-MM-DD HH:mm:ss');
var day2 = moment(day).utc().format()
// console.log(day)
// console.log(timestamp.length)
return day
} else {
return ''
}
}
},
components: {
......
......@@ -26,7 +26,7 @@
</span>
</span>
</div>
<div style="height: 40px;background: #fff;" v-if="this.$route.path !== '/firstHome'">
<div style="height: 40px;background: #fff;" v-if=" $route.name == 'assessmentReport'?false:$route.path == '/firstHome'?false:true">
<p class="list">
<span class="menuTitle goTitle" @click="go">{{sidebar.name}}</span>
<span v-for="(item,index) of sidebar.menu" :key="index" class="listVal" @click="jump(item.path, index)">
......
......@@ -30,11 +30,11 @@
label="技术建议"
align="center">
</el-table-column>
<el-table-column
<!-- <el-table-column
prop="fund"
label="金额(万元)"
align="center">
</el-table-column>
</el-table-column> -->
<el-table-column
align='center'
prop="support"
......
<!-- 输出报告页面 -->
<template>
<div class="reportAll" >
<el-scrollbar class="scrollbar" style="width:100%;">
<p class="bigTitle">{{sysName}}系统{{ this.type === 2 ? '适配' : '改造'}}报告</p>
<div class="reportContent" id="isFlag">
<!-- 声明 -->
<div class="declare">
<p>声明:</p>
<div>
<p>本评估报告中的价格预计均不包含国产化硬件采晌、国产化数据库、中间件、操作系统、工具软件的采购也不包含迁移费用,仅测算{{ this.type === 2 ? '适配' : '改造'}}过程中的代码工作,和相应评估价格。</p>
<p >本评估报告适用于C/S架构的应用系统,非Java体系下开发的应用系统仅作参考。</p>
<!-- <p v-if="picture" style="color:red">本评估报告不适用于C/S架构的应用系统,不适用于非Java体系下开发的应用系统。</p> -->
<p v-if="picture">不支持此类系统的评估 </p>
<div v-if="picture" class="firstBtn" @click="reback"><span>改造替换</span></div>
</div>
</div>
<!-- 声明 -->
<!-- 概要 -->
<div class="my-box" v-if="!picture">
<div class="one">
<div class="oneTitle"> <i></i>概要</div>
<div class="lineTop">
<span>导出PDF格式</span>
<span @click="reback">改造替换</span>
<span @click="goBackprev">关闭</span>
<!-- <div ><span @click="goBackprev">返回</span> -->
</div>
<div>
<p class="twoTitle"> <i></i> 基本信息</p>
<div class="snack">
<el-row :gutter="24" style="padding:15px 0" >
<el-col :span="8">
<div>系统名称:<span>{{this.sysName}}</span> </div>
</el-col>
<el-col :span="8">
<div>
语言:
<span>
{{ this.language === 1?
'java' : this.language === 2 ?
'js' : this.language === 3 ?
'python': this.language ===4 ?
'asp' :this.language ===6?
'go' : this.language ===7?
'html': this.language ===8?
'c#' : this.language ===10?
'unknow': '-'
}}
</span>
</div>
</el-col>
<el-col :span="8">
<div>适配预算:<span>{{sumAmount1}} <i style="color:#333;"></i></span> </div>
</el-col>
</el-row>
<el-row :gutter="24" style="padding-bottom: 15px;">
<el-col :span="8">
<div>
难度系数:<span>{{ this.difficulty === -1 ? this.difficulty = '-': this.difficulty}}</span>
</div>
</el-col>
<el-col :span="8">
<div>
架构:
<span >
<!--{{this.framework}}-->
{{ this.framework === 1 ?
'前后端分离' : this.framework ===2 ?
'混合' : this.framework == -1 ?
'-':''}}
</span>
</div>
</el-col>
<el-col :span="8">
<div>评估时间:<span>{{timeFilter(this.time)}}</span> </div>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div style="padding-left:35px;"> 建议:<span >
{{ this.type === 1 ?
'修改' : (this.type === 2 && this.language ===1 &&this.framework ===1) ? '修改': '重构' }}
</span>
</div>
</el-col>
<el-col :span="8"></el-col>
<el-col :span="8"></el-col>
</el-row>
</div>
</div>
<div class="firstTable">
<p class="twoTitle"> <i></i> 原系统规模</p>
<table style="width: 88%;text-align: center;cursor: default; ">
<tr>
<th></th>
<th>数量</th>
<th>备注</th>
</tr>
<tbody >
<tr>
<td width="20%">代码(行)</td>
<td width="20%" v-if="this.tableData.code">{{this.tableData.code.num}}</td>
<td width="20%" v-if="this.tableData.code">{{this.tableData.code.des}}</td>
</tr>
<tr>
<td width="20%">文件</td>
<td width="40%" v-if="this.tableData.file">{{this.tableData.file.num}}</td>
<td width="40%" v-if="this.tableData.file">{{this.tableData.file.des}}</td>
</tr>
<tr >
<td width="20%">模块</td>
<td width="40%" v-if="this.tableData.mode">
{{this.tableData.mode.num == -1 ? this.tableData.mode.num = '-' : this.tableData.mode.num }}
</td>
<td width="40%" v-if="this.tableData.mode">{{this.tableData.mode.des}}</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="six">
<div class="oneTitle">
<!--<div @click="openMenuFour">-->
<!--&lt;!&ndash;<img src="../assets/img/tab.png" alt="">&ndash;&gt;-->
<!--<i></i>-->
<!--<div>造价估算</div>-->
<!--</div>-->
<i></i>造价估算
<p class="bird">
由于不同地区、不同行业甚至不同功能项的软件开发人工月单价存在浮动,请在表格内调节该参数。调整后预算费用: {{this.sumAmount1}} 万元,
难度系数:<span v-if=" this.newCost.degreeOfDifficulty">{{ this.newCost.degreeOfDifficulty.calculation}}</span>
</p>
</div>
<!--<div class="line"><img :class="this.isShowFour !== true ? 'test1':'' " @click="openMenuFour" src="../assets/img/down.png" alt=""></div>-->
<div v-show="isShowFour">
<!--<p class="bird">由于不同地区、不同行业甚至不同功能项的软件开发人工月单价存在浮动,请在表格内调节该参数。</p>-->
<!--this.newCost.des-->
<div class="middle">
<table cellspacing="0" cellpadding="0" style="width: 88%;text-align: center;cursor: default; ">
<tr>
<th></th>
<th>计算值</th>
<th>操作</th>
<th>调整后</th>
</tr>
<tbody>
<tr class="form">
<td width="20%">人工单价(万元)</td>
<td width="20%" id="price" v-if="this.newCost.artificial">{{ this.newCost.artificial.calculation}}</td>
<td width="25%" id="count">
<el-input-number class="send" size="small" v-model="popp.basic" :precision="1" :step="0.1" :max="100"></el-input-number>
</td>
<td width="25%" v-text="sumAmount"></td>
</tr>
<tr class="form">
<td width="20%">工作量</td>
<td width="20%" v-if="this.newCost.workLoad">{{ this.newCost.workLoad.calculation}}</td>
<td width="25%">/</td>
<td width="25%" v-if="this.newCost.workLoad">{{ this.newCost.workLoad.calculation}} </td>
</tr>
<tr class="form">
<td width="20%">额外依赖服务申请(万元)</td>
<td width="20%" v-if="this.newCost.apply">{{this.newCost.apply.calculation}}</td>
<td width="25%"> <span style="cursor:pointer" :class="[{ isActive:isAgree === true}]" class="agree" @click="agree()"></span> 同意</td>
<td width="25%" v-if="this.newCost.apply" >
<span v-show="this.isAgree === true">
{{this.isAgree === true ? this.newCost.apply.calculation : '0'}}
</span>
</td>
</tr>
<tr class="form">
<td width="20%">预算费用(万元)</td>
<td width="20%" v-if="this.newCost.budgetaryCost">/</td>
<td width="25%">/</td>
<td width="25%" v-text="sumAmount1"> </td>
</tr>
</tbody>
</table>
</div>
</div>
<div style="height: 20px"></div>
</div>
<div class="seven">
<div class="oneTitle"> <i></i>评估建议</div>
<!-- 评估建议各项 -->
<div class="seven-title">
<span :class="{'active':isTurnOn == true}" @click="turnOn">关键技术及替换策略建议</span>
<span :class="{'active':isTurnOn1 == true}" @click="turnOn1">工作量评估</span>
<span :class="{'active':isTurnOn2 == true}" @click="turnOn2">额外依赖服务申请</span>
<span :class="{'active':isTurnOn3 == true}" @click="turnOn3">适配难度评估</span>
</div>
<div>
<!-- 关键技术及替换策略建议 -->
<div v-show="isTurnOn" class="two">
<p class="bird">{{this.firstDetial.des}}</p>
<!--<div class="oneTitle">-->
<!--<div @click="openMenu">-->
<!--<img src="../assets/img/tab.png" alt="">-->
<!--<div>关键技术及替换策略建议</div>-->
<!--</div>-->
<!--<p class="bird">{{this.firstDetial.des}}</p>-->
<!--</div>-->
<!--<div class="line"><img :class="this.isShow !== true ? 'test1':'' " @click="openMenu" src="../assets/img/down.png" alt=""></div>-->
<div class="" v-show="isShow">
<div class="middle middleOne " v-for="(item,index) in table1Data">
<div class="twoTitle">
<i></i> 关键技术:<span>{{item.technology}}</span>
<p class="replaceSuggest">
替换策略:
<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>-</span>
<!--{{ item1.technology === '国产化依赖(支持)' ?-->
<!--replaceSuggest= '忽略' : item1.technology=== '非国产化依赖(不支持)' ?-->
<!--replaceSuggest= '不支持':item1.technology === 'Vue(优化)' ?-->
<!--replaceSuggest= '修改' : '-'-->
<!--}}-->
</span>
</p>
<!--<div class="line " v-for="itemson in item.technologyContents" :key="itemson.id">-->
<!--<img :class="currenIndex == index && isTear !== true ? 'test1':'' " @click="tear(itemson,index)" src="../assets/img/down.png" alt="">-->
<!--</div>-->
</div>
<!--<div v-if="currenIndex == index && isTear">-->
<table cellspacing="0" cellpadding="0" style="width: 88%;text-align: center;cursor: default; ">
<tr>
<!--<th>本地程序开发</th>-->
<th>关键字</th>
<th>所在文件</th>
<th>位置</th>
<!--<th>替换策略</th>-->
</tr>
<tbody>
<tr v-for="(itemson,index) in item.technologyContents">
<!--<td width="15%">{{item.local}}</td>-->
<td width="20%">{{itemson.keyWord}}</td>
<td width="20%">{{itemson.file}}</td>
<td width="20%">{{itemson.position}}</td>
<!--<td width="20%">{{item.strategy}}</td>-->
</tr>
</tbody>
</table>
<!--</div>-->
</div>
</div>
</div>
<!--工作量评估-->
<div v-show="isTurnOn1" class="three">
<p class="bird">{{this.newWork.des}}</p>
<!--<div class="oneTitle">-->
<!--<div @click="openMenuOne">-->
<!--<img src="../assets/img/tab.png" alt="">-->
<!--<div >工作量评估</div>-->
<!--</div>-->
<!--<p class="bird">{{this.newWork.des}}</p>-->
<!--</div>-->
<!--<div class="line"><img :class="this.isShowOne !== true ? 'test1':'' " @click="openMenuOne" src="../assets/img/down.png" alt=""></div>-->
<div class="" v-show="isShowOne">
<div class="middle middleOne">
<div class="twoTitle"> <i></i> 基本依据:原开发费用、模块数、评估后各系统指标修正、迁移策略</div>
<!--<el-table :data="tableData" border style="width: 100%">-->
<!--<el-table-column-->
<!--align="center"-->
<!--prop="name"-->
<!--label="">-->
<!--</el-table-column>-->
<!--<el-table-column-->
<!--align="center"-->
<!--prop="amount"-->
<!--label="数量">-->
<!--</el-table-column>-->
<!--<el-table-column-->
<!--align="center"-->
<!--prop="des"-->
<!--label="备注">-->
<!--</el-table-column>-->
<!--</el-table>-->
<table cellspacing="0" cellpadding="0" style="width: 88%;text-align: center;cursor: default; ">
<tr>
<th></th>
<th>开发量</th>
<th>修正系数</th>
</tr>
<tbody>
<!--<tr v-for="(item, index) in table3Data">-->
<!--<td width="20%">{{item.name}}</td>-->
<!--<td width="40%">{{item.amount}}</td>-->
<!--<td width="40%">{{item.tec}}</td>-->
<!--</tr>-->
<tr>
<td width="20%">开发</td>
<td width="20%" v-if="this.newWork.development">{{this.newWork.development.developmentVolume}}</td>
<td width="20%" v-if="this.newWork.development">{{this.newWork.development.correctionFactor}}</td>
</tr>
<tr>
<td width="20%">测试</td>
<td width="40%" v-if="this.newWork.test">{{this.newWork.test.developmentVolume}}</td>
<td width="40%" v-if="this.newWork.test">{{this.newWork.test.correctionFactor}}</td>
</tr>
<tr >
<td width="20%">部署</td>
<td width="40%" v-if="this.newWork.deploy">{{this.newWork.deploy.developmentVolume}}</td>
<td width="40%" v-if="this.newWork.deploy">{{this.newWork.deploy.correctionFactor}}</td>
</tr>
<tr >
<td width="20%">合计</td>
<td width="40%" v-if="this.newWork.total">{{ this.newWork.total.developmentVolume}}</td>
<td width="40%" v-if="this.newWork.total">
{{ this.newWork.total.correctionFactor === -1 ?
this.newWork.total.correctionFactor = '-' : this.newWork.total.correctionFactor
}}
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!--额外依赖服务申请-->
<div v-show="isTurnOn2" class="four">
<p class="bird">额外依赖服务申请费用 <span></span> {{this.newApply.cost === -1 ? '无' : this.newApply.cost}}</p>
<!--<div class="oneTitle">-->
<!--<div @click="openMenuTwo">-->
<!--<img src="../assets/img/tab.png" alt="">-->
<!--<div>额外依赖服务申请</div>-->
<!--</div>-->
<!--<p class="bird">额外依赖服务申请费用 <span></span> {{this.newApply.cost === -1 ? '无' : this.newApply.cost}}</p>-->
<!--</div>-->
<!--<div class="line"><img :class="this.isShowTwo !== true ? 'test1':'' " @click="openMenuTwo" src="../assets/img/down.png" alt=""></div>-->
<div class="elseDepend" v-show="isShowTwo">
<p>
费用:
<span>{{this.newApply.cost === -1 ? '-' : this.newApply.cost}} <i style="color:#333;">万元</i></span>
</p>
<p>
原因:
<span>{{this.newApply.reason === '-1' ? '-' : this.newApply.reason}}</span>
</p>
<div style="height: 20px;"></div>
</div>
</div>
<!--适配难度评估-->
<div v-show="isTurnOn3" class="five">
<p class="bird">{{this.newDifficuty.des}}</p>
<!--<div class="oneTitle">-->
<!--<div @click="openMenuThree">-->
<!--<img src="../assets/img/tab.png" alt="">-->
<!--<div>适配难度评估</div>-->
<!--</div>-->
<!--<p class="bird">{{this.newDifficuty.des}}</p>-->
<!--</div>-->
<!--<div class="line"><img :class="this.isShowThree !== true ? 'test1':'' " @click="openMenuThree" src="../assets/img/down.png" alt=""></div>-->
<div v-show="isShowThree">
<!--<p class="bird">{{this.newDifficuty.des}}</p>-->
<div>
<div class="twoTitle"> <i></i> 系统架构部署难度 </div>
<div class="snack snackBook" >
<el-row :gutter="24" style="margin-bottom: 8px;">
<el-col :span="6">
<div>系统评估:<span v-if="this.newDifficuty.frameDifficulty">{{this.newDifficuty.frameDifficulty.systemEvaluation}}</span></div>
</el-col>
<el-col :span="6">
<div>用户额外信息:<span v-if="this.newDifficuty.frameDifficulty">{{this.newDifficuty.frameDifficulty.message}}</span> </div>
</el-col>
<el-col :span="6">
<div>综合难度:<span v-if="this.newDifficuty.frameDifficulty">{{this.newDifficuty.frameDifficulty.difficulty}}</span> </div>
</el-col>
<el-col :span="6">
<div>工作量:<span v-if="this.newDifficuty.frameDifficulty">{{this.newDifficuty.frameDifficulty.load}}</span> </div>
</el-col>
</el-row>
<el-row :gutter="24" style="margin-bottom: 8px;">
<el-col :span="6">
<div class="detailMany">
系统评估详情:
<p v-if="this.newDifficuty.frameDifficulty">
详情:
<span>{{this.newDifficuty.frameDifficulty.details}} </span>
</p>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="detailMany">
用户额外信息详情:
<el-row>
<el-col :span="8">
<p v-if="this.newDifficuty.frameDifficulty">
分布式:
<span>{{this.newDifficuty.frameDifficulty.distributed}}</span>
</p>
</el-col>
<el-col :span="8">
<p v-if="this.newDifficuty.frameDifficulty">
负载均衡:
<span>{{this.newDifficuty.frameDifficulty.loadBalance}}</span>
</p>
</el-col>
<el-col :span="8">
<p v-if="this.newDifficuty.frameDifficulty">
容灾:
<span>{{this.newDifficuty.frameDifficulty.disaster}}</span>
</p>
</el-col>
</el-row>
</div>
</el-col>
</el-row>
</div>
</div>
<div>
<div class="twoTitle"> <i></i> 浏览器难度 </div>
<div class="snack snackBook">
<el-row :gutter="24" style="margin-bottom: 8px;" v-if="this.newDifficuty.browserDifficulty">
<el-col :span="6">
<div>系统评估:<span>{{this.newDifficuty.browserDifficulty.systemEvaluation}}</span></div>
</el-col>
<el-col :span="6">
<div>用户额外信息:<span>{{this.newDifficuty.browserDifficulty.message}}</span> </div>
</el-col>
<el-col :span="6">
<div>综合难度:<span>{{this.newDifficuty.browserDifficulty.difficulty}}</span> </div>
</el-col>
<el-col :span="6">
<div>工作量:<span>{{this.newDifficuty.browserDifficulty.load}}</span> </div>
</el-col>
</el-row>
<el-row :gutter="24" style="margin-bottom: 8px;" v-if="this.newDifficuty.browserDifficulty">
<el-col :span="24">
<div class="detailMany">
系统评估详情:
<el-row>
<el-col :span="8">
<p>样式调整数量: <span >{{this.newDifficuty.browserDifficulty.style}}</span> </p>
</el-col>
<el-col :span="8">
<p>API替换数量:<span >{{this.newDifficuty.browserDifficulty.api}}</span> </p>
</el-col>
<el-col :span="8">
<p>插件替换数量:
<span >
{{ this.newDifficuty.browserDifficulty.plugInUnit === -1 ?
this.newDifficuty.browserDifficulty.plugInUnit = '-' : this.newDifficuty.browserDifficulty.plugInUnit}}
</span>
</p>
</el-col>
</el-row>
</div>
</el-col>
</el-row>
<el-row :gutter="24" style="margin-bottom: 8px;">
<el-col :span="6">
<div class="detailMany">
用户额外信息详情:
<p v-if="this.newDifficuty.browserDifficulty">
用户额外需求:
<span>
{{
this.newDifficuty.browserDifficulty.otherDemand === -1 ?
this.newDifficuty.browserDifficulty.otherDemand = '-' : this.newDifficuty.browserDifficulty.otherDemand
}}
</span>
</p>
</div>
</el-col>
</el-row>
</div>
</div>
<div>
<div class="twoTitle"> <i></i> 中间件(产品依赖) </div>
<div class="snack snackBook">
<el-row :gutter="24" style="margin-bottom: 8px;" v-if="this.newDifficuty.browserDifficulty">
<el-col :span="6">
<div>系统评估:<span>{{this.newDifficuty.middlewareDifficulty.systemEvaluation}}</span></div>
</el-col>
<el-col :span="6">
<div>用户额外信息:<span>{{this.newDifficuty.middlewareDifficulty.message}}</span> </div>
</el-col>
<el-col :span="6">
<div>综合难度:<span>{{this.newDifficuty.middlewareDifficulty.difficulty}}</span> </div>
</el-col>
<el-col :span="6">
<div>工作量:<span>{{this.newDifficuty.middlewareDifficulty.load}}</span> </div>
</el-col>
</el-row>
<el-row :gutter="24" style="margin-bottom: 8px;" v-if="this.newDifficuty.middlewareDifficulty">
<el-col :span="24">
<div class="detailMany">
系统评估详情:
<el-row>
<el-col :span="12">
<p>
依赖数量:
<span v-if="this.newDifficuty.middlewareDifficulty">
<a>{{this.newDifficuty.middlewareDifficulty.number}}</a>
</span>
</p>
</el-col>
<!--<el-col :span="12">-->
<!--<p v-if="this.newDifficuty.middlewareDifficulty">-->
<!--数量:-->
<!--<span v-if="this.newDifficuty.middlewareDifficulty.dependOnNum.length >0">-->
<!--<span>{{this.newDifficuty.middlewareDifficulty.dependOnNum[0].num}}</span>-->
<!--</span>-->
<!---->
<!--</p>-->
<!--</el-col>-->
</el-row>
</div>
</el-col>
<!--<el-col :span="6">-->
<!--<div>用户额外信息详情:<span v-if="this.newDifficuty.browserDifficulty">{{this.newDifficuty.browserDifficulty.demand}}</span></div>-->
<!--</el-col>-->
</el-row>
<el-row :gutter="24" style="margin-bottom: 8px;" >
<el-col :span="24">
<div class="detailMany" v-if="this.newDifficuty.middlewareDifficulty">
用户额外信息详情:
<el-row>
<el-col :span="6">
<p>
Web集群:
<span>{{this.newDifficuty.middlewareDifficulty.web}}</span>
</p>
</el-col>
<el-col :span="6">
<p>
Jndi集群:
<span>{{this.newDifficuty.middlewareDifficulty.jndi}}</span>
</p>
</el-col>
<el-col :span="6">
<p>
Jms集群:
<span>{{this.newDifficuty.middlewareDifficulty.jms}}</span>
</p>
</el-col>
<el-col :span="6">
<p>
消息路由:
<span>{{this.newDifficuty.middlewareDifficulty.route}}</span>
</p>
</el-col>
</el-row>
</div>
</el-col>
</el-row>
</div>
</div>
<div>
<div class="twoTitle"> <i></i> 数据库 </div>
<!--<div class="elseDepend">-->
<!--<p>综合难度:<span>1.098</span> </p>-->
<!--<p>详情: <span>安全</span> </p>-->
<!--</div>-->
<div class="snack snackBook">
<el-row :gutter="24" style="margin-bottom: 8px;" v-if="this.newDifficuty.databaseDifficulty">
<!--<el-col :span="6">-->
<!--<div style="width: 100%"></div>-->
<!--&lt;!&ndash;<div>系统评估:<span>{{this.newDifficuty.databaseDifficulty.systemEvaluation}}</span></div>&ndash;&gt;-->
<!--</el-col>-->
<!--<el-col :span="6">-->
<!--<div style="width: 100%"></div>-->
<!--&lt;!&ndash;<div>用户额外信息:<span>{{this.newDifficuty.databaseDifficulty.message}}</span> </div>&ndash;&gt;-->
<!--</el-col>-->
<el-col :span="6">
<div>综合难度:<span>{{this.newDifficuty.databaseDifficulty.difficulty}}</span> </div>
</el-col>
<el-col :span="6">
<div>工作量:<span>{{this.newDifficuty.databaseDifficulty.load}}</span> </div>
</el-col>
</el-row>
<el-row :gutter="24" style="margin-bottom: 8px;" v-if="this.newDifficuty.databaseDifficulty">
<el-col :span="24">
<div class="detailMany">
详情:
<!--<span v-if="this.newDifficuty.databaseDifficulty">{{this.newDifficuty.databaseDifficulty.dependOnNum[0].name}}</span>-->
<el-row>
<el-col :span="5">
<p v-if="this.newDifficuty.databaseDifficulty">
容灭:
<span>{{this.newDifficuty.databaseDifficulty.disasterTolerance}}</span>
</p>
</el-col>
<el-col :span="5">
<p v-if="this.newDifficuty.databaseDifficulty">
安全:
<span>{{this.newDifficuty.databaseDifficulty.safe}}</span>
</p>
</el-col>
<el-col :span="6">
<p v-if="this.newDifficuty.databaseDifficulty">
读写分离:
<span>{{this.newDifficuty.databaseDifficulty.separate}}</span>
</p>
</el-col>
<el-col :span="6">
<p v-if="this.newDifficuty.databaseDifficulty">
更高性能:
<span>{{this.newDifficuty.databaseDifficulty.performance}}</span>
</p>
</el-col>
<el-col :span="6" >
<p v-if="this.newDifficuty.databaseDifficulty">
<p style="margin-top:8px;float:left;">其他内容:</p>
<span >
{{this.newDifficuty.databaseDifficulty.otherContent}}
</span>
</p>
</el-col>
</el-row>
</div>
</el-col>
</el-row>
</div>
</div>
<div>
<div class="twoTitle"> <i></i> 本地程序 </div>
<!--<div class="elseDepend">-->
<!--<p>综合难度:<span>1.098</span> </p>-->
<!--<p>JNI: <span>100</span> </p>-->
<!--</div>-->
<div class="snack snackBook">
<el-row :gutter="24" style="margin-bottom: 8px;" v-if="this.newDifficuty.programDifficulty">
<!--<el-col :span="6">-->
<!--&lt;!&ndash;<div>系统评估:<span>{{this.newDifficuty.programDifficulty.systemEvaluation}}</span></div>&ndash;&gt;-->
<!--</el-col>-->
<!--<el-col :span="6">-->
<!--&lt;!&ndash;<div>用户额外信息:<span>{{this.newDifficuty.programDifficulty.message}}</span> </div>&ndash;&gt;-->
<!--</el-col>-->
<el-col :span="6">
<div>综合难度:<span>{{this.newDifficuty.programDifficulty.difficulty}}</span> </div>
</el-col>
<el-col :span="6">
<div>工作量:<span>{{this.newDifficuty.programDifficulty.load}}</span> </div>
</el-col>
</el-row>
<el-row :gutter="24" style="margin-bottom: 8px;" v-if="this.newDifficuty.programDifficulty">
<el-col :span="6">
<div class="detailMany">
详情:
<p v-if="this.newDifficuty.programDifficulty">
<!--<span v-if="newDifficuty.programDifficulty.dependOnNum.length>0">-->
<!--{{this.newDifficuty.programDifficulty.dependOnNum[0].name}}-->
<!--</span>-->
本地程序开发数量:
<span style="width: 18%" v-if="newDifficuty.programDifficulty.dependOnNum.length>0">
<a>{{this.newDifficuty.programDifficulty.dependOnNum[0].num}}</a>
</span>
</p>
</div>
</el-col>
</el-row>
</div>
</div>
<!--<div style="height: 20px"></div>-->
<!--<div style="height: 20px"></div>-->
<!--<div style="height: 20px"></div>-->
<!--<div style="height: 20px"></div>-->
</div>
</div>
</div>
</div>
<div v-show="isShow ||isShowOne ||isShowTwo||isShowThree||isShowFour ||isShowFive" class="backTop" >
<span @click="backTop">回到顶部</span>
</div>
</div>
</div>
</el-scrollbar>
</div>
</template>
<script>
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';
export default {
name: 'reportAssess',
//import引入的组件需要注入到对象中才能使用
components: {
},
data() {
//这里存放数据
return {
orgName: '',
sysName: '',
time: '',
difficulty: '',
type: '',
budget: '',
// num: '',
firstDetial: '',
newWork: '', // 工作量
newApply: '',
newDifficuty: '',
newCost: '',
framework: '',
language: '',
tableData: [],
table1Data: [],
table2Data: [],
table3Data: [],
table4Data: [],
isShow: true,
isShowOne: true,
isShowTwo: true,
isShowThree: true,
isShowFour: true,
isShowFive: true,
isTear: true,
isTableShow: true, // 替换策略与建议 表格里的展开
isAgree: false, // 点击同意
popp: {
basic: '',
perf: 232,
should: '',
rat:'',
rate: '',
dif: '',
diff: '',
fund: '',
book: '',
},
wer: '',
currenIndex:'',
opper: '',
replaceSuggest:'',
picture: false, // 返回
agreeElse: '',
isFlag:false, // 回到顶部
isTurnOn: true, // 评估建议 切换tab
isTurnOn1: false, // 评估建议 切换tab
isTurnOn2: false, // 评估建议 切换tab
isTurnOn3: false, // 评估建议 切换tab
};
},
//监听属性 类似于data概念
// computed: {},
computed: {
sumAmount(){
if(this.newCost == ''){
return 0
}else{
return Number(this.newCost.artificial.calculation) + Number(this.popp.basic )
}
},
sumAmount1(){
if(this.newCost == ''){
return 0
}else if(this.isAgree){
return ( ( (Number(this.newCost.artificial.calculation) + Number(this.popp.basic )) * Number(this.newCost.workLoad.calculation) ) + Number(this.newCost.apply.calculation) ).toFixed(3)
} else {
return ( (Number(this.newCost.artificial.calculation) + Number(this.popp.basic )) * Number(this.newCost.workLoad.calculation) ).toFixed(3)
}
},
},
//监控data中的数据变化
watch: {
// popp: {
// handler (val, oldVal) {
// val.should = parseInt(val.basic) + parseInt(val.perf)
// val.rate = parseInt(val.rat)
// val.diff = Number(val.dif).toFixed(1)
// val.book = parseInt(val.should) * parseInt(val.rate) * Number(val.diff)
// },
// deep: true
// }
},
//方法集合
methods: {
goBackprev(){
this.$router.push({name:'evaluationReport', query:{
username: this.$route.query.username,
id: this.$route.query.id,
authority: this.$route.query.authority,
}})
// if(this.$route.query.authority == 0){
// console.log("执行")
// this.$router.push({name:'AssessmentUser', query: {
// username: this.$route.query.username,
// id: this.$route.query.id,
// authority: this.$route.query.authority,
// }})
// }else if (this.$route.query.authority == 1){
// console.log("执行")
// this.$router.push({name:'Assessment', query: {
// username: this.$route.query.username,
// id: this.$route.query.id,
// authority: this.$route.query.authority,
// }})
// }
},
openMenu() { //展开
this.isShow = !this.isShow;
},
// tear() {
// this.val = !this.val;
// this.isTear = !this.isTear
//
// },
tear(item,index) {
this.currenIndex = index
this.val = !this.val;
this.isTear = !this.isTear
},
tableShow() {
this.isTableShow = !this.isTableShow;
},
openMenuOne() { //展开
this.isShowOne = !this.isShowOne;
},
openMenuTwo() { //展开
this.isShowTwo = !this.isShowTwo;
},
openMenuThree() { //展开
this.isShowThree = !this.isShowThree;
},
openMenuFour() { //展开
this.isShowFour = !this.isShowFour;
},
// 20200318
turnOn() {
this.isTurnOn = true;
this.isTurnOn1 = false;
this.isTurnOn2 = false;
this.isTurnOn3 = false;
},
turnOn1() {
this.isTurnOn = false;
this.isTurnOn1 = true;
this.isTurnOn2 = false;
this.isTurnOn3 = false;
},
turnOn2() {
this.isTurnOn = false;
this.isTurnOn1 = false;
this.isTurnOn2 = true;
this.isTurnOn3 = false;
},
turnOn3() {
this.isTurnOn = false;
this.isTurnOn1 = false;
this.isTurnOn2 = false;
this.isTurnOn3 = true;
},
// 20200318
// let username = this.$store.state.username;
getTechnology(name) {
console.log(name)
this.$server.getTechnology(name).then(res=>{
console.log('数据请求结果',res.data)
if(res.data == 500) {
this.picture = true
// this.orgName = res.data.orgName
// this.sysName = res.data.sysName
// this.time = res.data.time
// this.difficulty = res.data.difficulty
// this.type = res.data.type
}else {
this.orgName = res.data.orgName
this.sysName = res.data.sysName
this.time = res.data.time
this.difficulty = res.data.difficulty
this.type = res.data.type
// this.type === 1 ? this.type = '改造' : this.type = '适配'
this.framework = res.data.framework
this.language = res.data.language
this.budget = res.data.budget
// firstTable
this.tableData = res.data.sysScale
console.log( 'pic', res.data.code)
console.log( '3333',this.tableData)
console.log( 'type',this.type)
//technologyReports 技术和替换策略建议
// 循环表格
this.table1Data = res.data.technologyList.technologyReports
console.log('9090',this.tableData)
console.log(this.table1Data,'替换策略')
let firstDetial;
this.firstDetial = res.data.technologyList
// 技术和替换策略建议
//
this.opper = res.data.technologyList.technologyReports
console.log('oooo',this.opper)
// 工作量评估
// let newWork;
this.newWork = res.data.workload;
// console.log('wordLoad2222',this.newWork)
// 额外费用申请
this.newApply = res.data.apply
// console.log('额外费用申请',this.newApply)
// 适配难度评估
// 系统部署架构难度
this.newDifficuty = res.data.difficultyAssessment
// 中间件
//系统部署架构难度
this.newDifficuty.frameDifficulty.details === 1 ?
this.newDifficuty.frameDifficulty.details = '混合' : this.newDifficuty.frameDifficulty.details ===2 ?
this.newDifficuty.frameDifficulty.details = '前后端分离' : this.newDifficuty.frameDifficulty.details == -1 ?
this.newDifficuty.frameDifficulty.details = '-':''
this.newDifficuty.frameDifficulty.distributed === 1 ?
this.newDifficuty.frameDifficulty.distributed = '是' : this.newDifficuty.frameDifficulty.distributed === 2 ?
this.newDifficuty.frameDifficulty.distributed = '否' : this.newDifficuty.frameDifficulty.distributed == -1 ?
this.newDifficuty.frameDifficulty.distributed = '-' :''
this.newDifficuty.frameDifficulty.loadBalance === 1 ?
this.newDifficuty.frameDifficulty.loadBalance = '是' : this.newDifficuty.frameDifficulty.loadBalance === 2 ?
this.newDifficuty.frameDifficulty.loadBalance = '否' :this.newDifficuty.frameDifficulty.loadBalance == -1 ?
this.newDifficuty.frameDifficulty.loadBalance = '-' : ''
this.newDifficuty.frameDifficulty.disaster === 1 ?
this.newDifficuty.frameDifficulty.disaster = '分布式' : this.newDifficuty.frameDifficulty.disaster === 2 ?
this.newDifficuty.frameDifficulty.disaster = '否' : this.newDifficuty.frameDifficulty.disaster == -1 ?
this.newDifficuty.frameDifficulty.disaster = '-' : ''
//系统部署架构难度
//中间件难度
this.newDifficuty.middlewareDifficulty.web === 1 ?
this.newDifficuty.middlewareDifficulty.web = '是' : this.newDifficuty.middlewareDifficulty.web === 2 ?
this.newDifficuty.middlewareDifficulty.web = '否' : this.newDifficuty.middlewareDifficulty.web == -1 ?
this.newDifficuty.middlewareDifficulty.web = '-' : ''
this.newDifficuty.middlewareDifficulty.jndi === 1 ?
this.newDifficuty.middlewareDifficulty.jndi = '是' : this.newDifficuty.middlewareDifficulty.jndi === 2 ?
this.newDifficuty.middlewareDifficulty.jndi = '否' : this.newDifficuty.middlewareDifficulty.jndi == -1 ?
this.newDifficuty.middlewareDifficulty.jndi = '-' : ''
this.newDifficuty.middlewareDifficulty.jms === 1 ?
this.newDifficuty.middlewareDifficulty.jms = '是' : this.newDifficuty.middlewareDifficulty.jms === 2 ?
this.newDifficuty.middlewareDifficulty.jms = '否' : this.newDifficuty.middlewareDifficulty.jms == -1 ?
this.newDifficuty.middlewareDifficulty.jms = '-' : ''
this.newDifficuty.middlewareDifficulty.route === 1 ?
this.newDifficuty.middlewareDifficulty.route = '是' : this.newDifficuty.middlewareDifficulty.route === 2 ?
this.newDifficuty.middlewareDifficulty.route = '否' : this.newDifficuty.middlewareDifficulty.route == -1 ?
this.newDifficuty.middlewareDifficulty.route = '-' : ''
//中间件难度
this.newDifficuty.databaseDifficulty.disasterTolerance === 1 ?
this.newDifficuty.databaseDifficulty.disasterTolerance = '否' : this.newDifficuty.databaseDifficulty.disasterTolerance === 2 ?
this.newDifficuty.databaseDifficulty.disasterTolerance = '主备' : this.newDifficuty.databaseDifficulty.disasterTolerance === 3 ?
this.newDifficuty.databaseDifficulty.disasterTolerance = '分布式' : this.newDifficuty.databaseDifficulty.disasterTolerance === -1 ?
this.newDifficuty.databaseDifficulty.disasterTolerance = '-' : ''
//数据库难度
this.newDifficuty.databaseDifficulty.safe ===1 ?
this.newDifficuty.databaseDifficulty.safe = '是' : this.newDifficuty.databaseDifficulty.safe === 2 ?
this.newDifficuty.databaseDifficulty.safe = '否' : this.newDifficuty.databaseDifficulty.safe == -1 ?
this.newDifficuty.databaseDifficulty.safe = '-' : ''
this.newDifficuty.databaseDifficulty.separate ===1 ?
this.newDifficuty.databaseDifficulty.separate = '是' : this.newDifficuty.databaseDifficulty.separate === 2 ?
this.newDifficuty.databaseDifficulty.separate = '否' : this.newDifficuty.databaseDifficulty.separate == -1 ?
this.newDifficuty.databaseDifficulty.separate = '-' : ''
this.newDifficuty.databaseDifficulty.performance ===1 ?
this.newDifficuty.databaseDifficulty.performance = '是' : this.newDifficuty.databaseDifficulty.performance === 2 ?
this.newDifficuty.databaseDifficulty.performance = '不' : this.newDifficuty.databaseDifficulty.performance == -1 ?
this.newDifficuty.databaseDifficulty.performance = '-' : ''
//数据库难度
// console.log('适配难度评估',this.newDifficuty)
// 系统部署架构难度
// 浏览器难度难度
// 浏览器难度难度
// 适配难度评估
// 造价估算 manufacturingCost
this.newCost = res.data.manufacturingCost
console.log('造价估算',this.newCost)
// 造价估算
}
})
},
agree(){
console.log(1)
this.isAgree = !this.isAgree
},
reback() { // 改造替换
this.$router.push({name:'assessmentReport', query: {
username: this.$route.query.username,
id: this.$route.query.id,
authority: this.$route.query.authority,
}})
},
// close() { // 关闭
// console.log(1)
// this.$router.go(-1,{query: {username: this.$route.query.username}});
// console.log(this.$route.query.username)
// },
goLast(){ // 返回上一页
this.$router.go(-1,{query: {username: this.$route.query.username}});
console.log(this.$route.query.username)
},
//
backTop() {
console.log(11)
document.getElementById("isFlag").scrollIntoView({
behavior: "smooth", // 平滑过渡
block: "start" // 上边框与视窗顶部平齐。默认值
});
},
timeFilter(timestamp) { // 时间戳转为yyyy-mm-dd hh:mm:ss
// console.log(timestamp)
if (timestamp !== undefined && timestamp !== null) {
let date = new Date(timestamp); // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
let Y = date.getFullYear() + '-';
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
let D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' ';
let h = (date.getHours() < 10 ? '0' + (date.getHours()) : date.getHours()) + ':';
let m = (date.getMinutes() < 10 ? '0' + (date.getMinutes()) : date.getMinutes()) + ':';
let s = (date.getSeconds() < 10 ? '0' + (date.getSeconds()) : date.getSeconds());
return Y + M + D + h + m + s;
} else {
return ''
}
},
},
//生命周期 - 创建完成(可以访问当前this实例)
created() {
// this.getTechnology()
},
//生命周期 - 挂载完成(可以访问DOM元素)
mounted() {
console.log('传参的name',this.$route.query.username)
console.log('传参的id',this.$route.query.id)
var obj = {
name:this.$route.query.username,
id:this.$route.query.id
}
this.getTechnology(obj)
// this.getTechnology(this.$store.state.username)
// this.reportDetail = this.$store.reportDetail;
// console.log( '3333', this.$store.state.username)
// console.log( '444', this.$route.query)
window.addEventListener('scroll', this.showBtn)
},
destroyed () { // 销毁监听事件,当我们离开这个页面的时候,便会调用这个函数
window.removeEventListener('scroll', this.showBtn)
},
beforeCreate() {}, //生命周期 - 创建之前
beforeMount() {}, //生命周期 - 挂载之前
beforeUpdate() {}, //生命周期 - 更新之前
updated() {}, //生命周期 - 更新之后
beforeDestroy() {}, //生命周期 - 销毁之前
destroyed() {}, //生命周期 - 销毁完成
activated() {} //如果页面有keep-alive缓存功能,这个函数会触发
}
</script>
<style scoped>
.reportAll {
width: 100%;
height: 100%;
/*background: #f9f9f9;*/ /*20200318*/
background: #ebf0f8;/*20200318*/
padding: 0 45px 0 45px;
color: black;
margin-top: 30px;
}
.scrollbar {
height: 97vh;
}
.bigTitle {
text-align: center;
/*font-size: 32px;*/
/*color: #333;*/
/*font-weight: bold;*/
/*20200318*/
font-size: 24px;
padding-top: 30px;
margin-top: 10px;
color: #233b6e;
background: #fff;
}
.reportContent {
background: #fff;
/*margin-top: 18px;*/ /*202001318/
/*padding: 0 20px;*/
padding: 0 45px;
padding-bottom: 70px;
}
/*声明*/
.declare {
position: relative;
padding-bottom: 40px;
/*20200318*/
height: 120px;
}
.declare>p {
/*font-size: 18px;*/
/*color: #666;*/
/*padding-top: 20px;*/
/*font-size: 22px;*/ /*20200318*/
text-align: left;
font-weight: bold;
padding-top: 35px;
padding-left: 15px;
/*20200318*/
color: #333;
font-size: 18px;
}
.declare div {
position: absolute;
text-align: left;
left: 107px;
top: 36px;
width: 87%;
}
.declare div p {
padding-bottom: 10px;
/*font-size: 18px;*/ /*20200318*/
/*20200318*/
font-size: 16px;
color: #666;
/*20200318*/
}
/*声明*/
/*概要*/
.one {
}
.oneTitle {
/*font-size: 22px;*/
text-align: left;
/*font-weight: bold;*/
position: relative;
/*margin-top: 80px;*/
/*20200318*/
background-color: #ecf1fc;
height: 40px;
margin-top: 40px;
width: 100%;
line-height: 40px;
font-weight: bold;
font-size: 20px
}
.oneTitle>i {
/*display: inline-block;*/
/*width: 6px;*/
/*height: 20px;*/
/*background: #41ba87;*/
/*!*margin-right: 8px;*!*/
/*margin: 7px 8px -3px 3px;*/
/*20200318*/
display: block;
float: left;
background-color: #4877e6;
height: 40px;
width: 4px;
margin-right: 10px;
}
.line {
/*height: 2px;*/
/*background: rgba(65,186,135,.3);*/
/*margin: 10px 10px;*/
position: relative;
}
.firstBtn {
cursor: pointer;
position: relative;
text-align: center;
}
.firstBtn>span {
display: inline-block;
width: 112px;
height:30px;
line-height: 30px;
/*background: rgba(65,186,135,.3);*/
background: #41ba87;
position: absolute;
right: 0;
top: 20px;
color: #fff;
text-align: center;
}
.firstBtn>span:hover {
background: #1E8255;
}
.lineTop {
/*20200318*/
/*height: 2px;*/
/*background: rgba(65,186,135,.3);*/
/*20200318*/
margin: 10px 10px;
position: relative;
}
.lineTop>span {
text-align: center;
display: inline-block;
width: 100px;
/*height:30px;*/ /*20200318*/
/*line-height: 30px;*/ /*20200318*/
/*background: rgba(65,186,135,.3);*/
/*background: #41ba87;*/ /*20200318*/
position: absolute;
right: 0;
/*top: -35px;*/ /*20200318*/
color: #fff;
/*20200318*/
border-right: 5px;
background: #4877e6;;
height:34px;
line-height: 34px;
top: -100px;
/*20200318*/
border-radius: 5px;
}
.lineTop>span:hover {
/*background: #1E8255; */ /*20200318*/
/*20200318*/
background: #1c45a4;
}
/*20200309*/
.lineTop>span:first-child {
background: #cccccc;
color: #fff;
}
.lineTop>span:first-child {
right: 290px;
}
.lineTop>span:nth-child(2) {
cursor: pointer;
right: 145px
}
/* .lineTop>span:first-child {
right: 145px;
} */
.lineTop>span:last-child {
cursor: pointer;
}
/*20200309*/
.line>img {
position: absolute;
right: 0;
/*top: -20px;*/ /*20203013*/
/*20203013*/
top: -80px;
cursor: pointer;
}
.snack {
text-align: left;
padding-left: 70px;
font-size: 18px;
}
.snack div {
color: #666;
}
.snack div span {
color: #333;
display: inline-block;
width: 200px;
height: 36px;
background: #f5f8fd;
border: 1px solid #d5e3ff;
border-radius: 2px;
line-height: 36px;
padding: 0 12px
}
.snack div span i {
color: #41ba87;
float: right;
}
/*20200318*/
.snackBook div span {
width: 40%;
}
/*20200318*/
/*原系统声明*/
.twoTitle {
/*font-size: 22px;*/
/*text-align: left;*/
/*padding-left: 20px;*/
/*color: #333;*/
position: relative;
/*font-size: 20px;*/
/*text-align: left;*/
/*padding-left: 20px;*/
/*color: #333;*/
/*padding-bottom: 20px;*/
/*padding-top: 30px;*/
/*font-weight: bold;*/
/*!*width: 80%;*!*/
/*!*20200308*!*/
/*width: 92%;*/
/*20200318*/
font-size: 20px;
margin-top: 20px;
color: #333;
height: 40px;
width: 100%;
text-align: left;
line-height: 40px;
text-indent: 10px;
font-weight: bold;
}
.twoTitle i {
/*display: inline-block;*/
/*width: 17px;*/
/*height: 17px;*/
/*border-radius: 50%;*/
/*background: #41ba87;*/
/*margin-right: 8px;*/
/*20200318*/
width: 4px;
height: 20px;
float: left;
display: block;
/* border-radius: 20px; */
background-color: #4877e6;
margin-top: 10px;
margin-left: 25px;
/*20200318*/
}
.twoTitle span {
font-size: 18px;
font-weight: 500;
}
.firstTable table {
/*border-collapse:separate;*/
/*border-spacing:2px;*/
margin: 0 auto;
/*border-collapse: collapse;*/
/*20200318*/
border-collapse: collapse;
/*20200318*/
}
.middle table {
margin: 0 auto;
}
.middle {
margin-top: 66px;
}
table {
border-collapse: collapse;
}
table tr {
height: 44px;
/*20200318*/
border: 1px solid #d5e3ff;
}
/*20200318*/
table tbody tr:nth-child(odd){
background: #f5f8fd;
}
table tbody tr:nth-child(even){
background: #fff;
}
/*20200318*/
/*原系统声明*/
/*概要*/
/*20200313*/
.oneTitle>div {
position: absolute;
top: 5px;
left: 1px;
cursor: pointer;
}
/*20200313*/
/*关键技术及替换策略建议*/
.oneTitle div div {
position: absolute;
top: 5px;
left: 25px;
}
.oneTitle p {
font-size: 16px;
color: #666;
padding-left: 22px;
/*padding-top: 16px;*/ /*20200313*/
/*20200313*/
/*padding-top: 60px;*/ /*20200318*/
/*20200318*/
padding-top: 13px;
}
.bird {
font-size: 16px;
color: #666;
padding-left: 22px;
padding-top: 16px;
text-align: left;
font-weight: 500;
/*width: 88%; !*20200308*!*/
width: 93%; /*20200309*/
}
.bird span {
display: inline-block;
width: 6px;
}
.replaceSuggest {
/*float: right;*/
/*20200308*/
position: absolute;
/*top: 30px;*/ /*20200318*/
left: 70%;
/*20200318*/
top: 2px;
}
.test1 {
transform: rotate(180deg)
}
/*关键技术及替换策略建议*/
/*额外依赖服务申请*/
.elseDepend {
text-align: left;
padding-left: 60px;
margin-top: 30px;
}
.elseDepend p {
color: #666;
font-size: 18px;
}
.elseDepend p:first-child {
padding-bottom: 10px;
}
.elseDepend p span {
color: #333;
}
.elseDepend p span i {
color: #41ba87;
float: right;
}
/*20200318*/
.elseDepend p:first-child span {
width: 20%;
}
.elseDepend p span {
color: #333;
display: inline-block;
width: 60%;
height: 36px;
background: #f5f8fd;
border: 1px solid #d5e3ff;
border-radius: 2px;
line-height: 36px;
padding: 0 12px /*20200318*/;
}
/*额外依赖服务申请*/
/*适配难度评估*/
.detailMany {
font-size: 20px;
font-weight: 600;
margin-top: 20px;
}
.detailMany p {
/*padding-left: 70px;*/ /*20200318*/
margin-top: 20px;
font-size: 18px;
color: #666;
font-weight: 500;
}
.detailMany p span {
color: #333;
}
/*适配难度评估*/
/*造价估算*/
.refresh {
text-align: right;
}
.refresh span {
display: inline-block;
width: 112px;
height:30px;
line-height: 30px;
background: #41ba87;
color: #fff;
text-align: center;
margin-right: 88px;
}
.refresh span:hover {
background: #1E8255;
}
.agree {
display: inline-block;
width: 14px;
height: 14px;
/*border: 1px solid #41ba87;*/ /*20200318*/
margin-bottom: -2px;
/*20200318*/
border-radius: 50%;
border: 1px solid #666;
}
.isActive {
/*background: #1E8255;*/ /*20200318*/
/*border: 1px solid red;*/
/*20200318*/
width: 14px;
height: 14px;
background: url("./img/radio_click.png") no-repeat;
background-size: 100% 100%;
}
.form .kuangNone{
border: none;
background: none;
text-align: center;
}
.form .send {
/*width: 100%;*/
/*height: 44px;*/
/*text-align: center;*/
color: black;
}
.form >>> .el-input__inner {
color: black !important ;
border: 1px solid #ccc;
}
/*造价估算*/
.cutLine {
right: -274px!important;
}
/*20200309*/
.backTop {
margin: 10px 10px;
position: relative;
}
.backTop>span {
cursor: pointer;
text-align: center;
display: inline-block;
width: 112px;
height:30px;
line-height: 30px;
/*background: rgba(65,186,135,.3);*/
background: #4877e6;
position: absolute;
right: 0;
top: 0;
color: #fff;
}
.backTop>span:hover {
background: #1c45a4;
}
/*20200309*/
/*20200308*/
.seven-title {
text-align: left;
margin-top: 30px;
border-bottom: 2px solid #c8d6f7;
}
.seven-title span {
/* width: 16%; */
display: inline-block;
width: 20%;
height: 40px;
line-height: 40px;
text-align: center;
cursor: pointer;
}
.active {
background-color: #4877e6;
color: #fff;
}
.middleOne {
margin-top: 0 ;
}
/*20200308*/
</style>
\ No newline at end of file
......@@ -229,6 +229,18 @@ export default new Router({
name: 'UnDependence',
component: resolve => require(['../components/UnDependenceDispose/UnDependence.vue'], resolve)
},
// 报告输入页面
{
path: '/assessmentReport',
name: 'assessmentReport',
component: resolve => require(['../components/assessment/homeDetailcopy.vue'], resolve)
},
// 报告输出页面
{
path: '/reportAssess',
name: 'reportAssess',
component: resolve => require(['../components/reportAssess/reportAssess.vue'], resolve)
},
]
}
......
......@@ -352,5 +352,40 @@ const server = {
data: data
})
},
goPg(data){
return axios(assessment + "/inspect/rapidAssessment",{
method:"post",
data:data
})
},
pgName(name){
return axios(assessment + "/evaluation/in/"+ name,{
method:"get",
})
},
getTechnology(data){
return axios(assessment + "/evaluation/eva?id="+data.id+'&name='+data.name,{
method:"get",
})
},
upZip(data){
return axios( assessment + "/inspect/uploads",{
method:"post",
data:data
})
},
upGit(data){
return axios(assessment +"/inspect/gitdownload",{
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
// application/x-www-form-urlencode
method:"post",
data:qs.stringify(data)
})
},
}
export default server;
import Vue from 'vue'
import { Row, Col, Carousel, CarouselItem, Scrollbar, Input, Button, Table, TableColumn, Pagination, Dialog,
Message,Select, Option, Form, FormItem, Radio, RadioGroup, Upload, DatePicker,Checkbox,CheckboxGroup,MessageBox} from 'element-ui'
Message,Select, Option, Form, FormItem, Radio, RadioGroup, Upload, DatePicker,Checkbox,CheckboxGroup,MessageBox,Loading,InputNumber} from 'element-ui'
import './element-variables.scss'
Vue.use(Row);
Vue.use(InputNumber);
Vue.use(Col);
Vue.use(Carousel);
Vue.use(CarouselItem);
......@@ -27,5 +28,6 @@ Vue.use(RadioGroup);
Vue.use(Upload);
Vue.use(DatePicker);
Vue.use(Checkbox);
Vue.use(Loading);
Vue.use(CheckboxGroup);
Vue.prototype.$confirm = MessageBox.confirm;
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论