4 changed files with 619 additions and 1 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 85px; |
|||
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,441 @@ |
|||
<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'}]"> 员工登记</div> |
|||
<div :class="['div_option','option_right',{'option_select':selectTab=='2'}]">受众群体登记</div> |
|||
</div> |
|||
|
|||
<div class="content"> |
|||
|
|||
<mt-cell title="*企业名称"> |
|||
|
|||
<span style="margin-right:20px">{{shequName}}</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" |
|||
:disableClear="true" |
|||
:label="'*身份证'" |
|||
placeholder="请输入" |
|||
v-model="formData.idNum"></mt-field> |
|||
<div class="line"></div> |
|||
|
|||
<div @click="handelSel('detNum')"> |
|||
<mt-cell :title="'*参加核酸检测次数'" |
|||
is-link> |
|||
<span class="picker_content" |
|||
v-if="formData.detNum">{{formData.detNumName}}</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.detData">{{formData.detDataName}}</span> |
|||
<span v-else>请选择</span> |
|||
</mt-cell> |
|||
</div> |
|||
<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" |
|||
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" |
|||
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: '', |
|||
startDate: new Date(), |
|||
|
|||
formData: { |
|||
name: '', |
|||
idNum: '', |
|||
mobile: '', |
|||
detNum: null, |
|||
detNumName: '', |
|||
detData: '', |
|||
detDataName: '' |
|||
}, |
|||
|
|||
btnDisabled: false, |
|||
popupVisible: false, |
|||
|
|||
//二维码带来数据 |
|||
shequId: '',//社区id 6e511da6816e53af4cda952365a26eb9 德兴路 1202807601961984002 |
|||
shequName: '',//社区名称 |
|||
customerId: '',//客户id 45687aa479955f9d06204d415238f7cc |
|||
|
|||
selType: 'community',//弹出框所显示的数据类型:community、building、unit、room |
|||
pickerData: [], |
|||
|
|||
selObj: {}, |
|||
|
|||
showMessagsBox: false,//是否显示人员未填写提示弹出框 |
|||
|
|||
detNumList: [],//参加核酸次数list |
|||
|
|||
popupSlots: [//问题类型弹框数据 |
|||
{ |
|||
values: [] |
|||
} |
|||
], |
|||
|
|||
} |
|||
}, |
|||
components: {}, |
|||
computed: { |
|||
|
|||
}, |
|||
|
|||
created () { |
|||
console.log(this.$route) |
|||
|
|||
this.shequId = this.$route.params.id |
|||
this.customerId = this.$route.query.customerId |
|||
this.shequName = this.$route.query.name |
|||
document.title = this.shequName + '信息管理平台' |
|||
}, |
|||
mounted () { |
|||
|
|||
|
|||
let envShow = process.env.VUE_APP_NODE_ENV |
|||
console.log('环境', envShow) |
|||
|
|||
let internalShequId = ['1202807601961984002', '6e511da6816e53af4cda952365a26eb9', 'b058eb82d65d922fec9dc84f0348fc6a', '630c3c2dd1cd7a4d198c8558bce88324'] |
|||
// let internalShequId = ['1202807601961984002',] |
|||
// if (envShow === 'dev' || envShow === 'prod:sit') { // 开发环境 |
|||
// internalShequId = '6e511da6816e53af4cda952365a26eb9' |
|||
// } else if (envShow === 'prod:uat') { // 体验 |
|||
// internalShequId = '6e511da6816e53af4cda952365a26eb9' |
|||
// } else if (envShow === 'prod') { // 生产 |
|||
// 微笑崂山下的小寨子社区:b058eb82d65d922fec9dc84f0348fc6a |
|||
// 亿联街道下的亿联社区:630c3c2dd1cd7a4d198c8558bce88324 |
|||
// internalShequId = '1202807601961984002' |
|||
// } else if (envShow === 'shibei_prod') { // 生产 |
|||
// internalShequId = '1202807601961984002' |
|||
// } |
|||
|
|||
this.formData.customerId = this.customerId |
|||
if (internalShequId.indexOf(this.shequId) > -1) { |
|||
this.formData.origin = 'internal' |
|||
} else { |
|||
this.formData.origin = 'external' |
|||
} |
|||
|
|||
this.detNumList = [] |
|||
for (let i = 0; i < 5; i++) { |
|||
let obj = { |
|||
value: i + '', |
|||
label: i + '次', |
|||
} |
|||
this.detNumList.push(obj) |
|||
} |
|||
|
|||
|
|||
}, |
|||
|
|||
methods: { |
|||
handelSelData () { |
|||
this.$refs.pickerData.open(); // 触发 |
|||
// this.$refs.pickerData.close() ; // 关闭 |
|||
}, |
|||
|
|||
handleConfirm (val) { |
|||
let time = new Date(val); |
|||
|
|||
let year = time.getFullYear() |
|||
console.log(year) |
|||
|
|||
}, |
|||
|
|||
handelSel (selType) { |
|||
this.selType = selType |
|||
|
|||
if (selType === 'detNum') { |
|||
|
|||
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 () { |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
console.log(this.formData) |
|||
|
|||
this.btnDisabled = true |
|||
this.startLoading() |
|||
const url = "/epmetuser/icresicollect/save" |
|||
|
|||
const { data, code, msg } = await requestPost(url, this.formData) |
|||
this.endLoading() |
|||
this.btnDisabled = false |
|||
if (code === 0) { |
|||
this.formData.shequName = this.shequName |
|||
this.$router.replace({ |
|||
name: 'caijisuccess', |
|||
query: { |
|||
formData: this.formData |
|||
} |
|||
}) |
|||
// Toast({ |
|||
// message: '提交成功', |
|||
// duration: 3000 |
|||
// }); |
|||
|
|||
} else { |
|||
Toast({ |
|||
message: msg, |
|||
duration: 3000 |
|||
}); |
|||
|
|||
} |
|||
}, |
|||
|
|||
//必填验证 |
|||
validataFormData () { |
|||
|
|||
let aletMessage = '' |
|||
this.showMessagsBox = false |
|||
if (this.formData.origin === 'internal') {//内部 |
|||
if (!this.selVillage) { |
|||
aletMessage = '请选择小区' |
|||
|
|||
return aletMessage |
|||
} |
|||
if (!this.selBuild) { |
|||
aletMessage = '请选择楼栋' |
|||
return aletMessage |
|||
} |
|||
|
|||
if (!this.selUnit) {//没有选择单元 |
|||
aletMessage = '请选择单元' |
|||
return aletMessage |
|||
|
|||
} else {//选择了单元 |
|||
if (this.selUnit.value === 'other') {//单元选择了其他 |
|||
if (!this.unitContent) { |
|||
aletMessage = '请填写单元号' |
|||
return aletMessage |
|||
} |
|||
|
|||
if (!this.homeContent) {//房屋必须填写内容 |
|||
aletMessage = '请填写房屋' |
|||
return aletMessage |
|||
} |
|||
|
|||
} else {//单元没有选择其他 |
|||
if (!this.selHome) { |
|||
aletMessage = '请选择房屋' |
|||
return aletMessage |
|||
|
|||
} else if (this.selHome.value === 'other' && !this.homeContent) { |
|||
aletMessage = '请填写房屋' |
|||
return aletMessage |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
|||
|
|||
} else { |
|||
if (!this.formData.address) { |
|||
aletMessage = '请填写地址' |
|||
return aletMessage |
|||
} |
|||
} |
|||
|
|||
if (!this.selHomeType) { |
|||
aletMessage = '请选择房屋类型' |
|||
return aletMessage |
|||
} |
|||
if (!this.formData.houseHolderName) { |
|||
aletMessage = '请填写户主姓名' |
|||
return aletMessage |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
}, |
|||
|
|||
popupOk () { |
|||
|
|||
if (this.selType === 'detNum') { |
|||
this.formData.detNum = this.selObj.value |
|||
this.formData.detNumName = 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; |
|||
} |
|||
|
|||
/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%; |
|||
} |
|||
.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> |
|||
Loading…
Reference in new issue