Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
smart_gov_platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
smart_gov_platform
Commits
d65b22f3
Commit
d65b22f3
authored
Apr 09, 2023
by
“yiyousong”
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:添加预约报表
parent
e8d4690e
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
536 additions
and
194 deletions
+536
-194
portal-manager-ui/admin/src/api/dataAdmin.js
portal-manager-ui/admin/src/api/dataAdmin.js
+36
-3
portal-manager-ui/admin/src/main.js
portal-manager-ui/admin/src/main.js
+5
-2
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/departmentEvaluation.vue
...omponents/evaluationRecordReport/departmentEvaluation.vue
+10
-6
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/matterEvaluation.vue
...in/components/evaluationRecordReport/matterEvaluation.vue
+10
-6
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/windowEvaluation.vue
...in/components/evaluationRecordReport/windowEvaluation.vue
+10
-6
portal-manager-ui/admin/src/views/dataAdmin/components/fillRecordReport/fillForm.vue
.../views/dataAdmin/components/fillRecordReport/fillForm.vue
+7
-3
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/makeRecordReport.vue
...ataAdmin/components/makeRecordReport/makeRecordReport.vue
+324
-135
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/recordReportdetails.vue
...Admin/components/makeRecordReport/recordReportdetails.vue
+117
-24
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/callRecord.vue
...n/src/views/dataAdmin/components/queueCall/callRecord.vue
+10
-6
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/queueRecord.vue
.../src/views/dataAdmin/components/queueCall/queueRecord.vue
+7
-3
No files found.
portal-manager-ui/admin/src/api/dataAdmin.js
View file @
d65b22f3
...
@@ -28,10 +28,9 @@ export function getWorkerInfo(params) {
...
@@ -28,10 +28,9 @@ export function getWorkerInfo(params) {
return
http
.
get
(
`
${
baseURL
}
/base/workman/info`
,
params
);
return
http
.
get
(
`
${
baseURL
}
/base/workman/info`
,
params
);
}
}
//评价选项
//评价选项
export
function
getOptonList
(
params
){
export
function
getOptonList
(
params
)
{
return
http
.
post
(
`
${
BASEURL
}
/bkb/bkbset/optionlist`
,
params
)
return
http
.
post
(
`
${
BASEURL
}
/bkb/bkbset/optionlist`
,
params
);
}
}
//评价数据列表
//评价数据列表
export
function
getEvaList
(
params
)
{
export
function
getEvaList
(
params
)
{
...
@@ -96,3 +95,37 @@ export function getCalllist(params) {
...
@@ -96,3 +95,37 @@ export function getCalllist(params) {
export
function
getCallQueList
(
params
)
{
export
function
getCallQueList
(
params
)
{
return
http
.
post
(
`
${
BASEURL
}
/inter/reportform/callQueList`
,
params
);
return
http
.
post
(
`
${
BASEURL
}
/inter/reportform/callQueList`
,
params
);
}
}
/**
* 预约报表
*/
// 获取列表
export
function
getOrderList
(
params
)
{
return
http
.
post
(
`
${
BASEURL
}
/wechat/order_data/orderList`
,
params
);
}
// 查看详情
export
function
getOrderinfo
(
params
)
{
return
http
.
get
(
`
${
BASEURL
}
/wechat/order_data/orderinfo`
,
params
);
}
/**
* 取件记录报表
*/
// 获取取件柜列表
export
function
getSitePickupDevice
(
params
)
{
return
http
.
get
(
`
${
BASEURL
}
/pickup/reportform/siteDevice`
,
params
);
}
// 获取取件记录报表
export
function
getPickupList
(
params
)
{
return
http
.
post
(
`
${
BASEURL
}
/pickup/reportform/pickuplist`
,
params
);
}
// 获取存件记录报表
export
function
getStorageList
(
params
)
{
return
http
.
post
(
`
${
BASEURL
}
/pickup/reportform/storagelist`
,
params
);
}
// 获取其他记录操作记录
export
function
getOtherList
(
params
)
{
return
http
.
post
(
`
${
BASEURL
}
/pickup/reportform/otherlist`
,
params
);
}
portal-manager-ui/admin/src/main.js
View file @
d65b22f3
...
@@ -20,6 +20,9 @@ import * as directives from "@/directive";
...
@@ -20,6 +20,9 @@ import * as directives from "@/directive";
Object
.
keys
(
directives
).
forEach
((
name
)
=>
Object
.
keys
(
directives
).
forEach
((
name
)
=>
Vue
.
directive
(
name
,
directives
[
name
])
Vue
.
directive
(
name
,
directives
[
name
])
);
);
// 引入lodash
import
lodash
from
"
lodash
"
;
Vue
.
prototype
.
$_
=
lodash
;
// moment 时间处理
// moment 时间处理
import
moment
from
"
moment
"
;
import
moment
from
"
moment
"
;
Vue
.
prototype
.
$moment
=
moment
;
Vue
.
prototype
.
$moment
=
moment
;
...
@@ -29,8 +32,8 @@ Object.keys(filters).forEach((key) => {
...
@@ -29,8 +32,8 @@ Object.keys(filters).forEach((key) => {
Vue
.
filter
(
key
,
filters
[
key
]);
Vue
.
filter
(
key
,
filters
[
key
]);
});
});
//引入字典
//引入字典
import
codeMap
from
"
@/utils/codeMap
"
import
codeMap
from
"
@/utils/codeMap
"
;
Vue
.
prototype
.
$codeMap
=
codeMap
Vue
.
prototype
.
$codeMap
=
codeMap
;
Vue
.
prototype
.
$bus
=
new
Vue
();
Vue
.
prototype
.
$bus
=
new
Vue
();
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/departmentEvaluation.vue
View file @
d65b22f3
...
@@ -410,7 +410,9 @@ export default {
...
@@ -410,7 +410,9 @@ export default {
6
:
"
一体化评价
"
,
6
:
"
一体化评价
"
,
};
};
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
this
.
tableSelectedRows
.
forEach
((
item
)
=>
{
// 深度克隆避免影响页面表格展示
let
data
=
this
.
$_
.
cloneDeep
(
this
.
tableSelectedRows
);
data
.
forEach
((
item
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
if
(
item
.
pjxt
==
keys
)
{
if
(
item
.
pjxt
==
keys
)
{
item
.
pjxt
=
obj
[
keys
];
item
.
pjxt
=
obj
[
keys
];
...
@@ -420,14 +422,16 @@ export default {
...
@@ -420,14 +422,16 @@ export default {
export2Excel
(
export2Excel
(
this
.
tHeader
,
this
.
tHeader
,
this
.
filterVal
,
this
.
filterVal
,
this
.
tableSelectedRows
,
data
,
"
办事部门评价记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
"
办事部门评价记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
);
}
else
{
}
else
{
let
data
=
await
this
.
togetevalist
({
let
data
=
this
.
$_
.
cloneDeep
(
await
this
.
togetevalist
({
page
:
1
,
page
:
1
,
size
:
-
1
,
size
:
-
1
,
});
})
);
if
(
!
data
.
length
)
return
;
if
(
!
data
.
length
)
return
;
for
(
let
item
of
data
)
{
for
(
let
item
of
data
)
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/matterEvaluation.vue
View file @
d65b22f3
...
@@ -413,7 +413,9 @@ export default {
...
@@ -413,7 +413,9 @@ export default {
6
:
"
一体化评价
"
,
6
:
"
一体化评价
"
,
};
};
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
this
.
tableSelectedRows
.
forEach
((
item
)
=>
{
// 深度克隆避免影响页面表格展示
let
data
=
this
.
$_
.
cloneDeep
(
this
.
tableSelectedRows
);
data
.
forEach
((
item
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
if
(
item
.
pjxt
==
keys
)
{
if
(
item
.
pjxt
==
keys
)
{
item
.
pjxt
=
obj
[
keys
];
item
.
pjxt
=
obj
[
keys
];
...
@@ -423,14 +425,16 @@ export default {
...
@@ -423,14 +425,16 @@ export default {
export2Excel
(
export2Excel
(
this
.
tHeader
,
this
.
tHeader
,
this
.
filterVal
,
this
.
filterVal
,
this
.
tableSelectedRows
,
data
,
"
办理事项评价记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
"
办理事项评价记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
);
}
else
{
}
else
{
let
data
=
await
this
.
togetevalist
({
let
data
=
this
.
$_
.
cloneDeep
(
await
this
.
togetevalist
({
page
:
1
,
page
:
1
,
size
:
-
1
,
size
:
-
1
,
});
})
);
if
(
!
data
.
length
)
return
;
if
(
!
data
.
length
)
return
;
for
(
let
item
of
data
)
{
for
(
let
item
of
data
)
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/windowEvaluation.vue
View file @
d65b22f3
...
@@ -416,7 +416,9 @@ export default {
...
@@ -416,7 +416,9 @@ export default {
6
:
"
一体化评价
"
,
6
:
"
一体化评价
"
,
};
};
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
this
.
tableSelectedRows
.
forEach
((
item
)
=>
{
// 深度克隆避免影响页面表格展示
let
data
=
this
.
$_
.
cloneDeep
(
this
.
tableSelectedRows
);
data
.
forEach
((
item
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
if
(
item
.
pjxt
==
keys
)
{
if
(
item
.
pjxt
==
keys
)
{
item
.
pjxt
=
obj
[
keys
];
item
.
pjxt
=
obj
[
keys
];
...
@@ -426,14 +428,16 @@ export default {
...
@@ -426,14 +428,16 @@ export default {
export2Excel
(
export2Excel
(
this
.
tHeader
,
this
.
tHeader
,
this
.
filterVal
,
this
.
filterVal
,
this
.
tableSelectedRows
,
data
,
"
窗口服务评价记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
"
窗口服务评价记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
);
}
else
{
}
else
{
let
data
=
await
this
.
togetevalist
({
let
data
=
this
.
$_
.
cloneDeep
(
await
this
.
togetevalist
({
page
:
1
,
page
:
1
,
size
:
-
1
,
size
:
-
1
,
});
})
);
if
(
!
data
.
length
)
return
;
if
(
!
data
.
length
)
return
;
for
(
let
item
of
data
)
{
for
(
let
item
of
data
)
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/fillRecordReport/fillForm.vue
View file @
d65b22f3
...
@@ -302,7 +302,9 @@ export default {
...
@@ -302,7 +302,9 @@ export default {
2
:
"
在线提交
"
,
2
:
"
在线提交
"
,
};
};
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
this
.
tableSelectedRows
.
forEach
((
item
)
=>
{
// 深度克隆避免影响页面表格展示
let
data
=
this
.
$_
.
cloneDeep
(
this
.
tableSelectedRows
);
data
.
forEach
((
item
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
if
(
item
.
type
==
keys
)
{
if
(
item
.
type
==
keys
)
{
item
.
type
=
obj
[
keys
];
item
.
type
=
obj
[
keys
];
...
@@ -312,11 +314,13 @@ export default {
...
@@ -312,11 +314,13 @@ export default {
export2Excel
(
export2Excel
(
this
.
tHeader
,
this
.
tHeader
,
this
.
filterVal
,
this
.
filterVal
,
this
.
tableSelectedRows
,
data
,
"
填单记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
"
填单记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
);
}
else
{
}
else
{
let
data
=
await
this
.
togetPrintList
({
page
:
1
,
size
:
-
1
});
let
data
=
this
.
$_
.
cloneDeep
(
await
this
.
togetPrintList
({
page
:
1
,
size
:
-
1
})
);
if
(
!
data
.
length
)
return
;
if
(
!
data
.
length
)
return
;
for
(
let
item
of
data
)
{
for
(
let
item
of
data
)
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/makeRecordReport.vue
View file @
d65b22f3
...
@@ -2,39 +2,45 @@
...
@@ -2,39 +2,45 @@
<div
class=
"PoliticsShow-Container"
>
<div
class=
"PoliticsShow-Container"
>
<div
class=
"header_box"
>
<div
class=
"header_box"
>
<div>
<div>
<a-button
type=
"success"
@
click=
"exportTable"
>
<a-button
:loading=
"btnLoading"
type=
"success"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
</a-button>
</div>
</div>
<span>
<span>
<a-space>
<a-input
<a-input
allowClear
allowClear
v-model=
"searchName"
style=
"width: 300px"
placeholder=
"请输入预约人姓名/事项名称搜索"
v-model=
"searchForm.title"
placeholder=
"请输入预约人姓名/业务名称搜索"
@
pressEnter=
"handleSearch"
>
>
<a-icon
slot=
"prefix"
type=
"search"
/>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
</a-input>
<a-range-picker
<a-range-picker
format=
"YYYY年MM月DD日
"
style=
"width: 200px
"
class=
"range_picker_style
"
format=
"YYYY-MM-DD
"
@
change=
"rangePickerChange
"
valueFormat=
"YYYY-MM-DD
"
v-model=
"BegindAndEndT
ime"
v-model=
"searchForm.t
ime"
>
>
</a-range-picker>
</a-range-picker>
<a-select
default-value=
"001"
>
<a-select
v-model=
"searchForm.status"
>
<!--
<a-select-option
<a-select-option
value=
""
>
全部
</a-select-option>
v-for=
"(item, index) of selectOptions"
<a-select-option
:key=
"index"
v-for=
"(v, key) in statusItem"
:value=
"item.value"
:key=
"key"
:value=
"Number(key)"
>
>
{{
item
.
label
}}
{{
v
}}
</a-select-option>
-->
</a-select-option>
<a-select-option
value=
"001"
>
状态001
</a-select-option>
<a-select-option
value=
"002"
>
状态002
</a-select-option>
</a-select>
</a-select>
<a-button
type=
"primary"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
>
搜索
</a-button>
<a-button
@
click=
"handleReset"
>
重置
</a-button>
</a-space>
</span>
</span>
</div>
</div>
<div
class=
"main"
>
<div
class=
"main"
>
...
@@ -47,14 +53,55 @@
...
@@ -47,14 +53,55 @@
onChange: onSelectChange,
onChange: onSelectChange,
}"
}"
:scroll="{ y: 590 }"
:scroll="{ y: 590 }"
:pagination="tablePagination"
:pagination="{
@change="pagTableChange"
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onChange: changePage,
onShowSizeChange: changSize,
}"
:loading="tableLoading"
:loading="tableLoading"
:columns="tableHeaders"
:columns="tableHeaders"
:dataSource="tableSourceData"
:dataSource="tableSourceData"
>
>
<template
slot=
"状态"
slot-scope=
"text, record, index"
>
<!-- 序号 -->
<a-button
type=
"link"
@
click=
"openDetails"
>
{{
text
}}
</a-button>
<span
slot=
"index"
slot-scope=
"text, record, index"
>
{{
(
current
-
1
)
*
size
+
index
+
1
}}
</span>
<!-- 状态 -->
<template
slot=
"status"
slot-scope=
"text"
>
<a-tag
@
click=
"openDetails(text.id)"
v-if=
"text.status == 0"
color=
"#108ee9"
>
未签到
</a-tag>
<a-tag
@
click=
"openDetails(text.id)"
v-else-if=
"text.status == 1"
color=
"#2db7f5"
>
排队中
</a-tag>
<a-tag
@
click=
"openDetails(text.id)"
v-else-if=
"text.status == 2"
color=
"#f50"
>
超时未取号
</a-tag>
<a-tag
@
click=
"openDetails(text.id)"
v-else-if=
"text.status == 3"
color=
"red"
>
已取消
</a-tag>
</
template
>
</
template
>
</a-table>
</a-table>
</div>
</div>
...
@@ -62,135 +109,277 @@
...
@@ -62,135 +109,277 @@
</template>
</template>
<
script
>
<
script
>
import
table
from
"
@/mixins/table
"
;
import
{
getOrderList
}
from
"
@/api/dataAdmin
"
;
import
{
export2Excel
}
from
"
@/utils/js/exportExcel
"
;
let
tHeader
=
[
// 导出的表头名信息
"
预约人姓名
"
,
"
电话
"
,
"
身份证
"
,
"
办理地点
"
,
"
预约编号
"
,
"
预约时间
"
,
"
签到时间
"
,
"
取消时间
"
,
"
创建时间
"
,
"
状态
"
,
];
let
filterVal
=
[
// 导出的表头字段名,需要导出表格字段名
"
idcard_Name
"
,
"
phone
"
,
"
idcard_IDCardNo
"
,
"
address
"
,
"
number
"
,
"
starttime
"
,
"
taketime
"
,
"
canceltime
"
,
"
create_time
"
,
"
status
"
,
];
let
statusItem
=
{
0
:
"
预约中
"
,
1
:
"
成功取号
"
,
2
:
"
超时未取号
"
,
3
:
"
预约取消
"
,
};
export
default
{
export
default
{
mixins
:
[
table
],
name
:
"
PortalAdminVueMakeRecordReport
"
,
name
:
"
PortalAdminVueMakeRecordReport
"
,
data
()
{
data
()
{
return
{
let
tableHeaders
=
[
BegindAndEndTime
:
[],
tableHeaders
:
[
{
{
title
:
"
序号
"
,
title
:
"
序号
"
,
dataIndex
:
"
index
"
,
dataIndex
:
"
index
"
,
width
:
"
60px
"
,
width
:
"
60px
"
,
key
:
"
index
"
,
align
:
"
center
"
,
align
:
"
center
"
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
index
+
1
}
`
,
scopedSlots
:
{
customRender
:
"
index
"
,
},
},
},
{
{
title
:
"
预约人姓名
"
,
title
:
"
预约人姓名
"
,
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
预约人姓名
"
,
customRender
:
(
text
)
=>
{
return
text
.
people
.
idcard_Name
||
"
--
"
;
},
},
},
{
{
title
:
"
电话
"
,
title
:
"
电话
"
,
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
电话
"
,
customRender
:
(
text
)
=>
{
return
text
.
people
.
phone
||
"
--
"
;
},
},
},
{
{
title
:
"
身份证
"
,
title
:
"
身份证
"
,
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
身份证
"
,
customRender
:
(
text
)
=>
{
width
:
"
180px
"
,
return
text
.
people
.
idcard_IDCardNo
||
"
--
"
;
},
},
{
title
:
"
事项主题名称
"
,
align
:
"
center
"
,
dataIndex
:
"
事项主题名称
"
,
},
},
// {
// title: "事项主题名称",
// align: "center",
// dataIndex: "事项主题名称",
// },
{
{
title
:
"
办理地点
"
,
title
:
"
办理地点
"
,
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
办理地点
"
,
dataIndex
:
"
address
"
,
},
},
{
{
title
:
"
预约编号
"
,
title
:
"
预约编号
"
,
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
预约编号
"
,
dataIndex
:
"
number
"
,
},
},
{
{
title
:
"
预约时间
"
,
title
:
"
预约时间
"
,
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
预约时间
"
,
dataIndex
:
"
starttime
"
,
},
},
{
{
title
:
"
签到时间
"
,
title
:
"
签到时间
"
,
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
签到时间
"
,
customRender
:
(
text
)
=>
{
return
text
.
taketime
||
"
--
"
;
},
},
},
{
{
title
:
"
取消时间
"
,
title
:
"
取消时间
"
,
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
取消时间
"
,
customRender
:
(
text
)
=>
{
return
text
.
canceltime
||
"
--
"
;
},
},
},
{
{
title
:
"
创建时间
"
,
title
:
"
创建时间
"
,
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
创建时间
"
,
dataIndex
:
"
create_time
"
,
},
},
{
{
title
:
"
状态
"
,
title
:
"
状态
"
,
align
:
"
center
"
,
align
:
"
center
"
,
dataIndex
:
"
状态
"
,
scopedSlots
:
{
scopedSlots
:
{
customRender
:
"
状态
"
,
customRender
:
"
status
"
,
},
},
},
},
];
return
{
tableLoading
:
false
,
tHeader
,
filterVal
,
tableHeaders
,
statusItem
,
btnLoading
:
false
,
searchForm
:
{
status
:
""
,
title
:
""
,
time
:
[
this
.
$moment
(
new
Date
()).
format
(
"
YYYY-MM-DD
"
),
this
.
$moment
(
new
Date
()).
format
(
"
YYYY-MM-DD
"
),
],
],
searchName
:
undefined
,
},
current
:
1
,
size
:
10
,
total
:
0
,
pageSizeOptions
:
[
"
10
"
,
"
20
"
,
"
30
"
,
"
40
"
,
"
50
"
,
"
100
"
,
"
200
"
],
tableSelectedKeys
:
[],
tableSelectedRows
:
[],
tableSourceData
:
[],
};
};
},
},
components
:
{},
created
()
{
mounted
()
{
this
.
getOrderList
();
this
.
setMoment
();
},
for
(
let
key
=
0
;
key
<
20
;
key
++
)
{
methods
:
{
this
.
tableSourceData
.
push
({
// 获取报表数据
id
:
`00
${
key
+
1
}
`
,
async
getOrderList
(
search
=
{})
{
预约人姓名
:
`戴校庆
${
key
+
1
}
`
,
let
res
=
await
getOrderList
({
电话
:
`13880888834`
,
page
:
this
.
current
,
身份证
:
`512111198802301988`
,
size
:
this
.
size
,
事项主题名称
:
`生育证办理
${
key
+
1
}
`
,
...
this
.
searchForm
,
办理地点
:
`高新政务服务中心
${
key
+
1
}
`
,
...
search
,
预约编号
:
`UMII9876
${
key
+
1
}
`
,
});
预约时间
:
`2021-01-03 09:00:00~18:00:00`
,
if
(
res
.
code
==
1
)
{
签到时间
:
`2022-01-03 09:00:00`
,
let
{
data
,
total
}
=
res
.
data
;
取消时间
:
`2022-01-03 18:00:00`
,
if
(
!
data
.
length
&&
this
.
current
>
1
)
{
创建时间
:
`2021-01-03 09:00:00`
,
this
.
current
-=
1
;
状态
:
`未办理
${
key
+
1
}
`
,
this
.
getOrderList
();
}
this
.
tableSourceData
=
data
.
map
((
v
)
=>
{
delete
v
.
people
.
id
;
return
{
...
v
,
...
v
.
people
};
});
});
this
.
total
=
total
;
return
this
.
tableSourceData
;
}
}
},
},
methods
:
{
// 翻页
rangePickerChange
(
val
)
{
changePage
(
cur
)
{
console
.
log
(
val
);
this
.
current
=
cur
;
this
.
getOrderList
();
},
},
// 改变每页显示数量
QueueState
(
type
)
{
changSize
(
cur
,
size
)
{
switch
(
type
)
{
this
.
current
=
cur
;
case
0
:
this
.
size
=
size
;
return
"
type1
"
;
this
.
getOrderList
();
case
1
:
},
return
"
type2
"
;
// 搜索
handleSearch
()
{
default
:
this
.
current
=
1
;
return
"
type0
"
;
this
.
tableSelectedKeys
=
[];
}
this
.
tableSelectedRows
=
[];
this
.
getOrderList
();
},
},
openDetails
()
{
// 重置搜索
handleReset
()
{
this
.
current
=
1
;
this
.
tableSelectedKeys
=
[];
this
.
tableSelectedRows
=
[];
this
.
searchForm
=
{
status
:
""
,
title
:
""
,
time
:
[
this
.
$moment
(
new
Date
()).
format
(
"
YYYY-MM-DD
"
),
this
.
$moment
(
new
Date
()).
format
(
"
YYYY-MM-DD
"
),
],
};
this
.
getOrderList
();
},
// 选中
onSelectChange
(
keys
,
rows
)
{
this
.
tableSelectedKeys
=
keys
;
const
res
=
new
Map
();
this
.
tableSelectedRows
=
[...
this
.
tableSelectedRows
,
...
rows
]
.
filter
((
v
)
=>
{
return
!
res
.
has
(
v
.
id
)
&&
res
.
set
(
v
.
id
,
1
);
})
.
filter
((
v
)
=>
{
return
this
.
tableSelectedKeys
.
some
((
val
)
=>
v
.
id
==
val
);
});
},
openDetails
(
id
)
{
// 跳转详情
// 跳转详情
this
.
$router
.
push
({
path
:
"
/home/dataManagement/recordReportdetails
"
});
this
.
$router
.
push
({
path
:
"
/home/dataManagement/recordReportdetails
"
,
query
:
{
id
,
},
});
},
// 导出
async
handleExportTable
()
{
this
.
btnLoading
=
true
;
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
// 深度克隆避免影响页面表格展示
let
data
=
this
.
$_
.
cloneDeep
(
this
.
tableSelectedRows
);
for
(
let
item
of
data
)
{
Object
.
keys
(
this
.
statusItem
).
forEach
((
key
)
=>
{
if
(
item
.
status
==
key
)
{
item
.
status
=
this
.
statusItem
[
key
];
}
});
}
export2Excel
(
this
.
tHeader
,
this
.
filterVal
,
data
,
"
预约记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
}
else
{
let
data
=
this
.
$_
.
cloneDeep
(
await
this
.
getOrderList
({
page
:
1
,
size
:
-
1
})
);
if
(
!
data
.
length
)
return
;
for
(
let
item
of
data
)
{
Object
.
keys
(
this
.
statusItem
).
forEach
((
key
)
=>
{
if
(
item
.
status
==
key
)
{
item
.
status
=
this
.
statusItem
[
key
];
}
});
}
export2Excel
(
this
.
tHeader
,
this
.
filterVal
,
data
,
"
预约记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
}
this
.
btnLoading
=
false
;
},
},
},
},
};
};
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
/deep/.ant-spin-container {
/deep/.ant-spin-container {
display: block;
display: block;
}
}
/deep/.ant-tag {
cursor: pointer;
}
</
style
>
</
style
>
portal-manager-ui/admin/src/views/dataAdmin/components/makeRecordReport/recordReportdetails.vue
View file @
d65b22f3
...
@@ -8,50 +8,108 @@
...
@@ -8,50 +8,108 @@
<div
class=
"top"
>
<div
class=
"top"
>
<div
class=
"info"
>
<div
class=
"info"
>
<h1>
预约信息
</h1>
<h1>
预约信息
</h1>
<p><span>
预约编号:
</span>
A051511051332
</p>
<p><span>
预约编号:
</span>
{{
orderInfo
.
number
||
"
--
"
}}
</p>
<p><span>
预约人:
</span>
*黎
</p>
<p>
<p><span>
手机号:
</span>
13080888888
</p>
<span>
预约人:
</span
<p><span>
证件号码:
</span>
**********2112
</p>
>
{{
(
orderInfo
.
people
&&
orderInfo
.
people
.
idcard_Name
)
||
"
--
"
}}
<p><span>
预约时段:
</span>
2022-03-02 09:00:00
</p>
</p>
<p>
<span>
手机号:
</span
>
{{
(
orderInfo
.
people
&&
orderInfo
.
people
.
phone
)
||
"
--
"
}}
</p>
<p>
<span>
证件号码:
</span
>
{{
(
orderInfo
.
people
&&
orderInfo
.
people
.
idcard_IDCardNo
)
||
"
--
"
}}
</p>
<p>
<span>
预约时段:
</span>
{{
orderInfo
.
starttime
}}
~
{{
orderInfo
.
endtime
}}
</p>
</div>
</div>
<div
class=
"qrcode"
>
<div
class=
"qrcode"
>
<img
src=
"~@/assets/images/logo.png"
alt=
""
/>
<
!--
<
img
src=
"~@/assets/images/logo.png"
alt=
""
/>
<p>
预约信息二维码
</p>
<p>
预约信息二维码
</p>
-->
</div>
</div>
</div>
</div>
<ul
class=
"bottom"
>
<ul
class=
"bottom"
>
<li
v-for=
"
item of 4
"
>
<li
v-for=
"
(v, key) of orderStatus"
:key=
"key
"
>
<p>
0
{{
item
}}
</p>
<p>
0
{{
key
}}
</p>
<p>
预约状态
</p>
<p>
{{
v
}}
</p>
</li>
</li>
</ul>
</ul>
</div>
</div>
<div
class=
"right_"
>
<div
class=
"right_"
>
<div
class=
"box1"
>
<div
class=
"box1"
>
<div
class=
"left_"
>
<div
class=
"left_"
>
<h1>
生育业务
</h1>
<h1>
{{
orderInfo
.
business
||
"
--
"
}}
</h1>
<
p
v-for=
"item of 3"
>
事项1:生育证津贴办理
</p
>
<
!--
<p
v-for=
"item of 3"
>
事项1:生育证津贴办理
</p>
--
>
</div>
</div>
<div
class=
"right_"
>
<div
class=
"right_"
>
<span>
未签到
</span>
<span
class=
"status1"
v-if=
"orderInfo.status != 1"
>
未签到
</span>
<span
class=
"status2"
v-else
>
排队中
</span>
</div>
</div>
</div>
</div>
<div
class=
"box2"
>
<div
class=
"box2"
>
<h1>
办理地点
</h1>
<h1>
办理地点
</h1>
<h2><span
v-for=
"item of 3"
>
办理地点:xxx政务服务中心
</span></h2>
<h2>
<h2><span
v-for=
"item of 3"
>
办理地点:xxx政务服务中心
</span></h2>
<span
>
办理地点:
{{
orderInfo
.
siteinfo
&&
orderInfo
.
siteinfo
.
siteName
}}
</span
>
<span
>
办理窗口:
{{
(
orderInfo
.
window
&&
orderInfo
.
window
.
join
(
"
,
"
))
||
"
--
"
}}
</span
>
<span
>
服务热线:
{{
orderInfo
.
siteinfo
&&
orderInfo
.
siteinfo
.
siteTel
}}
</span
>
</h2>
<h2>
<span
>
办理时间:
{{
orderInfo
.
siteinfo
&&
Number
(
orderInfo
.
siteinfo
.
amWorkStartTime
)
|
times
}}
~
{{
orderInfo
.
siteinfo
&&
Number
(
orderInfo
.
siteinfo
.
pmWorkEndTime
)
|
times
}}
</span
>
<span
>
办理地址:
{{
orderInfo
.
siteinfo
&&
orderInfo
.
siteinfo
.
detailAddress
}}
</span
>
</h2>
</div>
</div>
<div
class=
"box3"
>
<div
class=
"box3"
>
<h1>
签到信息
</h1>
<h1>
签到信息
</h1>
<h2><span
v-for=
"item of 2"
>
签到时间:2022-08-03 09:00:00
</span></h2>
<h2>
<span>
签到时间:
{{
orderInfo
.
taketime
||
"
--
"
}}
</span>
</h2>
<h2>
<span
>
签到地址:
{{
orderInfo
.
siteinfo
&&
orderInfo
.
siteinfo
.
detailAddress
}}
</span
>
</h2>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"footer"
>
<div
class=
"footer"
>
<h1>
操作信息
</h1>
<h1>
操作信息
</h1>
<h2>
<h2>
<span>
操作时间:
2021-08-02 16:00:00
</span>
<span>
操作时间:
{{
orderInfo
.
create_time
}}
</span>
<span>
预约方式:
手机端预约系统
</span>
<span>
预约方式:
--
</span>
<span>
操作站点:--
</span>
<span>
操作站点:--
</span>
</h2>
</h2>
</div>
</div>
...
@@ -59,16 +117,41 @@
...
@@ -59,16 +117,41 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
getOrderinfo
}
from
"
@/api/dataAdmin
"
;
let
orderStatus
=
{
1
:
"
预约成功
"
,
2
:
"
签到成功
"
,
3
:
"
办理中
"
,
4
:
"
完成
"
,
};
let
statusItem
=
{
0
:
"
预约中
"
,
1
:
"
成功取号
"
,
2
:
"
超时未取号
"
,
3
:
"
预约取消
"
,
};
export
default
{
export
default
{
name
:
"
PortalAdminVueRecordReportdetails
"
,
name
:
"
PortalAdminVueRecordReportdetails
"
,
data
()
{
data
()
{
return
{};
return
{
orderStatus
,
statusItem
,
orderInfo
:
{},
// 预约信息
};
},
},
mounted
()
{},
created
()
{
this
.
getOrderinfo
();
},
methods
:
{},
methods
:
{
async
getOrderinfo
()
{
let
id
=
this
.
$route
.
query
.
id
;
let
res
=
await
getOrderinfo
({
id
});
this
.
orderInfo
=
res
.
data
;
console
.
log
(
res
.
data
);
},
},
};
};
</
script
>
</
script
>
...
@@ -236,13 +319,23 @@ export default {
...
@@ -236,13 +319,23 @@ export default {
width: 100px;
width: 100px;
line-height: 100px;
line-height: 100px;
text-align: center;
text-align: center;
border: 1px solid #fe8625;
border-radius: 50%;
border-radius: 50%;
color: #fe8625;
font-weight: bold;
font-weight: bold;
-webkit-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transform: rotate(45deg);
}
}
.status1 {
color: #fe8625;
border: 1px solid #fe8625;
}
.status2 {
color: #1890ff;
border: 1px solid #1890ff;
}
.status3 {
color: #03d76f;
border: 1px solid #03d76f;
}
}
}
}
}
.box2 {
.box2 {
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/callRecord.vue
View file @
d65b22f3
...
@@ -458,7 +458,9 @@ export default {
...
@@ -458,7 +458,9 @@ export default {
4
:
"
办理完成
"
,
4
:
"
办理完成
"
,
};
};
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
this
.
tableSelectedRows
.
forEach
((
item
)
=>
{
// 深度克隆避免影响页面表格展示
let
data
=
this
.
$_
.
cloneDeep
(
this
.
tableSelectedRows
);
data
.
forEach
((
item
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
if
(
item
.
style
==
keys
)
{
if
(
item
.
style
==
keys
)
{
item
.
style
=
obj
[
keys
];
item
.
style
=
obj
[
keys
];
...
@@ -468,14 +470,16 @@ export default {
...
@@ -468,14 +470,16 @@ export default {
export2Excel
(
export2Excel
(
this
.
tHeader
,
this
.
tHeader
,
this
.
filterVal
,
this
.
filterVal
,
this
.
tableSelectedRows
,
data
,
"
呼叫记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
"
呼叫记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
);
}
else
{
}
else
{
let
data
=
await
this
.
getCallQueListArr
({
let
data
=
this
.
$_
.
cloneDeep
(
await
this
.
getCallQueListArr
({
page
:
1
,
page
:
1
,
size
:
-
1
,
size
:
-
1
,
});
})
);
if
(
!
data
.
length
)
return
;
if
(
!
data
.
length
)
return
;
for
(
let
item
of
data
)
{
for
(
let
item
of
data
)
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/queueRecord.vue
View file @
d65b22f3
...
@@ -452,7 +452,9 @@ export default {
...
@@ -452,7 +452,9 @@ export default {
4
:
"
办理完成
"
,
4
:
"
办理完成
"
,
};
};
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
this
.
tableSelectedRows
.
forEach
((
item
)
=>
{
// 深度克隆避免影响页面表格展示
let
data
=
this
.
$_
.
cloneDeep
(
this
.
tableSelectedRows
);
data
.
forEach
((
item
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
if
(
item
.
style
==
keys
)
{
if
(
item
.
style
==
keys
)
{
item
.
style
=
obj
[
keys
];
item
.
style
=
obj
[
keys
];
...
@@ -462,11 +464,13 @@ export default {
...
@@ -462,11 +464,13 @@ export default {
export2Excel
(
export2Excel
(
this
.
tHeader
,
this
.
tHeader
,
this
.
filterVal
,
this
.
filterVal
,
this
.
tableSelectedRows
,
data
,
"
排队记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
"
排队记录报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
);
}
else
{
}
else
{
let
data
=
await
this
.
getQueueDataArr
({
page
:
1
,
size
:
-
1
});
let
data
=
this
.
$_
.
cloneDeep
(
await
this
.
getQueueDataArr
({
page
:
1
,
size
:
-
1
})
);
if
(
!
data
.
length
)
return
;
if
(
!
data
.
length
)
return
;
for
(
let
item
of
data
)
{
for
(
let
item
of
data
)
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
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 comment