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 37a43cbe
authored
Mar 26, 2024
by
史敦盼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
督查通报,督查问题初版,典型案例库修改
1 parent
e2f74c08
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
1499 additions
and
618 deletions
src/api/index.js
src/api/interface.js
src/components/Form.vue
src/components/SearchFormItem.vue
src/router/index.js
src/views/Main/menu.js
src/views/supervisionNotifyManagement/Edit.vue
src/views/supervisionNotifyManagement/index.vue
src/views/supervisionProblemEdit/index.vue
src/views/typical-example-manage/index.vue
src/api/index.js
View file @
37a43cb
...
@@ -723,3 +723,11 @@ export function qyNeedReview(params) {
...
@@ -723,3 +723,11 @@ export function qyNeedReview(params) {
export
function
editFeedback
(
params
)
{
export
function
editFeedback
(
params
)
{
return
post
(
EADC_ARRCHITECTURE
+
'/prj-need-file/upd'
,
params
)
return
post
(
EADC_ARRCHITECTURE
+
'/prj-need-file/upd'
,
params
)
}
}
// 架构督查-督查通报管理
export
function
updReportManage
(
params
)
{
return
post
(
EADC_ARRCHITECTURE
+
'/reportManage/upd'
,
params
)
}
export
function
delReportManage
(
params
)
{
return
post
(
EADC_ARRCHITECTURE
+
'/reportManage/del'
,
params
)
}
src/api/interface.js
View file @
37a43cb
...
@@ -25,3 +25,7 @@ export const queryArcAstSys = EADC_ARRCHITECTURE + '/arc-ast-sys/'
...
@@ -25,3 +25,7 @@ export const queryArcAstSys = EADC_ARRCHITECTURE + '/arc-ast-sys/'
// 架构督查- 督查通报管理列表
// 架构督查- 督查通报管理列表
export
const
querySupervisionNotifyManagement
=
export
const
querySupervisionNotifyManagement
=
EADC_ARRCHITECTURE
+
'/reportManage/selectReportManage'
EADC_ARRCHITECTURE
+
'/reportManage/selectReportManage'
// 架构督查- 督查问题整改列表
export
const
querySupervisionProblem
=
EADC_ARRCHITECTURE
+
'/rectifyReform/selectRectifyReform'
src/components/Form.vue
View file @
37a43cb
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
* @Autor: pan
* @Autor: pan
* @Date: 2024-03-12 14:55:59
* @Date: 2024-03-12 14:55:59
* @LastEditors: pan
* @LastEditors: pan
* @LastEditTime: 2024-03-2
0 09:29:25
* @LastEditTime: 2024-03-2
6 15:54:50
-->
-->
<!-- /**
<!-- /**
* 搜索栏公共组件
* 搜索栏公共组件
...
@@ -164,6 +164,11 @@ export default {
...
@@ -164,6 +164,11 @@ export default {
.el-select
{
.el-select
{
width
:
100%
!important
;
width
:
100%
!important
;
}
}
.el-rate
{
display
:
flex
;
height
:
40px
;
align-items
:
center
;
}
}
}
}
}
}
}
...
...
src/components/SearchFormItem.vue
View file @
37a43cb
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
* @Autor: pan
* @Autor: pan
* @Date: 2024-03-12 15:11:47
* @Date: 2024-03-12 15:11:47
* @LastEditors: pan
* @LastEditors: pan
* @LastEditTime: 2024-03-26 1
1:13:09
* @LastEditTime: 2024-03-26 1
5:30:38
-->
-->
<
template
>
<
template
>
<div
class=
"form-item"
>
<div
class=
"form-item"
>
...
@@ -52,6 +52,12 @@
...
@@ -52,6 +52,12 @@
>
{{
item
.
label
}}
</el-radio
>
{{
item
.
label
}}
</el-radio
>
>
</el-radio-group>
</el-radio-group>
<el-rate
v-if=
"isRate"
v-bind=
"bindProps"
v-on=
"bindEvents"
v-model=
"currentVal"
></el-rate>
<!-- datetimerange/daterange -->
<!-- datetimerange/daterange -->
<!--
<el-date-picker
<!--
<el-date-picker
v-if=
"isDatePickerDateRange"
v-if=
"isDatePickerDateRange"
...
@@ -183,6 +189,10 @@ export default {
...
@@ -183,6 +189,10 @@ export default {
isRadio
()
{
isRadio
()
{
return
this
.
itemOptions
.
element
===
'el-radio'
return
this
.
itemOptions
.
element
===
'el-radio'
},
},
// el-rate
isRate
()
{
return
this
.
itemOptions
.
element
===
'el-rate'
},
// el-date-picker (type: datetimerange/daterange)
// el-date-picker (type: datetimerange/daterange)
isDatePickerDateRange
()
{
isDatePickerDateRange
()
{
const
isDatePicker
=
this
.
itemOptions
.
element
===
'el-date-picker'
const
isDatePicker
=
this
.
itemOptions
.
element
===
'el-date-picker'
...
...
src/router/index.js
View file @
37a43cb
...
@@ -279,6 +279,17 @@ const routes = [
...
@@ -279,6 +279,17 @@ const routes = [
name
:
'conceptualRelated'
,
name
:
'conceptualRelated'
,
component
:
()
=>
import
(
'@/views/conceptualRelated/index.vue'
),
component
:
()
=>
import
(
'@/views/conceptualRelated/index.vue'
),
},
},
{
path
:
'/main/supervisionNotifyManagement'
,
// 架构督查督查通报管理
name
:
'supervisionNotifyManagement'
,
component
:
()
=>
import
(
'@/views/supervisionNotifyManagement/index.vue'
),
},
{
path
:
'/main/supervisionProblemEdit'
,
// 架构督查督查问题整改
name
:
'supervisionProblemEdit'
,
component
:
()
=>
import
(
'@/views/supervisionProblemEdit/index.vue'
),
},
],
],
},
},
]
]
...
...
src/views/Main/menu.js
View file @
37a43cb
...
@@ -206,11 +206,11 @@ export const menuOptions = [
...
@@ -206,11 +206,11 @@ export const menuOptions = [
},
},
{
{
name
:
'督查通报管理'
,
name
:
'督查通报管理'
,
path
:
''
,
path
:
'
/main/supervisionNotifyManagement
'
,
},
},
{
{
name
:
'督查问
颗
整改'
,
name
:
'督查问
题
整改'
,
path
:
''
,
path
:
'
/main/supervisionProblemEdit
'
,
},
},
{
{
name
:
'架构遵从检查'
,
name
:
'架构遵从检查'
,
...
...
src/views/supervisionNotifyManagement/Edit.vue
0 → 100644
View file @
37a43cb
<
template
>
<el-dialog
:title=
"title"
:visible
.
sync=
"showDialog"
:close-on-click-modal=
"false"
width=
"50%"
@
close=
"handleClose()"
@
open=
"handleOpen"
>
<div>
<Form
ref=
"editForm"
:form-options=
"formOptions"
label-width=
"120px"
></Form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleClose()"
size=
"mini"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
size=
"mini"
>
保 存
</el-button
>
</span></el-dialog
>
</
template
>
<
script
>
import
Form
from
'@/components/Form.vue'
import
{
updReportManage
}
from
'@/api'
export
default
{
props
:
{
title
:
{
type
:
String
,
default
:
''
,
},
visible
:
{
type
:
Boolean
,
default
:
false
,
},
rowData
:
{
type
:
Object
,
default
:
()
=>
{},
},
},
data
()
{
return
{}
},
components
:
{
Form
,
},
computed
:
{
formOptions
()
{
return
[
{
label
:
'项目名称'
,
// label文字
prop
:
'prjName'
,
// 字段名
element
:
'el-input'
,
// 指定elementui组件
placeholder
:
'请选择'
,
// elementui组件属性
span
:
12
,
// rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
},
{
label
:
'承建单位'
,
// label文字
prop
:
'buildOrg'
,
// 字段名
element
:
'el-select'
,
// 指定elementui组件
placeholder
:
'请选择'
,
// elementui组件属性
span
:
12
,
},
{
label
:
'通报时间'
,
// label文字
prop
:
'reportTime'
,
// 字段名
type
:
'date'
,
valueFormat
:
'yyyy-MM-dd'
,
element
:
'el-date-picker'
,
// 指定elementui组件
placeholder
:
'请选择'
,
// elementui组件属性
span
:
12
,
},
{
label
:
'项目评分'
,
// label文字
prop
:
'prjScore'
,
// 字段名
element
:
'el-rate'
,
// 指定elementui组件
span
:
12
,
colors
:
[
'#99A9BF'
,
'#F7BA2A'
,
'#FF9900'
],
allowHalf
:
true
,
},
{
label
:
'通报内容'
,
// label文字
prop
:
'opinion'
,
// 字段名
type
:
'textarea'
,
element
:
'el-input'
,
// 指定elementui组件
placeholder
:
'请输入内容'
,
// elementui组件属性
span
:
24
,
},
]
},
showDialog
:
{
get
()
{
return
this
.
visible
},
set
(
value
)
{
this
.
$emit
(
'update:visible'
,
value
)
},
},
},
mounted
()
{},
methods
:
{
handleSubmit
()
{
this
.
$refs
[
'editForm'
].
onValidate
(()
=>
{
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
'保存中'
,
spinner
:
'el-icon-loading'
,
})
const
formInfo
=
this
.
$refs
[
'editForm'
].
getData
()
const
params
=
{
...
this
.
rowData
,
...
formInfo
,
}
updReportManage
(
params
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
loading
.
close
()
this
.
$message
.
success
(
'保存成功'
)
this
.
showDialog
=
false
this
.
handleClose
()
this
.
$emit
(
'querySearch'
)
}
})
})
},
handleClose
()
{
this
.
showDialog
=
false
this
.
formOptions
.
forEach
((
v
)
=>
{
v
.
initValue
=
''
})
this
.
$refs
[
'editForm'
].
addInitValue
()
this
.
$refs
[
'editForm'
].
onReset
()
},
handleOpen
()
{
this
.
formOptions
.
forEach
((
v
)
=>
{
if
(
v
.
prop
===
'prjScore'
)
{
v
.
initValue
=
+
this
.
rowData
[
v
.
prop
]
}
else
{
v
.
initValue
=
this
.
rowData
[
v
.
prop
]
}
})
this
.
$nextTick
(()
=>
{
this
.
$refs
[
'editForm'
].
addInitValue
()
})
},
},
}
</
script
>
<
style
scoped
lang=
"scss"
>
@import
'@/styles/elementui.scss'
;
</
style
>
src/views/supervisionNotifyManagement/index.vue
0 → 100644
View file @
37a43cb
<!--
* @Description: 架构督查-督查通报管理
* @Version: 2.0 关闭时提示是否是典型问题
* @Autor: pan
* @Date: 2024-03-26 10:53:48
* @LastEditors: pan
* @LastEditTime: 2024-03-26 16:34:20
-->
<
template
>
<div
class=
"searchTable"
>
<list-page>
<!-- 查询表单插槽 -->
<template
#
formWrap
>
<SearchForm
@
onSearch=
"querySearch"
:form-options=
"formOptions"
/>
</
template
>
<!-- 表格插槽 -->
<
template
#
tableWrap
>
<table-config
ref=
"searchTable"
@
selection-change=
"selectionChange"
:query=
"query"
:columns=
"columns"
id-key=
"elementId"
>
</table-config>
</
template
>
</list-page>
<!-- 新增弹窗 -->
<Edit
@
querySearch=
"querySearch"
:visible
.
sync=
"visible"
:row-data=
"rowData"
:title=
"dialogTitle"
></Edit>
<!-- <ApprovalDialog
:row-data="rowData"
@querySearch="querySearch"
title="审批"
:visible.sync="approvalVisible"
/> -->
</div>
</template>
<
script
>
import
ListPage
from
'@/components/ListPage.vue'
import
SearchForm
from
'@/components/SearchForm.vue'
import
TableConfig
from
'@/components/TableConfig.vue'
import
Edit
from
'./Edit.vue'
import
{
updReportManage
,
delReportManage
}
from
'@/api/index.js'
import
{
querySupervisionNotifyManagement
}
from
'@/api/interface'
import
{
approvalStatusOptions
}
from
'@/utils/dictionary'
export
default
{
name
:
'supervisionNotifyManagement'
,
components
:
{
ListPage
,
SearchForm
,
TableConfig
,
Edit
,
},
data
()
{
return
{
selectRows
:
[],
query
:
{
url
:
querySupervisionNotifyManagement
,
method
:
'post'
,
queryParam
:
{},
},
visible
:
false
,
rowData
:
{},
dialogTitle
:
''
,
approvalVisible
:
false
,
}
},
computed
:
{
formOptions
()
{
return
[
{
label
:
'项目名称'
,
// label文字
prop
:
'prjName'
,
// 字段名
element
:
'el-input'
,
// 指定elementui组件
placeholder
:
'请输入内容'
,
// elementui组件属性
},
]
},
columns
()
{
return
[
{
label
:
'序号'
,
type
:
'index'
,
width
:
'80px'
},
{
label
:
'项目名称'
,
prop
:
'prjName'
},
{
label
:
'承建单位'
,
prop
:
'buildOrg'
,
width
:
'300px'
},
{
label
:
'通报时间'
,
width
:
'160px'
,
prop
:
'reportTime'
,
},
{
label
:
'版本号'
,
width
:
'100px'
,
prop
:
'version'
},
{
label
:
'修改意见'
,
prop
:
'opinion'
,
width
:
'220px'
},
{
label
:
'操作'
,
type
:
'operation'
,
width
:
'520px'
,
actionButtons
:
[
{
title
:
'编辑'
,
type
:
'primary'
,
size
:
'mini'
,
plain
:
true
,
icon
:
'el-icon-edit'
,
},
{
title
:
'查看'
,
type
:
'primary'
,
size
:
'mini'
,
plain
:
true
,
icon
:
'el-icon-view'
,
},
{
title
:
'提交'
,
size
:
'mini'
,
icon
:
'el-icon-circle-check'
,
type
:
'primary'
,
plain
:
true
,
},
{
title
:
'审批'
,
size
:
'mini'
,
icon
:
'el-icon-s-check'
,
type
:
'primary'
,
plain
:
true
,
},
{
title
:
'发布'
,
size
:
'mini'
,
icon
:
'el-icon-s-check'
,
type
:
'primary'
,
plain
:
true
,
},
{
title
:
'删除'
,
type
:
'danger'
,
size
:
'mini'
,
plain
:
true
,
icon
:
'el-icon-delete'
,
},
],
callback
:
(
row
,
title
)
=>
{
this
.
fnOperation
(
row
,
title
)
},
},
]
},
},
created
()
{},
methods
:
{
// 表格勾选的数据
selectionChange
(
data
)
{
this
.
selectRows
=
data
},
querySearch
(
data
)
{
this
.
query
.
queryParam
=
{
...
this
.
query
.
queryParam
,
...
data
,
}
this
.
$refs
.
searchTable
.
queryData
()
},
fnAdd
()
{
this
.
rowData
=
{}
this
.
dialogTitle
=
'新增批次计划'
this
.
visible
=
true
},
/**
* @description: 操作按钮
* @param {Object} row 当前操作行数据
* @param {String} title 当前操作按钮名称
* @author: pan
*/
fnOperation
(
row
,
title
)
{
switch
(
title
)
{
case
'编辑'
:
this
.
fnEdit
(
row
)
break
case
'查看'
:
// this.fnEdit(row)
break
case
'提交'
:
this
.
fnSubmit
(
row
,
'提交'
)
break
case
'审批'
:
// this.fnApproval(row)
break
case
'发布'
:
this
.
fnSubmit
(
row
,
'发布'
)
break
case
'删除'
:
this
.
fnDel
(
row
)
break
default
:
break
}
},
fnApproval
(
row
)
{
this
.
rowData
=
row
this
.
approvalVisible
=
true
},
fnSubmit
(
row
,
text
)
{
this
.
$confirm
(
`是否确认
${
text
}
?`
,
'提示'
,
{
confirmButtonText
:
'确认'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
})
.
then
(()
=>
{
const
params
=
{
...
row
,
state
:
text
===
'提交'
?
1
:
3
,
}
updReportManage
(
params
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
$message
.
success
(
`
${
text
}
成功`
)
this
.
$refs
.
searchTable
.
queryData
()
}
else
{
this
.
$message
.
error
(
res
.
msg
)
}
})
})
.
catch
(()
=>
{})
},
fnDel
(
row
)
{
this
.
$confirm
(
'是否确认删除?'
,
'提示'
,
{
confirmButtonText
:
'确认'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
})
.
then
(()
=>
{
const
params
=
{
...
row
,
}
delReportManage
(
params
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
$message
.
success
(
'删除成功'
)
this
.
$refs
.
searchTable
.
queryData
()
}
else
{
this
.
$message
.
error
(
'删除失败'
)
}
})
})
.
catch
(()
=>
{})
},
fnEdit
(
row
)
{
this
.
dialogTitle
=
'编辑通报'
this
.
rowData
=
row
this
.
visible
=
true
},
},
}
</
script
>
<
style
scoped
lang=
"scss"
>
@import
'@/styles/common.scss'
;
</
style
>
src/views/supervisionProblemEdit/index.vue
0 → 100644
View file @
37a43cb
<!--
* @Description: 架构督查-督查问题整改
* @Version: 2.0
* @Autor: pan
* @Date: 2024-03-26 10:53:48
* @LastEditors: pan
* @LastEditTime: 2024-03-26 16:42:10
-->
<
template
>
<div
class=
"searchTable"
>
<list-page>
<!-- 查询表单插槽 -->
<template
#
formWrap
>
<SearchForm
@
onSearch=
"querySearch"
:form-options=
"formOptions"
/>
</
template
>
<!-- 表格插槽 -->
<
template
#
tableWrap
>
<table-config
ref=
"searchTable"
@
selection-change=
"selectionChange"
:query=
"query"
:columns=
"columns"
id-key=
"elementId"
>
</table-config>
</
template
>
</list-page>
<!-- 新增弹窗 -->
<!-- <Edit
@querySearch="querySearch"
:visible.sync="visible"
:row-data="rowData"
:title="dialogTitle"
></Edit> -->
<!-- <ApprovalDialog
:row-data="rowData"
@querySearch="querySearch"
title="审批"
:visible.sync="approvalVisible"
/> -->
</div>
</template>
<
script
>
import
ListPage
from
'@/components/ListPage.vue'
import
SearchForm
from
'@/components/SearchForm.vue'
import
TableConfig
from
'@/components/TableConfig.vue'
// import Edit from './Edit.vue'
import
{
updReportManage
,
delReportManage
}
from
'@/api/index.js'
import
{
querySupervisionProblem
}
from
'@/api/interface'
import
{
approvalStatusOptions
}
from
'@/utils/dictionary'
export
default
{
name
:
'supervisionProblemEdit'
,
components
:
{
ListPage
,
SearchForm
,
TableConfig
,
// Edit,
},
data
()
{
return
{
selectRows
:
[],
query
:
{
url
:
querySupervisionProblem
,
method
:
'post'
,
queryParam
:
{},
},
visible
:
false
,
rowData
:
{},
dialogTitle
:
''
,
approvalVisible
:
false
,
}
},
computed
:
{
formOptions
()
{
return
[
{
label
:
'项目名称'
,
// label文字
prop
:
'prjName'
,
// 字段名
element
:
'el-input'
,
// 指定elementui组件
placeholder
:
'请输入内容'
,
// elementui组件属性
},
]
},
columns
()
{
return
[
{
label
:
'序号'
,
type
:
'index'
,
width
:
'80px'
},
{
label
:
'项目名称'
,
prop
:
'prjName'
},
{
label
:
'归属部门'
,
prop
:
'buildOrg'
,
width
:
'300px'
},
{
label
:
'承建单位'
,
width
:
'160px'
,
prop
:
'reportTime'
,
},
{
label
:
'问题类型'
,
width
:
'100px'
,
prop
:
'version'
},
{
label
:
'问题描述'
,
prop
:
'opinion'
},
{
label
:
'操作'
,
type
:
'operation'
,
width
:
'520px'
,
actionButtons
:
[
{
title
:
'编辑'
,
type
:
'primary'
,
size
:
'mini'
,
plain
:
true
,
icon
:
'el-icon-edit'
,
},
{
title
:
'查看'
,
type
:
'primary'
,
size
:
'mini'
,
plain
:
true
,
icon
:
'el-icon-view'
,
},
{
title
:
'提交'
,
size
:
'mini'
,
icon
:
'el-icon-circle-check'
,
type
:
'primary'
,
plain
:
true
,
},
{
title
:
'审批'
,
size
:
'mini'
,
icon
:
'el-icon-s-check'
,
type
:
'primary'
,
plain
:
true
,
},
{
title
:
'发布'
,
size
:
'mini'
,
icon
:
'el-icon-s-check'
,
type
:
'primary'
,
plain
:
true
,
},
{
title
:
'删除'
,
type
:
'danger'
,
size
:
'mini'
,
plain
:
true
,
icon
:
'el-icon-delete'
,
},
],
callback
:
(
row
,
title
)
=>
{
this
.
fnOperation
(
row
,
title
)
},
},
]
},
},
created
()
{},
methods
:
{
// 表格勾选的数据
selectionChange
(
data
)
{
this
.
selectRows
=
data
},
querySearch
(
data
)
{
this
.
query
.
queryParam
=
{
...
this
.
query
.
queryParam
,
...
data
,
}
this
.
$refs
.
searchTable
.
queryData
()
},
fnAdd
()
{
this
.
rowData
=
{}
this
.
dialogTitle
=
'新增批次计划'
this
.
visible
=
true
},
/**
* @description: 操作按钮
* @param {Object} row 当前操作行数据
* @param {String} title 当前操作按钮名称
* @author: pan
*/
fnOperation
(
row
,
title
)
{
switch
(
title
)
{
case
'编辑'
:
this
.
fnEdit
(
row
)
break
case
'查看'
:
// this.fnEdit(row)
break
case
'提交'
:
this
.
fnSubmit
(
row
,
'提交'
)
break
case
'审批'
:
// this.fnApproval(row)
break
case
'发布'
:
this
.
fnSubmit
(
row
,
'发布'
)
break
case
'删除'
:
this
.
fnDel
(
row
)
break
default
:
break
}
},
fnApproval
(
row
)
{
this
.
rowData
=
row
this
.
approvalVisible
=
true
},
fnSubmit
(
row
,
text
)
{
this
.
$confirm
(
`是否确认
${
text
}
?`
,
'提示'
,
{
confirmButtonText
:
'确认'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
})
.
then
(()
=>
{
const
params
=
{
...
row
,
state
:
text
===
'提交'
?
1
:
3
,
}
updReportManage
(
params
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
$message
.
success
(
`
${
text
}
成功`
)
this
.
$refs
.
searchTable
.
queryData
()
}
else
{
this
.
$message
.
error
(
res
.
msg
)
}
})
})
.
catch
(()
=>
{})
},
fnDel
(
row
)
{
this
.
$confirm
(
'是否确认删除?'
,
'提示'
,
{
confirmButtonText
:
'确认'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
})
.
then
(()
=>
{
const
params
=
{
...
row
,
}
delReportManage
(
params
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
$message
.
success
(
'删除成功'
)
this
.
$refs
.
searchTable
.
queryData
()
}
else
{
this
.
$message
.
error
(
'删除失败'
)
}
})
})
.
catch
(()
=>
{})
},
fnEdit
(
row
)
{
this
.
dialogTitle
=
'编辑通报'
this
.
rowData
=
row
this
.
visible
=
true
},
},
}
</
script
>
<
style
scoped
lang=
"scss"
>
@import
'@/styles/common.scss'
;
</
style
>
src/views/typical-example-manage/index.vue
View file @
37a43cb
<
template
>
<
template
>
<div
class=
"typicalExampleManage"
>
<div
class=
"typicalExampleManage"
>
<div
class=
"table_container"
>
<div
class=
"table_container"
>
<div
class=
"search_menu"
>
<div
class=
"search_menu"
>
<div
class=
"search_menu_item_container"
>
<div
class=
"search_menu_item_container"
>
<div
class=
"search_menu_item"
>
<div
class=
"search_menu_item"
>
<span
class=
"search_title"
>
案例名称
</span>
<span
class=
"search_title"
>
案例名称
</span>
<el-input
v-model=
"searchParams.caseName"
placeholder=
"请输入内容"
class=
"search_item"
></el-input>
<el-input
</div>
v-model=
"searchParams.caseName"
<div
class=
"search_menu_item"
>
placeholder=
"请输入内容"
<span
class=
"search_title"
>
案例类型
</span>
class=
"search_item"
<el-select
v-model=
"searchParams.caseType"
placeholder=
"请选择"
class=
"search_item"
>
></el-input>
<el-option
v-for=
"item in selectData1"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</div>
</el-select>
<div
class=
"search_menu_item"
>
</div>
<span
class=
"search_title"
>
案例类型
</span>
<div
class=
"search_menu_item"
>
<el-select
<span
class=
"search_title"
>
问题类型
</span>
v-model=
"searchParams.caseType"
<el-select
v-model=
"searchParams.problemType"
placeholder=
"请选择"
class=
"search_item"
>
placeholder=
"请选择"
<el-option
v-for=
"item in selectData2"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
class=
"search_item"
</el-select>
>
</div>
<el-option
</div>
v-for=
"item in selectData1"
<div
class=
"search_menu_btn_container"
>
:key=
"item.value"
<div
class=
"query_btn"
@
click=
"search_table"
>
:label=
"item.label"
<img
class=
"btn_icon"
src=
"@/assets/archi-ele-list/search.png"
alt=
""
/>
:value=
"item.value"
<p>
查询
</p>
></el-option>
</div>
</el-select>
<div
class=
"reset_btn"
@
click=
"reset"
>
</div>
<img
class=
"btn_icon"
src=
"@/assets/archi-ele-list/reset.png"
alt=
""
/>
<div
class=
"search_menu_item"
>
<p>
重置
</p>
<span
class=
"search_title"
>
问题类型
</span>
</div>
<el-select
</div>
v-model=
"searchParams.problemType"
</div>
placeholder=
"请选择"
<div
class=
"search_btn"
>
class=
"search_item"
<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-option
<el-button
type=
"primary"
size=
"medium"
icon=
"el-icon-plus"
@
click=
"exportFile"
>
导出
</el-button>
v-for=
"item in selectData2"
</div>
:key=
"item.value"
<el-table
:height=
"tableHeight"
@
selection-change=
"handleSelectionChange"
v-loading=
"loading"
:data=
"tableData"
stripe
border
>
:label=
"item.label"
<!--
<el-table-column
type=
"selection"
width=
"55"
:selectable=
"selectable"
></el-table-column>
-->
:value=
"item.value"
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
></el-option>
<el-table-column
type=
"index"
label=
"序号"
width=
"80"
align=
"center"
></el-table-column>
</el-select>
<el-table-column
prop=
"caseName"
label=
"案例名称"
align=
"center"
></el-table-column>
</div>
<el-table-column
prop=
"caseType_"
label=
"案例类型"
align=
"center"
></el-table-column>
</div>
<el-table-column
prop=
"projectType_"
label=
"项目类型"
align=
"center"
></el-table-column>
<div
class=
"search_menu_btn_container"
>
<el-table-column
prop=
"buildContent"
label=
"建设内容"
align=
"center"
></el-table-column>
<div
class=
"query_btn"
@
click=
"search_table"
>
<el-table-column
prop=
"archiDetail"
label=
"架构详情"
align=
"center"
:show-overflow-tooltip=
"true"
></el-table-column>
<img
<el-table-column
prop=
"problemType_"
label=
"问题类型"
align=
"center"
></el-table-column>
class=
"btn_icon"
<el-table-column
prop=
"problemLevel_"
label=
"问题等级"
align=
"center"
></el-table-column>
src=
"@/assets/archi-ele-list/search.png"
<el-table-column
prop=
"problemContent"
label=
"问题描述"
align=
"center"
:show-overflow-tooltip=
"true"
></el-table-column>
alt=
""
<el-table-column
label=
"操作"
width=
"260"
align=
"center"
>
/>
<template
slot-scope=
"scope"
>
<p>
查询
</p>
<div
style=
"display: flex;align-items: center;justify-content: center;"
>
</div>
<el-button
icon=
"el-icon-edit"
type=
"primary"
size=
"mini"
@
click=
"operate('edit',scope.row)"
>
编辑
</el-button>
<div
class=
"reset_btn"
@
click=
"reset"
>
<el-button
class=
"shanChu_btn"
icon=
"el-icon-delete"
size=
"mini"
@
click=
"operate('del',scope.row)"
>
删除
</el-button>
<img
</div>
class=
"btn_icon"
</
template
>
src=
"@/assets/archi-ele-list/reset.png"
</el-table-column>
alt=
""
</el-table>
/>
<el-pagination
<p>
重置
</p>
background
</div>
@
size-change=
"handleSizeChange"
</div>
@
current-change=
"handleCurrentChange"
</div>
:current-page=
"pager.current"
<div
class=
"search_btn"
>
:page-sizes=
"pager.sizes"
<el-button
:page-size=
"pager.size"
type=
"primary"
layout=
"total, sizes, prev, pager, next, jumper"
size=
"medium"
:total=
"pager.total"
>
icon=
"el-icon-document-add"
</el-pagination>
@
click=
"operate('add')"
</div>
>
新建
</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"
: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=
"caseName"
label=
"案例名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"caseType_"
label=
"案例类型"
align=
"center"
></el-table-column>
<el-table-column
prop=
"projectType_"
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"
:show-overflow-tooltip=
"true"
></el-table-column>
<el-table-column
prop=
"problemType_"
label=
"问题类型"
align=
"center"
></el-table-column>
<el-table-column
prop=
"problemLevel_"
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;
"
>
<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>
</div>
<el-dialog
<el-dialog
:title=
"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"
>
<el-form
:model=
"formData"
ref=
"form"
>
<div
class=
"add_dialog_content"
>
<div
class=
"form_item_container"
>
<el-form
:model=
"formData"
ref=
"form"
>
<el-form-item
label=
"案例名称:"
prop=
"caseName"
>
<div
class=
"form_item_container"
>
<el-input
v-model=
"formData.caseName"
></el-input>
<el-form-item
label=
"案例名称:"
prop=
"caseName"
>
</el-form-item>
<el-input
v-model=
"formData.caseName"
></el-input>
<el-form-item
label=
"案例类型:"
prop=
"caseType"
>
</el-form-item>
<el-select
v-model=
"formData.caseType"
placeholder=
"请选择"
>
<el-form-item
label=
"案例类型:"
prop=
"caseType"
>
<el-option
v-for=
"item in selectData1"
:key=
"item.label"
:label=
"item.label"
:value=
"item.value"
></el-option>
<el-select
v-model=
"formData.caseType"
placeholder=
"请选择"
>
</el-select>
<el-option
</el-form-item>
v-for=
"item in selectData1"
<el-form-item
label=
"项目类型:"
prop=
"projectType"
>
:key=
"item.label"
<el-select
v-model=
"formData.projectType"
placeholder=
"请选择"
>
:label=
"item.label"
<el-option
v-for=
"item in selectData3"
:key=
"item.label"
:label=
"item.label"
:value=
"item.value"
></el-option>
:value=
"item.value"
</el-select>
></el-option>
</el-form-item>
</el-select>
<el-form-item
label=
"建设内容:"
prop=
"buildContent"
>
</el-form-item>
<el-input
v-model=
"formData.buildContent"
></el-input>
<el-form-item
label=
"项目类型:"
prop=
"projectType"
>
</el-form-item>
<el-select
v-model=
"formData.projectType"
placeholder=
"请选择"
>
<el-form-item
label=
"问题类型:"
prop=
"problemType"
>
<el-option
<el-select
v-model=
"formData.problemType"
placeholder=
"请选择"
>
v-for=
"item in selectData3"
<el-option
v-for=
"item in selectData2"
:key=
"item.label"
:label=
"item.label"
:value=
"item.value"
></el-option>
:key=
"item.label"
</el-select>
:label=
"item.label"
</el-form-item>
:value=
"item.value"
<el-form-item
label=
"问题等级:"
prop=
"problemLevel"
>
></el-option>
<el-select
v-model=
"formData.problemLevel"
placeholder=
"请选择"
>
</el-select>
<el-option
v-for=
"item in selectData4"
:key=
"item.label"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-form-item>
</el-select>
<el-form-item
label=
"建设内容:"
prop=
"buildContent"
>
</el-form-item>
<el-input
v-model=
"formData.buildContent"
></el-input>
<el-form-item
class=
"cross1"
label=
"架构详情:"
prop=
"archiDetail"
>
</el-form-item>
<el-input
type=
"textarea"
v-model=
"formData.archiDetail"
maxlength=
"200"
show-word-limit
></el-input>
<el-form-item
label=
"问题类型:"
prop=
"problemType"
>
</el-form-item>
<el-select
v-model=
"formData.problemType"
placeholder=
"请选择"
>
<el-form-item
class=
"cross1"
label=
"问题描述:"
prop=
"problemContent"
>
<el-option
<el-input
type=
"textarea"
v-model=
"formData.problemContent"
maxlength=
"200"
show-word-limit
></el-input>
v-for=
"item in selectData2"
</el-form-item>
:key=
"item.label"
</div>
:label=
"item.label"
</el-form>
:value=
"item.value"
</div>
></el-option>
</div>
</el-select>
<span
slot=
"footer"
class=
"dialog-footer"
>
</el-form-item>
<el-button
class=
"greenButton"
@
click=
"operate('create')"
>
确定
</el-button>
<el-form-item
label=
"问题等级:"
prop=
"problemLevel"
>
<el-button
@
click=
"add_dialog = false"
>
取消
</el-button>
<el-select
v-model=
"formData.problemLevel"
placeholder=
"请选择"
>
</span>
<el-option
</el-dialog>
v-for=
"item in selectData4"
</div>
: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>
</template>
<
script
>
<
script
>
import
{
import
{
getDianXingAnLiSelectData
,
getDianXingAnLiSelectData
,
getTypicalExampleList
,
getTypicalExampleList
,
getTypicalExampleAdd
,
getTypicalExampleAdd
,
getTypicalExampleUpdate
,
getTypicalExampleUpdate
,
getTypicalExampleDel
,
getTypicalExampleDel
,
getTypicalExampleExcel
,
getTypicalExampleExcel
,
}
from
'@/api/index.js'
;
}
from
'@/api/index.js'
import
{
MessageBox
,
Message
}
from
'element-ui'
;
import
{
MessageBox
,
Message
}
from
'element-ui'
import
$
from
'jquery'
;
import
$
from
'jquery'
export
default
{
export
default
{
name
:
'TypicalExampleManage'
,
name
:
'TypicalExampleManage'
,
components
:
{
components
:
{},
data
()
{
return
{
tableData
:
[],
add_dialog
:
false
,
title
:
''
,
loading
:
false
,
selectList
:
[],
selectData1
:
[],
selectData2
:
[],
selectData3
:
[],
selectData4
:
[],
searchParams
:
{
caseName
:
''
,
caseType
:
''
,
problemType
:
''
,
},
pager
:
{
current
:
1
,
sizes
:
[
10
,
20
,
50
,
100
,
200
],
size
:
10
,
total
:
0
,
//总条数
},
formData
:
{
caseName
:
''
,
caseType
:
''
,
projectType
:
''
,
buildContent
:
''
,
problemType
:
''
,
problemLevel
:
''
,
problemContent
:
''
,
archiDetail
:
''
,
},
tableHeight
:
null
,
}
},
mounted
()
{
window
.
addEventListener
(
'resize'
,
()
=>
{
this
.
set_table_height
()
})
this
.
set_table_height
()
},
// 初始化查询列表
data
()
{
this
.
getList
()
return
{
tableData
:
[],
add_dialog
:
false
,
title
:
""
,
loading
:
false
,
selectList
:
[],
selectData1
:
[],
selectData2
:
[],
selectData3
:
[],
selectData4
:
[],
searchParams
:
{
caseName
:
""
,
caseType
:
""
,
problemType
:
""
,
},
pager
:
{
current
:
1
,
sizes
:
[
10
,
20
,
50
,
100
,
200
],
size
:
10
,
total
:
0
,
//总条数
},
formData
:
{
caseName
:
''
,
caseType
:
''
,
projectType
:
''
,
buildContent
:
''
,
problemType
:
''
,
problemLevel
:
''
,
problemContent
:
''
,
archiDetail
:
""
,
},
tableHeight
:
null
,
};
},
mounted
(){
window
.
addEventListener
(
'resize'
,
()
=>
{
this
.
set_table_height
();
})
this
.
set_table_height
();
// 初始化查询列表
// 获取元素列表
this
.
getList
();
this
.
get_an_li_lei_xing_select
().
then
((
res
)
=>
{
this
.
selectData1
=
res
})
this
.
get_wen_ti_lei_xing_select
().
then
((
res
)
=>
{
this
.
selectData2
=
res
})
this
.
get_xiang_mu_lei_xing_select
().
then
((
res
)
=>
{
this
.
selectData3
=
res
})
this
.
get_wen_ti_deng_ji_select
().
then
((
res
)
=>
{
this
.
selectData4
=
res
})
},
methods
:
{
search_table
()
{
//搜索
this
.
pager
.
current
=
1
this
.
getList
()
},
// 查询列表
getList
()
{
this
.
loading
=
true
const
params
=
{
caseName
:
this
.
searchParams
.
caseName
,
caseType
:
this
.
searchParams
.
caseType
,
problemType
:
this
.
searchParams
.
problemType
,
current
:
this
.
pager
.
current
,
pageSize
:
this
.
pager
.
size
,
}
getTypicalExampleList
(
params
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
loading
=
false
Promise
.
all
([
this
.
get_an_li_lei_xing_select
(),
this
.
get_xiang_mu_lei_xing_select
(),
this
.
get_wen_ti_lei_xing_select
(),
this
.
get_wen_ti_deng_ji_select
(),
]).
then
((
res2
)
=>
{
res
.
data
.
records
.
map
((
item
)
=>
{
let
result1
=
res2
[
0
].
find
(
(
item2
)
=>
item2
.
value
==
item
.
caseType
,
)
let
result2
=
res2
[
1
].
find
(
(
item2
)
=>
item2
.
value
==
item
.
projectType
,
)
let
result3
=
res2
[
2
].
find
(
(
item2
)
=>
item2
.
value
==
item
.
problemType
,
)
let
result4
=
res2
[
3
].
find
(
(
item2
)
=>
item2
.
value
==
item
.
problemLevel
,
)
// 获取元素列表
item
[
'caseType_'
]
=
result1
?
result1
.
label
:
''
this
.
get_an_li_lei_xing_select
().
then
(
res
=>
{
item
[
'projectType_'
]
=
result2
?
result2
.
label
:
''
this
.
selectData1
=
res
;
item
[
'problemType_'
]
=
result2
?
result3
.
label
:
''
});
item
[
'problemLevel_'
]
=
result2
?
result4
.
label
:
''
this
.
get_wen_ti_lei_xing_select
().
then
(
res
=>
{
})
this
.
selectData2
=
res
;
this
.
pager
.
current
=
res
.
data
.
current
});
this
.
pager
.
total
=
res
.
data
.
total
this
.
get_xiang_mu_lei_xing_select
().
then
(
res
=>
{
this
.
pager
.
size
=
res
.
data
.
size
this
.
selectData3
=
res
;
this
.
tableData
=
res
.
data
.
records
});
})
this
.
get_wen_ti_deng_ji_select
().
then
(
res
=>
{
}
this
.
selectData4
=
res
;
})
});
},
// 重置
},
reset
()
{
methods
:
{
this
.
searchParams
=
{
search_table
()
{
//搜索
caseName
:
''
,
this
.
pager
.
current
=
1
;
caseType
:
''
,
this
.
getList
();
problemType
:
''
,
},
}
// 查询列表
},
getList
()
{
// 所有操作
this
.
loading
=
true
;
operate
(
type
,
item
)
{
const
params
=
{
this
.
openType
=
type
"caseName"
:
this
.
searchParams
.
caseName
,
if
(
type
==
'add'
)
{
"caseType"
:
this
.
searchParams
.
caseType
,
this
.
add_dialog
=
true
"problemType"
:
this
.
searchParams
.
problemType
,
this
.
title
=
'新建案例'
"current"
:
this
.
pager
.
current
,
this
.
resetForm
()
"pageSize"
:
this
.
pager
.
size
,
}
else
if
(
type
==
'edit'
)
{
};
this
.
add_dialog
=
true
getTypicalExampleList
(
params
).
then
(
res
=>
{
this
.
title
=
'编辑案例'
if
(
res
.
code
==
200
)
{
this
.
formData
=
item
this
.
loading
=
false
;
this
.
formData
.
caseType
=
String
(
this
.
formData
.
caseType
)
Promise
.
all
([
this
.
formData
.
problemType
=
String
(
this
.
formData
.
problemType
)
this
.
get_an_li_lei_xing_select
(),
this
.
formData
.
projectType
=
String
(
this
.
formData
.
projectType
)
this
.
get_xiang_mu_lei_xing_select
(),
this
.
formData
.
problemLevel
=
String
(
this
.
formData
.
problemLevel
)
this
.
get_wen_ti_lei_xing_select
(),
}
else
if
(
type
==
'create'
)
{
this
.
get_wen_ti_deng_ji_select
()
if
(
this
.
formData
.
caseId
)
{
]).
then
(
res2
=>
{
// 编辑保存
res
.
data
.
records
.
map
(
item
=>
{
getTypicalExampleUpdate
(
this
.
formData
).
then
((
res
)
=>
{
let
result1
=
res2
[
0
].
find
(
item2
=>
item2
.
value
==
item
.
caseType
);
if
(
res
.
code
==
200
)
{
let
result2
=
res2
[
1
].
find
(
item2
=>
item2
.
value
==
item
.
projectType
);
this
.
$message
.
success
(
'保存成功'
)
let
result3
=
res2
[
2
].
find
(
item2
=>
item2
.
value
==
item
.
problemType
);
this
.
add_dialog
=
false
let
result4
=
res2
[
3
].
find
(
item2
=>
item2
.
value
==
item
.
problemLevel
);
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
:
'取消'
,
customClass
:
'messageClass'
,
confirmButtonClass
:
'confirmClass'
,
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
)
})
item
[
'caseType_'
]
=
result1
?
result1
.
label
:
''
;
this
.
$confirm
(
'确认批量删除吗'
,
'提示'
,
{
item
[
'projectType_'
]
=
result2
?
result2
.
label
:
''
;
confirmButtonText
:
'确定'
,
item
[
'problemType_'
]
=
result2
?
result3
.
label
:
''
;
cancelButtonText
:
'取消'
,
item
[
'problemLevel_'
]
=
result2
?
result4
.
label
:
''
;
customClass
:
'messageClass'
,
});
confirmButtonClass
:
'confirmClass'
,
this
.
pager
.
current
=
res
.
data
.
current
;
type
:
'warning'
,
this
.
pager
.
total
=
res
.
data
.
total
;
})
this
.
pager
.
size
=
res
.
data
.
size
;
.
then
(()
=>
{
this
.
tableData
=
res
.
data
.
records
;
getTypicalExampleDel
(
params
).
then
((
res
)
=>
{
})
if
(
res
.
code
==
200
)
{
}
this
.
$message
.
success
(
'批量删除成功'
)
});
this
.
getList
()
},
}
else
{
// 重置
this
.
$message
.
error
(
res
.
msg
)
reset
()
{
}
this
.
searchParams
=
{
})
caseName
:
""
,
})
caseType
:
""
,
.
catch
(()
=>
{})
problemType
:
""
,
}
}
},
},
// 新建清空表单
// 所有操作
resetForm
()
{
operate
(
type
,
item
){
this
.
formData
=
{
this
.
openType
=
type
;
caseName
:
''
,
if
(
type
==
"add"
)
{
caseType
:
''
,
this
.
add_dialog
=
true
;
projectType
:
''
,
this
.
title
=
"新建案例"
;
buildContent
:
''
,
this
.
resetForm
();
problemType
:
''
,
}
else
if
(
type
==
"edit"
)
{
problemLevel
:
''
,
this
.
add_dialog
=
true
;
problemContent
:
''
,
this
.
title
=
"编辑案例"
;
archiDetail
:
''
,
this
.
formData
=
item
;
}
this
.
formData
.
caseType
=
String
(
this
.
formData
.
caseType
);
},
this
.
formData
.
problemType
=
String
(
this
.
formData
.
problemType
);
exportFile
()
{
this
.
formData
.
projectType
=
String
(
this
.
formData
.
projectType
);
//导出
this
.
formData
.
problemLevel
=
String
(
this
.
formData
.
problemLevel
);
getTypicalExampleExcel
(
this
.
searchParams
).
then
((
res
)
=>
{
}
else
if
(
type
==
"create"
)
{
let
blob
=
new
Blob
([
res
],
{
if
(
this
.
formData
.
ktcId
)
{
type
:
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
,
// 编辑保存
})
getTypicalExampleUpdate
(
this
.
formData
).
then
(
res
=>
{
let
url
=
URL
.
createObjectURL
(
blob
)
if
(
res
.
code
==
200
)
{
let
link
=
document
.
createElement
(
'a'
)
this
.
$message
.
success
(
"保存成功"
);
link
.
href
=
url
this
.
add_dialog
=
false
;
document
.
body
.
appendChild
(
link
)
this
.
getList
();
link
.
click
()
}
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
:
"取消"
,
customClass
:
'messageClass'
,
confirmButtonClass
:
'confirmClass'
,
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
(
"确认批量删除吗"
,
"提示"
,
{
get_an_li_lei_xing_select
()
{
confirmButtonText
:
"确定"
,
//案例类型下拉
cancelButtonText
:
"取消"
,
const
params
=
{
customClass
:
'messageClass'
,
key
:
'kl_case_type'
,
confirmButtonClass
:
'confirmClass'
,
}
type
:
"warning"
return
new
Promise
((
resolve
,
reject
)
=>
{
}).
then
(()
=>
{
getDianXingAnLiSelectData
(
params
).
then
((
res
)
=>
{
getTypicalExampleDel
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
resolve
(
res
.
data
)
this
.
$message
.
success
(
"批量删除成功"
);
}
this
.
getList
();
})
}
else
{
})
this
.
$message
.
error
(
res
.
msg
);
},
}
get_wen_ti_lei_xing_select
()
{
});
//问题类型下拉
}).
catch
(()
=>
{
const
params
=
{
});
key
:
'kl_question_type'
,
}
}
},
return
new
Promise
((
resolve
,
reject
)
=>
{
// 新建清空表单
getDianXingAnLiSelectData
(
params
).
then
((
res
)
=>
{
resetForm
(){
if
(
res
.
code
==
200
)
{
this
.
formData
=
{
resolve
(
res
.
data
)
caseName
:
''
,
}
caseType
:
''
,
})
projectType
:
''
,
})
buildContent
:
''
,
},
problemType
:
''
,
get_xiang_mu_lei_xing_select
()
{
problemLevel
:
''
,
//项目类型下拉
problemContent
:
''
,
const
params
=
{
archiDetail
:
""
,
key
:
'kl_project_type'
,
}
}
},
return
new
Promise
((
resolve
,
reject
)
=>
{
exportFile
()
{
//导出
getDianXingAnLiSelectData
(
params
).
then
((
res
)
=>
{
getTypicalExampleExcel
(
this
.
searchParams
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
let
blob
=
new
Blob
([
res
],
{
type
:
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
});
resolve
(
res
.
data
)
let
url
=
URL
.
createObjectURL
(
blob
);
}
let
link
=
document
.
createElement
(
'a'
);
})
link
.
href
=
url
;
})
document
.
body
.
appendChild
(
link
);
},
link
.
click
();
get_wen_ti_deng_ji_select
()
{
})
//问题等级下拉
},
const
params
=
{
key
:
'kl_question_level'
,
}
return
new
Promise
((
resolve
,
reject
)
=>
{
getDianXingAnLiSelectData
(
params
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
resolve
(
res
.
data
)
}
})
})
},
get_an_li_lei_xing_select
()
{
//案例类型下拉
set_table_height
()
{
const
params
=
{
//动态设置表格高度
key
:
"kl_case_type"
const
table_container_height
=
$
(
'.table_container'
).
height
()
}
const
search_menu_height
=
$
(
'.search_menu'
).
height
()
return
new
Promise
((
resolve
,
reject
)
=>
{
const
search_btn_height
=
$
(
'.search_btn'
).
outerHeight
(
true
)
getDianXingAnLiSelectData
(
params
).
then
(
res
=>
{
this
.
tableHeight
=
if
(
res
.
code
==
200
)
{
table_container_height
-
resolve
(
res
.
data
);
search_menu_height
-
}
search_btn_height
-
})
90
+
})
'px'
},
},
get_wen_ti_lei_xing_select
()
{
//问题类型下拉
selectable
(
row
)
{
const
params
=
{
//表格勾选框禁用
key
:
"kl_question_type"
if
(
row
.
state
==
1
)
{
}
return
false
// 禁用
return
new
Promise
((
resolve
,
reject
)
=>
{
}
else
{
getDianXingAnLiSelectData
(
params
).
then
(
res
=>
{
return
true
//不禁用
if
(
res
.
code
==
200
)
{
}
resolve
(
res
.
data
);
},
}
// 表格多选
})
handleSelectionChange
(
e
)
{
})
this
.
selectList
=
e
},
},
get_xiang_mu_lei_xing_select
()
{
//项目类型下拉
// 每页条数改变
const
params
=
{
handleSizeChange
(
val
)
{
key
:
"kl_project_type"
this
.
pager
.
current
=
1
}
this
.
pager
.
size
=
val
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
getList
()
getDianXingAnLiSelectData
(
params
).
then
(
res
=>
{
},
if
(
res
.
code
==
200
)
{
//当前页码改变
resolve
(
res
.
data
);
handleCurrentChange
(
val
)
{
}
this
.
pager
.
current
=
val
})
this
.
getList
()
})
},
},
},
get_wen_ti_deng_ji_select
()
{
//问题等级下拉
const
params
=
{
key
:
"kl_question_level"
}
return
new
Promise
((
resolve
,
reject
)
=>
{
getDianXingAnLiSelectData
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
resolve
(
res
.
data
);
}
})
})
},
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
.
pager
.
size
=
val
;
this
.
getList
();
},
//当前页码改变
handleCurrentChange
(
val
)
{
this
.
pager
.
current
=
val
;
this
.
getList
();
},
}
}
}
</
script
>
</
script
>
<
style
>
<
style
>
.confirmClass
{
.confirmClass
{
background-color
:
#0D867F
!important
;
background-color
:
#0d867f
!important
;
}
}
.el-message-box__content
{
.el-message-box__content
{
padding
:
60px
15px
60px
15px
;
padding
:
60px
15px
60px
15px
;
}
}
</
style
>
</
style
>
<
style
scoped
>
<
style
scoped
>
.form_item_container
{
.form_item_container
{
display
:
flex
;
display
:
flex
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
}
}
.el-form-item
{
.el-form-item
{
display
:
flex
;
display
:
flex
;
width
:
33%
;
width
:
33%
;
}
}
.cross1
{
.cross1
{
width
:
100%
;
width
:
100%
;
}
}
/
deep
/
.cross1
>
.el-form-item__content
{
/
deep
/
.cross1
>
.el-form-item__content
{
width
:
86.4%
!important
;
width
:
86.4%
!important
;
}
}
.typicalExampleManage
{
.typicalExampleManage
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
justify-content
:
flex-start
;
justify-content
:
flex-start
;
align-items
:
center
;
align-items
:
center
;
}
}
.dialog_content_1
{
.dialog_content_1
{
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
}
}
.el-button--primary
{
.el-button--primary
{
background
:
rgba
(
13
,
134
,
127
,
0.1
);
background
:
rgba
(
13
,
134
,
127
,
0.1
);
color
:
#0D867F
;
color
:
#0d867f
;
border
:
0
;
border
:
0
;
}
}
.add_select_item_icon_container
{
.add_select_item_icon_container
{
margin-top
:
10px
;
margin-top
:
10px
;
text-align
:
center
;
text-align
:
center
;
cursor
:
pointer
;
cursor
:
pointer
;
}
}
/
deep
/
.el-dialog__header
{
/
deep
/
.el-dialog__header
{
background-color
:
#0D867F
;
background-color
:
#0d867f
;
text-align
:
left
;
text-align
:
left
;
}
}
/
deep
/
.el-input-group__append
{
/
deep
/
.el-input-group__append
{
background-color
:
#0D867F
;
background-color
:
#0d867f
;
color
:
#fff
;
color
:
#fff
;
cursor
:
pointer
;
cursor
:
pointer
;
}
}
/
deep
/
.el-dialog__title
{
/
deep
/
.el-dialog__title
{
color
:
#fff
;
color
:
#fff
;
}
}
/
deep
/
.el-dialog__close
{
/
deep
/
.el-dialog__close
{
color
:
#fff
;
color
:
#fff
;
}
}
.search_menu
{
.search_menu
{
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
}
}
.search_menu_item_container
{
.search_menu_item_container
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
}
}
.search_menu_btn_container
{
.search_menu_btn_container
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
}
}
.search_menu_item
{
.search_menu_item
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
width
:
344px
;
width
:
344px
;
}
}
.search_title
{
.search_title
{
/* width: 20%; */
/* width: 20%; */
flex-shrink
:
0
;
flex-shrink
:
0
;
margin-right
:
15px
;
margin-right
:
15px
;
}
}
.search_item
{
.search_item
{
width
:
60%
;
width
:
60%
;
}
}
.search_btn
{
.search_btn
{
width
:
100%
;
width
:
100%
;
display
:
flex
;
display
:
flex
;
margin-top
:
50px
;
margin-top
:
50px
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
}
}
.el-button--default
{
.el-button--default
{
border
:
0
;
border
:
0
;
}
}
.shanChu_btn
{
.shanChu_btn
{
color
:
#DD6A15
;
color
:
#dd6a15
;
background-color
:
#F8EBE2
;
background-color
:
#f8ebe2
;
}
}
.tingYong_btn
{
.tingYong_btn
{
color
:
#DEA82A
;
color
:
#dea82a
;
background-color
:
#FDF6E6
;
background-color
:
#fdf6e6
;
}
}
.el-button.is-disabled
{
.el-button.is-disabled
{
color
:
#C0C4CC
!important
;
color
:
#c0c4cc
!important
;
background-color
:
#fff
!important
;
background-color
:
#fff
!important
;
}
}
.add_btn
{
.add_btn
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
width
:
76px
;
width
:
76px
;
height
:
32px
;
height
:
32px
;
background
:
rgba
(
13
,
134
,
127
,
0.1
);
background
:
rgba
(
13
,
134
,
127
,
0.1
);
border-radius
:
6px
6px
6px
6px
;
border-radius
:
6px
6px
6px
6px
;
border
:
1px
solid
#0D867F
;
border
:
1px
solid
#0d867f
;
font-size
:
14px
;
font-size
:
14px
;
color
:
#0D867F
;
color
:
#0d867f
;
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.version_btn
{
.version_btn
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
width
:
104px
;
width
:
104px
;
height
:
32px
;
height
:
32px
;
background
:
rgba
(
13
,
134
,
127
,
0.1
);
background
:
rgba
(
13
,
134
,
127
,
0.1
);
border-radius
:
6px
6px
6px
6px
;
border-radius
:
6px
6px
6px
6px
;
border
:
1px
solid
#0D867F
;
border
:
1px
solid
#0d867f
;
font-size
:
14px
;
font-size
:
14px
;
color
:
#0D867F
;
color
:
#0d867f
;
cursor
:
pointer
;
cursor
:
pointer
;
margin-left
:
15px
;
margin-left
:
15px
;
}
}
.query_btn
{
.query_btn
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
width
:
76px
;
width
:
76px
;
height
:
32px
;
height
:
32px
;
background
:
rgba
(
13
,
134
,
127
,
1
);
background
:
rgba
(
13
,
134
,
127
,
1
);
border-radius
:
6px
6px
6px
6px
;
border-radius
:
6px
6px
6px
6px
;
border
:
1px
solid
#0D867F
;
border
:
1px
solid
#0d867f
;
font-size
:
14px
;
font-size
:
14px
;
color
:
#fff
;
color
:
#fff
;
margin-right
:
10px
;
margin-right
:
10px
;
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.reset_btn
{
.reset_btn
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
width
:
76px
;
width
:
76px
;
height
:
32px
;
height
:
32px
;
background
:
rgba
(
244
,
244
,
244
,
1
);
background
:
rgba
(
244
,
244
,
244
,
1
);
border-radius
:
6px
6px
6px
6px
;
border-radius
:
6px
6px
6px
6px
;
border
:
1px
solid
#ccc
;
border
:
1px
solid
#ccc
;
font-size
:
14px
;
font-size
:
14px
;
color
:
#666
;
color
:
#666
;
cursor
:
pointer
;
cursor
:
pointer
;
}
.btn_icon
{
}
margin-right
:
10px
;
.btn_icon
{
}
margin-right
:
10px
;
.table_container
{
}
width
:
97%
;
.table_container
{
height
:
calc
(
100%
-
40px
);
width
:
97%
;
margin-top
:
20px
;
height
:
calc
(
100%
-
40px
);
}
margin-top
:
20px
;
.el-pagination
{
}
margin-top
:
30px
;
.el-pagination
{
}
margin-top
:
30px
;
/
deep
/
.el-pagination.is-background
.el-pager
li
:not
(
.disabled
)
.active
{
}
background-color
:
#0d867f
;
/
deep
/
.el-pagination.is-background
.el-pager
li
:not
(
.disabled
)
.active
{
}
background-color
:
#0D867F
;
.greenButton
{
}
background-color
:
#0d867f
;
.greenButton
{
color
:
#fff
;
background-color
:
#0D867F
;
}
color
:
#fff
;
</
style
>
}
</
style
>
\ No newline at end of file
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