提交 808198c8 编写于 作者: yi.li's avatar yi.li

Merge branch 'dev-patients-20190513' of...

Merge branch 'dev-patients-20190513' of 192.168.110.53:com.pica.cloud.education.frontend/pica.cloud.web-education-admin into dev-patients-20190513
<template>
<div>
<v-header :userName="userName" :portrait="portrait" :idType="idType"></v-header>
<v-slidebar :authList="authList" :tokenValue="token"></v-slidebar>
<v-slidebar :authList="authList" :tokenValue="token" :notCompleteCount="redNum"></v-slidebar>
<el-container>
<div class="content" id="body-content">
<transition name="router-fade" mode="out-in">
......@@ -25,6 +25,7 @@ import VFooter from './views/layout/footer.vue'
import { base64decode, isNotEmptyUtils, getUrlParamsMap } from "./utils/utils.js"
import { mapActions, mapGetters } from 'vuex'
import { getLoginUrl } from './utils/index.js'
import { getRedNum } from './utils/patients/patientsapi'
let vm = null
export default {
components:{
......@@ -38,7 +39,8 @@ export default {
token: '',
userName: '',
portrait: '',
authList: {}
authList: {},
redNum: 0,
}
},
computed:{
......@@ -51,7 +53,7 @@ export default {
vm.getToken()
},
mounted() {
vm.getRedData()
},
methods: {
// 解密token
......@@ -107,8 +109,29 @@ export default {
vm.$message.info(res.message)
}
})
}
}
},
getRedData() {
getRedNum({
openTime: (new Date()).getTime()
}).then((data) => {
if(data.code == '000000') {
vm.redNum = data.data
}
}).catch(error => {
vm.$message.error(error)
})
}
},
watch: {
$route:{
deep:true,
handler:function(newVal){
if(vm.$route.path == '/patients-manage/not-complete/uncompleted-list'){ //避免重复请求
vm.redNum = 0
}
}
}
}
}
</script>
......
......@@ -117,8 +117,8 @@
}
},
created(){
this.token = 'D34A213A354849A0B08A241771F7A675';
// this.token = localStorage.getItem('storageToken');
// this.token = 'D34A213A354849A0B08A241771F7A675';
this.token = localStorage.getItem('storageToken');
this.headers.token = this.token
},
computed: {
......
......@@ -115,10 +115,10 @@ const patientsRouters = {
path: 'not-complete',
component: notCompleteManage,
name: 'notCompleteManage',
redirect: 'not-complete/not-complete',
redirect: 'not-complete/uncompleted-list',
children: [
{
path: 'not-complete',
path: 'uncompleted-list',
component: notCompleteList,
name: 'notCompleteList',
meta: {
......
......@@ -21,8 +21,8 @@ service.interceptors.request.use(config => {
if( config.headers['sysCode']==undefined) {
config.headers['sysCode'] = 12
}
config.headers['token'] = 'D34A213A354849A0B08A241771F7A675'
// config.headers['token'] = localStorage.getItem('storageToken')
// config.headers['token'] = 'D34A213A354849A0B08A241771F7A675'
config.headers['token'] = localStorage.getItem('storageToken')
config.headers['deviceInfo'] = JSON.stringify({ "app_channel": "", "app_mac": "", "app_uuid": "", "app_version": "", "device_brand": "", "device_ip": "", "device_model": "", "device_net": "", "device_ops": "", "resolution_wh": "", "system_level": "", "device_type": '10' })
}
// if (config.data && config.data.setEntry) {
......
......@@ -5,7 +5,29 @@ import { getBaseUrl, getSaasDomain, getSaasApiDomain } from '@/utils/index'
const headers = {
sysCode: 9
}
/*常量API*/
export const getConstants = (params) => {
return fetch({
headers,
url: getBaseUrl(`basic-data/constants/`),
method: 'get',
params: params,
description: '获取常量',
})
};
/*居民管理*/
export const getPatientList = (data) => {
return fetch({
headers,
url: getBaseUrl(`healths/patients/infolist`),
method: 'post',
data: data,
description: '获取居民列表',
})
};
export const getDiseasesList = (params) => {
return fetch({
headers,
......@@ -16,6 +38,16 @@ export const getDiseasesList = (params) => {
})
};
export const getLabelList = (params) => {
return fetch({
headers,
url: getBaseUrl(`healths/labels/`),
method: 'get',
params: params,
description: '获取分组列表',
})
}
// 获取七牛上传token
export const getQiniuToken = (params) => {
return fetch({
......@@ -48,25 +80,42 @@ export const getNotCompleteList = (params) => {
description: '获取资料不全居民列表',
})
};
export const sendCompleteMessage = (params) => {
export const sendCompleteMessage = (data) => {
return fetch({
headers,
url: getBaseUrl(`healths/patients/remind`),
method: 'post',
data: params,
data: data,
description: '提醒居民完善信息',
})
};
export const sendCompleteMessageList = (data) => {
return fetch({
headers,
url: getBaseUrl(`healths/patients/list/remind`),
method: 'post',
data: data,
description: '批量提醒居民完善信息',
})
};
export const getNotCompleteCount = (params) => {
return fetch({
headers,
url: getBaseUrl(`healths/patients/uncomplate/counts`),
method: 'get',
data: params,
params: params,
description: '获取未完善居民人数',
})
};
export const getRedNum = (params) => {
return fetch({
headers,
url: getBaseUrl(`healths/patients/uncompleted/last/counts`),
method: 'get',
params: params,
description: '获取小红点数据',
})
};
export const getPatientDetail = (patientId) => {
return fetch({
headers,
......
......@@ -8,6 +8,14 @@
<el-menu-item v-for="(subItem,i) in item.subs" :key="i" :index="'/'+subItem.index">
<i class="sub-icon" :class="subItem.icon"></i>
{{subItem.title}}
<p class="redNum"
v-if="subItem.title == '资料不全居民'
&&notCompleteCount
&&$route.path!='/patients-manage/not-complete/uncompleted-list'"
>
<span v-if="notCompleteCount>999">+999</span>
<span v-else>{{notCompleteCount}}</span>
</p>
</el-menu-item>
</el-submenu>
</template>
......@@ -33,6 +41,9 @@ export default {
authList: {
type: Object,
default: () => {}
},
notCompleteCount: {
type: Number,
}
},
data() {
......@@ -92,7 +103,7 @@ export default {
{
title: '资料不全居民',
icon: 'el-icon-setting',
index: 'patients-manage/not-complete/not-complete'
index: 'patients-manage/not-complete/uncompleted-list'
}
]
}
......@@ -158,6 +169,19 @@ export default {
// background: #06232C !important;
// }
}
.redNum {
display: inline-block;
border-radius: 10px;
margin-left: 15px;
background: #EE263E;
color: #fff;
font-size: 12px;
line-height: 12px;
padding: 5px 10px;
span {
display: block;
}
}
}
</style>
......
......@@ -53,8 +53,9 @@
</el-table-column>
<el-table-column
prop="name"
width="120">
操作
width="120"
label="操作"
>
</el-table-column>
</el-table>
</div>
......
......@@ -8,23 +8,16 @@
<el-input v-model="labelName" placeholder="请输入分组名称" size="small"></el-input>
</el-col>
<el-col :span="6">
<el-button type="primary" size="small" class="create-new-label">查询</el-button>
<el-button type="default" size="small" class="create-new-label">重置</el-button>
<el-button type="primary" size="small" class="create-new-label" @click="getList">查询</el-button>
<el-button type="default" size="small" class="create-new-label" @click="resetLabelName">重置</el-button>
</el-col>
<el-col :span="6" class="right">
<el-button type="primary" size="small" class="create-new-label">新建分组</el-button>
<el-button type="primary" size="small" class="create-new-label" :disabled="labelNameList.length >= 999">新建分组</el-button>
</el-col>
</el-row>
<p class="total-label">共:75个分组</p>
<div class="label-list">
<el-tag class="each-label" @click="goToDetail">高新区(34人)</el-tag>
<el-tag class="each-label">高血压(64人)</el-tag>
<el-tag class="each-label">权力的游戏(34人)</el-tag>
<el-tag class="each-label">端到端(34人)</el-tag>
<el-tag class="each-label">高新区(34人)</el-tag>
<el-tag class="each-label">高血压(64人)</el-tag>
<el-tag class="each-label">权力的游戏(34人)</el-tag>
<el-tag class="each-label">端到端(34人)</el-tag>
<p class="total-label">共:{{labelNameList.length}}个分组</p>
<div class="label-list" v-if="labelNameList && labelNameList.length>0">
<el-tag class="each-label" @click="goToDetail" v-for="(item, index) in labelNameList" :key="index">{{item.labelName}}({{item.labelPatientNums}}人)</el-tag>
</div>
</div>
</div>
......@@ -32,6 +25,8 @@
<script>
import BreadCrumb from "@/components/breadcrumb.vue";
import * as commonUtil from "@/utils/utils";
import { getLabelList } from '@/utils/patients/patientsapi'
export default {
......@@ -40,22 +35,42 @@
curmbFirst: "居民管理",
curmbSecond: "分组管理",
labelName: '',
labelNameList: [],
}
},
components: {
BreadCrumb,
},
created(){
// 获取分组列表
this.getLabelList();
this.getList();
},
// 挂载到Dom完成时
mounted: function() {
commonUtil.resizeHeight();
},
methods: {
getLabelList(){
console.log('获取分组列表...');
getList(){
// 获取分组列表
let num = {
type: 1,
token : localStorage.getItem("token"),
};
if(this.labelName){
num.labelName = this.labelName;
}
commonUtil.openLoading(this);
getLabelList(num).then(data => {
commonUtil.closeLoading(this);
// console.log('获取分组列表>> ', data)
if(data.data && data.data.labelNameList){
this.labelNameList = data.data.labelNameList;
}
}).catch(err => {
console.log('error: ', err)
});
},
resetLabelName(){
this.labelName = '';
},
goToDetail(){
this.$router.push({path: '/patients-manage/labels-manage/labels-detail'})
......@@ -119,8 +134,9 @@
/*定义滚动条轨道 内阴影+圆角*/
&::-webkit-scrollbar-track
{
border-radius: 10px;
background-color: rgb(241, 239, 239);
// border-radius: 10px;
// background-color: rgb(241, 239, 239);
// background: #fff;
}
/*定义滑块 内阴影+圆角*/
&::-webkit-scrollbar-thumb
......
......@@ -78,7 +78,10 @@
<script>
import BreadCrumb from '../../../components/breadcrumb.vue'
import { getNotCompleteList, sendCompleteMessage, getNotCompleteCount } from '../../../utils/patients/patientsapi'
import { getNotCompleteList,
sendCompleteMessage,
getNotCompleteCount,
sendCompleteMessageList} from '../../../utils/patients/patientsapi'
export default {
name: "not-complete",
components: {
......@@ -99,9 +102,6 @@
selectList: []
}
},
created() {
//const vm = this;
},
mounted() {
this.getNotComplete()
this.getNotCompleteNum()
......@@ -125,15 +125,14 @@
pageSize,
}).then((data) => {
if(data.code == "000000") {
this.notCompleteList = data.data
console.log('1212',this.notCompleteList)
this.notCompleteList = data.data;
}
}).catch(function (error) {
}).catch((error) => {
this.$message({
message: error,
type: 'error'
});
});
})
},
sendMessageSingle(item) { //发送单个提醒
sendCompleteMessage({
......@@ -151,33 +150,59 @@
type: 'error'
});
}
}).catch(function (error) {
}).catch((error) => {
this.$message({
message: error,
type: 'error'
});
});
})
},
sendCompleteMessageMultiple(item) {
if(!this.selectList.length) {
sendCompleteMessageMultiple() {
if(!this.selectList.length) {
this.$message({
message: '请选择居民',
type: 'warning'
});
return;
}
let patientIdList = []
this.selectList.forEach(item => {
patientIdList.push(item.patientId)
})
sendCompleteMessageList({
qrcodeType: 1,
patientIds: patientIdList,
}).then((data) => {
if(data.code == "000000") {
this.$message({
message: '请选择居民',
type: 'warning'
message: '已向居民发送提醒',
type: 'success'
});
}else {
this.$message({
message: data.message,
type: 'error'
});
}
}).catch((error) => {
this.$message({
message: error,
type: 'error'
});
})
},
getNotCompleteNum() {
getNotCompleteCount().then((data) => {
if(data.code == "000000") {
this.pagination.totalRows = data.data;
}
}).catch(function (error) {
}).catch((error) => {
this.$message({
message: error,
type: 'error'
});
});
})
}
}
}
......@@ -245,6 +270,7 @@
.el-pagination.is-background .el-pager li:not(.disabled).active {
background: #449284 !important;
}
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册