Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
learn-online-pc
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
learn-online-pc
Commits
606935c7
提交
606935c7
authored
4月 17, 2020
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add tableList components
上级
b6b82ec0
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
292 行增加
和
178 行删除
+292
-178
package-lock.json
client/package-lock.json
+0
-0
tableList.vue
client/src/components/comTable/tableList.vue
+96
-0
hall.vue
client/src/pages/affairsHall/hall.vue
+192
-176
ProxyMonitor.js
server/server/controller/ProxyMonitor.js
+4
-2
没有找到文件。
client/package-lock.json
浏览文件 @
606935c7
This source diff could not be displayed because it is too large. You can
view the blob
instead.
client/src/components/comTable/tableList.vue
0 → 100644
浏览文件 @
606935c7
<
template
>
<div
class=
"table-list"
>
<div
class=
"table-list-hd"
>
<!-- 筛选 -->
</div>
<div
class=
"table-list-bd"
>
<el-table
:data=
"data"
v-bind=
"$attrs"
v-if=
"data.length"
>
<el-table-column
v-for=
"(column, index) in columns"
:label=
"column.label"
:key=
"index"
>
<template
slot-scope=
"scope"
>
<template
v-if=
"column.isShow ? column.isShow(get(scope.row, column.prop), scope.row) : true "
>
<template
v-if=
"column.buttons"
>
<!-- 操作按钮 -->
<template
v-for=
"(button, index) in column.buttons"
>
<el-button
type=
"text"
size=
"mini"
:key=
"index"
v-bind=
"button.attrs"
@
click=
"button.onClick(scope.row)"
v-if=
"button.isShow ? button.isShow(scope.row) : true "
>
{{
button
.
label
}}
</el-button>
</
template
>
</template>
<
template
v-else-if=
"column.computed"
>
<!-- 处理过的数据 -->
<div
v-html=
"column.computed(get(scope.row, column.prop), scope.row)"
>
{{
get
(
scope
.
row
,
column
.
prop
)
}}
</div>
</
template
>
<
template
v-else
>
<!-- 默认数据 -->
<div>
{{
get
(
scope
.
row
,
column
.
prop
)
}}
</div>
</
template
>
</template>
</template>
</el-table-column>
</el-table>
</div>
<div
class=
"table-list-ft"
></div>
</div>
</template>
<
script
>
import
_
from
'lodash'
export
default
{
props
:
{
// 表头
columns
:
{
type
:
Array
,
default
()
{
return
[]
}
},
// 数据
data
:
{
type
:
Array
,
default
()
{
return
[]
}
},
remote
:
{
type
:
Object
}
},
data
()
{
return
{}
},
methods
:
{
get
:
_
.
get
,
// 获取列表数据
fetchListData
()
{
if
(
!
this
.
remote
||
!
this
.
remote
.
fetch
)
{
return
}
this
.
remote
.
fetch
(
this
.
remote
.
params
).
then
(
response
=>
{})
}
},
beforeMount
()
{
console
.
log
(
this
)
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.tabl-list
{
}
.tabl-list-hd
{
}
.tabl-list-bd
{
}
.tabl-list-ft
{
}
</
style
>
client/src/pages/affairsHall/hall.vue
浏览文件 @
606935c7
...
...
@@ -3,28 +3,15 @@
<div
class=
"con-title"
>
<div>
办事大厅
</div>
</div>
<Tap
:tapParam=
'tapParam'
@
tapParam=
'tapIndexs'
></Tap>
<Tap
:tapParam=
"tapParam"
@
tapParam=
"tapIndexs"
></Tap>
<div
class=
"con-box"
>
<el-button
type=
"primary"
v-show=
"tapIndex==0"
@
click=
"golearningAdd(0)"
>
申请新的活动
</el-button>
<el-button
type=
"primary"
v-show=
"tapIndex==1"
@
click=
"golearningAdd(1)"
>
申请新乐分享
</el-button>
<el-button
type=
"primary"
v-show=
"tapIndex==2"
@
click=
"golearningAdd(2)"
>
申请重修
</el-button>
<!--
<el-button
style=
"float:right;"
type=
"text"
@
click=
'gobackReportList'
>
返回报告列表
</el-button>
-->
<div
style=
"width: 100%; height: 0.2rem;"
></div>
<template
v-if=
"ismPageFlag"
>
<m-page
:tableHead=
"tableHead"
:tableData=
"tableData"
:params=
"params"
:objFn=
"objFn"
:tableConfig=
"tableConfig"
/>
</
template
>
<table-list
:data=
"tableData"
:columns=
"columns"
></table-list>
</div>
<el-dialog
title=
"提示"
:visible
.
sync=
"dialogVisible"
width=
"30%"
>
<el-dialog
title=
"提示"
:visible
.
sync=
"dialogVisible"
width=
"30%"
>
<span>
确定删除?
</span>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
...
...
@@ -37,213 +24,242 @@
<
script
>
import
Tap
from
'../../components/comTable/tap.vue'
import
mPage
from
'../../components/comTable/mPage.vue'
import
TableList
from
'../../components/comTable/tableList.vue'
import
cAction
from
'@action'
const
status
=
{
'-1'
:
'待审核'
,
0
:
'未通过'
,
1
:
'通过'
,
2
:
'通过'
,
3
:
'未通过'
,
4
:
'通过'
}
export
default
{
components
:
{
Tap
,
mPage
mPage
,
TableList
},
data
()
{
data
()
{
return
{
dialogVisible
:
false
,
ismPageFla
g
:
false
,
loadin
g
:
false
,
tapIndex
:
0
,
// tap切换
tapParam
:
[{
tapParam
:
[
{
name
:
'分类'
,
isShow
:
false
,
selectIndex
:
0
,
key
:
'cc'
,
arrItem
:
[
// { val: '1', name: '学术活动' },
// { val: '2', name: '乐分享' },
// { val: '3', name: '重修' }
]
}],
arrItem
:
[]
}
],
// table 配置
tableOptions
:
{
// 学术活动
tableConfig
:
{
border
:
''
,
size
:
''
,
selection
:
{
has
:
false
,
sels
:
[],
width
:
'50px'
,
fix
:
'left'
,
align
:
''
}
},
// 增加选择框,has设置为true
tableHead
:
[],
tableData
:
[],
dataParam
:
1
,
params
:
{},
// params: { keywords: '', curPage: 1, pageSize: 5, total: '' },
objFn
:
{},
_obj
:
null
// 音分享
symposium
:
{
columns
:
[
{
prop
:
'form.symposium_name'
,
label
:
'活动名称'
},
{
prop
:
'form.symposium_time'
,
label
:
'活动时间'
},
{
prop
:
'form.symposium_lecturer'
,
label
:
'主讲人'
},
{
prop
:
'status'
,
label
:
'审核状态'
,
computed
(
value
)
{
return
status
[
value
]
}
},
beforeDestroy
()
{
this
.
VueEvent
.
$off
(
'command-tablelist-x'
)
{
prop
:
'approve_time1'
,
label
:
'审核时间'
},
{
label
:
'操作'
,
buttons
:
[
{
label
:
'查看报告'
,
isShow
(
row
)
{
return
row
.
form
.
reportscount
!==
'0'
},
mounted
()
{
this
.
getTapData
()
this
.
VueEvent
.
$on
(
'command-tablelist-x'
,
(
_obj
)
=>
{
if
(
_obj
.
command
.
command
===
'activelist-show'
)
{
const
rid
=
_obj
.
tableData
[
_obj
.
index
-
1
].
formId
this
.
$router
.
push
({
path
:
`/app/affairs-hall/view-report/
${
rid
}
`
})
}
if
(
_obj
.
command
.
command
===
'activereport-add'
)
{
const
syid
=
_obj
.
tableData
[
_obj
.
index
-
1
].
formId
this
.
$router
.
push
({
path
:
`/app/affairs-hall/upload-report/
${
syid
}
/-1`
})
onClick
:
row
=>
{
this
.
$router
.
push
({
path
:
`/app/affairs-hall/view-report/
${
row
.
form
.
id
}
`
})
}
if
(
_obj
.
command
.
command
===
'activelist-edit'
)
{
const
rid
=
_obj
.
tableData
[
_obj
.
index
-
1
].
id
this
.
$router
.
push
({
path
:
`/app/affairs-hall/learning-add/
${
rid
}
`
,
query
:
{
id
:
this
.
tapParam
[
0
].
arrItem
[
this
.
tapIndex
].
val
}
})
},
{
label
:
'上传报告'
,
isShow
(
row
)
{
const
isPass
=
[
1
,
2
,
4
].
includes
(
row
.
status
)
return
isPass
&&
row
.
form
.
reportscount
===
'0'
},
onClick
:
row
=>
{
this
.
$router
.
push
({
path
:
`/app/affairs-hall/upload-report/
${
row
.
form
.
id
}
/-1`
})
}
if
(
_obj
.
command
.
command
===
'activelist-delete'
)
{
this
.
dialogVisible
=
true
},
{
label
:
'查看'
,
onClick
:
row
=>
{
this
.
$router
.
push
({
path
:
`/app/affairs-hall/learning-add/
${
row
.
id
}
`
,
query
:
{
id
:
row
.
affair_id
,
is_view
:
true
}
})
}
this
.
_obj
=
_obj
},
{
label
:
'编辑'
,
isShow
(
row
)
{
return
[
-
1
,
0
].
includes
(
row
.
status
)
},
onClick
:
row
=>
{
this
.
$router
.
push
({
path
:
`/app/affairs-hall/learning-add/
${
row
.
id
}
`
,
query
:
{
id
:
row
.
affair_id
}
})
}
},
{
label
:
'删除'
,
isShow
(
row
)
{
return
row
.
status
===
-
1
},
onClick
:
row
=>
{
this
.
confirmDeletion
(
row
)
}
}
]
}
]
},
// 乐分享
sharing
:
{
columns
:
[
{
prop
:
'form.sharing_theme'
,
label
:
'分享主题'
},
{
prop
:
'form.class_name'
,
label
:
'班级'
},
{
prop
:
'form.personal_name'
,
label
:
'申请人'
},
{
prop
:
'form.telephone'
,
label
:
'电话'
},
{
prop
:
'approve_status'
,
label
:
'审核状态'
},
{
prop
:
'approve_time'
,
label
:
'审核时间'
},
{
prop
:
'remark1'
,
label
:
'备注'
}
]
},
// 重修
retake
:
{
columns
:
[
{
prop
:
'form.semester_name'
,
label
:
'学期'
},
{
prop
:
'form.class_name'
,
label
:
'班级'
},
{
prop
:
'form.course_name'
,
label
:
'课程'
},
{
prop
:
'approve_status'
,
label
:
'审核状态'
},
{
prop
:
'approve_time'
,
label
:
'审核时间'
},
{
prop
:
'remark1'
,
label
:
'备注'
}
]
}
},
tableData
:
[],
affairList
:
[],
affairId
:
null
}
},
computed
:
{
columns
()
{
const
found
=
this
.
affairList
.
find
(
item
=>
item
.
id
===
this
.
affairId
)
if
(
found
)
{
return
this
.
tableOptions
[
found
.
form_name
].
columns
}
else
{
return
[]
}
}
},
mounted
()
{
this
.
getTapData
()
},
methods
:
{
confirmDeletion
()
{
const
_obj
=
this
.
_obj
const
rid
=
_obj
.
tableData
[
_obj
.
index
-
1
].
id
confirmDeletion
(
row
)
{
/* 删除 */
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
''
,
spinner
:
''
,
background
:
'rgba(255, 255, 255, 0.9)'
})
cAction
.
Affairs
.
deleteAffairs
(
rid
).
then
(
data
=>
{
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
''
,
spinner
:
''
,
background
:
'rgba(255, 255, 255, 0.9)'
})
cAction
.
Affairs
.
deleteAffairs
(
row
.
id
)
.
then
(
data
=>
{
if
(
data
.
success
)
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功'
})
this
.
setmPage
()
}
}).
catch
(
e
=>
{
this
.
$message
.
error
(
e
.
message
)
}).
finally
(()
=>
{
loading
.
close
()
})
this
.
dialogVisible
=
false
},
setmPage
()
{
this
.
objFn
=
{
paramsFn
:
(
_this
)
=>
{
return
{
affair_id
:
this
.
dataParam
}
},
nameAPI
:
'getAffairsData'
,
actionClass
:
'Affairs'
,
// nameExcel: 'getStatSummaryExcel',
nameExcel
:
'getExportExcel3_4_14'
,
callback
:
(
_this
,
data
)
=>
{
// _this.params.total = data.length
data
.
forEach
((
elem
,
i
)
=>
{
const
datas
=
{}
datas
.
approve_status
=
'未通过'
datas
.
approve_status
=
elem
.
status
=
elem
.
status
===
1
||
elem
.
status
===
2
||
elem
.
status
===
4
?
'通过'
:
(
elem
.
status
===
0
||
elem
.
status
===
3
?
'未通过'
:
'未审核'
)
// 0 未通过;1 通过;2 未审核
// datas.index = elem.index = i + 1 + (_this.params.curPage - 1) * _this.params.pageSize
datas
.
index
=
i
+
1
datas
.
approve_time
=
elem
.
apply_time
datas
.
isPage
=
0
if
(
parseInt
(
this
.
tapIndex
)
===
0
)
{
datas
.
symposium_attachments
=
elem
.
form
.
symposium_attachments
datas
.
reportscount
=
elem
.
form
.
reportscount
// datas.approve_status = elem.approve_status = elem.approve_status === 1 ? '通过' : (elem.approve_status === 0 ? '未通过' : '未审核') // 0 未通过;1 通过;2 未审核
// datas.index = elem.index = i + 1 + (_this.params.curPage - 1) * _this.params.pageSize
// datas.reportscount = elem.reportscount = Number(elem.reportscount || '0')
datas
.
symposium_name
=
elem
.
form
.
symposium_name
datas
.
symposium_time
=
elem
.
form
.
symposium_time
datas
.
symposium_lecturer
=
elem
.
form
.
symposium_lecturer
datas
.
id
=
elem
.
id
datas
.
formId
=
elem
.
form
.
id
}
else
if
(
parseInt
(
this
.
tapIndex
)
===
1
)
{
datas
.
personal_name
=
elem
.
form
.
personal_name
datas
.
trade_name
=
elem
.
form
.
trade_name
datas
.
age
=
elem
.
form
.
age
datas
.
class_name
=
elem
.
form
.
class_name
datas
.
telephone
=
elem
.
form
.
telephone
datas
.
sharing_theme
=
elem
.
form
.
sharing_theme
datas
.
remark1
=
elem
.
remark1
}
else
{
datas
.
personal_name
=
elem
.
form
.
personal_name
datas
.
payment_instrument
=
elem
.
form
.
payment_instrument
datas
.
semester_name
=
elem
.
form
.
semester_name
datas
.
class_name
=
elem
.
form
.
class_name
datas
.
course_name
=
elem
.
form
.
course_name
datas
.
remark1
=
elem
.
remark1
}
_this
.
tableData
.
push
(
datas
)
})
}
}
this
.
ismPageFlag
=
true
.
catch
(
e
=>
{
this
.
$message
.
error
(
e
.
message
)
})
.
finally
(()
=>
{
loading
.
close
()
})
this
.
dialogVisible
=
false
},
tapIndexs
(
data
)
{
tapIndexs
(
data
)
{
this
.
tapIndex
=
data
.
index
this
.
getData
(
data
)
},
getData
(
data
)
{
const
n
=
parseInt
(
data
.
index
)
this
.
dataParam
=
data
.
id
switch
(
n
)
{
case
0
:
this
.
tableHead
=
[
{
prop
:
'index'
,
label
:
'序号'
,
minWidth
:
'80'
,
fix
:
false
},
{
prop
:
'symposium_name'
,
label
:
'活动名称'
,
minWidth
:
'150'
,
fix
:
false
},
{
prop
:
'symposium_time'
,
label
:
'活动时间'
,
minWidth
:
'120'
,
fix
:
false
},
{
prop
:
'symposium_lecturer'
,
label
:
'主讲人'
,
minWidth
:
'120'
,
fix
:
false
},
{
prop
:
'approve_status'
,
label
:
'审核状态'
,
minWidth
:
'80'
,
fix
:
false
},
{
prop
:
'approve_time'
,
label
:
'审核时间'
,
minWidth
:
'120'
,
fix
:
false
},
// { prop: '', label: '', minWidth: '', fix: false, goObj: { routerName: '', params: {} } }, // 点击跳转页面并传参数
{
prop
:
'operate-x'
,
label
:
'操作'
,
width
:
'200px'
,
fix
:
false
,
commandArr
:
[{
command
:
'activelist-show'
,
name
:
'查看报告'
},
{
command
:
'activereport-add'
,
name
:
'上传报告'
},
{
command
:
'activelist-edit'
,
name
:
'编辑'
},
{
command
:
'activelist-delete'
,
name
:
'删除'
}]
}
]
break
case
1
:
this
.
tableHead
=
[
{
prop
:
'index'
,
label
:
'序号'
,
minWidth
:
'80'
,
fix
:
true
},
{
prop
:
'sharing_theme'
,
label
:
'分享主题'
,
minWidth
:
'150'
,
fix
:
false
},
{
prop
:
'class_name'
,
label
:
'班级'
,
minWidth
:
'80'
,
fix
:
false
},
{
prop
:
'personal_name'
,
label
:
'申请人'
,
minWidth
:
'80'
,
fix
:
false
},
{
prop
:
'telephone'
,
label
:
'电话'
,
minWidth
:
'120'
,
fix
:
false
},
{
prop
:
'approve_status'
,
label
:
'审核状态'
,
minWidth
:
'80'
,
fix
:
false
},
{
prop
:
'approve_time'
,
label
:
'审核时间'
,
minWidth
:
'200'
,
fix
:
false
},
{
prop
:
'remark1'
,
label
:
'备注'
,
minWidth
:
'120'
,
fix
:
false
}
]
break
case
2
:
this
.
tableHead
=
[
{
prop
:
'index'
,
label
:
'序号'
,
minWidth
:
'80'
,
fix
:
false
},
{
prop
:
'semester_name'
,
label
:
'学期'
,
minWidth
:
'150'
,
fix
:
false
},
{
prop
:
'class_name'
,
label
:
'班级'
,
minWidth
:
'80'
,
fix
:
false
},
{
prop
:
'course_name'
,
label
:
'课程'
,
minWidth
:
'80'
,
fix
:
false
},
{
prop
:
'approve_status'
,
label
:
'审核状态'
,
minWidth
:
'80'
,
fix
:
false
},
{
prop
:
'approve_time'
,
label
:
'审核时间'
,
minWidth
:
'120'
,
fix
:
false
},
{
prop
:
'remark1'
,
label
:
'备注'
,
minWidth
:
'120'
,
fix
:
false
}
]
break
}
this
.
setmPage
()
this
.
affairId
=
data
.
id
this
.
getData
()
},
getTapData
()
{
const
affairId
=
this
.
$route
.
query
.
id
||
''
console
.
log
(
affairId
,
'======='
)
// 获取事务类型 tap切换
cAction
.
Affairs
.
getAffairsType
().
then
(
data
=>
{
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
this
.
tapParam
[
0
].
arrItem
.
push
(
{
val
:
data
[
i
].
id
,
name
:
data
[
i
].
affair_name
}
)
}
const
param
=
{
id
:
this
.
tapParam
[
0
].
arrItem
[
0
].
val
,
index
:
0
getData
()
{
cAction
.
Affairs
.
getAffairsData
({
affair_id
:
this
.
affairId
}).
then
(
response
=>
{
this
.
tableData
=
response
}
this
.
getData
(
param
)
}).
catch
(
e
=>
{
)
},
getTapData
()
{
// 获取事务类型
cAction
.
Affairs
.
getAffairsType
()
.
then
(
data
=>
{
this
.
tapParam
[
0
].
arrItem
=
data
.
map
(
item
=>
{
return
{
val
:
item
.
id
,
name
:
item
.
affair_name
}
})
const
[
first
]
=
data
this
.
affairId
=
first
.
id
this
.
affairList
=
data
this
.
getData
()
})
.
catch
(
e
=>
{
this
.
$message
.
error
(
e
.
message
)
})
},
golearningAdd
(
n
)
{
golearningAdd
(
n
)
{
if
(
n
===
0
)
{
this
.
$router
.
push
({
path
:
'/app/affairs-hall/learning-add/-1'
,
query
:
{
id
:
this
.
tapParam
[
0
].
arrItem
[
this
.
tapIndex
].
val
}
})
this
.
$router
.
push
({
path
:
'/app/affairs-hall/learning-add/-1'
,
query
:
{
id
:
this
.
tapParam
[
0
].
arrItem
[
this
.
tapIndex
].
val
}
})
}
else
if
(
n
===
1
)
{
this
.
$router
.
push
({
path
:
'/app/affairs-hall/share-add/-1'
,
query
:
{
id
:
this
.
tapParam
[
0
].
arrItem
[
this
.
tapIndex
].
val
}
})
this
.
$router
.
push
({
path
:
'/app/affairs-hall/share-add/-1'
,
query
:
{
id
:
this
.
tapParam
[
0
].
arrItem
[
this
.
tapIndex
].
val
}
})
}
else
{
this
.
$router
.
push
({
path
:
'/app/affairs-hall/again-add/-1'
,
query
:
{
id
:
this
.
tapParam
[
0
].
arrItem
[
this
.
tapIndex
].
val
}
})
this
.
$router
.
push
({
path
:
'/app/affairs-hall/again-add/-1'
,
query
:
{
id
:
this
.
tapParam
[
0
].
arrItem
[
this
.
tapIndex
].
val
}
})
}
},
goMyApply
()
{
this
.
$router
.
push
({
path
:
'/app/affairs-hall/my-apply'
,
query
:
{
id1
:
this
.
tapParam
[
0
].
arrItem
[
0
].
val
,
id2
:
this
.
tapParam
[
0
].
arrItem
[
1
].
val
,
id3
:
this
.
tapParam
[
0
].
arrItem
[
2
].
val
}
})
goMyApply
()
{
this
.
$router
.
push
({
path
:
'/app/affairs-hall/my-apply'
,
query
:
{
id1
:
this
.
tapParam
[
0
].
arrItem
[
0
].
val
,
id2
:
this
.
tapParam
[
0
].
arrItem
[
1
].
val
,
id3
:
this
.
tapParam
[
0
].
arrItem
[
2
].
val
}
})
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.con-title
{
.con-title
{
display
:
flex
;
justify-content
:
space-between
justify-content
:
space-between
;
}
</
style
>
server/server/controller/ProxyMonitor.js
浏览文件 @
606935c7
...
...
@@ -110,8 +110,10 @@ const agentProcessor = () => {
/* getInfo 时,则写入 用户基本信息 */
if
(
/user_center
\/
get_user_info/gi
.
test
(
options
.
url
))
{
/* check-access接口 */
headers
[
'Host'
]
=
'lms-api.ezijing.com'
headers
[
'host'
]
=
'lms-api.ezijing.com'
// headers['Host'] = 'lms-api.ezijing.com'
// headers['host'] = 'lms-api.ezijing.com'
headers
[
'Host'
]
=
'lms-worklobby-api.ezijing.com'
headers
[
'host'
]
=
'lms-worklobby-api.ezijing.com'
axios
.
defaults
.
headers
=
headers
axios
({
timeout
:
30
*
1000
,
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论