Browse Source

脱敏

feature
jiangyy 3 years ago
parent
commit
e3dadfb470
  1. 5
      src/views/modules/base/community/roomDetail.vue
  2. 24
      src/views/modules/base/community/roomForm.vue
  3. 78
      src/views/modules/base/epidemic/antiInfo.vue
  4. 54
      src/views/modules/base/epidemic/natFocus/natFocusEdit.vue
  5. 40
      src/views/modules/base/epidemic/natFocus/natFocusList.vue
  6. 400
      src/views/modules/base/epidemic/natFocus/natFocusListHistory.vue
  7. 41
      src/views/modules/base/epidemic/natInfo/natDetail.vue
  8. 42
      src/views/modules/base/epidemic/natInfo/natList.vue
  9. 47
      src/views/modules/base/epidemic/natInfo/noNatDetail.vue
  10. 34
      src/views/modules/base/epidemic/natInfo/noNatList.vue
  11. 44
      src/views/modules/base/epidemic/travel.vue
  12. 49
      src/views/modules/base/epidemic/travelDetail.vue
  13. 39
      src/views/modules/base/epidemic/vaccin.vue
  14. 53
      src/views/modules/base/epidemic/vaccinForm.vue
  15. 52
      src/views/modules/base/epidemic/veroFocus/veroFocusEdit.vue
  16. 39
      src/views/modules/base/epidemic/veroFocus/veroFocusList.vue
  17. 4
      src/views/modules/shequ/cpts/people-more.vue

5
src/views/modules/base/community/roomDetail.vue

@ -170,11 +170,11 @@ export default {
},
async handleTuomin () {
const url = "/gov/org/ichouse/detailByType";
const url = "/data/aggregator/epmetuser/detailByType";
const { data, code, msg } = await requestPost(url, {
id: this.houseId,
type: "house",
type: "checkHouse",
});
if (code === 0) {
@ -184,7 +184,6 @@ export default {
this.$message.error(msg);
}
},
async loadHouseInfo () {

24
src/views/modules/base/community/roomForm.vue

@ -1,12 +1,7 @@
<template>
<div>
<div class="dialog-h-content scroll-h">
<div v-if="false"
class="div_tuomin">
<el-button size="mini"
class="diy-button--search"
@click="handleTuomin">显示脱敏信息</el-button>
</div>
<el-form ref="ref_form"
:inline="false"
:model="dataForm"
@ -263,23 +258,6 @@ export default {
},
async handleTuomin () {
const url = "/gov/org/ichouse/detailByType";
const { data, code, msg } = await requestPost(url, {
id: this.houseId,
type: "house",
});
if (code === 0) {
this.$set(this.dataForm, 'ownerPhone', data.mobile)
this.$set(this.dataForm, 'ownerIdCard', data.idCard)
} else {
this.$message.error(msg);
}
},
async loadHouseInfo () {

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

@ -227,7 +227,8 @@
class="operate">
<template slot-scope="scope">
<el-button type="text"
<el-button v-if="btnAuths.epidemic_prevention_view"
type="text"
class="div-table-button--detail"
size="small"
@click="handleDetail(scope.row)">查看</el-button>
@ -266,6 +267,14 @@
class="dialog-h"
@closed="handleCnalceForm">
<div class="dialog-h-content scroll-h">
<div v-if="btnAuths.epidemic_prevention_view_real_data"
class="div_tuomin">
<el-button size="mini"
class="diy-button--search"
@click="handleTuomin">显示脱敏信息</el-button>
</div>
<div class="m-row">
<div class="m-row-info">
@ -287,11 +296,11 @@
<div class="m-row-info">
<div class="info-prop">
<span class="info-title-2">手机号</span>
<span>{{ formDetail.mobile||'--' }}</span>
<span>{{ formDetail.showMobile||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">证件号</span>
<span>{{ formDetail.idCard||'--' }}</span>
<span>{{ formDetail.showIdCard||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">疫苗接种针次</span>
@ -480,6 +489,8 @@ export default {
houseName: '',
mobile: '',
idCard: '',
showMobile: '',
showIdCard: '',
vaccineCount: '',
natCount: ''
},
@ -497,6 +508,13 @@ export default {
//form
formShow: false,
formTitle: '新增',
selRowId: '',
btnAuths: {
epidemic_prevention_view: false, //
epidemic_prevention_view_real_data: false, //
},
}
},
@ -507,8 +525,7 @@ export default {
},
async mounted () {
//
this.updateBtnAuths();
const { user } = this.$store.state
this.agencyId = user.agencyId
@ -523,6 +540,33 @@ export default {
},
methods: {
//
updateBtnAuths () {
let rot = this.$route;
if (Array.isArray(rot.meta.btns)) {
console.log('btns', rot.meta.btns)
rot.meta.btns.forEach((item) => {
this.btnAuths[item.permissions] = true;
});
}
},
async handleTuomin () {
const url = "/data/aggregator/epmetuser/detailByType";
const { data, code, msg } = await requestPost(url, {
id: this.selRowId,
type: "JMFYXX",
});
if (code === 0) {
this.$set(this.formDetail, 'showMobile', data.mobile)
this.$set(this.formDetail, 'showIdCard', data.idCard)
} else {
this.$message.error(msg);
}
},
handleAgeChange (val) {
console.log('val----age---', val)
if (val.start) {
@ -615,7 +659,7 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsG = res.data
}
})
@ -635,7 +679,7 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsV = res.data
}
})
@ -652,7 +696,7 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsB = res.data
}
})
@ -669,7 +713,7 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsD = res.data
}
})
@ -684,7 +728,7 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsH = res.data
}
})
@ -762,7 +806,7 @@ export default {
async handleDetail (row) {
this.selRowId = row.id
await this.getDetailInfo(row.id)
await this.getDetailList(row.id)
this.formTitle = '详情'
@ -861,7 +905,10 @@ export default {
},
props: {
view_real_data: {//
type: Boolean,
default: false,
}
}
}
</script>
@ -885,6 +932,13 @@ export default {
.min-w180 {
min-width: 170px;
}
.div_tuomin {
position: absolute;
top: 0;
right: 40px;
z-index: 1000;
}
</style>
<style lang="scss" scoped>

54
src/views/modules/base/epidemic/natFocus/natFocusEdit.vue

@ -1,6 +1,12 @@
<template>
<div>
<div class="dialog-h-content scroll-h">
<div v-if="formType==='detail' && view_real_data"
class="div_tuomin">
<el-button size="mini"
class="diy-button--search"
@click="handleTuomin">显示脱敏信息</el-button>
</div>
<el-form v-if="formType !== 'detail'"
ref="ref_form1"
:inline="true"
@ -124,12 +130,12 @@
<div class="info-prop">
<span class="info-title-2">手机号</span>
<span>{{ formData.mobile||'--' }}</span>
<span>{{ formData.showMobile||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">证件号</span>
<span>{{ formData.idCard||'--' }}</span>
<span>{{ formData.showIdCard||'--' }}</span>
</div>
<div class="info-prop">
@ -176,6 +182,8 @@ function iniGetFmData () {
name: "",
idCard: "",
mobile: "",
showIdCard: '',
showMobile: '',
reason: "",
remark: "",
isSelChannel: false,
@ -190,7 +198,7 @@ export default {
data () {
return {
formType: "edit",
veroId: '',
gridList: [],
btnDisable: false,
@ -214,19 +222,38 @@ export default {
destroyed () { },
methods: {
async handleTuomin () {
const url = "/data/aggregator/epmetuser/detailByType";
const { data, code, msg } = await requestPost(url, {
id: this.veroId,
type: this.fromSource,
});
if (code === 0) {
this.$set(this.formData, 'showMobile', data.mobile)
this.$set(this.formData, 'showIdCard', data.idCard)
} else {
this.$message.error(msg);
}
},
handleChannelChange (val) {
this.formData.content = "";
},
async initForm (formType, row) {
this.formType = formType;
if (this.formType === 'edit') {
this.$refs["ref_form1"].resetFields();
}
row.channel = [];
row.content = "";
row.attentionType = 2;
row.isSelChannel = false;
this.formData = JSON.parse(JSON.stringify(row));
this.veroId = row.id
this.options.isolatedState.forEach(element => {
if (this.formData.isolatedState === element.value) {
this.formData.isolatedStateShow = element.label
@ -354,10 +381,14 @@ export default {
},
},
props: {
// serviceList: {
// type: Array,
// default: []
// },
view_real_data: {//
type: Boolean,
default: false,
},
fromSource: {//
type: String,
default: '',
},
},
};
</script>
@ -366,6 +397,13 @@ export default {
</style>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/epidemic.scss";
.div_tuomin {
position: absolute;
top: 0;
right: 40px;
z-index: 1000;
}
</style>

40
src/views/modules/base/epidemic/natFocus/natFocusList.vue

@ -147,14 +147,16 @@
<div class="div_table">
<div class="div_btn">
<el-button class="diy-button--add"
<el-button v-if="btnAuths.focus_groups_add"
class="diy-button--add"
size="small"
@click="handleAdd">新增</el-button>
<el-button style="float: left"
class="diy-button--export"
size="small"
@click="handleExportModule">下载模板</el-button>
<el-upload :headers="$getElUploadHeaders()"
<el-upload v-if="btnAuths.focus_groups_import"
:headers="$getElUploadHeaders()"
ref="upload"
:multiple="false"
:show-file-list="false"
@ -169,7 +171,8 @@
class="diy-button--delete">导入</el-button>
</el-upload>
<el-button style="float: left; margin-left: 10px"
<el-button v-if="btnAuths.focus_groups_export"
style="float: left; margin-left: 10px"
class="diy-button--reset"
size="small"
@click="handleExport">导出</el-button>
@ -277,11 +280,13 @@
align="center"
class="operate">
<template slot-scope="scope">
<el-button type="text"
<el-button v-if="btnAuths.focus_groups_view"
type="text"
class="div-table-button--detail"
size="small"
@click="handleDetail(scope.row)">查看</el-button>
<el-button type="text"
<el-button v-if="btnAuths.focus_groups_update"
type="text"
class="div-table-button--edit"
size="small"
@click="handleEdit(scope.row)">修改</el-button>
@ -349,6 +354,8 @@
class="dialog-h"
@closed="diaClose">
<nat-focus-edit ref="ref_form_edit"
:fromSource="'focusGroupSpecialAttentionQuarantine'"
:view_real_data="btnAuths.focus_groups_view_real_data"
@dialogCancle="diaClose"
@dialogOk="addFormOk"></nat-focus-edit>
</el-dialog>
@ -468,6 +475,15 @@ export default {
showedPeopleMoreInfo: false,
currentPepeleId: "",
currentPepeleGridName: "",
btnAuths: {
focus_groups_add: false, //
focus_groups_import: false, //
focus_groups_export: false, //
focus_groups_view: false, //
focus_groups_update: false, //
focus_groups_view_real_data: false, //
},
};
},
components: {
@ -484,6 +500,8 @@ export default {
},
async mounted () {
this.updateBtnAuths();
for (let i = 0; i < 11; i++) {
let obj = {
value: i + "",
@ -502,6 +520,16 @@ export default {
},
methods: {
//
updateBtnAuths () {
let rot = this.$route;
if (Array.isArray(rot.meta.btns)) {
rot.meta.btns.forEach((item) => {
this.btnAuths[item.permissions] = true;
});
}
},
async handleWatchPeopleInfo (rowIndex) {
let item = this.tableData[rowIndex];
this.currentPepeleId = item.userId;
@ -775,6 +803,8 @@ export default {
if (code === 0) {
row.mobile = data.mobile;
row.idCard = data.idCard;
row.showMobile = data.showMobile;
row.showIdCard = data.showIdCard;
}
return row;
},

400
src/views/modules/base/epidemic/natFocus/natFocusListHistory.vue

@ -1,79 +1,69 @@
<template>
<div class="div_main">
<div class="div_search">
<el-form
:inline="true"
<el-form :inline="true"
:model="formData"
ref="ref_searchform"
:label-width="'90px'"
>
:label-width="'90px'">
<div>
<el-form-item label="姓名" prop="name">
<el-input
v-model="formData.name"
<el-form-item label="姓名"
prop="name">
<el-input v-model="formData.name"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入姓名"
>
placeholder="请输入姓名">
</el-input>
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-input
v-model="formData.mobile"
<el-form-item label="手机号"
prop="mobile">
<el-input v-model="formData.mobile"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入手机号"
>
placeholder="请输入手机号">
</el-input>
</el-form-item>
<el-form-item label="证件号" prop="mobile">
<el-input
v-model="formData.idCard"
<el-form-item label="证件号"
prop="mobile">
<el-input v-model="formData.idCard"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入身份证号或护照号"
>
placeholder="请输入身份证号或护照号">
</el-input>
</el-form-item>
<el-form-item label="关注原因" prop="mobile">
<el-input
v-model="formData.reason"
<el-form-item label="关注原因"
prop="mobile">
<el-input v-model="formData.reason"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入关注原因"
>
placeholder="请输入关注原因">
</el-input>
</el-form-item>
<el-form-item label="隔离状态" prop="isolatedState">
<el-select
v-model="formData.isolatedState"
<el-form-item label="隔离状态"
prop="isolatedState">
<el-select v-model="formData.isolatedState"
size="small"
class="list_item_width_1"
placeholder="请选择"
clearable
>
<el-option
v-for="item in options.isolatedState"
clearable>
<el-option v-for="item in options.isolatedState"
:key="item.value"
:label="item.label"
:value="item.value"
>
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input
v-model="formData.remark"
<el-form-item label="备注"
prop="remark">
<el-input v-model="formData.remark"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入备注"
>
placeholder="请输入备注">
</el-input>
</el-form-item>
</div>
@ -83,103 +73,80 @@
<div class="resi-cell-value">
<div class="resi-cell-col">
<el-form-item prop="villageId">
<el-select
v-model.trim="formData.villageId"
<el-select v-model.trim="formData.villageId"
placeholder="小区"
size="small"
clearable
class="resi-cell-select"
@change="handleChangeV"
>
<el-option
v-for="item in optionsV"
@change="handleChangeV">
<el-option v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value"
>
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="buildId">
<el-select
v-model.trim="formData.buildId"
<el-select v-model.trim="formData.buildId"
placeholder="楼号"
:disabled="!this.formData.villageId"
size="small"
clearable
class="resi-cell-select resi-cell-select-middle list_item_width_1"
@change="handleChangeB"
>
<el-option
v-for="item in optionsB"
@change="handleChangeB">
<el-option v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value"
>
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="unitId">
<el-select
v-model.trim="formData.unitId"
<el-select v-model.trim="formData.unitId"
placeholder="单元"
size="small"
:disabled="!this.formData.buildId"
clearable
class="resi-cell-select resi-cell-select-middle list_item_width_1"
@change="handleChangeD"
>
<el-option
v-for="item in optionsD"
@change="handleChangeD">
<el-option v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value"
>
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="homeId">
<el-select
v-model.trim="formData.homeId"
<el-select v-model.trim="formData.homeId"
placeholder="房号"
:disabled="!this.formData.unitId"
size="small"
clearable
class="resi-cell-select resi-cell-select-middle list_item_width_1"
>
<el-option
v-for="item in optionsH"
class="resi-cell-select resi-cell-select-middle list_item_width_1">
<el-option v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value"
>
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</div>
</div>
</el-form-item>
<el-button
style="margin-left: 30px"
<el-button style="margin-left: 30px"
size="small"
class="diy-button--search"
@click="handleSearch"
>查询</el-button
>
<el-button
style="margin-left: 10px"
@click="handleSearch">查询</el-button>
<el-button style="margin-left: 10px"
size="small"
class="diy-button--reset"
@click="resetSearch"
>重置</el-button
>
@click="resetSearch">重置</el-button>
</div>
</el-form>
</div>
<div class="div_table">
<el-table
ref="ref_table"
<el-table ref="ref_table"
class="table"
:data="tableData"
border
@ -188,30 +155,22 @@
:header-cell-style="{ background: '#2195FE', color: '#FFFFFF' }"
@select="handleSelectTable"
@select-all="handleSelAll"
style="width: 100%"
>
<el-table-column
label="序号"
style="width: 100%">
<el-table-column label="序号"
header-align="center"
align="center"
type="index"
width="50"
></el-table-column>
width="50"></el-table-column>
<el-table-column
prop="name"
<el-table-column prop="name"
header-align="center"
align="center"
label="姓名"
width="90"
>
width="90">
<template slot-scope="scope">
<a
style="cursor: pointer"
<a style="cursor: pointer"
v-if="scope.row.userId"
@click="handleWatchPeopleInfo(scope.$index)"
>{{ scope.row.name }}</a
>
@click="handleWatchPeopleInfo(scope.$index)">{{ scope.row.name }}</a>
<span v-else>{{ scope.row.name }}</span>
</template>
</el-table-column>
@ -233,126 +192,98 @@
>
</el-table-column> -->
<el-table-column
prop="allName"
<el-table-column prop="allName"
header-align="center"
align="center"
label="所属房屋"
min-width="200"
>
min-width="200">
</el-table-column>
<el-table-column
prop="reason"
<el-table-column prop="reason"
header-align="center"
align="center"
label="关注原因"
width="180"
>
width="180">
</el-table-column>
<el-table-column
prop="isolatedState"
<el-table-column prop="isolatedState"
header-align="center"
align="center"
label="隔离状态"
width="180"
>
width="180">
<template slot-scope="scope">
{{ optionsDict.isolatedState[scope.row.isolatedState] || "--" }}
</template>
</el-table-column>
<el-table-column
prop="lastNatTime"
<el-table-column prop="lastNatTime"
header-align="center"
align="center"
show-overflow-tooltip
label="最后一次核酸时间"
width="170"
>
width="170">
</el-table-column>
<el-table-column
prop="remark"
<el-table-column prop="remark"
header-align="center"
align="center"
show-overflow-tooltip
label="备注"
min-width="180"
>
min-width="180">
</el-table-column>
<el-table-column
label="操作"
<el-table-column label="操作"
fixed="right"
width="140"
header-align="center"
align="center"
class="operate"
>
class="operate">
<template slot-scope="scope">
<el-button
<el-button v-if="btnAuths.focus_groups_his_view"
type="text"
class="div-table-button--detail"
size="small"
@click="handleDetail(scope.row)"
>查看</el-button
>
@click="handleDetail(scope.row)">查看</el-button>
<el-popover
popper-class="btn-popper"
<el-popover popper-class="btn-popper"
placement="bottom"
style="margin-left: 10px"
width="20"
trigger="hover"
>
trigger="hover">
<div class="table-more-btn">
<el-button
type="text"
<el-button type="text"
class="div-table-button--detail--noline"
size="small"
@click="handleNoticeList(scope.row)"
>通知记录</el-button
>
@click="handleNoticeList(scope.row)">通知记录</el-button>
</div>
<div class="table-more-btn">
<el-button
type="text"
<el-button type="text"
class="div-table-button--detail--noline"
size="small"
@click="handleVisiteList(scope.row)"
>随访记录</el-button
>
@click="handleVisiteList(scope.row)">随访记录</el-button>
</div>
<el-button
type="text"
<el-button type="text"
size="small"
class="div-table-button--more"
slot="reference"
>更多<i class="el-icon-caret-bottom"></i
></el-button>
slot="reference">更多<i class="el-icon-caret-bottom"></i></el-button>
</el-popover>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination
@size-change="handleSizeChange"
<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"
>
:total="total">
</el-pagination>
</div>
</div>
<!-- 新增弹出框 -->
<el-dialog
:visible.sync="addFormShow"
<el-dialog :visible.sync="addFormShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:destroy-on-close="true"
@ -360,87 +291,68 @@
width="1050px"
top="5vh"
class="dialog-h"
@closed="diaClose"
>
<nat-focus-add
ref="ref_form_add"
@closed="diaClose">
<nat-focus-add ref="ref_form_add"
@dialogCancle="diaClose"
@dialogOk="addFormOk"
></nat-focus-add>
@dialogOk="addFormOk"></nat-focus-add>
</el-dialog>
<!-- 修改弹出框 -->
<el-dialog
:visible.sync="editFormShow"
<el-dialog :visible.sync="editFormShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="editFormTitle"
width="1050px"
top="5vh"
class="dialog-h"
@closed="diaClose"
>
<nat-focus-edit
ref="ref_form_edit"
@closed="diaClose">
<nat-focus-edit ref="ref_form_edit"
:fromSource="'focusGroupSpecialAttentionHistory'"
:view_real_data="btnAuths.focus_groups_his_view_real_data"
@dialogCancle="diaClose"
@dialogOk="addFormOk"
></nat-focus-edit>
@dialogOk="addFormOk"></nat-focus-edit>
</el-dialog>
<!-- 发送通知弹出框 -->
<el-dialog
:visible.sync="sendNoticeFormShow"
<el-dialog :visible.sync="sendNoticeFormShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="发送通知"
width="850px"
top="5vh"
class="dialog-h"
@closed="diaClose"
>
<nf-send-notice
ref="ref_sendnotice"
@closed="diaClose">
<nf-send-notice ref="ref_sendnotice"
@dialogOk="sendNoticeOk"
@dialogCancle="diaClose"
></nf-send-notice>
@dialogCancle="diaClose"></nf-send-notice>
</el-dialog>
<!-- 通知记录弹出框 -->
<el-dialog
:visible.sync="noticeListFormShow"
<el-dialog :visible.sync="noticeListFormShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="通知记录"
width="1050px"
top="5vh"
class="dialog-h"
@closed="diaClose"
>
<nf-notice-list
ref="ref_noticelist"
@dialogCancle="diaClose"
></nf-notice-list>
@closed="diaClose">
<nf-notice-list ref="ref_noticelist"
@dialogCancle="diaClose"></nf-notice-list>
</el-dialog>
<!-- 随访记录弹出框 -->
<el-dialog
:visible.sync="visiteListFormShow"
<el-dialog :visible.sync="visiteListFormShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="随访记录"
width="1050px"
top="5vh"
class="dialog-h"
@closed="diaClose"
>
<nf-visite-list
ref="ref_visitelist"
@dialogCancle="diaClose"
></nf-visite-list>
@closed="diaClose">
<nf-visite-list ref="ref_visitelist"
@dialogCancle="diaClose"></nf-visite-list>
</el-dialog>
<people-more
v-if="showedPeopleMoreInfo && currentPepeleId"
<people-more v-if="showedPeopleMoreInfo && currentPepeleId"
:userId="currentPepeleId"
:gridName="currentPepeleGridName"
@close="showedPeopleMoreInfo = false"
/>
@close="showedPeopleMoreInfo = false" />
</div>
</template>
@ -459,7 +371,7 @@ import peopleMore from "@/views/modules/shequ/cpts/people-more";
let loading; //
export default {
data() {
data () {
return {
loading: false,
total: 0,
@ -515,6 +427,12 @@ export default {
showedPeopleMoreInfo: false,
currentPepeleId: "",
currentPepeleGridName: "",
btnAuths: {
focus_groups_his_view: false, //
focus_groups_his_view_real_data: false, //
},
};
},
components: {
@ -526,11 +444,13 @@ export default {
peopleMore,
},
activated() {
activated () {
this.$refs["ref_table"].doLayout();
},
async mounted() {
async mounted () {
this.updateBtnAuths();
for (let i = 0; i < 11; i++) {
let obj = {
value: i + "",
@ -549,7 +469,17 @@ export default {
},
methods: {
async handleWatchPeopleInfo(rowIndex) {
//
updateBtnAuths () {
let rot = this.$route;
if (Array.isArray(rot.meta.btns)) {
rot.meta.btns.forEach((item) => {
this.btnAuths[item.permissions] = true;
});
}
},
async handleWatchPeopleInfo (rowIndex) {
let item = this.tableData[rowIndex];
this.currentPepeleId = item.userId;
this.currentPepeleGridName = item.gridName;
@ -557,7 +487,7 @@ export default {
this.showedPeopleMoreInfo = true;
},
async getFmOptions(field, url, params, cookFn) {
async getFmOptions (field, url, params, cookFn) {
const { data, code, msg } = await requestPost(url, {
...params,
});
@ -574,12 +504,12 @@ export default {
}
},
handleSearch() {
handleSearch () {
this.selectionAll = [];
this.loadTable();
},
async loadTable() {
async loadTable () {
this.tableLoading = true;
const url = "/epmetuser/icEpidemicSpecialAttention/historyList";
@ -630,7 +560,7 @@ export default {
this.tableLoading = false;
},
handleChangeV(val) {
handleChangeV (val) {
console.log("val", val);
this.formData.buildId = "";
this.formData.unitId = "";
@ -639,19 +569,19 @@ export default {
this.getUniList();
this.getHouseList();
},
handleChangeB(val) {
handleChangeB (val) {
console.log("val", val);
this.formData.unitId = "";
this.formData.homeId = "";
this.getUniList();
this.getHouseList();
},
handleChangeD() {
handleChangeD () {
this.formData.homeId = "";
this.getHouseList();
},
getValiheList() {
getValiheList () {
const { user } = this.$store.state;
this.$http
.post("/gov/org/icneighborhood/neighborhoodoption", {
@ -671,7 +601,7 @@ export default {
});
},
getBuildList() {
getBuildList () {
this.$http
.post("/gov/org/icbuilding/buildingoption", {
neighborHoodId: this.formData.villageId,
@ -688,7 +618,7 @@ export default {
return this.$message.error("网络错误");
});
},
getUniList() {
getUniList () {
this.$http
.post("/gov/org/icbuildingunit/unitoption", {
buildingId: this.formData.buildId,
@ -705,7 +635,7 @@ export default {
return this.$message.error("网络错误");
});
},
getHouseList() {
getHouseList () {
this.$http
.post("/gov/org/ichouse/houseoption", { unitId: this.formData.unitId })
.then(({ data: res }) => {
@ -721,7 +651,7 @@ export default {
});
},
handleSelectTable(selection, row) {
handleSelectTable (selection, row) {
row.isSel = !row.isSel;
if (row.isSel) {
@ -737,7 +667,7 @@ export default {
}
},
handleSelAll(selection) {
handleSelAll (selection) {
let selFlag = selection.length > 0; //
for (let i = 0; i < this.tableData.length; i++) {
let tableItem = this.tableData[i];
@ -761,7 +691,7 @@ export default {
},
//
analysisTableSelection() {
analysisTableSelection () {
this.$nextTick(() => {
this.tableData.forEach((tableItem) => {
for (let j = 0; j < this.selectionAll.length; j++) {
@ -779,7 +709,7 @@ export default {
});
},
diaClose() {
diaClose () {
this.addFormShow = false;
this.editFormShow = false;
this.sendNoticeFormShow = false;
@ -787,14 +717,14 @@ export default {
this.visiteListFormShow = false;
},
handleAdd() {
handleAdd () {
this.addFormShow = true;
this.$nextTick(() => {
this.$refs.ref_form_add.initForm(null, this.agencyId);
});
},
async handleEdit(row) {
async handleEdit (row) {
this.editFormTitle = "修改核酸检测关注名单";
this.editFormShow = true;
const row1 = { ...row };
@ -802,7 +732,7 @@ export default {
this.$refs.ref_form_edit.initForm("edit", row2);
},
async handleDetail(row) {
async handleDetail (row) {
this.editFormTitle = "查看核酸检测关注名单";
this.editFormShow = true;
const row1 = { ...row };
@ -810,7 +740,7 @@ export default {
this.$refs.ref_form_edit.initForm("detail", row2);
},
async getInfo(row) {
async getInfo (row) {
const url = "/epmetuser/icEpidemicSpecialAttention/detail";
let params = {
@ -822,11 +752,13 @@ export default {
if (code === 0) {
row.mobile = data.mobile;
row.idCard = data.idCard;
row.showMobile = data.showMobile;
row.showIdCard = data.showIdCard;
}
return row;
},
handleSendNotice() {
handleSendNotice () {
if (this.selectionAll.length === 0) {
this.$message.info("请选择要通知的人员");
return false;
@ -837,32 +769,32 @@ export default {
});
},
handleNoticeList(row) {
handleNoticeList (row) {
this.noticeListFormShow = true;
this.$nextTick(() => {
this.$refs.ref_noticelist.initTable(row.realIdCard, "2");
});
},
handleVisiteList(row) {
handleVisiteList (row) {
this.visiteListFormShow = true;
this.$nextTick(() => {
this.$refs.ref_visitelist.initTable(row, "2");
});
},
addFormOk() {
addFormOk () {
this.addFormShow = false;
this.editFormShow = false;
this.loadTable();
},
sendNoticeOk() {
sendNoticeOk () {
this.sendNoticeFormShow = false;
this.selectionAll = [];
this.loadTable();
},
async handleDelete(row) {
async handleDelete (row) {
if (this.selectionAll.length === 0) {
this.$message.info("请选择要取消关注的名单");
return false;
@ -881,7 +813,7 @@ export default {
});
},
async deleteFocus(row) {
async deleteFocus (row) {
const url = "/epmetuser/icEpidemicSpecialAttention/cancel-attention";
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/placepatrolteam/del"
let idCards = [];
@ -909,7 +841,7 @@ export default {
},
//
resetSearch() {
resetSearch () {
this.formData = {
attentionType: 2, //21
name: "",
@ -922,18 +854,18 @@ export default {
// this.loadTable()
},
handleSizeChange(val) {
handleSizeChange (val) {
this.pageSize = val;
this.pageNo = 1;
this.loadTable();
},
handleCurrentChange(val) {
handleCurrentChange (val) {
this.pageNo = val;
this.loadTable();
},
//
async handleExport() {
async handleExport () {
let title = "核酸检测关注名单";
const url = "/epmetuser/icEpidemicSpecialAttention/vaccination-export";
@ -951,7 +883,7 @@ export default {
},
//
download(data, fileName) {
download (data, fileName) {
if (!data) {
return;
}
@ -975,7 +907,7 @@ export default {
}
},
handleExportModule() {
handleExportModule () {
let title = "核酸检测关注名单模板";
const url = "/epmetuser/icEpidemicSpecialAttention/export-template";
@ -996,7 +928,7 @@ export default {
},
//
beforeUpload(file) {
beforeUpload (file) {
const array = file.name.split(".");
const extension = array[array.length - 1];
// const isLt1M = (file.size / 1024 / 1024) < 5
@ -1010,11 +942,11 @@ export default {
}
},
//
handleExceed(files, fileList) {
handleExceed (files, fileList) {
this.$message.warning(`当前限制选择 1 个文件,请删除后继续上传`);
},
async uploadFile() {
async uploadFile () {
if (this.fileName == "") {
this.$message.warning("请选择要上传的文件!");
return false;
@ -1053,13 +985,13 @@ export default {
// this.loadTable()
},
(rspMsg, data) => {},
(rspMsg, data) => { },
{ headers: { "Content-Type": "multipart/form-data" } }
);
},
//
startLoading() {
startLoading () {
loading = Loading.service({
lock: true, //
text: "正在加载……", //
@ -1067,7 +999,7 @@ export default {
});
},
//
endLoading() {
endLoading () {
// clearTimeout(timer);
if (loading) {
loading.close();
@ -1075,7 +1007,7 @@ export default {
},
},
computed: {
tableHeight() {
tableHeight () {
return this.$store.state.inIframe
? this.clientHeight - 415 + this.iframeHeight
: this.clientHeight - 415;

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

@ -1,6 +1,13 @@
<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">
<div class="m-info">
@ -11,12 +18,12 @@
<div class="info-prop">
<span class="info-title-2">手机号</span>
<span>{{ formData.mobile||'--' }}</span>
<span>{{ formData.showMobile||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">证件号</span>
<span>{{ formData.idCard||'--' }}</span>
<span>{{ formData.showIdCard||'--' }}</span>
</div>
<div class="info-prop">
@ -90,7 +97,22 @@ export default {
},
methods: {
async handleTuomin () {
const url = "/data/aggregator/epmetuser/detailByType";
const { data, code, msg } = await requestPost(url, {
id: this.icNatId,
type: "natRecord",
});
if (code === 0) {
this.$set(this.formData, 'showMobile', data.mobile)
this.$set(this.formData, 'showIdCard', data.idCard)
} else {
this.$message.error(msg);
}
},
async initForm (icNatId) {
this.startLoading()
@ -178,17 +200,24 @@ export default {
},
props: {
// serviceList: {
// type: Array,
// default: []
// },
view_real_data: {//
type: Boolean,
default: false,
}
},
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/detail-main.scss";
.div_tuomin {
position: absolute;
top: 0;
right: 40px;
z-index: 1000;
}
</style>

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

@ -96,7 +96,8 @@
</div>
<div class="div_table">
<div class="div_btn">
<el-button class="diy-button--add"
<el-button v-if="btnAuths.ic_nat_add"
class="diy-button--add"
size="small"
@click="handleAdd">新增</el-button>
@ -104,7 +105,8 @@
class="diy-button--export"
size="small"
@click="handleExportModule">下载模板</el-button>
<el-upload :headers="$getElUploadHeaders()"
<el-upload v-if="btnAuths.ic_nat_import"
:headers="$getElUploadHeaders()"
ref="upload"
:multiple='false'
:show-file-list='false'
@ -119,7 +121,8 @@
class="diy-button--delete">导入</el-button>
</el-upload>
<el-button style="float:left;margin-left:10px"
<el-button v-if="btnAuths.ic_nat_export"
style="float:left;margin-left:10px"
class="diy-button--reset"
size="small"
@click="handleExport">导出</el-button>
@ -194,7 +197,8 @@
class="operate">
<template slot-scope="scope">
<el-button type="text"
<el-button v-if="btnAuths.ic_nat_view"
type="text"
class="div-table-button--detail"
size="small"
@click="handleDetail(scope.row)">查看</el-button>
@ -205,13 +209,13 @@
size="small"
@click="handleAttention(scope.row)">同步</el-button>
<el-button v-if="isResiUser&&(scope.row.userType==='resi'||scope.row.userType==='icresi') &&scope.row.agencyId===agencyId"
<el-button v-if="btnAuths.ic_nat_update&&isResiUser&&(scope.row.userType==='resi'||scope.row.userType==='icresi') &&scope.row.agencyId===agencyId"
type="text"
class="div-table-button--edit"
size="small"
@click="handleEdit(scope.row)">修改</el-button>
<el-button v-if="isResiUser&&(scope.row.userType==='resi'||scope.row.userType==='icresi') &&scope.row.agencyId===agencyId"
<el-button v-if="btnAuths.ic_nat_del&&isResiUser&&(scope.row.userType==='resi'||scope.row.userType==='icresi') &&scope.row.agencyId===agencyId"
type="text"
class="div-table-button--delete "
size="small"
@ -251,7 +255,7 @@
@dialogCancle="diaClose"
@dialogOk="addFormOk"></nat-form>
</el-dialog>
<!-- 修改弹出框 -->
<!-- 详情弹出框 -->
<el-dialog :visible.sync="detailShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
@ -261,6 +265,7 @@
class="dialog-h"
@closed="diaDetailClose">
<nat-detail ref="ref_detail"
:view_real_data="btnAuths.ic_nat_view_real_data"
@dialogCancle="diaDetailClose"></nat-detail>
</el-dialog>
@ -328,6 +333,16 @@ export default {
detailShow: false,
formTitle: '新增',
btnAuths: {
ic_nat_add: false, //
ic_nat_import: false, //
ic_nat_export: false, //
ic_nat_del: false, //
ic_nat_view: false, //
ic_nat_update: false, //
ic_nat_view_real_data: false, //
},
}
},
components: {
@ -337,8 +352,7 @@ export default {
},
async mounted () {
//
this.updateBtnAuths();
const { user } = this.$store.state
this.agencyId = user.agencyId
@ -352,7 +366,15 @@ export default {
},
methods: {
//
updateBtnAuths () {
let rot = this.$route;
if (Array.isArray(rot.meta.btns)) {
rot.meta.btns.forEach((item) => {
this.btnAuths[item.permissions] = true;
});
}
},
async handleSearch () {
this.isResiUser = this.formData.orgType === 'current'

47
src/views/modules/base/epidemic/natInfo/noNatDetail.vue

@ -1,6 +1,13 @@
<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">
<div class="m-info">
@ -11,12 +18,12 @@
<div class="info-prop">
<span class="info-title-2">联系方式</span>
<span>{{ formData.realMobile||'--' }}</span>
<span>{{ formData.mobile||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">证件号</span>
<span>{{ formData.realIdCard||'--' }}</span>
<span>{{ formData.idCard||'--' }}</span>
</div>
<div class="info-prop">
@ -79,8 +86,6 @@ export default {
icNatId: '',
formData: {},
}
},
components: {},
@ -91,16 +96,29 @@ export default {
},
methods: {
async handleTuomin () {
const url = "/data/aggregator/epmetuser/detailByType";
const { data, code, msg } = await requestPost(url, {
id: this.icNatId,
type: "noNatCompare",
});
if (code === 0) {
this.$set(this.formData, 'mobile', data.mobile)
this.$set(this.formData, 'idCard', data.idCard)
} else {
this.$message.error(msg);
}
},
async initForm (row) {
this.startLoading()
// this.formData.agencyId = this.agencyId
this.formData = JSON.parse(JSON.stringify(row))
// this.icNatId = icNatId
// this.formData.icNatId = icNatId
this.icNatId = row.recordId
// await this.loadFormData()
this.initLoading = true
this.endLoading()
@ -163,17 +181,24 @@ export default {
},
props: {
// serviceList: {
// type: Array,
// default: []
// },
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: 40px;
z-index: 1000;
}
</style>

34
src/views/modules/base/epidemic/natInfo/noNatList.vue

@ -87,7 +87,8 @@
class="diy-button--export"
size="small"
@click="handleExportModule">下载模板</el-button>
<el-upload :headers="$getElUploadHeaders()"
<el-upload v-if="btnAuths.nat_compare_rec_import"
:headers="$getElUploadHeaders()"
ref="upload"
:multiple='false'
:show-file-list='false'
@ -102,7 +103,8 @@
class="diy-button--delete">导入</el-button>
</el-upload>
<el-button style="float:left;margin-left:10px"
<el-button v-if="btnAuths.nat_compare_rec_export"
style="float:left;margin-left:10px"
class="diy-button--reset"
size="small"
@click="handleExport">导出</el-button>
@ -190,7 +192,8 @@
class="operate">
<template slot-scope="scope">
<el-button type="text"
<el-button v-if="btnAuths.nat_compare_rec_view"
type="text"
class="div-table-button--detail"
size="small"
@click="handleDetail(scope.row)">查看</el-button>
@ -223,7 +226,7 @@
@dialogCancle="diaClose"
@dialogOk="addFormOk"></nat-form>
</el-dialog>
<!-- 修改弹出框 -->
<!-- 详情弹出框 -->
<el-dialog :visible.sync="detailShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
@ -233,6 +236,7 @@
class="dialog-h"
@closed="diaDetailClose">
<no-nat-detail ref="ref_detail"
:view_real_data="btnAuths.nat_compare_rec_view_real_data"
@dialogCancle="diaDetailClose"></no-nat-detail>
</el-dialog>
@ -287,7 +291,14 @@ export default {
detailShow: false,
formTitle: '新增',
sHeight: 0
sHeight: 0,
btnAuths: {
nat_compare_rec_import: false, //
nat_compare_rec_export: false, //
nat_compare_rec_view: false, //
nat_compare_rec_view_real_data: false, //
},
}
},
@ -298,7 +309,8 @@ export default {
},
async mounted () {
//
this.updateBtnAuths();
const { user } = this.$store.state
this.agencyId = user.agencyId
@ -311,7 +323,15 @@ export default {
},
methods: {
//
updateBtnAuths () {
let rot = this.$route;
if (Array.isArray(rot.meta.btns)) {
rot.meta.btns.forEach((item) => {
this.btnAuths[item.permissions] = true;
});
}
},
async handleSearch () {
await this.loadTable()

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

@ -82,14 +82,16 @@
</div>
<div class="div_table">
<div class="div_btn">
<el-button class="diy-button--add"
<el-button v-if="btnAuths.tripreport_add"
class="diy-button--add"
size="small"
@click="handleAdd">新增</el-button>
<el-button class="diy-button--export"
size="small"
@click="handleExportModule">下载模板</el-button>
<el-upload :headers="$getElUploadHeaders()"
<el-upload v-if="btnAuths.tripreport_import"
:headers="$getElUploadHeaders()"
ref="upload"
:multiple='false'
:show-file-list='false'
@ -105,7 +107,8 @@
:loading="importLoading">{{importBtnTitle}}</el-button>
</el-upload>
<el-button style="margin-left:10px"
<el-button v-if="btnAuths.tripreport_export"
style="margin-left:10px"
class="diy-button--reset"
size="small"
:loading="exportBtn"
@ -218,12 +221,14 @@
class="operate">
<template slot-scope="scope">
<el-button type="text"
<el-button v-if="btnAuths.tripreport_view"
type="text"
class="div-table-button--detail"
size="small"
@click="handleDetail(scope.row)">查看</el-button>
<!-- v-if="scope.row.userType != 'resi'" -->
<el-button type="text"
<el-button v-if="btnAuths.tripreport_update"
type="text"
class="div-table-button--edit"
size="small"
@click="handleEdit(scope.row)">修改</el-button>
@ -280,7 +285,8 @@
@click="handleVisiteList(scope.row) ">随访记录</el-button>
</el-dropdown-item>
<el-dropdown-item>
<el-button type="text"
<el-button v-if="btnAuths.tripreport_del"
type="text"
class="div-table-button--delete--noline "
size="small"
@click="handleDelete(scope.row)">删除</el-button>
@ -327,6 +333,7 @@
class="dialog-h"
@closed="diaClose">
<travel-detail v-if="detailShow"
:view_real_data="btnAuths.tripreport_view_real_data"
@dialogCancle="addFormCancle"
ref="ref_detail"></travel-detail>
</el-dialog>
@ -422,7 +429,17 @@ export default {
lazy: true,
checkStrictly: true,
lazyLoad: this.lzayLoadArea
}
},
btnAuths: {
tripreport_add: false, //
tripreport_import: false, //
tripreport_export: false, //
tripreport_del: false, //
tripreport_view: false, //
tripreport_update: false, //
tripreport_view_real_data: false, //
},
}
},
@ -437,8 +454,7 @@ export default {
},
async mounted () {
//
this.updateBtnAuths();
const { user } = this.$store.state
console.log('user-----', user)
@ -450,6 +466,16 @@ export default {
},
methods: {
//
updateBtnAuths () {
let rot = this.$route;
if (Array.isArray(rot.meta.btns)) {
rot.meta.btns.forEach((item) => {
this.btnAuths[item.permissions] = true;
});
}
},
lzayLoadArea (node, resolve) {
this.getArea(node, resolve)
// setTimeout(() => {

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

@ -2,6 +2,12 @@
<div>
<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">
<div class="m-info">
@ -12,12 +18,12 @@
<div class="info-prop">
<span class="info-title-4">手机号</span>
<span>{{ formData.mobile||'--' }}</span>
<span>{{ formData.showMobile||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-4">证件号</span>
<span>{{ formData.idCard||'--' }}</span>
<span>{{ formData.showIdCard||'--' }}</span>
</div>
<div class="info-prop">
@ -92,13 +98,35 @@ export default {
destroyed () {
this.nowAllCode = []
},
props: {
view_real_data: {//
type: Boolean,
default: false,
}
},
methods: {
async handleTuomin () {
const url = "/data/aggregator/epmetuser/detailByType";
const { data, code, msg } = await requestPost(url, {
id: this.icNatId,
type: "routeFollow",
});
if (code === 0) {
this.$set(this.formData, 'showMobile', data.mobile)
this.$set(this.formData, 'showIdCard', data.idCard)
} else {
this.$message.error(msg);
}
},
async initForm (row) {
console.log('row----', row)
this.formData.agencyId = this.agencyId
this.icNatId = row.id
await this.loadFormData(row.id)
this.initLoading = true
@ -184,13 +212,7 @@ export default {
}
},
async handleSelPerson (personItem) {
this.formData.userId = personItem.demandUserId
this.formData.name = personItem.demandUserName
this.formData.mobile = personItem.demandUserMobile
this.formData.idCard = personItem.idCard
this.handleSelAddress(personItem.houseId)
},
async loadFormData (id) {
@ -242,6 +264,13 @@ export default {
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/detail-main.scss";
.div_tuomin {
position: absolute;
top: 0;
right: 40px;
z-index: 1000;
}
</style>

39
src/views/modules/base/epidemic/vaccin.vue

@ -92,7 +92,8 @@
</div>
<div class="div_table">
<div class="div_btn">
<el-button class="diy-button--add"
<el-button v-if="btnAuths.vaccine_add"
class="diy-button--add"
size="small"
@click="handleAdd">新增</el-button>
@ -100,7 +101,8 @@
class="diy-button--export"
size="small"
@click="handleExportModule">下载模板</el-button>
<el-upload :headers="$getElUploadHeaders()"
<el-upload v-if="btnAuths.vaccine_import"
:headers="$getElUploadHeaders()"
ref="upload"
:multiple="false"
:show-file-list="false"
@ -115,7 +117,8 @@
class="diy-button--delete">导入</el-button>
</el-upload>
<el-button style="float: left; margin-left: 10px"
<el-button v-if="btnAuths.vaccine_export"
style="float: left; margin-left: 10px"
class="diy-button--reset"
size="small"
@click="handleExport">导出</el-button>
@ -189,7 +192,8 @@
align="center"
class="operate">
<template slot-scope="scope">
<el-button type="text"
<el-button v-if="btnAuths.vaccine_view"
type="text"
class="div-table-button--detail"
size="small"
@click="handleDetail(scope.row)">查看</el-button>
@ -199,13 +203,13 @@
class="div-table-button--edit"
size="small"
@click="handleAttention(scope.row)">同步</el-button>
<el-button v-if="isResiUser&&(scope.row.userType==='resi'||scope.row.userType==='icresi') &&scope.row.agencyId===agencyId"
<el-button v-if="btnAuths.vaccine_update&&isResiUser&&(scope.row.userType==='resi'||scope.row.userType==='icresi') &&scope.row.agencyId===agencyId"
type="text"
class="div-table-button--edit"
size="small"
@click="handleEdit(scope.row)">修改</el-button>
<el-button v-if="isResiUser&&(scope.row.userType==='resi'||scope.row.userType==='icresi') &&scope.row.agencyId===agencyId"
<el-button v-if="btnAuths.vaccine_del&&isResiUser&&(scope.row.userType==='resi'||scope.row.userType==='icresi') &&scope.row.agencyId===agencyId"
type="text"
class="div-table-button--delete "
size="small"
@ -244,6 +248,7 @@
class="dialog-h"
@closed="diaClose">
<vaccinForm ref="ref_form"
:view_real_data="btnAuths.vaccine_view_real_data"
@dialogCancle="diaClose"></vaccinForm>
</el-dialog>
<el-dialog :visible.sync="addFormShow"
@ -321,6 +326,15 @@ export default {
formTitle: "新增",
addFormShow: false,
btnAuths: {
vaccine_add: false, //
vaccine_import: false, //
vaccine_export: false, //
vaccine_del: false, //
vaccine_view: false, //
vaccine_update: false, //
vaccine_view_real_data: false, //
},
};
},
components: {
@ -330,7 +344,7 @@ export default {
},
async created () { },
async mounted () {
//
this.updateBtnAuths();
const { user } = this.$store.state;
this.agencyId = user.agencyId;
@ -342,6 +356,15 @@ export default {
},
methods: {
//
updateBtnAuths () {
let rot = this.$route;
if (Array.isArray(rot.meta.btns)) {
rot.meta.btns.forEach((item) => {
this.btnAuths[item.permissions] = true;
});
}
},
async handleSearch () {
this.isResiUser = this.formData.searchType === "current";
@ -447,6 +470,8 @@ export default {
if (code === 0) {
row.mobile = data.mobile;
row.idCard = data.idCard;
row.showMobile = data.showMobile;
row.showIdCard = data.showIdCard;
row.isResiUser = data.isResiUser
}
return row;

53
src/views/modules/base/epidemic/vaccinForm.vue

@ -1,6 +1,13 @@
<template>
<div>
<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">
<div class="m-info">
@ -11,12 +18,12 @@
<div class="info-prop">
<span class="info-title-2">手机号</span>
<span>{{ formData.mobile||'--' }}</span>
<span>{{ formData.showMobile||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">证件号</span>
<span>{{ formData.idCard||'--' }}</span>
<span>{{ formData.showIdCard||'--' }}</span>
</div>
<div class="info-prop">
@ -57,6 +64,7 @@ export default {
data () {
return {
initLoading: false,
vaccineId: '',
formData: {
agencyId: '',//Id
userId: '',//idicResiUserId
@ -64,13 +72,13 @@ export default {
name: '',
idCard: '',
mobile: '',
showIdCard: '',
showMobile: '',
inoculateTime: '',
inoculateAddress: '',
manufacturer: ''
},
}
},
components: {},
@ -81,6 +89,22 @@ export default {
},
methods: {
async handleTuomin () {
const url = "/data/aggregator/epmetuser/detailByType";
const { data, code, msg } = await requestPost(url, {
id: this.vaccineId,
type: "vaccinationRecord",
});
if (code === 0) {
this.$set(this.formData, 'showMobile', data.mobile)
this.$set(this.formData, 'showIdCard', data.idCard)
} else {
this.$message.error(msg);
}
},
handleChannelChange (val) {
this.formData.content = ''
},
@ -89,6 +113,7 @@ export default {
this.formData = { ...row }
this.vaccineId = row.vaccineId
// this.endLoading()
console.log('formData----', this.formData)
this.initLoading = true
@ -166,6 +191,8 @@ export default {
name: '',
idCard: '',
mobile: '',
showIdCard: '',
showMobile: '',
natTime: '',
natAddress: '',
natResult: '',
@ -199,20 +226,24 @@ export default {
},
props: {
// serviceList: {
// type: Array,
// default: []
// },
view_real_data: {//
type: Boolean,
default: false,
}
},
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/detail-main.scss";
.div_tuomin {
position: absolute;
top: 0;
right: 40px;
z-index: 1000;
}
</style>

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

@ -2,6 +2,12 @@
<div class="epidemic-form">
<div class="dialog-h-content scroll-h">
<div v-if="formType==='detail' && view_real_data"
class="div_tuomin">
<el-button size="mini"
class="diy-button--search"
@click="handleTuomin">显示脱敏信息</el-button>
</div>
<el-form v-if="formType !== 'detail'"
ref="ref_form1"
:inline="true"
@ -113,12 +119,12 @@
<div class="info-prop">
<span class="info-title-2">手机号</span>
<span>{{ formData.mobile||'--' }}</span>
<span>{{ formData.showMobile||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">证件号</span>
<span>{{ formData.idCard||'--' }}</span>
<span>{{ formData.showIdCard||'--' }}</span>
</div>
<div class="info-prop">
@ -162,7 +168,7 @@ export default {
return {
formType: "edit",
veroId: '',
gridList: [],
btnDisable: false,
@ -172,6 +178,8 @@ export default {
name: '',
idCard: '',
mobile: '',
showIdCard: '',
showMobile: '',
remark: '',
isSelChannel: false,
channel: [],
@ -187,6 +195,22 @@ export default {
},
methods: {
async handleTuomin () {
const url = "/data/aggregator/epmetuser/detailByType";
const { data, code, msg } = await requestPost(url, {
id: this.veroId,
type: "vaccineSpecialAttention",
});
if (code === 0) {
this.$set(this.formData, 'showMobile', data.mobile)
this.$set(this.formData, 'showIdCard', data.idCard)
} else {
this.$message.error(msg);
}
},
handleChannelChange (val) {
this.formData.content = ''
},
@ -199,7 +223,7 @@ export default {
row.attentionType = 1
row.isSelChannel = false
this.formData = JSON.parse(JSON.stringify(row))
this.veroId = row.id
},
@ -261,6 +285,8 @@ export default {
name: '',
idCard: '',
mobile: '',
showIdCard: '',
showMobile: '',
remark: '',
isSelChannel: false,
channel: [],
@ -330,14 +356,11 @@ export default {
},
props: {
// serviceList: {
// type: Array,
// default: []
// },
view_real_data: {//
type: Boolean,
default: false,
}
},
}
</script>
<style lang="scss" scoped>
@ -346,6 +369,13 @@ export default {
<style lang="scss" scoped >
@import "@/assets/scss/modules/management/epidemic.scss";
.div_tuomin {
position: absolute;
top: 0;
right: 40px;
z-index: 1000;
}
</style>

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

@ -136,7 +136,8 @@
</div>
<div class="div_table">
<div class="div_btn">
<el-button class="diy-button--add"
<el-button v-if="btnAuths.special_attention_add"
class="diy-button--add"
size="small"
@click="handleAdd">新增</el-button>
@ -144,7 +145,8 @@
class="diy-button--export"
size="small"
@click="handleExportModule">下载模板</el-button>
<el-upload :headers="$getElUploadHeaders()"
<el-upload v-if="btnAuths.special_attention_import"
:headers="$getElUploadHeaders()"
ref="upload"
:multiple="false"
:show-file-list="false"
@ -159,7 +161,8 @@
class="diy-button--delete">导入</el-button>
</el-upload>
<el-button style="float: left; margin-left: 10px"
<el-button v-if="btnAuths.special_attention_export"
style="float: left; margin-left: 10px"
class="diy-button--reset"
size="small"
@click="handleExport">导出</el-button>
@ -251,11 +254,13 @@
align="center"
class="operate">
<template slot-scope="scope">
<el-button type="text"
<el-button v-if="btnAuths.special_attention_view"
type="text"
class="div-table-button--detail"
size="small"
@click="handleDetail(scope.row)">查看</el-button>
<el-button type="text"
<el-button v-if="btnAuths.special_attention_update"
type="text"
class="div-table-button--edit"
size="small"
@click="handleEdit(scope.row)">修改</el-button>
@ -323,6 +328,7 @@
class="dialog-h"
@closed="diaClose">
<vero-focus-edit ref="ref_form_edit"
:view_real_data="btnAuths.special_attention_view_real_data"
@dialogCancle="diaClose"
@dialogOk="addFormOk"></vero-focus-edit>
</el-dialog>
@ -419,6 +425,15 @@ export default {
noticeListFormShow: false,
visiteListFormShow: false,
editFormTitle: "修改疫苗接种关注名单",
btnAuths: {
special_attention_add: false, //
special_attention_import: false, //
special_attention_export: false, //
special_attention_view: false, //
special_attention_update: false, //
special_attention_view_real_data: false, //
},
};
},
components: {
@ -433,6 +448,8 @@ export default {
this.$refs["ref_table"].doLayout();
},
async mounted () {
this.updateBtnAuths();
const { user } = this.$store.state;
this.agencyId = user.agencyId;
for (let i = 0; i < 11; i++) {
@ -447,6 +464,16 @@ export default {
},
methods: {
//
updateBtnAuths () {
let rot = this.$route;
if (Array.isArray(rot.meta.btns)) {
rot.meta.btns.forEach((item) => {
this.btnAuths[item.permissions] = true;
});
}
},
handleSearch () {
this.selectionAll = [];
this.loadTable();
@ -696,6 +723,8 @@ export default {
if (code === 0) {
row.mobile = data.mobile;
row.idCard = data.idCard;
row.showMobile = data.showMobile;
row.showIdCard = data.showIdCard;
}
return row;
},

4
src/views/modules/shequ/cpts/people-more.vue

@ -410,11 +410,11 @@ export default {
methods: {
async handleTuomin () {
const url = "/gov/org/ichouse/detailByType";
const url = "/data/aggregator/epmetuser/detailByType";
const { data, code, msg } = await requestPost(url, {
id: this.userId,
type: "icResiUser",
type: "checkIcResiUser",
});
if (code === 0) {

Loading…
Cancel
Save