diff --git a/api/conversion.js b/api/conversion.js index b3581e9..be62cfb 100644 --- a/api/conversion.js +++ b/api/conversion.js @@ -1,29 +1,30 @@ export function getSex(idCard) { - if (idCard.length === 15) { - return ['女', '男'][idCard.substr(14, 1) % 2] - } else if (idCard.length === 18) { - return ['女', '男'][idCard.substr(16, 1) % 2] - } - return '' + if (idCard.length === 15) { + return ['女', '男'][idCard.substr(14, 1) % 2] + } else if (idCard.length === 18) { + return ['女', '男'][idCard.substr(16, 1) % 2] + } + return '' } export function getBirthday(idCard) { - var birthday = ""; - if (idCard != null && idCard != "") { - if (idCard.length == 15) { - birthday = "19" + idCard.substr(6, 6); - } else if (idCard.length == 18) { - birthday = idCard.substr(6, 8); - } - // birthday = birthday.replace(/(.{4})(.{2})/, "$1-$2-"); - } - return birthday; + var birthday = ""; + if (idCard != null && idCard != "") { + if (idCard.length == 15) { + birthday = "19" + idCard.substr(6, 6); + } else if (idCard.length == 18) { + birthday = idCard.substr(6, 8); + } + birthday = birthday.replace(/(.{4})(.{2})/, '$1-$2-') + } + return birthday; }; // 出生日期转年龄 export function getAgeFun(value) { - var birthdays = new Date(value.replace(/-/g, "/")); //value 是传入的值 - var time = new Date(); //当前时间 - var age = time.getFullYear() - birthdays.getFullYear() - (time.getMonth() < birthdays.getMonth() || (time.getMonth() == birthdays.getMonth() && - time.getDate() < birthdays.getDate()) ? 1 : 0); - return age; + var birthdays = new Date(value.replace(/-/g, "/")); //value 是传入的值 + var time = new Date(); //当前时间 + var age = time.getFullYear() - birthdays.getFullYear() - (time.getMonth() < birthdays.getMonth() || (time + .getMonth() == birthdays.getMonth() && + time.getDate() < birthdays.getDate()) ? 1 : 0); + return age; } diff --git a/api/pagesC/Onlinesigning/index.js b/api/pagesC/Onlinesigning/index.js new file mode 100644 index 0000000..8259b73 --- /dev/null +++ b/api/pagesC/Onlinesigning/index.js @@ -0,0 +1,47 @@ +import request from "@/api/request.js" + +// 获取区划列表 +export function arealist(pid, region) { + return request({ + url: `/applet/signinfo/area/list/${pid}`, + method: 'get', + header: { + region: region + } + }) +} + +//提交签约 +export function applysave(data, region) { + return request({ + url: `/applet/sign/apply/save`, + method: 'post', + data: data, + header: { + region: region + } + }) +} + +//人群 +export function getCrowd(identity, region) { + return request({ + url: `/applet/signinfo/getCrowd/${identity}`, + method: 'get', + header: { + region: region + } + }) +} + +//服务包 +export function getPackageByCrowdNo(data, region) { + return request({ + url: `/applet/signinfo/getPackageByCrowdNo`, + method: 'post', + data: data, + header: { + region: region + } + }) +} diff --git a/api/pagesC/choosedoctor/index.js b/api/pagesC/choosedoctor/index.js new file mode 100644 index 0000000..2ed73f2 --- /dev/null +++ b/api/pagesC/choosedoctor/index.js @@ -0,0 +1,12 @@ +import request from "@/api/request.js" + +// 获取区划列表 +export function getDoctorList(pageNum, orgNo, region) { + return request({ + url: `/applet/signinfo/getDoctorList?pageNum=${pageNum}&orgNo=${orgNo}`, + method: 'get', + header: { + region: region + } + }) +} diff --git a/api/pagesC/selectInstitution/index.js b/api/pagesC/selectInstitution/index.js new file mode 100644 index 0000000..c5ffef9 --- /dev/null +++ b/api/pagesC/selectInstitution/index.js @@ -0,0 +1,25 @@ +import request from "@/api/request.js" + +export function getCounty(data, region) { + return request({ + url: `/applet/signinfo/getCounty`, + method: 'post', + data: data, + header: { + region: region + } + }) +} + + + +export function getNearbyOrg(data, region) { + return request({ + url: `/applet/signinfo/getNearbyOrg`, + method: 'get', + data: data, + header: { + region: region + } + }) +} diff --git a/api/request.js b/api/request.js index 3b321e9..a674cb4 100644 --- a/api/request.js +++ b/api/request.js @@ -13,7 +13,7 @@ var request = function(config) { url: baseurl + config.url, data: config.data, method: config.method, - timeout: 10000, + timeout: 60000, header: config.header, success(res) { uni.hideLoading(); @@ -27,4 +27,4 @@ var request = function(config) { }) } -export default request \ No newline at end of file +export default request diff --git a/pages.json b/pages.json index 94323e1..a3329b9 100644 --- a/pages.json +++ b/pages.json @@ -414,13 +414,6 @@ "enablePullDownRefresh": false } }, - { - "path": "Signingagency/Signingagency", - "style": { - "navigationBarTitleText": "在线签约", - "enablePullDownRefresh": false - } - }, { "path": "Filinginformation/Filinginformation", "style": { @@ -495,6 +488,21 @@ "navigationBarTitleText": "咨询医生", "enablePullDownRefresh": false } + }, { + "path": "choosedoctor/choosedoctor", + "style": { + "navigationBarTitleText": "选择医生", + "onReachBottomDistance": 40, //距离底部多远时触发 单位为px + "enablePullDownRefresh": true //设置参数为true + } + + }, { + "path": "selectInstitution/selectInstitution", + "style": { + "navigationBarTitleText": "选择签约机构", + "onReachBottomDistance": 40, //距离底部多远时触发 单位为px + "enablePullDownRefresh": true //设置参数为true + } } ] }], @@ -535,14 +543,6 @@ "selectedIconPath": "static/myinformations.png", "text": "我的" } - // , - // { - // "path": "Mysigning/Mysigning", - // "style": { - // "navigationBarTitleText": "我的签约", - // "enablePullDownRefresh": false - // } - // } ] } } diff --git a/pages/homepage/homepage.vue b/pages/homepage/homepage.vue index 64979c4..d3f91a7 100644 --- a/pages/homepage/homepage.vue +++ b/pages/homepage/homepage.vue @@ -122,29 +122,31 @@ // 签约信息 detailinfo(url1, url2) { detail(this.identity, this.region).then(res => { - if (res.code == 500) { + // detail('372424194703207523', '1').then(res => { + if (res.code == 200) { + uni.navigateTo({ + url: url2 + `?item=${JSON.stringify(res.data)}` + }) + } else { this.$refs.uToast.show({ title: '未签约,请先签约', type: 'error', duration: '1000', url: url1 }) - } else { - uni.navigateTo({ - url: url2 - }) } }) }, // 家医签约 goonline() { uni.navigateTo({ - url: '/pagesC/Onlinesigning/Onlinesigning' + url:"/pagesC/Onlinesigning/Onlinesigning" }) + // this.detailinfo('/pagesC/Onlinesigning/Onlinesigning', '/pagesB/mysigning/mysigning') if (!this.userinfo && !this.identity) { // this.gologin(); } else { - this.detailinfo('/pagesC/Onlinesigning/Onlinesignin', '/pagesB/mysigning/mysigning') + // this.detailinfo('/pagesC/Onlinesigning/Onlinesigning', '/pagesB/mysigning/mysigning') } }, // 积分兑换 diff --git a/pagesB/mysigning/mysigning.vue b/pagesB/mysigning/mysigning.vue index ca6e877..cb1f571 100644 --- a/pagesB/mysigning/mysigning.vue +++ b/pagesB/mysigning/mysigning.vue @@ -8,30 +8,23 @@ - 张三 + {{list.residentName}} - - 高血压 - - - 糖尿病 + + {{item}} - 男    65岁 + {{list.gender=='2'?'女':''}}{{list.gender=='1'?'男':''}}    65岁 - 1786982345 + {{list.phone}} - 37029828873746473 + {{list.identity}} - 山东省济南市槐荫区腊山河街道首诺城市之光 - 山东省济南市槐荫区腊山河街道首诺城市之光 - 山东省济南市槐荫区腊山河街道首诺城市之光 - 山东省济南市槐荫区腊山河街道首诺城市之光 - 山东省济南市槐荫区腊山河街道首诺城市之光 + {{list.address}} @@ -42,14 +35,14 @@ - 年限:2023年1月12日-2024年1月12日 + 年限:{{list.signTime}}-{{list.signDeadline}} - 机构:河口区卫生服务中心 + 机构:{{list.orgName}} - 医生:张三 + 医生:{{list.userName}} @@ -69,11 +62,8 @@ 我的服务包 - - 高血压个性服务包 - - - 糖尿病个性服务包 + + {{item}} 查看履约详情 @@ -95,7 +85,7 @@ export default { data() { return { - + list: {}, }; }, methods: { @@ -123,6 +113,11 @@ url: `/pagesC/seekadvicefrom/seekadvicefrom?title=咨询医生` }) }, + }, + onLoad(options) { + this.list = JSON.parse(options.item) + this.list.crowdsName = this.list.crowdsName.split(',') + this.list.packagesName = this.list.packagesName.split(',') } } @@ -229,7 +224,7 @@ font-size: 18rpx; font-weight: 400; color: #FFA115; - width: 85rpx; + padding: 0 15rpx; height: 35rpx; line-height: 35rpx; background: #FFFFFF; @@ -259,4 +254,4 @@ } } } - \ No newline at end of file + diff --git a/pagesC/Onlinesigning/Onlinesigning.scss b/pagesC/Onlinesigning/Onlinesigning.scss new file mode 100644 index 0000000..83e26d4 --- /dev/null +++ b/pagesC/Onlinesigning/Onlinesigning.scss @@ -0,0 +1,291 @@ +page { + background-color: #F4F5F7; + } + + .app { + width: 96%; + margin: 20rpx auto; + background-color: #F7F5F5; + padding: 30rpx 0 200rpx 0; + background: #FFFFFF; + box-shadow: 0rpx 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03); + border-radius: 5rpx; + ::v-deep .u-checkbox { + width: 100% !important; + height: 80rpx !important; + } + .signing { + width: 637rpx; + height: 198rpx; + background: #FFFFFF; + border: 1rpx solid #26A888; + opacity: 0.8; + border-radius: 5rpx; + margin: 50rpx auto; + + .agency { + // width: 96rpx; + padding: 22rpx 30rpx 6rpx 30rpx; + // height: 21rpx; + font-size: 22rpx; + font-weight: 500; + color: #EE8F15; + line-height: 38rpx; + } + + .word { + font-size: 22rpx; + font-weight: 400; + color: #8E8E8E; + line-height: 38rpx; + padding: 0 30rpx 0 30rpx; + } + } + + .radio-content { + width: 100%; + height: 100rpx; + text-align: center; + font-size: 22rpx; + margin: 0 auto; + display: flex; + align-items: center; + + .agreement { + color: #333333; + width: 80%; + text-align: left; + padding-left: 20rpx; + } + + .radio-right { + width: 20%; + + .radio { + display: inline-block; + width: 30rpx; + height: 30rpx; + border-radius: 70%; + border: 2rpx solid #26A888; + position: relative; + float: right; + + .radio-active { + width: 15rpx; + height: 15rpx; + border-radius: 50%; + background-color: #178ffb; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } + } + } + } + + .submititem { + display: flex; + justify-content: space-evenly; + margin: 47rpx 0px 20rpx 0px; + + .submit { + width: 289rpx; + height: 61rpx; + background: #26A888; + border-radius: 5rpx; + line-height: 62rpx; + text-align: center; + color: #fff; + } + + .laststep { + width: 290rpx; + height: 62rpx; + background: #FFFFFF; + border: 1rpx solid #26A888; + border-radius: 5rpx; + line-height: 62rpx; + text-align: center; + color: #26A888; + } + } + + .content { + width: 95%; + height: 300rpx; + margin: 15rpx auto; + position: relative; + } + + .nextpage { + width: 496rpx; + height: 61rpx; + background: #26A888; + border-radius: 5rpx; + line-height: 61rpx; + color: white; + text-align: center; + margin: 100rpx auto; + } + + .contentbottom { + position: relative; + top: 20%; + } + + .name { + padding: 10rpx 30rpx 0 7%; + font-size: 30rpx; + font-weight: 400; + color: #333333; + line-height: 38rpx; + + ::v-deep .u-input { + width: 636rpx; + height: 63rpx; + background: #F6F6F6; + margin: 12rpx auto; + border: none; + border-radius: 5rpx; + + } + + ::v-deep.uni-input-placeholder { + color: #8E8E8E !important; + font-size: 20rpx; + } + + ::v-deep .u-input__input.data-v-fdbb9fe6 { + font-size: 26rpx !important; + } + + ::v-deep.input-placeholder { + color: #8E8E8E !important; + font-size: 20rpx; + } + + .select { + width: 636rpx; + height: 63rpx; + background: #F6F6F6; + margin: 12rpx auto; + border-radius: 5rpx; + display: flex; + position: relative; + + text { + padding: 0 60rpx 0 20rpx; + line-height: 63rpx; + font-size: 20rpx; + font-weight: 400; + color: #8E8E8E; + // text-overflow: -o-ellipsis-lastline; + // overflow: hidden; + // text-overflow: ellipsis; + // display: -webkit-box; + // -webkit-line-clamp: 1; + // line-clamp: 1; + // -webkit-box-orient: vertical; + // white-space:normal; + // word-break:break-all; + } + + image { + width: 9rpx; + height: 17rpx; + position: absolute; + right: 40rpx; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + } + } + } + + .numberone { + width: 90rpx; + height: 90rpx; + position: absolute; + top: 6%; + left: 15%; + background: #F0F1F6; + border-radius: 50%; + color: #fff; + line-height: 90rpx; + text-align: center; + font-size: 50rpx; + + .information { + width: 160rpx; + margin: 22rpx 8rpx 8rpx -30rpx; + font-size: 26rpx; + font-weight: 400; + color: #8E8E8E; + line-height: 38rpx; + } + } + + .numberones { + background: #26A888; + + .information { + color: #26A888; + } + } + // ::v-deep .uni-input-input { + // left: 20rpx; + // } + + .number { + width: 180rpx; + height: 150rpx; + position: absolute; + top: 6%; + left: 65%; + + .numbertwo { + width: 90rpx; + height: 90rpx; + left: 50%; + transform: translateX(50%); + background: #F0F1F6; + border-radius: 50%; + line-height: 90rpx; + text-align: center; + font-size: 50rpx; + // border: 1rpx solid #A6C8C0; + color: #fff; + + } + + .information { + padding-top: 20rpx; + font-size: 26rpx; + font-weight: 400; + color: #8E8E8E; + line-height: 38rpx; + text-align: center; + } + + .numbertwos { + background: #26A888; + color: #fff; + } + + .informations { + color: #26A888; + } + + } + + + .item { + position: absolute; + width: 202rpx; + height: 1rpx; + top: 25%; + left: 34%; + background: linear-gradient(-90deg, #E6E6E6, #26A888); + } + } diff --git a/pagesC/Onlinesigning/Onlinesigning.vue b/pagesC/Onlinesigning/Onlinesigning.vue index 03254c8..0e6a111 100644 --- a/pagesC/Onlinesigning/Onlinesigning.vue +++ b/pagesC/Onlinesigning/Onlinesigning.vue @@ -1,267 +1,444 @@ diff --git a/pagesC/Signingagency/Signingagency.vue b/pagesC/Signingagency/Signingagency.vue deleted file mode 100644 index fb0b037..0000000 --- a/pagesC/Signingagency/Signingagency.vue +++ /dev/null @@ -1,343 +0,0 @@ - - - - - \ No newline at end of file diff --git a/pagesC/choosedoctor/choosedoctor.scss b/pagesC/choosedoctor/choosedoctor.scss new file mode 100644 index 0000000..9b02e45 --- /dev/null +++ b/pagesC/choosedoctor/choosedoctor.scss @@ -0,0 +1,125 @@ + page { + background-color: #F4F5F7; + } + + .app { + width: 100%; + + .inputs { + background-color: #fff; + margin: 20rpx auto; + box-shadow: 0rpx 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03); + border: 1px solid #f0f0f0; + width: 96%; + height: 65rpx; + margin: 10rpx 0 10rpx 50%; + transform: translateX(-50%); + border-radius: 5rpx; + background-color: #Ffffff; + z-index: 999; + + .input { + margin: 0 auto; + position: absolute; + height: 65rpx; + // top: 8%; + left: 10%; + width: 90%; + font-size: 26rpx; + color: #000000; + } + + .icon { + background: url(@/static/pagesB/sousuo.png) no-repeat; + width: 30rpx; + height: 28rpx; + background-size: cover; + position: absolute; + top: 30%; + left: 3%; + } + } + + .list { + background-color: #fff; + width: 96%; + margin: 20rpx auto; + + .item { + width: 96%; + margin: 0 auto; + padding-bottom: 60rpx; + border-bottom: 2rpx solid #E6E6E6; + position: relative; + height: 300rpx; + border-radius: 5rpx; + + .zixunbtn { + width: 169rpx; + height: 61rpx; + background: #26A888; + border-radius: 5rpx; + font-size: 28rpx; + font-weight: 400; + color: #FFFFFF; + line-height: 61rpx; + text-align: center; + position: absolute; + top: 65%; + right: 10rpx; + } + + .title { + position: absolute; + top: 70%; + left: 210rpx; + font-size: 18rpx; + font-weight: 500; + color: #FFA733; + line-height: 40rpx; + height: 40rpx; + background: #FFFFFF; + border: 1px solid #FFA115; + border-radius: 5rpx; + text-align: center; + padding: 0 15rpx; + } + + .address { + position: absolute; + top: 38%; + left: 210rpx; + font-size: 28rpx; + font-weight: 400; + color: #959595; + text-overflow: -o-ellipsis-lastline; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + line-clamp: 2; + -webkit-box-orient: vertical; + white-space: normal; + word-break: break-all; + } + + .name { + position: absolute; + font-size: 28rpx; + font-weight: 500; + color: #333333; + top: 20%; + left: 210rpx; + } + + image { + position: absolute; + top: 50%; + transform: translateY(-50%); + left: 5rpx; + width: 180rpx; + height: 180rpx; + } + } + } + } diff --git a/pagesC/choosedoctor/choosedoctor.vue b/pagesC/choosedoctor/choosedoctor.vue new file mode 100644 index 0000000..cc58b5d --- /dev/null +++ b/pagesC/choosedoctor/choosedoctor.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/pagesC/selectInstitution/selectInstitution.scss b/pagesC/selectInstitution/selectInstitution.scss new file mode 100644 index 0000000..e69de29 diff --git a/pagesC/selectInstitution/selectInstitution.vue b/pagesC/selectInstitution/selectInstitution.vue new file mode 100644 index 0000000..51e219f --- /dev/null +++ b/pagesC/selectInstitution/selectInstitution.vue @@ -0,0 +1,280 @@ + + + + +