Browse Source

Merge branch 'dev-行程上报1031' into dev

dev-用户反馈
jiangyy 3 years ago
parent
commit
ebea2c7cf6
  1. 3
      src/assets/scss/modules/management/epidemic.scss
  2. 28
      src/views/modules/base/epidemic/travel.vue
  3. 18
      src/views/modules/base/epidemic/travelDetail.vue
  4. 233
      src/views/modules/base/epidemic/travelForm.vue

3
src/assets/scss/modules/management/epidemic.scss

@ -16,6 +16,9 @@
.item_width_3 {
width: 180px;
}
.item_width_4 {
width: 350px;
}
.btn-selperson {
margin-left: 20px;

28
src/views/modules/base/epidemic/travel.vue

@ -182,6 +182,34 @@
show-overflow-tooltip
min-width="180">
</el-table-column>
<el-table-column prop="trafficTypeName"
header-align="center"
align="center"
label="返回方式"
show-overflow-tooltip
min-width="180">
</el-table-column>
<el-table-column prop="sourceDetailAddress"
header-align="center"
align="center"
label="详细地址"
show-overflow-tooltip
min-width="180">
</el-table-column>
<el-table-column prop="vaccineNumName"
header-align="center"
align="center"
label="疫苗针次"
show-overflow-tooltip
min-width="100">
</el-table-column>
<el-table-column prop="isNatRecordName"
header-align="center"
align="center"
label="48小时核酸"
show-overflow-tooltip
min-width="110">
</el-table-column>
<el-table-column prop="arriveDate"
header-align="center"
align="center"

18
src/views/modules/base/epidemic/travelDetail.vue

@ -34,10 +34,26 @@
<span class="info-title-4">详细地址</span>
<span>{{ formData.detailAddress||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-4">返回方式</span>
<span>{{ formData.trafficTypeName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-4">来自地区</span>
<span>{{ formData.sourceAddress||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-4">详细地址</span>
<span>{{ formData.sourceDetailAddress||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-4">疫苗接种针次</span>
<span>{{ formData.vaccineNumName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-4">48小时核酸</span>
<span>{{ formData.isNatRecordName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-4">来到本地时间</span>
<span>{{ formData.arriveDate||'--' }}</span>
@ -130,7 +146,7 @@ export default {
await this.loadFormData(row.id)
this.initLoading = true
console.log('formtype', type)
},

233
src/views/modules/base/epidemic/travelForm.vue

@ -26,7 +26,7 @@
label="所属网格"
style="display: block"
label-width="150px">
<el-select class="item_width_2"
<el-select class="item_width_4"
v-model.trim="formData.gridId"
placeholder="请选择"
:disabled="!isFromResi"
@ -44,7 +44,7 @@
prop="userId"
style="display: block"
label-width="150px">
<el-select class="item_width_2"
<el-select class="item_width_4"
v-model.trim="formData.userId"
placeholder="请选择"
filterable
@ -63,11 +63,12 @@
prop="name"
label-width="150px"
style="display: block">
<el-input class="item_width_2"
<el-input class="item_width_4"
placeholder="请输入姓名"
clearable
:disabled="isFromResi"
v-model="formData.name" style="margin-right:10px;">
v-model="formData.name"
style="margin-right:10px;">
</el-input>
<el-checkbox v-model="formData.heSuanCheck">添加到核酸检测关注名单</el-checkbox>
</el-form-item>
@ -76,7 +77,7 @@
prop="mobile"
label-width="150px"
style="display: block">
<el-input class="item_width_2"
<el-input class="item_width_4"
placeholder="请输入手机号"
clearable
:disabled="isFromResi"
@ -87,62 +88,146 @@
prop="idCard"
label-width="150px"
style="display: block">
<el-input class="item_width_2"
<el-input class="item_width_4"
placeholder="请输入身份证号或证件号"
clearable
:disabled="isFromResi"
v-model="formData.idCard">
</el-input>
</el-form-item>
<el-form-item
label="现居地"
<el-form-item label="现居地"
prop="presentAddress"
style="display: block"
label-width="150px">
<el-input v-if="formType == 'detail'" class="item_width_2"
<el-input v-if="formType == 'detail'"
class="item_width_4"
placeholder="请输入现居地"
clearable
:disabled="isFromResi"
:style="'width: ' + computedWd(formData.presentAddress)"
v-model="formData.presentAddress" />
<template v-else>
<el-input v-if="isFromResi" class="item_width_2 mw180"
<el-input v-if="isFromResi"
class="item_width_4 mw180"
placeholder="请输入现居地"
clearable
:disabled="isFromResi"
v-model="formData.presentAddress" />
<el-cascader v-else ref="nowArea" class="item_width_2" :props="areaProps"
v-model="nowAllCode" clearable @change="handleNowArea"></el-cascader>
<el-cascader v-else
ref="nowArea"
class="item_width_4"
:props="areaProps"
v-model="nowAllCode"
clearable
@change="handleNowArea"></el-cascader>
</template>
</el-form-item>
<el-form-item label="详细地址"
prop="detailAddress"
label-width="150px"
style="display: block">
<el-input class="item_width_2"
<el-input class="item_width_4"
placeholder="请输入详细地址"
clearable
:disabled="isFromResi"
v-model="formData.detailAddress">
</el-input>
</el-form-item>
<el-form-item label="来自地区" prop="sourceAddress" style="display: block" label-width="150px">
<el-input v-if="formType == 'detail'" class="item_width_2"
<el-form-item label="返回交通方式"
prop="trafficType"
style="display: block"
label-width="150px">
<el-select class="item_width_4"
v-model.trim="formData.trafficType"
placeholder="请选择"
clearable>
<el-option v-for="item in trafficTypeList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item v-if="formData.trafficType==='4'"
label="其他"
prop="trafficTypeExplain"
style="display: block"
label-width="150px">
<el-input class="item_width_4"
placeholder="请输入交通方式"
clearable
v-model="formData.trafficTypeExplain">
</el-input>
</el-form-item>
<el-form-item label="来自地区"
prop="sourceAddress"
style="display: block"
label-width="150px">
<el-input v-if="formType == 'detail'"
class="item_width_4"
placeholder=""
clearable
:disabled="isFromResi"
v-model="formData.sourceAddress"
:style="'width: ' + computedWd(formData.sourceAddress)">
</el-input>
<el-cascader v-else ref="sourceArea" v-model="sourceAllCode" class="item_width_2" :props="areaProps"
@change="handleSourceArea" clearable></el-cascader>
<el-cascader v-else
ref="sourceArea"
v-model="sourceAllCode"
class="item_width_4"
:props="areaProps"
@change="handleSourceArea"
clearable></el-cascader>
</el-form-item>
<el-form-item label="详细地址"
prop="sourceDetailAddress"
label-width="150px"
style="display: block">
<el-input class="item_width_4"
placeholder="请输入详细地址"
clearable
v-model="formData.sourceDetailAddress">
</el-input>
</el-form-item>
<el-form-item label="疫苗接种针次"
prop="vaccineNum"
style="display: block"
label-width="150px">
<el-select class="item_width_4"
v-model.trim="formData.vaccineNum"
placeholder="请选择"
clearable>
<el-option v-for="item in ymList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="48小时核酸记录"
style="display: block"
prop="isNatRecord"
label-width="150px">
<el-select class="item_width_4"
v-model.trim="formData.isNatRecord"
placeholder="请选择"
clearable>
<el-option v-for="item in hsList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="来到本地时间"
style="display: block"
prop="arriveDate"
label-width="150px">
<el-date-picker class="item_width_2"
<el-date-picker class="item_width_4"
v-model="formData.arriveDate"
:picker-options="pickerOptions"
format="yyyy-MM-dd HH:mm"
@ -156,7 +241,7 @@
style="display: block"
prop="leaveDate"
label-width="150px">
<el-date-picker class="item_width_2"
<el-date-picker class="item_width_4"
v-model="formData.leaveDate"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm"
@ -193,7 +278,8 @@
</el-checkbox-group>
</el-form-item>
<el-form-item v-show="formData.channel.length > 0" label="通知内容"
<el-form-item v-show="formData.channel.length > 0"
label="通知内容"
prop="content"
label-width="150px"
style="display: block">
@ -287,42 +373,114 @@ export default {
presentAddressPathCode: '',
sourceAddress: '',
sourceAddressPathCode: '',
sourceDetailAddress: '',
arriveDate: '',
remark: '',
leaveDate: '',
userType: 'input',
content: '',
channel: []
channel: [],
trafficType: '',
trafficTypeExplain: '',
isNatRecord: '',
vaccineNum: '',
},
dataRule: {
name: [
{ required: true, message: '姓名不能为空', trigger: 'blur' }
{ required: true, message: '姓名不能为空', trigger: 'change' }
],
idCard: [
{ required: true, validator: checkIdCard, trigger: 'blur' }
{ required: true, validator: checkIdCard, trigger: 'change' }
],
mobile: [
{ required: true, validator: checkMObile, trigger: 'blur' },
{ required: true, validator: checkMObile, trigger: 'change' },
],
presentAddress: [
{ required: true, message: '现居地不能为空', trigger: 'blur' },
{ required: true, message: '现居地不能为空', trigger: 'change' },
],
detailAddress: [
{ required: true, message: '详细地址不能为空', trigger: 'blur' },
{ required: true, message: '详细地址不能为空', trigger: 'change' },
],
sourceAddress: [
{ required: true, message: '来自地区不能为空', trigger: 'blur' },
{ required: true, message: '来自地区不能为空', trigger: 'change' },
],
sourceDetailAddress: [
{ required: true, message: '来自地区详细地址不能为空', trigger: 'change' },
],
arriveDate: [
{ required: true, message: '来到本地时间不能为空', trigger: 'blur' },
{ required: true, message: '来到本地时间不能为空', trigger: 'change' },
],
trafficType: [
{ required: true, message: '交通方式不能为空', trigger: 'change' },
],
trafficTypeExplain: [
{ required: true, message: '其他交通方式不能为空', trigger: 'change' },
],
isNatRecord: [
{ required: true, message: '48小时核酸记录不能为空', trigger: 'change' },
],
vaccineNum: [
{ required: true, message: '疫苗接种针刺不能为空', trigger: 'change' },
]
},
areaProps: {
// checkStrictly: true,
lazy: true,
lazyLoad: this.lzayLoadArea
},
trafficTypeList: [
{
value: '0',
label: '飞机'
},
{
value: '1',
label: '动车'
},
{
value: '2',
label: '火车'
},
{
value: '3',
label: '自驾'
},
{
value: '4',
label: '其他'
},
],
ymList: [
{
value: '0',
label: '0针'
},
{
value: '1',
label: '1针'
},
{
value: '2',
label: '2针'
},
{
value: '3',
label: '3针'
}
],
hsList: [
{
value: '1',
label: '是'
},
{
value: '2',
label: '否'
}
]
}
},
@ -332,6 +490,7 @@ export default {
this.agencyId = user.agencyId
//
await this.loadGrid()
this.getTrafficType()
},
destroyed () {
this.nowAllCode = []
@ -437,6 +596,23 @@ export default {
this.$message.error(msg)
}
},
async getTrafficType () {
const url = "/sys/dict/data/dictlist"
let params = {
dictType: "traffic_type",
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.trafficTypeList = data
} else {
this.$message.error(msg)
}
},
async handleSelGrid (value) {
@ -613,7 +789,6 @@ export default {
min-width: 260px;
}
}
</style>
<style lang='scss'>

Loading…
Cancel
Save