提交 d2cba9e8 编写于 作者: tao.wu's avatar tao.wu

Merge branch 'dev-followUp-20190312' of...

Merge branch 'dev-followUp-20190312' of 192.168.110.53:com.pica.cloud.education.frontend/pica.cloud.web-education-admin into dev-followUp-20190312

# Conflicts:
#	src/views/followup/plan-manage/new-plan.vue
......@@ -11,6 +11,7 @@
"build": "node build/build.js",
"build:dev": "cross-env BUILD_ENV=dev node build/build.js",
"build:test": "cross-env BUILD_ENV=test node build/build.js",
"build:test2": "cross-env BUILD_ENV=test node build/build.js",
"build:uat": "cross-env BUILD_ENV=uat node build/build.js",
"build:pro": "cross-env BUILD_ENV=pro node build/build.js"
},
......
......@@ -136,6 +136,9 @@ export default {
...payload
}).then(({data}) => {
context.commit('GET_RESIDENT_LIST', data);
context.dispatch('getSelectResident',{
planId: payload.planId
})
});
},
getGroupList(context, payload) {
......@@ -159,6 +162,9 @@ export default {
getPlanDetail(context, payload) {
getPlanDetail(payload).then(({data}) => {
context.commit('GET_PLAN_DETAIL', data);
context.dispatch('getSelectResident',{
planId: data.id
})
});
},
getRemarkOption(context, payload) {
......@@ -261,6 +267,7 @@ export default {
},
getSelectResident(context, payload) {
getResidentList({
needEnd: 1,
...payload
}).then(({data}) => {
context.commit('GET_SELECT_RESIDENT', data);
......
......@@ -42,6 +42,17 @@ export const envConfig = {
yuequeyiIndexUrl: 'https://test1.yunqueyi.com/pica_index.html',
saasDomainUrl: 'https://test1.yunqueyi.com/',
},
test2: {
baseUrl: 'https://test1-sc.yunqueyi.com/',
qiniuFileUrl: "https://test1-sc.yunqueyi.com/contents/admin/qiniu/token1",
qiniuResourceUrl: "https://test1-videos.yunqueyi.com",
qiniuImgUrl: "https://test1-file.yunqueyi.com",
loginUrl: 'https://test1.yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'https://test1-sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html',
followUpSC: 'https://test2-work.yunqueyi.com/sc',
yuequeyiIndexUrl: 'https://test1.yunqueyi.com/pica_index.html',
saasDomainUrl: 'https://test1.yunqueyi.com/',
},
uat: {
baseUrl: 'https://uat-sc.yunqueyi.com/',
qiniuFileUrl: "https://uat-sc.yunqueyi.com/contents/admin/qiniu/token1",
......
......@@ -5,14 +5,14 @@
:visible.sync="showAddPatientTime"
v-if="showThisPage"
:before-close="clickClose"
width="30%"
width="33%"
center>
<div class="finish-content">
<el-form
:model="addPatientData"
:rules="rules"
ref="addPatientData"
label-width="100px">
label-width="140px">
<el-form-item label="已选居民:">
{{addPatientData.patientNames}}
</el-form-item>
......@@ -29,8 +29,8 @@
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button class="button-green" @click="clickClose" size="small" type="primary">取 消</el-button>
<el-button class="button-white" @click="addPatient" size="small" plain>确 定</el-button>
<el-button class="button-while" @click="clickClose" size="small" plain>取 消</el-button>
<el-button class="button-green" @click="addPatient" size="small" type="primary">确 定</el-button>
</span>
</el-dialog>
</div>
......
......@@ -43,8 +43,8 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button class="button-green" @click="clickClose" size="small" type="primary">取 消</el-button>
<el-button class="button-white" @click="changePlans" size="small" plain>确 定</el-button>
<el-button class="button-white" @click="clickClose" size="small" plain>取 消</el-button>
<el-button class="button-green" @click="changePlans" size="small" type="primary" >确 定</el-button>
</span>
</el-dialog>
</div>
......
......@@ -27,8 +27,8 @@
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button class="button-green" @click="clickClose" size="small" type="primary">取 消</el-button>
<el-button class="button-white" @click="finishFollowUp" size="small" plain>确 定</el-button>
<el-button class="button-white" @click="clickClose" size="small" plain>取 消</el-button>
<el-button class="button-green" @click="finishFollowUp" size="small" type="primary">确 定</el-button>
</span>
</el-dialog>
</div>
......@@ -65,18 +65,19 @@
}
},
methods: {
...mapActions('planManage', ['getResidentList']),
...mapActions('planManage', ['getResidentList','getResidentDetail']),
clickClose() {
this.$emit('closeFinishFollowup',false)
},
finishFollowUp() {
this.$refs['finishData'].validate(valid => {
if (valid) {
const { changeCode, planId, patientIdList } = this.finishData;
const { changeCode, planId, patientIdList, planPatientsIdList } = this.finishData;
finishPlan({
changeCode,
planId,
patientIdList,
planPatientsIdList
}).then((data) => {
if(data.code == '000000') {
this.$message({
......
......@@ -10,7 +10,13 @@
width="65%"
center>
<div class="finish-content">
<el-form ref="searchData" :model="searchData" :inline="true" class="select-width" size="small">
<el-form
ref="searchData"
:model="searchData"
:inline="true"
class="select-width"
size="small">
<el-form-item>
<el-select v-model="searchData.sex" @change="changeSex">
<el-option
......@@ -62,10 +68,13 @@
ref="multipleTable"
center
style="width: 100%;margin-top: 20px;"
:row-key="getRowKeys"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
align="center">
align="center"
:reserve-selection="true"
:selectable="checkboxInit">
</el-table-column>
<el-table-column
prop="nickname"
......@@ -89,13 +98,13 @@
min-width="150px">
</el-table-column>
<el-table-column
prop="diseaseId"
prop="showDiseaseNames"
label="基础疾病"
align="center"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="labelId"
prop="showLabelName"
label="分组"
align="center"
:show-overflow-tooltip="true">
......@@ -124,7 +133,7 @@
</template>
<script>
import { mapState, mapActions } from 'vuex'
import { getBasicData, getPlanPatientsList, getAllDiseases, getAllLabels } from '@/utils/followup/followapis'
export default {
components: {},
......@@ -133,7 +142,7 @@
return {
showSelectPatient: true,
allSelects: [],
eachSelects: [],//仅仅是操作选择的总人员
// eachSelects: [],//仅仅是操作选择的总人员
// totalSelect: [],// 当前所选的人
labelId: '',
diseaseId: '',
......@@ -143,7 +152,6 @@
ageEnd: '',
srvPackageId: '',
searchCondition: '',
patientsData: [],
searchData: {
sex: '性别',
......@@ -175,12 +183,17 @@
labelId: '',
labelName: '分组'
}],
trueAdd:[], //真正新加
newSelects: [], //新选中的人
getRowKeys(row) {
// console.log('sshkdhdk',row)
return row.patientId;
},
}
},
props: {
isShowSelectPatient: Boolean, //是否显示model,
patientIdList: Array,// 确定已经选过的居民
oldPatientIdList: Array,// 确定已经选过的居民
},
watch: {
isShowSelectPatient(val){
......@@ -221,31 +234,16 @@
})
}
},
eachSelects(val, oldVal){
if(val.length&&oldVal.length) {
console.log('新',val);
console.log('新',oldVal);
if(val.length>oldVal.length) {
let add = val.filter(function(n) {
return oldVal.indexOf(n) == -1
});
this.trueAdd.push(add)
console.log('加人',this.trueAdd)
} else if(val.length<=oldVal.length) {
let reduce = oldVal.filter(function(n) {
return val.indexOf(n) == -1
});
/*this.trueAdd = this.trueAdd.filter(function(n) {
return reduce.indexOf(n) == -1
});*/
console.log('减人',reduce)
} else {
}
}
}
},
methods: {
checkboxInit(row,index){
if(row.disableNum == undefined) {
return 1
} else {
return row.disableNum
}
},
getPatientsList(){
const data = {
pageSize: this.paginationSet.pageSize,
......@@ -265,15 +263,53 @@
this.getSex()
this.paginationSet.total = res.data.totalRows
// 设置所请求的当页人员是否成为选中状态
if(this.patientIdList.length > 0){
this.patientsData.forEach((item)=>{
// console.log('传入的已选居民',this.patientIdList)
this.patientsData.forEach((item)=>{
item.disableNum = 1;
let diseaseNames = [];
let groupNames = []
//转化分组
if(item.labelModels) {
item.labelModels.forEach(item => {
groupNames.push(item.label)
});
item.showLabelName = groupNames.join('、');
} else {
item.showLabelName = '-';
}
//转化疾病
if(item.patientTypeModels) {
item.patientTypeModels.forEach(item => {
diseaseNames.push(item.name)
})
item.showDiseaseNames = diseaseNames.join('、');
}else {
item.showDiseaseNames = '-';
}
if(this.patientIdList.length > 0){
if(this.patientIdList.includes(item.patientId)){// 如果已经选过居民
this.$nextTick(()=>{
this.$refs.multipleTable.toggleRowSelection(item,true);
})
}
})
}
}
if(this.oldPatientIdList!=undefined&&this.oldPatientIdList.length) {
this.patientsData.forEach((item)=>{
if(this.oldPatientIdList.includes(item.patientId)){// 如果已经选过居民
item.disableNum = 0
} else {
item.disableNum = 1
}
})
}
})
// console.log(this.oldPatientIdList)
}else{
this.patientsData = []
}
......@@ -296,12 +332,16 @@
},
// 选择居民
handleSelectionChange(val) {
console.log('每次选中居民',val)
this.eachSelects = val
const _this = this;
_this.newSelects = [];
val.forEach(item => {
if(item.disableNum == 1) {
_this.newSelects.push(item)
}
})
},
// 切换分页
handleCurrentChangePre(val) {
// console.log('handleCurrentChangePre')
this.paginationSet.pageNum = val
this.getPatientsList()
},
......@@ -309,7 +349,12 @@
this.$emit('closeSelectPatient',false)
},
sureClick(){
this.$emit('sureSelectPatient',false,this.eachSelects)
if(this.newSelects.length) {
this.$emit('sureSelectPatient',false,this.newSelects)
} else {
this.$message.warning('请先选择!')
}
},
handleSizeChangePre(val) {
// console.log('handleSizeChangePre')
......
......@@ -9,9 +9,9 @@
<div class="new-plan-content f-main-content screenSet">
<div class="header">
<div class="title">
<span :class="{ 'active-class' : activeTab === 'second' }">基本信息</span>
<span :class="{ 'active-class' : activeTab === 'second' }">基本信息</span>
<i class="el-icon-arrow-right" style="color: #C0C4CC"></i>
<span :class="{ 'active-class' : activeTab === 'first' }">随访时间节点</span>
<span :class="{ 'active-class' : activeTab === 'first' }">随访时间节点</span>
</div>
<div class="plan-btns-group" v-if="activeTab === 'first'">
<el-button class="button-white" size="small" plain @click="cancelEdit" >取 消</el-button>
......@@ -55,9 +55,11 @@
<el-date-picker
v-model="baseInfo.time"
type="date"
ref="beginDate"
placeholder="请选择随访开始时间"
:picker-options="pickerOptions"
clearable
@blur="handleDateInputConfirm"
style="width:380px;">
</el-date-picker>
</el-form-item>
......@@ -182,6 +184,12 @@
// 点击保存,先进行校验,表单字段是否通过验证
this.checkForm = true
},
handleDateInputConfirm(e){
if(!this.baseInfo.time){
this.$refs.beginDate.picker.date = new Date();
}
},
// 监听保存校验结果
addListenSave(val){
console.log('监听保存校验结果',val)
......@@ -228,13 +236,13 @@
let getArguments = arguments[0];
this.isShowSelectPatient = getArguments[0];
const selectPatients = getArguments[1]; // 每次选中获取的人
this.hasSelectedList = selectPatients;
console.log('呵呵呵呵',arguments)
this.baseInfo.patientIdList = [];
selectPatients.forEach((item)=>{
if(!this.baseInfo.patientIdList.includes(item.patientId)){
this.hasSelectedList.push(item)
this.baseInfo.patientIdList.push(item.patientId); // 页面中数据存储所有选择的人,没有去重
}
this.baseInfo.patientIdList.push(item.patientId);
})
this.baseInfo.hasSelectedNum = this.baseInfo.patientIdList.length;
this.baseInfo.hasSelectedNum = this.hasSelectedList.length;
},
continueAdd(val) {
this.isShowSelectedDialog = val;
......
......@@ -149,7 +149,7 @@
href: `#/followup/plan-manage/plan-detail?planId=${this.$route.query.planId}`
},
{
name: '居民列表',
name: '查看居民',
href: null
}
]
......
......@@ -196,7 +196,7 @@
href: `#/followup/plan-manage/plan-list`
},
{
name: '居民列表',
name: '查看居民',
href: null
}
]
......
<template>
<div class="plan-modify">
<div class="bread-crumb">
<el-breadcrumb separator-class="el-icon-arrow-right" >
<el-breadcrumb separator="/" >
<el-breadcrumb-item v-for="item in planModifyCrumb">
<a v-if="item.href" :href="item.href">{{item.name}}</a>
<span v-else >{{item.name}}</span>
......@@ -63,6 +63,7 @@
<select-patient
:isShowSelectPatient="isShowSelectPatient"
:patientIdList="planDetailData.patientIdList"
:oldPatientIdList="selectResidentIdList"
@closeSelectPatient="closeSelectPatient"
@sureSelectPatient="sureSelectPatient(arguments)">
</select-patient>
......@@ -134,10 +135,12 @@
showFollowTime: false, //是否展示全部时间
showAddPatientTime: false,//是否展示添加居民选择时间
addPatientData: {}, //选择时间数据
/*joinSelectedList: [], //新添加居民
joinPatientIdList: [], //新添加居民id
joinSelectedNames: [], //新添加居民名字*/
selectPatients: [], //选择居民列表已选人
oldSelect:[],
selectResidentIdList: [], //oldID
newHasSelectedList: [],
initResidentList: [], //重置需要的居民列表
initResidentIdList: [], //重置需要的id
}
},
created() {
......@@ -145,9 +148,7 @@
this.getPlanDetail(this.$route.query.planId); //获取计划详情
this.getRemarkOption()
this.getNodeTimeList(this.$route.query.planId); // 获取随访时间列表
this.getSelectResident({
planId: this.$route.query.planId
}); //已选居民
let planModifyCrumbList = sessionStorage.getItem('planModifyCrumb');
this.planModifyCrumb = JSON.parse(planModifyCrumbList);
},
......@@ -183,37 +184,39 @@
this.isShowSelectedDialog = val;
},
sureSelectPatient() {
console.log('getArguments',arguments[0])
let getArguments = arguments[0];
// alert(this.selectResidentList.length+'-'+getArguments[1].length)
this.isShowSelectPatient = getArguments[0];
this.selectPatients = getArguments[1]; // 每次选中获取的人
let selectPeople = [];
let selectPeopleIds = [];
let selectNames = []
this.hasSelectedList.forEach(function (item) {
selectPeople.push(item)
});
this.patientIdList.forEach(function (item) {
selectPeopleIds.push(item)
const newAddPatientList = getArguments[1]; // 新选中的人
let showNames = [];
const newIds = [];
newAddPatientList.forEach(item => {
showNames.push(item.nickname)
newIds.push(item.patientId)
})
this.selectPatients.forEach((item)=>{
if(!this.planDetailData.patientIdList.includes(item.patientId)){// 页面中数据存储所有选择的人,没有去重
selectPeople.push(item);
selectPeopleIds.push(item.id)
selectNames.push(item.nickname)
this.newHasSelectedList = JSON.parse(JSON.stringify(this.initResidentList));
this.newHasSelectedList = this.newHasSelectedList.concat(newAddPatientList);
if(this.newHasSelectedList.length > this.hasSelectedList.length) {
this.showAddPatientTime = true;
if(showNames.length>4) {
const le = showNames.length
showNames = showNames.slice(0,4)
showNames = `${showNames.join('、')}${le}人`
} else {
showNames = showNames.join('、')
}
})
this.addPatientData = {
id: this.$route.query.planId,
addPatients: true,
patientIdList: selectPeopleIds,
patientNames: selectNames.join('、'),
this.addPatientData = {
id: this.$route.query.planId,
addPatients: true,
patientNames: showNames,
}
} else {
this.hasSelectedList = JSON.parse(JSON.stringify(this.newHasSelectedList));
this.planDetailData.patientIdList = JSON.parse(JSON.stringify(this.initResidentIdList));
const _this = this;
newAddPatientList.forEach(item => {
_this.planDetailData.patientIdList.push(item.patientId)
})
}
this.showAddPatientTime = true
},
continueAdd(val) {
this.isShowSelectedDialog = val;
......@@ -291,36 +294,33 @@
this.showAddPatientTime = isShow
},
sendJoinTime(joinData) {
console.log('this.hasSelectedList new',this.hasSelectedList)
const _this = this;
if(joinData) {
// alert(joinData)
this.planDetailData.joinTime =joinData;
console.log('新添加时间',this.planDetailData.joinTime)
this.selectPatients.forEach((item)=>{
if(!this.planDetailData.patientIdList.includes(item.patientId)){// 页面中数据存储所有选择的人,没有去重
this.hasSelectedList.push(item)
this.planDetailData.patientIdList.push(item.patientId);
}
_this.hasSelectedList = [];
_this.planDetailData.patientIdList = [];
_this.newHasSelectedList.forEach(item => {
_this.hasSelectedList.push(item)
_this.planDetailData.patientIdList.push(item.patientId)
})
this.planDetailData.hasSelectedNum = this.patientIdList.length;
this.planDetailData.joinTime = joinData;
} else {
}
},
},
watch: {
planDetail(val) {
// console.log(val)
this.planDetailData = val
this.planDetailData = val;
this.setTimeNodeList = val.fPlanTimeReqList
if(this.planDetailData.resourceId){
this.isStandedTemplate = true
}else{
this.isStandedTemplate = false
}
},
selectResidentList(val) {
const _this = this
_this.planDetailData.patientIdList = []
let people = {}
if(val) {
val.forEach(function (item, index) {
......@@ -331,10 +331,14 @@
mobilePhone: item.mobilePhone,
labelId: item.labelName,
patientId: item.patientId
}
_this.patientIdList.push(item.patientId)
_this.hasSelectedList.push(people)
};
_this.hasSelectedList.push(people);
_this.planDetailData.patientIdList.push(item.patientId)
_this.selectResidentIdList.push(item.patientId)
_this.initResidentList.push(people);
_this.initResidentIdList.push(item.patientId);
})
_this.newHasSelectedList = JSON.parse(JSON.stringify(_this.initResidentIdList));
}
}
}
......@@ -344,6 +348,23 @@
<style lang="scss" scoped>
@import '../../../style/followup/followup-common';
@import '../../../style/followup/element-reset.css';
.bread-crumb {
position: fixed;
left: 255px;
top: 64px;
width: 100%;
background: #fff;
height: 61px;
padding: 20px 20px 30px;
z-index: 99;
border-top: 3px solid #F0F2F5;
.el-breadcrumb__inner {
font-size: 14px;
}
a:hover {
color: #449284;
}
}
.header{
display: flex;
align-items: center;
......
<template>
<div class="resident-detail">
<div class="bread-crumb">
<el-breadcrumb separator-class="el-icon-arrow-right" >
<el-breadcrumb separator="/">
<el-breadcrumb-item v-for="item in residentCrumb">
<a v-if="item.href" :href="item.href">{{item.name}}</a>
<span v-else >{{item.name}}</span>
......@@ -161,10 +161,10 @@
changePlan() {
this.planChangeData = {
planPatientsId: this.residentDetail.fPlanDto.planPatientsId,
planId: this.residentDetail.fPlanDto.id,
// planId: this.residentDetail.fPlanDto.id,
patientId: this.residentDetail.patientId,
yLabelList: this.residentDetail.labelIdList||[],
startDate: this.residentDetail.fPlanDto.timeStr,
// startDate: this.residentDetail.fPlanDto.timeStr,
planIdOld: this.residentDetail.fPlanDto.id,
}
this.showChangePlan = true;
......@@ -174,14 +174,17 @@
},
finishFollowup() {
let patientIdList = [];
let planPatientsIdList = [];
patientIdList.push(this.residentDetail.patientId)
planPatientsIdList.push(this.residentDetail.fPlanDto.planPatientsId)
this.finishData = {
changeCode: this.status,
planId: this.residentDetail.fPlanDto.id,
patientName: this.residentDetail.patientName,
patientIdList: patientIdList,
title: this.status==3?'恢复随访':'结束随访',
reasonName: this.status==3?'恢复原因:':'结束原因:'
reasonName: this.status==3?'恢复原因:':'结束原因:',
planPatientsIdList: this.residentDetail.planPatientsId
}
this.showFinishFollowup = true;
},
......
......@@ -61,10 +61,13 @@
:data="reservationList.enteringDtos"
center
style="width: 100%;margin-top: 20px;"
@selection-change="handleSelectionChange">
@selection-change="handleSelectionChange"
:row-key="getRowKeys"
ref="multipleReservation">
<el-table-column
type="selection"
align="center">
align="center"
:reserve-selection="true">
</el-table-column>
<el-table-column
prop="nickname"
......@@ -190,6 +193,9 @@
needPara: {},
dialogDetailShow: false,
validContents: [],
getRowKeys(row) {
return row.fuPlanPatientTimesId;
},
}
},
created() {
......@@ -295,17 +301,18 @@
}
},
sendReservation() {
if(this.selectionData.length > 0){
this.selectList = this.selectionData;
// 发送预约校验
this.initCheck();
}else if(this.selectionData.length > 100){
this.$message.warning('每次最多选择100条单条随访进行预约!');
return false;
} else {
this.$message.warning('请选择要发送预约的居民!');
return false;
}
// console.log('选择人员长度',this.selectionData.length)
if(this.selectionData.length > 100) {
this.$message.warning('每次最多选择100条单条随访进行预约!');
return;
}else if(this.selectionData.length <= 0){
this.$message.warning('请选择要发送预约的居民!');
return;
}else{
this.selectList = this.selectionData;
// 发送预约校验
this.initCheck();
}
},
sendReservationRow(row){
let newList = [];
......@@ -345,6 +352,7 @@
...this.setSearchData(),
status: this.status,
})
this.$refs.multipleReservation.clearSelection();
},
closeTipsDialog(val){
this.isNoEnoughShow = val;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册