Commit 8aac3bbe by Thews

20231208wangwansu

1 parent 90dbf6b0
...@@ -312,6 +312,7 @@ export default { ...@@ -312,6 +312,7 @@ export default {
getViewNameList() { getViewNameList() {
getViewNameList().then(res => { getViewNameList().then(res => {
if (res.code == 200) { if (res.code == 200) {
console.log(res);
let arr = JSON.parse(res.msg); let arr = JSON.parse(res.msg);
let viewStr = arr[0].viewName; let viewStr = arr[0].viewName;
this.viewNameList = viewStr.split(","); this.viewNameList = viewStr.split(",");
......
<template> <template>
<div class="JiaGouYuanShuGuanLi"> <div class="JiaGouYuanShuGuanLi">
<div class="table_container"> <div class="table_container">
<el-tabs type="card" tab-click='changeTab'> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="架构元素" name="page1"> <el-tab-pane label="架构元素" name="page1">
11 <page1></page1>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="元素关系" name="page2"> <el-tab-pane label="元素关系" name="page2">
22 <page2></page2>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="架构视图" name="page3"> <el-tab-pane label="架构视图" name="page3">
33 <page3></page3>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import page1 from "./pages/page1";
import page2 from "./pages/page2";
import page3 from "./pages/page3";
export default { export default {
name: 'metaModelDic', name: 'metaModelDic',
components: { components: {
page1,
page2,
page3,
}, },
data() { data() {
return { return {
activeName: "page1",
}; };
}, },
mounted() { mounted() {
...@@ -35,8 +40,8 @@ export default { ...@@ -35,8 +40,8 @@ export default {
}, },
methods: { methods: {
changeTab(e) { handleClick(tab) {
console.log(e); console.log(tab);
}, },
}, },
} }
......
...@@ -4,26 +4,28 @@ ...@@ -4,26 +4,28 @@
<div class="search_menu"> <div class="search_menu">
<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-select v-model="params.viewName" placeholder="请选择" clearable class="search_item"> <el-input v-model="params.rsName" placeholder="请输入内容" class="search_item"></el-input>
<el-option v-for="(item,idnex) in viewNameList" :key="idnex" :label="item" :value="item" ></el-option>
</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="params.schemaLevel" placeholder="请选择" clearable class="search_item"> <el-select v-model="params.scope" placeholder="请选择" clearable class="search_item">
<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-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="params.schemaBelong" placeholder="请选择" clearable class="search_item"> <el-select v-model="params.state" placeholder="请选择" clearable class="search_item">
<el-option v-for="(item,idnex) in belongList" :key="idnex" :label="item.label" :value="item.value" ></el-option> <el-option v-for="(item,idnex) in stateList" :key="idnex" :label="item.label" :value="item.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" @click="getList"> <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>
...@@ -43,52 +45,26 @@ ...@@ -43,52 +45,26 @@
<p>版本发布</p> <p>版本发布</p>
</div> </div>
</div> </div>
<el-table :data="tableData" stripe border @selection-change="handleSelectionChange"> <el-table :data="tableData" stripe border>
<el-table-column type="selection" width="55" :selectable="selectInit"></el-table-column> <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 type="index" label="序号" width="80" align="center"></el-table-column>
<el-table-column prop="viewName" label="架构视图名称" width="150" align="center"></el-table-column> <el-table-column prop="let1" label="字典名称" width="180" align="center"></el-table-column>
<el-table-column prop="schemaLevel" label="架构层次" width="150" align="center"> <el-table-column prop="let2" label="架构层次" width="180" align="center"></el-table-column>
<template slot-scope="scope"> <el-table-column prop="let3" label="架构归属" width="180" align="center"></el-table-column>
<span >{{dicObj.schemaLevel[scope.row.schemaLevel]}}</span> <el-table-column prop="let4" label="描述" width="180" align="center"></el-table-column>
</template> <el-table-column prop="let5" label="字典版本号" align="center"></el-table-column>
</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="let7" 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="state" label="状态" align="center"> <el-table-column prop="state" label="状态" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span >{{dicObj.state[scope.row.state]}}</span> <span >{{dicObj.state[scope.row.state]}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="360" align="center"> <el-table-column label="操作" width="360" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div style="display: flex;align-items: center;justify-content: center;"> <div style="display: flex;align-items: center;justify-content: center;">
<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-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-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-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> <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="" />
<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> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -109,53 +85,16 @@ ...@@ -109,53 +85,16 @@
:title="title" :title="title"
:visible.sync="add_dialog" :visible.sync="add_dialog"
:center="false" :center="false"
width="50%"> width="40%">
<div class="add_dialog_content"> <div class="add_dialog_content">
<!-- <div class="dialog_form_item"> <div class="dialog_form_item">
<div class="dialog_form_item_title"><span class="reqIcon">*</span>架构视图名称</div> <div class="dialog_form_item_title"><span class="reqIcon">*</span>字典名称</div>
<el-input placeholder="请输入内容" class="dialog_form_item_content" v-model="formData.viewName"></el-input> <el-input placeholder="请输入内容" class="dialog_form_item_content" v-model="formData.rsName"></el-input>
</div> -->
<div class="dialog_content_1">
<div class="dialog_form_item">
<div class="dialog_form_item_title"><span class="reqIcon">*</span>架构层次</div>
<el-select v-model="formData.schemaLevel" placeholder="请选择" clearable class="search_item">
<el-option v-for="(item,idnex) in levelList" :key="idnex" :label="item.label" :value="item.value" ></el-option>
</el-select>
</div>
<div class="dialog_form_item">
<div class="dialog_form_item_title"><span class="reqIcon">*</span>架构归属</div>
<el-select v-model="formData.schemaBelong" placeholder="请选择" clearable class="search_item">
<el-option v-for="(item,idnex) in belongList" :key="idnex" :label="item.label" :value="item.value" ></el-option>
</el-select>
</div>
<div class="dialog_form_item">
<div class="dialog_form_item_title"><span class="reqIcon">*</span>架构视图名称:</div>
<!-- <el-input placeholder="" class="dialog_form_item_content" v-model="formData.viewName"></el-input> -->
<el-select v-model="formData.viewName" placeholder="请选择" clearable class="search_item">
<el-option v-for="(item,idnex) in viewNameList" :key="idnex" :label="item" :value="item" ></el-option>
</el-select>
</div>
</div> </div>
<div class="dialog_form_item"> <div class="dialog_form_item">
<div class="dialog_form_item_title"><span class="reqIcon">*</span>视图描述</div> <div class="dialog_form_item_title"><span class="reqIcon">*</span>字典描述</div>
<el-input type="textarea" :rows="2" placeholder="请输入内容" class="dialog_form_item_content" v-model="formData.content"></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_title">*元素范围</div>
<el-table :data="tableData2" 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="name" label="元素名称" align="center"></el-table-column>
</el-table>
</div>
<div class="dialog_form_item">
<div class="dialog_form_item_title">*包含元素</div>
<el-table :data="tableData2" 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="name" label="元素名称" align="center"></el-table-column>
</el-table>
</div> -->
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button class="greenButton" @click="operate('push')">发布</el-button> <el-button class="greenButton" @click="operate('push')">发布</el-button>
...@@ -169,16 +108,15 @@ ...@@ -169,16 +108,15 @@
<script> <script>
import { import {
getJGSTPZlist, getYMXZDGLlist,
getJGSTPZAdd, getYMXZDGLAdd,
getJGSTPZDel, getYMXZDGLDel,
getJGSTPZUpdate, getYMXZDGLUpdate,
getJGSTPZUpdateBatch, // getYMXZDGLUpdateBatch,
getViewNameList,
} from "@/api/index.js"; } from "@/api/index.js";
export default { export default {
name: 'archiViewConfig', name: 'metaModelDic',
components: { components: {
}, },
...@@ -188,21 +126,12 @@ export default { ...@@ -188,21 +126,12 @@ export default {
selectList: [], selectList: [],
add_dialog: false, add_dialog: false,
title: "", title: "",
tableData1: [ openType: "",
{ name: '业务域'},
{ name: '业务职能'},
{ name: '业务流程'},
],
tableData2: [
{ name: '业务域'},
{ name: '业务职能'},
{ name: '业务流程'},
],
add_dialog: false, add_dialog: false,
query_item1: null, query_item1: null,
query_item3: null, query_item3: null,
query_item4: null, query_item4: null,
let1: '带出', let1: '',
let2: '', let2: '',
let3: '', let3: '',
let4: '', let4: '',
...@@ -213,9 +142,9 @@ export default { ...@@ -213,9 +142,9 @@ export default {
params: { params: {
current: 1, current: 1,
pageSize: 10, pageSize: 10,
viewName: "", rsName: "",
schemaLevel: "", scope: "",
schemaBelong: "", state: "",
}, },
page: { page: {
current: 1, current: 1,
...@@ -229,19 +158,6 @@ export default { ...@@ -229,19 +158,6 @@ export default {
1: "已发布", 1: "已发布",
2: "暂存", 2: "暂存",
}, },
schemaLevel: {
0: "策略层",
1: "管理层",
2: "设计层",
3: "实施层",
},
schemaBelong: {
0: "业务架构",
1: "应用架构",
2: "数据架构",
3: "技术架构",
4: "安全架构",
},
}, },
stateList: [ stateList: [
{ {
...@@ -257,55 +173,12 @@ export default { ...@@ -257,55 +173,12 @@ export default {
value: 2, 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,
},
],
viewNameList: [],
}; };
}, },
mounted() { mounted() {
// 初始化查询列表 // 初始化查询列表
this.getList(); this.getList();
// 查询视图下拉
this.getViewNameList();
}, },
created() { created() {
...@@ -313,10 +186,10 @@ export default { ...@@ -313,10 +186,10 @@ export default {
methods: { methods: {
// 查询列表 // 查询列表
getList() { getList() {
// if (this.params.state != '') { if (this.params.state != '') {
// this.params.state = Number(this.params.state) this.params.state = Number(this.params.state)
// } }
getJGSTPZlist(this.params).then(res => { getYMXZDGLlist(this.params).then(res => {
if (res.code == 200) { if (res.code == 200) {
// this.page.total = res.data.total; // this.page.total = res.data.total;
// this.tableData = res.data.records; // this.tableData = res.data.records;
...@@ -324,17 +197,7 @@ export default { ...@@ -324,17 +197,7 @@ export default {
} }
}); });
}, },
// 获取下拉 // 重置
getViewNameList() {
getViewNameList().then(res => {
if (res.code == 200) {
let arr = JSON.parse(res.msg);
let viewStr = arr[0].viewName;
this.viewNameList = viewStr.split(",");
}
});
},
// 重置查询
reset(){ reset(){
this.params = { this.params = {
current: 1, current: 1,
...@@ -357,21 +220,20 @@ export default { ...@@ -357,21 +220,20 @@ export default {
}, },
// 所有操作 // 所有操作
operate(type,item){ operate(type,item){
console.log(type,item);
this.openType = type; this.openType = type;
if (type == "add") { if (type == "add") {
this.add_dialog = true; this.add_dialog = true;
this.title = "新建架构视图"; this.title = "新建字典";
this.resetForm(); this.resetForm();
}else if (type == "edit") { }else if (type == "edit") {
this.add_dialog = true; this.add_dialog = true;
this.title = "编辑架构视图"; this.title = "编辑字典";
this.formData = item; this.formData = item;
}else if (type == "create") { }else if (type == "create") {
this.formData.state = 2; this.formData.state = 2;
if (this.formData.viewId) { if (this.formData.dicyId) {
// 编辑保存 // 编辑保存
getJGSTPZUpdate(this.formData).then(res => { getYMXZDGLUpdate(this.formData).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.$message.success("保存成功"); this.$message.success("保存成功");
this.add_dialog = false; this.add_dialog = false;
...@@ -380,7 +242,7 @@ export default { ...@@ -380,7 +242,7 @@ export default {
}); });
}else{ }else{
// 新建保存 // 新建保存
getJGSTPZAdd(this.formData).then(res => { getYMXZDGLAdd(this.formData).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.$message.success("保存成功"); this.$message.success("保存成功");
this.add_dialog = false; this.add_dialog = false;
...@@ -390,9 +252,9 @@ export default { ...@@ -390,9 +252,9 @@ export default {
} }
}else if (type == "push") { }else if (type == "push") {
this.formData.state = 1; this.formData.state = 1;
if (this.formData.viewId) { if (this.formData.dicyId) {
// 编辑发布 // 编辑发布
getJGSTPZUpdate(this.formData).then(res => { getYMXZDGLUpdate(this.formData).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.$message.success("发布成功"); this.$message.success("发布成功");
this.add_dialog = false; this.add_dialog = false;
...@@ -401,7 +263,7 @@ export default { ...@@ -401,7 +263,7 @@ export default {
}); });
}else{ }else{
// 新建发布 // 新建发布
getJGSTPZAdd(this.formData).then(res => { getYMXZDGLAdd(this.formData).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.$message.success("发布成功"); this.$message.success("发布成功");
this.add_dialog = false; this.add_dialog = false;
...@@ -413,7 +275,7 @@ export default { ...@@ -413,7 +275,7 @@ export default {
// 停用 // 停用
this.formData = item; this.formData = item;
this.formData.state = 0; this.formData.state = 0;
getJGSTPZUpdate(this.formData).then(res => { getYMXZDGLUpdate(this.formData).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.$message.success("停用成功"); this.$message.success("停用成功");
this.getList(); this.getList();
...@@ -427,7 +289,7 @@ export default { ...@@ -427,7 +289,7 @@ export default {
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning"
}).then(() => { }).then(() => {
getJGSTPZDel(this.formData).then(res => { getYMXZDGLDel(this.formData).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.getList(); this.getList();
} }
...@@ -439,13 +301,15 @@ export default { ...@@ -439,13 +301,15 @@ export default {
return; return;
} }
let params = { let params = {
viewId: [], dicyId: [],
state: 2 state: 2
}; };
this.selectList.map(item => { this.selectList.map(item => {
params.viewId.push(item.viewId) params.dicyId.push(item.dicyId)
}) })
getJGSTPZUpdateBatch(params).then(res => { console.log(params);
getJGYSGLUpdateBatch(params).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.$message.success("批量发布成功"); this.$message.success("批量发布成功");
this.getList(); this.getList();
...@@ -456,9 +320,7 @@ export default { ...@@ -456,9 +320,7 @@ export default {
// 新建清空表单 // 新建清空表单
resetForm(){ resetForm(){
this.formData = { this.formData = {
schemaLevel: "", rsName: "",
schemaBelong: "",
viewName: "",
content: "", content: "",
} }
}, },
...@@ -486,10 +348,6 @@ export default { ...@@ -486,10 +348,6 @@ export default {
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center;
} }
.dialog_content_1{
display: flex;
justify-content: space-between;
}
.search_menu{ .search_menu{
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
......
<template>
<div class="JiaGouYuanShuGuanLi">
<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-input v-model="params.rsName" placeholder="请输入内容" class="search_item"></el-input>
</div>
<div class="search_menu_item">
<span class="search_title">适用范围</span>
<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-select>
</div>
<div class="search_menu_item">
<span class="search_title">状态</span>
<el-select v-model="params.state" placeholder="请选择" clearable class="search_item">
<el-option v-for="(item,idnex) in stateList" :key="idnex" :label="item.label" :value="item.value" ></el-option>
</el-select>
</div>
</div>
<div class="search_menu_btn_container">
<div class="query_btn" @click="getList">
<img class="btn_icon" src="@/assets/查询icon.png" alt="" />
<p>查询</p>
</div>
<div class="reset_btn" @click="reset">
<img class="btn_icon" src="@/assets/重置icon.png" alt="" />
<p>重置</p>
</div>
</div>
</div>
<div class="search_btn">
<div class="add_btn" @click="operate('add')">
<img class="btn_icon" src="@/assets/新建icon.png" alt="" />
<p>新建</p>
</div>
<div class="version_btn" @click="operate('pushAll')">
<img class="btn_icon" src="@/assets/版本发布icon.png" alt="" />
<p>版本发布</p>
</div>
</div>
<el-table :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="let1" label="字典名称" width="180" align="center"></el-table-column>
<el-table-column prop="let2" label="架构层次" width="180" align="center"></el-table-column>
<el-table-column prop="let3" label="架构归属" width="180" align="center"></el-table-column>
<el-table-column prop="let4" label="描述" width="180" align="center"></el-table-column>
<el-table-column prop="let5" 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">
<template slot-scope="scope">
<div style="display: flex;align-items: center;justify-content: center;">
<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>
</template>
</el-table-column>
</el-table>
<el-pagination
background
@size-change="handleSizeChange"
@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>
</div>
<el-dialog
:title="title"
:visible.sync="add_dialog"
:center="false"
width="40%">
<div class="add_dialog_content">
<div class="dialog_form_item">
<div class="dialog_form_item_title"><span class="reqIcon">*</span>字典名称</div>
<el-input placeholder="请输入内容" class="dialog_form_item_content" v-model="formData.rsName"></el-input>
</div>
<div class="dialog_form_item">
<div class="dialog_form_item_title"><span class="reqIcon">*</span>字典描述</div>
<el-input type="textarea" :rows="2" placeholder="请输入内容" class="dialog_form_item_content" v-model="formData.content"></el-input>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button class="greenButton" @click="operate('push')">发布</el-button>
<el-button class="greenButton" @click="operate('create')">保存</el-button>
<el-button @click="add_dialog = false">取消</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {
getYMXZDGLlist,
getYMXZDGLAdd,
getYMXZDGLDel,
getYMXZDGLUpdate,
// getYMXZDGLUpdateBatch,
} from "@/api/index.js";
export default {
name: 'metaModelDic',
components: {
},
data() {
return {
tableData: [],
selectList: [],
add_dialog: false,
title: "",
openType: "",
add_dialog: false,
query_item1: null,
query_item3: null,
query_item4: null,
let1: '',
let2: '',
let3: '',
let4: '',
formData: {
rsName: "",
content: "",
},
params: {
current: 1,
pageSize: 10,
rsName: "",
scope: "",
state: "",
},
page: {
current: 1,
sizes: [10, 20, 50, 100, 200],
size: 10,
total: 20 //总条数
},
dicObj: {
state: {
0: "已停用",
1: "已发布",
2: "暂存",
},
},
stateList: [
{
label: "已发布",
value: 1,
},
{
label: "已停用",
value: 0,
},
{
label: "暂存",
value: 2,
},
],
};
},
mounted() {
// 初始化查询列表
this.getList();
},
created() {
},
methods: {
// 查询列表
getList() {
if (this.params.state != '') {
this.params.state = Number(this.params.state)
}
getYMXZDGLlist(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){
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.dicyId) {
// 编辑保存
getYMXZDGLUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("保存成功");
this.add_dialog = false;
this.getList();
}
});
}else{
// 新建保存
getYMXZDGLAdd(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.dicyId) {
// 编辑发布
getYMXZDGLUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("发布成功");
this.add_dialog = false;
this.getList();
}
});
}else{
// 新建发布
getYMXZDGLAdd(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;
getYMXZDGLUpdate(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(() => {
getYMXZDGLDel(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 = {
dicyId: [],
state: 2
};
this.selectList.map(item => {
params.dicyId.push(item.dicyId)
})
console.log(params);
getJGYSGLUpdateBatch(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>
<style lang="scss" scoped>
.JiaGouYuanShuGuanLi{
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.search_menu{
display: flex;
justify-content: space-between;
}
.search_menu_item_container{
display: flex;
align-items: center;
}
.search_menu_btn_container{
display: flex;
align-items: center;
}
.search_menu_item{
display: flex;
align-items: center;
width: 344px;
}
.search_title{
/* width: 20%; */
flex-shrink: 0;
margin-right: 15px;
}
.search_item{
width: 60%;
}
.search_btn{
width: 100%;
display: flex;
margin-top: 50px;
margin-bottom: 20px;
}
.add_btn{
display: flex;
align-items: center;
justify-content: center;
width: 76px;
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;
}
.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;
}
.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;
}
.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 #0D867F;
font-size: 14px;
color: #666;
cursor: pointer;
}
.btn_icon{
margin-right: 10px;
}
.table_container{
width: 97%;
margin-top: 20px;
}
.el-pagination{
margin-top: 50px;
}
.dialog_form_item{
display: flex;
align-items: center;
margin-bottom: 10px;
}
.dialog_form_item_title{
flex-shrink: 0;
margin-right: 15px;
width: 100px;
text-align: right;
.reqIcon{
color: red;
}
}
/deep/ .el-dialog__header{
text-align: left;
}
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active{
background-color: #0D867F;
}
.greenButton{
background-color: #0D867F;
color: #fff;
}
</style>
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!