Browse Source

Merge branch 'dev-fangyi' into test

shibei_master
jiangyy 4 years ago
parent
commit
3afe787601
  1. 7
      src/App.vue
  2. 5
      src/assets/scss/modules/management/epidemic.scss
  3. 56
      src/views/modules/base/epidemic/natFocus/natFocusAdd.vue
  4. 8
      src/views/modules/base/epidemic/natFocus/natFocusList.vue
  5. 7
      src/views/modules/base/epidemic/natFocus/nfNoticeList.vue
  6. 14
      src/views/modules/base/epidemic/natFocus/nfSendNotice.vue
  7. 8
      src/views/modules/base/epidemic/natFocus/nfVisiteList.vue
  8. 145
      src/views/modules/base/epidemic/natInfo/natList.vue
  9. 128
      src/views/modules/base/epidemic/travel.vue
  10. 13
      src/views/modules/base/epidemic/travelForm.vue
  11. 3
      src/views/modules/base/epidemic/veroFocus/veroFocusAdd.vue
  12. 4
      src/views/modules/base/epidemic/veroFocus/veroFocusList.vue
  13. 40
      src/views/modules/communityService/ninePlaces/inspect/inspect.vue
  14. 663
      src/views/modules/shequ/index.vue

7
src/App.vue

@ -187,4 +187,11 @@ export default {
padding: 6px !important;
background-color: rgb(247, 250, 253);
}
//
.table-more-btn {
display: flex;
flex-direction: column;
justify-content: center;
}
</style>

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

@ -75,11 +75,6 @@
}
}
.more-btn {
display: flex;
flex-direction: column;
justify-content: center;
}
.div-mult-form {
margin-top: 20px;

56
src/views/modules/base/epidemic/natFocus/natFocusAdd.vue

@ -127,14 +127,29 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="疫苗接种次数小于"
<el-form-item label="检测时间"
prop="startTime">
<el-date-picker v-model="timeRange"
size="mini"
type="daterange"
@change="handleTimeChange"
format="yyyy-MM-dd"
value-format="yyyyMMdd"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="核酸检测次数小于"
label-width="150px">
<el-input-number class="item_width_3"
v-model="formDataSearch.vaccineCount"
v-model="formDataSearch.natCount"
size="mini"
:min="0"
:max="20"
label="疫苗接种次数小于"></el-input-number>
label="核酸检测次数小于"></el-input-number>
</el-form-item>
<el-button style="margin-left:30px"
size="mini"
@ -183,7 +198,7 @@
label="身份证"
min-width="170">
</el-table-column>
<el-table-column prop="vaccineCount"
<el-table-column prop="natCount"
header-align="center"
align="center"
label="疫苗接种次数"
@ -324,8 +339,12 @@ export default {
formDataSearch: {
gridId: '',
vaccineCount: undefined,
natCount: undefined,
startDate: '',
endDate: '',
attentionType: 2
},
timeRange: [],
formData1: {
attentionType: 2,
@ -384,7 +403,7 @@ export default {
async loadTable () {
this.tableLoading = true
const url = "/epmetuser/epidemicPrevention/page"
const url = "/epmetuser/epidemicPrevention/user-list"
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/epidemicPrevention/page"
let params = {
pageSize: this.pageSize,
@ -410,6 +429,19 @@ export default {
this.tableLoading = false
},
handleTimeChange (time) {
if (time) {
this.formData.startDate = time[0]
this.formData.endDate = time[1]
} else {
this.formData.startDate = ''
this.formData.endDate = ''
}
},
handleSelectTable (selection, row) {
row.isSel = !row.isSel
@ -656,14 +688,9 @@ export default {
resetSearch () {
this.formDataSearch = {
gridId: '',
vaccineCount: undefined,
natCount: undefined,
}
},
destroyed () {
console.log(11111111)
this.timeRange = []
},
resetData () {
@ -690,12 +717,11 @@ export default {
}
this.formDataSearch = {
gridId: '',
vaccineCount: undefined,
natCount: undefined,
}
this.selectionAll = []//
},
handleSizeChange (val) {

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

@ -189,14 +189,14 @@
style="margin-left:10px"
width="20"
trigger="click">
<div class="more-btn">
<div class="table-more-btn">
<el-button type="text"
class="div-table-button--detail--noline"
size="small"
@click="handleNoticeList(scope.row)">通知记录</el-button>
</div>
<div class="more-btn">
<div class="table-more-btn">
<el-button type="text"
class="div-table-button--detail--noline"
size="small"
@ -505,7 +505,7 @@ export default {
}
this.sendNoticeFormShow = true
this.$nextTick(() => {
this.$refs.ref_sendnotice.initForm(this.selectionAll)
this.$refs.ref_sendnotice.initForm(this.selectionAll, '2')
})
},
@ -513,7 +513,7 @@ export default {
handleNoticeList (row) {
this.noticeListFormShow = true
this.$nextTick(() => {
this.$refs.ref_noticelist.initTable(row.idCard)
this.$refs.ref_noticelist.initTable(row.idCard, '2')
})
},

7
src/views/modules/base/epidemic/natFocus/nfNoticeList.vue

@ -70,7 +70,7 @@ export default {
tableData: [],
pageSize: 20,
pageNo: 1,
origin: ''
}
},
components: {},
@ -80,8 +80,9 @@ export default {
methods: {
async initTable (idCard) {
async initTable (idCard, origin) {
this.idCard = idCard
this.origin = origin
await this.loadTable()
},
@ -95,7 +96,7 @@ export default {
idCard: this.idCard,
pageNo: this.pageNo,
pageSize: this.pageSize,
origin: '2'
origin: this.origin
}
const { data, code, msg } = await requestPost(url, params)

14
src/views/modules/base/epidemic/natFocus/nfSendNotice.vue

@ -8,7 +8,7 @@
:rules="dataRule"
class="form">
<el-form-item v-if="false"
<el-form-item
label="通知渠道"
prop="channel"
label-width="150px"
@ -25,7 +25,7 @@
</el-checkbox-group> -->
</el-form-item>
<el-form-item v-if="false"
<el-form-item
label="通知内容"
prop="content"
label-width="150px"
@ -75,7 +75,7 @@ export default {
btnDisable: false,
formData: {
origin: '1',
origin: '',
isSelChannel: false,
channel: [],
content: '',
@ -94,10 +94,11 @@ export default {
methods: {
async initForm (selectionAll) {
async initForm (selectionAll, origin) {
this.$refs['ref_form1'].resetFields();
this.formData.userList = selectionAll
this.formData.origin = origin
},
@ -121,7 +122,7 @@ export default {
}
console.log(this.formData)
return false
// return false
this.btnDisable = true
setTimeout(() => {
@ -130,8 +131,7 @@ export default {
let url = ''
url = '/epmetuser/icNotice/batchnotice'
// url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNotice/batchnotice"
url = '/epmetuser/icNotice/sendNotice'
const { data, code, msg } = await requestPost(url, this.formData)

8
src/views/modules/base/epidemic/natFocus/nfVisiteList.vue

@ -55,7 +55,7 @@
title="新增"
append-to-body
@closed="handleCancle">
<div class="epidemic-form">
<div v-if="dialogVisible" class="epidemic-form">
<el-form ref="ref_form"
:inline="true"
:model="formData"
@ -133,7 +133,7 @@ export default {
idCard: '',
name: '',
mobile: '',
origin: '2'
origin: ''
},
dialogVisible: false,
@ -169,7 +169,7 @@ export default {
idCard: this.formData.idCard,
pageNo: this.pageNo,
pageSize: this.pageSize,
origin: '2'
origin: this.formData.origin
}
const { data, code, msg } = await requestPost(url, params)
@ -208,6 +208,8 @@ export default {
},
handleCancle () {
this.formData.visitTime = ''
this.formData.content = ''
this.dialogVisible = false
},

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

@ -19,51 +19,65 @@
</el-select>
</el-form-item>
<el-form-item label="姓名"
prop="name">
<el-input v-model="formData.name"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入姓名">
</el-input>
<el-form-item label="本辖区居民">
<el-select class="list_item_width_1"
size="small"
:disabled="formData.orgType!='current'"
v-model.trim="formData.isResiUser"
placeholder="请选择">
<el-option v-for="item in isResiUserList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="手机号"
prop="mobile">
<el-input v-model="formData.mobile"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入手机号">
</el-input>
<el-form-item label="接种时间"
prop="startTime">
<el-date-picker v-model="timeRange"
size="small"
type="datetimerange"
@change="handleTimeChange"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="身份证"
prop="idCard">
<el-input v-model="formData.idCard"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入身份证">
</el-input>
</el-form-item>
<div>
<el-form-item label="姓名"
prop="name">
<el-input v-model="formData.name"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入姓名">
</el-input>
</el-form-item>
<el-form-item label="接种时间"
prop="startTime">
<el-date-picker v-model="timeRange"
size="small"
type="datetimerange"
@change="handleTimeChange"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间">
</el-date-picker>
<el-form-item label="手机号"
prop="mobile">
<el-input v-model="formData.mobile"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入手机号">
</el-input>
</el-form-item>
<el-form-item label="身份证"
prop="idCard">
<el-input v-model="formData.idCard"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入身份证">
</el-input>
</el-form-item>
@ -160,6 +174,14 @@
label="检测结果"
width="100">
</el-table-column>
<el-table-column v-if="formData.orgType==='current'"
prop="isResiUserShow"
header-align="center"
align="center"
show-overflow-tooltip
label="是否本辖区居民"
width="120">
</el-table-column>
<el-table-column label="操作"
fixed="right"
@ -174,48 +196,30 @@
size="small"
@click="handleDetail(scope.row)">查看</el-button>
<el-button v-if="scope.row.userType==='resi'||scope.row.userType==='icresi'"
type="text"
class="div-table-button--edit"
size="small"
@click="handleEdit(scope.row)">修改</el-button>
<el-button v-if="scope.row.userType==='resi'||scope.row.userType==='icresi'"
type="text"
class="div-table-button--delete "
size="small"
@click="handleDelete(scope.row,'delete')">删除</el-button>
<el-button v-if="scope.row.userType==='import'&&scope.row.agencyId!==agencyId"
<el-button v-if="formData.orgType==='all'"
type="text"
class="div-table-button--edit"
size="small"
@click="handleAttention(scope.row)">同步</el-button>
<el-button v-if="scope.row.userType==='synchro'&&scope.row.agencyId===agencyId"
<el-button v-if="formData.orgType==='current'&&(scope.row.userType==='resi'||scope.row.userType==='icresi') &&scope.row.agencyId===agencyId"
type="text"
class="div-table-button--delete "
size="small"
@click="handleDelete(scope.row,'attention')">取消同步</el-button>
<!-- <el-button type="text"
class="div-table-button--edit"
size="small"
@click="handleEdit(scope.row)">修改</el-button>
<el-button type="text"
<el-button v-if="formData.orgType==='current'&&(scope.row.userType==='resi'||scope.row.userType==='icresi') &&scope.row.agencyId===agencyId"
type="text"
class="div-table-button--delete "
size="small"
@click="handleDelete(scope.row,'delete')">删除</el-button>
<el-button type="text"
class="div-table-button--edit"
size="small"
@click="handleAttention(scope.row)">关注</el-button>
<el-button type="text"
<el-button v-if="formData.orgType==='current'&&scope.row.userType==='synchro'&&scope.row.agencyId===agencyId"
type="text"
class="div-table-button--delete "
size="small"
@click="handleDelete(scope.row,'attention')">取消关注</el-button> -->
@click="handleDelete(scope.row,'attention')">取消同步</el-button>
</template>
</el-table-column>
</el-table>
@ -277,6 +281,16 @@ export default {
label: '全部检测记录'
},
],
isResiUserList: [
{
value: '0',
label: '否'
},
{
value: '1',
label: '是'
},
],
timeRange: [],
formData: {
@ -286,6 +300,7 @@ export default {
idCard: '',//
startTime: '',//yyyy-MM-dd HH:mm
endTime: '',//yyyy-MM-dd HH:mm
isResiUser: ''//0: 1:
},
@ -337,6 +352,8 @@ export default {
this.tableData = data.list
this.tableData.forEach(item => {
item.isResiUserShow = item.isResiUser === '0' ? '否' : '是'
if (item.natResult === '1') {
item.natResultShow = '阳性'
} else if (item.natResult === '0') {

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

@ -23,7 +23,7 @@
size="small"
class="list_item_width_1"
clearable
placeholder="请输入姓名">
placeholder="请输入手机号">
</el-input>
</el-form-item>
@ -44,13 +44,14 @@
<el-form-item label="来自地区"
prop="sourceAddressCode">
<el-input v-model="formData.sourceAddressCode"
<!-- <el-input v-model="formData.sourceAddressCode"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入姓名">
</el-input>
</el-input> -->
<el-cascader ref="nowArea" size="small" class="list_item_width_1" :props="areaProps"
v-model="searchAreacode" clearable @change="handleAreaChange"></el-cascader>
</el-form-item>
<el-form-item label="来到本地时间"
@ -112,6 +113,10 @@
class="diy-button--more"
size="small"
@click="handleSendNotice">发送通知</el-button>
<el-button style="margin-left:15px"
class="diy-button--more"
size="small"
@click="handleAttention">加入关注</el-button>
<el-button style="margin-left:15px"
class="diy-button--more"
size="small"
@ -127,18 +132,18 @@
style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column type="selection"
width="55"></el-table-column>
width="55" fixed="left"></el-table-column>
<el-table-column label="序号"
header-align="center"
align="center"
type="index"
width="50"></el-table-column>
width="50" fixed="left"></el-table-column>
<el-table-column prop="name"
header-align="center"
align="center"
label="姓名"
width="100">
width="100" fixed="left">
</el-table-column>
<el-table-column prop="mobile"
header-align="center"
@ -340,7 +345,7 @@ export default {
pageNo: 0,
tableLoading: false,
sHeight: 0,
searchAreacode: [],
agencyId: '',
selectionAll: [],
timeRange: [],
@ -358,6 +363,11 @@ export default {
//form
formShow: false,
formTitle: '新增',
areaProps: {
lazy: true,
checkStrictly: true,
lazyLoad: this.lzayLoadArea
}
}
},
@ -383,6 +393,12 @@ export default {
},
methods: {
lzayLoadArea(node, resolve) {
this.getArea(node, resolve)
// setTimeout(() => {
// }, 1000)
},
handleSearch () {
this.loadTable()
},
@ -391,7 +407,31 @@ export default {
console.log('val----', val)
this.selectionAll = val
},
async getArea (node, resolve) {
const url = "/commonservice/areacode/nextarea"
let params = {
parentLevel: node.data ? node.data.level : '',
parentAreaCode: node.data ? node.data.code : ''
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
const nodes = data.map(item => ({
value: item.areaCode, //
label: item.areaName,
code: item.areaCode,
level: item.level,
leaf: node.level >= 4 // 5
}))
resolve(nodes)
} else {
this.$message.error(msg)
}
},
async loadTable () {
this.tableLoading = true
@ -421,7 +461,13 @@ export default {
}
this.tableLoading = false
},
handleAreaChange(val) {
if (val.length > 0) {
const len = val.length - 1
this.formData.sourceAddressCode = val[len]
} else this.formData.sourceAddressCode = ''
},
handleScheduledTimeChange (time) {
if (time) {
this.formData.startDate = time[0]
@ -445,7 +491,7 @@ export default {
handleNoticeList (row) {
this.noticeListFormShow = true
this.$nextTick(() => {
this.$refs.ref_noticelist.initTable(row.idCard)
this.$refs.ref_noticelist.initTable(row.idCard, '0')
})
},
@ -465,10 +511,36 @@ export default {
}
this.sendNoticeFormShow = true
this.$nextTick(() => {
this.$refs.ref_sendnotice.initForm(this.selectionAll)
const arr = this.selectionAll.map(item => {
return {
userId: item.userId,
idCard: item.idCard,
mobile: item.mobile
}
})
this.$refs.ref_sendnotice.initForm(arr, '0')
})
},
handleAttention(row) {
if (this.selectionAll.length === 0) {
this.$message.info('请选择要加入关注的名单')
return false
}
this.$confirm("确认选择的名单加入关注?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.saveFocus(row)
})
.catch(err => {
console.log('err-----', err)
});
},
async handleDeletes (row) {
if (this.selectionAll.length === 0) {
this.$message.info('请选择要取消关注的名单')
@ -489,6 +561,37 @@ export default {
});
},
async saveFocus (row) {
const url = "/epmetuser/icEpidemicSpecialAttention/vaccination-add"
// let idCards = []
// this.selectionAll.forEach(element => {
// idCards.push(element.idCard)
// });
let params = {
list: this.selectionAll.map(item => {
return {
name: item.name,
mobile: item.mobile,
idCard: item.idCard,
attentionType: 2
}
})
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.$message({
type: "success",
message: "操作成功"
});
this.loadTable()
} else {
this.$message.error(msg)
}
},
async deleteFocus (row) {
const url = "/epmetuser/icEpidemicSpecialAttention/cancel-attention"
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/placepatrolteam/del"
@ -498,7 +601,7 @@ export default {
idCards.push(element.idCard)
});
let params = {
attentionType: 0,
attentionType: 2,
idCards: idCards
}
@ -592,6 +695,7 @@ export default {
this.$refs.ref_searchform.resetFields()
this.formData.startDate = ''
this.formData.endDate = ''
this.searchAreacode = []
this.timeRange = []
this.pageSize = 20
this.pageNo = 1

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

@ -155,7 +155,7 @@
style="display: block">
<el-input class="item_width_1"
type="textarea"
maxlength="1000"
maxlength="500"
show-word-limit
:autosize="{ minRows: 4, maxRows: 10 }"
clearable
@ -182,7 +182,7 @@
style="display: block">
<el-input class="item_width_1"
type="textarea"
maxlength="1000"
maxlength="500"
show-word-limit
:autosize="{ minRows: 4, maxRows: 10 }"
clearable
@ -320,19 +320,18 @@ export default {
},
async initForm (type, row) {
console.log('row----', row)
this.formType = type
this.formData.agencyId = this.agencyId
if (type != 'add') {
this.formData = { ...row, channel: [], content: '' }
this.sourceAllCode = row.sourceAddressPathCode && row.sourceAddressPathCode.split(',')
if (row.userType == 'icresi') this.isFromResi = true
else this.nowAllCode = row.presentAddressPathCode.split(',')
else this.nowAllCode = row.presentAddressPathCode && row.presentAddressPathCode.split(',')
}
this.formData.agencyId = this.agencyId
// this.$refs['ref_form'].resetFields();
this.formType = type
console.log('formtype', type)
},

3
src/views/modules/base/epidemic/veroFocus/veroFocusAdd.vue

@ -303,6 +303,7 @@ export default {
formDataSearch: {
gridId: '',
vaccineCount: undefined,
attentionType: 1
},
formData1: {
@ -361,7 +362,7 @@ export default {
async loadTable () {
this.tableLoading = true
const url = "/epmetuser/epidemicPrevention/page"
const url = "/epmetuser/epidemicPrevention/user-list"
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/epidemicPrevention/page"
let params = {
pageSize: this.pageSize,

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

@ -184,14 +184,14 @@
style="margin-left:10px"
width="20"
trigger="click">
<div class="more-btn">
<div class="table-more-btn">
<el-button type="text"
class="div-table-button--detail--noline"
size="small"
@click="handleNoticeList(scope.row)">通知记录</el-button>
</div>
<div class="more-btn">
<div class="table-more-btn">
<el-button type="text"
class="div-table-button--detail--noline"
size="small"

40
src/views/modules/communityService/ninePlaces/inspect/inspect.vue

@ -186,11 +186,33 @@
<el-button type="text"
class="div-table-button--edit"
size="small"
@click="handleReview(scope.row)">复查记录</el-button>
<el-button type="text"
class="div-table-button--delete"
size="small"
@click="handleDelete(scope.row)">删除</el-button>
:disabled="true"
@click="handleEdit(scope.row)">修改</el-button>
<el-popover popper-class="btn-popper"
placement="bottom"
style="margin-left:10px"
width="20"
trigger="click">
<div class="table-more-btn">
<el-button type="text"
class="div-table-button--edit"
size="small"
@click="handleReview(scope.row)">复查记录</el-button>
</div>
<div class="table-more-btn">
<el-button type="text"
class="div-table-button--delete"
size="small"
@click="handleDelete(scope.row)">删除</el-button>
</div>
<el-button type="text"
size="small"
class="div-table-button--more"
slot="reference">更多<i class="el-icon-caret-bottom"></i></el-button>
</el-popover>
</template>
</el-table-column>
@ -428,6 +450,14 @@ export default {
})
},
handleEdit (row) {
this.formTitle = '编辑'
this.formShow = true
this.$nextTick(() => {
this.$refs.ref_form.initForm('edit', row)
})
},
handleReview (row) {
this.reviewShow = true
this.$nextTick(() => {

663
src/views/modules/shequ/index.vue

File diff suppressed because it is too large
Loading…
Cancel
Save