Commit 1b3f0d0e by Thews
2 parents 5f87276f 455a55a1
......@@ -33,13 +33,13 @@ var exToolbar = function (toolbarContainer) {
if(res) {
$.ajax({
type: "post",
url: "http://192.168.161.129:7001/architecture/vi/file/upload",
// data: formData, //需要确认formData如何获取
processData: false,
contentType: false,
headers: {
'tkv': 'yMCwNqQ9yRQ37K3h2UVw56gwzWpzPxcs50w7nfsmyFGKuUp-LGB_M0sSgCzGqs8xMkXck0CMDupY_5T6My0bt2p4SEHsibGhMsdoNT55-2s-0bGUm_UIZliqXnCJwZJtOUavqh4OrAWgLBEV82RhEJbGuRY-pIrsGtM0jouSkhRyxpek91B0URTRFitm_A_-',
},
url: "http://192.168.161.129:7001/ynMol/updateYnMol",
data: JSON.stringify({
metaModelId: urlParams['id'],
version: urlParams['version'],
state: urlParams['state'],
}),
contentType: 'json',
success: function( result ) {
swal ( "版本发布" , "发布成功!" );
},
......
......@@ -729,7 +729,7 @@ App.main = function(callback, createUi)
{
var content = mxUtils.getTextContent(scripts[0]);
if (CryptoJS.MD5(content).toString() != 'dda613656c97435b378def799740801e')//二次开发----修改校验值,不然会有弹框
if (CryptoJS.MD5(content).toString() != 'b6679dd946d10c3b1e3a0cb4fde17c71')//二次开发----修改校验值,不然会有弹框
{
console.warn('Change bootstrap script MD5 in the previous line:', CryptoJS.MD5(content).toString());
console.warn(CryptoJS.MD5(content).toString());
......@@ -3764,17 +3764,24 @@ App.prototype.showSplash = function(force)
this.showSplash();
}));
}else if (urlParams['id']) {//二次开发,初始化画面内容
console.log(urlParams);
$.ajax({
method: "get",
url: "http://192.168.148.128:7003/api/ynMol/getByMetaModelId",
data: { metaModelId: urlParams['id'] },
method: "post",
url: 'http://192.168.148.128:7003/ynMol/getByMetaModelId',
data: {
metaModelId: urlParams['id']
},
// dataType: "xml",
// contentType: "application/xml",
// crossDomain: true,
success: result => {
console.log(result)
// const file = new LocalFile(this, result.data.content, '测试文件', this.mode);
// this.loadFile(`-1`, true, file);
// console.log(result)
const xmlData = result.data.metaModelData;
const xmlTitle = result.data.verName;
const file = new LocalFile(this, xmlData, xmlTitle, this.mode);
this.loadFile(`-1`, true, file);
},
error: function( error ) {
error: error => {
}
});
......
......@@ -4701,8 +4701,10 @@
// const decodedData = Base64.decode(encodedData);//base64解密
// console.log(encodedData)
var composedXMLData = Graph.xmlDeclaration +'\n' +editorUi.getFileData(true, null, null, null, true, true, null, null, null, false);
var composedXMLData = Graph.xmlDeclaration +'\n' +editorUi.getFileData(true, null, null, null, true, true, null, null, null, true);
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(composedXMLData, "text/xml");
const mxGraphModel = xmlDoc.getElementsByTagName('diagram')[0].innerHTML;
var graph = editorUi.editor.graph;
var svgImage = graph.getSvg('#fff', 1, 0, true, null, true, null, null, null, null, true, 'light', 'diagram');//当前画布的预览图,svg格式
......@@ -4713,26 +4715,29 @@
// menu.addSeparator(parent);
// console.log(editorUi.menus)
const saveFileData = new File([ file.data ], '测试.xml', { type: "text/xml" });
const formData = new FormData();
formData.append("file", saveFileData);
// const saveFileData = new File([ file.data ], '测试.xml', { type: "text/xml" });
// const formData = new FormData();
// formData.append("file", saveFileData);
swal({ title: "文件保存", text: file.title, icon: "success", buttons: ["取消", "确定"] }).then(res => {
if(res) {
$.ajax({
method: "post",
url: "http://192.168.161.129:7001/architecture/vi/file/upload",
data: formData,
processData: false,
contentType: false,
headers: {
'tkv': 'yMCwNqQ9yRQ37K3h2UVw56gwzWpzPxcs50w7nfsmyFGKuUp-LGB_M0sSgCzGqs8xMkXck0CMDupY_5T6My0bt2p4SEHsibGhMsdoNT55-2s-0bGUm_UIZliqXnCJwZJtOUavqh4OrAWgLBEV82RhEJbGuRY-pIrsGtM0jouSkhRyxpek91B0URTRFitm_A_-',
url: "http://192.168.148.128:7003/ynMol/upMxGraph",
data: {
metaModelId: urlParams['id'],
metaModelData: mxGraphModel
},
success: function( result ) {
swal ( "文件保存" , "保存成功!" );
// console.log(result)
if(result.code == 200) {
swal( "文件保存" , "保存成功!" );
}else {
swal( "文件保存" , result.msg );
}
},
error: function( error ) {
swal ( "文件保存" , "保存失败!" );
swal( "文件保存" , "保存失败!" );
}
});
}else {
......
......@@ -58,7 +58,18 @@ export function getJGYSGLUpdateBatch(params) {
export function getJGYSGLDel(params) {
return post('/eleRel/deleteEleRel', params);
}
// 查询画布跳转的表格数据
export function get_drawio_transform_table(params) {
return post('/mxFile/fdBmd', params);
}
// 查询元模型管理页面
export function get_yuan_mo_xing_list(params) {
return post('/ynMol/', params);
}
// 元模型管理页面的删除
export function delete_yuan_mo_xing_list(params) {
return post('/ynMol/deleteYnMol', params);
}
// 架构视图配置
// 列表查询
export function getJGSTPZlist(params) {
......
<template>
<iframe class="drawio_show" name="content_frame" :src="'/drawio/index.html?id='+ initGraphId_" frameborder=0 scrolling="no"></iframe>
<iframe
class="drawio_show"
name="content_frame"
:src="'/drawio/index.html?id='+id+'&version='+version+'&state='+state"
frameborder=0
scrolling="no">
</iframe>
</template>
<script>
export default {
props: {
initGraphId: String
initGraphId: Object
},
data() {
return {
initGraphId_: null
id: null,
version: null,
state: null,
};
},
watch: {
initGraphId: {
handler(newVal, oldVal) {
this.initGraphId_ = newVal;
this.id = newVal.id;
this.version = newVal.version;
this.state = newVal.state;
},
}
},
mounted(){
......
......@@ -18,7 +18,14 @@
};
},
mounted(){
this.routerId = window.location.href.split("=")[1];
const id = window.location.href.split("id=")[1].split("&")[0];
const version = window.location.href.split("id=")[1].split("&")[1].split("=")[1];
const state = window.location.href.split("id=")[1].split("&")[2].split("=")[1];
this.routerId = {
id,
version,
state
}
},
methods: {
......
<template>
<div class="Details">
<el-tabs type="border-card">
<el-select class="select_version_control" v-model="select_version" placeholder="请选择">
<el-option label="版本1" value="版本1"></el-option>
</el-select>
<el-tabs type="border-card" @tab-click="tabs_click_func">
<el-tab-pane>
<span slot="label">
<i class="el-icon-picture"></i>
</span>
<YuanMoXingGuanLiCanvas></YuanMoXingGuanLiCanvas>
<YuanMoXingGuanLiCanvas ref="canvasComponent"></YuanMoXingGuanLiCanvas>
</el-tab-pane>
<el-tab-pane>
<span slot="label">
<i class="el-icon-s-grid"></i>
</span>
<YuanMoXingGuanLiTable></YuanMoXingGuanLiTable>
<YuanMoXingGuanLiTable ref="tableComponent"></YuanMoXingGuanLiTable>
</el-tab-pane>
</el-tabs>
</div>
......@@ -29,14 +32,21 @@ export default {
},
data() {
return {
select_version: null
};
},
mounted(){
},
methods: {
tabs_click_func(data) {
if(data.index == '0') {
console.log('画布页面')
}else{
console.log('表格页面')
this.$refs.tableComponent.get_table();
}
}
}
}
</script>
......@@ -44,6 +54,13 @@ export default {
.Details{
width: 100%;
height: 100%;
position: relative;
}
.select_version_control{
position: absolute;
top: 0;
right: 140px;
z-index: 9;
}
/deep/ .el-tabs__nav{
float: right;
......
......@@ -11,7 +11,7 @@
<el-dropdown-item command="基于模版绘图">基于模版绘图</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-input v-model="query_item1" placeholder="请输入内容" class="search_item" prefix-icon="el-icon-search"></el-input>
<el-input v-model="query_item1" @change="search_list" placeholder="请输入内容" class="search_item" prefix-icon="el-icon-search"></el-input>
<div class="query_btn">
<p>版本分析</p>
</div>
......@@ -26,14 +26,14 @@
<el-divider></el-divider>
</div>
<div class="card_container">
<el-card class="card_item" v-for="o in 7" :key="o">
<img class="card_image" @click="to_current_details" src="@/assets/元模型管理.svg" alt="" />
<el-card class="card_item" v-for="item in yi_fa_bu" :key="item.metaModelId">
<img class="card_image" @click="to_current_details(item)" src="@/assets/元模型管理.svg" alt="" />
<div class="card_info">
<div class="card_title">
<i class="el-icon-location"></i>
元模型 版本XX
{{ item.verName }}&nbsp;&nbsp;&nbsp;{{ item.version }}
</div>
<div class="card_icon">
<div class="card_icon" @click.stop="deleteItem(item)">
<i class="el-icon-delete"></i>
</div>
</div>
......@@ -47,14 +47,14 @@
<el-divider></el-divider>
</div>
<div class="card_container">
<el-card class="card_item" v-for="o in 7" :key="o">
<img class="card_image" @click="to_current_details" src="@/assets/元模型管理.svg" alt="" />
<el-card class="card_item" v-for="item in zan_cun" :key="item.metaModelId">
<img class="card_image" @click="to_current_details(item)" src="@/assets/元模型管理.svg" alt="" />
<div class="card_info">
<div class="card_title">
<i class="el-icon-location"></i>
元模型 版本XX
{{ item.verName }}&nbsp;&nbsp;&nbsp;{{ item.version }}
</div>
<div class="card_icon">
<div class="card_icon" @click.stop="deleteItem(item)">
<i class="el-icon-delete"></i>
</div>
</div>
......@@ -79,14 +79,18 @@
<el-button @click="add_dialog = false">取消</el-button>
</span>
</el-dialog>
<!-- <img :src="imgS" alt=""> -->
</div>
</template>
<script>
import {
add_yuan_mo_xing,
get_yuan_mo_xing_list,
delete_yuan_mo_xing_list
} from '@/api/index.js';
import { MessageBox, Message } from 'element-ui';
import $ from 'jquery';
export default {
name: 'metaModelList',
......@@ -104,13 +108,82 @@ export default {
name: [
{ required: true, message: '请输入版本名称', trigger: 'blur' },
],
}
},
yi_fa_bu: [],
zan_cun: [],
imgS: ''
};
},
mounted(){
this.get_list();
},
methods: {
search_list() {//搜索
const params = {
verName: this.query_item1
}
get_yuan_mo_xing_list(params).then(res => {
if(res.code == 200) {
this.yi_fa_bu = res.data.records.filter(item => item.state == 1);
this.zan_cun = res.data.records.filter(item => item.state == 2);
}else {
}
})
},
deleteItem(item) {//删除
MessageBox.confirm('确定删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const params = {
metaModelId: item.metaModelId,
state: item.state
}
delete_yuan_mo_xing_list(params).then(res => {
if(res.code == 200) {
this.get_list();
Message({
type: 'success',
message: '删除成功!'
});
}else {
Message({
type: 'error',
message: '删除失败!'
});
}
})
}).catch(() => {
Message({
type: 'info',
message: '已取消'
});
});
},
get_list() {//查询列表
get_yuan_mo_xing_list({}).then(res => {
if(res.code == 200) {
this.yi_fa_bu = res.data.records.filter(item => item.state == 1);
this.zan_cun = res.data.records.filter(item => item.state == 2);
// const res0 = res.data[0].records[0].metaModelData;
// const blob = new Blob([res0], { type: 'application/xml' });
// const imageUrl = (window.URL || window.webkitURL).createObjectURL(blob);
// console.log(imageUrl)
// this.imgS = imageUrl;
// Message({
// type: 'success',
// message: '版本发布成功!'
// });
}else {
// Message({
// type: 'error',
// message: '版本发布失败!'
// });
}
})
},
ok() {//弹框点击确定
this.$refs.ruleForm.validate(valid => {
if(valid) {
......@@ -121,7 +194,7 @@ export default {
// console.log(res)
if(res.code == 200) {
this.add_dialog = false;
this.$router.push(`/main/metaModelListDetails/id=${res.data}`, () => {}, () => {} );
this.$router.push(`/main/metaModelListDetails/?id=${res.data}`, () => {}, () => {} );
Message({
type: 'success',
message: '新增成功!'
......@@ -139,8 +212,9 @@ export default {
}
});
},
to_current_details() {//跳转到详情
this.$router.push( '/main/metaModelListDetails/1', () => {}, () => {} );
to_current_details(item) {//跳转到详情
console.log(item)
this.$router.push( `/main/metaModelListDetails/id=${item.metaModelId}&version=${item.version}&state=${item.state}`, () => {}, () => {} );
},
handleCommand(command) {//新建按钮点击
if(command == '自由绘图') {
......@@ -187,7 +261,7 @@ export default {
display: flex;
align-items: center;
justify-content: space-between;
margin: 30px 40px 0 40px;
margin: 30px 0 0 0;
}
.card_image{
width: 165px;
......
<template>
<div class="table">
<div class="table_container">
<el-table v-loading="loading" :data="tableData" stripe border>
<el-table-column type="selection" width="55"></el-table-column>
<el-table v-loading="loading" :data="tableData" stripe border height="500">
<!-- <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="let1" label="元素名称" align="center"></el-table-column>
<el-table-column prop="let2" label="元素id" align="center"></el-table-column>
<el-table-column prop="let3" label="关联元素名称" align="center"></el-table-column>
<el-table-column prop="let4" label="关联元素id" align="center"></el-table-column>
<el-table-column prop="let4" label="关联关系名称" align="center"></el-table-column>
<el-table-column prop="let4" label="关联关系描述" align="center"></el-table-column>
<el-table-column prop="let4" label="方向" align="center"></el-table-column>
<el-table-column label="操作" align="center">
<el-table-column prop="source" label="元素名称" align="center"></el-table-column>
<el-table-column prop="sourceId" label="元素id" align="center"></el-table-column>
<el-table-column prop="linkName" label="关联元素名称" align="center"></el-table-column>
<el-table-column prop="targetId" label="关联元素id" align="center"></el-table-column>
<el-table-column prop="target" label="关联关系名称" align="center"></el-table-column>
<el-table-column prop="linkNameDesc" label="关联关系描述" align="center"></el-table-column>
<el-table-column prop="direction" label="方向" align="center"></el-table-column>
<!-- <el-table-column label="操作" align="center">
<template>
<div style="display: flex;align-items: center;justify-content: center;">
<div class="add_btn" @click="add_dialog = true" style="border: 0;margin-right: 8px;">
<!-- <img class="btn_icon" src="@/assets/编辑_icon_default.png" alt="" /> -->
<p>编辑</p>
</div>
<div class="reset_btn" style="border: 0;margin-right: 8px;">
<!-- <img class="btn_icon" src="@/assets/停用_icon_default.png" alt="" /> -->
<p>停用</p>
</div>
<div class="add_btn" style="border: 0;margin-right: 8px;">
<!-- <img class="btn_icon" src="@/assets/发布_icon_default.png" alt="" /> -->
<p>发布</p>
</div>
<div class="reset_btn" style="border: 0;">
<!-- <img class="btn_icon" src="@/assets/删除_icon_default.png" alt="" /> -->
<p>删除</p>
</div>
</div>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
</div>
......@@ -75,7 +75,10 @@
</template>
<script>
import {
get_drawio_transform_table,
} from '@/api/index.js';
import { MessageBox, Message } from 'element-ui';
export default {
name: 'Table',
components: {
......@@ -89,9 +92,38 @@ export default {
let2: '',
let3: '',
let4: '',
loading: false
loading: false,
routerId: null
};
},
mounted(){
this.routerId = window.location.href.split("=")[1];
// this.get_table();
},
methods: {
get_table() {
this.loading = true;
const params = {
metaModelId: this.routerId
}
get_drawio_transform_table(params).then(res => {
// console.log(res)
if(res.code == 200) {
this.loading = false;
this.tableData = res.data;
// Message({
// type: 'success',
// message: '获取表格数据成功!'
// });
}else {
// Message({
// type: 'error',
// message: '获取表格数据失败!'
// });
}
})
}
}
}
</script>
<style scoped>
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!