提交 883d98ee 编写于 作者: chengxiang.li's avatar chengxiang.li

merge code

...@@ -228,6 +228,14 @@ ...@@ -228,6 +228,14 @@
isShowSelectPatient: Boolean, //是否显示model, isShowSelectPatient: Boolean, //是否显示model,
patientIdList: Array,// 确定已经选过的居民 patientIdList: Array,// 确定已经选过的居民
oldPatientIdList: Array,// 确定已经选过的居民 oldPatientIdList: Array,// 确定已经选过的居民
selectPatientType: Number, //获取居民列表所需字段,随访是1,分组是2,患教是3
fuPlanIdList: {
required: false,
type: Array,
default: function () {
return [];
}
}, //获取居民列表所需字段,若是随访,则需要传值
}, },
watch: { watch: {
isShowSelectPatient(val){ isShowSelectPatient(val){
...@@ -284,8 +292,8 @@ ...@@ -284,8 +292,8 @@
sex: this.searchData.sex, sex: this.searchData.sex,
searchCondition:this.searchData.searchCondition, searchCondition:this.searchData.searchCondition,
srvPackageId:this.srvPackageId, srvPackageId:this.srvPackageId,
addType: 1, addType: this.selectPatientType, //随访是1,分组是2,患教是3
fuPlanIdList: [], fuPlanIdList: this.fuPlanIdList,
} }
getPatientInfoList(data).then(res=>{ getPatientInfoList(data).then(res=>{
if(res.data.patientList){ if(res.data.patientList){
......
...@@ -140,6 +140,7 @@ ...@@ -140,6 +140,7 @@
:isShowSelectPatient="isShowSelectPatient" :isShowSelectPatient="isShowSelectPatient"
:patientIdList="patientIdList" :patientIdList="patientIdList"
@closeSelectPatient="closeSelectPatient" @closeSelectPatient="closeSelectPatient"
:selectPatientType="selectPatientType"
@sureSelectPatient="sureSelectPatient(arguments)" @sureSelectPatient="sureSelectPatient(arguments)"
/> />
</div> </div>
...@@ -183,6 +184,7 @@ ...@@ -183,6 +184,7 @@
newLabelName: '', // 修改后的分组名 newLabelName: '', // 修改后的分组名
}, },
multipleSelection: [], multipleSelection: [],
selectPatientType: 2, //选择居民时需要的type类型
} }
}, },
components: { components: {
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="text-align: center;margin-top:15px;" v-if="!patientId"> <el-button plain size="small" @click="toggleClick">{{tipsText}}</el-button></el-col> <el-col :span="24" style="text-align: center;margin-top:15px;" v-show="!patientId"> <el-button plain size="small" @click="toggleClick">{{tipsText}}</el-button></el-col>
</el-row> </el-row>
<div v-show="isShowAll || patientId"> <div v-show="isShowAll || patientId">
<div class="has-header">数据记录</div> <div class="has-header">数据记录</div>
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="年龄" prop="age"> <el-form-item label="年龄" prop="age">
<span>{{(patientInfoForm.age || patientInfoForm.age == 0) ? `${patientInfoForm.age}岁` : '-'}}</span> <span>{{(patientInfoForm.age || patientInfoForm.age == 0 ) ? `${patientInfoForm.age}岁` : '-'}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -329,7 +329,13 @@ ...@@ -329,7 +329,13 @@
props: { props: {
patientInfoObj: Object, patientInfoObj: Object,
checkForm: Boolean, checkForm: Boolean,
patientId: String, patientId: {
required: false,
type: String,
default: function () {
return '';
}
},
}, },
watch: { watch: {
async patientInfoObj(val) { async patientInfoObj(val) {
...@@ -372,32 +378,7 @@ ...@@ -372,32 +378,7 @@
this.addressList = []; this.addressList = [];
} }
}else { // 新增 }else { // 新增
this.patientInfoForm = { this.initForm();
nickname: '',
mobilePhone: '',
diseases: [],
patientDiseases: [],
customLabels: [],
idNo: '',
birthTime: '',
age: '',
sex: null,
permanentResidence: '',
nationality: '',
socialCard: '',
fileLocator: '',
isWechatBind: null,
isRemind: null,
wechatNickname: '',
remark: '',
patientAddress: '',
address: '',
workplace: '',
provinceId: null,
cityId: null,
countyId: null,
townId: null,
}
} }
}, },
checkForm(val){ checkForm(val){
...@@ -410,6 +391,9 @@ ...@@ -410,6 +391,9 @@
this.initConstant(); this.initConstant();
}, },
mounted(){ mounted(){
if(!this.patientId){//新建计划
this.initForm();
}
}, },
computed: { computed: {
...mapGetters([ ...mapGetters([
...@@ -424,6 +408,34 @@ ...@@ -424,6 +408,34 @@
}, },
}, },
methods: { methods: {
initForm() {
this.patientInfoForm = {
nickname: '',
mobilePhone: '',
diseases: [],
patientDiseases: [],
customLabels: [],
idNo: '',
birthTime: '',
age: '',
sex: null,
permanentResidence: '',
nationality: '',
socialCard: '',
fileLocator: '',
isWechatBind: null,
isRemind: null,
wechatNickname: '',
remark: '',
patientAddress: '',
address: '',
workplace: '',
provinceId: null,
cityId: null,
countyId: null,
townId: null,
}
},
initConstant(){ initConstant(){
getDiseasesList().then((data) => { getDiseasesList().then((data) => {
if(data.code == '000000') { if(data.code == '000000') {
...@@ -527,6 +539,9 @@ ...@@ -527,6 +539,9 @@
}) })
this.patientInfoForm.patientAddress = `${this.patientInfoForm.provinceName}${this.patientInfoForm.cityName}${this.patientInfoForm.countyName}${this.patientInfoForm.townName}` this.patientInfoForm.patientAddress = `${this.patientInfoForm.provinceName}${this.patientInfoForm.cityName}${this.patientInfoForm.countyName}${this.patientInfoForm.townName}`
} }
if(!this.patientInfoForm.idNo) {
this.patientInfoForm.idNo = null;
}
if (valid) { if (valid) {
// console.log('提交表单',this.patientInfoForm); // console.log('提交表单',this.patientInfoForm);
this.$emit('addListenSave',{ this.$emit('addListenSave',{
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<div class="f-main-content screenSet"> <div class="f-main-content screenSet">
<div> <div>
<div class="right-btn-group" v-if="activeName == 'first'"> <div class="right-btn-group" v-if="activeName == 'first'">
<el-button plain size="small" @click="deletePatient">删除</el-button> <el-button plain size="small" @click="deleteCurrentPatient">删除</el-button>
<el-button type="primary" size="small" @click="editPatient">编辑</el-button> <el-button type="primary" size="small" @click="editPatient">编辑</el-button>
</div> </div>
<el-tabs v-model="activeName" @tab-click="tabChangeHandler"> <el-tabs v-model="activeName" @tab-click="tabChangeHandler">
...@@ -259,7 +259,7 @@ ...@@ -259,7 +259,7 @@
}) })
}, },
tabChangeHandler(tab) {}, tabChangeHandler(tab) {},
deletePatient() { deleteCurrentPatient() {
// 把写的提示信息需要换行的地方分成数组 confirmText // 把写的提示信息需要换行的地方分成数组 confirmText
const confirmText = ['您确定要删除此居民吗?', '删除后,您将无法对该居民发送患教和进行随访,重新添加该居民依旧可查看历史发送记录及随访记录']; const confirmText = ['您确定要删除此居民吗?', '删除后,您将无法对该居民发送患教和进行随访,重新添加该居民依旧可查看历史发送记录及随访记录'];
const newDatas = []; const newDatas = [];
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<h1 class="page-title">我的居民:共{{pagination.totalRows}}</h1> <h1 class="page-title">我的居民:共{{pagination.totalRows}}</h1>
<div class="search-div"> <div class="search-div">
<div class="search-input"> <div class="search-input">
<el-form :model="searchData" ref="searchData" :inline="true"> <el-form :model="searchData" ref="searchData" :inline="true" label-width="100px">
<el-form-item label="性别:" prop="patientName"> <el-form-item label="性别:" prop="patientName">
<el-select v-model="searchData.sex" size="small" clearable :popper-append-to-body="false"> <el-select v-model="searchData.sex" size="small" clearable :popper-append-to-body="false">
<el-option <el-option
...@@ -323,8 +323,12 @@ ...@@ -323,8 +323,12 @@
justify-content: space-between; justify-content: space-between;
padding: 30px 0 10px 0; padding: 30px 0 10px 0;
border-bottom: 1px solid #efefef; border-bottom: 1px solid #efefef;
.search-input{
flex: 1;
}
.search-btn { .search-btn {
min-width: 127px; text-align: right;
width: 150px;
} }
} }
.blank-wrap { .blank-wrap {
......
...@@ -5,8 +5,15 @@ ...@@ -5,8 +5,15 @@
<el-tabs v-model="activeName2" @tab-click="handleTabClick" class="tab-list"> <el-tabs v-model="activeName2" @tab-click="handleTabClick" class="tab-list">
<el-tab-pane label="单个录入" name="first" class="single-input"> <el-tab-pane label="单个录入" name="first" class="single-input">
<el-row class="save-and-add"> <el-row class="save-and-add">
<el-button type="primary">保存并新增</el-button> <el-button type="primary" @click="saveEdit">保存并新增</el-button>
</el-row> </el-row>
<edit-information
ref="newForm"
:patientInfoObj="patientInfo"
:checkForm="checkForm"
@addListenSave="addListenSave"
:patientId="patientId">
</edit-information>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="二维码录入" name="second"> <el-tab-pane label="二维码录入" name="second">
<div class="qr-code-wrap"> <div class="qr-code-wrap">
...@@ -246,18 +253,21 @@ ...@@ -246,18 +253,21 @@
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import BreadCrumb from "@/components/breadcrumb.vue"; import BreadCrumb from "@/components/breadcrumb.vue";
import EditInformation from '../mypatients-manage/components/edit-information'
import * as commonUtil from "@/utils/utils"; import * as commonUtil from "@/utils/utils";
import { import {
getQRCode, getQRCode,
getUploadHistory, getUploadHistory,
getLabelList, getLabelList,
refreshCode, refreshCode,
// getUploadHistory,
savePatientInfo
} from "@/utils/patients/patientsapi"; } from "@/utils/patients/patientsapi";
import { getSaasDomain } from '@/utils/index'; import { getSaasDomain } from '@/utils/index';
import QRCode from 'qrcode'; import QRCode from 'qrcode';
...@@ -267,7 +277,10 @@ ...@@ -267,7 +277,10 @@
return { return {
curmbFirst: "居民管理", curmbFirst: "居民管理",
curmbSecond: "新增居民", curmbSecond: "新增居民",
activeName2: 'second', activeName2: 'first',
patientInfo: {},
checkForm: false,
patientId: '',
searchData: { searchData: {
pageNo: 1, // 第几页 pageNo: 1, // 第几页
pageSize: 10, // 每页条数 pageSize: 10, // 每页条数
...@@ -314,6 +327,7 @@ ...@@ -314,6 +327,7 @@
}, },
components: { components: {
BreadCrumb, BreadCrumb,
EditInformation,
}, },
created() { created() {
this.goToGetQRCode({ this.goToGetQRCode({
...@@ -466,13 +480,13 @@ ...@@ -466,13 +480,13 @@
this.$message({ this.$message({
message: '上传文件只能是 xls、xlsx格式!', message: '上传文件只能是 xls、xlsx格式!',
type: 'warning' type: 'warning'
}); });
fileList.splice(0, 1); fileList.splice(0, 1);
return false; return false;
} }
if (fileList.length > 1) { if (fileList.length > 1) {
fileList.splice(0, 1); fileList.splice(0, 1);
} }
this.files = [file]; this.files = [file];
...@@ -495,7 +509,7 @@ ...@@ -495,7 +509,7 @@
const codes = ['000000', '400002', '400004']; const codes = ['000000', '400002', '400004'];
if (codes.indexOf(code) > -1) { if (codes.indexOf(code) > -1) {
this.error = response.data; this.error = response.data;
} else { } else {
this.error = response.message; this.error = response.message;
} }
...@@ -510,8 +524,32 @@ ...@@ -510,8 +524,32 @@
handleReloadLabel() { handleReloadLabel() {
this.showReloadLabelModal = false; this.showReloadLabelModal = false;
this.goToGetGroupList(); this.goToGetGroupList();
} },
} saveEdit() {
this.checkForm = true;
},
addListenSave(val) {
this.checkForm = false;
if(val.status) {
// this.patientInfo = val.patientInfoForm
console.log('填写内容',val.patientInfoForm);
savePatientInfo(val.patientInfoForm).then(data => {
if(data.code == '000000'){
this.$message.success('新增成功')
setTimeout(() => {
this.$refs.newForm.$refs.patientInfoForm.resetFields()
// this.$router.go(0);//体验不好
},500)
}else {
this.$message.error(data.message);
}
})
// 调用保存接口
}else {
this.$message.error('请正确填写信息');
}
},
}
} }
</script> </script>
...@@ -529,7 +567,7 @@ ...@@ -529,7 +567,7 @@
margin: 0; margin: 0;
padding: 0; padding: 0;
.septal-line{ .septal-line{
width: 100%; width: 100%;
height: 1px; height: 1px;
background: #EBEEF5; background: #EBEEF5;
} }
...@@ -541,6 +579,7 @@ ...@@ -541,6 +579,7 @@
border-bottom: 1px solid #efefef; border-bottom: 1px solid #efefef;
} }
.single-input{ .single-input{
background-color: #ffffff!important;
.save-and-add{ .save-and-add{
text-align: right; text-align: right;
} }
...@@ -682,7 +721,7 @@ ...@@ -682,7 +721,7 @@
width: 100%; width: 100%;
background: #fff; background: #fff;
.guide-list{ .guide-list{
width: 100%; width: 100%;
height: 237px; height: 237px;
margin-top: 15px; margin-top: 15px;
.first{ .first{
...@@ -693,7 +732,7 @@ ...@@ -693,7 +732,7 @@
.procedure{ .procedure{
width: 100%; height: 20px; width: 100%; height: 20px;
.icon{ .icon{
width: 20px; width: 20px;
height: 20px; height: 20px;
display: inline-block; display: inline-block;
background: #449284; background: #449284;
...@@ -709,7 +748,7 @@ ...@@ -709,7 +748,7 @@
} }
.border{ .border{
display: inline-block; display: inline-block;
width: 200px; width: 200px;
// width: 70%; // width: 70%;
height: 0px; height: 0px;
border-bottom: 1px solid #449284; border-bottom: 1px solid #449284;
...@@ -725,12 +764,12 @@ ...@@ -725,12 +764,12 @@
.under-info{ .under-info{
padding-left: 25px; padding-left: 25px;
.step-tips{ .step-tips{
width: 100%; width: 100%;
font-size: 12px; font-size: 12px;
color: #595959; color: #595959;
margin: 8px 0 20px; margin: 8px 0 20px;
} }
} }
} }
.second{ .second{
...@@ -763,7 +802,7 @@ ...@@ -763,7 +802,7 @@
} }
} }
} }
} }
.third{ .third{
width: 300px; width: 300px;
...@@ -781,16 +820,16 @@ ...@@ -781,16 +820,16 @@
} }
} }
.upload-table{ .upload-table{
} }
.el-table__body-wrapper{ .el-table__body-wrapper{
&::-webkit-scrollbar &::-webkit-scrollbar
{ {
width: 5px; width: 5px;
height: 5px; height: 5px;
background-color: #fff; background-color: #fff;
} }
&::-webkit-scrollbar-thumb &::-webkit-scrollbar-thumb
{ {
border-radius: 10px; border-radius: 10px;
...@@ -804,7 +843,7 @@ ...@@ -804,7 +843,7 @@
background: #fff; background: #fff;
.qr-group{ .qr-group{
width: 100%; height:auto; width: 100%; height:auto;
overflow: hidden; overflow: hidden;
margin: 30px 0 40px; margin: 30px 0 40px;
.label-name{ .label-name{
display: inline-block; display: inline-block;
...@@ -841,6 +880,7 @@ ...@@ -841,6 +880,7 @@
border: 0; border: 0;
display: block; display: block;
} }
border: 0;
.qr-download-btn{ .qr-download-btn{
color: #fff; color: #fff;
background: #449284; background: #449284;
...@@ -849,7 +889,7 @@ ...@@ -849,7 +889,7 @@
} }
} }
.time-limit{ .time-limit{
width: 100%; width: 100%;
text-align: center; text-align: center;
color: #8C8C8C; color: #8C8C8C;
font-size: 12px; font-size: 12px;
...@@ -860,7 +900,7 @@ ...@@ -860,7 +900,7 @@
background:rgba(236,244,242,1); background:rgba(236,244,242,1);
border:1px solid rgba(150,195,193,1); border:1px solid rgba(150,195,193,1);
} }
} }
} }
.border-space{ .border-space{
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册