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
08e8bbd6
Commit
08e8bbd6
authored
Aug 02, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
42df1ba3
73277e5e
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
483 additions
and
400 deletions
+483
-400
base-manager-ui/admin/src/pages/basicset/workman/personnel.vue
...manager-ui/admin/src/pages/basicset/workman/personnel.vue
+10
-1
portal-manager-ui/admin/src/views/dataActuary/business/analysiscontent/index.vue
.../src/views/dataActuary/business/analysiscontent/index.vue
+5
-4
portal-manager-ui/admin/src/views/dataAdmin/components/AIEfficiency/reportForm.vue
...rc/views/dataAdmin/components/AIEfficiency/reportForm.vue
+52
-61
portal-manager-ui/admin/src/views/dataAdmin/components/easyPoliticsShow/PoliticsShow.vue
...ws/dataAdmin/components/easyPoliticsShow/PoliticsShow.vue
+310
-277
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/departmentEvaluation.vue
...omponents/evaluationRecordReport/departmentEvaluation.vue
+2
-2
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/windowEvaluation.vue
...in/components/evaluationRecordReport/windowEvaluation.vue
+1
-1
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/callRecord.vue
...n/src/views/dataAdmin/components/queueCall/callRecord.vue
+65
-24
portal-manager-ui/admin/src/views/dataAdmin/dataAdmin.vue
portal-manager-ui/admin/src/views/dataAdmin/dataAdmin.vue
+19
-17
portal-manager-ui/admin/src/views/siteArrange/siteArrange.vue
...al-manager-ui/admin/src/views/siteArrange/siteArrange.vue
+19
-13
No files found.
base-manager-ui/admin/src/pages/basicset/workman/personnel.vue
View file @
08e8bbd6
...
...
@@ -400,6 +400,7 @@ export default {
siteId
:
local
.
getLocal
(
"
siteId
"
),
deptData
:
[],
// 部门数据
windowData
:
[],
// 窗口数据
windowFilterData
:
[],
// 过滤工作人员所属窗口数据
WorkmanData
:
[],
// 工作人员列表
deptSearch
:
""
,
//部门搜索
windowSearch
:
""
,
// 窗口搜索
...
...
@@ -445,6 +446,9 @@ export default {
});
let
{
data
}
=
res
.
data
.
data
;
this
.
windowData
=
data
;
if
(
!
this
.
deptSearch
)
{
this
.
windowFilterData
=
data
;
}
},
// 获取工作人员列表
async
getWorkmanData
(
search
=
{})
{
...
...
@@ -639,7 +643,12 @@ export default {
},
// 过滤窗口
filterWindow
(
id
)
{
return
this
.
windowData
.
find
((
v
)
=>
v
.
id
==
id
).
fromnum
;
let
fromnum
=
"
--
"
;
let
row
=
this
.
windowFilterData
.
find
((
v
)
=>
v
.
id
==
id
);
if
(
row
)
{
fromnum
=
row
.
fromnum
;
}
return
fromnum
;
},
},
};
...
...
portal-manager-ui/admin/src/views/dataActuary/business/analysiscontent/index.vue
View file @
08e8bbd6
...
...
@@ -118,8 +118,9 @@ import {getBusInfoById} from '@/api/dataActuary.js'
}
},
methods
:
{
async
getAnalysisData
()
{
const
res
=
await
getBusInfoById
({
busid
:
this
.
checkId
,
siteid
:
localStorage
.
getItem
(
'
siteId
'
)
})
async
getAnalysisData
(
selected
)
{
let
pramse
=
(
selected
||
selected
===
0
||
selected
===
'
0
'
)?{
busid
:
this
.
checkId
,
siteid
:
localStorage
.
getItem
(
'
siteId
'
),
selected
:
selected
}:{
busid
:
this
.
checkId
,
siteid
:
localStorage
.
getItem
(
'
siteId
'
)
}
const
res
=
await
getBusInfoById
(
pramse
)
if
(
res
.
code
==
1
){
if
(
res
.
data
.
phone
)
this
.
testWay
.
push
(
'
手机号
'
)
if
(
res
.
data
.
idcardtake
)
this
.
testWay
.
push
(
'
身份证
'
)
...
...
@@ -136,8 +137,8 @@ import {getBusInfoById} from '@/api/dataActuary.js'
}
}
},
handleChange
(){
this
.
getAnalysisData
()
handleChange
(
e
){
this
.
getAnalysisData
(
e
)
}
},
}
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/AIEfficiency/reportForm.vue
View file @
08e8bbd6
...
...
@@ -12,28 +12,20 @@
v-model=
"checkboxVALUE"
@
change=
"checkboxonChange"
/>
<a-input
allowClear
v-model=
"Query.workman_name"
placeholder=
"请输入工作人员姓名查询 "
>
<a-input
allowClear
v-model=
"Query.workman_name"
placeholder=
"请输入工作人员姓名查询 "
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-select
v-model=
"Query.window_id"
placeholder=
"请选择窗口"
>
<a-select-option
value
=
""
>
全部
</a-select-option>
<a-select-option
value
>
全部
</a-select-option>
<a-select-option
v-for=
"(item, index) of windowData"
:key=
"index"
:value=
"item.id"
>
{{
item
.
englishName
}}
-
{{
item
.
fromnum
}}
</a-select-option>
>
{{
item
.
englishName
}}
-
{{
item
.
fromnum
}}
</a-select-option>
</a-select>
<a-select
v-model=
"Query.warn_alert"
placeholder=
"请选择类型"
>
<a-select-option
value=
""
>
全部
</a-select-option>
<a-select-option
v-for=
"(item, i) in warn_alert"
:key=
"i"
:value=
"i"
>
{{
item
}}
</a-select-option>
<a-select-option
value
>
全部
</a-select-option>
<a-select-option
v-for=
"(item, i) in warn_alert"
:key=
"i"
:value=
"i"
>
{{
item
}}
</a-select-option>
</a-select>
<a-range-picker
...
...
@@ -41,12 +33,9 @@
valueFormat=
"yyyy-MM-DD"
class=
"range_picker_style"
v-model=
"Query.time"
>
</a-range-picker>
></a-range-picker>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"onGetKqalert"
>
搜索
</a-button
>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"onGetKqalert"
>
搜索
</a-button>
</span>
</div>
<div
class=
"main"
>
...
...
@@ -66,9 +55,7 @@
:dataSource="tableSourceData"
>
<template
slot=
"operation"
slot-scope=
"text, record"
>
<a-button
type=
"link"
@
click=
"openDetails"
>
查看详情
{{
record
.
id
}}
</a-button
>
<a-button
type=
"link"
@
click=
"openDetails"
>
查看详情
{{
record
.
id
}}
</a-button>
</
template
>
</a-table>
</div>
...
...
@@ -86,7 +73,7 @@ const warn_alert = {
2
:
"
离开
"
,
4
:
"
玩手机
"
,
5
:
"
扶头
"
,
6
:
"
趴桌
"
,
6
:
"
趴桌
"
};
const
tHeader
=
[
"
序号
"
,
...
...
@@ -110,7 +97,7 @@ const filterVal = [
"
out_time
"
,
"
duration
"
,
"
isaccuracy
"
,
"
have_process_name
"
,
"
have_process_name
"
];
export
default
{
mixins
:
[
table
],
...
...
@@ -124,15 +111,15 @@ export default {
warn_alert
:
""
,
//1离岗,2离开 4:玩手机 5:扶头 6:趴桌
window_id
:
""
,
//窗口ID
workman_name
:
""
,
//工作人员姓名
time
:
[
moment
().
format
(
"
YYYY-MM-DD
"
),
moment
().
format
(
"
YYYY-MM-DD
"
)]
,
// 时间区间
time
:
[
moment
().
format
(
"
YYYY-MM-DD
"
),
moment
().
format
(
"
YYYY-MM-DD
"
)]
// 时间区间
},
//查询条件
checkboxVALUE
:
[],
BegindAndEndTime
:
[],
checkboxOptions
:
[
{
label
:
"
只看未处理
"
,
value
:
"
0
"
,
}
,
value
:
"
0
"
}
],
tableHeaders
:
[
{
...
...
@@ -141,54 +128,54 @@ export default {
width
:
"
60px
"
,
key
:
"
index
"
,
align
:
"
center
"
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
index
+
1
}
`
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
index
+
1
}
`
},
{
title
:
"
报警类型
"
,
dataIndex
:
"
warn_alert
"
,
customRender
:
(
text
,
record
)
=>
warn_alert
[
text
]
,
customRender
:
(
text
,
record
)
=>
warn_alert
[
text
]
},
{
title
:
"
发生窗口
"
,
dataIndex
:
"
window_name
"
,
customRender
:
(
text
,
record
)
=>
(
text
?
text
:
"
--
"
)
,
customRender
:
(
text
,
record
)
=>
(
text
?
text
:
"
--
"
)
},
{
title
:
"
工作人员
"
,
dataIndex
:
"
workman_name
"
,
customRender
:
(
text
,
record
)
=>
(
text
?
text
:
"
--
"
)
,
customRender
:
(
text
,
record
)
=>
(
text
?
text
:
"
--
"
)
},
{
title
:
"
所属部门
"
,
dataIndex
:
"
section_name
"
,
customRender
:
(
text
,
record
)
=>
(
text
?
text
:
"
--
"
)
,
customRender
:
(
text
,
record
)
=>
(
text
?
text
:
"
--
"
)
},
{
title
:
"
手机号
"
,
dataIndex
:
"
workman_phone
"
,
customRender
:
(
text
,
record
)
=>
(
text
?
text
:
"
--
"
)
,
customRender
:
(
text
,
record
)
=>
(
text
?
text
:
"
--
"
)
},
{
title
:
"
发生时间
"
,
dataIndex
:
"
out_time
"
,
customRender
:
(
text
,
record
)
=>
text
?
this
.
timestampToTime
(
text
)
:
"
--
"
,
text
?
this
.
timestampToTime
(
text
)
:
"
--
"
},
{
title
:
"
时长
"
,
dataIndex
:
"
duration
"
,
customRender
:
(
text
,
record
)
=>
(
text
?
text
:
"
--
"
)
,
customRender
:
(
text
,
record
)
=>
(
text
?
text
:
"
--
"
)
},
{
title
:
"
是否准确
"
,
dataIndex
:
"
isaccuracy
"
,
customRender
:
(
text
,
record
)
=>
(
text
==
1
?
"
准确
"
:
"
--
"
)
,
customRender
:
(
text
,
record
)
=>
(
text
==
1
?
"
准确
"
:
"
--
"
)
},
{
title
:
"
是否处理
"
,
dataIndex
:
"
have_process_name
"
,
customRender
:
(
text
,
record
)
=>
(
text
?
text
:
"
--
"
)
,
}
,
customRender
:
(
text
,
record
)
=>
(
text
?
text
:
"
--
"
)
}
// {
// title: "操作",
// align: "center",
...
...
@@ -199,7 +186,7 @@ export default {
// },
// },
],
searchName
:
undefined
,
searchName
:
undefined
};
},
components
:
{},
...
...
@@ -211,7 +198,7 @@ export default {
methods
:
{
// 时间戳转换为日期
timestampToTime
(
timestamp
)
{
var
date
=
new
Date
(
timestamp
*
1000
);
var
date
=
new
Date
(
timestamp
*
1000
);
var
Y
=
date
.
getFullYear
()
+
"
-
"
;
var
M
=
(
date
.
getMonth
()
+
1
<
10
...
...
@@ -235,34 +222,38 @@ export default {
await
getKqalert
({
...
this
.
Query
,
page
:
1
,
size
:
-
1
,
size
:
-
1
})
);
data
=
datas
.
data
.
data
;
data
.
forEach
((
text
,
i
)
=>
{
text
.
index
=
i
+
1
;
text
.
isaccuracy
=
text
.
isaccuracy
==
1
?
"
准确
"
:
"
--
"
;
text
.
out_time
=
text
.
out_time
?
this
.
timestampToTime
(
text
.
out_time
)
:
"
--
"
;
});
if
(
!
data
.
length
)
return
;
export2Excel
(
tHeader
,
filterVal
,
data
,
"
AI效能监察异常行为数据报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
}
data
.
forEach
((
text
,
i
)
=>
{
text
.
index
=
i
+
1
;
text
.
isaccuracy
=
text
.
isaccuracy
==
1
?
"
准确
"
:
"
--
"
;
text
.
out_time
=
text
.
out_time
?
this
.
timestampToTime
(
text
.
out_time
)
:
"
--
"
;
});
// debugger
console
.
log
(
data
,
11111
);
if
(
!
data
.
length
)
return
;
export2Excel
(
tHeader
,
filterVal
,
data
,
"
AI效能监察异常行为数据报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
},
// 报表接口
onGetKqalert
()
{
getKqalert
({
...
this
.
Query
,
page
:
this
.
tablePagination
.
current
,
size
:
this
.
tablePagination
.
pageSize
,
}).
then
(
(
res
)
=>
{
size
:
this
.
tablePagination
.
pageSize
}).
then
(
res
=>
{
const
{
code
,
data
}
=
res
;
if
(
code
==
1
)
{
this
.
tableSourceData
=
data
.
data
;
...
...
@@ -275,8 +266,8 @@ export default {
windowList
({
page
:
1
,
size
:
-
1
,
siteId
:
JSON
.
parse
(
localStorage
.
getItem
(
"
siteId
"
))
,
}).
then
(
(
res
)
=>
{
siteId
:
JSON
.
parse
(
localStorage
.
getItem
(
"
siteId
"
))
}).
then
(
res
=>
{
const
{
code
,
data
}
=
res
;
if
(
code
==
1
)
{
this
.
windowData
=
data
.
data
;
...
...
@@ -308,8 +299,8 @@ export default {
default
:
return
"
type0
"
;
}
}
,
}
,
}
}
};
</
script
>
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/easyPoliticsShow/PoliticsShow.vue
View file @
08e8bbd6
<
template
>
<div
class=
"PoliticsShow-Container"
>
<div
class=
"header_box"
>
<div>
<a-button
:loading=
"btnLoading"
type=
"primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
<b>
用户总数:
<i>
{{
tableData
.
total
}}
人
</i></b>
<b>
试用客户:
<i>
{{
tableData
.
trial
}}
人
</i></b>
<b>
VIP:
<i>
{{
tableData
.
vip
}}
人
</i></b>
<b>
设计师:
<i>
{{
tableData
.
designer
}}
人
</i></b>
<b>
图片作品数:
<i>
{{
tableData
.
picturesCount
}}
个
</i></b>
<b>
视频作品数:
<i>
{{
tableData
.
videosCount
}}
个
</i></b>
</div>
<span
class=
"topBoxFlex"
>
<a-input
allowClear
v-model=
"searchForm.query"
placeholder=
"请输入用户姓名/手机号搜索"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-select
v-model=
"searchForm.memberLevel"
>
<a-select-option
value=
""
>
全部
</a-select-option>
<a-select-option
v-for=
"(item, index) of levelList"
:key=
"index"
:value=
"index"
>
{{
item
}}
</a-select-option>
</a-select>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getList"
>
搜索
</a-button>
</span>
</div>
<div
class=
"main"
>
<a-table
size=
"small"
bordered
:row-key=
"(record) => record.id"
:row-selection=
"
{
selectedRowKeys: tableSelectedKeys,
onChange: onSelectChange,
}" :scroll="{ y: 590 }" :pagination="tablePagination" @change="pagTableChange" :loading="tableLoading"
:columns="tableHeaders" :dataSource="tableList">
<template
slot=
"zhenshixingming"
slot-scope=
"text, record, index"
>
<a-button
type=
"link"
@
click=
"openUserDetails(record)"
>
{{
text
?
text
:
'
--
'
}}
</a-button>
</
template
>
<
template
slot=
"tupianzuopinshuliang"
slot-scope=
"text, record, index"
>
<a-button
type=
"link"
@
click=
"openPicWorks(record.id)"
>
{{
(
text
||
text
==
0
)?
text
:
'
--
'
}}
</a-button>
</
template
>
</a-table>
<PicWorks
ref=
"PicWorks"
/>
<UserDetails
ref=
"UserDetails"
@
openPicWorks=
"openPicWorks"
/>
</div>
</div>
<div
class=
"PoliticsShow-Container"
>
<div
class=
"header_box"
>
<div>
<a-button
:loading=
"btnLoading"
type=
"primary"
class=
"addclass"
@
click=
"handleExportTable"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
<b
>
用户总数:
<i>
{{
tableData
.
total
}}
人
</i></b
>
<b
>
试用客户:
<i>
{{
tableData
.
trial
}}
人
</i></b
>
<!--
<b>
VIP:
<i>
{{
tableData
.
vip
}}
人
</i></b>
-->
<b
>
设计师:
<i>
{{
tableData
.
designer
}}
人
</i></b
>
<b
>
图片作品数:
<i>
{{
tableData
.
picturesCount
}}
个
</i></b
>
<b
>
视频作品数:
<i>
{{
tableData
.
videosCount
}}
个
</i></b
>
</div>
<span
class=
"topBoxFlex"
>
<a-space>
<a-input
allowClear
v-model=
"searchForm.query"
placeholder=
"请输入用户姓名/手机号搜索"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-select
v-model=
"searchForm.memberLevel"
>
<a-select-option
value=
""
>
全部
</a-select-option>
<a-select-option
v-for=
"(item, index) of levelList"
:key=
"index"
:value=
"index"
>
{{
item
}}
</a-select-option>
</a-select>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"getList"
>
搜索
</a-button
>
</a-space>
</span>
</div>
<div
class=
"main"
>
<a-table
size=
"small"
bordered
:row-key=
"(record) => record.id"
:row-selection=
"
{
selectedRowKeys: tableSelectedKeys,
onChange: onSelectChange,
}"
:scroll="{ y: 590 }"
:pagination="tablePagination"
@change="pagTableChange"
:loading="tableLoading"
:columns="tableHeaders"
:dataSource="tableList"
>
<template
slot=
"zhenshixingming"
slot-scope=
"text, record"
>
<a-button
type=
"link"
@
click=
"openUserDetails(record)"
>
{{
text
?
text
:
"
--
"
}}
</a-button>
</
template
>
<
template
slot=
"tupianzuopinshuliang"
slot-scope=
"text, record"
>
<a-button
type=
"link"
@
click=
"openPicWorks(record.id)"
>
{{
text
||
text
==
0
?
text
:
"
--
"
}}
</a-button>
</
template
>
</a-table>
<PicWorks
ref=
"PicWorks"
/>
<UserDetails
ref=
"UserDetails"
@
openPicWorks=
"openPicWorks"
/>
</div>
</div>
</template>
<
script
>
...
...
@@ -53,244 +90,240 @@ import table from "@/mixins/table";
import
UserDetails
from
"
./components/UserDetails.vue
"
;
import
PicWorks
from
"
./components/PicWorks.vue
"
;
import
{
export2Excel
}
from
"
@/utils/js/exportExcel
"
;
import
{
getCustomer
}
from
"
@/api/customer
"
;
import
{
getCustomer
}
from
"
@/api/customer
"
;
const
levelList
=
{
0
:
'
未开启
'
,
1
:
'
试用客户
'
,
2
:
'
VIP
'
,
3
:
'
设计师
'
}
0
:
"
未开启
"
,
1
:
"
试用客户
"
,
// 2: "VIP"
,
3
:
"
设计师
"
,
}
;
export
default
{
mixins
:
[
table
],
name
:
"
PortalAdminVuePoliticsShow
"
,
data
()
{
return
{
btnLoading
:
false
,
levelList
:
levelList
,
tableList
:
[],
tableData
:
{},
searchForm
:
{
query
:
""
,
//姓名手机号查询条件
memberLevel
:
""
,
//会员等级查询条件
customerSrc
:
""
,
//客户来源查询条件
},
tableHeaders
:
[{
title
:
"
序号
"
,
dataIndex
:
"
index
"
,
width
:
"
60p
x
"
,
key
:
"
inde
x
"
,
align
:
"
center
"
,
customRender
:
(
text
,
record
,
index
)
=>
`
${
index
+
1
}
`
,
},
{
title
:
"
真实姓名
"
,
align
:
"
center
"
,
dataIndex
:
"
custName
"
,
scopedSlots
:
{
customRender
:
"
zhenshixingming
"
,
}
,
}
,
{
title
:
"
联系电话
"
,
align
:
"
center
"
,
dataIndex
:
"
contactTelphone
"
,
customRender
:
(
text
)
=>
`
${
text
?
text
:
'
--
'
}
`
,
}
,
{
title
:
"
单位名称
"
,
align
:
"
center
"
,
dataIndex
:
"
organization
"
,
customRender
:
(
text
)
=>
`
${
text
?
text
:
'
--
'
}
`
,
}
,
{
title
:
"
图片作品数量
"
,
align
:
"
center
"
,
dataIndex
:
"
customerDesignPictures
"
,
scopedSlots
:
{
customRender
:
"
tupianzuopinshuliang
"
,
}
,
}
,
{
title
:
"
视频作品数量
"
,
align
:
"
center
"
,
dataIndex
:
"
customerDesignVideos
"
,
customRender
:
(
text
)
=>
`
${(
text
||
text
==
0
)?
text
:
'
--
'
}
`
,
}
,
{
title
:
"
会员等级
"
,
align
:
"
center
"
,
dataIndex
:
"
memberLevel
"
,
customRender
:
(
text
,
record
,
index
)
=>
levelList
[
text
],
}
,
{
title
:
"
最近登录时间
"
,
align
:
"
center
"
,
dataIndex
:
"
lastLoginTime
"
,
customRender
:
(
text
)
=>
`
${
text
?
text
:
'
--
'
}
`
,
}
,
{
title
:
"
使用状态
"
,
align
:
"
center
"
,
dataIndex
:
"
status
"
,
customRender
:
(
text
,
record
,
index
)
=>
text
==
1
?
'
正常
'
:
'
禁用
'
,
}
,
]
,
searchName
:
undefined
,
tablePagination
:{
current
:
1
,
pageSize
:
10
}
,
tableSelectedKeys
:[],
tableSelectedRows
:[]
,
tHeader
:
[
// 导出的表头名信息
"
真实姓名
"
,
"
联系电话
"
,
"
单位名称
"
,
"
图片作品数量
"
,
"
视频作品数量
"
,
"
会员等级
"
,
"
最近登录时间
"
,
"
使用状态
"
,
]
,
filterVal
:
[
// 导出的表头字段名,需要导出表格字段名
"
custName
"
,
"
contactTelphone
"
,
"
organization
"
,
"
customerDesignPictures
"
,
"
customerDesignVideos
"
,
"
memberLevel
"
,
"
lastLoginTime
"
,
"
status
"
]
,
};
}
,
components
:
{
UserDetails
,
PicWorks
,
},
mounted
()
{
this
.
setMoment
();
}
,
created
()
{
this
.
getList
();
},
methods
:
{
// 获取列表数据
async
getList
(
search
=
{})
{
let
res
=
await
getCustomer
({
page
:
this
.
tablePagination
.
current
,
size
:
this
.
tablePagination
.
pageSize
,
...
this
.
searchForm
,
...
search
,
});
if
(
res
.
code
==
1
)
{
let
{
data
,
total
,
pageInfo
}
=
res
.
data
;
mixins
:
[
table
],
name
:
"
PortalAdminVuePoliticsShow
"
,
data
()
{
return
{
btnLoading
:
false
,
levelList
:
levelList
,
tableList
:
[],
tableData
:
{},
searchForm
:
{
query
:
""
,
//姓名手机号查询条件
memberLevel
:
""
,
//会员等级查询条件
customerSrc
:
""
,
//客户来源查询条件
},
tableHeaders
:
[
{
title
:
"
序号
"
,
dataIndex
:
"
inde
x
"
,
width
:
"
60p
x
"
,
key
:
"
index
"
,
align
:
"
center
"
,
customRender
:
(
text
,
record
,
index
)
=>
(
this
.
tablePagination
.
current
-
1
)
*
this
.
tablePagination
.
pageSize
+
index
+
1
,
}
,
{
title
:
"
真实姓名
"
,
align
:
"
center
"
,
dataIndex
:
"
custName
"
,
scopedSlots
:
{
customRender
:
"
zhenshixingming
"
,
}
,
}
,
{
title
:
"
联系电话
"
,
align
:
"
center
"
,
dataIndex
:
"
contactTelphone
"
,
customRender
:
(
text
)
=>
`
${
text
?
text
:
"
--
"
}
`
,
}
,
{
title
:
"
单位名称
"
,
align
:
"
center
"
,
dataIndex
:
"
organization
"
,
customRender
:
(
text
)
=>
`
${
text
?
text
:
"
--
"
}
`
,
}
,
{
title
:
"
图片作品数量
"
,
align
:
"
center
"
,
dataIndex
:
"
customerDesignPictures
"
,
scopedSlots
:
{
customRender
:
"
tupianzuopinshuliang
"
,
}
,
}
,
{
title
:
"
视频作品数量
"
,
align
:
"
center
"
,
dataIndex
:
"
customerDesignVideos
"
,
customRender
:
(
text
)
=>
`
${
text
||
text
==
0
?
text
:
"
--
"
}
`
,
}
,
{
title
:
"
会员等级
"
,
align
:
"
center
"
,
dataIndex
:
"
memberLevel
"
,
customRender
:
(
text
,
record
,
index
)
=>
levelList
[
text
]
,
}
,
{
title
:
"
最近登录时间
"
,
align
:
"
center
"
,
dataIndex
:
"
lastLoginTime
"
,
customRender
:
(
text
)
=>
`
${
text
?
text
:
"
--
"
}
`
,
}
,
{
title
:
"
使用状态
"
,
align
:
"
center
"
,
dataIndex
:
"
status
"
,
customRender
:
(
text
,
record
,
index
)
=>
(
text
==
1
?
"
正常
"
:
"
禁用
"
),
}
,
],
searchName
:
undefined
,
tablePagination
:
{
current
:
1
,
pageSize
:
10
,
},
tableSelectedKeys
:
[]
,
tableSelectedRows
:
[]
,
tHeader
:
[
// 导出的表头名信息
"
真实姓名
"
,
"
联系电话
"
,
"
单位名称
"
,
"
图片作品数量
"
,
"
视频作品数量
"
,
"
会员等级
"
,
"
最近登录时间
"
,
"
使用状态
"
,
]
,
filterVal
:
[
// 导出的表头字段名,需要导出表格字段名
"
custName
"
,
"
contactTelphone
"
,
"
organization
"
,
"
customerDesignPictures
"
,
"
customerDesignVideos
"
,
"
memberLevel
"
,
"
lastLoginTime
"
,
"
status
"
,
]
,
};
},
components
:
{
UserDetails
,
PicWorks
,
},
mounted
()
{
this
.
setMoment
();
},
created
()
{
this
.
getList
();
},
methods
:
{
// 获取列表数据
async
getList
(
search
=
{})
{
let
res
=
await
getCustomer
({
page
:
this
.
tablePagination
.
current
,
size
:
this
.
tablePagination
.
pageSize
,
...
this
.
searchForm
,
...
search
,
});
if
(
res
.
code
==
1
)
{
let
{
data
,
total
,
pageInfo
}
=
res
.
data
;
this
.
tableList
=
data
;
this
.
tableData
=
res
.
data
this
.
tablePagination
.
total
=
total
;
return
data
}
},
//分页
pagTableChange
(
page
)
{
this
.
tablePagination
.
current
=
page
.
current
this
.
tablePagination
.
pageSize
=
page
.
pageSize
this
.
getList
();
},
// 选中
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
);
});
},
// 导出
async
handleExportTable
()
{
this
.
btnLoading
=
true
;
let
obj
=
{
1
:
"
正常
"
,
2
:
"
禁用
"
,
};
let
data
=
[]
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
// 深度克隆避免影响页面表格展示
data
=
this
.
$_
.
cloneDeep
(
this
.
tableSelectedRows
);
data
.
forEach
((
item
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
if
(
item
.
status
==
keys
)
{
item
.
status
=
obj
[
keys
];
}
});
});
export2Excel
(
this
.
tHeader
,
this
.
filterVal
,
data
,
"
易政秀报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
}
else
{
data
=
this
.
$_
.
cloneDeep
(
await
this
.
getList
({
page
:
1
,
size
:
-
1
})
);
if
(
!
data
.
length
)
return
;
for
(
let
item
of
data
)
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
if
(
item
.
status
==
key
)
{
item
.
status
=
obj
[
key
];
}
});
}
export2Excel
(
this
.
tHeader
,
this
.
filterVal
,
data
,
"
易政秀报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
}
this
.
btnLoading
=
false
;
},
QueueState
(
type
)
{
switch
(
type
)
{
case
0
:
return
"
type1
"
;
case
1
:
return
"
type2
"
;
this
.
tableList
=
data
;
this
.
tableData
=
res
.
data
;
this
.
tablePagination
.
total
=
total
;
return
data
;
}
},
//分页
pagTableChange
(
page
)
{
this
.
tablePagination
.
current
=
page
.
current
;
this
.
tablePagination
.
pageSize
=
page
.
pageSize
;
this
.
getList
();
},
// 选中
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
);
});
},
// 导出
async
handleExportTable
()
{
this
.
btnLoading
=
true
;
let
obj
=
{
1
:
"
正常
"
,
2
:
"
禁用
"
,
};
let
data
=
[];
if
(
this
.
tableSelectedKeys
.
length
&&
this
.
tableSelectedRows
.
length
)
{
// 深度克隆避免影响页面表格展示
data
=
this
.
$_
.
cloneDeep
(
this
.
tableSelectedRows
);
data
.
forEach
((
item
)
=>
{
Object
.
keys
(
obj
).
forEach
((
keys
)
=>
{
if
(
item
.
status
==
keys
)
{
item
.
status
=
obj
[
keys
];
}
});
});
export2Excel
(
this
.
tHeader
,
this
.
filterVal
,
data
,
"
易政秀报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
}
else
{
data
=
this
.
$_
.
cloneDeep
(
await
this
.
getList
({
page
:
1
,
size
:
-
1
}));
if
(
!
data
.
length
)
return
;
for
(
let
item
of
data
)
{
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
if
(
item
.
status
==
key
)
{
item
.
status
=
obj
[
key
];
}
});
}
export2Excel
(
this
.
tHeader
,
this
.
filterVal
,
data
,
"
易政秀报表
"
+
this
.
$moment
().
format
(
"
YYYYMMDDHHmmss
"
)
);
}
this
.
btnLoading
=
false
;
},
QueueState
(
type
)
{
switch
(
type
)
{
case
0
:
return
"
type1
"
;
case
1
:
return
"
type2
"
;
default
:
return
"
type0
"
;
}
},
openPicWorks
(
id
)
{
this
.
$refs
.
PicWorks
.
modalInfo
.
title
=
"
作品数量
"
;
this
.
$refs
.
PicWorks
.
modalInfo
.
visible
=
true
;
this
.
$refs
.
PicWorks
.
modalInfo
.
width
=
"
32%
"
;
this
.
$refs
.
PicWorks
.
modalInfo
.
id
=
id
},
openUserDetails
(
record
)
{
this
.
$refs
.
UserDetails
.
modalInfo
.
title
=
"
客户详情
"
;
this
.
$refs
.
UserDetails
.
modalInfo
.
visible
=
true
;
this
.
$refs
.
UserDetails
.
modalInfo
.
record
=
record
;
},
},
default
:
return
"
type0
"
;
}
},
openPicWorks
(
id
)
{
this
.
$refs
.
PicWorks
.
modalInfo
.
title
=
"
作品数量
"
;
this
.
$refs
.
PicWorks
.
modalInfo
.
visible
=
true
;
this
.
$refs
.
PicWorks
.
modalInfo
.
width
=
"
32%
"
;
this
.
$refs
.
PicWorks
.
modalInfo
.
id
=
id
;
},
openUserDetails
(
record
)
{
this
.
$refs
.
UserDetails
.
modalInfo
.
title
=
"
客户详情
"
;
this
.
$refs
.
UserDetails
.
modalInfo
.
visible
=
true
;
this
.
$refs
.
UserDetails
.
modalInfo
.
record
=
record
;
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
/deep/.ant-spin-container {
display: block;
display: block;
}
</
style
>
\ No newline at end of file
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/departmentEvaluation.vue
View file @
08e8bbd6
...
...
@@ -173,7 +173,7 @@ export default {
{
title
:
"
评价设备
"
,
align
:
"
center
"
,
dataIndex
:
"
pj_name
"
,
dataIndex
:
"
devicenum
"
,
customRender
:
(
text
)
=>
{
return
text
?
text
:
"
--
"
;
},
...
...
@@ -336,7 +336,7 @@ export default {
option_id
,
pjxt
,
time
:
this
.
BegindAndEndTime
,
info
:
"
%
"
+
this
.
searchName
+
"
%
"
,
info
:
this
.
searchName
,
hallid
:
this
.
hallid
,
sectionid
:
this
.
sectionid
,
...
search
,
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/evaluationRecordReport/windowEvaluation.vue
View file @
08e8bbd6
...
...
@@ -342,7 +342,7 @@ export default {
option_id
,
pjxt
,
time
:
this
.
BegindAndEndTime
,
info
:
"
%
"
+
this
.
searchName
+
"
%
"
,
info
:
this
.
searchName
,
hallid
:
this
.
hallid
,
sectionid
:
this
.
sectionid
,
...
search
,
...
...
portal-manager-ui/admin/src/views/dataAdmin/components/queueCall/callRecord.vue
View file @
08e8bbd6
...
...
@@ -2,29 +2,48 @@
<div
class=
"callRecord-Container"
>
<div
class=
"header_box"
>
<div>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleExportTable"
:loading=
"btnLoading"
>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleExportTable"
:loading=
"btnLoading"
>
<span>
{{
tableSelectedRows
.
length
?
"
导出
"
:
"
导出全部
"
}}
</span>
</a-button>
<b>
叫号次数:
<i>
{{
tablePagination
.
total
}}
</i>
次
</b>
<b
>
叫号次数:
<i>
{{
tablePagination
.
total
}}
</i>
次
</b
>
<sub>
统计时间段:
{{
searchForm
.
time
[
0
]
}}
~
{{
searchForm
.
time
[
1
]
}}
</sub>
</div>
<span>
<a-space>
<a-select
v-model=
"searchForm.hallid"
>
<a-select-option
value=
""
>
全部大厅
</a-select-option>
<a-select-option
v-for=
"item in datingList"
:key=
"item.id"
:value=
"item.id"
>
<a-select-option
v-for=
"item in datingList"
:key=
"item.id"
:value=
"item.id"
>
{{
item
.
hallName
}}
</a-select-option>
</a-select>
<a-select
v-model=
"searchForm.sectionid"
>
<a-select-option
value=
""
>
全部部门
</a-select-option>
<a-select-option
v-for=
"item in bumenList"
:key=
"item.id"
:value=
"item.id"
>
<a-select-option
v-for=
"item in bumenList"
:key=
"item.id"
:value=
"item.id"
>
{{
item
.
name
}}
</a-select-option>
</a-select>
<a-select
v-model=
"searchForm.id"
>
<a-select-option
value=
""
>
全部设备
</a-select-option>
<a-select-option
v-for=
"item in deviceData"
:key=
"item.id"
:value=
"item.id"
>
<a-select-option
v-for=
"item in deviceData"
:key=
"item.id"
:value=
"item.id"
>
{{
item
.
name
}}
</a-select-option>
</a-select>
...
...
@@ -36,20 +55,36 @@
</a-select>
<a-range-picker
valueFormat=
"YYYY-MM-DD"
v-model=
"searchForm.time"
>
</a-range-picker>
<a-input
v-model=
"searchForm.flownum"
placeholder=
"请输入排队编号搜索"
@
pressEnter=
"handleSearch"
>
<a-input
v-model=
"searchForm.flownum"
placeholder=
"请输入排队编号搜索"
@
pressEnter=
"handleSearch"
>
<a-icon
slot=
"prefix"
type=
"search"
/>
</a-input>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
class=
"addclass"
@
click=
"handleSearch"
>
搜索
</a-button
>
<a-button
@
click=
"resetBtn"
>
重置
</a-button>
</a-space>
</span>
</div>
<div
class=
"main"
>
<a-table
size=
"small"
bordered
:row-key=
"(record) => record.id"
:row-selection=
"
{
selectedRowKeys: tableSelectedKeys,
onChange: onSelectChange,
}" :scroll="{ y: 590 }" :pagination="tablePagination" @change="changeTablePage" :loading="tableLoading"
:columns="tableHeaders" :dataSource="tableList">
<a-table
size=
"small"
bordered
:row-key=
"(record) => record.id"
:row-selection=
"
{
selectedRowKeys: tableSelectedKeys,
onChange: onSelectChange,
}"
:scroll="{ y: 590 }"
:pagination="tablePagination"
@change="changeTablePage"
:loading="tableLoading"
:columns="tableHeaders"
:dataSource="tableList"
>
<!-- 序号 -->
<span
slot=
"num"
slot-scope=
"text, record, index"
>
{{
(
tablePagination
.
current
-
1
)
*
tablePagination
.
pageSize
+
index
+
1
...
...
@@ -71,7 +106,11 @@
</
template
>
<!-- 办理业务 -->
<
template
slot=
"business"
slot-scope=
"text"
>
<a
v-if=
"text.business"
@
click=
"openBusiness(text.business, text.businessid)"
>
{{
text
.
business
}}
</a>
<a
v-if=
"text.business"
@
click=
"openBusiness(text.business, text.businessid)"
>
{{
text
.
business
}}
</a
>
<span
v-else
>
--
</span>
</
template
>
<!-- 办理开始时间 -->
...
...
@@ -91,8 +130,8 @@
<
template
slot=
"window_name"
slot-scope=
"text"
>
{{
text
.
window_name
?
text
.
window_name
+
"
-
"
+
text
.
window_fromnum
:
"
--
"
?
text
.
window_name
+
"
-
"
+
text
.
window_fromnum
:
"
--
"
}}
</
template
>
<!-- 工作人员 -->
...
...
@@ -112,11 +151,13 @@
</
template
>
<!-- 状态 -->
<
template
slot=
"style"
slot-scope=
"text"
>
<span
:class=
"
{
'stand-line': text.style === 0,
'on-transact': text.style === 1,
'on-end': text.style === 4,
}">
<span
:class=
"
{
'stand-line': text.style === 0,
'on-transact': text.style === 1,
'on-end': text.style === 4,
}"
>
{{
$codeMap
.
queueState
[
text
.
style
]
}}
</span>
</
template
>
...
...
@@ -280,7 +321,7 @@ export default {
time
:
[
moment
().
format
(
"
YYYY-MM-DD
"
),
moment
().
format
(
"
YYYY-MM-DD
"
)],
// 时间区间
flownum
:
""
,
// 排号编码
hallid
:
""
,
sectionid
:
""
sectionid
:
""
,
},
// 大厅列表
datingList
:
[],
...
...
@@ -354,7 +395,7 @@ export default {
this
.
getCalllistArr
();
this
.
getCallQueListArr
();
},
mounted
()
{
},
mounted
()
{},
methods
:
{
// 获取大厅列表
async
getDatingListArr
()
{
...
...
@@ -379,7 +420,7 @@ export default {
time
:
[
moment
().
format
(
"
YYYY-MM-DD
"
),
moment
().
format
(
"
YYYY-MM-DD
"
)],
// 时间区间
flownum
:
""
,
// 排号编码
hallid
:
""
,
sectionid
:
""
sectionid
:
""
,
};
this
.
getCallQueListArr
();
},
...
...
@@ -408,7 +449,7 @@ export default {
let
{
data
,
total
}
=
res
.
data
;
this
.
tableList
=
data
;
this
.
tablePagination
.
total
=
total
;
console
.
log
(
this
.
tableList
)
console
.
log
(
this
.
tableList
)
;
return
data
;
}
},
...
...
portal-manager-ui/admin/src/views/dataAdmin/dataAdmin.vue
View file @
08e8bbd6
...
...
@@ -190,23 +190,25 @@ export default {
async
censusListInterface
()
{
this
.
siteId
=
Storage
.
get
(
2
,
"
siteId
"
);
let
res
=
await
censusListInterface
({
siteId
:
this
.
siteId
});
let
{
CensusType_1
,
CensusType_2
,
CensusType_3
,
CensusType_4
,
CensusType_5
,
}
=
res
.
data
.
data
;
if
(
CensusType_1
&&
CensusType_1
.
length
)
this
.
CensusType_1
=
CensusType_1
.
filter
((
v
)
=>
v
.
status
!=
0
);
if
(
CensusType_2
&&
CensusType_2
.
length
)
this
.
CensusType_2
=
CensusType_2
.
filter
((
v
)
=>
v
.
status
!=
0
);
if
(
CensusType_3
&&
CensusType_3
.
length
)
this
.
CensusType_3
=
CensusType_3
.
filter
((
v
)
=>
v
.
status
!=
0
);
if
(
CensusType_4
&&
CensusType_4
.
length
)
this
.
CensusType_4
=
CensusType_4
.
filter
((
v
)
=>
v
.
status
!=
0
);
if
(
CensusType_5
&&
CensusType_5
.
length
)
this
.
CensusType_5
=
CensusType_5
.
filter
((
v
)
=>
v
.
status
!=
0
);
if
(
res
.
code
==
1
)
{
let
{
CensusType_1
,
CensusType_2
,
CensusType_3
,
CensusType_4
,
CensusType_5
,
}
=
res
.
data
.
data
;
if
(
CensusType_1
&&
CensusType_1
.
length
)
this
.
CensusType_1
=
CensusType_1
.
filter
((
v
)
=>
v
.
status
!=
0
);
if
(
CensusType_2
&&
CensusType_2
.
length
)
this
.
CensusType_2
=
CensusType_2
.
filter
((
v
)
=>
v
.
status
!=
0
);
if
(
CensusType_3
&&
CensusType_3
.
length
)
this
.
CensusType_3
=
CensusType_3
.
filter
((
v
)
=>
v
.
status
!=
0
);
if
(
CensusType_4
&&
CensusType_4
.
length
)
this
.
CensusType_4
=
CensusType_4
.
filter
((
v
)
=>
v
.
status
!=
0
);
if
(
CensusType_5
&&
CensusType_5
.
length
)
this
.
CensusType_5
=
CensusType_5
.
filter
((
v
)
=>
v
.
status
!=
0
);
}
},
// 查看数据
handleCkeck
(
path
)
{
...
...
portal-manager-ui/admin/src/views/siteArrange/siteArrange.vue
View file @
08e8bbd6
...
...
@@ -19,7 +19,7 @@
<div
class=
"img_box img3"
></div>
</a-carousel>
<div
class=
"title"
>
<h3
style=
"text-align: center;
font-size: 50px;
"
>
宜人·宜宾·宜办事
</h3>
<h3
style=
"text-align: center;
font-size: 50px
"
>
宜人·宜宾·宜办事
</h3>
<!--
<p>
“互联网+政务服务”整体解决方案提供商和服务商
</p>
-->
</div>
<div
class=
"classification"
>
...
...
@@ -28,9 +28,9 @@
class=
"mod_max"
v-for=
"item of siteModelList"
:key=
"item.id"
@
click=
"openWindow(item
.modelUrl
)"
@
click=
"openWindow(item)"
>
<div
class=
"picture"
:style=
"
{
background: item.color
}">
<div
class=
"picture"
:style=
"
{
background: item.color
}">
<img
width=
"40"
height=
"35"
...
...
@@ -76,29 +76,35 @@ export default {
this
.
siteId
=
Storage
.
get
(
2
,
"
siteId
"
);
let
res
=
await
appsListInterface
({
siteId
:
this
.
siteId
});
let
{
data
}
=
res
.
data
;
let
color
=
[]
let
colorArr
=
[
'
#546DFF
'
,
'
#1E6FFF
'
,
'
#3CBFFF
'
,
'
#00AA5B
'
,
'
#FFAB00
'
]
color
=
colorArr
.
concat
(
colorArr
,
colorArr
,
colorArr
,
colorArr
,
colorArr
,
colorArr
)
this
.
siteModelList
=
data
.
map
((
v
,
i
)
=>
{
v
[
'
color
'
]
=
color
[
i
]
return
v
let
color
=
[];
let
colorArr
=
[
"
#546DFF
"
,
"
#1E6FFF
"
,
"
#3CBFFF
"
,
"
#00AA5B
"
,
"
#FFAB00
"
];
color
=
colorArr
.
concat
(
colorArr
,
colorArr
,
colorArr
,
colorArr
,
colorArr
,
colorArr
);
this
.
siteModelList
=
data
.
map
((
v
,
i
)
=>
{
v
[
"
color
"
]
=
color
[
i
];
return
v
;
});
},
openWindow
(
href
)
{
openWindow
(
row
)
{
let
token
=
Storage
.
get
(
2
,
"
Authorization
"
);
let
siteid
=
Storage
.
get
(
2
,
"
siteId
"
)
?
Storage
.
get
(
2
,
"
siteId
"
)
:
0
;
let
siteName
=
Storage
.
get
(
2
,
"
siteName
"
)
?
Storage
.
get
(
2
,
"
siteName
"
)
:
""
;
let
reg
=
/^
((
https|http|ftp|rtsp|mms
)?
:
\/\/)[^\s]
+/
;
let
info
=
Storage
.
get
(
2
,
"
userInfo
"
);
let
userInfo
=
JSON
.
stringify
({
id
:
info
.
id
,
name
:
info
.
loginName
,
});
let
{
modelUrl
,
modelName
,
modelIcon
}
=
row
;
window
.
open
(
`
${
href
}
?token=
${
token
}
&siteid=
${
siteid
}
&siteName=
${
siteName
}
&userInfo=
${
userInfo
}
`
,
`
${
modelUrl
}
?token=
${
token
}
&siteid=
${
siteid
}
&siteName=
${
siteName
}
&userInfo=
${
userInfo
}
&sysName=
${
modelName
}
&sysLogo=
${
modelIcon
}
`
,
"
_blank
"
);
...
...
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