Commit 83080c27 by Thews

20231218汪皖苏

1 parent a6a71674
...@@ -10,13 +10,13 @@ ...@@ -10,13 +10,13 @@
<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.tcType" placeholder="请选择" class="search_item"> <el-select v-model="params.tcType" placeholder="请选择" class="search_item">
<el-option v-for="item in selectData1" :key="item.label" :label="item.label" :value="item.value"></el-option> <el-option v-for="item in selectData1" :key="item.value" :label="item.label" :value="item.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.problemType" placeholder="请选择" class="search_item"> <el-select v-model="params.problemType" placeholder="请选择" class="search_item">
<el-option v-for="item in selectData2" :key="item.label" :label="item.label" :value="item.value"></el-option> <el-option v-for="item in selectData2" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
</div> </div>
</div> </div>
...@@ -32,21 +32,37 @@ ...@@ -32,21 +32,37 @@
</div> </div>
</div> </div>
<div class="search_btn"> <div class="search_btn">
<el-button type="primary" size="medium" icon="el-icon-document-add" @click="add">新建</el-button> <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">删除</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> <el-button type="primary" size="medium" icon="el-icon-plus" @click="exportFile">导出</el-button>
</div> </div>
<el-table :height="tableHeight" @selection-change="select_table_rows" v-loading="loading" :data="tableData" stripe border> <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" :selectable="selectable"></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="tcName" 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"></el-table-column> <el-table-column prop="tcType" label="案例类型" align="center">
<el-table-column prop="prjType" label="项目类型" align="center"></el-table-column> <template slot-scope="scope">
<span >{{dicObj.tcType[scope.row.tcType]}}</span>
</template>
</el-table-column>
<el-table-column prop="prjType" label="项目类型" align="center">
<template slot-scope="scope">
<span >{{dicObj.prjType[scope.row.prjType]}}</span>
</template>
</el-table-column>
<el-table-column prop="buildContent" label="建设内容" align="center"></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"></el-table-column>
<el-table-column prop="problemType" label="问题类型" align="center"></el-table-column> <el-table-column prop="problemType" label="问题类型" align="center">
<template slot-scope="scope">
<span >{{dicObj.problemType[scope.row.problemType]}}</span>
</template>
</el-table-column>
<el-table-column prop="problemLevel" label="问题等级" align="center">
<template slot-scope="scope">
<span >{{dicObj.problemLevel[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"></el-table-column>
<el-table-column prop="problemLevel" label="问题等级" align="center"></el-table-column>
<el-table-column label="操作" width="260" align="center"> <el-table-column label="操作" width="260" 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;">
...@@ -69,42 +85,45 @@ ...@@ -69,42 +85,45 @@
</div> </div>
<el-dialog <el-dialog
title="新建案例" :title="title"
:visible.sync="add_dialog" :visible.sync="add_dialog"
:center="false" :center="false"
width="60%"> width="60%">
<div class="add_dialog_content"> <div class="add_dialog_content">
<div class="add_dialog_content"> <div class="add_dialog_content">
<el-form :model="ruleForm" ref="form"> <el-form :model="formData" ref="form">
<div class="form_item_container"> <div class="form_item_container">
<el-form-item label="案例名称:" prop="let1"> <el-form-item label="案例名称:" prop="tcName">
<el-input v-model="ruleForm.let1"></el-input> <el-input v-model="formData.tcName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="案例类型:" prop="let2"> <el-form-item label="案例类型:" prop="tcType">
<el-select v-model="ruleForm.let2" placeholder="请选择"> <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-option v-for="item in selectData1" :key="item.label" :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="项目类型:" prop="let3"> <el-form-item label="项目类型:" prop="prjType">
<el-select v-model="ruleForm.let3" placeholder="请选择"> <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-option v-for="item in selectData3" :key="item.label" :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="建设内容:" prop="let4"> <el-form-item label="建设内容:" prop="buildContent">
<el-input v-model="ruleForm.let4"></el-input> <el-input v-model="formData.buildContent"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="问题类型:" prop="let5"> <el-form-item label="问题类型:" prop="problemType">
<el-select v-model="ruleForm.let5" placeholder="请选择"> <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-option v-for="item in selectData2" :key="item.label" :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="问题等级:" prop="let6"> <el-form-item label="问题等级:" prop="problemLevel">
<el-select v-model="ruleForm.let6" placeholder="请选择"> <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-option v-for="item in selectData4" :key="item.label" :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item class="cross1" label="政策描述:" prop="let7"> <el-form-item class="cross1" label="架构详情:" prop="archiDetail">
<el-input type="textarea" v-model="ruleForm.let7" maxlength="200" show-word-limit></el-input> <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> </el-form-item>
</div> </div>
</el-form> </el-form>
...@@ -138,26 +157,60 @@ export default { ...@@ -138,26 +157,60 @@ export default {
}, },
data() { data() {
return { return {
ruleForm: {
let1: '',
let2: '',
let3: '',
let4: '',
let5: '',
let6: '',
let7: '',
},
tableData: [], tableData: [],
add_dialog: false, add_dialog: false,
query_item1: null, title: "",
query_item3: null,
query_item4: null,
loading: false, loading: false,
selectTable: [], selectList: [
selectData1: [], ],
selectData2: [], selectData1: [
selectData3: [], {
selectData4: [], 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: { params: {
current: 1, current: 1,
pageSize: 10, pageSize: 10,
...@@ -171,7 +224,27 @@ export default { ...@@ -171,7 +224,27 @@ export default {
size: 10, size: 10,
total: 0, //总条数 total: 0, //总条数
}, },
tableHeight: null formData: {
tcName: '',
tcType: '',
prjType: '',
buildContent: '',
problemType: '',
problemLevel: '',
problemContent: '',
archiDetail: "",
},
tableHeight: null,
dicObj: {
tcType: {
// 1: "在库",
// 2: "出库",
// 3: "出库",
},
prjType: {},
problemType: {},
problemLevel: {},
},
}; };
}, },
mounted(){ mounted(){
...@@ -180,10 +253,23 @@ export default { ...@@ -180,10 +253,23 @@ export default {
}) })
this.set_table_height(); this.set_table_height();
this.get_an_li_lei_xing_select(); this.selectData1.forEach(item => {
this.get_wen_ti_lei_xing_select(); this.dicObj.tcType[item.value] = item.label;
this.get_xiang_mu_lei_xing_select(); }),
this.get_wen_ti_deng_ji_select(); 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.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.getList(); this.getList();
...@@ -215,18 +301,17 @@ export default { ...@@ -215,18 +301,17 @@ export default {
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; if (this.formData.ktcId) {
this.formData.icon = $(`.src${this.formData.iconId}`)[0].src;
if (this.formData.eleRelaId) {
// 编辑保存 // 编辑保存
getJGYSGLUpdate(this.formData).then(res => { getTypicalExampleUpdate(this.formData).then(res => {
console.log(this.formData,res);
if (res.code == 200) { if (res.code == 200) {
this.$message.success("保存成功"); this.$message.success("保存成功");
this.add_dialog = false; this.add_dialog = false;
...@@ -238,7 +323,7 @@ export default { ...@@ -238,7 +323,7 @@ export default {
}); });
}else{ }else{
// 新建保存 // 新建保存
getJGYSGLAdd(this.formData).then(res => { getTypicalExampleAdd(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;
...@@ -251,15 +336,15 @@ export default { ...@@ -251,15 +336,15 @@ export default {
} }
}else if (type == "del") { }else if (type == "del") {
// 删除 // 删除
this.formData = item;
this.formData.delFlag = 1;
this.$confirm("确认删除吗", "提示", { this.$confirm("确认删除吗", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning"
}).then(() => { }).then(() => {
getETPManageUpdate(this.formData).then(res => { let params = {
console.log(res); ids: [item.ktcId],
};
getTypicalExampleDel(params).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.$message.success("删除成功"); this.$message.success("删除成功");
this.getList(); this.getList();
...@@ -269,6 +354,46 @@ export default { ...@@ -269,6 +354,46 @@ export default {
}); });
}).catch(() => { }).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(() => {
getJGYSGLUpdateBatch(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() {//导出 exportFile() {//导出
...@@ -283,7 +408,6 @@ export default { ...@@ -283,7 +408,6 @@ export default {
let url = URL.createObjectURL(blob); let url = URL.createObjectURL(blob);
let link = document.createElement('a'); let link = document.createElement('a');
link.href = url; link.href = url;
// link.download = '文件.xlsx';
document.body.appendChild(link); document.body.appendChild(link);
link.click(); link.click();
}) })
...@@ -291,7 +415,7 @@ export default { ...@@ -291,7 +415,7 @@ export default {
get_an_li_lei_xing_select() {//案例类型下拉 get_an_li_lei_xing_select() {//案例类型下拉
const params = { const params = {
key: "case_type" key: "kl_case_type"
} }
getDianXingAnLiSelectData(params).then(res => { getDianXingAnLiSelectData(params).then(res => {
if(res.code == 200) { if(res.code == 200) {
...@@ -301,7 +425,7 @@ export default { ...@@ -301,7 +425,7 @@ export default {
}, },
get_wen_ti_lei_xing_select() {//问题类型下拉 get_wen_ti_lei_xing_select() {//问题类型下拉
const params = { const params = {
key: "question_type" key: "kl_question_type"
} }
getDianXingAnLiSelectData(params).then(res => { getDianXingAnLiSelectData(params).then(res => {
if(res.code == 200) { if(res.code == 200) {
...@@ -311,7 +435,7 @@ export default { ...@@ -311,7 +435,7 @@ export default {
}, },
get_xiang_mu_lei_xing_select() {//项目类型下拉 get_xiang_mu_lei_xing_select() {//项目类型下拉
const params = { const params = {
key: "project_type" key: "kl_project_type"
} }
getDianXingAnLiSelectData(params).then(res => { getDianXingAnLiSelectData(params).then(res => {
if(res.code == 200) { if(res.code == 200) {
...@@ -321,7 +445,7 @@ export default { ...@@ -321,7 +445,7 @@ export default {
}, },
get_wen_ti_deng_ji_select() {//问题等级下拉 get_wen_ti_deng_ji_select() {//问题等级下拉
const params = { const params = {
key: "question_level" key: "kl_question_level"
} }
getDianXingAnLiSelectData(params).then(res => { getDianXingAnLiSelectData(params).then(res => {
if(res.code == 200) { if(res.code == 200) {
...@@ -337,18 +461,15 @@ export default { ...@@ -337,18 +461,15 @@ export default {
this.tableHeight = table_container_height - search_menu_height - search_btn_height - 90 + 'px'; this.tableHeight = table_container_height - search_menu_height - search_btn_height - 90 + 'px';
}, },
selectable(row) {//表格勾选框禁用 selectable(row) {//表格勾选框禁用
if(row.state == 1) { // if(row.state == 1) {
return false; // 禁用 // return false; // 禁用
} else { // } else {
return true; //不禁用 // return true; //不禁用
} // }
}, },
select_table_rows(data){//表格的勾选 // 表格多选
this.selectTable = data; handleSelectionChange(e) {
}, this.selectList = e;
add() {//新建按钮
this.add_dialog = true;
}, },
// 每页条数改变 // 每页条数改变
handleSizeChange(val) { handleSizeChange(val) {
......
...@@ -6,7 +6,9 @@ module.exports = defineConfig({ ...@@ -6,7 +6,9 @@ module.exports = defineConfig({
devServer: { devServer: {
proxy: { proxy: {
'/api': { '/api': {
target: 'http://43.143.211.42:7003', // target: 'http://43.143.211.42:7003',
target: 'http://43.143.211.42:7004',
// target: 'http://43.143.211.42:7005',
changeOrigin: true, changeOrigin: true,
// secure: false, // secure: false,
pathRewrite: { '^/api': '' }, pathRewrite: { '^/api': '' },
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!