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 55cb98ab
authored
Jan 17, 2024
by
liuyong
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://47.97.176.204:19000/wangwansu/iact_jiagou_drowio
2 parents
bc123b32
2d493bc7
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
384 additions
and
543 deletions
src/api/index.js
src/views/comCenterServeList/pages/page1.vue
src/api/index.js
View file @
55cb98a
...
...
@@ -352,3 +352,14 @@ export function getArchiAssetManageAdd(params) {
export
function
getArchiAssetManageUpdate
(
params
)
{
return
post
(
'/network/arc-ast-bi/upd'
,
params
);
}
// 企业中台服务清单
// 获取列表
export
function
getComCenterServeList
(
params
)
{
return
post
(
'/network/arc-aby-iy/selectList'
,
params
);
}
// 查看详情
export
function
getComCenterServeDetail
(
params
)
{
return
post
(
'/network/arc-aby-iy/'
,
params
);
}
src/views/comCenterServeList/pages/page1.vue
View file @
55cb98a
<
template
>
<div
class=
"
JiaGouYuanShuGuanLi
"
>
<div
class=
"
typicalExampleManage
"
>
<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>
<span
class=
"search_title"
>
归属部门
</span>
<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=
"params.
archIBelongId"
placeholder=
"请选择"
clearable
class=
"search_item"
>
<el-option
v-for=
"item in se
arch_select2"
:key=
"item.belongId"
:label=
"item.name"
:value=
"item.belongId
"
></el-option>
<span
class=
"search_title"
>
服务来源
</span>
<el-select
v-model=
"params.
problemType"
placeholder=
"请选择"
class=
"search_item"
>
<el-option
v-for=
"item in se
lectData2"
: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.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>
<span
class=
"search_title"
>
服务名称
</span>
<el-input
v-model=
"params.tcName"
placeholder=
"请输入内容"
class=
"search_item"
></el-input>
</div>
<div
class=
"search_menu_item"
>
<span
class=
"search_title"
>
获取方式
</span>
<el-input
v-model=
"params.tcName"
placeholder=
"请输入内容"
class=
"search_item"
></el-input>
</div>
</div>
<div
class=
"search_menu_btn_container"
>
<div
class=
"query_btn"
@
click=
"getList"
>
<div
class=
"query_btn"
@
click=
"getList"
>
<img
class=
"btn_icon"
src=
"@/assets/archi-ele-list/search.png"
alt=
""
/>
<p>
查询
</p>
</div>
...
...
@@ -32,39 +36,42 @@
</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
:data=
"tableData"
stripe
border
height=
"450"
>
<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=
"
archiLevelId"
label=
"架构层次"
width=
"150
"
align=
"center"
>
<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
.
archiLevelId
[
scope
.
row
.
archiLevelId
]
}}
</span>
<span
>
{{
dicObj
.
tcType
[
String
(
scope
.
row
.
tcType
)
]
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"
archiBelongId"
label=
"架构归属"
width=
"150
"
align=
"center"
>
<el-table-column
prop=
"
prjType"
label=
"项目类型
"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span
>
{{
dicObj
.
archiBelongId
[
scope
.
row
.
archiBelongId
]
}}
</span>
<span
>
{{
dicObj
.
prjType
[
String
(
scope
.
row
.
prjType
)
]
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"content"
label=
"描述"
align=
"center"
></el-table-column>
<!-- <el-table-column label="图标" align="center">
<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"
>
<
img :src="scope.row.icon" alt="" style="width: 50%;"
>
<
span
>
{{
dicObj
.
problemType
[
String
(
scope
.
row
.
problemType
)]
}}
</span
>
</
template
>
</el-table-column> -->
<el-table-column
prop=
"version"
label=
"字典版本号"
align=
"center"
></el-table-column>
<el-table-column
label=
"字典版本状态"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"problemLevel"
label=
"问题等级"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span
>
{{
dicObj
.
state
[
scope
.
row
.
state
]
}}
</span>
<span
>
{{
dicObj
.
problemLevel
[
String
(
scope
.
row
.
problemLevel
)
]
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"360"
align=
"center"
>
<el-table-column
prop=
"problemContent"
label=
"问题描述"
align=
"center"
:show-overflow-tooltip=
"true"
></el-table-column>
<el-table-column
label=
"操作"
width=
"150"
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>
-->
<el-button
icon=
"el-icon-view"
type=
"primary"
size=
"mini"
@
click=
"operate('edit',scope.row)"
>
查看
</el-button>
</div>
</
template
>
</el-table-column>
...
...
@@ -73,337 +80,247 @@
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"page.current"
:page-sizes=
"page.sizes"
:page-size=
"page.size"
:current-page=
"page
r
.current"
:page-sizes=
"page
r
.sizes"
:page-size=
"page
r
.size"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"page.total"
>
:total=
"page
r
.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
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('push')"
>
发布
</el-button>
<el-button
class=
"greenButton"
@
click=
"operate('create')"
>
保存
</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
{
getYMXZDGLl
ist
,
getYMXZDGLAdd
,
getYMXZDGLDel
,
getYMXZDGLUpdate
,
query_jia_gou_gui_shu
,
query_jia_gou_ceng_ci
,
getYMXZDGLProyList
,
getYMXZDGLProyD
el
,
getYMXZDGLProyAdd
,
getYMXZDGLProyUpdate
,
}
from
"@/api/index.js"
;
getComCenterServeL
ist
,
getDianXingAnLiSelectData
,
getTypicalExampleList
,
getTypicalExampleAdd
,
getTypicalExampleUpdate
,
getTypicalExampleDel
,
getTypicalExampleExc
el
,
}
from
'@/api/index.js'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
$
from
'jquery'
;
export
default
{
name
:
'
page1
'
,
name
:
'
TypicalExampleManage
'
,
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
:
"暂存"
,
loading
:
false
,
selectList
:
[],
selectData1
:
[
{
label
:
"移动应用典型案例"
,
value
:
1
,
},
archiLevelId
:
{
0
:
"策略层"
,
1
:
"管理层"
,
2
:
"设计层"
,
3
:
"实施层"
,
{
label
:
"数据模型典型案例"
,
value
:
2
,
},
archiBelongId
:
{
3
:
"业务架构"
,
4
:
"应用架构"
,
5
:
"数据架构"
,
6
:
"技术架构"
,
7
:
"安全架构"
,
{
label
:
"数据中台典型案例"
,
value
:
3
,
},
controlType
:
{
0
:
"单行文本框"
,
1
:
"多行文本框"
,
2
:
"下拉框"
,
}
},
stateList
:
[
],
selectData2
:
[
{
label
:
"
已发布
"
,
label
:
"
一致性
"
,
value
:
1
,
},
{
label
:
"
已停用
"
,
value
:
0
,
label
:
"
架构遵从
"
,
value
:
2
,
},
{
label
:
"
暂存
"
,
value
:
2
,
label
:
"
重复风险
"
,
value
:
3
,
},
],
search_select1
:
[],
search_select2
:
[],
selectTypeList
:
[
selectData3
:
[
{
label
:
"
单行文本框
"
,
value
:
0
,
label
:
"
暂时未例举
"
,
value
:
1
,
},
],
selectData4
:
[
{
label
:
"
多行文本框
"
,
label
:
"
一级
"
,
value
:
1
,
},
{
label
:
"
下拉框
"
,
label
:
"
二级
"
,
value
:
2
,
},
{
label
:
"三级"
,
value
:
3
,
},
],
columnIsShow
:
false
,
editIndex
:
-
1
,
// 当前编辑行
params
:
{
current
:
1
,
pageSize
:
10
,
tcName
:
""
,
tcType
:
""
,
problemType
:
""
,
// 1:业务中台服务能力,2:数据中台资源目录,3:数据中台资源服务,4:技术中台公共技术能力
abilityType
:
"1"
,
},
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
:
{},
},
};
},
mounted
()
{
// 初始化查询列表
this
.
getList
();
this
.
get_dialog_select1
().
then
(
res
=>
{
this
.
search_select1
=
res
;
mounted
(){
window
.
addEventListener
(
'resize'
,
()
=>
{
this
.
set_table_height
();
})
this
.
set_table_height
();
this
.
selectData1
.
forEach
(
item
=>
{
this
.
dicObj
.
tcType
[
item
.
value
]
=
item
.
label
;
});
this
.
get_dialog_select2
().
then
(
res
=>
{
this
.
search_select2
=
res
;
this
.
selectData2
.
forEach
(
item
=>
{
this
.
dicObj
.
problemType
[
item
.
value
]
=
item
.
label
;
});
},
created
()
{
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
();
},
methods
:
{
// 查询列表
getList
()
{
get
YMXZDGLl
ist
(
this
.
params
).
then
(
res
=>
{
get
ComCenterServeL
ist
(
this
.
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
page
.
total
=
res
.
data
.
total
;
this
.
page
r
.
total
=
res
.
data
.
total
;
this
.
tableData
=
res
.
data
.
records
;
}
});
},
// 重置
reset
(){
reset
()
{
this
.
params
=
{
current
:
1
,
pageSize
:
10
,
elementName
:
""
,
archIBelongId
:
""
,
state
:
""
,
type
:
1
,
tcName
:
""
,
tcType
:
""
,
problemType
:
""
,
}
},
// 分页事件
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
"
)
{
if
(
type
==
"
add
"
)
{
this
.
add_dialog
=
true
;
this
.
title
=
"编辑字典"
;
this
.
title
=
"新建案例"
;
this
.
resetForm
();
}
else
if
(
type
==
"edit"
)
{
this
.
add_dialog
=
true
;
this
.
title
=
"编辑案例"
;
this
.
formData
=
item
;
this
.
getProyList
(
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"
)
{
this
.
formData
.
state
=
2
;
if
(
this
.
formData
.
dicyId
)
{
if
(
this
.
formData
.
ktcId
)
{
// 编辑保存
get
YMXZDGL
Update
(
this
.
formData
).
then
(
res
=>
{
get
TypicalExample
Update
(
this
.
formData
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"保存成功"
);
this
.
add_dialog
=
false
;
...
...
@@ -413,14 +330,11 @@ export default {
this
.
$message
.
error
(
res
.
msg
);
}
});
}
}
else
if
(
type
==
"push"
)
{
if
(
this
.
formData
.
dicyId
)
{
// 编辑发布
this
.
formData
.
state
=
1
;
getYMXZDGLUpdate
(
this
.
formData
).
then
(
res
=>
{
}
else
{
// 新建保存
getTypicalExampleAdd
(
this
.
formData
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"
发布
成功"
);
this
.
$message
.
success
(
"
保存
成功"
);
this
.
add_dialog
=
false
;
this
.
getList
();
}
else
{
...
...
@@ -429,38 +343,46 @@ export default {
}
});
}
}
else
if
(
type
==
"pushEdit"
)
{
this
.
$confirm
(
"确认发布吗"
,
"提示"
,
{
}
else
if
(
type
==
"del"
)
{
// 删除
this
.
$confirm
(
"确认删除吗"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(()
=>
{
this
.
formData
=
item
;
this
.
formData
.
state
=
1
;
getYMXZDGLUpdate
(
this
.
formData
).
then
(
res
=>
{
let
params
=
{
ids
:
[
item
.
ktcId
],
};
getTypicalExampleDel
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"发布成功"
);
this
.
add_dialog
=
false
;
this
.
$message
.
success
(
"删除成功"
);
this
.
getList
();
}
else
{
this
.
add_dialog
=
false
;
this
.
$message
.
error
(
res
.
msg
);
}
});
}).
catch
(()
=>
{
});
}
else
if
(
type
==
"stop"
)
{
// 停用
this
.
$confirm
(
"确认停用吗"
,
"提示"
,
{
}
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
(()
=>
{
this
.
formData
=
item
;
this
.
formData
.
state
=
0
;
getYMXZDGLUpdate
(
this
.
formData
).
then
(
res
=>
{
getTypicalExampleDel
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"
停用
成功"
);
this
.
$message
.
success
(
"
批量删除
成功"
);
this
.
getList
();
}
else
{
this
.
$message
.
error
(
res
.
msg
);
...
...
@@ -468,192 +390,132 @@ export default {
});
}).
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
:
""
,
tcName
:
''
,
tcType
:
''
,
prjType
:
''
,
buildContent
:
''
,
problemType
:
''
,
problemLevel
:
''
,
problemContent
:
''
,
archiDetail
:
""
,
}
},
resetFormData2
(){
this
.
formData2
=
{
fieldName
:
""
,
cnName
:
""
,
displayOrder
:
""
,
contentLength
:
""
,
controlType
:
""
,
};
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
();
})
},
// 表格多选
handleSelectionChange
(
e
)
{
this
.
selectList
=
e
;
get_an_li_lei_xing_select
()
{
//案例类型下拉
const
params
=
{
key
:
"kl_case_type"
}
getDianXingAnLiSelectData
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
selectData1
=
res
.
data
;
}
})
},
selectInit
(
row
,
index
){
if
(
row
.
state
!=
"1"
){
return
true
//可勾选
}
else
{
return
false
//不可勾选
}
get_wen_ti_lei_xing_select
()
{
//问题类型下拉
const
params
=
{
key
:
"kl_question_type"
}
getDianXingAnLiSelectData
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
selectData2
=
res
.
data
;
}
})
},
get_dialog_select1
()
{
//查询架构层次下拉框值
return
new
Promise
((
resolve
,
reject
)
=>
{
query_jia_gou_ceng_ci
({}).
then
(
res
=>
{
get_xiang_mu_lei_xing_select
()
{
//项目类型下拉
const
params
=
{
key
:
"kl_project_type"
}
getDianXingAnLiSelectData
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
resolve
(
res
.
data
);
}
else
{
reject
(
res
.
msg
);
this
.
selectData3
=
res
.
data
;
}
});
});
})
},
get_dialog_select2
()
{
//查询架构归属下拉框值
return
new
Promise
((
resolve
,
reject
)
=>
{
query_jia_gou_gui_shu
({}).
then
(
res
=>
{
get_wen_ti_deng_ji_select
()
{
//问题等级下拉
const
params
=
{
key
:
"kl_question_level"
}
getDianXingAnLiSelectData
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
resolve
(
res
.
data
);
}
else
{
reject
(
res
.
msg
);
this
.
selectData4
=
res
.
data
;
}
});
})
})
},
// 对话表格操作
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
;
}
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
;
//不禁用
}
},
tableDbclick
(
row
,
column
,
cell
,
e
){
// this.editIndex = row.index;
// this.columnIsShow = tru
e;
// 表格多选
handleSelectionChange
(
e
)
{
this
.
selectList
=
e
;
},
// 每页条数改变
handleSizeChange
(
val
)
{
this
.
pager
.
current
=
1
;
this
.
params
.
current
=
1
;
// 获取字典属性接口
getProyList
(
item
)
{
let
params
=
{
type
:
item
.
type
,
typeId
:
item
.
typeId
,
}
getYMXZDGLProyList
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
tableData2
=
res
.
data
;
}
});
this
.
pager
.
size
=
val
;
this
.
params
.
pageSize
=
val
;
this
.
getList
();
},
},
//当前页码改变
handleCurrentChange
(
val
)
{
this
.
pager
.
current
=
val
;
this
.
params
.
current
=
val
;
this
.
getList
();
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.JiaGouYuanShuGuanLi
{
<
style
>
.confirmClass
{
background-color
:
#0D867F
!important
;
}
.el-message-box__content
{
padding
:
60px
15px
60px
15px
;
}
</
style
>
<
style
scoped
>
.form_item_container
{
display
:
flex
;
flex-wrap
:
wrap
;
}
.el-form-item
{
display
:
flex
;
width
:
33%
;
}
.cross1
{
width
:
100%
;
}
/
deep
/
.cross1
>
.el-form-item__content
{
width
:
86.4%
!important
;
}
.typicalExampleManage
{
width
:
100%
;
height
:
100%
;
display
:
flex
;
...
...
@@ -661,61 +523,34 @@ export default {
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%
;
}
}
.el-button--primary
{
background
:
rgba
(
13
,
134
,
127
,
0.1
);
color
:
#0D867F
;
border
:
0
;
}
.add_select_item_icon_container
{
margin-top
:
10px
;
text-align
:
center
;
cursor
:
pointer
;
}
/
deep
/
.el-dialog__header
{
background-color
:
#0D867F
;
text-align
:
left
;
}
/
deep
/
.el-input-group__append
{
background-color
:
#0D867F
;
color
:
#fff
;
cursor
:
pointer
;
}
/
deep
/
.el-dialog__title
{
color
:
#fff
;
}
/
deep
/
.el-dialog__close
{
color
:
#fff
;
}
.search_menu
{
display
:
flex
;
...
...
@@ -745,8 +580,23 @@ export default {
.search_btn
{
width
:
100%
;
display
:
flex
;
margin-top
:
10px
;
margin-bottom
:
10px
;
margin-top
:
50px
;
margin-bottom
:
20px
;
}
.el-button--default
{
border
:
0
;
}
.shanChu_btn
{
color
:
#DD6A15
;
background-color
:
#F8EBE2
;
}
.tingYong_btn
{
color
:
#DEA82A
;
background-color
:
#FDF6E6
;
}
.el-button.is-disabled
{
color
:
#C0C4CC
!important
;
background-color
:
#fff
!important
;
}
.add_btn
{
display
:
flex
;
...
...
@@ -798,7 +648,7 @@ export default {
height
:
32px
;
background
:
rgba
(
244
,
244
,
244
,
1
);
border-radius
:
6px
6px
6px
6px
;
border
:
1px
solid
#
0D867F
;
border
:
1px
solid
#
ccc
;
font-size
:
14px
;
color
:
#666
;
cursor
:
pointer
;
...
...
@@ -809,31 +659,11 @@ export default {
}
.table_container
{
width
:
97%
;
height
:
calc
(
100%
-
40px
);
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
;
margin-top
:
30px
;
}
/
deep
/
.el-pagination.is-background
.el-pager
li
:not
(
.disabled
)
.active
{
background-color
:
#0D867F
;
...
...
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