Commit 3536dc38 by Thews

20231207汪皖苏

1 parent ce790594
...@@ -50,7 +50,33 @@ export function getJGYSGLAdd(params) { ...@@ -50,7 +50,33 @@ export function getJGYSGLAdd(params) {
export function getJGYSGLUpdate(params) { export function getJGYSGLUpdate(params) {
return post('/eleRel/updateEleRel', params); return post('/eleRel/updateEleRel', params);
} }
// 批量发布
export function getJGYSGLUpdateBatch(params) {
return post('/eleRel/updateEleRelBatch', params);
}
// 删除元素 // 删除元素
export function getJGYSGLDel(params) { export function getJGYSGLDel(params) {
return post('/eleRel/deleteEleRel', params); return post('/eleRel/deleteEleRel', params);
} }
// 架构视图配置
// 列表查询
export function getJGSTPZlist(params) {
return post('/vwDis/', params);
}
// 新建元素(state暂存2发布1)
export function getJGSTPZAdd(params) {
return post('/vwDis/addVwDis', params);
}
// 编辑元素(state暂存2发布1)
export function getJGSTPZUpdate(params) {
return post('/vwDis/updateVwDis', params);
}
// 批量发布
export function getJGSTPZUpdateBatch(params) {
return post('/vwDis/updateVwDisBatch', params);
}
// 删除元素
export function getJGSTPZDel(params) {
return post('/vwDis/deleteVwDis', params);
}
\ No newline at end of file
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
</div> </div>
<div class="search_menu_item"> <div class="search_menu_item">
<span class="search_title">适用范围</span> <span class="search_title">适用范围</span>
<el-select v-model="params.scope" placeholder="请选择" class="search_item"> <el-select v-model="params.scope" placeholder="请选择" clearable class="search_item">
<el-option label="业务架构" value="业务架构"></el-option> <el-option label="业务架构" value="业务架构"></el-option>
<el-option label="应用架构" value="应用架构"></el-option> <el-option label="应用架构" value="应用架构"></el-option>
<el-option label="内容架构" value="内容架构"></el-option> <el-option label="内容架构" value="内容架构"></el-option>
...@@ -19,10 +19,8 @@ ...@@ -19,10 +19,8 @@
</div> </div>
<div class="search_menu_item"> <div class="search_menu_item">
<span class="search_title">状态</span> <span class="search_title">状态</span>
<el-select v-model="params.state" placeholder="请选择" class="search_item"> <el-select v-model="params.state" placeholder="请选择" clearable class="search_item">
<el-option label="已发布" value=1></el-option> <el-option v-for="(item,idnex) in stateList" :key="idnex" :label="item.label" :value="item.value" ></el-option>
<el-option label="已停用" value=0></el-option>
<el-option label="暂存" value=2></el-option>
</el-select> </el-select>
</div> </div>
</div> </div>
...@@ -42,13 +40,13 @@ ...@@ -42,13 +40,13 @@
<img class="btn_icon" src="@/assets/新建icon.png" alt="" /> <img class="btn_icon" src="@/assets/新建icon.png" alt="" />
<p>新建</p> <p>新建</p>
</div> </div>
<div class="version_btn"> <div class="version_btn" @click="operate('pushAll')">
<img class="btn_icon" src="@/assets/版本发布icon.png" alt="" /> <img class="btn_icon" src="@/assets/版本发布icon.png" alt="" />
<p>版本发布</p> <p>版本发布</p>
</div> </div>
</div> </div>
<el-table :data="tableData" stripe border> <el-table :data="tableData" stripe border @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55" :selectable="selectInit"></el-table-column>
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column> <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
<el-table-column prop="rsName" label="元素关系名称" width="180" align="center"></el-table-column> <el-table-column prop="rsName" label="元素关系名称" width="180" align="center"></el-table-column>
<el-table-column prop="object1" label="对象1" width="180" align="center"></el-table-column> <el-table-column prop="object1" label="对象1" width="180" align="center"></el-table-column>
...@@ -136,17 +134,18 @@ import { ...@@ -136,17 +134,18 @@ import {
getJGYSGLAdd, getJGYSGLAdd,
getJGYSGLDel, getJGYSGLDel,
getJGYSGLUpdate, getJGYSGLUpdate,
getJGYSGLUpdateBatch,
} from "@/api/index.js"; } from "@/api/index.js";
export default { export default {
name: 'JiaGouYuanShuGuanXiGuanLi', name: 'archiEleRela',
components: { components: {
}, },
data() { data() {
return { return {
tableData: [ tableData: [],
], selectList: [],
add_dialog: false, add_dialog: false,
title: "", title: "",
openType: "", openType: "",
...@@ -181,6 +180,20 @@ export default { ...@@ -181,6 +180,20 @@ export default {
2: "暂存", 2: "暂存",
}, },
}, },
stateList: [
{
label: "已发布",
value: 1,
},
{
label: "已停用",
value: 0,
},
{
label: "暂存",
value: 2,
},
],
}; };
}, },
...@@ -194,6 +207,9 @@ export default { ...@@ -194,6 +207,9 @@ export default {
methods: { methods: {
// 查询列表 // 查询列表
getList() { getList() {
if (this.params.state != '') {
this.params.state = Number(this.params.state)
}
getJGYSGLlist(this.params).then(res => { getJGYSGLlist(this.params).then(res => {
if (res.code == 200) { if (res.code == 200) {
// this.page.total = res.data.total; // this.page.total = res.data.total;
...@@ -300,6 +316,26 @@ export default { ...@@ -300,6 +316,26 @@ export default {
} }
}); });
}); });
}else if (type == "pushAll") {
if (this.selectList.length <= 0) {
this.$message.error("请选择一项进行发布");
return;
}
let params = {
eleRelaId: [],
state: 1
};
this.selectList.map(item => {
params.eleRelaId.push(item.eleRelaId)
})
console.log(params);
getJGYSGLUpdateBatch(params).then(res => {
if (res.code == 200) {
this.$message.success("批量发布成功");
this.getList();
}
});
} }
}, },
// 新建清空表单 // 新建清空表单
...@@ -310,6 +346,17 @@ export default { ...@@ -310,6 +346,17 @@ export default {
} }
}, },
// 表格多选
handleSelectionChange(e) {
this.selectList = e;
},
selectInit(row,index){
if(row.state != "1"){
return true //可勾选
}else{
return false //不可勾选
}
},
}, },
} }
......
...@@ -5,69 +5,76 @@ ...@@ -5,69 +5,76 @@
<div class="search_menu_item_container"> <div class="search_menu_item_container">
<div class="search_menu_item"> <div class="search_menu_item">
<span class="search_title">架构视图名称</span> <span class="search_title">架构视图名称</span>
<el-input v-model="query_item3" placeholder="请输入内容" class="search_item"></el-input> <el-input v-model="params.viewName" placeholder="请输入内容" class="search_item"></el-input>
</div> </div>
<div class="search_menu_item"> <div class="search_menu_item">
<span class="search_title">架构层次</span> <span class="search_title">架构层次</span>
<el-select v-model="query_item4" placeholder="请选择" class="search_item"> <el-select v-model="params.schemaLevel" placeholder="请选择" clearable class="search_item">
<el-option label="策略层" value="策略层"></el-option> <el-option v-for="(item,idnex) in levelList" :key="idnex" :label="item.label" :value="item.value" ></el-option>
<el-option label="管理层" value="管理层"></el-option>
<el-option label="设计层" value="设计层"></el-option>
<el-option label="实施层" value="实施层"></el-option>
</el-select> </el-select>
</div> </div>
<div class="search_menu_item"> <div class="search_menu_item">
<span class="search_title">架构归属</span> <span class="search_title">架构归属</span>
<el-select v-model="query_item1" placeholder="请选择" class="search_item"> <el-select v-model="params.schemaBelong" placeholder="请选择" clearable class="search_item">
<el-option label="业务架构" value="业务架构"></el-option> <el-option v-for="(item,idnex) in belongList" :key="idnex" :label="item.label" :value="item.value" ></el-option>
<el-option label="应用架构" value="应用架构"></el-option>
<el-option label="内容架构" value="内容架构"></el-option>
<el-option label="技术架构" value="技术架构"></el-option>
<el-option label="安全架构" value="安全架构"></el-option>
</el-select> </el-select>
</div> </div>
</div> </div>
<div class="search_menu_btn_container"> <div class="search_menu_btn_container">
<div class="query_btn"> <div class="query_btn" @click="getList">
<img class="btn_icon" src="@/assets/查询icon.png" alt="" /> <img class="btn_icon" src="@/assets/查询icon.png" alt="" />
<p>查询</p> <p>查询</p>
</div> </div>
<div class="reset_btn"> <div class="reset_btn" @click="reset">
<img class="btn_icon" src="@/assets/重置icon.png" alt="" /> <img class="btn_icon" src="@/assets/重置icon.png" alt="" />
<p>重置</p> <p>重置</p>
</div> </div>
</div> </div>
</div> </div>
<div class="search_btn"> <div class="search_btn">
<div class="add_btn" @click="add_dialog = true"> <div class="add_btn" @click="operate('add')">
<img class="btn_icon" src="@/assets/新建icon.png" alt="" /> <img class="btn_icon" src="@/assets/新建icon.png" alt="" />
<p>新建</p> <p>新建</p>
</div> </div>
<div class="version_btn"> <div class="version_btn" @click="operate('pushAll')">
<img class="btn_icon" src="@/assets/版本发布icon.png" alt="" /> <img class="btn_icon" src="@/assets/版本发布icon.png" alt="" />
<p>版本发布</p> <p>版本发布</p>
</div> </div>
</div> </div>
<el-table :data="tableData" stripe border> <el-table :data="tableData" stripe border @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55" :selectable="selectInit"></el-table-column>
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column> <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
<el-table-column prop="let1" label="架构视图名称" width="150" align="center"></el-table-column> <el-table-column prop="viewName" label="架构视图名称" width="150" align="center"></el-table-column>
<el-table-column prop="let2" label="架构层次" width="150" align="center"></el-table-column> <el-table-column prop="schemaLevel" label="架构层次" width="150" align="center">
<el-table-column prop="let3" label="架构归属" width="150" align="center"></el-table-column> <template slot-scope="scope">
<el-table-column prop="let4" label="适用范围" width="150" align="center"></el-table-column> <span >{{dicObj.schemaLevel[scope.row.schemaLevel]}}</span>
<el-table-column prop="let5" label="描述" width="150" align="center"></el-table-column> </template>
</el-table-column>
<el-table-column prop="schemaBelong" label="架构归属" width="150" align="center">
<template slot-scope="scope">
<span >{{dicObj.schemaBelong[scope.row.schemaBelong]}}</span>
</template>
</el-table-column>
<el-table-column prop="content" label="视图描述" width="150" align="center"></el-table-column>
<el-table-column prop="let6" label="元素范围" width="150" align="center"></el-table-column> <el-table-column prop="let6" label="元素范围" width="150" align="center"></el-table-column>
<el-table-column prop="let7" label="包含元素" width="150" align="center"></el-table-column> <el-table-column prop="let7" label="包含元素" width="150" align="center"></el-table-column>
<el-table-column prop="let8" label="版本" width="150" align="center"></el-table-column> <el-table-column prop="version" label="版本" width="150" align="center"></el-table-column>
<el-table-column prop="let9" label="状态" align="center"></el-table-column> <el-table-column prop="state" label="状态" align="center">
<template slot-scope="scope">
<span >{{dicObj.state[scope.row.state]}}</span>
</template>
</el-table-column>
<el-table-column label="操作" width="360" align="center"> <el-table-column label="操作" width="360" align="center">
<template> <template slot-scope="scope">
<div style="display: flex;align-items: center;justify-content: center;"> <div style="display: flex;align-items: center;justify-content: center;">
<div class="add_btn" @click="add_dialog = true" style="border: 0;margin-right: 8px;"> <el-button icon="el-icon-edit" size="mini" @click="operate('edit',scope.row)" :disabled="scope.row.state == 1">编辑</el-button>
<el-button icon="el-icon-remove-outline" size="mini" @click="operate('stop',scope.row)" :disabled="scope.row.state != 1">停用</el-button>
<el-button icon="el-icon-upload2" size="mini" @click="operate('push',scope.row)" :disabled="scope.row.state == 1">发布</el-button>
<el-button icon="el-icon-delete" size="mini" @click="operate('del',scope.row)" :disabled="scope.row.state != 2">删除</el-button>
<!-- <div class="add_btn" @click="add_dialog = true" style="border: 0;margin-right: 8px;">
<img class="btn_icon" src="@/assets/编辑_icon_default.png" alt="" /> <img class="btn_icon" src="@/assets/编辑_icon_default.png" alt="" />
<p>编辑</p> <p>编辑</p>
</div> </div>
<!-- <el-button type="text" icon="el-icon-edit" @click="add_dialog = true">编辑</el-button> -->
<div class="reset_btn" style="border: 0;margin-right: 8px;"> <div class="reset_btn" style="border: 0;margin-right: 8px;">
<img class="btn_icon" src="@/assets/停用_icon_default.png" alt="" /> <img class="btn_icon" src="@/assets/停用_icon_default.png" alt="" />
<p>停用</p> <p>停用</p>
...@@ -79,42 +86,44 @@ ...@@ -79,42 +86,44 @@
<div class="reset_btn" style="border: 0;"> <div class="reset_btn" style="border: 0;">
<img class="btn_icon" src="@/assets/删除_icon_default.png" alt="" /> <img class="btn_icon" src="@/assets/删除_icon_default.png" alt="" />
<p>删除</p> <p>删除</p>
</div> </div> -->
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination <el-pagination
background background
layout="prev, pager, next" @size-change="handleSizeChange"
:total="50"> @current-change="handleCurrentChange"
:current-page="page.current"
:page-sizes="page.sizes"
:page-size="page.size"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total">
</el-pagination> </el-pagination>
</div> </div>
<el-dialog <el-dialog
title="新建架构视图配置" :title="title"
:visible.sync="add_dialog" :visible.sync="add_dialog"
:center="false" :center="false"
width="50%"> width="50%">
<div class="add_dialog_content"> <div class="add_dialog_content">
<div class="dialog_form_item">
<div class="dialog_form_item_title">*架构视图名称</div>
<el-input placeholder="请输入内容" class="dialog_form_item_content" v-model="formData.viewName"></el-input>
</div>
<div class="dialog_content_1"> <div class="dialog_content_1">
<div class="dialog_form_item"> <div class="dialog_form_item">
<div class="dialog_form_item_title">*架构层次</div> <div class="dialog_form_item_title">*架构层次</div>
<el-select v-model="query_item4" placeholder="请选择" class="search_item"> <el-select v-model="formData.schemaLevel" placeholder="请选择" clearable class="search_item">
<el-option label="策略层" value="策略层"></el-option> <el-option v-for="(item,idnex) in levelList" :key="idnex" :label="item.label" :value="item.value" ></el-option>
<el-option label="管理层" value="管理层"></el-option>
<el-option label="设计层" value="设计层"></el-option>
<el-option label="实施层" value="实施层"></el-option>
</el-select> </el-select>
</div> </div>
<div class="dialog_form_item"> <div class="dialog_form_item">
<div class="dialog_form_item_title">*架构归属</div> <div class="dialog_form_item_title">*架构归属</div>
<el-select placeholder="请选择" class="search_item" v-model="let3"> <el-select v-model="formData.schemaBelong" placeholder="请选择" clearable class="search_item">
<el-option label="业务架构" value="业务架构"></el-option> <el-option v-for="(item,idnex) in belongList" :key="idnex" :label="item.label" :value="item.value" ></el-option>
<el-option label="应用架构" value="应用架构"></el-option>
<el-option label="内容架构" value="内容架构"></el-option>
<el-option label="技术架构" value="技术架构"></el-option>
<el-option label="安全架构" value="安全架构"></el-option>
</el-select> </el-select>
</div> </div>
<div class="dialog_form_item"> <div class="dialog_form_item">
...@@ -123,10 +132,10 @@ ...@@ -123,10 +132,10 @@
</div> </div>
</div> </div>
<div class="dialog_form_item"> <div class="dialog_form_item">
<div class="dialog_form_item_title">*描述</div> <div class="dialog_form_item_title">*视图描述</div>
<el-input type="textarea" :rows="2" placeholder="请输入内容" class="dialog_form_item_content" v-model="let4"></el-input> <el-input type="textarea" :rows="2" placeholder="请输入内容" class="dialog_form_item_content" v-model="formData.content"></el-input>
</div> </div>
<div class="dialog_form_item"> <!-- <div class="dialog_form_item">
<div class="dialog_form_item_title">*元素范围</div> <div class="dialog_form_item_title">*元素范围</div>
<el-table :data="tableData2" border> <el-table :data="tableData2" border>
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55"></el-table-column>
...@@ -141,11 +150,11 @@ ...@@ -141,11 +150,11 @@
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column> <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
<el-table-column prop="name" label="元素名称" align="center"></el-table-column> <el-table-column prop="name" label="元素名称" align="center"></el-table-column>
</el-table> </el-table>
</div> </div> -->
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button class="greenButton" @click="add_dialog = false">发布</el-button> <el-button class="greenButton" @click="operate('push')">发布</el-button>
<el-button class="greenButton" @click="add_dialog = false"></el-button> <el-button class="greenButton" @click="operate('create')"></el-button>
<el-button @click="add_dialog = false">取消</el-button> <el-button @click="add_dialog = false">取消</el-button>
</span> </span>
</el-dialog> </el-dialog>
...@@ -154,18 +163,25 @@ ...@@ -154,18 +163,25 @@
<script> <script>
import {
getJGSTPZlist,
getJGSTPZAdd,
getJGSTPZDel,
getJGSTPZUpdate,
getJGSTPZUpdateBatch,
} from "@/api/index.js";
export default { export default {
name: 'JiaGouYuanShuGuanLi', name: 'archiViewConfig',
components: { components: {
}, },
data() { data() {
return { return {
tableData: [ tableData: [],
{ let1: '分解', let2: '业务域', let7: '业务职能', let3: '业务架构', let4: '业务域的基本描述', let5: '2023.10.31', let6: '已发布' }, selectList: [],
{ let1: '支撑', let2: '业务域', let7: '业务职能', let3: '业务架构', let4: '业务职能的描述', let5: '2023.10.31', let6: '已发布' }, add_dialog: false,
{ let1: '聚合', let2: '应用域', let7: '应用职能', let3: '应用架构', let4: '应用交互的基本描述', let5: '2023.10.31', let6: '已发布' }, title: "",
],
tableData1: [ tableData1: [
{ name: '业务域'}, { name: '业务域'},
{ name: '业务职能'}, { name: '业务职能'},
...@@ -184,8 +200,258 @@ export default { ...@@ -184,8 +200,258 @@ export default {
let2: '', let2: '',
let3: '', let3: '',
let4: '', let4: '',
formData: {
rsName: "",
content: "",
},
params: {
current: 1,
pageSize: 10,
viewName: "",
schemaLevel: "",
schemaBelong: "",
},
page: {
current: 1,
sizes: [10, 20, 50, 100, 200],
size: 10,
total: 20 //总条数
},
dicObj: {
state: {
0: "已停用",
1: "已发布",
2: "暂存",
},
schemaLevel: {
0: "策略层",
1: "管理层",
2: "设计层",
3: "实施层",
},
schemaBelong: {
0: "业务架构",
1: "应用架构",
2: "数据架构",
3: "技术架构",
4: "安全架构",
},
},
stateList: [
{
label: "已发布",
value: 1,
},
{
label: "已停用",
value: 0,
},
{
label: "暂存",
value: 2,
},
],
levelList: [
{
label: "策略层",
value: 0,
},
{
label: "管理层",
value: 1,
},
{
label: "设计层",
value: 2,
},
{
label: "实施层",
value: 3,
},
],
belongList: [
{
label: "业务架构",
value: 0,
},
{
label: "应用架构",
value: 1,
},
{
label: "数据架构",
value: 2,
},
{
label: "技术架构",
value: 3,
},
{
label: "安全架构",
value: 4,
},
],
};
},
mounted() {
// 初始化查询列表
this.getList();
},
created() {
},
methods: {
// 查询列表
getList() {
// if (this.params.state != '') {
// this.params.state = Number(this.params.state)
// }
getJGSTPZlist(this.params).then(res => {
if (res.code == 200) {
// this.page.total = res.data.total;
// this.tableData = res.data.records;
this.tableData = res.data;
}
});
},
// 重置查询
reset(){
this.params = {
current: 1,
pageSize: 10,
rsName: "",
scope: "",
state: "",
}
},
// 分页事件
handleSizeChange(val) {
this.page.size = val;
this.params.pageSize = val;
this.getList();
},
handleCurrentChange(val) {
this.page.current = val;
this.paramsp.current = val;
this.getList();
},
// 所有操作
operate(type,item){
console.log(type,item);
this.openType = type;
if (type == "add") {
this.add_dialog = true;
this.title = "新建架构视图";
this.resetForm();
}else if (type == "edit") {
this.add_dialog = true;
this.title = "编辑架构视图";
this.formData = item;
}else if (type == "create") {
this.formData.state = 2;
if (this.formData.viewId) {
// 编辑保存
getJGSTPZUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("保存成功");
this.add_dialog = false;
this.getList();
}
});
}else{
// 新建保存
getJGSTPZAdd(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("保存成功");
this.add_dialog = false;
this.getList();
}
});
}
}else if (type == "push") {
this.formData.state = 1;
if (this.formData.viewId) {
// 编辑发布
getJGYSGLUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("发布成功");
this.add_dialog = false;
this.getList();
}
});
}else{
// 新建发布
getJGSTPZAdd(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("发布成功");
this.add_dialog = false;
this.getList();
}
});
}
}else if (type == "stop") {
// 停用
this.formData = item;
this.formData.state = 0;
getJGSTPZUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("停用成功");
this.getList();
}
});
}else if (type == "del") {
// 删除
this.formData = item;
this.$confirm("确认删除吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
getJGSTPZDel(this.formData).then(res => {
if (res.code == 200) {
this.getList();
}
});
});
}else if (type == "pushAll") {
if (this.selectList.length <= 0) {
this.$message.error("请选择一项进行发布");
return;
}
let params = {
viewId: [],
state: 1
}; };
this.selectList.map(item => {
params.viewId.push(item.viewId)
})
getJGSTPZUpdateBatch(params).then(res => {
if (res.code == 200) {
this.$message.success("批量发布成功");
this.getList();
}
});
}
},
// 新建清空表单
resetForm(){
this.formData = {
rsName: "",
content: "",
}
},
// 表格多选
handleSelectionChange(e) {
this.selectList = e;
},
selectInit(row,index){
if(row.state != "1"){
return true //可勾选
}else{
return false //不可勾选
}
},
}, },
} }
</script> </script>
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!