22 changed files with 3563 additions and 459 deletions
@ -0,0 +1,168 @@ |
|||||
|
.bg-caiji { |
||||
|
|
||||
|
// background-color: rgba(189, 214, 255, 0.89); |
||||
|
height: 100%; |
||||
|
width: 100vw; |
||||
|
padding: 20px; |
||||
|
|
||||
|
.title { |
||||
|
text-align: center; |
||||
|
font-size: 20px; |
||||
|
} |
||||
|
|
||||
|
.main { |
||||
|
padding-top: 20px; |
||||
|
// font-size: 40px; |
||||
|
|
||||
|
.div_tab{ |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
|
||||
|
.div_option{ |
||||
|
text-align: center; |
||||
|
color:#3e8ef7; |
||||
|
height:35px; |
||||
|
width:150px; |
||||
|
line-height: 35px; |
||||
|
padding:0 0; |
||||
|
border:1px solid #3e8ef7 ; |
||||
|
} |
||||
|
|
||||
|
.option_left{ |
||||
|
border-radius: 5px 0 0 5px; |
||||
|
} |
||||
|
.option_right{ |
||||
|
border-radius: 0 5px 5px 0; |
||||
|
} |
||||
|
|
||||
|
.option_select{ |
||||
|
color:#ffffff; |
||||
|
background-color:#3e8ef7 ; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.content { |
||||
|
margin-top:10px; |
||||
|
border-radius: 5px; |
||||
|
background-color: rgba(255, 255, 255, 0.787); |
||||
|
|
||||
|
.member_title { |
||||
|
padding: 10px; |
||||
|
font-size: 14px; |
||||
|
} |
||||
|
} |
||||
|
.content1 { |
||||
|
margin-top: 20px; |
||||
|
} |
||||
|
|
||||
|
.line { |
||||
|
border: 1px solid #e4e4e48e; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.div-btn { |
||||
|
margin-top: 30px; |
||||
|
padding-bottom: 20px; |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
|
||||
|
.btn { |
||||
|
width: 150px; |
||||
|
font-size: 16px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.picker_content { |
||||
|
color: rgb(59, 59, 59); |
||||
|
} |
||||
|
|
||||
|
.bg-caiji-success { |
||||
|
background: url("../../assets/img/caiji-bc.png") no-repeat; |
||||
|
background-size: 100% 100%; |
||||
|
height: 100vh; |
||||
|
width: 100vw; |
||||
|
text-align: center; |
||||
|
|
||||
|
.title { |
||||
|
// background-color: rgba(189, 214, 255, 0.89); |
||||
|
padding-top:30px; |
||||
|
font-size: 18px; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 800; |
||||
|
color: #333333; |
||||
|
display: flex; |
||||
|
height:25px; |
||||
|
align-items: center; |
||||
|
justify-content: center; |
||||
|
|
||||
|
>img{ |
||||
|
width:27px; |
||||
|
height:25px; |
||||
|
} |
||||
|
.title_name{ |
||||
|
margin-left:5px; |
||||
|
margin-top:5px; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.div_tip{ |
||||
|
text-align: center; |
||||
|
margin-top:35px; |
||||
|
font-size: 18px; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 800; |
||||
|
color: #2E78E2; |
||||
|
line-height: 26px; |
||||
|
} |
||||
|
|
||||
|
.div_content{ |
||||
|
|
||||
|
margin:20px 10px 30px 10px; |
||||
|
padding:20px 16px; |
||||
|
background: #FFFFFF; |
||||
|
border-radius: 10px; |
||||
|
font-size: 16px; |
||||
|
font-family: Source Han Serif SC; |
||||
|
font-weight: 400; |
||||
|
color: #333333; |
||||
|
text-align: left; |
||||
|
|
||||
|
|
||||
|
.content_long{ |
||||
|
display: flex; |
||||
|
justify-content: left; |
||||
|
align-items: flex-start; |
||||
|
|
||||
|
.content_title{ |
||||
|
// min-width: 85px; |
||||
|
flex:0 0 125px; |
||||
|
flex-shrink: 0; |
||||
|
text-align: right; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.marginT10{ |
||||
|
margin-top:10px; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.main { |
||||
|
margin-top: 100px; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
align-items: center; |
||||
|
justify-content: center; |
||||
|
|
||||
|
.icon-success { |
||||
|
font-size: 40px; |
||||
|
// width: 20px; |
||||
|
// height: 20px; |
||||
|
} |
||||
|
|
||||
|
.success-content { |
||||
|
margin-top: 10px; |
||||
|
font-size: 25px; |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,342 @@ |
|||||
|
<template> |
||||
|
<div class="div_main"> |
||||
|
<div class="div_search"> |
||||
|
<el-form :inline="true" |
||||
|
:model="formData" |
||||
|
ref="ref_searchform" |
||||
|
:label-width="'110px'"> |
||||
|
<div> |
||||
|
<el-form-item label="核酸检测时间" |
||||
|
label-width="110px" |
||||
|
prop="natStartDate"> |
||||
|
<el-date-picker v-model="timeRange" |
||||
|
size="small" |
||||
|
type="daterange" |
||||
|
@change="handleTimeChange" |
||||
|
format="yyyy-MM-dd" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
range-separator="至" |
||||
|
start-placeholder="开始时间" |
||||
|
end-placeholder="结束时间"> |
||||
|
</el-date-picker> |
||||
|
|
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-form-item label="场所名称" |
||||
|
prop="placeOrgName"> |
||||
|
<el-input v-model="formData.placeOrgName" |
||||
|
size="small" |
||||
|
class="list_item_width_1" |
||||
|
clearable |
||||
|
placeholder="请输入场所名称"> |
||||
|
</el-input> |
||||
|
|
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-button style="margin-left:30px" |
||||
|
size="small" |
||||
|
class="diy-button--search" |
||||
|
@click="handleSearch">查询</el-button> |
||||
|
<el-button style="margin-left:10px" |
||||
|
size="small" |
||||
|
class="diy-button--reset" |
||||
|
@click="resetSearch">重置</el-button> |
||||
|
</div> |
||||
|
|
||||
|
</el-form> |
||||
|
</div> |
||||
|
<div class="div_table"> |
||||
|
|
||||
|
<el-table class="table" |
||||
|
ref="ref_table" |
||||
|
:data="tableData" |
||||
|
border |
||||
|
:height="tableHeight" |
||||
|
v-loading="tableLoading" |
||||
|
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}" |
||||
|
style="width: 100%"> |
||||
|
<el-table-column label="序号" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
type="index" |
||||
|
width="50"></el-table-column> |
||||
|
|
||||
|
<el-table-column prop="placeOrgName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="场所名称" |
||||
|
min-width="200"> |
||||
|
</el-table-column> |
||||
|
|
||||
|
<el-table-column prop="natTime" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="检测时间" |
||||
|
width="200"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="szTotal" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="受众人数" |
||||
|
min-width="150"> |
||||
|
</el-table-column> |
||||
|
|
||||
|
<el-table-column prop="hsjcTotal" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
show-overflow-tooltip |
||||
|
label="核酸检测人数" |
||||
|
min-width="150"> |
||||
|
</el-table-column> |
||||
|
|
||||
|
<el-table-column label="操作" |
||||
|
fixed="right" |
||||
|
width="160" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
class="operate"> |
||||
|
<template slot-scope="scope"> |
||||
|
|
||||
|
<el-button v-if="scope.row.agencyId===agencyId " |
||||
|
type="text" |
||||
|
class="div-table-button--delete " |
||||
|
size="small" |
||||
|
@click="handleDelete(scope.row)">删除</el-button> |
||||
|
<!-- <el-button type="text" |
||||
|
class="div-table-button--delete " |
||||
|
size="small" |
||||
|
@click="handleDelete(scope.row)">删除</el-button> --> |
||||
|
|
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<div> |
||||
|
<el-pagination @size-change="handleSizeChange" |
||||
|
@current-change="handleCurrentChange" |
||||
|
:current-page.sync="pageNo" |
||||
|
:page-sizes="[20, 50, 100, 200]" |
||||
|
:page-size="pageSize" |
||||
|
layout="sizes, prev, pager, next, total" |
||||
|
:total="total"> |
||||
|
</el-pagination> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
|
||||
|
import { requestPost } from "@/js/dai/request"; |
||||
|
import { mapGetters } from 'vuex' |
||||
|
import { Loading } from 'element-ui' // 引入Loading服务 |
||||
|
|
||||
|
let loading // 加载动画 |
||||
|
export default { |
||||
|
data () { |
||||
|
return { |
||||
|
loading: false, |
||||
|
total: 0, |
||||
|
pageSize: 20, |
||||
|
pageNo: 0, |
||||
|
tableLoading: false, |
||||
|
|
||||
|
agencyId: '', |
||||
|
timeRange: [], |
||||
|
formData: { |
||||
|
placeOrgName: '',//检查状态,1:已检测;0:未检测 |
||||
|
natStartDate: '',//核酸检测开始日期,eg:2022-02-02 |
||||
|
natEndDate: '',//核酸检测结束日期,eg:2022-02-02 |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
tableData: [], |
||||
|
|
||||
|
//form相关 |
||||
|
detailShow: false, |
||||
|
formTitle: '新增', |
||||
|
|
||||
|
// btnAuths: { |
||||
|
// group_people_reg_del : false, //删除 |
||||
|
|
||||
|
// }, |
||||
|
|
||||
|
} |
||||
|
}, |
||||
|
components: { |
||||
|
|
||||
|
}, |
||||
|
async created () { |
||||
|
|
||||
|
}, |
||||
|
async mounted () { |
||||
|
// this.updateBtnAuths(); |
||||
|
const { user } = this.$store.state |
||||
|
this.agencyId = user.agencyId |
||||
|
|
||||
|
await this.loadTable() |
||||
|
}, |
||||
|
|
||||
|
activated () { |
||||
|
this.$refs['ref_table'].doLayout() |
||||
|
}, |
||||
|
|
||||
|
methods: { |
||||
|
async handleSearch () { |
||||
|
|
||||
|
await this.loadTable() |
||||
|
|
||||
|
this.$nextTick(() => { |
||||
|
this.$refs.ref_table.doLayout() // 解决表格错位 |
||||
|
}) |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
async loadTable () { |
||||
|
this.tableLoading = true |
||||
|
|
||||
|
const url = "/gov/org/icGroupPeopleRegister/list" |
||||
|
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/natlist" |
||||
|
let params = { |
||||
|
pageSize: this.pageSize, |
||||
|
pageNo: this.pageNo, |
||||
|
...this.formData |
||||
|
} |
||||
|
|
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
|
||||
|
if (code === 0) { |
||||
|
this.total = data.total |
||||
|
this.tableData = data.list |
||||
|
|
||||
|
this.tableData.forEach(item => { |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
|
||||
|
} else { |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
this.tableLoading = false |
||||
|
}, |
||||
|
|
||||
|
handleTimeChange (time) { |
||||
|
if (time) { |
||||
|
this.formData.natStartDate = time[0] |
||||
|
this.formData.natEndDate = time[1] |
||||
|
|
||||
|
} else { |
||||
|
this.formData.natStartDate = '' |
||||
|
this.formData.natEndDate = '' |
||||
|
|
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
diaDetailClose () { |
||||
|
|
||||
|
this.detailShow = false |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
async handleDelete (row) { |
||||
|
let message = '确认删除?' |
||||
|
|
||||
|
this.$confirm(message, "提示", { |
||||
|
confirmButtonText: "确定", |
||||
|
cancelButtonText: "取消", |
||||
|
type: "warning" |
||||
|
}) |
||||
|
.then(() => { |
||||
|
this.deleteStaff(row) |
||||
|
}) |
||||
|
.catch(err => { |
||||
|
|
||||
|
}); |
||||
|
}, |
||||
|
|
||||
|
async deleteStaff (row) { |
||||
|
const url = "/gov/org/icGroupPeopleRegister/delete" |
||||
|
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/del" |
||||
|
|
||||
|
let params = [row.id] |
||||
|
|
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
|
||||
|
if (code === 0) { |
||||
|
this.$message({ |
||||
|
type: "success", |
||||
|
message: "操作成功" |
||||
|
}); |
||||
|
|
||||
|
this.loadTable() |
||||
|
} else { |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
//重置搜索条件 |
||||
|
resetSearch () { |
||||
|
this.formData = { |
||||
|
placeOrgName: '',//检查状态,1:已检测;0:未检测 |
||||
|
|
||||
|
natStartDate: '',//核酸检测开始日期,eg:2022-02-02 |
||||
|
natEndDate: '',//核酸检测结束日期,eg:2022-02-02 |
||||
|
} |
||||
|
this.timeRange = [] |
||||
|
|
||||
|
|
||||
|
this.pageNo = 0 |
||||
|
// this.loadTable() |
||||
|
}, |
||||
|
|
||||
|
handleSizeChange (val) { |
||||
|
this.pageSize = val |
||||
|
this.pageNo = 1 |
||||
|
this.loadTable() |
||||
|
}, |
||||
|
handleCurrentChange (val) { |
||||
|
this.pageNo = val |
||||
|
this.loadTable() |
||||
|
}, |
||||
|
|
||||
|
|
||||
|
// 开启加载动画 |
||||
|
startLoading () { |
||||
|
loading = Loading.service({ |
||||
|
lock: true, // 是否锁定 |
||||
|
text: '正在加载……', // 加载中需要显示的文字 |
||||
|
background: 'rgba(0,0,0,.7)' // 背景颜色 |
||||
|
}) |
||||
|
}, |
||||
|
// 结束加载动画 |
||||
|
endLoading () { |
||||
|
// clearTimeout(timer); |
||||
|
if (loading) { |
||||
|
loading.close() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
tableHeight () { |
||||
|
|
||||
|
return this.$store.state.inIframe ? this.clientHeight - 320 + this.iframeHeight : this.clientHeight - 320 |
||||
|
|
||||
|
|
||||
|
}, |
||||
|
|
||||
|
...mapGetters(['clientHeight', 'iframeHeight']) |
||||
|
}, |
||||
|
watch: { |
||||
|
|
||||
|
}, |
||||
|
props: { |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style lang="scss" scoped > |
||||
|
@import "@/assets/scss/modules/management/epidemic.scss"; |
||||
|
</style> |
||||
|
|
||||
|
|
@ -0,0 +1,254 @@ |
|||||
|
<template> |
||||
|
<div class="epidemic-form"> |
||||
|
<div class="dialog-h-content scroll-h"> |
||||
|
|
||||
|
<div v-if="view_real_data" |
||||
|
class="div_tuomin"> |
||||
|
<el-button size="mini" |
||||
|
class="diy-button--search" |
||||
|
@click="handleTuomin">显示脱敏信息</el-button> |
||||
|
</div> |
||||
|
|
||||
|
<div v-if="initLoading" |
||||
|
class="m-row" |
||||
|
style="margin-top:40px"> |
||||
|
<div class="div_table"> |
||||
|
|
||||
|
<el-table class="table" |
||||
|
ref="ref_table" |
||||
|
:data="tableData" |
||||
|
border |
||||
|
:height="tableHeight" |
||||
|
v-loading="tableLoading" |
||||
|
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}" |
||||
|
style="width: 100%"> |
||||
|
<el-table-column label="序号" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
type="index" |
||||
|
width="50"></el-table-column> |
||||
|
|
||||
|
<el-table-column prop="name" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="姓名" |
||||
|
min-width="100"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="mobile" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="手机号" |
||||
|
min-width="110"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="idCard" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="身份证号" |
||||
|
min-width="170"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="ymjzCount" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="疫苗接种次数" |
||||
|
width="150"> |
||||
|
</el-table-column> |
||||
|
|
||||
|
<el-table-column prop="latestNatTime" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
show-overflow-tooltip |
||||
|
label="最后一次核酸检测时间" |
||||
|
min-width="230"> |
||||
|
</el-table-column> |
||||
|
|
||||
|
</el-table> |
||||
|
<div> |
||||
|
<el-pagination @size-change="handleSizeChange" |
||||
|
@current-change="handleCurrentChange" |
||||
|
:current-page.sync="pageNo" |
||||
|
:page-sizes="[20, 50, 100, 200]" |
||||
|
:page-size="pageSize" |
||||
|
layout="sizes, prev, pager, next, total" |
||||
|
:total="total"> |
||||
|
</el-pagination> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<div class="div-btn"> |
||||
|
<el-button size="small" |
||||
|
@click="handleCancle">关 闭</el-button> |
||||
|
<!-- <el-button v-if="formType != 'detail'" |
||||
|
size="small" |
||||
|
type="primary" |
||||
|
:disabled="btnDisable" |
||||
|
@click="handleComfirm">确 定</el-button> --> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
|
||||
|
import { Loading } from 'element-ui' // 引入Loading服务 |
||||
|
import { requestPost } from '@/js/dai/request' |
||||
|
import { mapGetters } from 'vuex' |
||||
|
|
||||
|
|
||||
|
let loading // 加载动画 |
||||
|
export default { |
||||
|
data () { |
||||
|
return { |
||||
|
initLoading: false, |
||||
|
loading: false, |
||||
|
total: 0, |
||||
|
pageSize: 20, |
||||
|
pageNo: 0, |
||||
|
tableLoading: false, |
||||
|
tableData: [], |
||||
|
|
||||
|
registerId: '', |
||||
|
|
||||
|
} |
||||
|
}, |
||||
|
components: {}, |
||||
|
async mounted () { |
||||
|
const { user } = this.$store.state |
||||
|
this.agencyId = user.agencyId |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
methods: { |
||||
|
|
||||
|
|
||||
|
async initForm (registerId) { |
||||
|
this.startLoading() |
||||
|
this.registerId = registerId |
||||
|
await this.loadTable() |
||||
|
|
||||
|
this.initLoading = true |
||||
|
this.endLoading() |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
async loadTable () { |
||||
|
this.tableLoading = true |
||||
|
|
||||
|
const url = "/gov/org/icEmployeeRegister/detailList" |
||||
|
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/natlist" |
||||
|
let params = { |
||||
|
pageSize: this.pageSize, |
||||
|
pageNo: this.pageNo, |
||||
|
registerId: this.registerId |
||||
|
} |
||||
|
|
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
|
||||
|
if (code === 0) { |
||||
|
this.total = data.total |
||||
|
this.tableData = data.list |
||||
|
|
||||
|
this.tableData.forEach(item => { |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
|
||||
|
} else { |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
this.tableLoading = false |
||||
|
}, |
||||
|
|
||||
|
async handleTuomin () { |
||||
|
const url = "/data/aggregator/epmetuser/detailByType"; |
||||
|
|
||||
|
const { data, code, msg } = await requestPost(url, { |
||||
|
id: this.registerId, |
||||
|
type: "employeeEpidemicManageDetail", |
||||
|
}); |
||||
|
|
||||
|
if (code === 0) { |
||||
|
this.tableData.forEach(element => { |
||||
|
element.mobile = data.mobile |
||||
|
element.idCard = data.idCard |
||||
|
// this.$set(this.formData, 'showMobile', data.mobile) |
||||
|
// this.$set(this.formData, 'showIdCard', data.idCard) |
||||
|
}); |
||||
|
|
||||
|
} else { |
||||
|
this.$message.error(msg); |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
handleCancle () { |
||||
|
// this.resetData() |
||||
|
this.$emit('dialogCancle') |
||||
|
|
||||
|
}, |
||||
|
handleSizeChange (val) { |
||||
|
this.pageSize = val |
||||
|
this.pageNo = 1 |
||||
|
this.loadTable() |
||||
|
}, |
||||
|
handleCurrentChange (val) { |
||||
|
this.pageNo = val |
||||
|
this.loadTable() |
||||
|
}, |
||||
|
|
||||
|
resetData () { |
||||
|
|
||||
|
this.formData = {} |
||||
|
}, |
||||
|
// 开启加载动画 |
||||
|
startLoading () { |
||||
|
loading = Loading.service({ |
||||
|
lock: true, // 是否锁定 |
||||
|
text: '正在加载……', // 加载中需要显示的文字 |
||||
|
background: 'rgba(0,0,0,.7)' // 背景颜色 |
||||
|
}) |
||||
|
}, |
||||
|
// 结束加载动画 |
||||
|
endLoading () { |
||||
|
// clearTimeout(timer); |
||||
|
if (loading) { |
||||
|
loading.close() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
tableHeight () { |
||||
|
|
||||
|
return this.$store.state.inIframe ? this.clientHeight - 420 + this.iframeHeight : this.clientHeight - 420 |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
...mapGetters(['clientHeight', 'iframeHeight']) |
||||
|
|
||||
|
}, |
||||
|
props: { |
||||
|
view_real_data: {//显示【显示脱敏信息】按钮 |
||||
|
type: Boolean, |
||||
|
default: true, |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
@import "@/assets/scss/modules/management/detail-main.scss"; |
||||
|
|
||||
|
.div_tuomin { |
||||
|
position: absolute; |
||||
|
top: 0; |
||||
|
right: 70px; |
||||
|
z-index: 1000; |
||||
|
} |
||||
|
</style> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,476 @@ |
|||||
|
<template> |
||||
|
<div class="div_main"> |
||||
|
<div class="div_search"> |
||||
|
<el-form :inline="true" |
||||
|
:model="formData" |
||||
|
ref="ref_searchform" |
||||
|
:label-width="'110px'"> |
||||
|
<div> |
||||
|
<el-form-item label="核酸检测时间" |
||||
|
label-width="110px" |
||||
|
prop="natStartDate"> |
||||
|
<el-date-picker v-model="timeRange" |
||||
|
size="small" |
||||
|
type="daterange" |
||||
|
@change="handleTimeChange" |
||||
|
format="yyyy-MM-dd" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
range-separator="至" |
||||
|
start-placeholder="开始时间" |
||||
|
end-placeholder="结束时间"> |
||||
|
</el-date-picker> |
||||
|
|
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-form-item label="检测状态"> |
||||
|
<el-select class="list_item_width_1" |
||||
|
size="small" |
||||
|
v-model.trim="formData.checkStatus" |
||||
|
placeholder="请选择"> |
||||
|
<el-option v-for="item in statusList" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="场所名称" |
||||
|
prop="placeOrgName"> |
||||
|
<el-input v-model="formData.placeOrgName" |
||||
|
size="small" |
||||
|
class="list_item_width_1" |
||||
|
clearable |
||||
|
placeholder="请输入场所名称"> |
||||
|
</el-input> |
||||
|
|
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-form-item label="场所类型" |
||||
|
prop="placeCategory"> |
||||
|
<el-select class="item_width_1" |
||||
|
size="small" |
||||
|
v-model="formData.placeCategory" |
||||
|
placeholder="请选择" |
||||
|
clearable> |
||||
|
<el-option v-for="item in placeCategoryList" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
|
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-form-item label="姓名" |
||||
|
prop="name"> |
||||
|
<el-input v-model="formData.name" |
||||
|
size="small" |
||||
|
class="list_item_width_1" |
||||
|
clearable |
||||
|
placeholder="请输入姓名"> |
||||
|
</el-input> |
||||
|
|
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-form-item label="手机号" |
||||
|
prop="mobile"> |
||||
|
<el-input v-model="formData.mobile" |
||||
|
size="small" |
||||
|
class="list_item_width_1" |
||||
|
clearable |
||||
|
placeholder="请输入手机号"> |
||||
|
</el-input> |
||||
|
|
||||
|
</el-form-item> |
||||
|
<el-form-item label="证件号" |
||||
|
prop="idCard"> |
||||
|
<el-input v-model="formData.idCard" |
||||
|
size="small" |
||||
|
class="list_item_width_1" |
||||
|
clearable |
||||
|
placeholder="请输入身份证号或护照号"> |
||||
|
</el-input> |
||||
|
|
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-button style="margin-left:30px" |
||||
|
size="small" |
||||
|
class="diy-button--search" |
||||
|
@click="handleSearch">查询</el-button> |
||||
|
<el-button style="margin-left:10px" |
||||
|
size="small" |
||||
|
class="diy-button--reset" |
||||
|
@click="resetSearch">重置</el-button> |
||||
|
</div> |
||||
|
|
||||
|
</el-form> |
||||
|
</div> |
||||
|
<div class="div_table"> |
||||
|
|
||||
|
<el-table class="table" |
||||
|
ref="ref_table" |
||||
|
:data="tableData" |
||||
|
border |
||||
|
:height="tableHeight" |
||||
|
v-loading="tableLoading" |
||||
|
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}" |
||||
|
style="width: 100%"> |
||||
|
<el-table-column label="序号" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
type="index" |
||||
|
width="50"></el-table-column> |
||||
|
|
||||
|
<el-table-column prop="placeOrgName" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="场所名称" |
||||
|
min-width="120"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="name" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="姓名" |
||||
|
min-width="100"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="mobile" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="手机号" |
||||
|
min-width="110"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="idCard" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="证件号" |
||||
|
min-width="170"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="ymjzCount" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
label="疫苗接种次数" |
||||
|
width="150"> |
||||
|
</el-table-column> |
||||
|
|
||||
|
<el-table-column prop="latestNatTime" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
show-overflow-tooltip |
||||
|
label="最后一次核酸检测时间" |
||||
|
min-width="230"> |
||||
|
</el-table-column> |
||||
|
|
||||
|
<el-table-column label="操作" |
||||
|
fixed="right" |
||||
|
width="160" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
class="operate"> |
||||
|
<template slot-scope="scope"> |
||||
|
|
||||
|
<el-button type="text" |
||||
|
class="div-table-button--detail" |
||||
|
size="small" |
||||
|
@click="handleDetail(scope.row)">查看</el-button> |
||||
|
|
||||
|
<el-button v-if="scope.row.agencyId===agencyId " |
||||
|
type="text" |
||||
|
class="div-table-button--delete " |
||||
|
size="small" |
||||
|
@click="handleDelete(scope.row)">删除</el-button> |
||||
|
<!-- <el-button type="text" |
||||
|
class="div-table-button--delete " |
||||
|
size="small" |
||||
|
@click="handleDelete(scope.row)">删除</el-button> --> |
||||
|
|
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<div> |
||||
|
<el-pagination @size-change="handleSizeChange" |
||||
|
@current-change="handleCurrentChange" |
||||
|
:current-page.sync="pageNo" |
||||
|
:page-sizes="[20, 50, 100, 200]" |
||||
|
:page-size="pageSize" |
||||
|
layout="sizes, prev, pager, next, total" |
||||
|
:total="total"> |
||||
|
</el-pagination> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<!-- 详情弹出框 --> |
||||
|
<el-dialog :visible.sync="detailShow" |
||||
|
:close-on-click-modal="false" |
||||
|
:close-on-press-escape="false" |
||||
|
:title="'详情'" |
||||
|
width="1350px" |
||||
|
top="5vh" |
||||
|
class="dialog-h" |
||||
|
@closed="diaDetailClose"> |
||||
|
<staff-epid-detail ref="ref_detail" |
||||
|
@dialogCancle="diaDetailClose"></staff-epid-detail> |
||||
|
</el-dialog> |
||||
|
|
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
|
||||
|
|
||||
|
import staffEpidDetail from './staffEpidDetail' |
||||
|
|
||||
|
import { requestPost } from "@/js/dai/request"; |
||||
|
import { mapGetters } from 'vuex' |
||||
|
import { Loading } from 'element-ui' // 引入Loading服务 |
||||
|
|
||||
|
let loading // 加载动画 |
||||
|
export default { |
||||
|
data () { |
||||
|
return { |
||||
|
loading: false, |
||||
|
total: 0, |
||||
|
pageSize: 20, |
||||
|
pageNo: 0, |
||||
|
tableLoading: false, |
||||
|
|
||||
|
agencyId: '', |
||||
|
placeCategoryList: [ |
||||
|
{ |
||||
|
value: '0', |
||||
|
label: '九小场所' |
||||
|
}, |
||||
|
{ |
||||
|
value: '1', |
||||
|
label: '企事业单位' |
||||
|
} |
||||
|
],//场所类型list |
||||
|
statusList: [ |
||||
|
{ |
||||
|
value: '1', |
||||
|
label: '已检测' |
||||
|
}, |
||||
|
{ |
||||
|
value: '0', |
||||
|
label: '未检测' |
||||
|
} |
||||
|
], |
||||
|
|
||||
|
|
||||
|
timeRange: [], |
||||
|
|
||||
|
formData: { |
||||
|
checkStatus: '',//检查状态,1:已检测;0:未检测 |
||||
|
name: '',//姓名 |
||||
|
mobile: '',//手机号 |
||||
|
idCard: '',//身份证号码 |
||||
|
natStartDate: '',//核酸检测开始日期,eg:2022-02-02 |
||||
|
natEndDate: '',//核酸检测结束日期,eg:2022-02-02 |
||||
|
placeOrgName: '',//场所名称 |
||||
|
placeCategory: '',//场所类别:0九小场所、1企事业单位 |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
tableData: [], |
||||
|
|
||||
|
//form相关 |
||||
|
|
||||
|
detailShow: false, |
||||
|
|
||||
|
// btnAuths: { |
||||
|
// employee_register_del : false, //删除 |
||||
|
// employee_register_view_real_data: false, //显示脱敏信息 |
||||
|
|
||||
|
// }, |
||||
|
|
||||
|
} |
||||
|
}, |
||||
|
components: { |
||||
|
staffEpidDetail |
||||
|
}, |
||||
|
async created () { |
||||
|
|
||||
|
}, |
||||
|
async mounted () { |
||||
|
// this.updateBtnAuths(); |
||||
|
const { user } = this.$store.state |
||||
|
this.agencyId = user.agencyId |
||||
|
|
||||
|
|
||||
|
await this.loadTable() |
||||
|
}, |
||||
|
|
||||
|
activated () { |
||||
|
this.$refs['ref_table'].doLayout() |
||||
|
}, |
||||
|
|
||||
|
methods: { |
||||
|
|
||||
|
async handleSearch () { |
||||
|
|
||||
|
await this.loadTable() |
||||
|
|
||||
|
this.$nextTick(() => { |
||||
|
this.$refs.ref_table.doLayout() // 解决表格错位 |
||||
|
}) |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
async loadTable () { |
||||
|
this.tableLoading = true |
||||
|
|
||||
|
const url = "/gov/org/icEmployeeRegister/list" |
||||
|
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/natlist" |
||||
|
let params = { |
||||
|
pageSize: this.pageSize, |
||||
|
pageNo: this.pageNo, |
||||
|
...this.formData |
||||
|
} |
||||
|
|
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
|
||||
|
if (code === 0) { |
||||
|
this.total = data.total |
||||
|
this.tableData = data.list |
||||
|
|
||||
|
this.tableData.forEach(item => { |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
|
||||
|
} else { |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
this.tableLoading = false |
||||
|
}, |
||||
|
|
||||
|
handleTimeChange (time) { |
||||
|
if (time) { |
||||
|
this.formData.natStartDate = time[0] |
||||
|
this.formData.natEndDate = time[1] |
||||
|
|
||||
|
} else { |
||||
|
this.formData.natStartDate = '' |
||||
|
this.formData.natEndDate = '' |
||||
|
|
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
async handleDetail (row) { |
||||
|
|
||||
|
this.detailShow = true |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs.ref_detail.initForm(row.registerId) |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
diaDetailClose () { |
||||
|
|
||||
|
this.detailShow = false |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
async handleDelete (row) { |
||||
|
let message = '确认删除?' |
||||
|
|
||||
|
this.$confirm(message, "提示", { |
||||
|
confirmButtonText: "确定", |
||||
|
cancelButtonText: "取消", |
||||
|
type: "warning" |
||||
|
}) |
||||
|
.then(() => { |
||||
|
this.deleteStaff(row) |
||||
|
}) |
||||
|
.catch(err => { |
||||
|
|
||||
|
}); |
||||
|
}, |
||||
|
|
||||
|
async deleteStaff (row) { |
||||
|
const url = "/gov/org/icEmployeeRegister/delete" |
||||
|
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/del" |
||||
|
|
||||
|
let params = [row.registerId] |
||||
|
|
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
|
||||
|
if (code === 0) { |
||||
|
this.$message({ |
||||
|
type: "success", |
||||
|
message: "操作成功" |
||||
|
}); |
||||
|
|
||||
|
this.loadTable() |
||||
|
} else { |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
//重置搜索条件 |
||||
|
resetSearch () { |
||||
|
this.formData = { |
||||
|
checkStatus: '',//检查状态,1:已检测;0:未检测 |
||||
|
name: '',//姓名 |
||||
|
mobile: '',//手机号 |
||||
|
idCard: '',//身份证号码 |
||||
|
natStartDate: '',//核酸检测开始日期,eg:2022-02-02 |
||||
|
natEndDate: '',//核酸检测结束日期,eg:2022-02-02 |
||||
|
placeOrgName: '',//场所名称 |
||||
|
placeCategory: '',//场所类别:0九小场所、1企事业单位 |
||||
|
} |
||||
|
this.timeRange = [] |
||||
|
|
||||
|
|
||||
|
this.pageNo = 0 |
||||
|
// this.loadTable() |
||||
|
}, |
||||
|
|
||||
|
handleSizeChange (val) { |
||||
|
this.pageSize = val |
||||
|
this.pageNo = 1 |
||||
|
this.loadTable() |
||||
|
}, |
||||
|
handleCurrentChange (val) { |
||||
|
this.pageNo = val |
||||
|
this.loadTable() |
||||
|
}, |
||||
|
|
||||
|
// 开启加载动画 |
||||
|
startLoading () { |
||||
|
loading = Loading.service({ |
||||
|
lock: true, // 是否锁定 |
||||
|
text: '正在加载……', // 加载中需要显示的文字 |
||||
|
background: 'rgba(0,0,0,.7)' // 背景颜色 |
||||
|
}) |
||||
|
}, |
||||
|
// 结束加载动画 |
||||
|
endLoading () { |
||||
|
// clearTimeout(timer); |
||||
|
if (loading) { |
||||
|
loading.close() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
tableHeight () { |
||||
|
|
||||
|
return this.$store.state.inIframe ? this.clientHeight - 370 + this.iframeHeight : this.clientHeight - 370 |
||||
|
|
||||
|
|
||||
|
}, |
||||
|
|
||||
|
...mapGetters(['clientHeight', 'iframeHeight']) |
||||
|
}, |
||||
|
watch: { |
||||
|
|
||||
|
}, |
||||
|
props: { |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style lang="scss" scoped > |
||||
|
@import "@/assets/scss/modules/management/epidemic.scss"; |
||||
|
</style> |
||||
|
|
||||
|
|
File diff suppressed because it is too large
@ -0,0 +1,501 @@ |
|||||
|
<template> |
||||
|
<div class="bg-caiji"> |
||||
|
<div class="title"> |
||||
|
员工登记 |
||||
|
</div> |
||||
|
<div class="main"> |
||||
|
|
||||
|
<div class="div_tab"> |
||||
|
<div :class="['div_option','option_left',{'option_select':selectTab==='1'}]" |
||||
|
@click="handleChangeTab('1')"> 员工登记</div> |
||||
|
<div :class="['div_option','option_right',{'option_select':selectTab==='2'}]" |
||||
|
@click="handleChangeTab('2')">受众群体登记</div> |
||||
|
</div> |
||||
|
|
||||
|
<div v-if="selectTab==='1'" |
||||
|
class="content"> |
||||
|
|
||||
|
<mt-cell title="*企业名称"> |
||||
|
|
||||
|
<span style="margin-right:20px">{{placeOrgName}}</span> |
||||
|
</mt-cell> |
||||
|
<div class="line"></div> |
||||
|
|
||||
|
<mt-field class="my-field" |
||||
|
:disableClear="true" |
||||
|
:label="'*姓名'" |
||||
|
placeholder="请输入" |
||||
|
v-model="formData.name"></mt-field> |
||||
|
<div class="line"></div> |
||||
|
<mt-field class="my-field" |
||||
|
:disableClear="true" |
||||
|
:label="'*手机号'" |
||||
|
placeholder="请输入" |
||||
|
type="tel" |
||||
|
v-model="formData.mobile"></mt-field> |
||||
|
<div class="line"></div> |
||||
|
<mt-field class="my-field" |
||||
|
type="url" |
||||
|
:disableClear="true" |
||||
|
:label="'*证件号'" |
||||
|
placeholder="请输入" |
||||
|
v-model="formData.idCard"></mt-field> |
||||
|
<div class="line"></div> |
||||
|
|
||||
|
<div @click="handelSel('ymjzCount')"> |
||||
|
<mt-cell :title="'*疫苗接种次数'" |
||||
|
is-link> |
||||
|
<span class="picker_content" |
||||
|
v-if="formData.ymjzCount">{{formData.ymjzCountName}}</span> |
||||
|
<span v-else>请选择</span> |
||||
|
</mt-cell> |
||||
|
</div> |
||||
|
<div class="line"></div> |
||||
|
<div @click="handelSelData()"> |
||||
|
<mt-cell :title="'*最近一次核酸检测时间'" |
||||
|
is-link> |
||||
|
<span class="picker_content" |
||||
|
v-if="formData.latestNatTime">{{formData.latestNatTime}}</span> |
||||
|
<span v-else>请选择</span> |
||||
|
</mt-cell> |
||||
|
</div> |
||||
|
<div class="line"></div> |
||||
|
|
||||
|
</div> |
||||
|
<div v-if="selectTab==='2'" |
||||
|
class="content"> |
||||
|
|
||||
|
<mt-cell title="*企业名称"> |
||||
|
|
||||
|
<span style="margin-right:20px">{{placeOrgName}}</span> |
||||
|
</mt-cell> |
||||
|
<div class="line"></div> |
||||
|
<div @click="handelSelData()"> |
||||
|
<mt-cell :title="'*核酸检测时间'" |
||||
|
is-link> |
||||
|
<span class="picker_content" |
||||
|
v-if="formData2.natTime">{{formData2.natTime}}</span> |
||||
|
<span v-else>请选择</span> |
||||
|
</mt-cell> |
||||
|
</div> |
||||
|
<div class="line"></div> |
||||
|
<mt-field class="my-field" |
||||
|
:disableClear="true" |
||||
|
:label="'*受众人数'" |
||||
|
placeholder="请输入" |
||||
|
type="number" |
||||
|
v-model="formData2.szTotal"></mt-field> |
||||
|
<div class="line"></div> |
||||
|
<mt-field class="my-field" |
||||
|
:disableClear="true" |
||||
|
:label="'*核酸检测人数'" |
||||
|
placeholder="请输入" |
||||
|
type="number" |
||||
|
v-model="formData2.hsjcTotal"></mt-field> |
||||
|
<div class="line"></div> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<div class="div-btn"> |
||||
|
<mt-button @click="handleSubmit" |
||||
|
type="primary" |
||||
|
class="btn" |
||||
|
:disabled="btnDisabled" |
||||
|
size="small">提交</mt-button> |
||||
|
</div> |
||||
|
|
||||
|
<mt-popup v-model="popupVisible" |
||||
|
popup-transition="popup-fade" |
||||
|
closeOnClickModal="true" |
||||
|
position="bottom"> |
||||
|
<mt-picker :slots="popupSlots" |
||||
|
class="div_picker" |
||||
|
value-key="label" |
||||
|
@change="onPickerChange" |
||||
|
showToolbar> |
||||
|
<div class="picker-toolbar-title"> |
||||
|
<div class="usi-btn-cancel" |
||||
|
@click="popupVisible = !popupVisible">取消</div> |
||||
|
<div class="">请选择</div> |
||||
|
<div class="usi-btn-sure" |
||||
|
@click="popupOk()">确定</div> |
||||
|
</div> |
||||
|
</mt-picker> |
||||
|
</mt-popup> |
||||
|
<mt-datetime-picker v-model="pickerVisible" |
||||
|
ref="pickerData" |
||||
|
type="date" |
||||
|
class="picker_data" |
||||
|
:startDate="startDate" |
||||
|
year-format="{value} 年" |
||||
|
month-format="{value} 月" |
||||
|
date-format="{value} 日" |
||||
|
@confirm="handleConfirm"> |
||||
|
</mt-datetime-picker> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
|
||||
|
|
||||
|
import { requestPost } from "@/js/dai/request"; |
||||
|
import { Toast } from "mint-ui"; |
||||
|
import { MessageBox } from 'mint-ui'; |
||||
|
import { Loading } from 'element-ui' // 引入Loading服务 |
||||
|
import { messages } from '@/i18n' |
||||
|
|
||||
|
let loading // 加载动画 |
||||
|
export default { |
||||
|
data () { |
||||
|
return { |
||||
|
selectTab: '1', |
||||
|
pickerVisible: new Date(), |
||||
|
startDate: new Date(2021, 0, 1), |
||||
|
|
||||
|
//二维码带来数据 |
||||
|
enterpriseId: '',//场所Id |
||||
|
customerId: '',//客户Id |
||||
|
placeOrgName: '',//场所名称 |
||||
|
|
||||
|
formData: { |
||||
|
enterpriseId: '',//场所ID |
||||
|
customerId: '',//客户id |
||||
|
name: '', |
||||
|
idCard: '', |
||||
|
mobile: '', |
||||
|
ymjzCount: null, |
||||
|
ymjzCountName: '', |
||||
|
latestNatTime: '', |
||||
|
}, |
||||
|
formData2: { |
||||
|
enterpriseId: '',//场所ID |
||||
|
customerId: '',//客户id |
||||
|
natTime: '',//受众人数 |
||||
|
szTotal: '',//核酸检测人数 |
||||
|
hsjcTotal: '',//客户ID |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
btnDisabled: false, |
||||
|
popupVisible: false, |
||||
|
|
||||
|
|
||||
|
shequName: '',//社区名称 |
||||
|
|
||||
|
selType: 'community',//弹出框所显示的数据类型:community、building、unit、room |
||||
|
pickerData: [], |
||||
|
|
||||
|
selObj: {}, |
||||
|
|
||||
|
showMessagsBox: false,//是否显示人员未填写提示弹出框 |
||||
|
|
||||
|
detNumList: [],//参加核酸次数list |
||||
|
|
||||
|
popupSlots: [//问题类型弹框数据 |
||||
|
{ |
||||
|
values: [] |
||||
|
} |
||||
|
], |
||||
|
|
||||
|
} |
||||
|
}, |
||||
|
components: {}, |
||||
|
computed: { |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
created () { |
||||
|
console.log(this.$route) |
||||
|
|
||||
|
this.customerId = this.$route.query.customerId |
||||
|
this.enterpriseId = this.$route.query.enterpriseId |
||||
|
this.placeOrgName = this.$route.query.placeOrgName |
||||
|
document.title = this.placeOrgName + '员工登记' |
||||
|
}, |
||||
|
mounted () { |
||||
|
|
||||
|
let envShow = process.env.VUE_APP_NODE_ENV |
||||
|
console.log('环境', envShow) |
||||
|
|
||||
|
this.formData.customerId = this.customerId |
||||
|
this.formData.enterpriseId = this.enterpriseId |
||||
|
|
||||
|
this.formData2.customerId = this.customerId |
||||
|
this.formData2.enterpriseId = this.enterpriseId |
||||
|
|
||||
|
this.detNumList = [] |
||||
|
for (let i = 0; i < 4; i++) { |
||||
|
let obj = { |
||||
|
value: i + '', |
||||
|
label: i + '次', |
||||
|
} |
||||
|
this.detNumList.push(obj) |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
methods: { |
||||
|
handleChangeTab (val) { |
||||
|
this.selectTab = val |
||||
|
}, |
||||
|
handelSelData () { |
||||
|
this.$refs.pickerData.open(); // 触发 |
||||
|
// this.$refs.pickerData.close() ; // 关闭 |
||||
|
}, |
||||
|
|
||||
|
handleConfirm (val) { |
||||
|
let time = new Date(val); |
||||
|
|
||||
|
let year = time.getFullYear() |
||||
|
let month = time.getMonth() + 1 |
||||
|
let day = time.getDate() |
||||
|
if (this.selectTab === '1') { |
||||
|
this.formData.latestNatTime = year + '-' + month + '-' + day |
||||
|
} else if (this.selectTab === '2') { |
||||
|
this.formData2.natTime = year + '-' + month + '-' + day |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
handelSel (selType) { |
||||
|
this.selType = selType |
||||
|
|
||||
|
if (selType === 'ymjzCount') { |
||||
|
this.pickerData = this.detNumList |
||||
|
} |
||||
|
|
||||
|
let obj = { |
||||
|
values: this.pickerData |
||||
|
} |
||||
|
|
||||
|
this.popupSlots = [] |
||||
|
this.popupSlots.push(obj) |
||||
|
this.popupVisible = !this.popupVisible |
||||
|
}, |
||||
|
|
||||
|
async handleSubmit () { |
||||
|
let message = this.validataFormData() |
||||
|
|
||||
|
if (message) { |
||||
|
if (this.showMessagsBox) { |
||||
|
MessageBox.confirm(message).then(action => { |
||||
|
this.submit() |
||||
|
}); |
||||
|
} else { |
||||
|
Toast({ |
||||
|
message: message, |
||||
|
duration: 3000 |
||||
|
}); |
||||
|
} |
||||
|
} else { |
||||
|
|
||||
|
this.submit() |
||||
|
} |
||||
|
|
||||
|
|
||||
|
}, |
||||
|
async submit () { |
||||
|
let url = "/gov/org/icEmployeeRegister/add" |
||||
|
let params = {} |
||||
|
if (this.selectTab === '1') { |
||||
|
url = '/gov/org/icEmployeeRegister/add' |
||||
|
params = this.formData |
||||
|
} else if (this.selectTab === '2') { |
||||
|
url = '/gov/org/icGroupPeopleRegister/add' |
||||
|
params = this.formData2 |
||||
|
} |
||||
|
console.log(params) |
||||
|
// return false |
||||
|
this.btnDisabled = true |
||||
|
this.startLoading() |
||||
|
|
||||
|
|
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
this.endLoading() |
||||
|
this.btnDisabled = false |
||||
|
if (code === 0) { |
||||
|
|
||||
|
this.$router.replace({ |
||||
|
name: 'staffRegisterSuccess', |
||||
|
query: { |
||||
|
selectTab: this.selectTab, |
||||
|
placeOrgName: this.placeOrgName, |
||||
|
formData: this.selectTab === '1' ? this.formData : this.formData2 |
||||
|
} |
||||
|
}) |
||||
|
// Toast({ |
||||
|
// message: '提交成功', |
||||
|
// duration: 3000 |
||||
|
// }); |
||||
|
|
||||
|
} else { |
||||
|
Toast({ |
||||
|
message: msg, |
||||
|
duration: 3000 |
||||
|
}); |
||||
|
|
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
//必填验证 |
||||
|
validataFormData () { |
||||
|
|
||||
|
let aletMessage = '' |
||||
|
this.showMessagsBox = false |
||||
|
if (this.selectTab === '1') {//员工 |
||||
|
if (!this.formData.name) { |
||||
|
aletMessage = '请填写姓名' |
||||
|
|
||||
|
return aletMessage |
||||
|
} |
||||
|
if (!this.formData.mobile) { |
||||
|
aletMessage = '请填写手机号' |
||||
|
return aletMessage |
||||
|
} |
||||
|
|
||||
|
if (!this.formData.idCard) {// |
||||
|
aletMessage = '请填写证件号' |
||||
|
return aletMessage |
||||
|
|
||||
|
} else { |
||||
|
|
||||
|
let reg = new RegExp("[\\u4E00-\\u9FFF]+", "g"); |
||||
|
if (escape(this.formData.idCard).indexOf("%u") > 0 || escape(this.formData.idCard).indexOf("%u") == 0) { |
||||
|
aletMessage = '请输入正确的身份证号或者护照号' |
||||
|
return aletMessage |
||||
|
} |
||||
|
|
||||
|
if (this.formData.idCard.length > 18) { |
||||
|
aletMessage = '请输入正确的身份证号或者护照号' |
||||
|
return aletMessage |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
if (!this.formData.ymjzCount) {// |
||||
|
aletMessage = '请选择疫苗接种次数' |
||||
|
return aletMessage |
||||
|
|
||||
|
} |
||||
|
if (!this.formData.latestNatTime) {// |
||||
|
aletMessage = '请选择最近一次核酸检测时间' |
||||
|
return aletMessage |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
} else if (this.selectTab === '2') {//企业 |
||||
|
if (!this.formData2.natTime) { |
||||
|
aletMessage = '请选择核酸检测时间' |
||||
|
|
||||
|
return aletMessage |
||||
|
} |
||||
|
if (!this.formData2.szTotal) { |
||||
|
aletMessage = '请填写受众人数' |
||||
|
return aletMessage |
||||
|
} |
||||
|
|
||||
|
if (!this.formData2.hsjcTotal) {// |
||||
|
aletMessage = '核酸检测人数' |
||||
|
return aletMessage |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
}, |
||||
|
|
||||
|
popupOk () { |
||||
|
|
||||
|
if (this.selType === 'ymjzCount') { |
||||
|
this.formData.ymjzCount = this.selObj.value |
||||
|
this.formData.ymjzCountName = this.selObj.label |
||||
|
} |
||||
|
this.popupVisible = false |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
onPickerChange (picker, values) { |
||||
|
|
||||
|
this.selObj = values[0] |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
// 开启加载动画 |
||||
|
startLoading () { |
||||
|
loading = Loading.service({ |
||||
|
lock: true, // 是否锁定 |
||||
|
text: '正在加载……', // 加载中需要显示的文字 |
||||
|
background: 'rgba(0,0,0,.7)' // 背景颜色 |
||||
|
}) |
||||
|
}, |
||||
|
// 结束加载动画 |
||||
|
endLoading () { |
||||
|
// clearTimeout(timer); |
||||
|
if (loading) { |
||||
|
loading.close() |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
}, |
||||
|
beforeDestroy () { |
||||
|
// document.title = messages[val].brand.lg |
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped > |
||||
|
@import "@/assets/scss/pages/staffRegister.scss"; |
||||
|
/deep/ .mint-cell-wrapper { |
||||
|
padding: 0 5px 0 0; |
||||
|
} |
||||
|
.my-field /deep/ .mint-field-core { |
||||
|
text-align: right; |
||||
|
margin-right: 20px; |
||||
|
} |
||||
|
.my-field /deep/ .mint-cell-title { |
||||
|
width: 110px; |
||||
|
} |
||||
|
|
||||
|
/deep/ .mint-popup-bottom { |
||||
|
height: 300px; |
||||
|
width: 100vw; |
||||
|
} |
||||
|
|
||||
|
// /deep/ .picker { |
||||
|
// height: 300px; |
||||
|
// } |
||||
|
/deep/ .picker-items { |
||||
|
height: 250px; |
||||
|
width: 100vw; |
||||
|
} |
||||
|
/deep/ .picker-slot-center { |
||||
|
width: 100vw; |
||||
|
} |
||||
|
// /deep/ .picker-center-highlight { |
||||
|
// top: 35%; |
||||
|
// } |
||||
|
.div_picker { |
||||
|
/deep/ .picker-center-highlight { |
||||
|
top: 35%; |
||||
|
} |
||||
|
} |
||||
|
.picker-toolbar-title { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-around; |
||||
|
align-items: center; |
||||
|
background-color: #eee; |
||||
|
height: 44px; |
||||
|
line-height: 44px; |
||||
|
font-size: 16px; |
||||
|
.usi-btn-cancel, |
||||
|
.usi-btn-sure { |
||||
|
color: #26a2ff; |
||||
|
font-size: 16px; |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,147 @@ |
|||||
|
<template> |
||||
|
<div class="bg-caiji-success"> |
||||
|
<div class="title"> |
||||
|
<img src="@/assets/img/logo.png"> |
||||
|
<div class="title_name">员工信息登记</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="div_tip"> |
||||
|
<div>提交成功</div> |
||||
|
<div>请截图保存,方便核验人员查看</div> |
||||
|
</div> |
||||
|
<div v-if="selectTab==='1'" |
||||
|
class="div_content marginT10"> |
||||
|
<div class="content_long"> |
||||
|
<div class="content_title">企业名称:</div> |
||||
|
<div>{{placeOrgName}}</div> |
||||
|
</div> |
||||
|
<div class="content_long marginT10"> |
||||
|
<div class="content_title">姓名:</div> |
||||
|
<div>{{formData.name}}</div> |
||||
|
|
||||
|
</div> |
||||
|
<div class="content_long marginT10"> |
||||
|
<div class="content_title">手机号:</div> |
||||
|
<div>{{formData.mobile}}</div> |
||||
|
</div> |
||||
|
<div class="content_long marginT10"> |
||||
|
<div class="content_title">证件号:</div> |
||||
|
<div>{{formData.idCard}}</div> |
||||
|
</div> |
||||
|
<div class="content_long marginT10"> |
||||
|
<div class="content_title">疫苗接种次数:</div> |
||||
|
<div>{{formData.ymjzCountName}}</div> |
||||
|
</div> |
||||
|
<div class="content_long marginT10"> |
||||
|
<div class="content_title">核酸检测时间:</div> |
||||
|
<div>{{formData.latestNatTime}}</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<div v-if="selectTab==='2'" |
||||
|
class="div_content marginT10"> |
||||
|
<div class="content_long"> |
||||
|
<div class="content_title">企业名称:</div> |
||||
|
<div>{{placeOrgName}}</div> |
||||
|
</div> |
||||
|
<div class="content_long marginT10"> |
||||
|
<div class="content_title">核酸检测时间:</div> |
||||
|
<div>{{formData.natTime}}</div> |
||||
|
|
||||
|
</div> |
||||
|
<div class="content_long marginT10"> |
||||
|
<div class="content_title">受众人数:</div> |
||||
|
<div>{{formData.szTotal}}人</div> |
||||
|
</div> |
||||
|
<div class="content_long marginT10"> |
||||
|
<div class="content_title">核酸检测人数:</div> |
||||
|
<div>{{formData.hsjcTotal}}人</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<!-- <div class="main"> |
||||
|
|
||||
|
<div class="icon-success"> |
||||
|
<i class="el-icon-circle-check "></i> |
||||
|
</div> |
||||
|
<div class="success-content"> 提交成功</div> |
||||
|
|
||||
|
</div> --> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
|
||||
|
|
||||
|
import { requestPost } from "@/js/dai/request"; |
||||
|
import { Toast } from "mint-ui"; |
||||
|
import { MessageBox } from 'mint-ui'; |
||||
|
|
||||
|
let loading // 加载动画 |
||||
|
export default { |
||||
|
data () { |
||||
|
return { |
||||
|
selectTab: '', |
||||
|
placeOrgName: '', |
||||
|
formData: {}, |
||||
|
} |
||||
|
}, |
||||
|
components: {}, |
||||
|
computed: { |
||||
|
|
||||
|
}, |
||||
|
created () { }, |
||||
|
mounted () { |
||||
|
let query = this.$route.query |
||||
|
this.selectTab = query.selectTab |
||||
|
this.placeOrgName = query.placeOrgName |
||||
|
this.formData = query.formData |
||||
|
|
||||
|
// this.formData = { |
||||
|
// shequName: '清江路社区', |
||||
|
// address: "金玉良缘1花好月圆1单元3123123金玉良缘1花好月圆1单元3123123", |
||||
|
// buildId: "1494482424728395778", |
||||
|
// buildName: "花好月圆", |
||||
|
// customerId: "45687aa479955f9d06204d415238f7cc", |
||||
|
// homeId: "other", |
||||
|
// homeName: "3123123", |
||||
|
// houseHolderName: "张三", |
||||
|
// houseType: "1", |
||||
|
// memberList: [ |
||||
|
// { |
||||
|
// customerId: "45687aa479955f9d06204d415238f7cc", |
||||
|
// domicilePlace: "23123", |
||||
|
// heSuanCount: "2", |
||||
|
// idNum: "312312", |
||||
|
// mobile: "15111111111", |
||||
|
// name: "张三", |
||||
|
// }, |
||||
|
// { |
||||
|
// customerId: "45687aa479955f9d06204d415238f7cc", |
||||
|
// domicilePlace: "123123", |
||||
|
// heSuanCount: null, |
||||
|
// idNum: "王二麻", |
||||
|
// mobile: "3123123123", |
||||
|
// name: "李四", |
||||
|
// } |
||||
|
// ] |
||||
|
|
||||
|
// } |
||||
|
// console.log(this.formData) |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
methods: { |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped > |
||||
|
@import "@/assets/scss/pages/staffRegister.scss"; |
||||
|
</style> |
Loading…
Reference in new issue