Browse Source

11

feature/welfareImport
jiangyy 3 years ago
parent
commit
51a4350fc9
  1. 110
      src/views/modules/base/epidemic/travelYantai/travelYantaiDetail.vue
  2. 422
      src/views/modules/base/epidemic/travelYantai/travelYantaiForm.vue

110
src/views/modules/base/epidemic/travelYantai/travelYantaiDetail.vue

@ -24,12 +24,18 @@
<span class="info-title-3">证件号</span>
<span>{{ formData.showIdCard||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">户籍地</span>
<span>{{ formData.registeredResidence||'--' }}</span>
<span class="info-title-3">现居地</span>
<span>{{ formData.presentAddress||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">详细地址</span>
<span>{{ formData.detailAddress||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">来源地</span>
<span class="info-title-3">自地区</span>
<span>{{ formData.sourceAddress||'--' }}</span>
</div>
@ -37,77 +43,107 @@
<span class="info-title-3">详细地址</span>
<span>{{ formData.sourceDetailAddress||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">7天内到达或途经</span>
<span>{{ formData.passBy||'--' }}</span>
<span class="info-title-3">来到本地时间</span>
<span>{{ formData.arriveDate||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">来曹事由</span>
<span>{{ formData.describeContent||'--' }}</span>
<span class="info-title-3">返回方式</span>
<span>{{ formData.trafficTypeName||'--' }}</span>
</div>
<div v-if="formData.trafficTypeExplain"
class="info-prop">
<span class="info-title-3">具体方式</span>
<span>{{ formData.trafficTypeExplain||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">班次</span>
<span>{{ formData.trafficTypeName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">48小时核酸</span>
<span>{{ formData.natOutcomeName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">来到本地时间</span>
<span>{{ formData.arriveDate||'--' }}</span>
<span class="info-title-3">健康码</span>
<span>{{ formData.natOutcomeName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">在曹居住地点</span>
<span>{{ formData.presentAddress||'--' }}</span>
<span class="info-title-3">行程码</span>
<span>{{ formData.natOutcomeName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">详细地址</span>
<span>{{ formData.detailAddress||'--' }}</span>
<span class="info-title-3">核酸检测报告</span>
<span>{{ formData.natOutcomeName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">两码一报告</span>
<span>{{ formData.natOutcomeName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">返回方式</span>
<span>{{ formData.trafficTypeName||'--' }}</span>
<span class="info-title-3">是否有外地旅居史</span>
<span>{{ formData.natOutcomeName||'--' }}</span>
</div>
<div v-if="formData.trafficTypeExplain"
class="info-prop">
<span class="info-title-3">具体方式</span>
<span>{{ formData.trafficTypeExplain||'--' }}</span>
<div class="info-prop">
<span class="info-title-3">途径地区</span>
<span>{{ formData.natOutcomeName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">7天内旅居史情况</span>
<span>{{ formData.sojournHistoryName||'--' }}</span>
<span class="info-title-3">同行人</span>
<span>{{ formData.natOutcomeName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">隔离状态</span>
<span>{{ formData.isolateTypeName||'--' }}</span>
<span class="info-title-3">户籍地</span>
<span>{{ formData.registeredResidence||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">备注</span>
<span>{{ formData.remark||'--' }}</span>
<span class="info-title-3">户籍详细地址</span>
<span>{{ formData.passBy||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">是否带车</span>
<span>{{ formData.describeContent||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">带车车牌号</span>
<span>{{ formData.describeContent||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">是否落实"落地检"</span>
<span>{{ formData.isArriveCheckName||'--' }}</span>
<span class="info-title-3">车辆颜色</span>
<span>{{ formData.describeContent||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">是否到达曹县</span>
<span>{{ formData.isArriveName||'--' }}</span>
<span class="info-title-3">目的地交通场站</span>
<span>{{ formData.describeContent||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">上报时间</span>
<span>{{ formData.reportingTime||'--' }}</span>
<span class="info-title-3">入鲁时间</span>
<span>{{ formData.sojournHistoryName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">管控措施</span>
<span>{{ formData.controlMeasures||'--' }}</span>
<span class="info-title-3">行程码</span>
<span>{{ formData.isolateTypeName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">类型</span>
<span>{{ formData.tripDataTypeName||'--' }}</span>
<span class="info-title-3">离开本地时间</span>
<span>{{ formData.isolateTypeName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-3">上报人</span>
<span>{{ formData.createdByName||'--' }}</span>
<span class="info-title-3">备注</span>
<span>{{ formData.remark||'--' }}</span>
</div>
</div>

422
src/views/modules/base/epidemic/travelYantai/travelYantaiForm.vue

@ -123,12 +123,12 @@
</el-form-item>
<el-form-item label="详细地址"
prop="sourceDetailAddress"
prop="comeAreaFull"
style="display: block">
<el-input class="item_width_4"
placeholder="请输入详细地址"
clearable
v-model="formData.sourceDetailAddress">
v-model="formData.comeAreaFull">
</el-input>
</el-form-item>
@ -138,8 +138,8 @@
<el-date-picker class="item_width_4"
v-model="formData.arriveDate"
:picker-options="pickerOptions"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
type="datetime"
clearable
placeholder="选择时间">
@ -162,167 +162,155 @@
</el-form-item>
<el-form-item v-if="formData.trafficType==='5'"
label="具体方式"
style="display: block"
prop="trafficTypeExplain">
<el-input class="item_width_4"
placeholder="请输入具体方式"
clearable
v-model="formData.trafficTypeExplain">
</el-input>
</el-form-item>
<el-form-item label="班次"
prop="banci"
prop="shift"
style="display: block">
<el-input class="item_width_4"
placeholder="请输入班次"
clearable
v-model="formData.banci">
v-model="formData.shift">
</el-input>
</el-form-item>
<el-form-item label="48小时核酸"
prop="natOutcome"
prop="carryHesuanProof"
style="display: block">
<el-radio v-model="formData.natOutcome"
label="0">阴性</el-radio>
<el-radio v-model="formData.natOutcome"
label="1">阳性</el-radio>
<el-radio v-model="formData.carryHesuanProof"
label="是"></el-radio>
<el-radio v-model="formData.carryHesuanProof"
label="否"></el-radio>
</el-form-item>
<el-form-item label="健康码"
prop="jiankangma"
<el-form-item label="健康码异常"
prop="healthCodeAbnormal"
style="display: block">
<el-radio v-model="formData.jiankangma"
label="1">正常</el-radio>
<el-radio v-model="formData.jiankangma"
label="0">异常</el-radio>
<el-radio v-model="formData.healthCodeAbnormal"
label="是"></el-radio>
<el-radio v-model="formData.healthCodeAbnormal"
label="否"></el-radio>
</el-form-item>
<el-form-item label="行程码"
prop="xingcheng"
<el-form-item label="行程码异常"
prop="travelCodeAbnormal"
style="display: block">
<el-radio v-model="formData.xingcheng"
label="1">正常</el-radio>
<el-radio v-model="formData.xingcheng"
label="0">异常</el-radio>
<el-radio v-model="formData.travelCodeAbnormal"
label="是"></el-radio>
<el-radio v-model="formData.travelCodeAbnormal"
label="否"></el-radio>
</el-form-item>
<el-form-item label="核酸检测报告"
prop="hesuan"
<el-form-item label="核酸检测报告异常"
prop="detectionAbnormal"
style="display: block">
<el-radio v-model="formData.hesuan"
label="1">正常</el-radio>
<el-radio v-model="formData.hesuan"
label="0">异常</el-radio>
<el-radio v-model="formData.detectionAbnormal"
label="是"></el-radio>
<el-radio v-model="formData.detectionAbnormal"
label="否"></el-radio>
</el-form-item>
<el-form-item label="两码一报告"
prop="liangma"
<el-form-item label="两码一报告状态"
prop="twoCodeOneReportStatus"
style="display: block">
<el-radio v-model="formData.liangma"
label="1">正常</el-radio>
<el-radio v-model="formData.liangma"
label="0">异常</el-radio>
<el-radio v-model="formData.twoCodeOneReportStatus"
label="正常">正常</el-radio>
<el-radio v-model="formData.twoCodeOneReportStatus"
label="异常">异常</el-radio>
</el-form-item>
<el-form-item label="是否有外地旅居史"
prop="waidi"
prop="nonlocalResidenceHistory"
style="display: block">
<el-radio v-model="formData.waidi"
label="1"></el-radio>
<el-radio v-model="formData.waidi"
label="0"></el-radio>
<el-radio v-model="formData.nonlocalResidenceHistory"
label=""></el-radio>
<el-radio v-model="formData.nonlocalResidenceHistory"
label=""></el-radio>
</el-form-item>
<el-form-item label="途径地区"
prop="tujing"
prop="viaProvince"
style="display: block">
<el-cascader ref="tujingArea"
v-model="tujingAllCode"
class="item_width_5"
:props="areaProps"
:props="areaPropsLevel2"
@change="handleTujingArea"
clearable></el-cascader>
</el-form-item>
<el-form-item label="同行人"
prop="tongxing"
prop="travelPersonnel"
style="display: block">
<el-input class="item_width_4"
placeholder="请输入同行人"
clearable
v-model="formData.tongxing">
v-model="formData.travelPersonnel">
</el-input>
</el-form-item>
<el-form-item label="户籍地"
prop="huji"
prop="registeredResidenceCity"
style="display: block">
<el-cascader ref="hujiArea"
v-model="hujiAllCode"
class="item_width_5"
:props="areaProps"
:props="areaPropsLevel2"
@change="handleHujiArea"
clearable></el-cascader>
</el-form-item>
<el-form-item label="详细地址"
prop="registeredResidence"
prop="registeredResidenceAddress"
style="display: block">
<el-input class="item_width_4"
placeholder="请输入户籍地详细地址"
clearable
v-model="formData.registeredResidence">
v-model="formData.registeredResidenceAddress">
</el-input>
</el-form-item>
<el-form-item label="是否带车"
prop="daiche"
prop="carryVehicle"
style="display: block">
<el-radio v-model="formData.daiche"
label="1"></el-radio>
<el-radio v-model="formData.daiche"
label="0"></el-radio>
<el-radio v-model="formData.carryVehicle"
label=""></el-radio>
<el-radio v-model="formData.carryVehicle"
label=""></el-radio>
</el-form-item>
<el-form-item label="带车车牌号"
prop="chepaihao"
prop="carryVehicleNumber"
style="display: block">
<el-input class="item_width_4"
placeholder="请输入带车车牌号"
clearable
v-model="formData.chepaihao">
v-model="formData.carryVehicleNumber">
</el-input>
</el-form-item>
<el-form-item label="车辆颜色"
prop="yanse"
prop="carryVehiclenumberColor"
style="display: block">
<el-input class="item_width_4"
placeholder="请输入车辆颜色"
clearable
v-model="formData.yanse">
v-model="formData.carryVehiclenumberColor">
</el-input>
</el-form-item>
<el-form-item label="目的地交通场站"
prop="changzhan"
prop="destinationStation"
style="display: block">
<el-input class="item_width_4"
placeholder="请输入目的地交通场站"
clearable
v-model="formData.changzhan">
v-model="formData.destinationStation">
</el-input>
</el-form-item>
<el-form-item label="入鲁时间"
style="display: block"
prop="rulu">
prop="arriveLuTime">
<el-date-picker class="item_width_4"
v-model="formData.rulu"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
type="date"
v-model="formData.arriveLuTime"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetime"
clearable
placeholder="选择时间">
</el-date-picker>
@ -341,23 +329,23 @@
:file-list="replayImgList"
:on-change="handleEditChange"
:on-success="handleSuccess"
:limit="3">
:limit="1">
<span class="font-14">选择图片</span>
<div slot="tip"
class="upload_tip">
最多上传3张图片图片支持jpgjpegbmpgit或png格式
最多上传1张图片图片支持jpgjpegbmpgit或png格式
</div>
</el-upload>
</el-form-item>
<el-form-item label="离开本地时间"
style="display: block"
prop="likai">
prop="invalidTime">
<el-date-picker class="item_width_4"
v-model="formData.likai"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
type="date"
v-model="formData.invalidTime"
format="yyyy-MM-dd HH:mm:ss "
value-format="yyyy-MM-dd HH:mm:ss "
type="datetime"
clearable
placeholder="选择时间">
</el-date-picker>
@ -467,73 +455,103 @@ export default {
nowAllCode: [], // code
tujingAllCode: [], // code
hujiAllCode: [], // code
icNatId: '',
formData: {
gridId: '',
agencyId: '',//Id
userId: '',//idicResiUserId
userType: 'icresi',//resi;icresi;import;synchro
userType: 'input',//:icresiinput
name: '',
idCard: '',
mobile: '',
heSuanCheck: false,
presentAddress: '',
presentAddressCode: '',
presentAddressPathCode: '',
detailAddress: '',
sourceAddressCode: '',
presentAddressPathCode: '',
sourceAddress: '',
sourceAddressPathCode: '',
arriveDate: '',
remark: '',
leaveDate: '',
userType: 'input',
content: '',
channel: [],
registeredResidence: '',//
sourceDetailAddress: '',//--
natOutcome: '',//48 0 1
trafficType: '',//(traffic_type)
banci: '',
jiankangma: '',
xingchengma: '',
hesuan: '',
liangma: '',
waidi: '',
tujing: '',
tujingCode: '',
tujingPathCode: '',
comeAreaFull: '',//--
tongxing: '',
arriveDate: '',//
remark: '',//
huji: '',
hujiCode: '',
hujiPathCode: '',
content: '',
channel: [],
daiche: '',
chepaihao: '',
yanse: '',
changzhan: '',
rulu: '',
likai: '',
imageList: [],
trafficType: '',//使
shift: '',//
carryHesuanProof: '',//48 /
healthCodeAbnormal: '',///
travelCodeAbnormal: '',///
detectionAbnormal: '',///
twoCodeOneReportStatus: '',///
nonlocalResidenceHistory: '',///
viaProvince: '',//-
viaCity: '',//-
viaCounty: '',//-
viaCode: '',//
viaPathCode: '',//
travelPersonnel: '',//
registeredResidenceCity: '',//
registeredResidenceCode: '',//
registeredResidencePathCode: '',//
registeredResidenceAddress: '',//
carryVehicle: '',///
carryVehicleNumber: '',//
carryVehiclenumberColor: '',//
destinationStation: '',//
arriveLuTime: '',//yyyy-MM-dd HH:mm:ss
travelCodeImg: '',//url
invalidTime: '',//yyyy-MM-dd HH:mm:ss
},
trafficTypeList: [],
yesOrNoList: [
trafficTypeList: [
{
value: '0',
label: '是'
value: '',
label: ''
},
{
value: '1',
label: '否'
}
value: '飞机',
label: '飞机'
},
{
value: '火车',
label: '火车'
},
{
value: '民航',
label: '民航'
},
{
value: '其他',
label: '其他'
},
{
value: '汽车',
label: '汽车'
},
{
value: '铁路',
label: '铁路'
},
{
value: '长途客运',
label: '长途客运'
},
{
value: '自驾包车',
label: '自驾包车'
},
],
@ -550,10 +568,18 @@ export default {
],
presentAddress: [
{ required: true, message: '现居地不能为空', trigger: 'change' },
],
detailAddress: [
{ required: true, message: '现居地详细地址不能为空', trigger: 'change' },
],
sourceAddress: [
{ required: true, message: '来自地区不能为空', trigger: 'change' },
],
sourceDetailAddress: [
comeAreaFull: [
{ required: true, message: '来自地区详细地址不能为空', trigger: 'change' },
],
arriveDate: [
@ -562,7 +588,7 @@ export default {
trafficType: [
{ required: true, message: '返回方式不能为空', trigger: 'change' },
],
natOutcome: [
carryHesuanProof: [
{ required: true, message: '48小时核酸不能为空', trigger: 'change' },
],
@ -574,6 +600,11 @@ export default {
lazy: true,
lazyLoad: this.lzayLoadArea
},
areaPropsLevel2: {
// checkStrictly: true,
lazy: true,
lazyLoad: this.lzayLoadAreaLevel2
},
hideUploadBtn: false,
// oss/file/uploadvariedfile
@ -592,9 +623,6 @@ export default {
//
await this.loadGrid()
this.getTrafficType()
// this.getIsolateType()
this.getTripDataType()
},
destroyed () {
this.nowAllCode = []
@ -609,9 +637,15 @@ export default {
return w + 'px'
},
lzayLoadArea (node, resolve) {
// this.getArea(node, resolve)
setTimeout(() => {
this.getArea(node, resolve)
this.getArea(node, resolve, 4)
}, 200)
},
lzayLoadAreaLevel2 (node, resolve) {
setTimeout(() => {
this.getArea(node, resolve, 2)
}, 200)
},
async initForm (type, row) {
@ -690,14 +724,25 @@ export default {
console.log('label-----', this.$refs.tujingArea.getCheckedNodes())
if (val.length > 0) {
const labels = this.$refs.tujingArea.getCheckedNodes()[0].pathLabels
this.formData.tujingCode = val[val.length - 1]
this.formData.viaCode = val[val.length - 1]
this.formData.tujing = labels.join('-')
this.formData.tujingPathCode = val.join(',')
this.$refs.ref_form.clearValidate('tujing')
if (labels.length > 0) {
this.formData.viaProvince = labels[0]
}
if (labels.length > 1) {
this.formData.viaCity = labels[1]
}
if (labels.length > 2) {
this.formData.viaCounty = labels[2]
}
this.formData.viaPathCode = val.join(',')
this.$refs.ref_form.clearValidate('viaProvince')
} else {
this.formData.tujingCode = ''
this.formData.tujing = ''
this.formData.tujingPathCode = ''
this.formData.viaCode = ''
this.formData.viaProvince = ''
this.formData.viaCity = ''
this.formData.viaCounty = ''
this.formData.viaPathCode = ''
}
},
@ -706,14 +751,14 @@ export default {
console.log('label-----', this.$refs.hujiArea.getCheckedNodes())
if (val.length > 0) {
const labels = this.$refs.hujiArea.getCheckedNodes()[0].pathLabels
this.formData.hujiCode = val[val.length - 1]
this.formData.huji = labels.join('-')
this.formData.hujiPathCode = val.join(',')
this.$refs.ref_form.clearValidate('huji')
this.formData.registeredResidenceCode = val[val.length - 1]
this.formData.registeredResidenceCity = labels.join('-')
this.formData.registeredResidencePathCode = val.join(',')
this.$refs.ref_form.clearValidate('registeredResidenceCity')
} else {
this.formData.hujiCode = ''
this.formData.huji = ''
this.formData.hujiPathCode = ''
this.formData.registeredResidenceCode = ''
this.formData.registeredResidenceCity = ''
this.formData.registeredResidencePathCode = ''
}
},
@ -753,7 +798,7 @@ export default {
}
},
async getArea (node, resolve) {
async getArea (node, resolve, levelNum) {
const url = "/commonservice/areacode/nextarea"
let params = {
@ -769,7 +814,7 @@ export default {
label: item.areaName,
code: item.areaCode,
level: item.level,
leaf: node.level >= 4 // 5
leaf: node.level >= levelNum // 5
}))
resolve(nodes)
@ -824,6 +869,9 @@ export default {
async handleComfirm (formName) {
console.log(' this.formData', this.formData)
console.log(' this.replayImgList', this.replayImgList)
return false
this.$refs[formName].validate(async (valid) => {
if (valid) {
if (this.formData.channel.length > 0 && !this.formData.content) {
@ -843,8 +891,7 @@ export default {
if (this.formType === 'add') url = '/epmetuser/tripreport/save'
else url = '/epmetuser/tripreport/update'
console.log(' this.formData', this.formData)
// return false
const { data, code, msg } = await requestPost(url, this.formData)
if (code === 0) {
@ -890,84 +937,25 @@ export default {
},
removePic (file, fileList) {
this.formData.imageList.splice(
this.formData.imageList.findIndex((item) => item === file.url),
1
);
this.replayImgList.splice(
this.replayImgList.findIndex((item) => item.uid === file.uid),
1
);
this.hideUploadBtn = fileList.length >= 3;
this.formData.travelCodeImg = '';
this.hideUploadBtn = fileList.length >= 1;
},
// 3
// 1
handleEditChange (file, fileList) {
this.hideUploadBtn = fileList.length >= 3;
this.hideUploadBtn = fileList.length >= 1;
},
exceedPic () {
this.$message.warning("最多上传3张预览图片");
this.$message.warning("最多上传1张图片");
},
handleSuccess (response, file, fileList) {
this.replayImgList.push(file);
this.formData.imageList.push(response.data.url);
},
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 getIsolateType () {
const url = "/sys/dict/data/dictlist";
let params = {
// dictType: "isolatedState",
dictType: "isolate_type",
};
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.isolateTypeList = data
} else {
this.$message.error(msg)
}
},
async getTripDataType () {
const url = "/sys/dict/data/dictlist";
let params = {
dictType: "trip_data_type",
};
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.tripDataTypeList = data
} else {
this.$message.error(msg)
}
this.replayImgList.push(file);
this.formData.travelCodeImg = response.data.url;
},

Loading…
Cancel
Save