Commit f6a44d29 by liuyong

修改bug

1 parent 14e21fd0
......@@ -123,7 +123,7 @@ const setIcon = function (itemIcon, dicys, color) {
}
// const svg = '<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" style="left: 1px; top: 1px; width: 32px; height: 30px; display: block; position: relative; overflow: hidden; pointer-events: none;"><g style="pointer-events: none;"><g style="pointer-events: none;"></g><g style="pointer-events: none;"><g transform="translate(0.5,0.5)" style="visibility: visible; pointer-events: none;"><path d="M 2.48 27.98 L 28.99 1.48" fill="none" stroke="white" stroke-width="9.3" stroke-miterlimit="10" visibility="hidden" style="pointer-events: none;"></path><path d="M 2.48 27.98 L 28.99 1.48" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.3" stroke-miterlimit="10" stroke-dasharray="1.59 1.59" style="pointer-events: none;"></path></g></g><g style="pointer-events: none;"></g><g style="pointer-events: none;"></g></g></svg>';
const svg = '<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" style="left: 1px; top: 1px; width: 32px; height: 30px; display: block; position: relative; overflow: hidden; pointer-events: none;"><g style="pointer-events: none;"><g style="pointer-events: none;"></g><g style="pointer-events: none;"><g transform="translate(0.5,0.5)" style="visibility: visible; pointer-events: none;"><rect x="1" y="3" width="30" height="24" fill="none" stroke="white" visibility="hidden" stroke-width="9" style="pointer-events: none;"></rect><rect x="1" y="3" width="30" height="24" fill="none" stroke="none" style="pointer-events: none;"></rect></g><g style="pointer-events: none;"><g transform="scale(0.3)" style="pointer-events: none;"><foreignObject width="334%" height="334%" style="overflow: visible; text-align: left; pointer-events: none;"><div style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 50px; margin-left: 5px; pointer-events: none;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 76px; overflow: hidden; pointer-events: none;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;"><ul style="pointer-events: none;"><li style="pointer-events: none;">Value 1</li><li style="pointer-events: none;">Value 2</li><li style="pointer-events: none;">Value 3</li></ul></div></div></div></foreignObject></g></g></g><g style="pointer-events: none;"></g><g style="pointer-events: none;"></g></g></svg>';
const svg = '<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" style="left: 1px; top: 1px; width: 32px; height: 30px; display: block; position: relative; overflow: hidden; pointer-events: none;"><g style="pointer-events: none;"><g style="pointer-events: none;"></g><g style="pointer-events: none;"><g transform="translate(0.5,0.5)" style="visibility: visible; pointer-events: none;"><rect x="1.6" y="7.8" width="28.8" height="14.4" fill="rgb(241, 243, 244)" stroke="rgb(0, 0, 0)" stroke-width="1.3" style="pointer-events: none;"></rect></g></g><g style="pointer-events: none;"></g><g style="pointer-events: none;"></g></g></svg>';
const encode_item_icon = window.btoa(svg);//base64编码
let svgImage= 'data:image/svg+xml;base64,'+ encode_item_icon;
......@@ -150,10 +150,10 @@ const setIcon = function (itemIcon, dicys, color) {
const leftCustomGraph = function(that) {//左侧自定义图形
var xml = that.createLibraryDataFromImages(images_);
// var xml = that.createLibraryDataFromImages(images_);
var file = new LocalLibrary(that, xml, '图库');
that.libraryLoaded(file, images_, null, false);
// var file = new LocalLibrary(that, xml, '图库');
// that.libraryLoaded(file, images_, null, false);
// const standardGraph = JSON.parse(localStorage.getItem('standardGraph'));
......
......@@ -53,7 +53,8 @@
<el-table-column prop="content" label="描述" align="center" width="200" :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="图标" align="center">
<template slot-scope="scope">
<img :src="scope.row.icon" alt="" :style="{ 'width': scope.row.width, 'height': scope.row.height }">
<!-- <img :src="scope.row.icon" alt="" style="width: 100px;height: 100px;"> -->
<div v-html="scope.row.icon" style="display: flex;justify-content: center;"></div>
</template>
</el-table-column>
<el-table-column prop="version" label="版本" align="center"></el-table-column>
......@@ -268,10 +269,10 @@
<div style="height: 400px;display: flex;align-items: center;">
<div style="width: 20%;height: 100%;border-left: 1px solid #ccc;border-top: 1px solid #ccc;border-bottom: 1px solid #ccc;overflow: auto;text-align: center;">
<div :style="{ 'cursor': 'pointer', 'padding': '4px', 'background-color': nameIndex2 == index ? 'rgb(13,134,127)' : '#fff', 'color': nameIndex2 == index ? '#fff' : '#000' }"
v-for="(item, index) in standardGraph"
:key="item.arciBelongId"
@click="showCurrentGraph2(item.arciBelongName, index)">
{{ item.arciBelongName }}
v-for="(item, index) in search_select1"
:key="item.belongId"
@click="showCurrentGraph2(item.name, index)">
{{ item.name }}
</div>
</div>
<div style="width: 80%;height: 100%;border: 1px solid #ccc;overflow: auto;text-align: left;">
......@@ -610,7 +611,7 @@ export default {
openGraphDialog() {//打开图形选择窗口
this.graph_dialog = true;
this.showCurrentGraph(this.search_select1[0].name, 0);
this.queryDrawioGraph2();
this.showCurrentGraph2(this.search_select1[0].name, 0)
},
tabsClick(data) {
console.log(data)
......@@ -626,8 +627,9 @@ export default {
}
this.graph_dialog = false;
if(this.tabType == '元模型图元') {
console.log(this.standardList[this.graphIndex2])
this.selectGraphSrc = this.standardList[this.graphIndex2].icon;
this.selectGraphShape = this.standardList[this.graphIndex2].iconName;
this.selectGraphShape = this.standardList[this.graphIndex2].graphName;
}else {
this.selectGraphSrc = 'data:image/svg+xml;base64,' + this.graphList[this.graphIndex].icon;
this.selectGraphShape = this.graphList[this.graphIndex].graphName;
......@@ -639,25 +641,21 @@ export default {
this.nameIndex = 0;
this.graph_dialog = false;
},
queryDrawioGraph2() {//查询画布左侧标准图形
getDrawioLeftStandardGraph({}).then(res => {
if(res.code == 200) {
res.data.dataEle.pop();
this.standardGraph = res.data.dataEle;
this.showCurrentGraph2(res.data.dataEle[0].arciBelongName, 0);
}else {
Message({
type: 'error',
message: res.msg
});
}
})
},
showCurrentGraph2(name, idx) {//标准图形选择窗口的文字点击
this.nameIndex2 = idx;
this.graphIndex2 = -1;
const res = this.standardGraph.find(item => item.arciBelongName == name);
this.standardList = res.eleDtos;
const params = {
delFlag: 0,
metaType: 1,
graphType: name
}
query_jia_gou_gui_shu_belong_icon(params).then(res => {
if(res.code == 200) {
this.standardList = res.data;
}else {
}
});
},
showCurrentGraph(name, idx) {//常规图形选择窗口的文字点击
this.nameIndex = idx;
......@@ -1010,31 +1008,34 @@ export default {
result.data.records.map(item => {
if(item.icon.includes("svg+xml")) {
const item_icon = item.icon.split("base64,")[1];
const decode_item_icon = window.atob(item_icon);//svg解码,为字符串
const svgDocument = new DOMParser().parseFromString(decode_item_icon, 'text/xml');//svg字符串转标签
// console.log(svgDocument)
const path = svgDocument.getElementsByTagName('path')[0];
const rect = svgDocument.getElementsByTagName('rect')[0];
const ellipse = svgDocument.getElementsByTagName('ellipse')[0];
const svgTag = svgDocument.getElementsByTagName('svg')[0];
const svgWidth = Number(svgTag.getAttribute('width').split('px')[0])/2;
const svgHeight = Number(svgTag.getAttribute('height').split('px')[0])/2;
item['width'] = svgWidth + 'px';
item['height'] = svgHeight + 'px';
// const item_icon = item.icon.split("base64,")[1];
// const decode_item_icon = window.atob(item_icon);//svg解码,为字符串
// const svgDocument = new DOMParser().parseFromString(decode_item_icon, 'text/xml');//svg字符串转标签
// // console.log(svgDocument)
// const path = svgDocument.getElementsByTagName('path')[0];
// const rect = svgDocument.getElementsByTagName('rect')[0];
// const ellipse = svgDocument.getElementsByTagName('ellipse')[0];
// const svgTag = svgDocument.getElementsByTagName('svg')[0];
// const svgWidth = Number(svgTag.getAttribute('width').split('px')[0])/2;
// const svgHeight = Number(svgTag.getAttribute('height').split('px')[0])/2;
// item['width'] = svgWidth + 'px';
// item['height'] = svgHeight + 'px';
if(path) {
path.setAttribute('fill', item.color);
}
if(rect) {
rect.setAttribute('fill', item.color);
}
if(ellipse) {
ellipse.setAttribute('fill', item.color);
}
const svgToString = new XMLSerializer().serializeToString(svgDocument);//svg标签转化为字符串
const encode_item_icon = window.btoa(svgToString);//base64编码
item.icon = 'data:image/svg+xml;base64,'+ encode_item_icon;
// if(path) {
// path.setAttribute('fill', item.color);
// }
// if(rect) {
// rect.setAttribute('fill', item.color);
// }
// if(ellipse) {
// ellipse.setAttribute('fill', item.color);
// }
// const svgToString = new XMLSerializer().serializeToString(svgDocument);//svg标签转化为字符串
// const encode_item_icon = window.btoa(svgToString);//base64编码
// item.icon = 'data:image/svg+xml;base64,'+ encode_item_icon;
const svgToString = '<svg style="left: 1px; top: 1px; width: 32px; height: 30px; display: block; position: relative; overflow: hidden; pointer-events: none;"><g style="pointer-events: none;"><g style="pointer-events: none;"></g><g style="pointer-events: none;"><g transform="translate(0.5,0.5)" style="visibility: visible; pointer-events: none;"><rect x="1" y="7.5" width="30" height="15" fill="none" stroke="white" visibility="hidden" stroke-width="9" style="pointer-events: none;"></rect><rect x="1" y="7.5" width="30" height="15" fill="none" stroke="none" style="pointer-events: none;"></rect></g><g style="pointer-events: none;"><g transform="scale(0.5)" style="pointer-events: none;"><foreignObject width="200%" height="200%" style="overflow: visible; text-align: left; pointer-events: none;"><div style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 30px; margin-left: 3px; pointer-events: none;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; pointer-events: none;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">Text</div></div></div></foreignObject></g></g></g><g style="pointer-events: none;"></g><g style="pointer-events: none;"></g></g></svg>';
item.icon = svgToString;
}else {
item['width'] = 0;
item['height'] = 0;
......
......@@ -584,9 +584,10 @@ export default {
}
if(row.filesValue) {
let filesValue = JSON.parse(row.filesValue);
if(filesValue.length > 0) {
this.tableData4.forEach((item, index) => {
item.fileList = filesValue[index].fileUrl ? [
item.fileList = filesValue[index] ? [
{
name: filesValue[index].fileName,
url: filesValue[index].fileUrl,
......@@ -595,7 +596,7 @@ export default {
fileUrl: filesValue[index].fileUrl,
}
] : [];
item.fileArray = filesValue[index].fileUrl ? [
item.fileArray = filesValue[index] ? [
{
name: filesValue[index].fileName,
url: filesValue[index].fileUrl,
......@@ -606,6 +607,7 @@ export default {
] : [];
});
}
console.log(this.tableData4)
}
this.prjId = row.prjId;
},
......@@ -689,12 +691,14 @@ export default {
manageOrgId = this.selectRow[0].manageOrgId;
let filesValue = [];
this.tableData4.forEach(item => {
if(item.fileArray.length > 0) {
filesValue.push({
docName: item.tableLet1,
fileId: item.fileArray.length > 0 ? item.fileArray[0].fileId : null,
fileName: item.fileArray.length > 0 ? item.fileArray[0].fileName : null,
fileUrl: item.fileArray.length > 0 ? item.fileArray[0].fileUrl : null,
busiFileName: item.tableLet1,
fileId: item.fileArray[0].fileId,
fileName: item.fileArray[0].fileName,
fileUrl: item.fileArray[0].fileUrl,
})
}
})
const params = {
agoPrjCode, agoPrjId, agoPrjName, appCode, appId, appName, buildOrg, buildType, manageDeptId, manageOrgId,
......
......@@ -4,26 +4,29 @@
<div class="left_container">
<el-alert title="评审标准" type="success" :closable="false"></el-alert>
<el-select v-model="select1" class="leftSelect">
<el-option label="1" value="1"></el-option>
<el-option label="本项目-安全防护方案.pdf" value="1"></el-option>
</el-select>
</div>
<div class="right_container">
<el-alert title="评审内容" type="success" :closable="false"></el-alert>
<el-select v-model="select2" class="rightSelect" @change="select2Change">
<el-option v-for="item in rightSelect" :key="item.viewDetailsId" :label="item.viewDetailName" :value="item.viewDetailsId"></el-option>
<!-- <el-option v-for="item in rightSelect" :key="item.viewDetailsId" :label="item.viewDetailName" :value="item.viewDetailsId"></el-option> -->
<el-option label="本项目-安全防护方案.pdf" value="1"></el-option>
</el-select>
<img :src="rightImageSrc" class="rightImageContainer" alt="">
<div v-for="item in rightImageArray" :key="item.viewDetailsId">
<img :src="item.metaModelSvg" alt="">
</div>
</div>
</div>
<div class="bottom_container">
<div style="padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;">
<div>
<el-divider direction="vertical"></el-divider>
<span style="margin-right: 50px;">评审意见</span>
<el-radio v-model="radio" label="1">通过</el-radio>
<el-radio v-model="radio" label="0">不通过</el-radio>
<span style="margin-right: 50px;">备注</span>
<!-- <el-radio v-model="radio" label="1">通过</el-radio>
<el-radio v-model="radio" label="0">不通过</el-radio> -->
</div>
<el-button type="primary" size="medium" @click="saveSuggestion">带入批准</el-button>
<el-button type="primary" size="medium" @click="saveSuggestion">保存备注</el-button>
</div>
<el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input>
</div>
......@@ -47,6 +50,7 @@ export default {
textarea: '',
select1: null,
select2: null,
rightImageArray: [],
rightImageSrc: null,
prjId: null,
rightSelect: []
......@@ -62,24 +66,31 @@ export default {
const params = {
archiBelongId: archiBelongId,
prjId: this.prjId,
archiStage: 3
}
getReviewArchiFollowCheckRightGraph(params).then(res => {
if (res.code == 200) {
if(res.data.length > 0) {
this.rightSelect = res.data;
this.select2 = res.data[0].viewDetailsId;
this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.data[0].metaModelSvg;
res.data.map(item => {
item.metaModelSvg = 'data:image/svg+xml;base64,'+ item.metaModelSvg;
})
this.rightImageArray = res.data;
console.log(this.rightImageArray)
// this.rightSelect = res.data;
// this.select2 = res.data[0].viewDetailsId;
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.data[0].metaModelSvg;
}
}
})
},
select2Change(data) {//右侧下拉框选择
const res = this.rightSelect.find(item => item.viewDetailsId == data);
this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.metaModelSvg;
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.metaModelSvg;
},
saveSuggestion() {//保存
const params = {
"archiPrjReviewEnum": "CONFORMANCE_REVIEW",
"archiPrjReviewEnum": "SECURITY_ARCHITECTURE_CONFORMANCE",
"prjId": this.prjId,
"reviewState": this.radio,
"reviewSuggestion": this.textarea
......
......@@ -3,15 +3,30 @@
<div class="content">
<div class="left_container">
<el-alert title="评审标准" type="success" :closable="false"></el-alert>
<el-select v-model="select1" class="leftSelect">
<el-option label="系统架构-系统架构视图设计-安全架构视图" value="1"></el-option>
</el-select>
</div>
<div class="right_container">
<el-alert title="评审内容" type="success" :closable="false"></el-alert>
<el-select v-model="select2" class="rightSelect" @change="select2Change">
<!-- <el-option v-for="item in rightSelect" :key="item.viewDetailsId" :label="item.viewDetailName" :value="item.viewDetailsId"></el-option> -->
<el-option label="系统架构-系统架构视图设计-安全架构视图" value="1"></el-option>
</el-select>
<div v-for="item in rightImageArray" :key="item.viewDetailsId">
<img :src="item.metaModelSvg" alt="">
</div>
</div>
</div>
<div class="bottom_container">
<div style="padding-right: 20px;text-align: left;margin: 15px 0;">
<div style="padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;">
<div>
<el-divider direction="vertical"></el-divider>
<span style="margin-right: 50px;">审查意见</span>
<span style="margin-right: 50px;">备注</span>
<!-- <el-radio v-model="radio" label="1">通过</el-radio>
<el-radio v-model="radio" label="0">不通过</el-radio> -->
</div>
<el-button type="primary" size="medium" @click="saveSuggestion">保存备注</el-button>
</div>
<el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input>
</div>
......@@ -20,7 +35,8 @@
<script>
import {
getArchiViewManageTable
getReviewArchiFollowCheckRightGraph,
saveReviewArchiFollowCheckRightSuggestion
} from '@/api/index.js';
import { MessageBox, Message } from 'element-ui';
export default {
......@@ -31,14 +47,65 @@ export default {
data() {
return {
radio: '1',
textarea: ''
textarea: '',
select1: null,
select2: null,
rightImageArray: [],
rightImageSrc: null,
prjId: null,
rightSelect: []
};
},
mounted(){
this.prjId = this.$route.query.prjId;
this.getRightGraph(5);
},
methods: {
getRightGraph(archiBelongId) {//获取右侧图片
const params = {
archiBelongId: archiBelongId,
prjId: this.prjId,
archiStage: 3
}
getReviewArchiFollowCheckRightGraph(params).then(res => {
if (res.code == 200) {
if(res.data.length > 0) {
res.data.map(item => {
item.metaModelSvg = 'data:image/svg+xml;base64,'+ item.metaModelSvg;
})
this.rightImageArray = res.data;
console.log(this.rightImageArray)
// this.rightSelect = res.data;
// this.select2 = res.data[0].viewDetailsId;
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.data[0].metaModelSvg;
}
}
})
},
select2Change(data) {//右侧下拉框选择
const res = this.rightSelect.find(item => item.viewDetailsId == data);
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.metaModelSvg;
},
saveSuggestion() {//保存
const params = {
"archiPrjReviewEnum": "DEPLOYMENT_ARCHITECTURE_REVIEW",
"prjId": this.prjId,
"reviewState": this.radio,
"reviewSuggestion": this.textarea
}
saveReviewArchiFollowCheckRightSuggestion(params).then(res => {
if (res.code == 200) {
console.log(res.code)
}else {
Message({
type: "error",
message: res.msg,
});
}
})
}
}
}
</script>
......@@ -50,6 +117,16 @@ export default {
display: flex;
height: 77%;
}
.leftSelect{
position: absolute;
top: 44px;
left: 22px;
}
.rightSelect{
position: absolute;
top: 44px;
left: 22px;
}
.el-button--primary{
background: rgba(13,134,127,1);
color: #fff;
......@@ -67,10 +144,18 @@ export default {
width: 49%;
border: 1px solid red;
margin-right: 1%;
position: relative;
}
.right_container{
width: 49%;
border: 1px solid red;
position: relative;
}
.rightImageContainer{
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
}
.bottom_container{
......
......@@ -3,18 +3,30 @@
<div class="content">
<div class="left_container">
<el-alert title="评审标准" type="success" :closable="false"></el-alert>
<el-select v-model="select1" class="leftSelect">
<el-option label="总体架构-架构视图设计-技术架构视图" value="1"></el-option>
</el-select>
</div>
<div class="right_container">
<el-alert title="评审内容" type="success" :closable="false"></el-alert>
<el-select v-model="select2" class="rightSelect" @change="select2Change">
<!-- <el-option v-for="item in rightSelect" :key="item.viewDetailsId" :label="item.viewDetailName" :value="item.viewDetailsId"></el-option> -->
<el-option label="系统架构-概设阶段架构设计-技术架构视图" value="1"></el-option>
</el-select>
<div v-for="item in rightImageArray" :key="item.viewDetailsId">
<img :src="item.metaModelSvg" alt="">
</div>
</div>
</div>
<div class="bottom_container">
<div style="padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;">
<div>
<el-divider direction="vertical"></el-divider>
<span style="margin-right: 50px;">审查意见</span>
<span style="margin-right: 50px;">备注</span>
<!-- <el-radio v-model="radio" label="1">通过</el-radio>
<el-radio v-model="radio" label="0">不通过</el-radio> -->
</div>
<el-button type="primary" size="medium">保存意见</el-button>
<el-button type="primary" size="medium" @click="saveSuggestion">保存备注</el-button>
</div>
<el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input>
</div>
......@@ -23,7 +35,8 @@
<script>
import {
getArchiViewManageTable
getReviewArchiFollowCheckRightGraph,
saveReviewArchiFollowCheckRightSuggestion
} from '@/api/index.js';
import { MessageBox, Message } from 'element-ui';
export default {
......@@ -34,14 +47,65 @@ export default {
data() {
return {
radio: '1',
textarea: ''
textarea: '',
select1: null,
select2: null,
rightImageArray: [],
rightImageSrc: null,
prjId: null,
rightSelect: []
};
},
mounted(){
this.prjId = this.$route.query.prjId;
this.getRightGraph(4);
},
methods: {
getRightGraph(archiBelongId) {//获取右侧图片
const params = {
archiBelongId: archiBelongId,
prjId: this.prjId,
archiStage: 3
}
getReviewArchiFollowCheckRightGraph(params).then(res => {
if (res.code == 200) {
if(res.data.length > 0) {
res.data.map(item => {
item.metaModelSvg = 'data:image/svg+xml;base64,'+ item.metaModelSvg;
})
this.rightImageArray = res.data;
console.log(this.rightImageArray)
// this.rightSelect = res.data;
// this.select2 = res.data[0].viewDetailsId;
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.data[0].metaModelSvg;
}
}
})
},
select2Change(data) {//右侧下拉框选择
const res = this.rightSelect.find(item => item.viewDetailsId == data);
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.metaModelSvg;
},
saveSuggestion() {//保存
const params = {
"archiPrjReviewEnum": "TECHNICAL_ARCHITECTURE_CONFORMANCE",
"prjId": this.prjId,
"reviewState": this.radio,
"reviewSuggestion": this.textarea
}
saveReviewArchiFollowCheckRightSuggestion(params).then(res => {
if (res.code == 200) {
console.log(res.code)
}else {
Message({
type: "error",
message: res.msg,
});
}
})
}
}
}
</script>
......@@ -53,6 +117,16 @@ export default {
display: flex;
height: 77%;
}
.leftSelect{
position: absolute;
top: 44px;
left: 22px;
}
.rightSelect{
position: absolute;
top: 44px;
left: 22px;
}
.el-button--primary{
background: rgba(13,134,127,1);
color: #fff;
......@@ -70,10 +144,18 @@ export default {
width: 49%;
border: 1px solid red;
margin-right: 1%;
position: relative;
}
.right_container{
width: 49%;
border: 1px solid red;
position: relative;
}
.rightImageContainer{
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
}
.bottom_container{
......
......@@ -3,18 +3,30 @@
<div class="content">
<div class="left_container">
<el-alert title="评审标准" type="success" :closable="false"></el-alert>
<el-select v-model="select1" class="leftSelect">
<el-option label="总体架构-应用架构视图" value="1"></el-option>
</el-select>
</div>
<div class="right_container">
<el-alert title="评审内容" type="success" :closable="false"></el-alert>
<el-select v-model="select2" class="rightSelect" @change="select2Change">
<!-- <el-option v-for="item in rightSelect" :key="item.viewDetailsId" :label="item.viewDetailName" :value="item.viewDetailsId"></el-option> -->
<el-option label="系统架构-概设阶段架构设计-应用架构视图" value="1"></el-option>
</el-select>
<div v-for="item in rightImageArray" :key="item.viewDetailsId">
<img :src="item.metaModelSvg" alt="">
</div>
</div>
</div>
<div class="bottom_container">
<div style="padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;">
<div>
<el-divider direction="vertical"></el-divider>
<span style="margin-right: 50px;">评审意见</span>
<span style="margin-right: 50px;">备注</span>
<!-- <el-radio v-model="radio" label="1">通过</el-radio>
<el-radio v-model="radio" label="0">不通过</el-radio> -->
</div>
<el-button type="primary" size="medium">保存意见</el-button>
<el-button type="primary" size="medium" @click="saveSuggestion">保存备注</el-button>
</div>
<el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input>
</div>
......@@ -23,7 +35,8 @@
<script>
import {
getArchiViewManageTable
getReviewArchiFollowCheckRightGraph,
saveReviewArchiFollowCheckRightSuggestion
} from '@/api/index.js';
import { MessageBox, Message } from 'element-ui';
export default {
......@@ -34,14 +47,65 @@ export default {
data() {
return {
radio: '1',
textarea: ''
textarea: '',
select1: null,
select2: null,
rightImageArray: [],
rightImageSrc: null,
prjId: null,
rightSelect: []
};
},
mounted(){
this.prjId = this.$route.query.prjId;
this.getRightGraph(2);
},
methods: {
getRightGraph(archiBelongId) {//获取右侧图片
const params = {
archiBelongId: archiBelongId,
prjId: this.prjId,
archiStage: 3
}
getReviewArchiFollowCheckRightGraph(params).then(res => {
if (res.code == 200) {
if(res.data.length > 0) {
res.data.map(item => {
item.metaModelSvg = 'data:image/svg+xml;base64,'+ item.metaModelSvg;
})
this.rightImageArray = res.data;
console.log(this.rightImageArray)
// this.rightSelect = res.data;
// this.select2 = res.data[0].viewDetailsId;
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.data[0].metaModelSvg;
}
}
})
},
select2Change(data) {//右侧下拉框选择
const res = this.rightSelect.find(item => item.viewDetailsId == data);
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.metaModelSvg;
},
saveSuggestion() {//保存
const params = {
"archiPrjReviewEnum": "APPLICATION_ARCHITECTURE_CONFORMANCE",
"prjId": this.prjId,
"reviewState": this.radio,
"reviewSuggestion": this.textarea
}
saveReviewArchiFollowCheckRightSuggestion(params).then(res => {
if (res.code == 200) {
console.log(res.code)
}else {
Message({
type: "error",
message: res.msg,
});
}
})
}
}
}
</script>
......@@ -53,6 +117,16 @@ export default {
display: flex;
height: 77%;
}
.leftSelect{
position: absolute;
top: 44px;
left: 22px;
}
.rightSelect{
position: absolute;
top: 44px;
left: 22px;
}
.el-button--primary{
background: rgba(13,134,127,1);
color: #fff;
......@@ -70,10 +144,18 @@ export default {
width: 49%;
border: 1px solid red;
margin-right: 1%;
position: relative;
}
.right_container{
width: 49%;
border: 1px solid red;
position: relative;
}
.rightImageContainer{
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
}
.bottom_container{
......
......@@ -3,18 +3,30 @@
<div class="content">
<div class="left_container">
<el-alert title="评审标准" type="success" :closable="false"></el-alert>
<el-select v-model="select1" class="leftSelect">
<el-option label="总体架构-数据架构视图" value="1"></el-option>
</el-select>
</div>
<div class="right_container">
<el-alert title="评审内容" type="success" :closable="false"></el-alert>
<el-select v-model="select2" class="rightSelect" @change="select2Change">
<!-- <el-option v-for="item in rightSelect" :key="item.viewDetailsId" :label="item.viewDetailName" :value="item.viewDetailsId"></el-option> -->
<el-option label="系统架构-概设阶段架构设计-数据架构视图" value="1"></el-option>
</el-select>
<div v-for="item in rightImageArray" :key="item.viewDetailsId">
<img :src="item.metaModelSvg" alt="">
</div>
</div>
</div>
<div class="bottom_container">
<div style="padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;">
<div>
<el-divider direction="vertical"></el-divider>
<span style="margin-right: 50px;">评审意见</span>
<span style="margin-right: 50px;">备注</span>
<!-- <el-radio v-model="radio" label="1">通过</el-radio>
<el-radio v-model="radio" label="0">不通过</el-radio> -->
</div>
<el-button type="primary" size="medium">保存意见</el-button>
<el-button type="primary" size="medium" @click="saveSuggestion">保存备注</el-button>
</div>
<el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input>
</div>
......@@ -23,7 +35,8 @@
<script>
import {
getArchiViewManageTable
getReviewArchiFollowCheckRightGraph,
saveReviewArchiFollowCheckRightSuggestion
} from '@/api/index.js';
import { MessageBox, Message } from 'element-ui';
export default {
......@@ -34,14 +47,65 @@ export default {
data() {
return {
radio: '1',
textarea: ''
textarea: '',
select1: null,
select2: null,
rightImageArray: [],
rightImageSrc: null,
prjId: null,
rightSelect: []
};
},
mounted(){
this.prjId = this.$route.query.prjId;
this.getRightGraph(3);
},
methods: {
getRightGraph(archiBelongId) {//获取右侧图片
const params = {
archiBelongId: archiBelongId,
prjId: this.prjId,
archiStage: 3
}
getReviewArchiFollowCheckRightGraph(params).then(res => {
if (res.code == 200) {
if(res.data.length > 0) {
res.data.map(item => {
item.metaModelSvg = 'data:image/svg+xml;base64,'+ item.metaModelSvg;
})
this.rightImageArray = res.data;
console.log(this.rightImageArray)
// this.rightSelect = res.data;
// this.select2 = res.data[0].viewDetailsId;
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.data[0].metaModelSvg;
}
}
})
},
select2Change(data) {//右侧下拉框选择
const res = this.rightSelect.find(item => item.viewDetailsId == data);
// this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.metaModelSvg;
},
saveSuggestion() {//保存
const params = {
"archiPrjReviewEnum": "PHYSICAL_DATA_ARCHITECTURE_CONFORMANCE",
"prjId": this.prjId,
"reviewState": this.radio,
"reviewSuggestion": this.textarea
}
saveReviewArchiFollowCheckRightSuggestion(params).then(res => {
if (res.code == 200) {
console.log(res.code)
}else {
Message({
type: "error",
message: res.msg,
});
}
})
}
}
}
</script>
......@@ -53,6 +117,16 @@ export default {
display: flex;
height: 77%;
}
.leftSelect{
position: absolute;
top: 44px;
left: 22px;
}
.rightSelect{
position: absolute;
top: 44px;
left: 22px;
}
.el-button--primary{
background: rgba(13,134,127,1);
color: #fff;
......@@ -70,10 +144,18 @@ export default {
width: 49%;
border: 1px solid red;
margin-right: 1%;
position: relative;
}
.right_container{
width: 49%;
border: 1px solid red;
position: relative;
}
.rightImageContainer{
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
}
.bottom_container{
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!