Browse Source

防控疫情部分详情

dev-map-local
jiangyy 3 years ago
parent
commit
7b3097afce
  1. 137
      src/views/modules/base/epidemic/antiInfo.vue
  2. 197
      src/views/modules/base/epidemic/natInfo/natDetail.vue
  3. 28
      src/views/modules/base/epidemic/natInfo/natList.vue
  4. 45
      src/views/modules/base/epidemic/veroFocus/veroFocusEdit.vue
  5. 2
      src/views/modules/base/epidemic/veroFocus/veroFocusList.vue
  6. 22
      src/views/modules/workSys/mapConfig.vue

137
src/views/modules/base/epidemic/antiInfo.vue

@ -5,7 +5,7 @@
<el-form :inline="true"
:model="searchForm"
ref="ref_searchform"
:label-width="'100px'">
:label-width="'110px'">
<div>
<el-form-item label="所属网格"
prop="gridId">
@ -261,104 +261,52 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="formTitle"
width="50%"
width="1150px"
top="5vh"
class="dialog-h"
@closed="handleCnalceForm">
<div class="dialog-h-content scroll-h">
<el-form :inline="true"
:model="formDetail"
ref="detail_form"
:label-width="'100px'">
<div>
<el-form-item label="姓名:"
prop="name">
<el-input v-model="formDetail.name"
size="small"
disabled
class="list_item_width_1"
clearable
placeholder="请输入姓名">
</el-input>
<!-- <span>{{ formDetail.name }}</span> -->
</el-form-item>
<el-form-item label="所属网格"
prop="gridName">
<el-input v-model="formDetail.gridName"
size="small"
class="list_item_width_1"
clearable
disabled
placeholder="" />
<!-- <span>{{ formDetail.gridName }}</span> -->
</el-form-item>
<el-form-item label="所属房屋"
prop="houseName">
<el-input v-model="formDetail.houseName"
size="small"
class="list_item_width_1 min-w180"
clearable
disabled
placeholder="" />
<!-- <span>{{ formDetail.houseName }}</span> -->
</el-form-item>
<div class="m-row">
<div class="m-row-info">
<div class="info-prop">
<span class="info-title-2">姓名</span>
<span>{{ formDetail.name||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">所属网格</span>
<span>{{ formDetail.gridName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">所属房屋</span>
<span>{{ formDetail.houseName||'--' }}</span>
</div>
</div>
<div>
<el-form-item label="手机号"
prop="mobile">
<el-input v-model="formDetail.mobile"
size="small"
class="list_item_width_1"
clearable
disabled
placeholder="">
</el-input>
<!-- <span>{{ formDetail.mobile }}</span> -->
</el-form-item>
<el-form-item label="证件号"
prop="idCard">
<el-input v-model="formDetail.idCard"
size="small"
disabled
class="list_item_width_1"
clearable
placeholder="">
</el-input>
<!-- <span>{{ formDetail.idCard }}</span> -->
</el-form-item>
<el-form-item label="疫苗接种针次"
prop="vaccineCount">
<el-input v-model="formDetail.vaccineCount"
size="small"
class="list_item_width_1"
clearable
disabled
placeholder="">
</el-input>
<!-- <span>{{ formDetail.vaccineCount }}</span> -->
</el-form-item>
<div class="m-row-info">
<div class="info-prop">
<span class="info-title-2">手机号</span>
<span>{{ formDetail.mobile||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">证件号</span>
<span>{{ formDetail.idCard||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">疫苗接种针次</span>
<span>{{ formDetail.vaccineCount||'--' }}</span>
</div>
</div>
<div>
<el-form-item label="核酸检测次数"
prop="natCount">
<el-input v-model="formDetail.natCount"
size="small"
class="list_item_width_1"
clearable
disabled
placeholder="">
</el-input>
<!-- <span>{{ formDetail.natCount }}</span> -->
</el-form-item>
<div class="m-row-info">
<div class="info-prop">
<span class="info-title-2">核酸检测次数</span>
<span>{{ formDetail.natCount||'--' }}</span>
</div>
</div>
</el-form>
</div>
<div style="padding: 0 20px;">
<el-tabs v-model="activeName">
<el-tab-pane label="疫苗接种信息"
@ -482,7 +430,7 @@
</div>
<div class="resi-btns">
<el-button size="small"
@click="handleCnalceForm">取消</el-button>
@click="handleCnalceForm"> </el-button>
</div>
</el-dialog>
@ -939,4 +887,7 @@ export default {
}
</style>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/detail-main.scss";
</style>

197
src/views/modules/base/epidemic/natInfo/natDetail.vue

@ -0,0 +1,197 @@
<template>
<div class="epidemic-form">
<div class="dialog-h-content scroll-h">
<div v-if="initLoading"
class="m-row">
<div class="m-info">
<div class="info-prop">
<span class="info-title-2">姓名</span>
<span>{{ formData.name||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">手机号</span>
<span>{{ formData.mobile||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">证件号</span>
<span>{{ formData.idCard||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">检检测地点</span>
<span>{{ formData.natAddress||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">检测结果</span>
<span>{{ formData.natResult==='0'?'阴性':'阳性' }}</span>
</div>
<div class="info-prop"
v-if="fileList.length>0">
<span class="info-title-2">照片</span>
<div class="info-pics">
<img v-for="(item,index) in fileList"
style="width:80px;height:80px"
:key="index"
:src="item.url"
@click="watchImg(item)">
</div>
</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 { dateFormats } from '@/utils/index'
let loading //
export default {
data () {
return {
initLoading: false,
icNatId: '',
formData: {},
fileList: [],
}
},
components: {},
async mounted () {
const { user } = this.$store.state
this.agencyId = user.agencyId
},
methods: {
async initForm (icNatId) {
this.startLoading()
this.formData.agencyId = this.agencyId
this.icNatId = icNatId
this.formData.icNatId = icNatId
await this.loadFormData()
this.initLoading = true
this.endLoading()
},
async loadFormData () {
// const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/detail'
const url = '/epmetuser/icNat/detail'
let params = {
icNatId: this.icNatId,
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.formData = data
console.log(this.formData.isSelChannel)
this.formData.icNatId = this.icNatId
this.fileList = []
if (data.fileName) {
let obj = {
name: data.fileName,
type: data.attachmentType,
url: data.attachmentUrl,
}
// data.attachmentList.forEach(element => {
// element.name = element.fileName
// element.type = element.attachmentType
// element.size = element.attachmentSize
// });
this.fileList.push(obj)
}
this.hideUploadEdit = this.fileList.length >= this.limitNum;
} else {
this.$message.error(msg)
}
},
handleCancle () {
// this.resetData()
this.$emit('dialogCancle')
},
watchImg (src) {
window.open(src);
},
resetData () {
this.formData = {}
},
//
startLoading () {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading () {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
computed: {
},
props: {
// serviceList: {
// type: Array,
// default: []
// },
}
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/detail-main.scss";
</style>

28
src/views/modules/base/epidemic/natInfo/natList.vue

@ -104,7 +104,8 @@
class="diy-button--export"
size="small"
@click="handleExportModule">下载模板</el-button>
<el-upload :headers="$getElUploadHeaders()" ref="upload"
<el-upload :headers="$getElUploadHeaders()"
ref="upload"
:multiple='false'
:show-file-list='false'
:before-upload="beforeUpload"
@ -250,6 +251,18 @@
@dialogCancle="diaClose"
@dialogOk="addFormOk"></nat-form>
</el-dialog>
<!-- 修改弹出框 -->
<el-dialog :visible.sync="detailShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'详情'"
width="850px"
top="5vh"
class="dialog-h"
@closed="diaDetailClose">
<nat-detail ref="ref_detail"
@dialogCancle="diaDetailClose"></nat-detail>
</el-dialog>
</div>
</template>
@ -257,6 +270,7 @@
<script>
import natForm from './natForm'
import natDetail from './natDetail'
import { requestPost } from "@/js/dai/request";
import { mapGetters } from 'vuex'
@ -311,12 +325,13 @@ export default {
//form
formShow: false,
detailShow: false,
formTitle: '新增',
}
},
components: {
natForm
natForm, natDetail
},
async created () {
@ -405,13 +420,18 @@ export default {
this.$refs.ref_form.resetData()
this.formShow = false
},
diaDetailClose () {
this.detailShow = false
},
handleDetail (row) {
this.formTitle = '详情'
this.formShow = true
this.detailShow = true
this.$nextTick(() => {
this.$refs.ref_form.initForm('detail', row.icNatId)
this.$refs.ref_detail.initForm(row.icNatId)
})
},

45
src/views/modules/base/epidemic/veroFocus/veroFocusEdit.vue

@ -2,7 +2,8 @@
<div class="epidemic-form">
<div class="dialog-h-content scroll-h">
<el-form ref="ref_form1"
<el-form v-if="formType !== 'detail'"
ref="ref_form1"
:inline="true"
:model="formData"
:disabled="formType==='detail'"
@ -60,7 +61,6 @@
style="display: block">
<el-input class="item_width_1"
type="textarea"
:disabled="formType==='detail'"
maxlength="500"
show-word-limit
:autosize="{ minRows: 2, maxRows: 5 }"
@ -68,7 +68,7 @@
placeholder="请输入通知备注"
v-model="formData.remark"></el-input>
</el-form-item>
<div v-if=" formType!=='detail'">
<div>
<el-form-item label="通知渠道"
prop="channel"
label-width="150px"
@ -103,11 +103,42 @@
</div>
</el-form>
<div v-if="formType === 'detail'"
class="m-row">
<div class="m-info">
<div class="info-prop">
<span class="info-title-2">姓名</span>
<span>{{ formData.name||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">手机号</span>
<span>{{ formData.mobile||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">证件号</span>
<span>{{ formData.idCard||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">关注原因</span>
<span>{{ formData.reason||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">备注</span>
<span>{{ formData.remark||'--' }}</span>
</div>
</div>
</div>
</div>
<div class="form_div_btn">
<div class="div-btn">
<el-button size="small"
@click="handleCancle"> </el-button>
@click="handleCancle">{{formType==='detail'?'关 闭':'取 消'}}</el-button>
<el-button v-if="formType!=='detail'"
size="small"
type="primary"
@ -309,7 +340,9 @@ export default {
}
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/detail-main.scss";
</style>
<style lang="scss" scoped >
@import "@/assets/scss/modules/management/epidemic.scss";

2
src/views/modules/base/epidemic/veroFocus/veroFocusList.vue

@ -318,7 +318,7 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="editFormTitle"
width="1050px"
width="850px"
top="5vh"
class="dialog-h"
@closed="diaClose">

22
src/views/modules/workSys/mapConfig.vue

@ -634,12 +634,24 @@ const vueGis = {
gaodeMapLayer = new TileLayer({
title: "地图",
source: new XYZ({
//url
url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}',
wrapX: true//xfalse
url: "http://t4.tianditu.com/DataServer?T=vec_w&tk=8a08c117ab9ee45d508686b01cc8d397&x={x}&y={y}&l={z}"
}),
zIndex: 20
// source: new XYZ({
// //url
// url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}',
// wrapX: true//xfalse
// }),
// zIndex: 20
});
var sourceMark = new XYZ({
url: 'http://t4.tianditu.com/DataServer?T=cva_w&tk=8a08c117ab9ee45d508686b01cc8d397&x={x}&y={y}&l={z}',
// zIndex: 22
})
var tileMark = new TileLayer({
title: '标注图层',
source: sourceMark
})
mapView = new View({
//
@ -652,7 +664,7 @@ const vueGis = {
//map
//
map = new Map({
layers: [gaodeMapLayer],
layers: [gaodeMapLayer, tileMark],
//
view: mapView,
target: 'map'

Loading…
Cancel
Save