xinelu-applet-ui/pagesB/mysigning/mysigning.vue

264 lines
6.8 KiB
Vue
Raw Normal View History

2023-10-08 17:03:35 +08:00
<template>
<view class="app">
<view class="title">
2024-06-25 18:25:50 +08:00
<image :src="require('@/pagesC/images/jibenxinxi.png')" mode=""></image>
2023-10-08 17:03:35 +08:00
<view class="text">
基本信息
</view>
</view>
<view class="name">
<view class="text">
2023-10-12 13:23:07 +08:00
{{list.residentName?list.residentName:''}}
2023-10-08 17:03:35 +08:00
</view>
2023-10-12 09:47:40 +08:00
<view class="card" v-for='item in list.crowdsName'>
2023-10-12 13:23:07 +08:00
{{item?item:''}}
2023-10-08 17:03:35 +08:00
</view>
</view>
<view class="item">
2023-10-12 14:31:36 +08:00
{{list.gender=='2'?'女':''}}{{list.gender=='1'?'男':''}}&nbsp;&nbsp;&nbsp; {{list.age? list.age +'岁':''}}
2023-10-08 17:03:35 +08:00
</view>
<view class="item">
2023-10-12 13:23:07 +08:00
{{list.phone?list.phone:''}}
2023-10-08 17:03:35 +08:00
</view>
<view class="item">
2023-10-12 13:23:07 +08:00
{{list.identity?list.identity:''}}
2023-10-08 17:03:35 +08:00
</view>
<view class="item">
2023-10-12 13:23:07 +08:00
{{list.address?list.address:''}}
2023-10-08 17:03:35 +08:00
</view>
<view class="border">
</view>
<view class="title">
2024-06-25 18:25:50 +08:00
<image :src="require('@/pagesC/images/qianyuexinxi.png')" mode=""></image>
2023-10-08 17:03:35 +08:00
<view class="text">
签约信息
</view>
</view>
<view class="item">
2024-03-15 16:33:19 +08:00
年限{{list.signTime?list.signTime:''}} {{list.signDeadline?list.signDeadline:''}}
2023-10-08 17:03:35 +08:00
</view>
<view class="item">
2023-10-12 13:23:07 +08:00
机构
{{list.orgName?list.orgName:''}}
2023-10-08 17:03:35 +08:00
</view>
<view class="item flexitem">
<view class="left">
2023-10-12 13:23:07 +08:00
医生
2024-03-30 21:06:43 +08:00
{{list.userName?list.userName:''}}
2023-10-08 17:03:35 +08:00
</view>
2023-10-09 11:20:25 +08:00
<view class="right" @tap="goseekadvicefrom">
2024-06-25 18:25:50 +08:00
<image :src="require('@/pagesC/images/zixun.png')" mode=""></image>
2023-10-08 17:03:35 +08:00
<text>
咨询
</text>
</view>
</view>
2023-10-09 10:58:52 +08:00
<view class="lookbtn" @tap='gomyfamilydoctorteam'>
2023-10-08 17:03:35 +08:00
查看我的家庭医生团队
</view>
<view class="border">
</view>
<view class="title">
2024-06-25 18:25:50 +08:00
<image :src="require('@/pagesC/images/wodefuwubao.png')" mode=""></image>
2023-10-08 17:03:35 +08:00
<view class="text">
我的服务包
</view>
</view>
2023-10-12 09:47:40 +08:00
<view class="item" v-for='item in list.packagesName'>
2023-10-12 13:23:07 +08:00
{{item?item:''}}
2023-10-08 17:03:35 +08:00
</view>
2023-10-09 10:58:52 +08:00
<view class="lookbtn" @tap='goperformancedetails'>
2023-10-08 17:03:35 +08:00
查看履约详情
</view>
<view class="border">
</view>
<view class="btns">
2023-10-12 15:54:10 +08:00
<view class="leftbtn" @tap='maskshow = true'>
2023-10-08 17:03:35 +08:00
申请解约
</view>
2023-10-09 10:58:52 +08:00
<view class="rightbtn" @tap='gocontractsigningprotocol'>
2023-10-08 17:03:35 +08:00
查看签约协议
</view>
</view>
2023-10-12 15:54:10 +08:00
<u-popup v-model="maskshow" mode="center" length="90%" closeable height="50%">
<view class="mask" @tap.stop=''>
<view class="titletext">
<text>解约类型</text>
<view class="select" @tap='maskshowtwo=true'>
2023-10-16 09:19:16 +08:00
<text v-if="list.rescindName"
style="font-size: 26rpx;color: #303133;">{{list.rescindName}}</text>
2023-10-12 15:54:10 +08:00
<text v-else>请选择解约类型</text>
2024-06-25 18:25:50 +08:00
<image :src="require('@/pagesC/images/huijiantou.png')" mode=""></image>
2023-10-12 15:54:10 +08:00
</view>
</view>
<view class="titletext">
<text>解约原因</text>
2023-10-23 16:32:39 +08:00
<textarea name="" id="" cols="30" rows="10" style="width: 60%;height: 200rpx;" placeholder="请输入解约原因"
2023-10-12 15:54:10 +08:00
v-model="list.rescindReason"></textarea>
</view>
<view class="btnss">
2023-10-16 09:19:16 +08:00
<view class="cancel" @click="maskshow=false">
2023-10-12 15:54:10 +08:00
取消
</view>
<view class="Rescind" @click="rescindapplysaveinfo">
解约
</view>
</view>
</view>
</u-popup>
<u-toast ref="uToast" />
<u-select v-model="maskshowtwo" mode="single-column" :list="maskshowtwolist" @confirm="maskshowtwoconfirm"
z-index='10076'></u-select>
2023-10-08 17:03:35 +08:00
</view>
</template>
<script>
2023-10-12 15:54:10 +08:00
import {
2024-03-15 16:33:19 +08:00
getHospitalPersonInfo
} from '@/api/pagesC/contractsigningprotocol/index.js'
import {
consultationInfo,
2023-10-12 15:54:10 +08:00
rescindapplysave
} from '@/api/pagesB/mysigning/index.js'
2023-10-12 13:23:07 +08:00
import {
detail,
} from '@/api/pages/homepage/homepage.js'
2024-03-19 10:19:11 +08:00
import {
mapMutations
} from "vuex";
2023-10-08 17:03:35 +08:00
export default {
data() {
return {
2023-10-12 09:47:40 +08:00
list: {},
2023-10-12 15:54:10 +08:00
maskshow: false,
maskshowtwo: false,
maskshowtwolist: [{
value: 1,
label: '主动解约'
},
{
value: 2,
label: '迁出'
}, {
value: 3,
label: '死亡'
}, {
value: 4,
label: '到期'
}, {
value: 5,
label: '其他'
},
],
2024-03-15 16:33:19 +08:00
formdata: {
address: '',
patientId: '',
patientName: '',
cardNo: '',
phone: '',
doctorId: '',
doctorName: '',
consultationType: 'ONLINE_CONSULTATION',
},
2023-10-08 17:03:35 +08:00
};
2023-10-09 10:58:52 +08:00
},
methods: {
2024-03-19 10:19:11 +08:00
...mapMutations(['scoket']),
2023-10-12 15:54:10 +08:00
//解约
rescindapplysaveinfo() {
2024-04-17 08:57:37 +08:00
this.list.openid = uni.getStorageSync('openid')
2023-10-12 15:54:10 +08:00
rescindapplysave(this.list).then(res => {
if (res.code == 200) {
this.$refs.uToast.show({
2023-10-24 09:35:49 +08:00
title: '解约申请提交成功',
2023-10-12 15:54:10 +08:00
type: 'success',
})
setTimeout(() => {
uni.switchTab({
url: "/pages/homepage/homepage"
})
}, 2000)
2024-03-15 16:33:19 +08:00
} else {
2023-11-08 17:13:05 +08:00
this.$refs.uToast.show({
title: res.msg,
type: 'error',
})
2023-10-12 15:54:10 +08:00
}
})
},
2023-10-12 10:46:44 +08:00
// 签约信息
2023-10-12 11:24:37 +08:00
detailinfo() {
2023-10-16 11:21:27 +08:00
detail(uni.getStorageSync('userinfo').cardNo).then(res => {
2023-10-12 10:46:44 +08:00
if (res.code == 200) {
2023-10-12 13:23:07 +08:00
this.list = res.data
2023-10-12 15:54:10 +08:00
this.list.rescindType = null
this.list.rescindName = null
this.list.rescindReason = null
2023-10-12 13:23:07 +08:00
this.list.crowdsName = this.list.crowdsName.split(',')
this.list.packagesName = this.list.packagesName.split(',')
2024-11-13 15:03:50 +08:00
getHospitalPersonInfo(res.data.userNo).then(resp => {
2024-03-15 16:33:19 +08:00
this.formdata.doctorName = resp.data.personName
this.formdata.doctorId = resp.data.id
})
2023-10-12 10:46:44 +08:00
}
})
},
2023-10-09 10:58:52 +08:00
//我的家庭医生团队
gomyfamilydoctorteam() {
uni.navigateTo({
2023-10-12 14:31:36 +08:00
url: `/pagesB/myfamilydoctorteam/myfamilydoctorteam?teamNo=${this.list.teamNo}`
2023-10-09 10:58:52 +08:00
})
},
// 履约详情
goperformancedetails() {
uni.navigateTo({
url: "/pagesB/performancedetails/performancedetails"
})
},
//签约协议
gocontractsigningprotocol() {
uni.navigateTo({
2023-10-13 13:39:29 +08:00
url: `/pagesC/contractsigningprotocol/contractsigningprotocol?orgNo=${this.list.orgNo}&cardNo=${this.list.identity}`
2023-10-09 10:58:52 +08:00
})
},
2023-10-09 11:20:25 +08:00
//咨询
goseekadvicefrom() {
2024-03-15 16:33:19 +08:00
consultationInfo(this.formdata).then(res => {
if (res.code == 200) {
uni.navigateTo({
url: `/pagesC/seekadvicefrom/seekadvicefrom?item=${JSON.stringify(res.data)}`
})
} else if (res.code == 500) {
this.$refs.uToast.show({
title: res.msg,
type: 'error',
duration: '1500',
})
}
2023-10-09 11:20:25 +08:00
})
},
2023-10-12 15:54:10 +08:00
maskshowtwoconfirm(e) {
this.list.rescindType = e[0].value
this.list.rescindName = e[0].label
},
2023-10-12 09:47:40 +08:00
},
onLoad(options) {
2024-03-15 16:33:19 +08:00
this.formdata.address = uni.getStorageSync('userinfo').address
this.formdata.patientId = uni.getStorageSync("patientId")
this.formdata.consultationType = 'ONLINE_CONSULTATION'
this.formdata.patientName = uni.getStorageSync('userinfo').patientName
this.formdata.cardNo = uni.getStorageSync('userinfo').cardNo
this.formdata.phone = uni.getStorageSync('userinfo').phone
2023-10-12 13:23:07 +08:00
this.detailinfo();
2024-03-19 10:19:11 +08:00
},
onShow() {
if (uni.getStorageSync('patientId') && !this.$store.state.socketOpen) {
this.scoket();
}
},
2023-10-08 17:03:35 +08:00
}
</script>
<style lang="scss">
2023-10-12 15:54:10 +08:00
@import './mysigning.scss';
2024-06-25 18:25:50 +08:00
</style>