Commit cacd5d9b by liuyong
2 parents dda9fa3e cf028276
<template>
<div class="typicalExampleManage">
<div class="comCenterServeList">
<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.assetName" placeholder="请输入内容" class="search_item"></el-input>
</div>
<div class="search_menu_item">
<span class="search_title">创建人</span>
<el-input v-model="params.createMan" placeholder="请输入内容" class="search_item"></el-input>
</div>
</div>
<div class="search_menu_btn_container">
<div class="query_btn" @click="getList">
<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" icon="el-icon-document-add" @click="operate('add')">新建</el-button>
<!-- <el-button type="primary" size="medium" icon="el-icon-delete" @click="operate('delMultiple')">删除</el-button>
<el-button type="primary" size="medium" icon="el-icon-plus" @click="exportFile">导出</el-button> -->
</div>
<el-table :height="tableHeight" @selection-change="handleSelectionChange" v-loading="loading" :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="assetName" label="业务组件名称" align="center"></el-table-column>
<el-table-column prop="assetType" label="业务组件类型" align="center">
<template slot-scope="scope">
<span >{{dicObj.eleLtId[scope.row.assetType]}}</span>
</template>
</el-table-column>
<el-table-column prop="parentAssetName" label="上级业务组件" align="center"></el-table-column>
<el-table-column prop="createMan" label="创建人" align="center"></el-table-column>
<el-table-column prop="createTime" label="创建时间" align="center"></el-table-column>
<el-table-column label="操作" width="260" align="center">
<template slot-scope="scope">
<div style="display: flex;align-items: center;justify-content: center;">
<el-button icon="el-icon-edit" type="primary" size="mini" @click="operate('edit',scope.row)">编辑</el-button>
<el-button class="shanChu_btn" icon="el-icon-delete" size="mini" @click="operate('del',scope.row)">删除</el-button>
</div>
</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-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="业务中台服务能力清单" name="page1">
<page1></page1>
</el-tab-pane>
<el-tab-pane label="数据中台资源目录清单" name="page2">
<page2></page2>
</el-tab-pane>
<el-tab-pane label="数据中台资源服务清单" name="page3">
<page3></page3>
</el-tab-pane>
<el-tab-pane label="技术中台公共技术能力清单" name="page4">
<page4></page4>
</el-tab-pane>
</el-tabs>
</div>
<el-dialog
:title="title"
:visible.sync="add_dialog"
:center="false"
width="60%">
<div class="add_dialog_content">
<div class="add_dialog_content">
<el-form :model="formData" ref="form">
<div class="form_item_container">
<el-form-item label="案例名称:" prop="tcName">
<el-input v-model="formData.tcName"></el-input>
</el-form-item>
<el-form-item label="案例类型:" prop="tcType">
<el-select v-model="formData.tcType" placeholder="请选择">
<el-option v-for="item in selectData1" :key="item.label" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="项目类型:" prop="prjType">
<el-select v-model="formData.prjType" placeholder="请选择">
<el-option v-for="item in selectData3" :key="item.label" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="建设内容:" prop="buildContent">
<el-input v-model="formData.buildContent"></el-input>
</el-form-item>
<el-form-item label="问题类型:" prop="problemType">
<el-select v-model="formData.problemType" placeholder="请选择">
<el-option v-for="item in selectData2" :key="item.label" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="问题等级:" prop="problemLevel">
<el-select v-model="formData.problemLevel" placeholder="请选择">
<el-option v-for="item in selectData4" :key="item.label" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item class="cross1" label="架构详情:" prop="archiDetail">
<el-input type="textarea" v-model="formData.archiDetail" maxlength="200" show-word-limit></el-input>
</el-form-item>
<el-form-item class="cross1" label="问题描述:" prop="problemContent">
<el-input type="textarea" v-model="formData.problemContent" maxlength="200" show-word-limit></el-input>
</el-form-item>
</div>
</el-form>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button class="greenButton" @click="operate('create')">确定</el-button>
<el-button @click="add_dialog = false">取消</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {
getArchiAssetManageList,
getArchiAssetManageAdd,
getArchiAssetManageUpdate,
getEleList,
import page1 from "./pages/page1";
import page2 from "./pages/page2";
import page3 from "./pages/page3";
import page4 from "./pages/page3";
getDianXingAnLiSelectData,
getTypicalExampleList,
getTypicalExampleAdd,
getTypicalExampleUpdate,
getTypicalExampleDel,
getTypicalExampleExcel,
} from '@/api/index.js';
import { MessageBox, Message } from 'element-ui';
import $ from 'jquery';
export default {
name: 'TypicalExampleManage',
name: 'comCenterServeList',
components: {
page1,
page2,
page3,
page4,
},
data() {
return {
tableData: [],
add_dialog: false,
title: "",
loading: false,
selectList: [],
selectData1: [
{
label: "移动应用典型案例",
value: 1,
},
{
label: "数据模型典型案例",
value: 2,
},
{
label: "数据中台典型案例",
value: 3,
},
],
selectData2: [
{
label: "一致性",
value: 1,
},
{
label: "架构遵从",
value: 2,
},
{
label: "重复风险",
value: 3,
},
],
selectData3: [
{
label: "暂时未例举",
value: 1,
},
],
selectData4: [
{
label: "一级",
value: 1,
},
{
label: "二级",
value: 2,
},
{
label: "三级",
value: 3,
},
],
params: {
current: 1,
pageSize: 10,
assetName: "",
createMan: "",
},
pager: {
current: 1,
sizes: [10, 20, 50, 100, 200],
size: 10,
total: 0, //总条数
},
formData: {
tcName: '',
tcType: '',
prjType: '',
buildContent: '',
problemType: '',
problemLevel: '',
problemContent: '',
archiDetail: "",
},
tableHeight: null,
dicObj: {
tcType: {
// 1: "在库",
// 2: "出库",
// 3: "出库",
},
prjType: {},
problemType: {},
problemLevel: {},
eleLtId: {},
},
activeName: "page1",
};
},
mounted(){
window.addEventListener('resize', () => {
this.set_table_height();
})
this.set_table_height();
// 获取元素列表
this.getYuansuList();
// 初始化查询列表
this.getList();
},
methods: {
// 查询列表
getList() {
getArchiAssetManageList(this.params).then(res => {
if (res.code == 200) {
this.pager.total = res.data.total;
this.tableData = res.data.records;
}
});
},
// 重置
reset() {
this.params = {
current: 1,
pageSize: 10,
assetName: "",
createMan: "",
}
},
// 所有操作
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;
this.formData.tcType = String(this.formData.tcType);
this.formData.problemType = String(this.formData.problemType);
this.formData.prjType = String(this.formData.prjType);
this.formData.problemLevel = String(this.formData.problemLevel);
}else if (type == "create") {
if (this.formData.ktcId) {
// 编辑保存
getTypicalExampleUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("保存成功");
this.add_dialog = false;
this.getList();
}else{
this.add_dialog = false;
this.$message.error(res.msg);
}
});
}else{
// 新建保存
getTypicalExampleAdd(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("保存成功");
this.add_dialog = false;
this.getList();
}else{
this.add_dialog = false;
this.$message.error(res.msg);
}
});
}
}else if (type == "del") {
// 删除
this.$confirm("确认删除吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let params = {
ids: [item.ktcId],
};
getTypicalExampleDel(params).then(res => {
if (res.code == 200) {
this.$message.success("删除成功");
this.getList();
}else{
this.$message.error(res.msg);
}
});
}).catch(() => {
});
}else if (type == "delMultiple") {
if (this.selectList.length <= 0) {
this.$message.error("请选择一项进行删除");
return;
}
let params = {
ids: [],
};
this.selectList.map(item => {
params.ids.push(item.ktcId)
})
this.$confirm("确认批量删除吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
getTypicalExampleDel(params).then(res => {
if (res.code == 200) {
this.$message.success("批量删除成功");
this.getList();
}else{
this.$message.error(res.msg);
}
});
}).catch(() => {
});
}
},
// 新建清空表单
resetForm(){
this.formData = {
tcName: '',
tcType: '',
prjType: '',
buildContent: '',
problemType: '',
problemLevel: '',
problemContent: '',
archiDetail: "",
}
},
exportFile() {//导出
getTypicalExampleExcel(this.params).then(res => {
let blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
let url = URL.createObjectURL(blob);
let link = document.createElement('a');
link.href = url;
document.body.appendChild(link);
link.click();
})
},
// 获取元素列表
getYuansuList() {
getEleList().then(res => {
if (res.code == 200) {
this.eleList = res.data;
this.eleList.forEach(item=>{
this.dicObj.eleLtId[item.elementId] = item.elementName;
})
console.log(this.dicObj.eleLtId);
}
});
},
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';
},
selectable(row) {//表格勾选框禁用
if(row.state == 1) {
return false; // 禁用
} else {
return true; //不禁用
}
},
// 表格多选
handleSelectionChange(e) {
this.selectList = e;
},
// 每页条数改变
handleSizeChange(val) {
this.pager.current = 1;
this.params.current = 1;
this.pager.size = val;
this.params.pageSize = val;
this.getList();
},
//当前页码改变
handleCurrentChange(val) {
this.pager.current = val;
this.params.current = val;
this.getList();
handleClick(tab) {
// console.log(tab);
},
}
}
</script>
<style>
.confirmClass{
background-color: #0D867F !important;
}
.el-message-box__content{
padding: 60px 15px 60px 15px;
}
</style>
<style scoped>
.form_item_container{
display: flex;
......@@ -444,7 +66,7 @@ export default {
/deep/ .cross1 > .el-form-item__content{
width: 86.4% !important;
}
.typicalExampleManage{
.comCenterServeList{
width: 100%;
height: 100%;
display: flex;
......
<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.elementName" placeholder="请输入内容" class="search_item"></el-input>
</div>
<div class="search_menu_item">
<span class="search_title">架构归属</span>
<el-select v-model="params.archIBelongId" placeholder="请选择" clearable class="search_item">
<el-option v-for="item in search_select2" :key="item.belongId" :label="item.name" :value="item.belongId"></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/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">
</div>
<el-table :data="tableData" stripe border height="450">
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
<el-table-column prop="elementName" label="元素名称" align="center"></el-table-column>
<el-table-column prop="archiLevelId" label="架构层次" width="150" align="center">
<template slot-scope="scope">
<span >{{dicObj.archiLevelId[scope.row.archiLevelId]}}</span>
</template>
</el-table-column>
<el-table-column prop="archiBelongId" label="架构归属" width="150" align="center">
<template slot-scope="scope">
<span >{{dicObj.archiBelongId[scope.row.archiBelongId]}}</span>
</template>
</el-table-column>
<el-table-column prop="content" label="描述" align="center"></el-table-column>
<!-- <el-table-column label="图标" align="center">
<template slot-scope="scope">
<img :src="scope.row.icon" alt="" style="width: 50%;">
</template>
</el-table-column> -->
<el-table-column prop="version" label="字典版本号" align="center"></el-table-column>
<el-table-column 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 :class="scope.row.state == 1 ? '':'editBtn'" icon="el-icon-edit" size="mini" @click="operate('edit',scope.row)" :disabled="scope.row.state == 1">编辑</el-button>
<el-button :class="scope.row.state == 1 ? '':'editBtn'" icon="el-icon-upload2" size="mini" @click="operate('pushEdit',scope.row)" :disabled="scope.row.state == 1">发布</el-button>
<el-button :class="scope.row.state != 1 ? '':'stopBtn'" icon="el-icon-remove-outline" size="mini" @click="operate('stop',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="60%">
<div class="add_dialog_content">
<div class="dialog_content_1">
<div class="dialog_form_item">
<div class="dialog_form_item_title">元素名称</div>
<el-input placeholder="" class="dialog_form_item_content" v-model="formData.elementName" :disabled="true"></el-input>
</div>
<div class="dialog_form_item">
<div class="dialog_form_item_title">架构归属</div>
<el-select v-model="formData.archiBelongId" placeholder="" :disabled="true" class="search_item">
<el-option v-for="(item,idnex) in search_select2" :key="idnex" :label="item.name" :value="item.belongId" ></el-option>
</el-select>
</div>
<div class="dialog_form_item">
<div class="dialog_form_item_title">状态</div>
<el-select v-model="formData.state" placeholder="" :disabled="true" 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>
<el-table :data="tableData2" stripe border height="350" @cell-dblclick="tableDbclick">
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
<el-table-column prop="fieldName" label="字段名" align="center">
<!-- <template slot-scope="scope">
<div v-show=" !columnIsShow|| (editIndex!= scope.row.index)">{{scope.row.fieldName}}</div>
<el-input v-show="columnIsShow&& (editIndex== scope.row.index)" @blur="columnIsShow = false" v-model="scope.row.fieldName"></el-input>
</template> -->
</el-table-column>
<el-table-column prop="cnName" label="中文名" align="center">
<!-- <template slot-scope="scope">
<div v-show=" !columnIsShow|| (editIndex!= scope.row.index)">{{scope.row.cnName}}</div>
<el-input v-show="columnIsShow&& (editIndex== scope.row.index)" @blur="columnIsShow = false" v-model="scope.row.cnName"></el-input>
</template> -->
</el-table-column>
<el-table-column prop="displayOrder" label="排序" align="center">
<!-- <template slot-scope="scope">
<div v-show=" !columnIsShow|| (editIndex!= scope.row.index)">{{scope.row.displayOrder}}</div>
<el-input v-show="columnIsShow&& (editIndex== scope.row.index)" @blur="columnIsShow = false" v-model="scope.row.displayOrder"></el-input>
</template> -->
</el-table-column>
<el-table-column prop="contentLength" label="长度" align="center">
<!-- <template slot-scope="scope">
<div v-show=" !columnIsShow|| (editIndex!= scope.row.index)">{{scope.row.contentLength}}</div>
<el-input v-show="columnIsShow&& (editIndex== scope.row.index)" @blur="columnIsShow = false" v-model="scope.row.contentLength"></el-input>
</template> -->
</el-table-column>
<el-table-column prop="controlType" label="控件" align="center">
<!-- <template slot-scope="scope">
<div v-show=" !columnIsShow|| (editIndex!= scope.row.index)">{{dicObj.controlType[scope.row.controlType]}}</div>
<el-select v-show="columnIsShow&& (editIndex== scope.row.index)" v-model="scope.row.controlType">
<el-option
v-for="(item, index) in selectTypeList"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</template> -->
<template slot-scope="scope">
<span>{{dicObj.controlType[scope.row.controlType]}}</span>
</template>
</el-table-column>
<el-table-column label="操作" width="200" 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="operateDia('edit',scope.row)">编辑</el-button>
<el-button icon="el-icon-delete" size="mini" @click="operateDia('del',scope.row,scope.$index)">删除</el-button>
</div>
</template>
</el-table-column>
</el-table>
<div class="newBtn">
<el-button class="addItem" icon="el-icon-plus" circle @click="operateDia('add')"></el-button>
</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>
<!-- 第二个弹窗 -->
<el-dialog
:title="title2"
:visible.sync="add_dialog2"
:center="false"
width="40%">
<div class="add_dialog_content">
<el-form :model="formData2" :rules="rules" ref="page1Form">
<div class="form_item_container">
<el-form-item class="cross" label="字段名:" prop="fieldName">
<el-input v-model="formData2.fieldName" maxlength="100"></el-input>
</el-form-item>
<el-form-item class="cross" label="中文名:" prop="cnName">
<el-input v-model="formData2.cnName" maxlength="100"></el-input>
</el-form-item>
<el-form-item class="cross" label="排序:" prop="displayOrder">
<el-input v-model="formData2.displayOrder" maxlength="100"></el-input>
</el-form-item>
<el-form-item class="cross" label="长度:" prop="contentLength">
<el-input v-model="formData2.contentLength" maxlength="100"></el-input>
</el-form-item>
<el-form-item class="cross" label="控件:" prop="controlType">
<el-select v-model="formData2.controlType" placeholder="请选择" clearable>
<el-option v-for="(item,idnex) in selectTypeList" :key="idnex" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</div>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button class="greenButton" @click="operateDia('save')">保存</el-button>
<el-button @click="add_dialog2 = false">取消</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {
getYMXZDGLlist,
getYMXZDGLAdd,
getYMXZDGLDel,
getYMXZDGLUpdate,
query_jia_gou_gui_shu,
query_jia_gou_ceng_ci,
getYMXZDGLProyList,
getYMXZDGLProyDel,
getYMXZDGLProyAdd,
getYMXZDGLProyUpdate,
} from "@/api/index.js";
export default {
name: 'page1',
components: {
},
data() {
return {
tableData: [],
tableData2: [],
selectList: [],
add_dialog: false,
title: "",
add_dialog2: false,
title2: "",
openType: "",
add_dialog: false,
query_item1: null,
query_item3: null,
query_item4: null,
let1: '',
let2: '',
let3: '',
let4: '',
formData: {
rsName: "",
content: "",
},
formData2: {
fieldName: "",
cnName: "",
displayOrder: "",
contentLength: "",
controlType: "",
},
rules: {
fieldName: [
{ required: true, message: '请输入字段名', trigger: 'blur' },
],
cnName: [
{ required: true, message: '请输入中文名', trigger: 'blur' },
],
displayOrder: [
{ required: true, message: '请输字段入排序', trigger: 'blur' },
],
contentLength: [
{ required: true, message: '请输入字段长度', trigger: 'blur' },
],
controlType: [
{ required: true, message: '请选择控件类型', trigger: 'change' },
],
},
params: {
current: 1,
pageSize: 10,
elementName: "",
archIBelongId: "",
state: "",
type: 1,
},
page: {
current: 1,
sizes: [10, 20, 50, 100, 200],
size: 10,
total: 0, //总条数
},
dicObj: {
state: {
0: "已停用",
1: "已发布",
2: "暂存",
},
archiLevelId: {
0: "策略层",
1: "管理层",
2: "设计层",
3: "实施层",
},
archiBelongId: {
3: "业务架构",
4: "应用架构",
5: "数据架构",
6: "技术架构",
7: "安全架构",
},
controlType: {
0: "单行文本框",
1: "多行文本框",
2: "下拉框",
}
},
stateList: [
{
label: "已发布",
value: 1,
},
{
label: "已停用",
value: 0,
},
{
label: "暂存",
value: 2,
},
],
search_select1: [],
search_select2: [],
selectTypeList: [
{
label: "单行文本框",
value: 0,
},
{
label: "多行文本框",
value: 1,
},
{
label: "下拉框",
value: 2,
},
],
columnIsShow: false,
editIndex: -1, // 当前编辑行
};
},
mounted() {
// 初始化查询列表
this.getList();
this.get_dialog_select1().then(res => {
this.search_select1 = res;
});
this.get_dialog_select2().then(res => {
this.search_select2 = res;
});
},
created() {
},
methods: {
// 查询列表
getList() {
getYMXZDGLlist(this.params).then(res => {
if (res.code == 200) {
this.page.total = res.data.total;
this.tableData = res.data.records;
}
});
},
// 重置
reset(){
this.params = {
current: 1,
pageSize: 10,
elementName: "",
archIBelongId: "",
state: "",
type: 1,
}
},
// 分页事件
handleSizeChange(val) {
this.page.current = 1;
this.params.current = 1;
this.page.size = val;
this.params.pageSize = val;
this.getList();
},
handleCurrentChange(val) {
this.page.current = val;
this.params.current = val;
this.getList();
},
// 所有操作
operate(type,item){
this.openType = type;
if (type == "edit") {
this.add_dialog = true;
this.title = "编辑字典";
this.formData = item;
this.getProyList(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{
this.add_dialog = false;
this.$message.error(res.msg);
}
});
}
}else if (type == "push") {
if (this.formData.dicyId) {
// 编辑发布
this.formData.state = 1;
getYMXZDGLUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("发布成功");
this.add_dialog = false;
this.getList();
}else{
this.add_dialog = false;
this.$message.error(res.msg);
}
});
}
}else if (type == "pushEdit") {
this.$confirm("确认发布吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.formData = item;
this.formData.state = 1;
getYMXZDGLUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("发布成功");
this.add_dialog = false;
this.getList();
}else{
this.add_dialog = false;
this.$message.error(res.msg);
}
});
}).catch(() => {
});
}else if (type == "stop") {
// 停用
this.$confirm("确认停用吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.formData = item;
this.formData.state = 0;
getYMXZDGLUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("停用成功");
this.getList();
}else{
this.$message.error(res.msg);
}
});
}).catch(() => {
});
}else if (type == "del") {
// 删除
// this.formData = item;
// this.$confirm("确认删除吗", "提示", {
// confirmButtonText: "确定",
// cancelButtonText: "取消",
// type: "warning"
// }).then(() => {
// getYMXZDGLDel(this.formData).then(res => {
// if (res.code == 200) {
// this.$message.success("删除成功");
// this.getList();
// }
// });
// });
}
},
// 新建清空表单
resetForm(){
this.formData = {
rsName: "",
content: "",
}
},
resetFormData2(){
this.formData2 = {
fieldName: "",
cnName: "",
displayOrder: "",
contentLength: "",
controlType: "",
};
},
// 表格多选
handleSelectionChange(e) {
this.selectList = e;
},
selectInit(row,index){
if(row.state != "1"){
return true //可勾选
}else{
return false //不可勾选
}
},
get_dialog_select1() {//查询架构层次下拉框值
return new Promise((resolve, reject) => {
query_jia_gou_ceng_ci({}).then(res => {
if(res.code == 200) {
resolve(res.data);
}else{
reject(res.msg);
}
});
});
},
get_dialog_select2() {//查询架构归属下拉框值
return new Promise((resolve, reject) => {
query_jia_gou_gui_shu({}).then(res => {
if(res.code == 200) {
resolve(res.data);
}else {
reject(res.msg);
}
});
})
},
// 对话表格操作
operateDia( type, scopeRow, index){
switch (type) {
// 添加
case 'add':
this.add_dialog2 = true;
this.title2 = "新建字典属性";
this.resetFormData2();
this.$nextTick(() => {
this.$refs.page1Form.resetFields();
});
break;
// 编辑
case 'edit':
this.add_dialog2 = true;
this.title2 = "编辑字典属性";
this.formData2 = scopeRow;
break;
// 保存
case 'save':
this.$refs.page1Form.validate(valid => {
if(valid) {
if (this.formData2.propertyId) {
let params = {
fieldName: this.formData2.fieldName,
cnName: this.formData2.cnName,
displayOrder: this.formData2.displayOrder,
contentLength: this.formData2.contentLength,
controlType: this.formData2.controlType,
propertyId: this.formData2.propertyId,
type: this.formData.type,
typeId: this.formData.typeId,
version: this.formData.version,
dicyId: this.formData.dicyId,
state: this.formData.state,
}
// 编辑保存
getYMXZDGLProyUpdate(params).then(res => {
if (res.code == 200) {
this.$message.success("保存成功");
this.add_dialog2 = false;
this.getProyList(this.formData);
}else{
this.add_dialog2 = false;
this.$message.error(res.msg);
}
});
}else{
let params = {
fieldName: this.formData2.fieldName,
cnName: this.formData2.cnName,
displayOrder: this.formData2.displayOrder,
contentLength: this.formData2.contentLength,
controlType: this.formData2.controlType,
type: this.formData.type,
typeId: this.formData.typeId,
version: this.formData.version,
dicyId: this.formData.dicyId,
state: this.formData.state,
}
// 新建保存
getYMXZDGLProyAdd(params).then(res => {
if (res.code == 200) {
this.$message.success("新建成功");
this.add_dialog2 = false;
this.getProyList(this.formData);
}else{
this.add_dialog2 = false;
this.$message.error(res.msg);
}
});
}
}
});
break;
// 删除
case 'del':
this.$confirm("确认删除吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
getYMXZDGLProyDel(scopeRow).then(res => {
if (res.code == 200) {
this.$message.success("删除成功");
this.getProyList(this.formData);
}else{
this.$message.error(res.msg);
}
});
}).catch(() => {
});
break;
}
},
tableDbclick( row, column, cell, e){
// this.editIndex = row.index;
// this.columnIsShow = true;
},
// 获取字典属性接口
getProyList(item) {
let params = {
type: item.type,
typeId: item.typeId,
}
getYMXZDGLProyList(params).then(res => {
if (res.code == 200) {
this.tableData2 = res.data;
}
});
},
},
}
</script>
<style lang="scss" scoped>
.JiaGouYuanShuGuanLi{
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.newBtn{
margin-top: 5px;
.addItem{
background-color: #0D867F;
color: #fff;
}
}
.add_dialog_content{
width: 100%;
.form_item_container{
display: flex;
flex-wrap: wrap;
.cross{
width: 50% !important;
/deep/ .el-form-item__label{
width: 25%;
}
/deep/ .el-form-item__content{
width: 65% !important;
.el-select{
width: 100% !important;
}
}
}
.el-form-item{
display: flex;
width: 100%;
}
}
}
.dialog_content_1{
width: 100%;
display: flex;
justify-content: space-between;
.dialog_form_item{
width: 33%;
display: flex;
align-items: center;
margin-bottom: 10px;
}
.dialog_form_item2{
width: 50%;
display: flex;
align-items: center;
margin-bottom: 10px;
}
.dialog_form_item_title{
width: 20%;
}
.el-input{
width: 80%;
}
.el-select{
width: 80%;
}
}
.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: 10px;
margin-bottom: 10px;
}
.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;
.editBtn{
color: #0D867F;
}
.delBtn{
color: #DB6209;
}
.stopBtn{
color: #E7A20E;
}
}
.el-pagination{
margin-top: 50px;
}
.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
<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 v-for="(item,idnex) in search_select1" :key="idnex" :label="item.name" :value="item.belongId" ></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/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">
</div>
<el-table :data="tableData" stripe border height="450">
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
<el-table-column prop="rsName" label="元素关系名称" align="center"></el-table-column>
<el-table-column prop="content" label="关系描述" align="center"></el-table-column>
<!-- <el-table-column label="图标" align="center" width="100">
<template slot-scope="scope">
<div class="tableIcon">
<img class="iconItem" :src="scope.row.icon" alt="">
</div>
</template>
</el-table-column> -->
<el-table-column prop="version" label="字典版本号" width="250" align="center"></el-table-column>
<el-table-column prop="state" label="字典版本状态" width="150" align="center">
<template slot-scope="scope">
<span >{{dicObj.state[scope.row.state]}}</span>
</template>
</el-table-column>
<el-table-column label="操作" width="400" align="center">
<template slot-scope="scope">
<div style="display: flex;align-items: center;justify-content: center;">
<el-button :class="scope.row.state == 1 ? '':'editBtn'" icon="el-icon-edit" size="mini" @click="operate('edit',scope.row)" :disabled="scope.row.state == 1">编辑</el-button>
<el-button :class="scope.row.state == 1 ? '':'editBtn'" icon="el-icon-upload2" size="mini" @click="operate('pushEdit',scope.row)" :disabled="scope.row.state == 1">发布</el-button>
<el-button :class="scope.row.state != 1 ? '':'stopBtn'" icon="el-icon-remove-outline" size="mini" @click="operate('stop',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="60%">
<div class="add_dialog_content">
<div class="dialog_content_1">
<div class="dialog_form_item">
<div class="dialog_form_item_title">元素关系名称</div>
<el-input placeholder="" class="dialog_form_item_content" v-model="formData.rsName" :disabled="true"></el-input>
</div>
<div class="dialog_form_item">
<div class="dialog_form_item_title">适用范围</div>
<el-select v-model="formData.scope" placeholder="请选择" :disabled="true" class="search_item">
<el-option v-for="(item,idnex) in search_select1" :key="idnex" :label="item.name" :value="item.belongId" ></el-option>
</el-select>
</div>
<div class="dialog_form_item">
<div class="dialog_form_item_title">状态</div>
<el-select v-model="formData.state" placeholder="" :disabled="true" 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>
<el-table :data="tableData2" stripe border height="350" @cell-dblclick="tableDbclick">
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
<el-table-column prop="fieldName" label="字段名" align="center">
<!-- <template slot-scope="scope">
<div v-show=" !columnIsShow|| (editIndex!= scope.row.index)">{{scope.row.fieldName}}</div>
<el-input v-show="columnIsShow&& (editIndex== scope.row.index)" @blur="columnIsShow = false" v-model="scope.row.fieldName"></el-input>
</template> -->
</el-table-column>
<el-table-column prop="cnName" label="中文名" align="center">
<!-- <template slot-scope="scope">
<div v-show=" !columnIsShow|| (editIndex!= scope.row.index)">{{scope.row.cnName}}</div>
<el-input v-show="columnIsShow&& (editIndex== scope.row.index)" @blur="columnIsShow = false" v-model="scope.row.cnName"></el-input>
</template> -->
</el-table-column>
<el-table-column prop="displayOrder" label="排序" align="center">
<!-- <template slot-scope="scope">
<div v-show=" !columnIsShow|| (editIndex!= scope.row.index)">{{scope.row.displayOrder}}</div>
<el-input v-show="columnIsShow&& (editIndex== scope.row.index)" @blur="columnIsShow = false" v-model="scope.row.displayOrder"></el-input>
</template> -->
</el-table-column>
<el-table-column prop="contentLength" label="长度" align="center">
<!-- <template slot-scope="scope">
<div v-show=" !columnIsShow|| (editIndex!= scope.row.index)">{{scope.row.contentLength}}</div>
<el-input v-show="columnIsShow&& (editIndex== scope.row.index)" @blur="columnIsShow = false" v-model="scope.row.contentLength"></el-input>
</template> -->
</el-table-column>
<el-table-column prop="controlType" label="控件" align="center">
<!-- <template slot-scope="scope">
<div v-show=" !columnIsShow|| (editIndex!= scope.row.index)">{{dicObj.controlType[scope.row.controlType]}}</div>
<el-select v-show="columnIsShow&& (editIndex== scope.row.index)" v-model="scope.row.controlType">
<el-option
v-for="(item, index) in selectTypeList"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</template> -->
<template slot-scope="scope">
<span>{{dicObj.controlType[scope.row.controlType]}}</span>
</template>
</el-table-column>
<el-table-column label="操作" width="200" 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="operateDia('edit',scope.row)">编辑</el-button>
<el-button icon="el-icon-delete" size="mini" @click="operateDia('del',scope.row,scope.$index)">删除</el-button>
</div>
</template>
</el-table-column>
</el-table>
<div class="newBtn">
<el-button class="addItem" icon="el-icon-plus" circle @click="operateDia('add')"></el-button>
</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>
<!-- 第二个弹窗 -->
<el-dialog
:title="title2"
:visible.sync="add_dialog2"
:center="false"
width="40%">
<div class="add_dialog_content">
<el-form :model="formData2" :rules="rules" ref="page2Form">
<div class="form_item_container">
<el-form-item class="cross" label="字段名:" prop="fieldName">
<el-input v-model="formData2.fieldName" maxlength="100"></el-input>
</el-form-item>
<el-form-item class="cross" label="中文名:" prop="cnName">
<el-input v-model="formData2.cnName" maxlength="100"></el-input>
</el-form-item>
<el-form-item class="cross" label="排序:" prop="displayOrder">
<el-input v-model="formData2.displayOrder" maxlength="100"></el-input>
</el-form-item>
<el-form-item class="cross" label="长度:" prop="contentLength">
<el-input v-model="formData2.contentLength" maxlength="100"></el-input>
</el-form-item>
<el-form-item class="cross" label="控件:" prop="controlType">
<el-select v-model="formData2.controlType" placeholder="请选择" clearable>
<el-option v-for="(item,idnex) in selectTypeList" :key="idnex" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</div>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button class="greenButton" @click="operateDia('save')">保存</el-button>
<el-button @click="add_dialog2 = false">取消</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {
getYMXZDGLlist,
getYMXZDGLAdd,
getYMXZDGLDel,
getYMXZDGLUpdate,
getYMXZDGLProyList,
getYMXZDGLProyDel,
getYMXZDGLProyAdd,
getYMXZDGLProyUpdate,
query_jia_gou_gui_shu,
} from "@/api/index.js";
export default {
name: 'page2',
components: {
},
data() {
return {
tableData: [],
tableData2: [
{
fieldName: "",
cnName: "",
displayOrder: "",
controlType: "",
contentLength: "",
}
],
selectList: [],
add_dialog: false,
title: "",
add_dialog2: false,
title2: "",
openType: "",
add_dialog: false,
query_item1: null,
query_item3: null,
query_item4: null,
let1: '',
let2: '',
let3: '',
let4: '',
formData: {
rsName: "",
content: "",
},
formData2: {
fieldName: "",
cnName: "",
displayOrder: "",
contentLength: "",
controlType: "",
},
rules: {
fieldName: [
{ required: true, message: '请输入字段名', trigger: 'blur' },
],
cnName: [
{ required: true, message: '请输入中文名', trigger: 'blur' },
],
displayOrder: [
{ required: true, message: '请输字段入排序', trigger: 'blur' },
],
contentLength: [
{ required: true, message: '请输入字段长度', trigger: 'blur' },
],
controlType: [
{ required: true, message: '请选择控件类型', trigger: 'change' },
],
},
params: {
current: 1,
pageSize: 10,
rsName: "",
// scope: "",
state: "",
type: 2,
},
page: {
current: 1,
sizes: [10, 20, 50, 100, 200],
size: 10,
total: 0, //总条数
},
dicObj: {
state: {
0: "已停用",
1: "已发布",
2: "暂存",
},
controlType: {
0: "单行文本框",
1: "多行文本框",
2: "下拉框",
}
},
stateList: [
{
label: "已发布",
value: 1,
},
{
label: "已停用",
value: 0,
},
{
label: "暂存",
value: 2,
},
],
selectTypeList: [
{
label: "单行文本框",
value: 0,
},
{
label: "多行文本框",
value: 1,
},
{
label: "下拉框",
value: 2,
},
],
columnIsShow: false,
editIndex: -1, // 当前编辑行
search_select1: [
{
name: "架构之间",
belongId: 0,
}
],
};
},
mounted() {
// 适用范围下拉
this.get_dialog_select2().then(res => {
this.search_select1 = this.search_select1.concat(res);
});
// 初始化查询列表
this.getList();
},
created() {
},
methods: {
// 查询架构归属下拉框值
get_dialog_select2() {
return new Promise((resolve, reject) => {
query_jia_gou_gui_shu({}).then(res => {
if(res.code == 200) {
resolve(res.data);
}else {
reject(res.msg);
}
});
})
},
// 查询列表
getList() {
getYMXZDGLlist(this.params).then(res => {
if (res.code == 200) {
this.page.total = res.data.total;
this.tableData = res.data.records;
}
});
},
// 重置
reset(){
this.params = {
current: 1,
pageSize: 10,
rsName: "",
// scope: "",
state: "",
type: 2,
}
},
// 分页事件
handleSizeChange(val) {
this.page.current = 1;
this.params.current = 1;
this.page.size = val;
this.params.pageSize = val;
this.getList();
},
handleCurrentChange(val) {
this.page.current = val;
this.params.current = val;
this.getList();
},
// 所有操作
operate(type,item){
this.openType = type;
if (type == "edit") {
this.add_dialog = true;
this.title = "编辑字典";
this.formData = item;
this.formData.scope = Number(this.formData.scope);
this.getProyList(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{
this.add_dialog = false;
this.$message.error(res.msg);
}
});
}
}else if (type == "push") {
if (this.formData.dicyId) {
// 编辑发布
this.formData.state = 1;
getYMXZDGLUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("发布成功");
this.add_dialog = false;
this.getList();
}else{
this.add_dialog = false;
this.$message.error(res.msg);
}
});
}
}else if (type == "pushEdit") {
this.$confirm("确认发布吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.formData = item;
this.formData.state = 1;
getYMXZDGLUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("发布成功");
this.add_dialog = false;
this.getList();
}else{
this.add_dialog = false;
this.$message.error(res.msg);
}
});
}).catch(() => {
});
}else if (type == "stop") {
// 停用
this.$confirm("确认停用吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.formData = item;
this.formData.state = 0;
getYMXZDGLUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("停用成功");
this.getList();
}else{
this.$message.error(res.msg);
}
});
}).catch(() => {
});
}else if (type == "del") {
// 删除
// this.formData = item;
// this.$confirm("确认删除吗", "提示", {
// confirmButtonText: "确定",
// cancelButtonText: "取消",
// type: "warning"
// }).then(() => {
// getYMXZDGLDel(this.formData).then(res => {
// if (res.code == 200) {
// this.$message.success("删除成功");
// this.getList();
// }
// });
// });
}
},
// 新建清空表单
resetForm(){
this.formData = {
rsName: "",
content: "",
}
},
resetFormData2(){
this.formData2 = {
fieldName: "",
cnName: "",
displayOrder: "",
contentLength: "",
controlType: "",
};
},
// 表格多选
handleSelectionChange(e) {
this.selectList = e;
},
selectInit(row,index){
if(row.state != "1"){
return true //可勾选
}else{
return false //不可勾选
}
},
// 对话表格操作
operateDia( type, scopeRow, index){
switch (type) {
// 添加
case 'add':
this.add_dialog2 = true;
this.title2 = "新建字典属性";
this.resetFormData2();
this.$nextTick(() => {
this.$refs.page2Form.resetFields();
});
break;
// 编辑
case 'edit':
this.add_dialog2 = true;
this.title2 = "编辑字典属性";
this.formData2 = scopeRow;
break;
// 保存
case 'save':
this.$refs.page2Form.validate(valid => {
if(valid) {
if (this.formData2.propertyId) {
let params = {
fieldName: this.formData2.fieldName,
cnName: this.formData2.cnName,
displayOrder: this.formData2.displayOrder,
contentLength: this.formData2.contentLength,
controlType: this.formData2.controlType,
propertyId: this.formData2.propertyId,
type: this.formData.type,
typeId: this.formData.typeId,
version: this.formData.version,
dicyId: this.formData.dicyId,
state: this.formData.state,
}
// 编辑保存
getYMXZDGLProyUpdate(params).then(res => {
if (res.code == 200) {
this.$message.success("保存成功");
this.add_dialog2 = false;
this.getProyList(this.formData);
}else{
this.add_dialog2 = false;
this.$message.error(res.msg);
}
});
}else{
let params = {
fieldName: this.formData2.fieldName,
cnName: this.formData2.cnName,
displayOrder: this.formData2.displayOrder,
contentLength: this.formData2.contentLength,
controlType: this.formData2.controlType,
type: this.formData.type,
typeId: this.formData.typeId,
version: this.formData.version,
dicyId: this.formData.dicyId,
state: this.formData.state,
}
// 新建保存
getYMXZDGLProyAdd(params).then(res => {
if (res.code == 200) {
this.$message.success("新建成功");
this.add_dialog2 = false;
this.getProyList(this.formData);
}else{
this.add_dialog2 = false;
this.$message.error(res.msg);
}
});
}
}
});
break;
// 删除
case 'del':
this.$confirm("确认删除吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
getYMXZDGLProyDel(scopeRow).then(res => {
if (res.code == 200) {
this.$message.success("删除成功");
this.getProyList(this.formData);
}else{
this.$message.error(res.msg);
}
});
}).catch(() => {
});
break;
}
},
tableDbclick( row, column, cell, e){
// this.editIndex = row.index;
// this.columnIsShow = true;
},
// 获取字典属性接口
getProyList(item) {
let params = {
type: item.type,
typeId: item.typeId,
}
getYMXZDGLProyList(params).then(res => {
if (res.code == 200) {
this.tableData2 = res.data;
}
});
},
},
}
</script>
<style lang="scss" scoped>
.JiaGouYuanShuGuanLi{
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.newBtn{
margin-top: 5px;
.addItem{
background-color: #0D867F;
color: #fff;
}
}
.dialog_content_1{
display: flex;
justify-content: space-between;
.dialog_form_item_title{
width: 90px;
}
.el-input{
width: 260px;
}
.el-select{
width: 260px;
}
}
.add_dialog_content{
width: 100%;
.form_item_container{
display: flex;
flex-wrap: wrap;
.cross{
width: 50% !important;
/deep/ .el-form-item__label{
width: 25%;
}
/deep/ .el-form-item__content{
width: 65% !important;
.el-select{
width: 100% !important;
}
}
}
.el-form-item{
display: flex;
width: 100%;
}
}
}
.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: 10px;
margin-bottom: 10px;
}
.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;
.editBtn{
color: #0D867F;
}
.delBtn{
color: #DB6209;
}
.stopBtn{
color: #E7A20E;
}
}
.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
<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.viewName" placeholder="请输入内容" class="search_item"></el-input>
</div>
<div class="search_menu_item">
<span class="search_title">架构层次</span>
<el-select v-model="params.archiLevelId" placeholder="请选择" clearable class="search_item">
<el-option v-for="(item,idnex) in levelList" :key="idnex" :label="item.name" :value="item.levelId" ></el-option>
</el-select>
</div>
<div class="search_menu_item">
<span class="search_title">架构归属</span>
<el-select v-model="params.archiBelongId" placeholder="请选择" clearable class="search_item">
<el-option v-for="(item,idnex) in belongList" :key="idnex" :label="item.name" :value="item.belongId" ></el-option>
</el-select>
</div>
</div>
<div class="search_menu_btn_container">
<div class="query_btn" @click="getList">
<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">
</div>
<el-table :data="tableData" stripe border height="450">
<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="archiLevelId" label="架构层次" width="150" align="center">
<template slot-scope="scope">
<span >{{dicObj.archiLevelId[scope.row.archiLevelId]}}</span>
</template>
</el-table-column>
<el-table-column prop="archiBelongId" label="架构归属" width="150" align="center">
<template slot-scope="scope">
<span >{{dicObj.archiBelongId[scope.row.archiBelongId]}}</span>
</template>
</el-table-column>
<el-table-column prop="content" label="视图描述" width="150" align="center"></el-table-column>
<el-table-column prop="eleName" label="元素范围" width="150" align="center"></el-table-column>
<el-table-column prop="relName" 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">
<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 :class="scope.row.state == 1 ? '':'editBtn'" icon="el-icon-edit" size="mini" @click="operate('edit',scope.row)" :disabled="scope.row.state == 1">编辑</el-button>
<el-button :class="scope.row.state == 1 ? '':'editBtn'" icon="el-icon-upload2" size="mini" @click="operate('pushEdit',scope.row)" :disabled="scope.row.state == 1">发布</el-button>
<el-button :class="scope.row.state != 1 ? '':'stopBtn'" icon="el-icon-remove-outline" size="mini" @click="operate('stop',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="60%">
<div class="add_dialog_content">
<div class="dialog_content_1">
<div class="dialog_form_item">
<div class="dialog_form_item_title">架构视图名称</div>
<el-input v-model="formData.viewName" placeholder="请输入内容" :disabled="true" class="search_item"></el-input>
<!-- <el-select v-model="params.viewName" placeholder="" :disabled="true" class="search_item">
<el-option v-for="(item,idnex) in viewNameList" :key="idnex" :label="item" :value="item" ></el-option>
</el-select> -->
</div>
<div class="dialog_form_item">
<div class="dialog_form_item_title">架构层次</div>
<el-select v-model="formData.archiLevelId" placeholder="" :disabled="true" class="search_item">
<el-option v-for="(item,idnex) in levelList" :key="idnex" :label="item.name" :value="item.levelId" ></el-option>
</el-select>
</div>
<div class="dialog_form_item">
<div class="dialog_form_item_title">架构归属</div>
<el-select v-model="formData.archiBelongId" placeholder="" :disabled="true" class="search_item">
<el-option v-for="(item,idnex) in belongList" :key="idnex" :label="item.name" :value="item.belongId" ></el-option>
</el-select>
</div>
</div>
<el-table :data="tableData2" stripe border height="350" @cell-dblclick="tableDbclick">
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
<el-table-column prop="fieldName" label="字段名" align="center">
</el-table-column>
<el-table-column prop="cnName" label="中文名" align="center">
</el-table-column>
<el-table-column prop="displayOrder" label="排序" align="center">
</el-table-column>
<el-table-column prop="contentLength" label="长度" align="center">
</el-table-column>
<el-table-column prop="controlType" label="控件" align="center">
<template slot-scope="scope">
<span>{{dicObj.controlType[scope.row.controlType]}}</span>
</template>
</el-table-column>
<el-table-column label="操作" width="200" 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="operateDia('edit',scope.row)">编辑</el-button>
<el-button icon="el-icon-delete" size="mini" @click="operateDia('del',scope.row,scope.$index)">删除</el-button>
</div>
</template>
</el-table-column>
</el-table>
<div class="newBtn">
<el-button class="addItem" icon="el-icon-plus" circle @click="operateDia('add')"></el-button>
</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>
<!-- 第二个弹窗 -->
<el-dialog
:title="title2"
:visible.sync="add_dialog2"
:center="false"
width="40%">
<div class="add_dialog_content">
<el-form :model="formData2" :rules="rules" ref="page3Form">
<div class="form_item_container">
<el-form-item class="cross" label="字段名:" prop="fieldName">
<el-input v-model="formData2.fieldName" maxlength="100"></el-input>
</el-form-item>
<el-form-item class="cross" label="中文名:" prop="cnName">
<el-input v-model="formData2.cnName" maxlength="100"></el-input>
</el-form-item>
<el-form-item class="cross" label="排序:" prop="displayOrder">
<el-input v-model="formData2.displayOrder" maxlength="100"></el-input>
</el-form-item>
<el-form-item class="cross" label="长度:" prop="contentLength">
<el-input v-model="formData2.contentLength" maxlength="100"></el-input>
</el-form-item>
<el-form-item class="cross" label="控件:" prop="controlType">
<el-select v-model="formData2.controlType" placeholder="请选择" clearable>
<el-option v-for="(item,idnex) in selectTypeList" :key="idnex" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</div>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button class="greenButton" @click="operateDia('save')">保存</el-button>
<el-button @click="add_dialog2 = false">取消</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {
getYMXZDGLlist,
getYMXZDGLAdd,
getYMXZDGLDel,
getYMXZDGLUpdate,
getViewNameList,
getYMXZDGLProyList,
getYMXZDGLProyDel,
getYMXZDGLProyAdd,
getYMXZDGLProyUpdate,
query_jia_gou_ceng_ci,
query_jia_gou_gui_shu,
} from "@/api/index.js";
export default {
name: 'page3',
components: {
},
data() {
return {
tableData: [],
tableData2: [],
selectList: [],
add_dialog: false,
title: "",
openType: "",
add_dialog: false,
add_dialog2: false,
title2: "",
query_item1: null,
query_item3: null,
query_item4: null,
let1: '',
let2: '',
let3: '',
let4: '',
formData: {
archiLevelId: "",
archiBelongId: "",
viewName: "",
content: "",
},
formData2: {
fieldName: "",
cnName: "",
displayOrder: "",
contentLength: "",
controlType: "",
},
rules: {
fieldName: [
{ required: true, message: '请输入字段名', trigger: 'blur' },
],
cnName: [
{ required: true, message: '请输入中文名', trigger: 'blur' },
],
displayOrder: [
{ required: true, message: '请输字段入排序', trigger: 'blur' },
],
contentLength: [
{ required: true, message: '请输入字段长度', trigger: 'blur' },
],
controlType: [
{ required: true, message: '请选择控件类型', trigger: 'change' },
],
},
params: {
current: 1,
pageSize: 10,
viewName: "",
archiLevelId: "",
archiBelongId: "",
type: 3,
},
page: {
current: 1,
sizes: [10, 20, 50, 100, 200],
size: 10,
total: 0, //总条数
},
dicObj: {
state: {
0: "已停用",
1: "已发布",
2: "暂存",
},
archiLevelId: {
},
archiBelongId: {
},
controlType: {
0: "单行文本框",
1: "多行文本框",
2: "下拉框",
}
},
stateList: [
{
label: "已发布",
value: 1,
},
{
label: "已停用",
value: 0,
},
{
label: "暂存",
value: 2,
},
],
levelList: [
],
belongList: [
],
viewNameList: [],
selectTypeList: [
{
label: "单行文本框",
value: 0,
},
{
label: "多行文本框",
value: 1,
},
{
label: "下拉框",
value: 2,
},
],
columnIsShow: false,
editIndex: -1, // 当前编辑行
};
},
mounted() {
// 获取下拉
this.getLevelList();
this.getBelongList();
// 初始化查询列表
this.getList();
// 查询视图下拉
// this.getViewNameList();
},
created() {
},
methods: {
// 获取下拉
getLevelList() {
query_jia_gou_ceng_ci().then(res => {
if (res.code == 200) {
this.levelList = res.data;
this.levelList.forEach(item=>{
this.dicObj.archiLevelId[item.levelId] = item.name;
})
}
});
},
getBelongList() {
query_jia_gou_gui_shu().then(res => {
if (res.code == 200) {
this.belongList = res.data;
this.belongList.forEach(item=>{
this.dicObj.archiBelongId[item.belongId] = item.name;
})
}
});
},
// 查询列表
getList() {
getYMXZDGLlist(this.params).then(res => {
if (res.code == 200) {
this.page.total = res.data.total;
this.tableData = res.data.records;
}
});
},
// 获取下拉
getViewNameList() {
getViewNameList().then(res => {
if (res.code == 200) {
let arr = JSON.parse(res.msg);
let viewStr = arr && arr[0]? arr[0].viewName:'';
this.viewNameList = viewStr.split(",");
}
});
},
// 重置
reset(){
this.params = {
current: 1,
pageSize: 10,
viewName: "",
archiLevelId: "",
archiBelongId: "",
type: 3,
}
},
// 分页事件
handleSizeChange(val) {
this.page.current = 1;
this.params.current = 1;
this.page.size = val;
this.params.pageSize = val;
this.getList();
},
handleCurrentChange(val) {
this.page.current = val;
this.params.current = val;
this.getList();
},
// 所有操作
operate(type,item){
this.openType = type;
if (type == "edit") {
this.add_dialog = true;
this.title = "编辑字典";
this.formData = item;
this.getProyList(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{
this.add_dialog = false;
this.$message.error(res.msg);
}
});
}
}else if (type == "push") {
if (this.formData.dicyId) {
// 编辑发布
this.formData.state = 1;
getYMXZDGLUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("发布成功");
this.add_dialog = false;
this.getList();
}else{
this.add_dialog = false;
this.$message.error(res.msg);
}
});
}
}else if (type == "pushEdit") {
this.$confirm("确认发布吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.formData = item;
this.formData.state = 1;
getYMXZDGLUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("发布成功");
this.add_dialog = false;
this.getList();
}else{
this.add_dialog = false;
this.$message.error(res.msg);
}
});
}).catch(() => {
});
}else if (type == "stop") {
// 停用
this.$confirm("确认停用吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.formData = item;
this.formData.state = 0;
getYMXZDGLUpdate(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("停用成功");
this.getList();
}else{
this.$message.error(res.msg);
}
});
}).catch(() => {
});
}else if (type == "del") {
// 删除
// this.formData = item;
// this.$confirm("确认删除吗", "提示", {
// confirmButtonText: "确定",
// cancelButtonText: "取消",
// type: "warning"
// }).then(() => {
// getYMXZDGLDel(this.formData).then(res => {
// if (res.code == 200) {
// this.$message.success("删除成功");
// this.getList();
// }
// });
// });
}
},
// 新建清空表单
resetForm(){
this.formData = {
archiLevelId: "",
archiBelongId: "",
viewName: "",
content: "",
}
},
resetFormData2(){
this.formData2 = {
fieldName: "",
cnName: "",
displayOrder: "",
contentLength: "",
controlType: "",
};
},
// 表格多选
handleSelectionChange(e) {
this.selectList = e;
},
selectInit(row,index){
if(row.state != "1"){
return true //可勾选
}else{
return false //不可勾选
}
},
// 对话表格操作
operateDia( type, scopeRow, index){
switch (type) {
// 添加
case 'add':
this.add_dialog2 = true;
this.title2 = "新建字典属性";
this.resetFormData2();
this.$nextTick(() => {
this.$refs.page3Form.resetFields();
});
break;
// 编辑
case 'edit':
this.add_dialog2 = true;
this.title2 = "编辑字典属性";
this.formData2 = scopeRow;
break;
// 保存
case 'save':
this.$refs.page3Form.validate(valid => {
if(valid) {
if (this.formData2.propertyId) {
let params = {
fieldName: this.formData2.fieldName,
cnName: this.formData2.cnName,
displayOrder: this.formData2.displayOrder,
contentLength: this.formData2.contentLength,
controlType: this.formData2.controlType,
propertyId: this.formData2.propertyId,
type: this.formData.type,
typeId: this.formData.typeId,
version: this.formData.version,
dicyId: this.formData.dicyId,
state: this.formData.state,
}
// 编辑保存
getYMXZDGLProyUpdate(params).then(res => {
if (res.code == 200) {
this.$message.success("保存成功");
this.add_dialog2 = false;
this.getProyList(this.formData);
}else{
this.add_dialog2 = false;
this.$message.error(res.msg);
}
});
}else{
let params = {
fieldName: this.formData2.fieldName,
cnName: this.formData2.cnName,
displayOrder: this.formData2.displayOrder,
contentLength: this.formData2.contentLength,
controlType: this.formData2.controlType,
type: this.formData.type,
typeId: this.formData.typeId,
version: this.formData.version,
dicyId: this.formData.dicyId,
state: this.formData.state,
}
// 新建保存
getYMXZDGLProyAdd(params).then(res => {
if (res.code == 200) {
this.$message.success("新建成功");
this.add_dialog2 = false;
this.getProyList(this.formData);
}else{
this.add_dialog2 = false;
this.$message.error(res.msg);
}
});
}
}
});
break;
// 删除
case 'del':
this.$confirm("确认删除吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
getYMXZDGLProyDel(scopeRow).then(res => {
if (res.code == 200) {
this.$message.success("删除成功");
this.getProyList(this.formData);
}else{
this.$message.error(res.msg);
}
});
}).catch(() => {
});
break;
}
},
tableDbclick( row, column, cell, e){
// this.editIndex = row.index;
// this.columnIsShow = true;
},
// 获取字典属性接口
getProyList(item) {
let params = {
type: item.type,
typeId: item.typeId,
}
getYMXZDGLProyList(params).then(res => {
if (res.code == 200) {
this.tableData2 = res.data;
}
});
},
},
}
</script>
<style lang="scss" scoped>
.JiaGouYuanShuGuanLi{
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.add_dialog_content{
width: 100%;
.form_item_container{
display: flex;
flex-wrap: wrap;
.cross{
width: 50% !important;
/deep/ .el-form-item__label{
width: 25%;
}
/deep/ .el-form-item__content{
width: 65% !important;
.el-select{
width: 100% !important;
}
}
}
.el-form-item{
display: flex;
width: 100%;
}
}
}
.newBtn{
margin-top: 5px;
.addItem{
background-color: #0D867F;
color: #fff;
}
}
.dialog_content_1{
display: flex;
justify-content: space-between;
.dialog_form_item_title{
width: 90px;
}
.el-input{
width: 260px;
}
.el-select{
width: 260px;
}
}
.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: 10px;
margin-bottom: 10px;
}
.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;
.editBtn{
color: #0D867F;
}
.delBtn{
color: #DB6209;
}
.stopBtn{
color: #E7A20E;
}
}
.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!