Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
JINRUN-PERPOSITION
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xinzhedeai
JINRUN-PERPOSITION
Commits
a8522265
Commit
a8522265
authored
Nov 25, 2025
by
xinzhedeai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add: 人员列表UI 对接
parent
695effb5
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1379 additions
and
135 deletions
+1379
-135
alarm.js
src/api/jinrun/alarm.js
+82
-0
renyuan.js
src/api/jinrun/renyuan.js
+45
-0
index.js
src/router/index.js
+29
-0
renyuan.vue
src/views/person/renyuan.vue
+897
-0
alarm.vue
src/views/sos/alarm.vue
+324
-133
vue.config.js
vue.config.js
+2
-2
No files found.
src/api/jinrun/alarm.js
0 → 100644
View file @
a8522265
import
request
from
'
@/utils/request
'
// 查询报警设置列表
export
function
listSetting
(
query
)
{
return
request
({
url
:
'
/alarm/setting/getRemoteAlarmSettingList
'
,
method
:
'
get
'
,
params
:
query
})
}
// 查询报警设置详细
export
function
getSetting
(
id
)
{
return
request
({
url
:
'
/alarm/setting/getRemoteAlarmSettingById
'
,
method
:
'
get
'
})
}
// 新增报警设置
export
function
addSetting
(
data
)
{
return
request
({
url
:
'
/alarm/setting/addRemoteAlarmSetting
'
,
method
:
'
post
'
,
data
:
data
})
}
// 修改报警设置
export
function
updateSetting
(
data
)
{
return
request
({
url
:
'
/alarm/setting/updateRemoteAlarmSetting
'
,
method
:
'
put
'
,
data
:
data
})
}
// 删除报警设置
export
function
delSetting
(
id
)
{
return
request
({
url
:
'
/alarm/setting/deleteRemoteAlarmSetting
'
,
method
:
'
delete
'
})
}
// 添加聚集远程报警设置
export
function
addJujiSetting
(
id
)
{
return
request
({
url
:
'
/alarm/setting/addRemoteGatherAlarmSetting
'
,
method
:
'
post
'
})
}
// 更新聚集远程报警设置
export
function
updateJujiSetting
(
id
)
{
return
request
({
url
:
'
/alarm/setting/updateRemoteGatherAlarmSetting
'
,
method
:
'
put
'
})
}
// 删除聚集远程报警设置
export
function
deleteJujiSetting
(
id
)
{
return
request
({
url
:
'
/alarm/setting/deleteRemoteGatherAlarmSetting
'
,
method
:
'
delete
'
})
}
// 查询聚集报警设置列表
export
function
getRemoteGatherAlarmSettingList
(
query
)
{
return
request
({
url
:
'
/alarm/setting/getRemoteGatherAlarmSettingList
'
,
method
:
'
get
'
,
params
:
query
})
}
src/api/jinrun/renyuan.js
0 → 100644
View file @
a8522265
import
request
from
'
@/utils/request
'
// 查询人员信息列表
export
function
listInfo
(
query
)
{
return
request
({
url
:
'
/person/info/getRemotePersonInfoList
'
,
method
:
'
get
'
,
params
:
query
})
}
// 解绑卡
export
function
unbindCard
(
data
)
{
return
request
({
url
:
'
/person/info/unbindCard
'
,
method
:
'
put
'
,
data
:
data
})
}
// 新增人员信息
export
function
addInfo
(
data
)
{
return
request
({
url
:
'
/person/info/addRemotePersonInfo
'
,
method
:
'
post
'
,
data
:
data
})
}
// 修改人员信息
export
function
updateInfo
(
data
)
{
return
request
({
url
:
'
/person/info/updateRemotePersonInfo
'
,
method
:
'
put
'
,
data
:
data
})
}
// 删除人员信息
export
function
delInfo
(
data
)
{
return
request
({
url
:
'
/person/info/deleteRemotePersonInfo
'
,
method
:
'
delete
'
,
data
:
data
})
}
src/router/index.js
View file @
a8522265
...
@@ -150,6 +150,21 @@ export const constantRoutes = [
...
@@ -150,6 +150,21 @@ export const constantRoutes = [
}
}
]
]
},
},
// 人员列表
{
path
:
'
/person
'
,
component
:
EmptyLayout
,
redirect
:
'
noredirect
'
,
children
:
[
{
path
:
'
renyuan
'
,
component
:
()
=>
import
(
'
@/views/person/renyuan
'
),
name
:
'
renyuan
'
,
meta
:
{
title
:
'
人员列表
'
,
icon
:
'
dashboard
'
,
}
}
]
},
// 员工列表
// 员工列表
{
{
path
:
'
/person
'
,
path
:
'
/person
'
,
...
@@ -179,6 +194,20 @@ export const constantRoutes = [
...
@@ -179,6 +194,20 @@ export const constantRoutes = [
}
}
]
]
},
},
// 报警设置列表
{
path
:
'
/sos
'
,
component
:
EmptyLayout
,
redirect
:
'
noredirect
'
,
children
:
[
{
path
:
'
alarm
'
,
component
:
()
=>
import
(
'
@/views/sos/alarm
'
),
name
:
'
alarm
'
,
meta
:
{
title
:
'
报警设置列表
'
,
icon
:
'
dashboard
'
,
}
}
]
},
{
{
path
:
'
/user
'
,
path
:
'
/user
'
,
...
...
src/views/person/renyuan.vue
0 → 100644
View file @
a8522265
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"人员类型名称"
prop=
"personType"
>
<el-select
v-model=
"queryParams.personType"
placeholder=
"请选择人员类型"
clearable
>
<el-option
v-for=
"item in personTypeOptions"
:key=
"item.dictValue"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"人员姓名"
prop=
"realName"
>
<el-input
v-model=
"queryParams.realName"
placeholder=
"请输入人员姓名"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"定位卡号"
prop=
"cardId"
>
<el-input
v-model=
"queryParams.cardId"
placeholder=
"请输入定位卡号"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"在线状态"
prop=
"personType"
>
<el-select
v-model=
"queryParams.onlineStatus"
placeholder=
"请选择在线状态"
clearable
>
<el-option
label=
"在线"
:value=
"1"
></el-option>
<el-option
label=
"离线"
:value=
"0"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button
>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button
>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<!--
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
>
新增
</el-button
>
</el-col>
-->
<!--
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:info:edit']"
>
修改
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:info:remove']"
>
删除
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['system:info:export']"
>
导出
</el-button
>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
-->
</el-row>
<el-table
v-loading=
"loading"
:data=
"infoList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"人员类型"
align=
"center"
prop=
"personTypeName"
/>
<!--
<el-table-column
label=
"设备ID"
align=
"center"
prop=
"staffType"
/>
-->
<el-table-column
label=
"姓名"
align=
"center"
prop=
"realName"
/>
<el-table-column
label=
"性别"
align=
"center"
prop=
"sex"
/>
<el-table-column
label=
"工号"
align=
"center"
prop=
"jobNumber"
/>
<el-table-column
label=
"联系方式"
align=
"center"
prop=
"phone"
/>
<el-table-column
label=
"员工状态"
align=
"center"
prop=
"jobStatus"
/>
<el-table-column
label=
"定位卡号"
align=
"center"
prop=
"cardId"
/>
<el-table-column
label=
"电量百分比"
align=
"center"
prop=
"cardPower"
/>
<el-table-column
label=
"在线状态"
align=
"center"
prop=
"onlineStatus"
/>
<el-table-column
label=
"人员照片"
align=
"center"
width=
"80"
>
<template
slot-scope=
"scope"
>
<el-image
:src=
"getImageUrl(scope.row.personPhoto)"
:preview-src-list=
"[getImageUrl(scope.row.personPhoto)]"
fit=
"cover"
style=
"
width: 50px;
height: 50px;
cursor: pointer;
border-radius: 4px;
"
>
<div
slot=
"error"
class=
"image-slot"
>
<i
class=
"el-icon-picture-outline"
></i>
</div>
</el-image>
</
template
>
</el-table-column>
<!-- <el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
fixed="right"
width="180"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-unlock"
@click="handleUnbindCard(scope.row)"
>解绑卡</el-button
>
</template>
</el-table-column> -->
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNum"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 添加或修改人员信息对话框 -->
<!-- <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="备注" prop="remark">
<el-input
v-model="form.remark"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item>
<el-form-item label="员工类型名称" prop="staffTypeName">
<el-input
v-model="form.staffTypeName"
placeholder="请输入员工类型名称"
/>
</el-form-item>
<el-form-item label="定位图标类型名称" prop="positionIconTypeName">
<el-input
v-model="form.positionIconTypeName"
placeholder="请输入定位图标类型名称"
/>
</el-form-item>
<el-form-item label="真实姓名" prop="realName">
<el-input v-model="form.realName" placeholder="请输入真实姓名" />
</el-form-item>
<el-form-item label="手机号" prop="phone">
<el-input v-model="form.phone" placeholder="请输入手机号" />
</el-form-item>
<el-form-item label="出生日期" prop="birth">
<el-date-picker
clearable
v-model="form.birth"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择出生日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" />
</el-form-item>
<el-form-item label="籍贯" prop="nativePlace">
<el-input v-model="form.nativePlace" placeholder="请输入籍贯" />
</el-form-item>
<el-form-item label="民族" prop="nation">
<el-input v-model="form.nation" placeholder="请输入民族" />
</el-form-item>
<el-form-item label="身份证号" prop="idNumber">
<el-input v-model="form.idNumber" placeholder="请输入身份证号" />
</el-form-item>
<el-form-item label="人员IC卡号" prop="personIc">
<el-input v-model="form.personIc" placeholder="请输入人员IC卡号" />
</el-form-item>
<el-form-item label="人员编号" prop="personCode">
<el-input v-model="form.personCode" placeholder="请输入人员编号" />
</el-form-item>
<el-form-item label="人员来源" prop="personSource">
<el-input v-model="form.personSource" placeholder="请输入人员来源" />
</el-form-item>
<el-form-item label="所属公司" prop="company">
<el-input v-model="form.company" placeholder="请输入所属公司" />
</el-form-item>
<el-form-item label="公司名称" prop="companyName">
<el-input v-model="form.companyName" placeholder="请输入公司名称" />
</el-form-item>
<el-form-item label="管理员姓名" prop="administratorName">
<el-input
v-model="form.administratorName"
placeholder="请输入管理员姓名"
/>
</el-form-item>
<el-form-item label="管理员电话" prop="administratorPhone">
<el-input
v-model="form.administratorPhone"
placeholder="请输入管理员电话"
/>
</el-form-item>
<el-form-item label="工号" prop="jobNumber">
<el-input v-model="form.jobNumber" placeholder="请输入工号" />
</el-form-item>
<el-form-item label="入职日期" prop="hireDate">
<el-date-picker
clearable
v-model="form.hireDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择入职日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="入职日期别名" prop="hireDateAlias">
<el-input
v-model="form.hireDateAlias"
placeholder="请输入入职日期别名"
/>
</el-form-item>
<el-form-item label="离职日期" prop="dimissionDate">
<el-date-picker
clearable
v-model="form.dimissionDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择离职日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="办公电话" prop="officePhone">
<el-input v-model="form.officePhone" placeholder="请输入办公电话" />
</el-form-item>
<el-form-item label="职务" prop="duty">
<el-input v-model="form.duty" placeholder="请输入职务" />
</el-form-item>
<el-form-item label="职称" prop="professionalTitle">
<el-input v-model="form.professionalTitle" placeholder="请输入职称" />
</el-form-item>
<el-form-item label="职称编号" prop="professionalTitleNumber">
<el-input
v-model="form.professionalTitleNumber"
placeholder="请输入职称编号"
/>
</el-form-item>
<el-form-item label="工龄" prop="seniority">
<el-input v-model="form.seniority" placeholder="请输入工龄" />
</el-form-item>
<el-form-item label="经验年限" prop="experience">
<el-input v-model="form.experience" placeholder="请输入经验年限" />
</el-form-item>
<el-form-item label="经验描述" prop="yearPlusExperience">
<el-input
v-model="form.yearPlusExperience"
placeholder="请输入经验描述"
/>
</el-form-item>
<el-form-item label="最高学历" prop="highestEducation">
<el-input
v-model="form.highestEducation"
placeholder="请输入最高学历"
/>
</el-form-item>
<el-form-item label="最高学位" prop="highestDegree">
<el-input v-model="form.highestDegree" placeholder="请输入最高学位" />
</el-form-item>
<el-form-item label="专业" prop="profession">
<el-input v-model="form.profession" placeholder="请输入专业" />
</el-form-item>
<el-form-item label="毕业学校" prop="school">
<el-input v-model="form.school" placeholder="请输入毕业学校" />
</el-form-item>
<el-form-item label="毕业证编号" prop="diplomaNumber">
<el-input
v-model="form.diplomaNumber"
placeholder="请输入毕业证编号"
/>
</el-form-item>
<el-form-item label="CENG编号" prop="cengNumber">
<el-input v-model="form.cengNumber" placeholder="请输入CENG编号" />
</el-form-item>
<el-form-item label="附件" prop="accessory">
<el-input
v-model="form.accessory"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item>
<el-form-item label="附件列表" prop="accessoryList">
<el-input
v-model="form.accessoryList"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item>
<el-form-item label="承包商ID" prop="contractorId">
<el-input v-model="form.contractorId" placeholder="请输入承包商ID" />
</el-form-item>
<el-form-item label="承包商名称" prop="contractorName">
<el-input
v-model="form.contractorName"
placeholder="请输入承包商名称"
/>
</el-form-item>
<el-form-item label="接收入负责人" prop="receiveLeader">
<el-input
v-model="form.receiveLeader"
placeholder="请输入接收入负责人"
/>
</el-form-item>
<el-form-item label="接收入电话" prop="receivePhone">
<el-input
v-model="form.receivePhone"
placeholder="请输入接收入电话"
/>
</el-form-item>
<el-form-item label="是否通行" prop="gateThrough">
<el-input v-model="form.gateThrough" placeholder="请输入是否通行" />
</el-form-item>
<el-form-item label="离开时间" prop="leaveTime">
<el-date-picker
clearable
v-model="form.leaveTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择离开时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="访问时间" prop="visitTime">
<el-date-picker
clearable
v-model="form.visitTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择访问时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="流程状态" prop="process">
<el-input v-model="form.process" placeholder="请输入流程状态" />
</el-form-item>
<el-form-item label="最后更新时间" prop="lastUpdateDate">
<el-date-picker
clearable
v-model="form.lastUpdateDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择最后更新时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="最后创建时间" prop="lastCreateDate">
<el-date-picker
clearable
v-model="form.lastCreateDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择最后创建时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="更新失败标志" prop="updateFail">
<el-input
v-model="form.updateFail"
placeholder="请输入更新失败标志"
/>
</el-form-item>
<el-form-item label="卡类型名称" prop="cardTypeName">
<el-input
v-model="form.cardTypeName"
placeholder="请输入卡类型名称"
/>
</el-form-item>
<el-form-item label="定位卡号" prop="cardId">
<el-input v-model="form.cardId" placeholder="请输入定位卡号" />
</el-form-item>
<el-form-item label="IC卡号" prop="icCardId">
<el-input v-model="form.icCardId" placeholder="请输入IC卡号" />
</el-form-item>
<el-form-item label="电量百分比" prop="cardPower">
<el-input v-model="form.cardPower" placeholder="请输入电量百分比" />
</el-form-item>
<el-form-item label="人员照片URL" prop="personPhoto">
<el-input
v-model="form.personPhoto"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item>
<el-form-item label="照片签名" prop="photoSign">
<el-input
v-model="form.photoSign"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item>
<el-form-item label="部门名称" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入部门名称" />
</el-form-item>
<el-form-item label="预约进场开始时间" prop="reservationEntryStartTime">
<el-date-picker
clearable
v-model="form.reservationEntryStartTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择预约进场开始时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="预约进场结束时间" prop="reservationEntryEndTime">
<el-date-picker
clearable
v-model="form.reservationEntryEndTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择预约进场结束时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="预约访问时间" prop="reservationVisitingTime">
<el-date-picker
clearable
v-model="form.reservationVisitingTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择预约访问时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="当前操作人姓名" prop="curUserName">
<el-input
v-model="form.curUserName"
placeholder="请输入当前操作人姓名"
/>
</el-form-item>
<el-form-item label="访客id" prop="visitorId">
<el-input v-model="form.visitorId" placeholder="请输入访客id" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog> -->
</div>
</template>
<
script
>
import
{
listInfo
,
delInfo
,
addInfo
,
updateInfo
,
unbindCard
,
}
from
"
@/api/jinrun/renyuan
"
;
import
{
getDict
}
from
"
@/api/jinrun/common
"
;
export
default
{
name
:
"
Info
"
,
data
()
{
return
{
// 人员类型下拉列表数据
personTypeOptions
:
[],
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 人员信息表格数据
infoList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
personType
:
"
staff
"
,
personTypeName
:
null
,
staffType
:
null
,
staffTypeName
:
null
,
positionIconType
:
null
,
positionIconTypeName
:
null
,
realName
:
null
,
phone
:
null
,
sex
:
null
,
birth
:
null
,
email
:
null
,
nativePlace
:
null
,
nation
:
null
,
maritalStatus
:
null
,
politicsStatus
:
null
,
healthStatus
:
null
,
idType
:
null
,
idNumber
:
null
,
personIc
:
null
,
personCode
:
null
,
personSource
:
null
,
company
:
null
,
companyName
:
null
,
administratorName
:
null
,
administratorPhone
:
null
,
jobNumber
:
null
,
jobStatus
:
null
,
hireDate
:
null
,
hireDateAlias
:
null
,
dimissionDate
:
null
,
officePhone
:
null
,
duty
:
null
,
professionalTitle
:
null
,
professionalTitleNumber
:
null
,
seniority
:
null
,
experience
:
null
,
yearPlusExperience
:
null
,
highestEducation
:
null
,
highestDegree
:
null
,
profession
:
null
,
school
:
null
,
diplomaNumber
:
null
,
cengNumber
:
null
,
accessory
:
null
,
accessoryList
:
null
,
contractorId
:
null
,
contractorName
:
null
,
receiveLeader
:
null
,
receivePhone
:
null
,
gateThrough
:
null
,
leaveTime
:
null
,
visitorStatus
:
null
,
visitTime
:
null
,
process
:
null
,
lastUpdateDate
:
null
,
lastCreateDate
:
null
,
updateFail
:
null
,
onlineStatus
:
null
,
inOutStatus
:
null
,
cardType
:
null
,
cardTypeName
:
null
,
cardId
:
null
,
icCardId
:
null
,
cardPower
:
null
,
personPhoto
:
null
,
photoSign
:
null
,
deptName
:
null
,
reservationEntryStartTime
:
null
,
reservationEntryEndTime
:
null
,
reservationVisitingTime
:
null
,
curUserName
:
null
,
visitorId
:
null
,
},
// 表单参数
form
:
{
personType
:
"
staff
"
,
},
// 表单校验
rules
:
{
personType
:
[
{
required
:
true
,
message
:
"
人员类型不能为空
"
,
trigger
:
"
change
"
},
],
},
};
},
created
()
{
this
.
getList
();
this
.
getPersonTypeOptions
();
},
methods
:
{
// 图片路径拼接方法
getImageUrl
(
relativePath
)
{
// 如果没有图片路径或路径为空,返回默认图片
if
(
!
relativePath
)
{
return
"
/default-avatar.png
"
;
// 可以替换为您项目中的默认图片路径
}
// 检查是否已经是完整URL
if
(
relativePath
.
startsWith
(
"
http://
"
)
||
relativePath
.
startsWith
(
"
https://
"
)
)
{
return
relativePath
;
}
// 拼接基础URL和相对路径
// 这里需要根据您的项目实际情况修改基础URL
const
baseUrl
=
process
.
env
.
VUE_APP_BASE_API
||
""
;
// 可以从环境变量获取或直接使用固定地址
// 确保路径拼接正确,避免重复的斜杠
return
relativePath
.
startsWith
(
"
/
"
)
?
`
${
baseUrl
}${
relativePath
}
`
:
`
${
baseUrl
}
/
${
relativePath
}
`
;
},
/** 获取人员类型下拉列表数据 */
getPersonTypeOptions
()
{
// 调用数据字典接口
getDict
({
dictType
:
"
person_type
"
})
.
then
((
response
)
=>
{
this
.
personTypeOptions
=
response
.
data
;
})
.
catch
((
error
)
=>
{
this
.
$modal
.
msgError
(
"
获取人员类型数据失败
"
);
console
.
error
(
"
获取人员类型数据失败:
"
,
error
);
});
},
/** 查询人员信息列表 */
getList
()
{
this
.
loading
=
true
;
listInfo
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
infoList
=
response
.
data
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{
createBy
:
null
,
createTime
:
null
,
updateTime
:
null
,
remark
:
null
,
personId
:
null
,
personType
:
null
,
personTypeName
:
null
,
staffType
:
null
,
staffTypeName
:
null
,
positionIconType
:
null
,
positionIconTypeName
:
null
,
realName
:
null
,
phone
:
null
,
sex
:
null
,
birth
:
null
,
email
:
null
,
nativePlace
:
null
,
nation
:
null
,
maritalStatus
:
null
,
politicsStatus
:
null
,
healthStatus
:
null
,
idType
:
null
,
idNumber
:
null
,
personIc
:
null
,
personCode
:
null
,
personSource
:
null
,
company
:
null
,
companyName
:
null
,
administratorName
:
null
,
administratorPhone
:
null
,
jobNumber
:
null
,
jobStatus
:
null
,
hireDate
:
null
,
hireDateAlias
:
null
,
dimissionDate
:
null
,
officePhone
:
null
,
duty
:
null
,
professionalTitle
:
null
,
professionalTitleNumber
:
null
,
seniority
:
null
,
experience
:
null
,
yearPlusExperience
:
null
,
highestEducation
:
null
,
highestDegree
:
null
,
profession
:
null
,
school
:
null
,
diplomaNumber
:
null
,
cengNumber
:
null
,
accessory
:
null
,
accessoryList
:
null
,
contractorId
:
null
,
contractorName
:
null
,
receiveLeader
:
null
,
receivePhone
:
null
,
gateThrough
:
null
,
leaveTime
:
null
,
visitorStatus
:
null
,
visitTime
:
null
,
process
:
null
,
lastUpdateDate
:
null
,
lastCreateDate
:
null
,
updateFail
:
null
,
onlineStatus
:
null
,
inOutStatus
:
null
,
cardType
:
null
,
cardTypeName
:
null
,
cardId
:
null
,
icCardId
:
null
,
cardPower
:
null
,
personPhoto
:
null
,
photoSign
:
null
,
deptName
:
null
,
reservationEntryStartTime
:
null
,
reservationEntryEndTime
:
null
,
reservationVisitingTime
:
null
,
curUserName
:
null
,
visitorId
:
null
,
};
this
.
resetForm
(
"
form
"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
((
item
)
=>
item
.
personId
);
this
.
single
=
selection
.
length
!==
1
;
this
.
multiple
=
!
selection
.
length
;
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"
添加人员信息
"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
listInfo
({
pageNum
:
1
,
pageSize
:
1
,
personId
:
row
.
personId
,
}).
then
((
response
)
=>
{
this
.
form
=
response
.
data
[
0
];
this
.
open
=
true
;
this
.
title
=
"
修改人员信息
"
;
});
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
form
.
personType
=
"
staff
"
;
if
(
this
.
form
.
personId
!=
null
)
{
updateInfo
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
addInfo
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"
新增成功
"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
});
},
/** 解绑卡按钮操作 */
handleUnbindCard
(
row
)
{
this
.
$modal
.
confirm
(
"
是否确认解绑该人员的卡?
"
)
.
then
(
function
()
{
return
unbindCard
({
personId
:
row
.
personId
,
personType
:
row
.
personType
,
});
})
.
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"
解绑卡成功
"
);
})
.
catch
(()
=>
{});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
this
.
$modal
.
confirm
(
"
是否确认删除该数据项?
"
)
.
then
(
function
()
{
return
delInfo
({
personIds
:
[
row
.
personId
],
personType
:
row
.
personType
,
});
})
.
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"
删除成功
"
);
})
.
catch
(()
=>
{});
},
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
"
system/info/export
"
,
{
...
this
.
queryParams
,
},
`info_
${
new
Date
().
getTime
()}
.xlsx`
);
},
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.image-slot
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
width
:
50px
;
height
:
50px
;
background-color
:
#f5f7fa
;
color
:
#909399
;
font-size
:
20px
;
}
</
style
>
\ No newline at end of file
src/views/sos/alarm.vue
View file @
a8522265
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"区域ID"
prop=
"areaId"
>
<el-form-item
label=
"区域ID"
prop=
"areaId"
>
<el-input
<el-input
v-model=
"queryParams.areaId"
v-model=
"queryParams.areaId"
...
@@ -26,35 +33,43 @@
...
@@ -26,35 +33,43 @@
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"有效期开始日期"
prop=
"validBeginDate"
>
<el-form-item
label=
"有效期开始日期"
prop=
"validBeginDate"
>
<el-date-picker
clearable
<el-date-picker
clearable
v-model=
"queryParams.validBeginDate"
v-model=
"queryParams.validBeginDate"
type=
"date"
type=
"date"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择有效期开始日期"
>
placeholder=
"请选择有效期开始日期"
>
</el-date-picker>
</el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
label=
"有效期结束日期"
prop=
"validEndDate"
>
<el-form-item
label=
"有效期结束日期"
prop=
"validEndDate"
>
<el-date-picker
clearable
<el-date-picker
clearable
v-model=
"queryParams.validEndDate"
v-model=
"queryParams.validEndDate"
type=
"date"
type=
"date"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择有效期结束日期"
>
placeholder=
"请选择有效期结束日期"
>
</el-date-picker>
</el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
label=
"每日开始时间"
prop=
"validBeginTime"
>
<el-form-item
label=
"每日开始时间"
prop=
"validBeginTime"
>
<el-date-picker
clearable
<el-date-picker
clearable
v-model=
"queryParams.validBeginTime"
v-model=
"queryParams.validBeginTime"
type=
"date"
type=
"date"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择每日开始时间"
>
placeholder=
"请选择每日开始时间"
>
</el-date-picker>
</el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
label=
"每日结束时间"
prop=
"validEndTime"
>
<el-form-item
label=
"每日结束时间"
prop=
"validEndTime"
>
<el-date-picker
clearable
<el-date-picker
clearable
v-model=
"queryParams.validEndTime"
v-model=
"queryParams.validEndTime"
type=
"date"
type=
"date"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择每日结束时间"
>
placeholder=
"请选择每日结束时间"
>
</el-date-picker>
</el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
label=
"报警通知配置ID"
prop=
"alarmNoticeId"
>
<el-form-item
label=
"报警通知配置ID"
prop=
"alarmNoticeId"
>
...
@@ -178,8 +193,16 @@
...
@@ -178,8 +193,16 @@
/>
/>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button
>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button
>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -191,10 +214,10 @@
...
@@ -191,10 +214,10 @@
icon=
"el-icon-plus"
icon=
"el-icon-plus"
size=
"mini"
size=
"mini"
@
click=
"handleAdd"
@
click=
"handleAdd"
v-hasPermi=
"['system:setting:add']"
>
新增
</el-button
>
新增
</el-button>
>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<
!--
<
el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"success"
type=
"success"
plain
plain
...
@@ -203,7 +226,8 @@
...
@@ -203,7 +226,8 @@
:disabled=
"single"
:disabled=
"single"
@
click=
"handleUpdate"
@
click=
"handleUpdate"
v-hasPermi=
"['system:setting:edit']"
v-hasPermi=
"['system:setting:edit']"
>
修改
</el-button>
>
修改
</el-button
>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
...
@@ -214,7 +238,8 @@
...
@@ -214,7 +238,8 @@
:disabled=
"multiple"
:disabled=
"multiple"
@
click=
"handleDelete"
@
click=
"handleDelete"
v-hasPermi=
"['system:setting:remove']"
v-hasPermi=
"['system:setting:remove']"
>
删除
</el-button>
>
删除
</el-button
>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
...
@@ -224,12 +249,20 @@
...
@@ -224,12 +249,20 @@
size=
"mini"
size=
"mini"
@
click=
"handleExport"
@
click=
"handleExport"
v-hasPermi=
"['system:setting:export']"
v-hasPermi=
"['system:setting:export']"
>
导出
</el-button>
>
导出
</el-button
</el-col>
>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-col>
-->
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
</el-row>
<el-table
v-loading=
"loading"
:data=
"settingList"
@
selection-change=
"handleSelectionChange"
>
<el-table
v-loading=
"loading"
:data=
"settingList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"主键"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"主键"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
/>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
/>
...
@@ -238,71 +271,160 @@
...
@@ -238,71 +271,160 @@
<el-table-column
label=
"区域启用 Y/N"
align=
"center"
prop=
"areaEnable"
/>
<el-table-column
label=
"区域启用 Y/N"
align=
"center"
prop=
"areaEnable"
/>
<el-table-column
label=
"报警类型"
align=
"center"
prop=
"alarmType"
/>
<el-table-column
label=
"报警类型"
align=
"center"
prop=
"alarmType"
/>
<el-table-column
label=
"规则JSON"
align=
"center"
prop=
"rule"
/>
<el-table-column
label=
"规则JSON"
align=
"center"
prop=
"rule"
/>
<el-table-column
label=
"有效期开始日期"
align=
"center"
prop=
"validBeginDate"
width=
"180"
>
<el-table-column
label=
"有效期开始日期"
align=
"center"
prop=
"validBeginDate"
width=
"180"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
validBeginDate
,
'
{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<span>
{{
parseTime
(
scope
.
row
.
validBeginDate
,
"
{y
}
-{m
}
-{d
}
"
)
}}
<
/span
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
有效期结束日期
"
align
=
"
center
"
prop
=
"
validEndDate
"
width
=
"
180
"
>
<
el
-
table
-
column
label
=
"
有效期结束日期
"
align
=
"
center
"
prop
=
"
validEndDate
"
width
=
"
180
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
>
{{
parseTime
(
scope
.
row
.
validEndDate
,
'
{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<
span
>
{{
parseTime
(
scope
.
row
.
validEndDate
,
"
{y
}
-{m
}
-{d
}
"
)
}}
<
/span
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
每日开始时间
"
align
=
"
center
"
prop
=
"
validBeginTime
"
width
=
"
180
"
>
<
el
-
table
-
column
label
=
"
每日开始时间
"
align
=
"
center
"
prop
=
"
validBeginTime
"
width
=
"
180
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
>
{{
parseTime
(
scope
.
row
.
validBeginTime
,
'
{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<
span
>
{{
parseTime
(
scope
.
row
.
validBeginTime
,
"
{y
}
-{m
}
-{d
}
"
)
}}
<
/span
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
每日结束时间
"
align
=
"
center
"
prop
=
"
validEndTime
"
width
=
"
180
"
>
<
el
-
table
-
column
label
=
"
每日结束时间
"
align
=
"
center
"
prop
=
"
validEndTime
"
width
=
"
180
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
>
{{
parseTime
(
scope
.
row
.
validEndTime
,
'
{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<
span
>
{{
parseTime
(
scope
.
row
.
validEndTime
,
"
{y
}
-{m
}
-{d
}
"
)
}}
<
/span
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
报警通知配置ID
"
align
=
"
center
"
prop
=
"
alarmNoticeId
"
/>
<
el
-
table
-
column
<
el
-
table
-
column
label
=
"
通知配置名称
"
align
=
"
center
"
prop
=
"
alarmNoticeName
"
/>
label
=
"
报警通知配置ID
"
align
=
"
center
"
prop
=
"
alarmNoticeId
"
/>
<
el
-
table
-
column
label
=
"
通知配置名称
"
align
=
"
center
"
prop
=
"
alarmNoticeName
"
/>
<
el
-
table
-
column
label
=
"
围栏ID列表
"
align
=
"
center
"
prop
=
"
railIds
"
/>
<
el
-
table
-
column
label
=
"
围栏ID列表
"
align
=
"
center
"
prop
=
"
railIds
"
/>
<
el
-
table
-
column
label
=
"
部门ID列表
"
align
=
"
center
"
prop
=
"
deptIds
"
/>
<
el
-
table
-
column
label
=
"
部门ID列表
"
align
=
"
center
"
prop
=
"
deptIds
"
/>
<
el
-
table
-
column
label
=
"
部门名称
"
align
=
"
center
"
prop
=
"
deptName
"
/>
<
el
-
table
-
column
label
=
"
部门名称
"
align
=
"
center
"
prop
=
"
deptName
"
/>
<
el
-
table
-
column
label
=
"
报警人员ID列表
"
align
=
"
center
"
prop
=
"
alarmPersonIds
"
/>
<
el
-
table
-
column
<
el
-
table
-
column
label
=
"
报警人员姓名
"
align
=
"
center
"
prop
=
"
alarmPersonNames
"
/>
label
=
"
报警人员ID列表
"
<
el
-
table
-
column
label
=
"
报警岗位ID列表
"
align
=
"
center
"
prop
=
"
alarmPostIds
"
/>
align
=
"
center
"
<
el
-
table
-
column
label
=
"
报警岗位名称
"
align
=
"
center
"
prop
=
"
alarmPostNames
"
/>
prop
=
"
alarmPersonIds
"
/>
<
el
-
table
-
column
label
=
"
报警人员姓名
"
align
=
"
center
"
prop
=
"
alarmPersonNames
"
/>
<
el
-
table
-
column
label
=
"
报警岗位ID列表
"
align
=
"
center
"
prop
=
"
alarmPostIds
"
/>
<
el
-
table
-
column
label
=
"
报警岗位名称
"
align
=
"
center
"
prop
=
"
alarmPostNames
"
/>
<
el
-
table
-
column
label
=
"
围栏名称
"
align
=
"
center
"
prop
=
"
railName
"
/>
<
el
-
table
-
column
label
=
"
围栏名称
"
align
=
"
center
"
prop
=
"
railName
"
/>
<
el
-
table
-
column
label
=
"
静态围栏名称
"
align
=
"
center
"
prop
=
"
staticRailName
"
/>
<
el
-
table
-
column
label
=
"
静态围栏名称
"
align
=
"
center
"
prop
=
"
staticRailName
"
/>
<
el
-
table
-
column
label
=
"
人员姓名
"
align
=
"
center
"
prop
=
"
realName
"
/>
<
el
-
table
-
column
label
=
"
人员姓名
"
align
=
"
center
"
prop
=
"
realName
"
/>
<
el
-
table
-
column
label
=
"
人员ID列表
"
align
=
"
center
"
prop
=
"
personIds
"
/>
<
el
-
table
-
column
label
=
"
人员ID列表
"
align
=
"
center
"
prop
=
"
personIds
"
/>
<
el
-
table
-
column
label
=
"
一级报警人员规则
"
align
=
"
center
"
prop
=
"
firstAlarmPeopleRule
"
/>
<
el
-
table
-
column
<
el
-
table
-
column
label
=
"
二级报警规则
"
align
=
"
center
"
prop
=
"
secondAlarmRule
"
/>
label
=
"
一级报警人员规则
"
<
el
-
table
-
column
label
=
"
二级报警人员规则
"
align
=
"
center
"
prop
=
"
secondAlarmPeopleRule
"
/>
align
=
"
center
"
<
el
-
table
-
column
label
=
"
二级报警通知ID
"
align
=
"
center
"
prop
=
"
secondAlarmNoticeId
"
/>
prop
=
"
firstAlarmPeopleRule
"
<
el
-
table
-
column
label
=
"
三级报警规则
"
align
=
"
center
"
prop
=
"
thirdAlarmRule
"
/>
/>
<
el
-
table
-
column
label
=
"
三级报警人员规则
"
align
=
"
center
"
prop
=
"
thirdAlarmPeopleRule
"
/>
<
el
-
table
-
column
<
el
-
table
-
column
label
=
"
三级报警通知ID
"
align
=
"
center
"
prop
=
"
thirdAlarmNoticeId
"
/>
label
=
"
二级报警规则
"
<
el
-
table
-
column
label
=
"
聚集半径
"
align
=
"
center
"
prop
=
"
aggregationRadius
"
/>
align
=
"
center
"
prop
=
"
secondAlarmRule
"
/>
<
el
-
table
-
column
label
=
"
二级报警人员规则
"
align
=
"
center
"
prop
=
"
secondAlarmPeopleRule
"
/>
<
el
-
table
-
column
label
=
"
二级报警通知ID
"
align
=
"
center
"
prop
=
"
secondAlarmNoticeId
"
/>
<
el
-
table
-
column
label
=
"
三级报警规则
"
align
=
"
center
"
prop
=
"
thirdAlarmRule
"
/>
<
el
-
table
-
column
label
=
"
三级报警人员规则
"
align
=
"
center
"
prop
=
"
thirdAlarmPeopleRule
"
/>
<
el
-
table
-
column
label
=
"
三级报警通知ID
"
align
=
"
center
"
prop
=
"
thirdAlarmNoticeId
"
/>
<
el
-
table
-
column
label
=
"
聚集半径
"
align
=
"
center
"
prop
=
"
aggregationRadius
"
/>
<
el
-
table
-
column
label
=
"
持续时间
"
align
=
"
center
"
prop
=
"
duration
"
/>
<
el
-
table
-
column
label
=
"
持续时间
"
align
=
"
center
"
prop
=
"
duration
"
/>
<
el
-
table
-
column
label
=
"
静态围栏ID列表
"
align
=
"
center
"
prop
=
"
staticRailIds
"
/>
<
el
-
table
-
column
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
>
label
=
"
静态围栏ID列表
"
align
=
"
center
"
prop
=
"
staticRailIds
"
/>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
fixed
=
"
right
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
button
<
el
-
button
size
=
"
mini
"
size
=
"
mini
"
type
=
"
text
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
icon
=
"
el-icon-edit
"
@
click
=
"
handleUpdate(scope.row)
"
@
click
=
"
handleUpdate(scope.row)
"
v
-
hasPermi
=
"
['system:setting:edit']
"
>
修改
<
/el-butto
n
>
修改
<
/el-button
>
>
<
el
-
button
<
el
-
button
size
=
"
mini
"
size
=
"
mini
"
type
=
"
text
"
type
=
"
text
"
icon
=
"
el-icon-delete
"
icon
=
"
el-icon-delete
"
@
click
=
"
handleDelete(scope.row)
"
@
click
=
"
handleDelete(scope.row)
"
v
-
hasPermi
=
"
['system:setting:remove']
"
>
删除
<
/el-butto
n
>
删除
<
/el-button
>
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
/el-table
>
<
/el-table
>
<
pagination
<
pagination
v
-
show
=
"
total
>
0
"
v
-
show
=
"
total
>
0
"
:
total
=
"
total
"
:
total
=
"
total
"
:
page
.
sync
=
"
queryParams.pageNum
"
:
page
.
sync
=
"
queryParams.pageNum
"
:
limit
.
sync
=
"
queryParams.pageSize
"
:
limit
.
sync
=
"
queryParams.pageSize
"
...
@@ -322,90 +444,146 @@
...
@@ -322,90 +444,146 @@
<
el
-
input
v
-
model
=
"
form.areaName
"
placeholder
=
"
请输入区域名称
"
/>
<
el
-
input
v
-
model
=
"
form.areaName
"
placeholder
=
"
请输入区域名称
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
区域启用 Y/N
"
prop
=
"
areaEnable
"
>
<
el
-
form
-
item
label
=
"
区域启用 Y/N
"
prop
=
"
areaEnable
"
>
<
el
-
input
v
-
model
=
"
form.areaEnable
"
placeholder
=
"
请输入区域启用 Y/N
"
/>
<
el
-
input
v
-
model
=
"
form.areaEnable
"
placeholder
=
"
请输入区域启用 Y/N
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
规则JSON
"
prop
=
"
rule
"
>
<
el
-
form
-
item
label
=
"
规则JSON
"
prop
=
"
rule
"
>
<
el
-
input
v
-
model
=
"
form.rule
"
type
=
"
textarea
"
placeholder
=
"
请输入内容
"
/>
<
el
-
input
v
-
model
=
"
form.rule
"
type
=
"
textarea
"
placeholder
=
"
请输入内容
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
有效期开始日期
"
prop
=
"
validBeginDate
"
>
<
el
-
form
-
item
label
=
"
有效期开始日期
"
prop
=
"
validBeginDate
"
>
<
el
-
date
-
picker
clearable
<
el
-
date
-
picker
clearable
v
-
model
=
"
form.validBeginDate
"
v
-
model
=
"
form.validBeginDate
"
type
=
"
date
"
type
=
"
date
"
value
-
format
=
"
yyyy-MM-dd
"
value
-
format
=
"
yyyy-MM-dd
"
placeholder
=
"
请选择有效期开始日期
"
>
placeholder
=
"
请选择有效期开始日期
"
>
<
/el-date-picker
>
<
/el-date-picker
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
有效期结束日期
"
prop
=
"
validEndDate
"
>
<
el
-
form
-
item
label
=
"
有效期结束日期
"
prop
=
"
validEndDate
"
>
<
el
-
date
-
picker
clearable
<
el
-
date
-
picker
clearable
v
-
model
=
"
form.validEndDate
"
v
-
model
=
"
form.validEndDate
"
type
=
"
date
"
type
=
"
date
"
value
-
format
=
"
yyyy-MM-dd
"
value
-
format
=
"
yyyy-MM-dd
"
placeholder
=
"
请选择有效期结束日期
"
>
placeholder
=
"
请选择有效期结束日期
"
>
<
/el-date-picker
>
<
/el-date-picker
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
每日开始时间
"
prop
=
"
validBeginTime
"
>
<
el
-
form
-
item
label
=
"
每日开始时间
"
prop
=
"
validBeginTime
"
>
<
el
-
date
-
picker
clearable
<
el
-
date
-
picker
clearable
v
-
model
=
"
form.validBeginTime
"
v
-
model
=
"
form.validBeginTime
"
type
=
"
date
"
type
=
"
date
"
value
-
format
=
"
yyyy-MM-dd
"
value
-
format
=
"
yyyy-MM-dd
"
placeholder
=
"
请选择每日开始时间
"
>
placeholder
=
"
请选择每日开始时间
"
>
<
/el-date-picker
>
<
/el-date-picker
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
每日结束时间
"
prop
=
"
validEndTime
"
>
<
el
-
form
-
item
label
=
"
每日结束时间
"
prop
=
"
validEndTime
"
>
<
el
-
date
-
picker
clearable
<
el
-
date
-
picker
clearable
v
-
model
=
"
form.validEndTime
"
v
-
model
=
"
form.validEndTime
"
type
=
"
date
"
type
=
"
date
"
value
-
format
=
"
yyyy-MM-dd
"
value
-
format
=
"
yyyy-MM-dd
"
placeholder
=
"
请选择每日结束时间
"
>
placeholder
=
"
请选择每日结束时间
"
>
<
/el-date-picker
>
<
/el-date-picker
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
报警通知配置ID
"
prop
=
"
alarmNoticeId
"
>
<
el
-
form
-
item
label
=
"
报警通知配置ID
"
prop
=
"
alarmNoticeId
"
>
<
el
-
input
v
-
model
=
"
form.alarmNoticeId
"
placeholder
=
"
请输入报警通知配置ID
"
/>
<
el
-
input
v
-
model
=
"
form.alarmNoticeId
"
placeholder
=
"
请输入报警通知配置ID
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
通知配置名称
"
prop
=
"
alarmNoticeName
"
>
<
el
-
form
-
item
label
=
"
通知配置名称
"
prop
=
"
alarmNoticeName
"
>
<
el
-
input
v
-
model
=
"
form.alarmNoticeName
"
placeholder
=
"
请输入通知配置名称
"
/>
<
el
-
input
v
-
model
=
"
form.alarmNoticeName
"
placeholder
=
"
请输入通知配置名称
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
部门名称
"
prop
=
"
deptName
"
>
<
el
-
form
-
item
label
=
"
部门名称
"
prop
=
"
deptName
"
>
<
el
-
input
v
-
model
=
"
form.deptName
"
placeholder
=
"
请输入部门名称
"
/>
<
el
-
input
v
-
model
=
"
form.deptName
"
placeholder
=
"
请输入部门名称
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
报警人员姓名
"
prop
=
"
alarmPersonNames
"
>
<
el
-
form
-
item
label
=
"
报警人员姓名
"
prop
=
"
alarmPersonNames
"
>
<
el
-
input
v
-
model
=
"
form.alarmPersonNames
"
type
=
"
textarea
"
placeholder
=
"
请输入内容
"
/>
<
el
-
input
v
-
model
=
"
form.alarmPersonNames
"
type
=
"
textarea
"
placeholder
=
"
请输入内容
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
报警岗位名称
"
prop
=
"
alarmPostNames
"
>
<
el
-
form
-
item
label
=
"
报警岗位名称
"
prop
=
"
alarmPostNames
"
>
<
el
-
input
v
-
model
=
"
form.alarmPostNames
"
type
=
"
textarea
"
placeholder
=
"
请输入内容
"
/>
<
el
-
input
v
-
model
=
"
form.alarmPostNames
"
type
=
"
textarea
"
placeholder
=
"
请输入内容
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
围栏名称
"
prop
=
"
railName
"
>
<
el
-
form
-
item
label
=
"
围栏名称
"
prop
=
"
railName
"
>
<
el
-
input
v
-
model
=
"
form.railName
"
placeholder
=
"
请输入围栏名称
"
/>
<
el
-
input
v
-
model
=
"
form.railName
"
placeholder
=
"
请输入围栏名称
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
静态围栏名称
"
prop
=
"
staticRailName
"
>
<
el
-
form
-
item
label
=
"
静态围栏名称
"
prop
=
"
staticRailName
"
>
<
el
-
input
v
-
model
=
"
form.staticRailName
"
placeholder
=
"
请输入静态围栏名称
"
/>
<
el
-
input
v
-
model
=
"
form.staticRailName
"
placeholder
=
"
请输入静态围栏名称
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
人员姓名
"
prop
=
"
realName
"
>
<
el
-
form
-
item
label
=
"
人员姓名
"
prop
=
"
realName
"
>
<
el
-
input
v
-
model
=
"
form.realName
"
placeholder
=
"
请输入人员姓名
"
/>
<
el
-
input
v
-
model
=
"
form.realName
"
placeholder
=
"
请输入人员姓名
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
一级报警人员规则
"
prop
=
"
firstAlarmPeopleRule
"
>
<
el
-
form
-
item
label
=
"
一级报警人员规则
"
prop
=
"
firstAlarmPeopleRule
"
>
<
el
-
input
v
-
model
=
"
form.firstAlarmPeopleRule
"
placeholder
=
"
请输入一级报警人员规则
"
/>
<
el
-
input
v
-
model
=
"
form.firstAlarmPeopleRule
"
placeholder
=
"
请输入一级报警人员规则
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
二级报警规则
"
prop
=
"
secondAlarmRule
"
>
<
el
-
form
-
item
label
=
"
二级报警规则
"
prop
=
"
secondAlarmRule
"
>
<
el
-
input
v
-
model
=
"
form.secondAlarmRule
"
placeholder
=
"
请输入二级报警规则
"
/>
<
el
-
input
v
-
model
=
"
form.secondAlarmRule
"
placeholder
=
"
请输入二级报警规则
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
二级报警人员规则
"
prop
=
"
secondAlarmPeopleRule
"
>
<
el
-
form
-
item
label
=
"
二级报警人员规则
"
prop
=
"
secondAlarmPeopleRule
"
>
<
el
-
input
v
-
model
=
"
form.secondAlarmPeopleRule
"
placeholder
=
"
请输入二级报警人员规则
"
/>
<
el
-
input
v
-
model
=
"
form.secondAlarmPeopleRule
"
placeholder
=
"
请输入二级报警人员规则
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
二级报警通知ID
"
prop
=
"
secondAlarmNoticeId
"
>
<
el
-
form
-
item
label
=
"
二级报警通知ID
"
prop
=
"
secondAlarmNoticeId
"
>
<
el
-
input
v
-
model
=
"
form.secondAlarmNoticeId
"
placeholder
=
"
请输入二级报警通知ID
"
/>
<
el
-
input
v
-
model
=
"
form.secondAlarmNoticeId
"
placeholder
=
"
请输入二级报警通知ID
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
三级报警规则
"
prop
=
"
thirdAlarmRule
"
>
<
el
-
form
-
item
label
=
"
三级报警规则
"
prop
=
"
thirdAlarmRule
"
>
<
el
-
input
v
-
model
=
"
form.thirdAlarmRule
"
placeholder
=
"
请输入三级报警规则
"
/>
<
el
-
input
v
-
model
=
"
form.thirdAlarmRule
"
placeholder
=
"
请输入三级报警规则
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
三级报警人员规则
"
prop
=
"
thirdAlarmPeopleRule
"
>
<
el
-
form
-
item
label
=
"
三级报警人员规则
"
prop
=
"
thirdAlarmPeopleRule
"
>
<
el
-
input
v
-
model
=
"
form.thirdAlarmPeopleRule
"
placeholder
=
"
请输入三级报警人员规则
"
/>
<
el
-
input
v
-
model
=
"
form.thirdAlarmPeopleRule
"
placeholder
=
"
请输入三级报警人员规则
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
三级报警通知ID
"
prop
=
"
thirdAlarmNoticeId
"
>
<
el
-
form
-
item
label
=
"
三级报警通知ID
"
prop
=
"
thirdAlarmNoticeId
"
>
<
el
-
input
v
-
model
=
"
form.thirdAlarmNoticeId
"
placeholder
=
"
请输入三级报警通知ID
"
/>
<
el
-
input
v
-
model
=
"
form.thirdAlarmNoticeId
"
placeholder
=
"
请输入三级报警通知ID
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
聚集半径
"
prop
=
"
aggregationRadius
"
>
<
el
-
form
-
item
label
=
"
聚集半径
"
prop
=
"
aggregationRadius
"
>
<
el
-
input
v
-
model
=
"
form.aggregationRadius
"
placeholder
=
"
请输入聚集半径
"
/>
<
el
-
input
v
-
model
=
"
form.aggregationRadius
"
placeholder
=
"
请输入聚集半径
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
持续时间
"
prop
=
"
duration
"
>
<
el
-
form
-
item
label
=
"
持续时间
"
prop
=
"
duration
"
>
<
el
-
input
v
-
model
=
"
form.duration
"
placeholder
=
"
请输入持续时间
"
/>
<
el
-
input
v
-
model
=
"
form.duration
"
placeholder
=
"
请输入持续时间
"
/>
...
@@ -420,7 +598,13 @@
...
@@ -420,7 +598,13 @@
<
/template
>
<
/template
>
<
script
>
<
script
>
import
{
listSetting
,
getSetting
,
delSetting
,
addSetting
,
updateSetting
}
from
"
@/api/system/setting
"
import
{
listSetting
,
getSetting
,
delSetting
,
addSetting
,
updateSetting
,
}
from
"
@/api/jinrun/alarm
"
;
export
default
{
export
default
{
name
:
"
Setting
"
,
name
:
"
Setting
"
,
...
@@ -479,32 +663,31 @@ export default {
...
@@ -479,32 +663,31 @@ export default {
thirdAlarmNoticeId
:
null
,
thirdAlarmNoticeId
:
null
,
aggregationRadius
:
null
,
aggregationRadius
:
null
,
duration
:
null
,
duration
:
null
,
staticRailIds
:
null
staticRailIds
:
null
,
}
,
}
,
// 表单参数
// 表单参数
form
:
{
}
,
form
:
{
}
,
// 表单校验
// 表单校验
rules
:
{
rules
:
{
}
,
}
}
;
}
}
,
}
,
created
()
{
created
()
{
this
.
getList
()
this
.
getList
()
;
}
,
}
,
methods
:
{
methods
:
{
/** 查询报警设置列表 */
/** 查询报警设置列表 */
getList
()
{
getList
()
{
this
.
loading
=
true
this
.
loading
=
true
;
listSetting
(
this
.
queryParams
).
then
(
response
=>
{
listSetting
(
this
.
queryParams
).
then
(
(
response
)
=>
{
this
.
settingList
=
response
.
rows
this
.
settingList
=
response
.
data
;
this
.
total
=
response
.
total
this
.
total
=
response
.
total
;
this
.
loading
=
false
this
.
loading
=
false
;
}
)
}
)
;
}
,
}
,
// 取消按钮
// 取消按钮
cancel
()
{
cancel
()
{
this
.
open
=
false
this
.
open
=
false
;
this
.
reset
()
this
.
reset
()
;
}
,
}
,
// 表单重置
// 表单重置
reset
()
{
reset
()
{
...
@@ -545,78 +728,86 @@ export default {
...
@@ -545,78 +728,86 @@ export default {
thirdAlarmNoticeId
:
null
,
thirdAlarmNoticeId
:
null
,
aggregationRadius
:
null
,
aggregationRadius
:
null
,
duration
:
null
,
duration
:
null
,
staticRailIds
:
null
staticRailIds
:
null
,
}
}
;
this
.
resetForm
(
"
form
"
)
this
.
resetForm
(
"
form
"
)
;
}
,
}
,
/** 搜索按钮操作 */
/** 搜索按钮操作 */
handleQuery
()
{
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
()
this
.
getList
()
;
}
,
}
,
/** 重置按钮操作 */
/** 重置按钮操作 */
resetQuery
()
{
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
)
this
.
resetForm
(
"
queryForm
"
)
;
this
.
handleQuery
()
this
.
handleQuery
()
;
}
,
}
,
// 多选框选中数据
// 多选框选中数据
handleSelectionChange
(
selection
)
{
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
ids
=
selection
.
map
(
(
item
)
=>
item
.
id
);
this
.
single
=
selection
.
length
!==
1
this
.
single
=
selection
.
length
!==
1
;
this
.
multiple
=
!
selection
.
length
this
.
multiple
=
!
selection
.
length
;
}
,
}
,
/** 新增按钮操作 */
/** 新增按钮操作 */
handleAdd
()
{
handleAdd
()
{
this
.
reset
()
this
.
reset
()
;
this
.
open
=
true
this
.
open
=
true
;
this
.
title
=
"
添加报警设置
"
this
.
title
=
"
添加报警设置
"
;
}
,
}
,
/** 修改按钮操作 */
/** 修改按钮操作 */
handleUpdate
(
row
)
{
handleUpdate
(
row
)
{
this
.
reset
()
this
.
reset
()
;
const
id
=
row
.
id
||
this
.
ids
const
id
=
row
.
id
||
this
.
ids
;
getSetting
(
id
).
then
(
response
=>
{
getSetting
(
id
).
then
(
(
response
)
=>
{
this
.
form
=
response
.
data
this
.
form
=
response
.
data
;
this
.
open
=
true
this
.
open
=
true
;
this
.
title
=
"
修改报警设置
"
this
.
title
=
"
修改报警设置
"
;
}
)
}
)
;
}
,
}
,
/** 提交按钮 */
/** 提交按钮 */
submitForm
()
{
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
this
.
$refs
[
"
form
"
].
validate
(
(
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
if
(
this
.
form
.
id
!=
null
)
{
updateSetting
(
this
.
form
).
then
(
response
=>
{
updateSetting
(
this
.
form
).
then
(
(
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
)
this
.
$modal
.
msgSuccess
(
"
修改成功
"
)
;
this
.
open
=
false
this
.
open
=
false
;
this
.
getList
()
this
.
getList
()
;
}
)
}
)
;
}
else
{
}
else
{
addSetting
(
this
.
form
).
then
(
response
=>
{
addSetting
(
this
.
form
).
then
(
(
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"
新增成功
"
)
this
.
$modal
.
msgSuccess
(
"
新增成功
"
)
;
this
.
open
=
false
this
.
open
=
false
;
this
.
getList
()
this
.
getList
()
;
}
)
}
)
;
}
}
}
}
}
)
}
)
;
}
,
}
,
/** 删除按钮操作 */
/** 删除按钮操作 */
handleDelete
(
row
)
{
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
'
是否确认删除报警设置编号为"
'
+
ids
+
'
"的数据项?
'
).
then
(
function
()
{
this
.
$modal
return
delSetting
(
ids
)
.
confirm
(
'
是否确认删除报警设置编号为"
'
+
ids
+
'
"的数据项?
'
)
}
).
then
(()
=>
{
.
then
(
function
()
{
this
.
getList
()
return
delSetting
(
ids
);
this
.
$modal
.
msgSuccess
(
"
删除成功
"
)
}
)
}
).
catch
(()
=>
{
}
)
.
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"
删除成功
"
);
}
)
.
catch
(()
=>
{
}
);
}
,
}
,
/** 导出按钮操作 */
/** 导出按钮操作 */
handleExport
()
{
handleExport
()
{
this
.
download
(
'
system/setting/export
'
,
{
this
.
download
(
...
this
.
queryParams
"
system/setting/export
"
,
}
,
`setting_${new Date().getTime()
}
.xlsx`
)
{
}
...
this
.
queryParams
,
}
}
,
}
`setting_${new Date().getTime()
}
.xlsx`
);
}
,
}
,
}
;
<
/script
>
<
/script
>
vue.config.js
View file @
a8522265
...
@@ -36,8 +36,8 @@ module.exports = {
...
@@ -36,8 +36,8 @@ module.exports = {
proxy
:
{
proxy
:
{
// detail: https://cli.vuejs.org/config/#devserver-proxy
// detail: https://cli.vuejs.org/config/#devserver-proxy
[
process
.
env
.
VUE_APP_BASE_API
]:
{
[
process
.
env
.
VUE_APP_BASE_API
]:
{
target
:
`http://192.168.2.16:8081`
,
//涛本地 ruoyi
//
target: `http://192.168.2.16:8081`,//涛本地 ruoyi
//
target: `http://192.168.2.16:8082`,//涛本地 接口
target
:
`http://192.168.2.16:8082`
,
//涛本地 接口
// target: `http://192.168.2.37:8080`,//鲁本地
// target: `http://192.168.2.37:8080`,//鲁本地
// target: `https://gqyjpt.weihai.cn`,//高区孵化平台
// target: `https://gqyjpt.weihai.cn`,//高区孵化平台
...
...
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