Commit 031ff118 by liuyong

修改bug

1 parent 8bc9010e
......@@ -54,7 +54,7 @@ const initDrawioGraph = function(that) {//一进入画布显示的图形
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(composedXMLData, "text/xml");
const mxGraphModel = xmlDoc.getElementsByTagName('diagram')[0].innerHTML;
console.log(mxGraphModel)
var graph = that.editor.graph;
var svgImage = graph.getSvg('#fff', 1, 0, true, null, true, null, null, null, null, true, 'light', 'diagram');//当前画布的预览图,svg格式
var svgToString = new XMLSerializer().serializeToString(svgImage);
......@@ -123,10 +123,10 @@ 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.74 27.74 L 28.74 1.74" fill="none" stroke="white" stroke-width="9.3" stroke-miterlimit="10" visibility="hidden" style="pointer-events: none;"></path><path d="M 2.74 27.74 L 28.74 1.74" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.3" stroke-miterlimit="10" stroke-dasharray="1.04 3.12" 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 encode_item_icon = window.btoa(svg);//base64编码
let svgImage= 'data:image/svg+xml;base64,'+ encode_item_icon;
console.log(svgImage)
const images_ = [
{
aspect: "fixed",
......@@ -195,33 +195,33 @@ const leftCustomGraph = function(that) {//左侧自定义图形
const joinGraph_ = JSON.parse(localStorage.getItem('joinGraph'));
const joinGraph = joinGraph_.graph;
if(joinGraph_.state == 1) {
// joinGraph.pop();
// joinGraph.forEach(function(item) {
// if(item.eleDtos) {
// if(item.eleDtos.length > 0) {
// const libraryName = item.arciBelongName;
// let images = [];
// item.eleDtos.forEach(function(item2) {
// images.unshift({
// aspect: "fixed",
// xml: item2.iconName,
// h: 41,
// title: item2.eleName,
// w: 71
// })
// })
// var xml = that.createLibraryDataFromImages(images);
joinGraph.pop();
joinGraph.forEach(function(item) {
if(item.eleDtos) {
if(item.eleDtos.length > 0) {
const libraryName = item.arciBelongName;
let images = [];
item.eleDtos.forEach(function(item2) {
images.unshift({
aspect: "fixed",
xml: item2.iconName,
h: 41,
title: item2.eleName,
w: 71
})
})
var xml = that.createLibraryDataFromImages(images);
// var file = new LocalLibrary(that, xml, libraryName);
// that.libraryLoaded(file, images, null, false);
// }else {
var file = new LocalLibrary(that, xml, libraryName);
that.libraryLoaded(file, images, null, false);
}else {
// }
// }
// })
}
}
})
}else {
// joinGraph.forEach(item => {
// item.subList.forEach(item2 => {
// item.eleDtos.forEach(item2 => {
// if(item2.eleType == '1') {
// console.log(item2)
// }
......
//二次开发,自定义属性面板
const initAttributePanel = function(that) {
var graph = that.editorUi.editor.graph;
const cell = graph.getSelectionCell();
// graph.getModel().setValue(cell, '测试');
// cell.setValue('测试');
// let currentNode = graph.getModel().getValue(cell);
// console.log(cell.style)
// console.log(currentNode)
// console.log(cell)
// const str_AES_decode = str => {
// const str2 = CryptoJS.AES.decrypt(str, 'secretkey');
// return str2.toString(CryptoJS.enc.Utf8);
......
......@@ -46,14 +46,14 @@
if(joinGraph_.state == 2) {
const joinGraph = joinGraph_.graph;
this.sidebarTitles = true;//勾选标签
console.log(joinGraph)
// console.log(joinGraph)
joinGraph.forEach(item => {
if(item.arciBelongName == '架构元素关系') {
let fns = [];
item.eleDtos.forEach(item2 => {
fns.push(
this.createEdgeTemplateEntry(
item2.iconName + 'attr=[]',
item2.iconName + 'attr=[];assetName=[' + item2.rsName + '];',
item2.shapeWidth ? item2.shapeWidth : 150,
item2.shapeHeight ? item2.shapeHeight : 75,
'',
......@@ -86,7 +86,7 @@
// console.log(item3.fieldsValue)
fns.push(
this.createVertexTemplateEntry(
item2.iconName + ';fillColor=' + item2.color + ';' + 'attr=' + JSON.stringify(attr_) + ';assetId=' + item3.assetId + ';archiBelongId=' + item3.archiBelongId + ';',
item2.iconName + ';fillColor=' + item2.color + ';' + 'attr=' + JSON.stringify(attr_) + ';assetId=' + item3.assetId + ';archiBelongId=' + item3.archiBelongId + ';assetName=[' + item3.assetName + '];',
item2.shapeWidth ? item2.shapeWidth : 150,
item2.shapeHeight ? item2.shapeHeight : 75,
null,
......
......@@ -2348,6 +2348,10 @@ Sidebar.prototype.createItem = function(cells, title, showLabel, showTitle, widt
{
var originalCells = cells;
cells = this.graph.cloneCells(cells);
// cells[0].value = '测试';
// console.log(cells[0].value)
this.editorUi.insertHandler(originalCells, null, this.graph.model,
this.editorUi.editor.graph.defaultVertexStyle,
this.editorUi.editor.graph.defaultEdgeStyle,
......@@ -3767,6 +3771,12 @@ Sidebar.prototype.addClickHandler = function(elt, ds, cells, clickFn)
ds.mouseDown =function(evt)
{
if(cells[0].style.includes("assetName")) {//二次开发,左侧点击图形时候给图形设置名称
const assetNameList = cells[0].style.match(/assetName=\[[^\]]*\]/);
const assetName = assetNameList[0].split("assetName=[")[1].split("]")[0];
// console.log(assetName);
cells[0].value = assetName;
}
oldMouseDown.apply(this, arguments);
first = new mxPoint(mxEvent.getClientX(evt), mxEvent.getClientY(evt));
op = elt.style.opacity;
......
......@@ -377,19 +377,19 @@ export function getComCenterServeDetail(params) {
}
// 资产架构,表格
export function getZiChanJiaGouTable(params) {
return post('/network/arc-ast-cn/', params);
return post('/network/arc-ast-info/', params);
}
// 资产架构编辑
export function editZiChanJiaGouTable(params) {
return post('/network/arc-ast-cn/upd', params);
return post('/network/arc-ast-info/upd', params);
}
// 资产架构,删除,批量删除
export function deleteMoreZiChanJiaGouTable(params) {
return post('/network/arc-ast-cn/delBatch', params);
return post('/network/arc-ast-info/delBatch', params);
}
// 资产架构,新增
export function addMoreZiChanJiaGouTable(params) {
return post('/network/arc-ast-cn/ad', params);
return post('/network/arc-ast-info/ad', params);
}
// 资产架构,上级节点
export function queryZiChanJiaGouShangJiJieDian(params) {
......@@ -413,7 +413,7 @@ export function importZhiChanJiaGou(params) {
}
// 资产架构,关联资产
export function queryGuanLianZiChanSelect(params) {
return post('/network/arc-ast-cn/assetList', params);
return post('/network/arc-ast-info/assetList', params);
}
// 日志管理,列表
export function queryLogManageTable(params) {
......@@ -572,3 +572,11 @@ export function systemArchiSaveFactor(params) {
export function getGaiSheJiaGouZunCongJiaChaTable(params) {
return post('/network/app-archi-control-requirements/', params);
}
// 概设架构遵从检查, 右侧图片
export function getReviewArchiFollowCheckRightGraph(params) {
return post('/network/app-archi-control-requirements/qView', params);
}
// 概设架构遵从检查, 保存
export function saveReviewArchiFollowCheckRightSuggestion(params) {
return post('/network/app-archi-control-requirements/cComment', params);
}
......@@ -429,7 +429,7 @@
},
zuJianLeiXingSelect: [],
archiBelongId: null,
assetConstant: null,
archiType: null,
treeDefaultExpand: [],
currentNodekey: null,
editId: null,
......@@ -488,7 +488,7 @@
});
this.treeData[0].subList = res.data;
this.archiBelongId = res.data[0].viewId;
this.assetConstant = res.data[0].archiType;
this.archiType = res.data[0].archiType;
this.get_table();
}else {
Message({
......@@ -505,7 +505,7 @@
"assetName": this.searchParams.let1,
"createMan": this.searchParams.let3,
"archiEleId": this.searchParams.let2,
"assetConstant": this.assetConstant,
"archiType": this.archiType,
// "archiAssetTypeId": this.archiAssetTypeId,
"current": this.pager.current,
"pageSize": this.pager.size,
......@@ -530,7 +530,7 @@
},
treeClick(data) {//左侧树点击
this.archiBelongId = data.viewId;
this.assetConstant = data.archiType;
this.archiType = data.archiType;
this.get_table();
},
queryZuJianLeiXingSelect(data) {//组件类型搜索
......@@ -713,6 +713,7 @@
});
},
editItem(row) {//编辑
this.getZuJianLeiXingSelect(null);
this.add_dialog3 = true;
this.is_add_edit = 'edit';
this.ruleForm.let1 = row.assetName;
......@@ -748,7 +749,7 @@
assetId: [row.assetId],
state: row.state,
delFlag: 1,
assetConstant: this.assetConstant,
archiType: this.archiType,
}
deleteSystemTable(params).then(res => {
if(res.code == 200) {
......@@ -799,7 +800,7 @@
this.elementTree.forEach(item => {
if(item.checkedCities.length > 0) {
extend.push({
assetConstant: item.archiType,
archiType: item.archiType,
assetIdList: item.checkedCities
})
}
......@@ -847,7 +848,7 @@
archiAssetState: this.searchParams.archiAssetState,
archiStage: this.searchParams.archiStage,
archiBelongId: this.archiBelongId,
assetConstant: this.assetConstant,
archiType: this.archiType,
// archiAssetTypeId: this.archiAssetTypeId,
archiEleId: this.ruleForm.let4,
assetName: this.ruleForm.let1,
......@@ -864,6 +865,7 @@
appCode: this.showSelectTitle.appCode,
appName: this.showSelectTitle.appName,
isExtend: 0,
state: 2
}
if(this.is_add_edit == 'add') {
addSystemTable(params).then(res => {
......@@ -914,7 +916,7 @@
const params = {
assetId: row.assetId,
state: 0,
assetConstant: this.assetConstant,
archiType: this.archiType,
}
editSystemTable(params).then(res => {
if(res.code == 200) {
......@@ -948,7 +950,7 @@
const params = {
assetId: row.assetId,
state: 1,
assetConstant: this.assetConstant,
archiType: this.archiType,
}
editSystemTable(params).then(res => {
if(res.code == 200) {
......@@ -1096,7 +1098,7 @@
});
const params = {
assetId: assetIdArray,
assetConstant: this.assetConstant,
archiType: this.archiType,
// archiAssetTypeId: this.archiAssetTypeId,
};
MessageBox.confirm('确定删除?', '提示', {
......
......@@ -198,7 +198,7 @@ export default {
},
addStatus: null,
graphGroup: null,
assetConstant: null,
archiType: null,
};
},
mounted(){
......@@ -441,7 +441,7 @@ export default {
localStorage.setItem('commonGraph', JSON.stringify({ show: true, graph: res2[0].dataEle }));
localStorage.setItem('standardGraph', JSON.stringify({ show: true, graph: res2[1].dataEle }));
localStorage.setItem('joinGraph', JSON.stringify({ state: 2, graph: res2[2].dataEle }));
this.$router.push( `/main/archiViewManageDetails?id=${id}&info=${this.graphGroup}&viewId=${this.viewId}&assetConstant=${this.assetConstant}`, () => {}, () => {} );
this.$router.push( `/main/archiViewManageDetails?id=${id}&info=${this.graphGroup}&viewId=${this.viewId}&assetConstant=${this.archiType}`, () => {}, () => {} );
});
}
});
......@@ -454,7 +454,7 @@ export default {
delFlag: 0,
state: 1,
archiBelongId: this.graphGroup,
assetConstant: this.assetConstant,
archiType: this.archiType,
archiViewId: this.viewId
}
queryArchiGraph(params).then(res => {
......@@ -473,7 +473,7 @@ export default {
treeClick(data, node, e) {//树点击的时候
if(!data.subList) {
this.graphGroup = node.parent.data.viewId;
this.assetConstant = node.parent.data.archiType;
this.archiType = node.parent.data.archiType;
this.viewId = data.viewId;
this.pager1.current = 1;
this.pager2.current = 1;
......@@ -498,7 +498,7 @@ export default {
getArchiViewManage(params).then(res => {
if(res.code == 200) {
this.graphGroup = res.data[0].viewId;
this.assetConstant = res.data[0].archiType;
this.archiType = res.data[0].archiType;
this.treeData[0].subList = res.data;
this.treeDefaultExpand = [res.data[0].viewId];
this.currentNodekey = res.data[0].subList[0].viewId;
......
......@@ -82,9 +82,10 @@
</el-table-column>
<el-table-column prop="createTime" label="创建时间" align="center"></el-table-column>
<el-table-column prop="createMan" label="创建人" align="center"></el-table-column>
<el-table-column label="操作" width="300" align="center">
<el-table-column label="操作" width="440" align="center">
<template slot-scope="scope">
<div style="display: flex;align-items: center;justify-content: center;">
<el-button icon="el-icon-view" type="primary" size="mini" @click="viewItem(scope.row)">查看</el-button>
<el-button icon="el-icon-edit" type="primary" size="mini" @click="editItem(scope.row)" :disabled="scope.row.state == 1">编辑</el-button>
<el-button icon="el-icon-upload2" type="primary" size="mini" @click="releaseItem(scope.row)" :disabled="scope.row.state == 1 ">发布</el-button>
<el-button class="shanChu_btn" icon="el-icon-delete" size="mini" @click="deleteItem(scope.row)" :disabled="scope.row.state == 1">删除</el-button>
......@@ -105,7 +106,7 @@
</div>
<el-dialog
:title="is_add_edit == 'add' ? '新建架构' : '编辑架构'"
:title="is_add_edit == 'add' ? '新建架构' : is_add_edit == 'edit' ? '编辑架构' : '查看架构'"
:visible.sync="addDialog"
:center="false"
:close-on-click-modal="false"
......@@ -113,11 +114,11 @@
<el-form :model="ruleForm" :rules="rules" ref="form" style="height: 500px;overflow-y:auto;">
<div class="form_item_container">
<el-form-item label="架构组件名称:" prop="let1">
<el-input placeholder="请输入内容" v-no-backslash v-model="ruleForm.let1" maxlength="100"></el-input>
<el-input placeholder="请输入内容" v-no-backslash v-model="ruleForm.let1" :disabled="is_add_edit == 'view' ? true: false" maxlength="100"></el-input>
</el-form-item>
<el-form-item label="上级节点:" prop="let2">
<el-select class="treeSelectClass" clearable placeholder="请选择" v-model="ruleForm.let2">
<el-select class="treeSelectClass" clearable :disabled="is_add_edit == 'view' ? true: false" placeholder="请选择" v-model="ruleForm.let2">
<!-- <el-option v-for="item in shangJiJieDianSelect" :key="item.assetId" :label="item.assetName" :value="item.assetId"></el-option> -->
<el-option :value="selectValue" :label="selectLabel">
......@@ -141,38 +142,38 @@
</el-select>
</el-form-item> -->
<el-form-item label="排序:" prop="let4">
<el-input-number style="width: 200px;" v-model="ruleForm.let4" :min="0"></el-input-number>
<el-input-number style="width: 200px;" v-model="ruleForm.let4" :disabled="is_add_edit == 'view' ? true: false" :min="0"></el-input-number>
</el-form-item>
<el-form-item label="是否首页展示:" prop="let5">
<el-radio-group v-model="ruleForm.let5">
<el-radio-group v-model="ruleForm.let5" :disabled="is_add_edit == 'view' ? true: false">
<el-radio label="显示"></el-radio>
<el-radio label="隐藏"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="组件类型:" prop="let3">
<el-select @change="zuJianLeiXingSelectChange" filterable remote :remote-method="queryZuJianLeiXingSelect" clearable placeholder="请选择" v-model="ruleForm.let3">
<el-select :disabled="is_add_edit == 'view' ? true: false" @change="zuJianLeiXingSelectChange" filterable remote :remote-method="queryZuJianLeiXingSelect" clearable placeholder="请选择" v-model="ruleForm.let3">
<el-option v-for="item in zuJianLeiXingSelect" :key="item.elementId" :label="item.elementName" :value="item.elementId"></el-option>
</el-select>
</el-form-item>
<el-form-item class="dynamicFormClass" v-for="(item, index) in ruleForm.dynamicForm0_" :key="index" :label="item.assetName+':'">
<el-input placeholder="请输入内容" v-no-backslash v-model="item.relaName" maxlength="100"></el-input>
<el-input :disabled="is_add_edit == 'view' ? true: false" placeholder="请输入内容" v-no-backslash v-model="item.relaName" maxlength="100"></el-input>
</el-form-item>
<el-form-item class="dynamicFormClass" v-for="(item, index) in ruleForm.dynamicForm_" :key="index" :label="item.cnName+':'">
<template v-if="item.controlType == 0">
<el-input placeholder="请输入内容" v-no-backslash v-model="item.value_" maxlength="100"></el-input>
<el-input :disabled="is_add_edit == 'view' ? true: false" placeholder="请输入内容" v-no-backslash v-model="item.value_" maxlength="100"></el-input>
</template>
<template v-else-if="item.controlType == 1">
<el-input placeholder="请输入内容" v-no-backslash v-model="item.value_" type="textarea" :rows="3" maxlength="200" show-word-limit></el-input>
<el-input :disabled="is_add_edit == 'view' ? true: false" placeholder="请输入内容" v-no-backslash v-model="item.value_" type="textarea" :rows="3" maxlength="200" show-word-limit></el-input>
</template>
<template v-else>
<el-select class="selectComponent" v-model="item.value_" clearable>
<el-select :disabled="is_add_edit == 'view' ? true: false" class="selectComponent" v-model="item.value_" clearable>
<el-option v-for="item2 in item.dictArray_" :key="item2.id" :label="item2.label" :value="item2.id"></el-option>
</el-select>
</template>
</el-form-item>
</div>
</el-form>
<span slot="footer" class="dialog-footer">
<span slot="footer" class="dialog-footer" v-if="is_add_edit == 'view' ? false: true">
<el-button class="greenButton" @click="saveDialog">确定</el-button>
<el-button @click="cancelDialog">取消</el-button>
</span>
......@@ -271,7 +272,7 @@
{ required: true, message: '请输入架构组件名称', trigger: 'blur' },
],
let3: [
{ required: true, message: '请选择节点类型', trigger: 'change' },
{ required: true, message: '请选择组件类型', trigger: 'change' },
],
},
rules2: {
......@@ -315,7 +316,7 @@
editRow: null,
guanLianZiChanSelect: [],
archiBelongId: null,
assetConstant: null,
archiType: null,
// archiAssetTypeId: null,
treeSelectData: [],
};
......@@ -357,7 +358,7 @@
getGuanLianZiChanSelectData(assetName) {//关联资产下拉菜单
const params = {
assetName: assetName,
assetConstant: this.assetConstant
archiType: this.archiType
}
queryGuanLianZiChanSelect(params).then(res => {
// console.log(res)
......@@ -376,7 +377,6 @@
// parentAssetName = items.assetName;
// assetCode = items.parentCode;
// }
const items2 = this.zuJianLeiXingSelect.find(item => item.elementId == this.ruleForm.let3);
eleName = items2.elementName;
......@@ -409,7 +409,7 @@
archiAssetState: this.searchParams.archiAssetState,
archiStage: this.searchParams.archiStage,
archiBelongId: this.archiBelongId,
assetConstant: this.assetConstant,
archiType: this.archiType,
// archiAssetTypeId: this.archiAssetTypeId,
archiEleId: this.ruleForm.let3,
assetName: this.ruleForm.let1,
......@@ -496,7 +496,7 @@
"assetName": this.searchParams.assetName,
"createMan": this.searchParams.createMan,
"archiEleId": this.searchParams.archiEleId,
"assetConstant": this.assetConstant,
"archiType": this.archiType,
// "archiAssetTypeId": this.archiAssetTypeId,
"current": this.pager.current,
"pageSize": this.pager.size,
......@@ -549,7 +549,53 @@
});
},
viewItem(row) {//查看架构
this.getZuJianLeiXingSelect(null);
this.addDialog = true;
this.is_add_edit = 'view';
this.ruleForm.let1 = row.assetName;
this.ruleForm.let2 = row.parentAssetName;
this.ruleForm.let3 = row.archiEleId;
this.ruleForm.let4 = row.sort;
this.ruleForm.let5 = row.isShow == 0 ? '显示' : '隐藏';
this.editRow = row;
let fieldsValue = row.fieldsValue;
let targetAsset = row.targetAsset;
this.selectCode = row.assetCode;
this.selectLabel = row.parentAssetName;
this.selectValue = row.parentAssetId;
let targetAsset_id = [];
if(targetAsset) {
if(targetAsset.length == 4) {
this.ruleForm.dynamicForm0_ = [];
}else {
let targetAsset_ = JSON.parse(targetAsset);
this.ruleForm.dynamicForm0_ = targetAsset_;
targetAsset_.forEach(item => {
targetAsset_id.push(
item.assetId
)
})
}
this.ruleForm.let6 = targetAsset_id;
}
if(fieldsValue.length == 4) {
this.ruleForm.dynamicForm_ = [];
}else {
let fieldsValue_ = JSON.parse(fieldsValue);
fieldsValue_.map(item => {
if(item.dictKey) {
this.get_key(item.dictKey).then(res2 => {
this.$set(item, 'dictArray_', res2);
})
}
});
this.ruleForm.dynamicForm_ = fieldsValue_;
}
},
editItem(row){//编辑
this.getZuJianLeiXingSelect(null);
this.addDialog = true;
this.is_add_edit = 'edit';
this.ruleForm.let1 = row.assetName;
......@@ -564,19 +610,22 @@
this.selectLabel = row.parentAssetName;
this.selectValue = row.parentAssetId;
let targetAsset_id = [];
if(targetAsset.length == 4) {
this.ruleForm.dynamicForm0_ = [];
}else {
let targetAsset_ = JSON.parse(targetAsset);
this.ruleForm.dynamicForm0_ = targetAsset_;
targetAsset_.forEach(item => {
targetAsset_id.push(
item.assetId
)
})
}
this.ruleForm.let6 = targetAsset_id;
if(targetAsset) {
if(targetAsset.length == 4) {
this.ruleForm.dynamicForm0_ = [];
}else {
let targetAsset_ = JSON.parse(targetAsset);
this.ruleForm.dynamicForm0_ = targetAsset_;
targetAsset_.forEach(item => {
targetAsset_id.push(
item.assetId
)
})
}
this.ruleForm.let6 = targetAsset_id;
}
if(fieldsValue.length == 4) {
this.ruleForm.dynamicForm_ = [];
......@@ -612,7 +661,7 @@
resolve([]);
}else {
const params = {
archiType: this.assetConstant,
archiType: this.archiType,
parentAssetId: node.data.assetId,
archiAssetState: this.searchParams.archiAssetState,
archiStage: this.searchParams.archiStage,
......@@ -628,7 +677,7 @@
getShangJiJieDianSelect() {//上级节点下拉框值
const params = {
archiType: this.assetConstant,
archiType: this.archiType,
archiAssetState: this.searchParams.archiAssetState,
archiStage: this.searchParams.archiStage,
// parentAssetId: this.archiBelongId,
......@@ -726,7 +775,7 @@
});
const params = {
assetId: assetIdArray,
assetConstant: this.assetConstant,
archiType: this.archiType,
// archiAssetTypeId: this.archiAssetTypeId,
};
MessageBox.confirm('确定删除?', '提示', {
......@@ -766,7 +815,7 @@
// console.log(event.target.files[0]);
var formData = new FormData();
formData.append("file", event.target.files[0]);
formData.append("typeCode", this.assetConstant);
formData.append("typeCode", this.archiType);
importZhiChanJiaGou(formData).then(res => {
if(res.code == 200) {
this.get_table();
......@@ -821,7 +870,7 @@
const params = {
assetId: row.assetId,
state: 1,
assetConstant: this.assetConstant,
archiType: this.archiType,
}
editZiChanJiaGouTable(params).then(res => {
if(res.code == 200) {
......@@ -854,7 +903,7 @@
}).then(() => {
const params = {
assetId: [row.assetId],
assetConstant: this.assetConstant,
archiType: this.archiType,
// archiAssetTypeId: this.archiAssetTypeId,
}
deleteMoreZiChanJiaGouTable(params).then(res => {
......@@ -889,7 +938,7 @@
treeClick(data) {//左侧树点击
if(!data.archiBelongId) return;
this.archiBelongId = data.archiBelongId;
this.assetConstant = data.assetConstant;
this.archiType = data.archiType;
// this.archiAssetTypeId = data.viewId;
this.get_table();
},
......@@ -906,74 +955,35 @@
item.subList = [];
switch(item.viewName){
case '安全架构':
item['assetConstant'] = 'ARCHI_SAFE';
item['archiType'] = 'ARCHI_SAFE';
item['archiBelongId'] = 5;
break;
case '技术架构':
item['assetConstant'] = 'ARCHI_TECHNOLOGY';
item['archiType'] = 'ARCHI_TECHNOLOGY';
item['archiBelongId'] = 4;
break;
case '数据架构':
item['assetConstant'] = 'ARCHI_DATA';
item['archiType'] = 'ARCHI_DATA';
item['archiBelongId'] = 3;
break;
case '应用架构':
item['assetConstant'] = 'ARCHI_APPLICATION';
item['archiType'] = 'ARCHI_APPLICATION';
item['archiBelongId'] = 2;
break;
case '业务架构':
item['assetConstant'] = 'ARCHI_BUSINESS';
item['archiType'] = 'ARCHI_BUSINESS';
item['archiBelongId'] = 1;
break;
}
});
// res.data.map(item => {
// switch(item.viewName){
// case '安全架构':
// item.subList.map(item2 => {
// item2['assetConstant'] = 'ARCHI_SAFE';
// item2['archiBelongId'] = 5;
// })
// break;
// case '技术架构':
// item.subList.map(item2 => {
// item2['assetConstant'] = 'ARCHI_TECHNOLOGY';
// item2['archiBelongId'] = 4;
// })
// break;
// case '数据架构':
// item.subList.map(item2 => {
// item2['assetConstant'] = 'ARCHI_DATA';
// item2['archiBelongId'] = 3;
// })
// break;
// case '应用架构':
// item.subList.map(item2 => {
// item2['assetConstant'] = 'ARCHI_APPLICATION';
// item2['archiBelongId'] = 2;
// })
// break;
// case '业务架构':
// item.subList.map(item2 => {
// item2['assetConstant'] = 'ARCHI_BUSINESS';
// item2['archiBelongId'] = 1;
// })
// break;
// }
// });
this.treeData[0].subList = res.data;
this.archiBelongId = res.data[0].archiBelongId;
this.assetConstant = res.data[0].assetConstant;
this.archiType = res.data[0].archiType;
// this.archiAssetTypeId = res.data[0].viewId;
this.getShangJiJieDianSelect();
this.getGuanLianZiChanSelectData(null);
......
......@@ -170,7 +170,6 @@ export default {
font-size: 14px;
color: #0D867F;
cursor: pointer;
margin-left: 15px;
}
.cancel_version_btn{
display: flex;
......
......@@ -170,7 +170,6 @@ export default {
font-size: 14px;
color: #0D867F;
cursor: pointer;
margin-left: 15px;
}
.cancel_version_btn{
display: flex;
......
......@@ -171,7 +171,6 @@ export default {
font-size: 14px;
color: #0D867F;
cursor: pointer;
margin-left: 15px;
}
.cancel_version_btn{
display: flex;
......
......@@ -168,7 +168,6 @@ export default {
font-size: 14px;
color: #0D867F;
cursor: pointer;
margin-left: 15px;
}
.cancel_version_btn{
display: flex;
......
......@@ -168,7 +168,6 @@ export default {
font-size: 14px;
color: #0D867F;
cursor: pointer;
margin-left: 15px;
}
.cancel_version_btn{
display: flex;
......
......@@ -359,15 +359,17 @@ export default {
}
}else if (type == "del") {
// 删除
this.formData = item;
this.formData.delFlag = 1;
const params = {
talentId: item.talentId,
delFlag: 1,
}
this.$confirm("确认删除吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
confirmButtonClass: 'confirmClass',
type: "warning"
}).then(() => {
getETPManageUpdate(this.formData).then(res => {
getETPManageUpdate(params).then(res => {
if (res.code == 200) {
this.$message.success("删除成功");
this.getList();
......
<template>
<div class="reviewArchiFollowCheckDetails">
<el-tabs>
<el-tab-pane label="安全架构遵从">
<el-tabs v-model="activeName">
<el-tab-pane label="安全架构遵从" name="1">
<Tab1></Tab1>
</el-tab-pane>
<el-tab-pane label="部署架构审查">
<el-tab-pane label="部署架构审查" name="2">
<Tab2></Tab2>
</el-tab-pane>
<el-tab-pane label="技术架构遵从">
<el-tab-pane label="技术架构遵从" name="3">
<Tab3></Tab3>
</el-tab-pane>
<el-tab-pane label="应用架构遵从">
<el-tab-pane label="应用架构遵从" name="4">
<Tab4></Tab4>
</el-tab-pane>
<el-tab-pane label="物理数据架构遵从">
<el-tab-pane label="物理数据架构遵从" name="5">
<Tab5></Tab5>
</el-tab-pane>
</el-tabs>
......@@ -43,11 +43,11 @@
},
data() {
return {
routerId: null,
activeName: '1'
};
},
mounted(){
this.activeName = this.$route.query.type;
},
methods: {
......
<template>
<div class="reviewArchiFollowCheck">
<div class="table_container">
<div class="search_menu">
<div class="search_menu_item_container">
<div class="search_menu_item">
<span class="search_title">单位</span>
<el-select v-model="searchParams.let1" placeholder="请选择" class="search_item">
<el-option v-for="item in fuHeDu" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</div>
<div class="search_menu_item">
<span class="search_title">部门</span>
<el-select v-model="searchParams.let2" placeholder="请选择" class="search_item">
<el-option v-for="item in fuHeDu" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</div>
<div class="search_menu_item">
<span class="search_title">系统名称</span>
<el-input v-no-backslash v-model="searchParams.let3" maxlength="100" placeholder="请输入内容" class="search_item"></el-input>
</div>
<div class="search_menu_item">
<span class="search_title">建设类型</span>
<el-select v-model="searchParams.let4" placeholder="请选择" class="search_item">
<el-option v-for="item in ziJianLeiXing" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</div>
<div class="reviewArchiFollowCheck">
<div class="table_container">
<div class="search_menu">
<div class="search_menu_item_container">
<div class="search_menu_item">
<span class="search_title">单位</span>
<el-select
v-model="searchParams.let1"
placeholder="请选择"
class="search_item"
>
<el-option
v-for="item in fuHeDu"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
<div class="search_menu_item">
<span class="search_title">部门</span>
<el-select
v-model="searchParams.let2"
placeholder="请选择"
class="search_item"
>
<el-option
v-for="item in fuHeDu"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
<div class="search_menu_item">
<span class="search_title">系统名称</span>
<el-input
v-no-backslash
v-model="searchParams.let3"
maxlength="100"
placeholder="请输入内容"
class="search_item"
></el-input>
</div>
<div class="search_menu_item">
<span class="search_title">建设类型</span>
<el-select
v-model="searchParams.let4"
placeholder="请选择"
class="search_item"
>
<el-option
v-for="item in ziJianLeiXing"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
</div>
<div class="search_menu_btn_container">
<div class="query_btn" @click="search_table">
<img
class="btn_icon"
src="@/assets/archi-ele-list/search.png"
alt=""
/>
<p>查询</p>
</div>
<div class="reset_btn" @click="reset">
<img
class="btn_icon"
src="@/assets/archi-ele-list/reset.png"
alt=""
/>
<p>重置</p>
</div>
</div>
</div>
<div class="search_btn">
<el-button type="primary" size="medium" @click="toDetails">概设遵从情况</el-button>
</div>
<el-table
:height="tableHeight"
v-loading="loading"
@selection-change="select_table_rows"
:data="tableData"
stripe
border
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
<el-table-column prop="manageOrgId" label="单位" align="center"></el-table-column>
<el-table-column prop="manageDeptId" label="部门" align="center"></el-table-column>
<el-table-column prop="appName" label="系统名称" align="center" width="200" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="buildType" label="建设类型" align="center">
<template slot-scope="scope">
<span v-if="scope.row.buildType == 1">统推</span>
<span v-else-if="scope.row.buildType == 2">自建</span>
</template>
</el-table-column>
<el-table-column prop="prjName" label="项目名称" align="center" width="200" :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="是否续建" align="center">
<template slot-scope="scope">
<span v-if="scope.row.prjPlanClass == 1"></span>
<span v-else-if="scope.row.prjPlanClass == 2"></span>
</template>
</el-table-column>
<el-table-column prop="manageOrgId" label="承建单位" align="center"></el-table-column>
<el-table-column prop="projectManager" label="项目经理" align="center"></el-table-column>
<el-table-column prop="remark" label="安全架构遵从" align="center">
<template slot-scope="scope">
<el-button type="text" @click="check(scope.row, '1')">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="remark" label="部署架构审查" align="center">
<template slot-scope="scope">
<el-button type="text" @click="check(scope.row, '2')">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="remark" label="技术架构遵从" align="center">
<template slot-scope="scope">
<el-button type="text" @click="check(scope.row, '3')">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="remark" label="应用架构遵从" align="center">
<template slot-scope="scope">
<el-button type="text" @click="check(scope.row, '4')">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="remark" label="物理数据架构遵从" align="center">
<template slot-scope="scope">
<el-button type="text" @click="check(scope.row, '5')">查看</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pager.current"
:page-sizes="pager.sizes"
:page-size="pager.size"
layout="total, sizes, prev, pager, next, jumper"
:total="pager.total"
>
</el-pagination>
</div>
<div class="search_menu_btn_container">
<div class="query_btn" @click="search_table">
<img class="btn_icon" src="@/assets/archi-ele-list/search.png" alt=""/>
<p>查询</p>
</div>
<div class="reset_btn" @click="reset">
<img class="btn_icon" src="@/assets/archi-ele-list/reset.png" alt=""/>
<p>重置</p>
</div>
</div>
</div>
<div class="search_btn">
<el-button type="primary" size="medium" @click="toDetails">概设遵从情况</el-button>
</div>
<el-table :height="tableHeight" v-loading="loading" @selection-change="select_table_rows" :data="tableData" stripe border>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
<el-table-column prop="manageOrgId" label="单位" align="center"></el-table-column>
<el-table-column prop="manageDeptId" label="部门" align="center"></el-table-column>
<el-table-column prop="appName" label="系统名称" align="center" width="200" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="buildType" label="建设类型" align="center">
<template slot-scope="scope">
<span v-if="scope.row.buildType == 1">统推</span>
<span v-else-if="scope.row.buildType == 2">自建</span>
</template>
</el-table-column>
<el-table-column prop="prjName" label="项目名称" align="center"></el-table-column>
<el-table-column prop="prjPlanClass" label="是否续建" align="center"></el-table-column>
<el-table-column prop="manageOrgId" label="承建单位" align="center"></el-table-column>
<el-table-column prop="projectManager" label="项目经理" align="center"></el-table-column>
<el-table-column prop="remark" label="安全架构遵从" align="center">
<template slot-scope="scope">
<el-button type="text" @click="check(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="remark" label="部署架构审查" align="center">
<template slot-scope="scope">
<el-button type="text" @click="check(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="remark" label="技术架构遵从" align="center">
<template slot-scope="scope">
<el-button type="text" @click="check(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="remark" label="应用架构遵从" align="center">
<template slot-scope="scope">
<el-button type="text" @click="check(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="remark" label="物理数据架构遵从" align="center">
<template slot-scope="scope">
<el-button type="text" @click="check(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pager.current"
:page-sizes="pager.sizes"
:page-size="pager.size"
layout="total, sizes, prev, pager, next, jumper"
:total="pager.total">
</el-pagination>
<el-dialog
:title="is_add_edit == 'add' ? '新建字典' : '编辑字典'"
:visible.sync="add_dialog"
:center="false"
:close-on-click-modal="false"
width="60%">
<el-form
:model="ruleForm"
ref="form"
:rules="rules"
style="display: flex; flex-wrap: wrap">
<el-form-item label="字典名称:" prop="let1">
<el-input
v-no-backslash
v-model="ruleForm.let1"
maxlength="100"
></el-input>
</el-form-item>
<el-form-item label="字典标识:" prop="let2">
<el-input
v-no-backslash
v-model="ruleForm.let2"
maxlength="100"
></el-input>
</el-form-item>
<el-form-item class="cross1" label="描述:" prop="let3">
<el-input
v-no-backslash
v-model="ruleForm.let3"
type="textarea"
:rows="3"
maxlength="200"
show-word-limit
placeholder="请输入内容"
></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button class="greenButton" @click="save_dicy">保存</el-button>
<el-button @click="add_dialog = false">取消</el-button>
</span>
</el-dialog>
</div>
<el-dialog
:title="is_add_edit == 'add' ? '新建字典' : '编辑字典'"
:visible.sync="add_dialog"
:center="false"
:close-on-click-modal="false"
width="60%">
<el-form :model="ruleForm" ref="form" :rules="rules" style="display: flex;flex-wrap: wrap;">
<el-form-item label="字典名称:" prop="let1">
<el-input v-no-backslash v-model="ruleForm.let1" maxlength="100"></el-input>
</el-form-item>
<el-form-item label="字典标识:" prop="let2">
<el-input v-no-backslash v-model="ruleForm.let2" maxlength="100"></el-input>
</el-form-item>
<el-form-item class="cross1" label="描述:" prop="let3">
<el-input v-no-backslash v-model="ruleForm.let3" type="textarea" :rows="3" maxlength="200" show-word-limit placeholder="请输入内容"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button class="greenButton" @click="save_dicy">保存</el-button>
<el-button @click="add_dialog = false">取消</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {
getJiShuZhengCeGuanLianShiYongTable,
getDianXingAnLiSelectData, getGaiSheJiaGouZunCongJiaChaTable, gAllDictKey
} from '@/api/index.js';
import {MessageBox, Message} from 'element-ui';
import $ from 'jquery';
getDianXingAnLiSelectData,
getGaiSheJiaGouZunCongJiaChaTable,
} from "@/api/index.js";
import { MessageBox, Message } from "element-ui";
import $ from "jquery";
export default {
name: 'reviewArchiFollowCheck',
components: {},
data() {
return {
ruleForm: {
let1: '',
let2: '',
let3: '',
},
rules: {},
add_dialog: false,
is_add_edit: 'add',
tableData: [],
loading: false,
search_select1: [],
pager: {
current: 1,
sizes: [10, 20, 50, 100, 200],
size: 10,
total: 20 //总条数
},
tableHeight: null,
searchParams: {
let1: null,
let2: null,
let3: null,
let4: null,
},
fuHeDu: [],
ziJianLeiXing: [],
selectRows: []
};
},
mounted() {
window.addEventListener('resize', () => {
this.set_table_height();
})
this.set_table_height();
this.get_table();
this.get_fu_he_du_select().then(res => {
this.fuHeDu = res;
})
this.get_zi_jian_lei_xing_select().then(
res => {
this.ziJianLeiXing = res;
}
)
},
methods: {
select_table_rows(data) {//表格的勾选
this.selectRows = data;
name: "reviewArchiFollowCheck",
components: {},
data() {
return {
ruleForm: {
let1: "",
let2: "",
let3: "",
},
rules: {},
add_dialog: false,
is_add_edit: "add",
tableData: [],
loading: false,
search_select1: [],
pager: {
current: 1,
sizes: [10, 20, 50, 100, 200],
size: 10,
total: 20, //总条数
},
tableHeight: null,
searchParams: {
let1: null,
let2: null,
let3: null,
let4: null,
},
fuHeDu: [],
ziJianLeiXing: [],
selectRows: [],
};
},
toDetails() {
if (this.selectRows.length == 0) {
Message({
type: 'warning',
message: '请选择一条数据!'
mounted() {
window.addEventListener("resize", () => {
this.set_table_height();
});
return;
}
if (this.selectRows.length > 1) {
Message({
type: 'warning',
message: '只能选择一条数据!'
this.set_table_height();
this.get_table();
this.get_fu_he_du_select().then((res) => {
this.fuHeDu = res;
});
this.get_zi_jian_lei_xing_select().then((res) => {
this.ziJianLeiXing = res;
});
return;
}
this.$router.push(`/main/reviewArchiFollowCheckDetails`, () => {
}, () => {
});
},
save_dicy() {//保存字典
this.$refs.form.validate(valid => {
if (valid) {
} else {
return false;
}
});
},
get_fu_he_du_select() {//符合度下拉
const params = {
key: "tech_compliance"
}
return new Promise((resolve, reject) => {
getDianXingAnLiSelectData(params).then(res => {
if (res.code == 200) {
resolve(res.data);
}
})
})
},
get_zi_jian_lei_xing_select() {//自建类型下拉
const params = {
key: "build_type"
}
return new Promise((resolve, reject) => {
getDianXingAnLiSelectData(params).then(res => {
if (res.code == 200) {
resolve(res.data);
}
})
})
},
set_table_height() {//动态设置表格高度
const table_container_height = $(".table_container").height();
const search_menu_height = $(".search_menu").height();
const search_btn_height = $(".search_btn").outerHeight(true);
this.tableHeight = table_container_height - search_menu_height - search_btn_height - 90 + 'px';
},
search_table() {//搜索
this.pager.current = 1;
this.get_table();
},
reset() {//重置
this.searchParams.let1 = null;
this.searchParams.let2 = null;
this.searchParams.let3 = null;
this.searchParams.let4 = null;
},
// 每页条数改变
handleSizeChange(val) {
this.pager.current = 1;
this.pager.size = val;
this.get_table();
},
//当前页码改变
handleCurrentChange(val) {
this.pager.current = val;
this.get_table();
},
get_table() {//查询表格数据
this.loading = true;
const params = {
"policyName": this.searchParams.let1,
"conformCount": this.searchParams.let2,
"prjName": this.searchParams.let3,
"buildType": this.searchParams.let4,
"current": this.pager.current,
"pageSize": this.pager.size,
};
getGaiSheJiaGouZunCongJiaChaTable(params).then(res => {
this.loading = false;
if (res.code === 200) {
this.loading = false;
this.tableData = res.data.records;
this.pager.current = res.data.current;
this.pager.total = res.data.total;
this.pager.size = res.data.size;
}
});
methods: {
select_table_rows(data) {
//表格的勾选
this.selectRows = data;
},
toDetails() {//概设遵从情况点击
if (this.selectRows.length == 0) {
Message({
type: "warning",
message: "请选择一条数据!",
});
return;
}
if (this.selectRows.length > 1) {
Message({
type: "warning",
message: "只能选择一条数据!",
});
return;
}
const prjId = this.selectRows[0].prjId;
this.$router.push(
`/main/reviewArchiFollowCheckDetails?prjId=${prjId}&type=1`,
() => {},
() => {}
);
},
check(row, type) {//查看点击
this.$router.push(
`/main/reviewArchiFollowCheckDetails?prjId=${row.prjId}&type=${type}`,
() => {},
() => {}
);
},
save_dicy() {
//保存字典
this.$refs.form.validate((valid) => {
if (valid) {
} else {
return false;
}
});
},
get_fu_he_du_select() {
//符合度下拉
const params = {
key: "tech_compliance",
};
return new Promise((resolve, reject) => {
getDianXingAnLiSelectData(params).then((res) => {
if (res.code == 200) {
resolve(res.data);
}
});
});
},
get_zi_jian_lei_xing_select() {
//自建类型下拉
const params = {
key: "build_type",
};
return new Promise((resolve, reject) => {
getDianXingAnLiSelectData(params).then((res) => {
if (res.code == 200) {
resolve(res.data);
}
});
});
},
set_table_height() {
//动态设置表格高度
const table_container_height = $(".table_container").height();
const search_menu_height = $(".search_menu").height();
const search_btn_height = $(".search_btn").outerHeight(true);
this.tableHeight = table_container_height - search_menu_height - search_btn_height - 90 + "px";
},
search_table() {
//搜索
this.pager.current = 1;
this.get_table();
},
reset() {
//重置
this.searchParams.let1 = null;
this.searchParams.let2 = null;
this.searchParams.let3 = null;
this.searchParams.let4 = null;
},
// 每页条数改变
handleSizeChange(val) {
this.pager.current = 1;
this.pager.size = val;
this.get_table();
},
//当前页码改变
handleCurrentChange(val) {
this.pager.current = val;
this.get_table();
},
get_table() {
//查询表格数据
this.loading = true;
const params = {
policyName: this.searchParams.let1,
conformCount: this.searchParams.let2,
prjName: this.searchParams.let3,
buildType: this.searchParams.let4,
current: this.pager.current,
pageSize: this.pager.size,
};
getGaiSheJiaGouZunCongJiaChaTable(params).then((res) => {
this.loading = false;
if (res.code === 200) {
this.loading = false;
this.tableData = res.data.records;
this.pager.current = res.data.current;
this.pager.total = res.data.total;
this.pager.size = res.data.size;
}
});
},
},
}
}
};
</script>
<style>
.confirmClass {
background-color: #0D867F !important;
background-color: #0d867f !important;
}
.el-message-box__content {
padding: 60px 15px 60px 15px;
padding: 60px 15px 60px 15px;
}
</style>
<style scoped>
.version_btn {
display: flex;
align-items: center;
justify-content: center;
width: 84px;
height: 32px;
background: rgba(13, 134, 127, 0.1);
border-radius: 6px 6px 6px 6px;
/* border: 1px solid #0D867F; */
font-size: 14px;
color: #0D867F;
cursor: pointer;
margin-left: 15px;
display: flex;
align-items: center;
justify-content: center;
width: 84px;
height: 32px;
background: rgba(13, 134, 127, 0.1);
border-radius: 6px 6px 6px 6px;
/* border: 1px solid #0D867F; */
font-size: 14px;
color: #0d867f;
cursor: pointer;
margin-left: 15px;
}
.cancel_version_btn {
display: flex;
align-items: center;
justify-content: center;
width: 104px;
height: 32px;
background: rgba(13, 134, 127, 0.1);
border-radius: 6px 6px 6px 6px;
/* border: 1px solid #0D867F; */
font-size: 14px;
color: #0D867F;
cursor: pointer;
margin-left: 15px;
display: flex;
align-items: center;
justify-content: center;
width: 104px;
height: 32px;
background: rgba(13, 134, 127, 0.1);
border-radius: 6px 6px 6px 6px;
/* border: 1px solid #0D867F; */
font-size: 14px;
color: #0d867f;
cursor: pointer;
margin-left: 15px;
}
.reviewArchiFollowCheck {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.el-button--primary {
background: rgba(13, 134, 127, 0.1);
color: #0D867F;
border: 0;
background: rgba(13, 134, 127, 0.1);
color: #0d867f;
border: 0;
}
.el-button--text{
color: #0d867f;
}
/deep/ .el-input-group__append {
background-color: #0D867F;
color: #fff;
cursor: pointer;
background-color: #0d867f;
color: #fff;
cursor: pointer;
}
.search_btn {
width: 100%;
display: flex;
margin-top: 50px;
margin-bottom: 20px;
width: 100%;
display: flex;
margin-top: 50px;
margin-bottom: 20px;
}
.search_menu {
display: flex;
justify-content: space-between;
margin-bottom: 50px;
display: flex;
justify-content: space-between;
margin-bottom: 50px;
}
.search_menu_item_container {
display: flex;
align-items: center;
display: flex;
align-items: center;
}
.search_menu_btn_container {
display: flex;
align-items: center;
display: flex;
align-items: center;
}
.search_menu_item {
display: flex;
align-items: center;
width: 344px;
display: flex;
align-items: center;
width: 344px;
}
.search_title {
/* width: 20%; */
flex-shrink: 0;
margin-right: 15px;
/* width: 20%; */
flex-shrink: 0;
margin-right: 15px;
}
.search_item {
width: 60%;
width: 60%;
}
.query_btn {
display: flex;
align-items: center;
justify-content: center;
width: 76px;
height: 32px;
background: rgba(13, 134, 127, 1);
border-radius: 6px 6px 6px 6px;
border: 1px solid #0D867F;
font-size: 14px;
color: #fff;
margin-right: 10px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
width: 76px;
height: 32px;
background: rgba(13, 134, 127, 1);
border-radius: 6px 6px 6px 6px;
border: 1px solid #0d867f;
font-size: 14px;
color: #fff;
margin-right: 10px;
cursor: pointer;
}
.reset_btn {
display: flex;
align-items: center;
justify-content: center;
width: 76px;
height: 32px;
background: rgba(244, 244, 244, 1);
border-radius: 6px 6px 6px 6px;
border: 1px solid #ccc;
font-size: 14px;
color: #666;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
width: 76px;
height: 32px;
background: rgba(244, 244, 244, 1);
border-radius: 6px 6px 6px 6px;
border: 1px solid #ccc;
font-size: 14px;
color: #666;
cursor: pointer;
}
.btn_icon {
margin-right: 10px;
margin-right: 10px;
}
.table_container {
width: 97%;
height: calc(100% - 40px);
margin-top: 20px;
width: 97%;
height: calc(100% - 40px);
margin-top: 20px;
}
.el-pagination {
margin-top: 30px;
margin-top: 30px;
}
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
background-color: #0D867F;
background-color: #0d867f;
}
/deep/ .el-dialog__header {
background-color: #0D867F;
text-align: left;
background-color: #0d867f;
text-align: left;
}
/deep/ .el-dialog__title {
color: #fff;
color: #fff;
}
/deep/ .el-dialog__close {
color: #fff;
color: #fff;
}
.greenButton {
background-color: #0D867F;
color: #fff;
background-color: #0d867f;
color: #fff;
}
.el-form-item {
display: flex;
align-items: center;
width: 33%;
display: flex;
align-items: center;
width: 33%;
}
</style>
\ No newline at end of file
......@@ -9,9 +9,10 @@
</div>
<div class="right_container">
<el-alert title="评审内容" type="success" :closable="false"></el-alert>
<el-select v-model="select2" class="rightSelect">
<el-option label="1" value="1"></el-option>
<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-select>
<img :src="rightImageSrc" alt="">
</div>
</div>
<div class="bottom_container">
......@@ -20,9 +21,9 @@
<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="2">不通过</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>
......@@ -31,7 +32,8 @@
<script>
import {
getArchiViewManageTable
getReviewArchiFollowCheckRightGraph,
saveReviewArchiFollowCheckRightSuggestion
} from '@/api/index.js';
import { MessageBox, Message } from 'element-ui';
export default {
......@@ -45,13 +47,54 @@ export default {
textarea: '',
select1: null,
select2: null,
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,
}
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;
}
}
})
},
select2Change(data) {//右侧下拉框选择
const res = this.rightSelect.find(item => item.viewDetailsId == data);
this.rightImageSrc = 'data:image/svg+xml;base64,'+ res.metaModelSvg;
},
saveSuggestion() {//保存
const params = {
"archiPrjReviewEnum": "CONFORMANCE_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>
......
......@@ -217,7 +217,7 @@ export default {
],
},
graphGroup: null,
assetConstant: null,
archiType: null,
};
},
mounted(){
......@@ -344,7 +344,7 @@ export default {
getArchiViewManage(params).then(res => {
if(res.code == 200) {
this.graphGroup = res.data[0].viewId;
this.assetConstant = res.data[0].archiType;
this.archiType = res.data[0].archiType;
this.treeData[0].subList = res.data;
this.currentNodekey = res.data[0].subList[0].viewId;
this.$nextTick(() => {
......@@ -359,7 +359,7 @@ export default {
treeClick(data, node, e) {//树点击的时候
if(!data.subList) {
this.graphGroup = node.parent.data.viewId;
this.assetConstant = node.parent.data.archiType;
this.archiType = node.parent.data.archiType;
this.viewId = data.viewId;
this.pager.current = 1;
this.get_list();
......@@ -408,7 +408,7 @@ export default {
localStorage.setItem('commonGraph', JSON.stringify({ show: true, graph: [] }));
localStorage.setItem('standardGraph', JSON.stringify({ show: true, graph: [] }));
localStorage.setItem('joinGraph', JSON.stringify({ state: 2, graph: res.dataEle }));
this.$router.push( `/main/summaryArchiDesignDetails?id=${id}&info=${this.graphGroup}&viewId=${this.viewId}&assetConstant=${this.assetConstant}`, () => {}, () => {} );
this.$router.push( `/main/summaryArchiDesignDetails?id=${id}&info=${this.graphGroup}&viewId=${this.viewId}&assetConstant=${this.archiType}`, () => {}, () => {} );
});
}
});
......@@ -421,7 +421,7 @@ export default {
delFlag: 0,
state: 1,
archiBelongId: this.graphGroup,
assetConstant: this.assetConstant,
archiType: this.archiType,
archiViewId: this.viewId,
prjId: this.showSelectTitle.prjId
}
......
......@@ -210,7 +210,7 @@ export default {
],
},
graphGroup: null,
assetConstant: null,
archiType: null,
};
},
mounted(){
......@@ -337,7 +337,7 @@ export default {
getArchiViewManage(params).then(res => {
if(res.code == 200) {
this.graphGroup = res.data[0].viewId;
this.assetConstant = res.data[0].archiType;
this.archiType = res.data[0].archiType;
this.treeData[0].subList = res.data;
this.currentNodekey = res.data[0].subList[0].viewId;
this.$nextTick(() => {
......@@ -352,7 +352,7 @@ export default {
treeClick(data, node, e) {//树点击的时候
if(!data.subList) {
this.graphGroup = node.parent.data.viewId;
this.assetConstant = node.parent.data.archiType;
this.archiType = node.parent.data.archiType;
this.viewId = data.viewId;
this.pager.current = 1;
this.get_list();
......@@ -401,7 +401,7 @@ export default {
localStorage.setItem('commonGraph', JSON.stringify({ show: true, graph: [] }));
localStorage.setItem('standardGraph', JSON.stringify({ show: true, graph: [] }));
localStorage.setItem('joinGraph', JSON.stringify({ state: 2, graph: res.dataEle }));
this.$router.push( `/main/systemArchiViewDesignDetails?id=${id}&info=${this.graphGroup}&viewId=${this.viewId}&assetConstant=${this.assetConstant}`, () => {}, () => {} );
this.$router.push( `/main/systemArchiViewDesignDetails?id=${id}&info=${this.graphGroup}&viewId=${this.viewId}&assetConstant=${this.archiType}`, () => {}, () => {} );
});
}
});
......@@ -414,7 +414,7 @@ export default {
delFlag: 0,
state: 1,
archiBelongId: this.graphGroup,
assetConstant: this.assetConstant,
archiType: this.archiType,
archiViewId: this.viewId,
appId: this.showSelectTitle.appId
}
......
......@@ -50,7 +50,7 @@
<el-table-column prop="createTime" label="创建时间" align="center"></el-table-column>
<el-table-column prop="fileName" label="附件" align="center">
<template slot-scope="scope">
<span ><a :href="scope.row.fileUrl" :download="scope.row.fileName">{{scope.row.fileName}}</a></span>
<a style="color: #0D867F;text-decoration: underline;" :href="scope.row.fileUrl" :download="scope.row.fileName">{{scope.row.fileName}}</a>
</template>
</el-table-column>
</el-table>
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!