Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
liangzhen
/
framework-tools-web
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 83080c27
authored
Dec 18, 2023
by
Thews
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
20231218汪皖苏
1 parent
a6a71674
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
198 additions
and
75 deletions
src/views/typical-example-manage/index.vue
vue.config.js
src/views/typical-example-manage/index.vue
View file @
83080c2
...
...
@@ -10,13 +10,13 @@
<div
class=
"search_menu_item"
>
<span
class=
"search_title"
>
案例类型
</span>
<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>
</div>
<div
class=
"search_menu_item"
>
<span
class=
"search_title"
>
问题类型
</span>
<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>
</div>
</div>
...
...
@@ -32,21 +32,37 @@
</div>
</div>
<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-delete"
>
删除
</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"
@
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=
"
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=
"index"
label=
"序号"
width=
"80"
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=
"prjType"
label=
"项目类型"
align=
"center"
></el-table-column>
<el-table-column
prop=
"tcType"
label=
"案例类型"
align=
"center"
>
<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=
"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=
"problemLevel"
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;"
>
...
...
@@ -69,42 +85,45 @@
</div>
<el-dialog
title=
"新建案例
"
:title=
"title
"
:visible
.
sync=
"add_dialog"
:center=
"false"
width=
"60%"
>
<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"
>
<el-form-item
label=
"案例名称:"
prop=
"
let1
"
>
<el-input
v-model=
"
ruleForm.let1
"
></el-input>
<el-form-item
label=
"案例名称:"
prop=
"
tcName
"
>
<el-input
v-model=
"
formData.tcName
"
></el-input>
</el-form-item>
<el-form-item
label=
"案例类型:"
prop=
"
let2
"
>
<el-select
v-model=
"
ruleForm.let2
"
placeholder=
"请选择"
>
<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=
"
let3
"
>
<el-select
v-model=
"
ruleForm.let3
"
placeholder=
"请选择"
>
<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=
"
let4
"
>
<el-input
v-model=
"
ruleForm.let4
"
></el-input>
<el-form-item
label=
"建设内容:"
prop=
"
buildContent
"
>
<el-input
v-model=
"
formData.buildContent
"
></el-input>
</el-form-item>
<el-form-item
label=
"问题类型:"
prop=
"
let5
"
>
<el-select
v-model=
"
ruleForm.let5
"
placeholder=
"请选择"
>
<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=
"
let6
"
>
<el-select
v-model=
"
ruleForm.let6
"
placeholder=
"请选择"
>
<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=
"let7"
>
<el-input
type=
"textarea"
v-model=
"ruleForm.let7"
maxlength=
"200"
show-word-limit
></el-input>
<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>
...
...
@@ -138,26 +157,60 @@ export default {
},
data
()
{
return
{
ruleForm
:
{
let1
:
''
,
let2
:
''
,
let3
:
''
,
let4
:
''
,
let5
:
''
,
let6
:
''
,
let7
:
''
,
},
tableData
:
[],
add_dialog
:
false
,
query_item1
:
null
,
query_item3
:
null
,
query_item4
:
null
,
title
:
""
,
loading
:
false
,
selectTable
:
[],
selectData1
:
[],
selectData2
:
[],
selectData3
:
[],
selectData4
:
[],
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
,
...
...
@@ -171,7 +224,27 @@ export default {
size
:
10
,
total
:
0
,
//总条数
},
tableHeight
:
null
formData
:
{
tcName
:
''
,
tcType
:
''
,
prjType
:
''
,
buildContent
:
''
,
problemType
:
''
,
problemLevel
:
''
,
problemContent
:
''
,
archiDetail
:
""
,
},
tableHeight
:
null
,
dicObj
:
{
tcType
:
{
// 1: "在库",
// 2: "出库",
// 3: "出库",
},
prjType
:
{},
problemType
:
{},
problemLevel
:
{},
},
};
},
mounted
(){
...
...
@@ -180,10 +253,23 @@ export default {
})
this
.
set_table_height
();
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
.
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.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
();
...
...
@@ -215,18 +301,17 @@ export default {
this
.
openType
=
type
;
if
(
type
==
"add"
)
{
this
.
add_dialog
=
true
;
this
.
title
=
"新建
专家人才库
"
;
this
.
title
=
"新建
案例
"
;
this
.
resetForm
();
}
else
if
(
type
==
"edit"
)
{
this
.
add_dialog
=
true
;
this
.
title
=
"编辑
专家人才库
"
;
this
.
title
=
"编辑
案例
"
;
this
.
formData
=
item
;
}
else
if
(
type
==
"create"
)
{
this
.
formData
.
state
=
2
;
this
.
formData
.
icon
=
$
(
`.src
${
this
.
formData
.
iconId
}
`
)[
0
].
src
;
if
(
this
.
formData
.
eleRelaId
)
{
if
(
this
.
formData
.
ktcId
)
{
// 编辑保存
getJGYSGLUpdate
(
this
.
formData
).
then
(
res
=>
{
getTypicalExampleUpdate
(
this
.
formData
).
then
(
res
=>
{
console
.
log
(
this
.
formData
,
res
);
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"保存成功"
);
this
.
add_dialog
=
false
;
...
...
@@ -238,7 +323,7 @@ export default {
});
}
else
{
// 新建保存
get
JGYSGL
Add
(
this
.
formData
).
then
(
res
=>
{
get
TypicalExample
Add
(
this
.
formData
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"保存成功"
);
this
.
add_dialog
=
false
;
...
...
@@ -251,15 +336,15 @@ export default {
}
}
else
if
(
type
==
"del"
)
{
// 删除
this
.
formData
=
item
;
this
.
formData
.
delFlag
=
1
;
this
.
$confirm
(
"确认删除吗"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(()
=>
{
getETPManageUpdate
(
this
.
formData
).
then
(
res
=>
{
console
.
log
(
res
);
let
params
=
{
ids
:
[
item
.
ktcId
],
};
getTypicalExampleDel
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"删除成功"
);
this
.
getList
();
...
...
@@ -269,6 +354,46 @@ export default {
});
}).
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
()
{
//导出
...
...
@@ -283,7 +408,6 @@ export default {
let
url
=
URL
.
createObjectURL
(
blob
);
let
link
=
document
.
createElement
(
'a'
);
link
.
href
=
url
;
// link.download = '文件.xlsx';
document
.
body
.
appendChild
(
link
);
link
.
click
();
})
...
...
@@ -291,7 +415,7 @@ export default {
get_an_li_lei_xing_select
()
{
//案例类型下拉
const
params
=
{
key
:
"case_type"
key
:
"
kl_
case_type"
}
getDianXingAnLiSelectData
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
...
...
@@ -301,7 +425,7 @@ export default {
},
get_wen_ti_lei_xing_select
()
{
//问题类型下拉
const
params
=
{
key
:
"question_type"
key
:
"
kl_
question_type"
}
getDianXingAnLiSelectData
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
...
...
@@ -311,7 +435,7 @@ export default {
},
get_xiang_mu_lei_xing_select
()
{
//项目类型下拉
const
params
=
{
key
:
"project_type"
key
:
"
kl_
project_type"
}
getDianXingAnLiSelectData
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
...
...
@@ -321,7 +445,7 @@ export default {
},
get_wen_ti_deng_ji_select
()
{
//问题等级下拉
const
params
=
{
key
:
"question_level"
key
:
"
kl_
question_level"
}
getDianXingAnLiSelectData
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
...
...
@@ -337,18 +461,15 @@ export default {
this
.
tableHeight
=
table_container_height
-
search_menu_height
-
search_btn_height
-
90
+
'px'
;
},
selectable
(
row
)
{
//表格勾选框禁用
if
(
row
.
state
==
1
)
{
return
false
;
// 禁用
}
else
{
return
true
;
//不禁用
}
},
select_table_rows
(
data
){
//表格的勾选
this
.
selectTable
=
data
;
// if(row.state == 1) {
// return false; // 禁用
// } else {
// return true; //不禁用
// }
},
add
()
{
//新建按钮
this
.
add_dialog
=
true
;
// 表格多选
handleSelectionChange
(
e
)
{
this
.
selectList
=
e
;
},
// 每页条数改变
handleSizeChange
(
val
)
{
...
...
vue.config.js
View file @
83080c2
...
...
@@ -6,7 +6,9 @@ module.exports = defineConfig({
devServer
:
{
proxy
:
{
'/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
,
// secure: false,
pathRewrite
:
{
'^/api'
:
''
},
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment