Commit f6a44d29 by liuyong

修改bug

1 parent 14e21fd0
...@@ -123,7 +123,7 @@ const setIcon = function (itemIcon, dicys, color) { ...@@ -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;"><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编码 const encode_item_icon = window.btoa(svg);//base64编码
let svgImage= 'data:image/svg+xml;base64,'+ encode_item_icon; let svgImage= 'data:image/svg+xml;base64,'+ encode_item_icon;
...@@ -150,10 +150,10 @@ const setIcon = function (itemIcon, dicys, color) { ...@@ -150,10 +150,10 @@ const setIcon = function (itemIcon, dicys, color) {
const leftCustomGraph = function(that) {//左侧自定义图形 const leftCustomGraph = function(that) {//左侧自定义图形
var xml = that.createLibraryDataFromImages(images_); // var xml = that.createLibraryDataFromImages(images_);
var file = new LocalLibrary(that, xml, '图库'); // var file = new LocalLibrary(that, xml, '图库');
that.libraryLoaded(file, images_, null, false); // that.libraryLoaded(file, images_, null, false);
// const standardGraph = JSON.parse(localStorage.getItem('standardGraph')); // const standardGraph = JSON.parse(localStorage.getItem('standardGraph'));
......
...@@ -53,7 +53,8 @@ ...@@ -53,7 +53,8 @@
<el-table-column prop="content" label="描述" align="center" width="200" :show-overflow-tooltip="true"></el-table-column> <el-table-column prop="content" label="描述" align="center" width="200" :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="图标" align="center"> <el-table-column label="图标" align="center">
<template slot-scope="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column prop="version" label="版本" align="center"></el-table-column> <el-table-column prop="version" label="版本" align="center"></el-table-column>
...@@ -268,10 +269,10 @@ ...@@ -268,10 +269,10 @@
<div style="height: 400px;display: flex;align-items: center;"> <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="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' }" <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" v-for="(item, index) in search_select1"
:key="item.arciBelongId" :key="item.belongId"
@click="showCurrentGraph2(item.arciBelongName, index)"> @click="showCurrentGraph2(item.name, index)">
{{ item.arciBelongName }} {{ item.name }}
</div> </div>
</div> </div>
<div style="width: 80%;height: 100%;border: 1px solid #ccc;overflow: auto;text-align: left;"> <div style="width: 80%;height: 100%;border: 1px solid #ccc;overflow: auto;text-align: left;">
...@@ -610,7 +611,7 @@ export default { ...@@ -610,7 +611,7 @@ export default {
openGraphDialog() {//打开图形选择窗口 openGraphDialog() {//打开图形选择窗口
this.graph_dialog = true; this.graph_dialog = true;
this.showCurrentGraph(this.search_select1[0].name, 0); this.showCurrentGraph(this.search_select1[0].name, 0);
this.queryDrawioGraph2(); this.showCurrentGraph2(this.search_select1[0].name, 0)
}, },
tabsClick(data) { tabsClick(data) {
console.log(data) console.log(data)
...@@ -626,8 +627,9 @@ export default { ...@@ -626,8 +627,9 @@ export default {
} }
this.graph_dialog = false; this.graph_dialog = false;
if(this.tabType == '元模型图元') { if(this.tabType == '元模型图元') {
console.log(this.standardList[this.graphIndex2])
this.selectGraphSrc = this.standardList[this.graphIndex2].icon; this.selectGraphSrc = this.standardList[this.graphIndex2].icon;
this.selectGraphShape = this.standardList[this.graphIndex2].iconName; this.selectGraphShape = this.standardList[this.graphIndex2].graphName;
}else { }else {
this.selectGraphSrc = 'data:image/svg+xml;base64,' + this.graphList[this.graphIndex].icon; this.selectGraphSrc = 'data:image/svg+xml;base64,' + this.graphList[this.graphIndex].icon;
this.selectGraphShape = this.graphList[this.graphIndex].graphName; this.selectGraphShape = this.graphList[this.graphIndex].graphName;
...@@ -639,25 +641,21 @@ export default { ...@@ -639,25 +641,21 @@ export default {
this.nameIndex = 0; this.nameIndex = 0;
this.graph_dialog = false; 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) {//标准图形选择窗口的文字点击 showCurrentGraph2(name, idx) {//标准图形选择窗口的文字点击
this.nameIndex2 = idx; this.nameIndex2 = idx;
this.graphIndex2 = -1; this.graphIndex2 = -1;
const res = this.standardGraph.find(item => item.arciBelongName == name); const params = {
this.standardList = res.eleDtos; 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) {//常规图形选择窗口的文字点击 showCurrentGraph(name, idx) {//常规图形选择窗口的文字点击
this.nameIndex = idx; this.nameIndex = idx;
...@@ -1010,31 +1008,34 @@ export default { ...@@ -1010,31 +1008,34 @@ export default {
result.data.records.map(item => { result.data.records.map(item => {
if(item.icon.includes("svg+xml")) { if(item.icon.includes("svg+xml")) {
const item_icon = item.icon.split("base64,")[1]; // const item_icon = item.icon.split("base64,")[1];
const decode_item_icon = window.atob(item_icon);//svg解码,为字符串 // const decode_item_icon = window.atob(item_icon);//svg解码,为字符串
const svgDocument = new DOMParser().parseFromString(decode_item_icon, 'text/xml');//svg字符串转标签 // const svgDocument = new DOMParser().parseFromString(decode_item_icon, 'text/xml');//svg字符串转标签
// console.log(svgDocument) // // console.log(svgDocument)
const path = svgDocument.getElementsByTagName('path')[0]; // const path = svgDocument.getElementsByTagName('path')[0];
const rect = svgDocument.getElementsByTagName('rect')[0]; // const rect = svgDocument.getElementsByTagName('rect')[0];
const ellipse = svgDocument.getElementsByTagName('ellipse')[0]; // const ellipse = svgDocument.getElementsByTagName('ellipse')[0];
const svgTag = svgDocument.getElementsByTagName('svg')[0]; // const svgTag = svgDocument.getElementsByTagName('svg')[0];
const svgWidth = Number(svgTag.getAttribute('width').split('px')[0])/2; // const svgWidth = Number(svgTag.getAttribute('width').split('px')[0])/2;
const svgHeight = Number(svgTag.getAttribute('height').split('px')[0])/2; // const svgHeight = Number(svgTag.getAttribute('height').split('px')[0])/2;
item['width'] = svgWidth + 'px'; // item['width'] = svgWidth + 'px';
item['height'] = svgHeight + 'px'; // item['height'] = svgHeight + 'px';
if(path) { // if(path) {
path.setAttribute('fill', item.color); // path.setAttribute('fill', item.color);
} // }
if(rect) { // if(rect) {
rect.setAttribute('fill', item.color); // rect.setAttribute('fill', item.color);
} // }
if(ellipse) { // if(ellipse) {
ellipse.setAttribute('fill', item.color); // ellipse.setAttribute('fill', item.color);
} // }
const svgToString = new XMLSerializer().serializeToString(svgDocument);//svg标签转化为字符串 // const svgToString = new XMLSerializer().serializeToString(svgDocument);//svg标签转化为字符串
const encode_item_icon = window.btoa(svgToString);//base64编码 // const encode_item_icon = window.btoa(svgToString);//base64编码
item.icon = 'data:image/svg+xml;base64,'+ encode_item_icon; // 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 { }else {
item['width'] = 0; item['width'] = 0;
item['height'] = 0; item['height'] = 0;
......
...@@ -584,9 +584,10 @@ export default { ...@@ -584,9 +584,10 @@ export default {
} }
if(row.filesValue) { if(row.filesValue) {
let filesValue = JSON.parse(row.filesValue); let filesValue = JSON.parse(row.filesValue);
if(filesValue.length > 0) { if(filesValue.length > 0) {
this.tableData4.forEach((item, index) => { this.tableData4.forEach((item, index) => {
item.fileList = filesValue[index].fileUrl ? [ item.fileList = filesValue[index] ? [
{ {
name: filesValue[index].fileName, name: filesValue[index].fileName,
url: filesValue[index].fileUrl, url: filesValue[index].fileUrl,
...@@ -595,7 +596,7 @@ export default { ...@@ -595,7 +596,7 @@ export default {
fileUrl: filesValue[index].fileUrl, fileUrl: filesValue[index].fileUrl,
} }
] : []; ] : [];
item.fileArray = filesValue[index].fileUrl ? [ item.fileArray = filesValue[index] ? [
{ {
name: filesValue[index].fileName, name: filesValue[index].fileName,
url: filesValue[index].fileUrl, url: filesValue[index].fileUrl,
...@@ -606,6 +607,7 @@ export default { ...@@ -606,6 +607,7 @@ export default {
] : []; ] : [];
}); });
} }
console.log(this.tableData4)
} }
this.prjId = row.prjId; this.prjId = row.prjId;
}, },
...@@ -689,12 +691,14 @@ export default { ...@@ -689,12 +691,14 @@ export default {
manageOrgId = this.selectRow[0].manageOrgId; manageOrgId = this.selectRow[0].manageOrgId;
let filesValue = []; let filesValue = [];
this.tableData4.forEach(item => { this.tableData4.forEach(item => {
if(item.fileArray.length > 0) {
filesValue.push({ filesValue.push({
docName: item.tableLet1, busiFileName: item.tableLet1,
fileId: item.fileArray.length > 0 ? item.fileArray[0].fileId : null, fileId: item.fileArray[0].fileId,
fileName: item.fileArray.length > 0 ? item.fileArray[0].fileName : null, fileName: item.fileArray[0].fileName,
fileUrl: item.fileArray.length > 0 ? item.fileArray[0].fileUrl : null, fileUrl: item.fileArray[0].fileUrl,
}) })
}
}) })
const params = { const params = {
agoPrjCode, agoPrjId, agoPrjName, appCode, appId, appName, buildOrg, buildType, manageDeptId, manageOrgId, agoPrjCode, agoPrjId, agoPrjName, appCode, appId, appName, buildOrg, buildType, manageDeptId, manageOrgId,
......
...@@ -4,26 +4,29 @@ ...@@ -4,26 +4,29 @@
<div class="left_container"> <div class="left_container">
<el-alert title="评审标准" type="success" :closable="false"></el-alert> <el-alert title="评审标准" type="success" :closable="false"></el-alert>
<el-select v-model="select1" class="leftSelect"> <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> </el-select>
</div> </div>
<div class="right_container"> <div class="right_container">
<el-alert title="评审内容" type="success" :closable="false"></el-alert> <el-alert title="评审内容" type="success" :closable="false"></el-alert>
<el-select v-model="select2" class="rightSelect" @change="select2Change"> <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> </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> </div>
<div class="bottom_container"> <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 style="padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;">
<div> <div>
<el-divider direction="vertical"></el-divider> <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="1">通过</el-radio>
<el-radio v-model="radio" label="0">不通过</el-radio> <el-radio v-model="radio" label="0">不通过</el-radio> -->
</div> </div>
<el-button type="primary" size="medium" @click="saveSuggestion">带入批准</el-button> <el-button type="primary" size="medium" @click="saveSuggestion">保存备注</el-button>
</div> </div>
<el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input> <el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input>
</div> </div>
...@@ -47,6 +50,7 @@ export default { ...@@ -47,6 +50,7 @@ export default {
textarea: '', textarea: '',
select1: null, select1: null,
select2: null, select2: null,
rightImageArray: [],
rightImageSrc: null, rightImageSrc: null,
prjId: null, prjId: null,
rightSelect: [] rightSelect: []
...@@ -62,24 +66,31 @@ export default { ...@@ -62,24 +66,31 @@ export default {
const params = { const params = {
archiBelongId: archiBelongId, archiBelongId: archiBelongId,
prjId: this.prjId, prjId: this.prjId,
archiStage: 3
} }
getReviewArchiFollowCheckRightGraph(params).then(res => { getReviewArchiFollowCheckRightGraph(params).then(res => {
if (res.code == 200) { if (res.code == 200) {
if(res.data.length > 0) { if(res.data.length > 0) {
this.rightSelect = res.data;
this.select2 = res.data[0].viewDetailsId; res.data.map(item => {
this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.data[0].metaModelSvg; 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) {//右侧下拉框选择 select2Change(data) {//右侧下拉框选择
const res = this.rightSelect.find(item => item.viewDetailsId == 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() {//保存 saveSuggestion() {//保存
const params = { const params = {
"archiPrjReviewEnum": "CONFORMANCE_REVIEW", "archiPrjReviewEnum": "SECURITY_ARCHITECTURE_CONFORMANCE",
"prjId": this.prjId, "prjId": this.prjId,
"reviewState": this.radio, "reviewState": this.radio,
"reviewSuggestion": this.textarea "reviewSuggestion": this.textarea
......
...@@ -3,15 +3,30 @@ ...@@ -3,15 +3,30 @@
<div class="content"> <div class="content">
<div class="left_container"> <div class="left_container">
<el-alert title="评审标准" type="success" :closable="false"></el-alert> <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>
<div class="right_container"> <div class="right_container">
<el-alert title="评审内容" type="success" :closable="false"></el-alert> <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> </div>
<div class="bottom_container"> <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> <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> </div>
<el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input> <el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input>
</div> </div>
...@@ -20,7 +35,8 @@ ...@@ -20,7 +35,8 @@
<script> <script>
import { import {
getArchiViewManageTable getReviewArchiFollowCheckRightGraph,
saveReviewArchiFollowCheckRightSuggestion
} from '@/api/index.js'; } from '@/api/index.js';
import { MessageBox, Message } from 'element-ui'; import { MessageBox, Message } from 'element-ui';
export default { export default {
...@@ -31,14 +47,65 @@ export default { ...@@ -31,14 +47,65 @@ export default {
data() { data() {
return { return {
radio: '1', radio: '1',
textarea: '' textarea: '',
select1: null,
select2: null,
rightImageArray: [],
rightImageSrc: null,
prjId: null,
rightSelect: []
}; };
}, },
mounted(){ mounted(){
this.prjId = this.$route.query.prjId;
this.getRightGraph(5);
}, },
methods: { 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> </script>
...@@ -50,6 +117,16 @@ export default { ...@@ -50,6 +117,16 @@ export default {
display: flex; display: flex;
height: 77%; height: 77%;
} }
.leftSelect{
position: absolute;
top: 44px;
left: 22px;
}
.rightSelect{
position: absolute;
top: 44px;
left: 22px;
}
.el-button--primary{ .el-button--primary{
background: rgba(13,134,127,1); background: rgba(13,134,127,1);
color: #fff; color: #fff;
...@@ -67,10 +144,18 @@ export default { ...@@ -67,10 +144,18 @@ export default {
width: 49%; width: 49%;
border: 1px solid red; border: 1px solid red;
margin-right: 1%; margin-right: 1%;
position: relative;
} }
.right_container{ .right_container{
width: 49%; width: 49%;
border: 1px solid red; border: 1px solid red;
position: relative;
}
.rightImageContainer{
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
} }
.bottom_container{ .bottom_container{
......
...@@ -3,18 +3,30 @@ ...@@ -3,18 +3,30 @@
<div class="content"> <div class="content">
<div class="left_container"> <div class="left_container">
<el-alert title="评审标准" type="success" :closable="false"></el-alert> <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>
<div class="right_container"> <div class="right_container">
<el-alert title="评审内容" type="success" :closable="false"></el-alert> <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> </div>
<div class="bottom_container"> <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 style="padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;">
<div> <div>
<el-divider direction="vertical"></el-divider> <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> </div>
<el-button type="primary" size="medium">保存意见</el-button> <el-button type="primary" size="medium" @click="saveSuggestion">保存备注</el-button>
</div> </div>
<el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input> <el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input>
</div> </div>
...@@ -23,7 +35,8 @@ ...@@ -23,7 +35,8 @@
<script> <script>
import { import {
getArchiViewManageTable getReviewArchiFollowCheckRightGraph,
saveReviewArchiFollowCheckRightSuggestion
} from '@/api/index.js'; } from '@/api/index.js';
import { MessageBox, Message } from 'element-ui'; import { MessageBox, Message } from 'element-ui';
export default { export default {
...@@ -34,14 +47,65 @@ export default { ...@@ -34,14 +47,65 @@ export default {
data() { data() {
return { return {
radio: '1', radio: '1',
textarea: '' textarea: '',
select1: null,
select2: null,
rightImageArray: [],
rightImageSrc: null,
prjId: null,
rightSelect: []
}; };
}, },
mounted(){ mounted(){
this.prjId = this.$route.query.prjId;
this.getRightGraph(4);
}, },
methods: { 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> </script>
...@@ -53,6 +117,16 @@ export default { ...@@ -53,6 +117,16 @@ export default {
display: flex; display: flex;
height: 77%; height: 77%;
} }
.leftSelect{
position: absolute;
top: 44px;
left: 22px;
}
.rightSelect{
position: absolute;
top: 44px;
left: 22px;
}
.el-button--primary{ .el-button--primary{
background: rgba(13,134,127,1); background: rgba(13,134,127,1);
color: #fff; color: #fff;
...@@ -70,10 +144,18 @@ export default { ...@@ -70,10 +144,18 @@ export default {
width: 49%; width: 49%;
border: 1px solid red; border: 1px solid red;
margin-right: 1%; margin-right: 1%;
position: relative;
} }
.right_container{ .right_container{
width: 49%; width: 49%;
border: 1px solid red; border: 1px solid red;
position: relative;
}
.rightImageContainer{
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
} }
.bottom_container{ .bottom_container{
......
...@@ -3,18 +3,30 @@ ...@@ -3,18 +3,30 @@
<div class="content"> <div class="content">
<div class="left_container"> <div class="left_container">
<el-alert title="评审标准" type="success" :closable="false"></el-alert> <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>
<div class="right_container"> <div class="right_container">
<el-alert title="评审内容" type="success" :closable="false"></el-alert> <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> </div>
<div class="bottom_container"> <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 style="padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;">
<div> <div>
<el-divider direction="vertical"></el-divider> <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> </div>
<el-button type="primary" size="medium">保存意见</el-button> <el-button type="primary" size="medium" @click="saveSuggestion">保存备注</el-button>
</div> </div>
<el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input> <el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input>
</div> </div>
...@@ -23,7 +35,8 @@ ...@@ -23,7 +35,8 @@
<script> <script>
import { import {
getArchiViewManageTable getReviewArchiFollowCheckRightGraph,
saveReviewArchiFollowCheckRightSuggestion
} from '@/api/index.js'; } from '@/api/index.js';
import { MessageBox, Message } from 'element-ui'; import { MessageBox, Message } from 'element-ui';
export default { export default {
...@@ -34,14 +47,65 @@ export default { ...@@ -34,14 +47,65 @@ export default {
data() { data() {
return { return {
radio: '1', radio: '1',
textarea: '' textarea: '',
select1: null,
select2: null,
rightImageArray: [],
rightImageSrc: null,
prjId: null,
rightSelect: []
}; };
}, },
mounted(){ mounted(){
this.prjId = this.$route.query.prjId;
this.getRightGraph(2);
}, },
methods: { 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> </script>
...@@ -53,6 +117,16 @@ export default { ...@@ -53,6 +117,16 @@ export default {
display: flex; display: flex;
height: 77%; height: 77%;
} }
.leftSelect{
position: absolute;
top: 44px;
left: 22px;
}
.rightSelect{
position: absolute;
top: 44px;
left: 22px;
}
.el-button--primary{ .el-button--primary{
background: rgba(13,134,127,1); background: rgba(13,134,127,1);
color: #fff; color: #fff;
...@@ -70,10 +144,18 @@ export default { ...@@ -70,10 +144,18 @@ export default {
width: 49%; width: 49%;
border: 1px solid red; border: 1px solid red;
margin-right: 1%; margin-right: 1%;
position: relative;
} }
.right_container{ .right_container{
width: 49%; width: 49%;
border: 1px solid red; border: 1px solid red;
position: relative;
}
.rightImageContainer{
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
} }
.bottom_container{ .bottom_container{
......
...@@ -3,18 +3,30 @@ ...@@ -3,18 +3,30 @@
<div class="content"> <div class="content">
<div class="left_container"> <div class="left_container">
<el-alert title="评审标准" type="success" :closable="false"></el-alert> <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>
<div class="right_container"> <div class="right_container">
<el-alert title="评审内容" type="success" :closable="false"></el-alert> <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> </div>
<div class="bottom_container"> <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 style="padding-right: 20px;text-align: left;margin: 15px 0;display: flex;align-items: center;justify-content: space-between;">
<div> <div>
<el-divider direction="vertical"></el-divider> <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> </div>
<el-button type="primary" size="medium">保存意见</el-button> <el-button type="primary" size="medium" @click="saveSuggestion">保存备注</el-button>
</div> </div>
<el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input> <el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input>
</div> </div>
...@@ -23,7 +35,8 @@ ...@@ -23,7 +35,8 @@
<script> <script>
import { import {
getArchiViewManageTable getReviewArchiFollowCheckRightGraph,
saveReviewArchiFollowCheckRightSuggestion
} from '@/api/index.js'; } from '@/api/index.js';
import { MessageBox, Message } from 'element-ui'; import { MessageBox, Message } from 'element-ui';
export default { export default {
...@@ -34,14 +47,65 @@ export default { ...@@ -34,14 +47,65 @@ export default {
data() { data() {
return { return {
radio: '1', radio: '1',
textarea: '' textarea: '',
select1: null,
select2: null,
rightImageArray: [],
rightImageSrc: null,
prjId: null,
rightSelect: []
}; };
}, },
mounted(){ mounted(){
this.prjId = this.$route.query.prjId;
this.getRightGraph(3);
}, },
methods: { 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> </script>
...@@ -53,6 +117,16 @@ export default { ...@@ -53,6 +117,16 @@ export default {
display: flex; display: flex;
height: 77%; height: 77%;
} }
.leftSelect{
position: absolute;
top: 44px;
left: 22px;
}
.rightSelect{
position: absolute;
top: 44px;
left: 22px;
}
.el-button--primary{ .el-button--primary{
background: rgba(13,134,127,1); background: rgba(13,134,127,1);
color: #fff; color: #fff;
...@@ -70,10 +144,18 @@ export default { ...@@ -70,10 +144,18 @@ export default {
width: 49%; width: 49%;
border: 1px solid red; border: 1px solid red;
margin-right: 1%; margin-right: 1%;
position: relative;
} }
.right_container{ .right_container{
width: 49%; width: 49%;
border: 1px solid red; border: 1px solid red;
position: relative;
}
.rightImageContainer{
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
} }
.bottom_container{ .bottom_container{
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!