Commit 1b254103 by Thews

20231219wangwansu

1 parent 6ad7149f
......@@ -407,14 +407,14 @@ export default {
this.radioName = "";
},
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();
})
// 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();
// })
},
// 表格多选
......@@ -488,6 +488,11 @@ export default {
display: flex;
margin-top: 50px;
margin-bottom: 20px;
.el-button--primary{
background: rgba(13,134,127,0.1);
color: #0D867F;
border: 0;
}
}
.add_btn{
display: flex;
......
......@@ -45,10 +45,18 @@
<!-- <el-table-column type="selection" width="55" :selectable="selectable"></el-table-column> -->
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
<el-table-column prop="fileName" label="文档名称" align="center"></el-table-column>
<el-table-column prop="fileType" label="文档类型" align="center"></el-table-column>
<el-table-column prop="fileType" label="文档类型" align="center">
<template slot-scope="scope">
<span >{{dicObj.fileType[String(scope.row.fileType)]}}</span>
</template>
</el-table-column>
<el-table-column prop="fileVersion" label="文档版本" align="center"></el-table-column>
<el-table-column prop="createTime" label="创建时间" align="center"></el-table-column>
<el-table-column prop="content" label="附件" align="center"></el-table-column>
<el-table-column prop="fileName" label="附件" align="center">
<template slot-scope="scope">
<span ><a :href="scope.row.fileUrl" :download="scope.row.fileName">{{scope.row.fileName}}</a></span>
</template>
</el-table-column>
</el-table>
<el-pagination
background
......@@ -90,8 +98,22 @@
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="附件:" prop="let5" style="margin-left: 27px;">
<!-- <el-form-item label="附件:" prop="let5" style="margin-left: 27px;">
<input type="file" />
</el-form-item> -->
<el-form-item label="文档附件:">
<!-- <input @change="fileUpload" type="file" /> -->
<el-upload
class="upload-demo"
action="/api/network/oss/upload"
ref="upload"
:on-remove="handleRemove"
:on-success="handleFileUploadSuccess"
:limit="1"
:file-list="fileList">
<el-button size="small" type="primary">点击上传</el-button>
<!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件, 且不超过500kb</div> -->
</el-upload>
</el-form-item>
</div>
</el-form>
......@@ -165,17 +187,19 @@ export default {
total: 20 //总条数
},
formData: {
tcName: '',
tcType: '',
prjType: '',
buildContent: '',
problemType: '',
problemLevel: '',
problemContent: '',
archiDetail: "",
fileName: '',
fileType: '',
fileVersion: '',
startTime: '',
fileId: "",
},
dicObj: {
fileType: {},
},
tableHeight: null,
searchDate: [],
fileList: [],
};
},
mounted(){
......@@ -184,10 +208,14 @@ export default {
})
this.set_table_height();
this.selectData1.forEach(item => {
this.dicObj.fileType[item.value] = item.label;
});
// 初始化查询列表
this.getList();
// 获取元素列表
// this.getFileTypeSelect();
this.getFileTypeSelect();
},
methods: {
// 查询列表
......@@ -313,6 +341,7 @@ export default {
fileType: '',
fileVersion: '',
startTime: '',
fileId: "",
}
},
// 导出
......@@ -326,6 +355,16 @@ export default {
link.click();
})
},
// 文件上传逻辑
handleRemove(file, fileList) {//文件移出
// console.log(file, fileList);
},
handleFileUploadSuccess(res, file, fileList) {//文件上传
this.formData.fileId = res.data.fileId;
console.log(res);
console.log(file);
console.log(fileList);
},
getFileTypeSelect() {//案例类型下拉
const params = {
......
......@@ -52,7 +52,7 @@
</template>
</el-table-column>
<el-table-column prop="buildContent" label="建设内容" align="center"></el-table-column>
<el-table-column prop="archiDetail" label="架构详情" align="center"></el-table-column>
<el-table-column prop="archiDetail" label="架构详情" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="problemType" label="问题类型" align="center">
<template slot-scope="scope">
<span >{{dicObj.problemType[String(scope.row.problemType)]}}</span>
......@@ -63,7 +63,7 @@
<span >{{dicObj.problemLevel[String(scope.row.problemLevel)]}}</span>
</template>
</el-table-column>
<el-table-column prop="problemContent" label="问题描述" align="center"></el-table-column>
<el-table-column prop="problemContent" label="问题描述" align="center" :show-overflow-tooltip="true"></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;">
......@@ -161,8 +161,7 @@ export default {
add_dialog: false,
title: "",
loading: false,
selectList: [
],
selectList: [],
selectData1: [
{
label: "移动应用典型案例",
......@@ -255,25 +254,26 @@ export default {
this.selectData1.forEach(item => {
this.dicObj.tcType[item.value] = item.label;
}),
});
this.selectData2.forEach(item => {
this.dicObj.problemType[item.value] = item.label;
}),
});
this.selectData3.forEach(item => {
this.dicObj.prjType[item.value] = item.label;
}),
});
this.selectData4.forEach(item => {
this.dicObj.problemLevel[item.value] = item.label;
}),
});
// 初始化查询列表
this.getList();
// 获取元素列表
// this.get_an_li_lei_xing_select();
// this.get_wen_ti_lei_xing_select();
// this.get_xiang_mu_lei_xing_select();
// this.get_wen_ti_deng_ji_select();
this.get_an_li_lei_xing_select();
this.get_wen_ti_lei_xing_select();
this.get_xiang_mu_lei_xing_select();
this.get_wen_ti_deng_ji_select();
},
methods: {
// 查询列表
......
......@@ -5,25 +5,23 @@
<div class="search_menu_item_container">
<div class="search_menu_item">
<span class="search_title">案例名称</span>
<el-input v-model="query_item3" placeholder="请输入内容" class="search_item"></el-input>
<el-input v-model="params.tcName" placeholder="请输入内容" class="search_item"></el-input>
</div>
<div class="search_menu_item">
<span class="search_title">案例类型</span>
<el-select v-model="query_item1" placeholder="请选择" class="search_item">
<el-option v-for="item in search_select1" :key="item.belongId" :label="item.name" :value="item.belongId"></el-option>
<el-select v-model="params.tcType" placeholder="请选择" class="search_item">
<el-option v-for="item in selectData1" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</div>
<div class="search_menu_item">
<span class="search_title">问题类型</span>
<el-select v-model="query_item4" placeholder="请选择" class="search_item">
<el-option label="已发布" value="1"></el-option>
<el-option label="已停用" value="0"></el-option>
<el-option label="暂存" value="2"></el-option>
<el-select v-model="params.problemType" placeholder="请选择" class="search_item">
<el-option v-for="item in selectData2" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</div>
</div>
<div class="search_menu_btn_container">
<div class="query_btn" @click="get_table">
<div class="query_btn" @click="getList">
<img class="btn_icon" src="@/assets/archi-ele-list/search.png" alt="" />
<p>查询</p>
</div>
......@@ -34,25 +32,45 @@
</div>
</div>
<div class="search_btn">
<el-button type="primary" size="medium" icon="el-icon-plus">导出</el-button>
<el-button type="primary" size="medium" icon="el-icon-plus" @click="exportFile">导出</el-button>
</div>
<el-table :height="tableHeight" @selection-change="select_table_rows" v-loading="loading" :data="tableData" stripe border>
<el-table-column type="selection" width="55" :selectable="selectable"></el-table-column>
<el-table :height="tableHeight" @selection-change="handleSelectionChange" v-loading="loading" :data="tableData" stripe border>
<!-- <el-table-column type="selection" width="55" :selectable="selectable"></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 prop="elementName" label="案例名称" align="center"></el-table-column>
<el-table-column prop="archiLevelName" label="案例类型" align="center"></el-table-column>
<el-table-column prop="archiBelongName" label="项目类型" align="center"></el-table-column>
<el-table-column prop="content" label="建设内容" align="center"></el-table-column>
<el-table-column prop="version" label="架构详情" align="center"></el-table-column>
<el-table-column prop="version" label="问题类型" align="center"></el-table-column>
<el-table-column prop="version" label="问题描述" align="center"></el-table-column>
<el-table-column prop="version" label="问题等级" align="center"></el-table-column>
<el-table-column prop="tcName" label="案例名称" align="center"></el-table-column>
<el-table-column prop="tcType" label="案例类型" align="center">
<template slot-scope="scope">
<span >{{dicObj.tcType[String(scope.row.tcType)]}}</span>
</template>
</el-table-column>
<el-table-column prop="prjType" label="项目类型" align="center">
<template slot-scope="scope">
<span >{{dicObj.prjType[String(scope.row.prjType)]}}</span>
</template>
</el-table-column>
<el-table-column prop="buildContent" label="建设内容" align="center"></el-table-column>
<el-table-column prop="archiDetail" label="架构详情" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="problemType" label="问题类型" align="center">
<template slot-scope="scope">
<span >{{dicObj.problemType[String(scope.row.problemType)]}}</span>
</template>
</el-table-column>
<el-table-column prop="problemLevel" label="问题等级" align="center">
<template slot-scope="scope">
<span >{{dicObj.problemLevel[String(scope.row.problemLevel)]}}</span>
</template>
</el-table-column>
<el-table-column prop="problemContent" label="问题描述" align="center" :show-overflow-tooltip="true"></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
layout="prev, pager, next"
:total="50">
</el-pagination> -->
<el-pagination
background
@size-change="handleSizeChange"
......@@ -65,34 +83,14 @@
</el-pagination>
</div>
<el-dialog
title="新建元素"
:visible.sync="add_dialog"
:center="false"
width="60%">
<div class="add_dialog_content">
</div>
<span slot="footer" class="dialog-footer">
<el-button class="greenButton">发布</el-button>
<el-button class="greenButton">保存</el-button>
<el-button >取消</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {
query_jia_gou_yuan_su_guan_xi_table,
add_jia_gou_ceng_ci,
query_jia_gou_ceng_ci,
add_jia_gou_gui_shu,
query_jia_gou_gui_shu,
delete_jia_gou_gui_shu,
add_jia_gou_yuan_su,
version_release_jia_gou_gui_shu,
edit_jia_gou_yuan_su
getDianXingAnLiSelectData,
getTypicalExampleList,
getTypicalExampleExcel,
} from '@/api/index.js';
import { MessageBox, Message } from 'element-ui';
import $ from 'jquery';
......@@ -105,13 +103,75 @@ export default {
data() {
return {
tableData: [],
selectList: [],
add_dialog: false,
query_item1: null,
query_item3: null,
query_item4: null,
loading: false,
selectTable: [],
search_select1: [],
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,
tcName: "",
tcType: "",
problemType: "",
},
dicObj: {
tcType: {
// 1: "在库",
// 2: "出库",
// 3: "出库",
},
prjType: {},
problemType: {},
problemLevel: {},
},
pager: {
current: 1,
sizes: [10, 20, 50, 100, 200],
......@@ -126,9 +186,158 @@ export default {
this.set_table_height();
})
this.set_table_height();
this.get_table();
this.selectData1.forEach(item => {
this.dicObj.tcType[item.value] = item.label;
});
this.selectData2.forEach(item => {
this.dicObj.problemType[item.value] = item.label;
});
this.selectData3.forEach(item => {
this.dicObj.prjType[item.value] = item.label;
});
this.selectData4.forEach(item => {
this.dicObj.problemLevel[item.value] = item.label;
});
// 初始化查询列表
this.getList();
// 获取元素列表
this.get_an_li_lei_xing_select();
this.get_wen_ti_lei_xing_select();
},
methods: {
// 查询列表
getList() {
getTypicalExampleList(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,
tcName: "",
tcType: "",
problemType: "",
}
},
// 所有操作
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") {
if (this.formData.ktcId) {
// 编辑保存
getTypicalExampleUpdate(this.formData).then(res => {
console.log(this.formData,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();
})
},
set_table_height() {//动态设置表格高度
const table_container_height = $(".table_container").height();
const search_menu_height = $(".search_menu").height();
......@@ -142,17 +351,9 @@ export default {
return true; //不禁用
}
},
select_table_rows(data){//表格的勾选
this.selectTable = data;
},
add() {//新建按钮
this.add_dialog = true;
},
reset() {//重置
this.query_item1 = null;
this.query_item3 = null;
this.query_item4 = null;
// 表格多选
handleSelectionChange(e) {
this.selectList = e;
},
// 每页条数改变
handleSizeChange(val) {
......@@ -165,9 +366,6 @@ export default {
this.pager.current = val;
this.get_table();
},
get_table() {//查询表格数据
},
}
}
</script>
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!