From ba2249188ba37bb7495bd2b6503fb0a4c0d5de09 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9B=B9=E8=BE=89?= <814457906@qq.com>
Date: Tue, 28 Mar 2023 10:02:47 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=AC=A1=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
App.vue | 63 +++
api/Modifyinformation/Modifyinformation.js | 22 +
api/Mymission.js | 9 +
api/baseurl.js | 6 +
api/confirmCompletion/index.js | 9 +
api/forgotPassword/forgotPassword.js | 9 +
api/login/index.js | 16 +
api/personnal/personal.js | 7 +
api/register/index.js | 16 +
api/request.js | 54 +++
api/startup.js | 9 +
api/taskDetails.js | 11 +
api/taskReturn/index.js | 9 +
components/v-sign/utils.js | 15 +
components/v-sign/v-sign-action.vue | 162 ++++++++
components/v-sign/v-sign-pen.vue | 211 ++++++++++
components/v-sign/v-sign.vue | 238 +++++++++++
index.html | 20 +
main.js | 23 ++
manifest.json | 128 ++++++
package-lock.json | 27 ++
package.json | 12 +
pages.json | 123 ++++++
.../Modifyinformation/Modifyinformation.scss | 96 +++++
pages/Modifyinformation/Modifyinformation.vue | 196 +++++++++
pages/Mymission/Mymission.vue | 356 ++++++++++++++++
pages/confirmCompletion/confirmCompletion.vue | 329 +++++++++++++++
pages/forgotPassword/forgotPassword.scss | 74 ++++
pages/forgotPassword/forgotPassword.vue | 144 +++++++
pages/homepage/homepage.vue | 91 +++++
pages/login/login.scss | 33 ++
pages/login/login.vue | 86 ++++
pages/personal/personal.vue | 264 ++++++++++++
pages/register/register.scss | 172 ++++++++
pages/register/register.vue | 175 ++++++++
pages/register/text.vue | 384 ++++++++++++++++++
pages/signature/signature.vue | 49 +++
pages/startup/startup.vue | 60 +++
pages/taskDetails/taskDetails.scss | 120 ++++++
pages/taskDetails/taskDetails.vue | 100 +++++
pages/taskReturn/taskReturn.vue | 99 +++++
static/1024.png | Bin 0 -> 124358 bytes
static/autograph.png | Bin 0 -> 1571 bytes
static/detailed.png | Bin 0 -> 13871 bytes
static/dingdan.png | Bin 0 -> 2029 bytes
static/evaluated.png | Bin 0 -> 2019 bytes
static/finished.png | Bin 0 -> 1673 bytes
static/gb.png | Bin 0 -> 1253 bytes
static/headportrait.png | Bin 0 -> 2342 bytes
static/home.png | Bin 0 -> 3372 bytes
static/home1.png | Bin 0 -> 2236 bytes
static/homepagew.png | Bin 0 -> 1610 bytes
static/homepagews.png | Bin 0 -> 1610 bytes
static/jiantou.png | Bin 0 -> 1297 bytes
static/logo.png | Bin 0 -> 3357 bytes
static/noorder.png | Bin 0 -> 2577 bytes
static/order.png | Bin 0 -> 1443 bytes
static/person.png | Bin 0 -> 1632 bytes
static/pic.png | Bin 0 -> 729 bytes
static/radio.png | Bin 0 -> 2283 bytes
static/rowsright.png | Bin 0 -> 638 bytes
static/shopping.png | Bin 0 -> 2651 bytes
static/sousuo.png | Bin 0 -> 1512 bytes
static/users.png | Bin 0 -> 1942 bytes
static/userw.png | Bin 0 -> 1942 bytes
static/v-sign/clear.png | Bin 0 -> 6420 bytes
static/v-sign/next.png | Bin 0 -> 7319 bytes
static/v-sign/prev.png | Bin 0 -> 7356 bytes
static/v-sign/save.png | Bin 0 -> 3573 bytes
uni.scss | 77 ++++
70 files changed, 4104 insertions(+)
create mode 100644 App.vue
create mode 100644 api/Modifyinformation/Modifyinformation.js
create mode 100644 api/Mymission.js
create mode 100644 api/baseurl.js
create mode 100644 api/confirmCompletion/index.js
create mode 100644 api/forgotPassword/forgotPassword.js
create mode 100644 api/login/index.js
create mode 100644 api/personnal/personal.js
create mode 100644 api/register/index.js
create mode 100644 api/request.js
create mode 100644 api/startup.js
create mode 100644 api/taskDetails.js
create mode 100644 api/taskReturn/index.js
create mode 100644 components/v-sign/utils.js
create mode 100644 components/v-sign/v-sign-action.vue
create mode 100644 components/v-sign/v-sign-pen.vue
create mode 100644 components/v-sign/v-sign.vue
create mode 100644 index.html
create mode 100644 main.js
create mode 100644 manifest.json
create mode 100644 package-lock.json
create mode 100644 package.json
create mode 100644 pages.json
create mode 100644 pages/Modifyinformation/Modifyinformation.scss
create mode 100644 pages/Modifyinformation/Modifyinformation.vue
create mode 100644 pages/Mymission/Mymission.vue
create mode 100644 pages/confirmCompletion/confirmCompletion.vue
create mode 100644 pages/forgotPassword/forgotPassword.scss
create mode 100644 pages/forgotPassword/forgotPassword.vue
create mode 100644 pages/homepage/homepage.vue
create mode 100644 pages/login/login.scss
create mode 100644 pages/login/login.vue
create mode 100644 pages/personal/personal.vue
create mode 100644 pages/register/register.scss
create mode 100644 pages/register/register.vue
create mode 100644 pages/register/text.vue
create mode 100644 pages/signature/signature.vue
create mode 100644 pages/startup/startup.vue
create mode 100644 pages/taskDetails/taskDetails.scss
create mode 100644 pages/taskDetails/taskDetails.vue
create mode 100644 pages/taskReturn/taskReturn.vue
create mode 100644 static/1024.png
create mode 100644 static/autograph.png
create mode 100644 static/detailed.png
create mode 100644 static/dingdan.png
create mode 100644 static/evaluated.png
create mode 100644 static/finished.png
create mode 100644 static/gb.png
create mode 100644 static/headportrait.png
create mode 100644 static/home.png
create mode 100644 static/home1.png
create mode 100644 static/homepagew.png
create mode 100644 static/homepagews.png
create mode 100644 static/jiantou.png
create mode 100644 static/logo.png
create mode 100644 static/noorder.png
create mode 100644 static/order.png
create mode 100644 static/person.png
create mode 100644 static/pic.png
create mode 100644 static/radio.png
create mode 100644 static/rowsright.png
create mode 100644 static/shopping.png
create mode 100644 static/sousuo.png
create mode 100644 static/users.png
create mode 100644 static/userw.png
create mode 100644 static/v-sign/clear.png
create mode 100644 static/v-sign/next.png
create mode 100644 static/v-sign/prev.png
create mode 100644 static/v-sign/save.png
create mode 100644 uni.scss
diff --git a/App.vue b/App.vue
new file mode 100644
index 0000000..886dc42
--- /dev/null
+++ b/App.vue
@@ -0,0 +1,63 @@
+
+
+
diff --git a/api/Modifyinformation/Modifyinformation.js b/api/Modifyinformation/Modifyinformation.js
new file mode 100644
index 0000000..da9821b
--- /dev/null
+++ b/api/Modifyinformation/Modifyinformation.js
@@ -0,0 +1,22 @@
+import request from "../request.js"
+
+export function userPassWord(data) {
+ return request({
+ url: `/nurseApp/personLogin/userPassWord`,
+ method: 'POST',
+ data,
+ })
+}
+export function updateHeadAvatarHead(userId, File) {
+ return request({
+ url: `/nurseApp/personLogin/updateHeadAvatarHead?userId=${userId}&File=${File}`,
+ method: 'POST',
+ data,
+ })
+}
+export function nursePerson(phonenumber, password) {
+ return request({
+ url: `/nurseApp/personLogin/nursePerson?phonenumber=${phonenumber}&stationPersonPassword=${password}`,
+ method: 'GET'
+ })
+}
diff --git a/api/Mymission.js b/api/Mymission.js
new file mode 100644
index 0000000..838f627
--- /dev/null
+++ b/api/Mymission.js
@@ -0,0 +1,9 @@
+import request from "./request.js"
+
+
+export function selectMission(nursePersonId, orderStatus, pageNum, pageSize,nurseItemName) {
+ return request({
+ url: `/nurseApp/personLogin/selectMission?nursePersonId=${nursePersonId}&orderStatus=${orderStatus}&pageNum=${pageNum}&pageSize=${pageSize}&nurseItemName=${nurseItemName}`,
+ method: 'GET'
+ })
+}
diff --git a/api/baseurl.js b/api/baseurl.js
new file mode 100644
index 0000000..87ed2bd
--- /dev/null
+++ b/api/baseurl.js
@@ -0,0 +1,6 @@
+// var baseurl = "https://quanyidaojia.xinelu.cn";
+
+
+
+var baseurl = "http://192.168.16.49:8080";
+export default baseurl
diff --git a/api/confirmCompletion/index.js b/api/confirmCompletion/index.js
new file mode 100644
index 0000000..1094867
--- /dev/null
+++ b/api/confirmCompletion/index.js
@@ -0,0 +1,9 @@
+import request from "../request.js"
+
+export function orderConfirm(data) {
+ return request({
+ url: `/nurseApp/personLogin/orderConfirm`,
+ method: 'POST',
+ data
+ })
+}
diff --git a/api/forgotPassword/forgotPassword.js b/api/forgotPassword/forgotPassword.js
new file mode 100644
index 0000000..a48cfbc
--- /dev/null
+++ b/api/forgotPassword/forgotPassword.js
@@ -0,0 +1,9 @@
+import request from "../request.js"
+
+export function updatePassword(phonenumber, password) {
+ return request({
+ url: `/nurseApp/personLogin/updatePassword?phonenumber=${phonenumber}&stationPersonPassword=${password}`,
+ method: 'POST'
+ })
+}
+
diff --git a/api/login/index.js b/api/login/index.js
new file mode 100644
index 0000000..5864355
--- /dev/null
+++ b/api/login/index.js
@@ -0,0 +1,16 @@
+import request from "../request.js"
+
+//密码
+export function appLogin(phonenumber, stationPersonPassword) {
+ return request({
+ url: `/nurseApp/personLogin/appLogin?phonenumber=${phonenumber}&stationPersonPassword=${stationPersonPassword}`,
+ method: 'POST'
+ })
+}
+
+export function createMobileToken() {
+ return request({
+ url: `/nurseApplet/authorization/createMobileToken`,
+ method: 'GET'
+ })
+}
diff --git a/api/personnal/personal.js b/api/personnal/personal.js
new file mode 100644
index 0000000..b8e825d
--- /dev/null
+++ b/api/personnal/personal.js
@@ -0,0 +1,7 @@
+import request from "../request.js"
+export function nursePerson(phonenumber,password) {
+ return request({
+ url: `/nurseApp/personLogin/nursePerson?phonenumber=${phonenumber}&stationPersonPassword=${password}`,
+ method: 'GET'
+ })
+}
diff --git a/api/register/index.js b/api/register/index.js
new file mode 100644
index 0000000..2a6346f
--- /dev/null
+++ b/api/register/index.js
@@ -0,0 +1,16 @@
+import request from "../request.js"
+
+export function nurseAppLoginSysUser(data) {
+ return request({
+ url: `/nurseApp/personLogin/nurseAppLoginSysUser`,
+ method: 'POST',
+ data,
+ })
+}
+
+export function personNurseStationLists(pageNum,pageSize) {
+ return request({
+ url: `/nurseApp/personLogin/personNurseStationLists?pageNum=${pageNum}&pageSize=${pageSize}`,
+ method: 'get'
+ })
+}
diff --git a/api/request.js b/api/request.js
new file mode 100644
index 0000000..31de474
--- /dev/null
+++ b/api/request.js
@@ -0,0 +1,54 @@
+import baseurl from './baseurl.js'
+
+var request = function(config) {
+ return new Promise((resolve, rejected) => {
+ uni.showLoading({
+ title: ''
+ });
+ uni.request({
+ url: baseurl + config.url,
+ data: config.data,
+ method: config.method,
+ timeout: 10000,
+ header: {
+ Authorization: 'Bearer' + ' ' + uni.getStorageSync('token')
+ },
+ success(res) {
+ if (res.data.code == 9999) {
+ uni.removeStorageSync('token');
+ // uni.reLaunch({
+ // url: '/pages/login/login'
+ // })
+ uni.showModal({
+ title: "登录提示",
+ content: '登录失效,请重新登录',
+ success(res1) {
+ if (res1.confirm) {
+ uni.navigateTo({
+ url: '/pages/login/login'
+ })
+ } else if (res1.cancel) {
+ uni.reLaunch({
+ url: '/pages/homepage/homepage'
+ })
+ }
+ },
+ fail(err1) {
+ uni.reLaunch({
+ url: '/pages/homepage/homepage'
+ })
+ }
+ })
+ }
+ uni.hideLoading();
+ resolve(res.data)
+ },
+ fail(err) {
+ uni.hideLoading();
+ rejected(err)
+ }
+ })
+ })
+}
+
+export default request
diff --git a/api/startup.js b/api/startup.js
new file mode 100644
index 0000000..b4bdb03
--- /dev/null
+++ b/api/startup.js
@@ -0,0 +1,9 @@
+import request from "./request.js"
+
+
+export function appFileInfoByOneId() {
+ return request({
+ url: `/nurseApplet/uploadFile/appFileInfoByOneId`,
+ method: 'GET'
+ })
+}
diff --git a/api/taskDetails.js b/api/taskDetails.js
new file mode 100644
index 0000000..876dff8
--- /dev/null
+++ b/api/taskDetails.js
@@ -0,0 +1,11 @@
+import request from "./request.js"
+
+// 任务详情
+
+export function taskDetails(orderDetailsId) {
+ return request({
+ url: `/nurseApp/personLogin/taskDetails?&orderDetailsId=${orderDetailsId}`,
+ method: 'GET'
+ })
+}
+
diff --git a/api/taskReturn/index.js b/api/taskReturn/index.js
new file mode 100644
index 0000000..386b64c
--- /dev/null
+++ b/api/taskReturn/index.js
@@ -0,0 +1,9 @@
+import request from "../request.js"
+
+
+export function orderFallback(orderNo, taskReturnReason) {
+ return request({
+ url: `/nurseApp/personLogin/orderFallback?orderNo=${orderNo}&taskReturnReason=${taskReturnReason}`,
+ method: 'POST'
+ })
+}
diff --git a/components/v-sign/utils.js b/components/v-sign/utils.js
new file mode 100644
index 0000000..a5a9ab7
--- /dev/null
+++ b/components/v-sign/utils.js
@@ -0,0 +1,15 @@
+/**
+ * 判断是否未数值
+ * @param {Object} val
+ */
+export function isNumber(val) {
+ return !isNaN(Number(val))
+}
+
+/**
+ * 处理大小单位
+ * @param {Object} val
+ */
+export function formatSize(val) {
+ return isNumber(val) ? `${val}rpx` : val
+}
diff --git a/components/v-sign/v-sign-action.vue b/components/v-sign/v-sign-action.vue
new file mode 100644
index 0000000..65d11d1
--- /dev/null
+++ b/components/v-sign/v-sign-action.vue
@@ -0,0 +1,162 @@
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
diff --git a/components/v-sign/v-sign-pen.vue b/components/v-sign/v-sign-pen.vue
new file mode 100644
index 0000000..9c26a66
--- /dev/null
+++ b/components/v-sign/v-sign-pen.vue
@@ -0,0 +1,211 @@
+
+
+ {{ label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/v-sign/v-sign.vue b/components/v-sign/v-sign.vue
new file mode 100644
index 0000000..afb3020
--- /dev/null
+++ b/components/v-sign/v-sign.vue
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..c3ff205
--- /dev/null
+++ b/index.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/main.js b/main.js
new file mode 100644
index 0000000..37e8faf
--- /dev/null
+++ b/main.js
@@ -0,0 +1,23 @@
+import App from './App'
+
+// #ifndef VUE3
+import Vue from 'vue'
+import uView from "uview-ui";
+Vue.use(uView);
+Vue.config.productionTip = false
+App.mpType = 'app'
+const app = new Vue({
+ ...App
+})
+app.$mount()
+// #endif
+
+// #ifdef VUE3
+import { createSSRApp } from 'vue'
+export function createApp() {
+ const app = createSSRApp(App)
+ return {
+ app
+ }
+}
+// #endif
\ No newline at end of file
diff --git a/manifest.json b/manifest.json
new file mode 100644
index 0000000..fb90404
--- /dev/null
+++ b/manifest.json
@@ -0,0 +1,128 @@
+{
+ "name" : "泉医到家护理员",
+ "appid" : "__UNI__9FA8ADB",
+ "description" : "",
+ "versionName" : "1.0.0",
+ "versionCode" : 100,
+ "transformPx" : false,
+ /* 5+App特有相关 */
+ "app-plus" : {
+ "usingComponents" : true,
+ "nvueStyleCompiler" : "uni-app",
+ "compilerVersion" : 3,
+ "splashscreen" : {
+ "alwaysShowBeforeRender" : true,
+ "waiting" : true,
+ "autoclose" : true,
+ "delay" : 0
+ },
+ /* 模块配置 */
+ "modules" : {
+ "Geolocation" : {},
+ "Maps" : {},
+ "Camera" : {}
+ },
+ /* 应用发布信息 */
+ "distribute" : {
+ /* android打包配置 */
+ "android" : {
+ "permissions" : [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ /* ios打包配置 */
+ "ios" : {
+ "dSYMs" : false
+ },
+ /* SDK配置 */
+ "sdkConfigs" : {
+ "ad" : {},
+ "geolocation" : {
+ "amap" : {
+ "__platform__" : [ "ios", "android" ],
+ "appkey_ios" : "fa38860a5159a551b6819ea3092a68f3",
+ "appkey_android" : "fa38860a5159a551b6819ea3092a68f3"
+ }
+ },
+ "maps" : {
+ "amap" : {
+ "appkey_ios" : "fa38860a5159a551b6819ea3092a68f3",
+ "appkey_android" : "fa38860a5159a551b6819ea3092a68f3"
+ }
+ }
+ },
+ "icons" : {
+ "android" : {
+ "hdpi" : "",
+ "xhdpi" : "",
+ "xxhdpi" : "",
+ "xxxhdpi" : ""
+ },
+ "ios" : {
+ "appstore" : "",
+ "ipad" : {
+ "app" : "",
+ "app@2x" : "",
+ "notification" : "",
+ "notification@2x" : "",
+ "proapp@2x" : "",
+ "settings" : "",
+ "settings@2x" : "",
+ "spotlight" : "",
+ "spotlight@2x" : ""
+ },
+ "iphone" : {
+ "app@2x" : "",
+ "app@3x" : "",
+ "notification@2x" : "",
+ "notification@3x" : "",
+ "settings@2x" : "",
+ "settings@3x" : "",
+ "spotlight@2x" : "",
+ "spotlight@3x" : ""
+ }
+ }
+ }
+ }
+ },
+ /* 快应用特有相关 */
+ "quickapp" : {},
+ /* 小程序特有相关 */
+ "mp-weixin" : {
+ "appid" : "",
+ "setting" : {
+ "urlCheck" : false
+ },
+ "usingComponents" : true,
+ "permission" : {}
+ },
+ "mp-alipay" : {
+ "usingComponents" : true
+ },
+ "mp-baidu" : {
+ "usingComponents" : true
+ },
+ "mp-toutiao" : {
+ "usingComponents" : true
+ },
+ "uniStatistics" : {
+ "enable" : false
+ },
+ "vueVersion" : "2",
+ "locale" : "zh-Hans",
+ "fallbackLocale" : "zh-Hans"
+}
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..12f84de
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,27 @@
+{
+ "name": "签名组件-兼容H5、小程序、APP",
+ "version": "1.0.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "签名组件-兼容H5、小程序、APP",
+ "version": "1.0.0",
+ "dependencies": {
+ "uview-ui": "^1.8.4"
+ }
+ },
+ "node_modules/uview-ui": {
+ "version": "1.8.4",
+ "resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-1.8.4.tgz",
+ "integrity": "sha512-Zr+D5dFdNy6CdHQLBEXeGq/w0LkjxzBtsgaaDwLl0P58g67H7fBBDvy6AzWK/k0c7dwPYMBiK7I4Tr9p92+0DA=="
+ }
+ },
+ "dependencies": {
+ "uview-ui": {
+ "version": "1.8.4",
+ "resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-1.8.4.tgz",
+ "integrity": "sha512-Zr+D5dFdNy6CdHQLBEXeGq/w0LkjxzBtsgaaDwLl0P58g67H7fBBDvy6AzWK/k0c7dwPYMBiK7I4Tr9p92+0DA=="
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..d5f0107
--- /dev/null
+++ b/package.json
@@ -0,0 +1,12 @@
+{
+ "id": "sin-signature",
+ "name": "签名组件-兼容H5、小程序、APP",
+ "version": "1.0.0",
+ "description": "用于uni-app的签名组件,支持H5、小程序、APP,可导出svg矢量图片。",
+ "keywords": [
+ "签名,签字,svg,canvas"
+ ],
+ "dependencies": {
+ "uview-ui": "^1.8.4"
+ }
+}
diff --git a/pages.json b/pages.json
new file mode 100644
index 0000000..8406c08
--- /dev/null
+++ b/pages.json
@@ -0,0 +1,123 @@
+{
+ "easycom": {
+ "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
+ },
+ "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+ {
+ "path": "pages/startup/startup",
+ "style": {
+ "navigationBarTitleText": "启动页",
+ "navigationStyle": "custom"
+ }
+ }, {
+ "path": "pages/login/login",
+ "style": {
+ "navigationBarTitleText": "登录",
+ "navigationBarBackgroundColor": "#ffffff", //背景颜色
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/confirmCompletion/confirmCompletion",
+ "style": {
+ "navigationBarTitleText": "完成确认",
+ "navigationBarBackgroundColor": "#ffffff" //背景颜色
+ }
+ }, {
+ "path": "pages/personal/personal",
+ "style": {
+ "navigationBarTitleText": "个人信息",
+ "enablePullDownRefresh": false,
+ "navigationBarBackgroundColor": "#4C7BC9",
+ "navigationBarTextStyle": "white"
+ }
+ }, {
+ "path": "pages/forgotPassword/forgotPassword",
+ "style": {
+ "navigationBarTitleText": "忘记密码",
+ "navigationBarBackgroundColor": "#ffffff" //背景颜色
+ }
+ }, {
+ "path": "pages/register/register",
+ "style": {
+ "navigationBarTitleText": "注册账号",
+ "navigationBarBackgroundColor": "#ffffff" //背景颜色
+ }
+ }, {
+ "path": "pages/homepage/homepage",
+ "style": {
+ "navigationBarTitleText": "",
+ "navigationBarBackgroundColor": "#ffffff", //背景颜色
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/taskReturn/taskReturn",
+ "style": {
+ "navigationBarTitleText": "任务退回",
+ "enablePullDownRefresh": false,
+ "navigationBarBackgroundColor": "#ffffff" //背景颜色
+ }
+
+ }, {
+ "path": "pages/Mymission/Mymission",
+ "style": {
+ "navigationBarTitleText": "我的任务",
+ "navigationBarBackgroundColor": "#ffffff", //背景颜色
+ "onReachBottomDistance": 20, //距离底部多远时触发 单位为px
+ "enablePullDownRefresh": true //设置参数为true
+ }
+
+ }, {
+ "path": "pages/taskDetails/taskDetails",
+ "style": {
+ "navigationBarTitleText": "任务详情",
+ "enablePullDownRefresh": false,
+ "navigationBarBackgroundColor": "#ffffff" //背景颜色
+ }
+
+ },
+ {
+ "path": "pages/Modifyinformation/Modifyinformation",
+ "style": {
+ "navigationBarTitleText": "修改信息",
+ "enablePullDownRefresh": false,
+ "navigationBarBackgroundColor": "#ffffff" //背景颜色
+ // "navigationBarTextStyle": "white"
+ }
+ }, {
+ "path": "pages/signature/signature",
+ "style": {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false
+ }
+
+ }
+ ],
+ "globalStyle": {
+ "navigationBarTextStyle": "black",
+ "navigationBarTitleText": "",
+ "navigationBarBackgroundColor": "#F8F8F8",
+ "backgroundColor": "#F8F8F8"
+ },
+ "uniIdRouter": {},
+ "tabBar": {
+ "color": "#7A7E83",
+ "selectedColor": "#435950",
+ "borderStyle": "black",
+ "backgroundColor": "#ffffff",
+ "list": [{
+ "pagePath": "pages/homepage/homepage",
+ "iconPath": "static/homepagew.png",
+ "selectedIconPath": "static/homepagews.png",
+ "text": "首页"
+ },
+ {
+ "pagePath": "pages/personal/personal",
+ "iconPath": "static/userw.png",
+ "selectedIconPath": "static/users.png",
+ "text": "我的"
+ }
+ ]
+ }
+}
diff --git a/pages/Modifyinformation/Modifyinformation.scss b/pages/Modifyinformation/Modifyinformation.scss
new file mode 100644
index 0000000..9135d1c
--- /dev/null
+++ b/pages/Modifyinformation/Modifyinformation.scss
@@ -0,0 +1,96 @@
+.app {
+ background-color: #F4F5F7;
+ width: 100%;
+ height: 100vh;
+ color: #000000;
+ padding: 3%;
+ font-size: 34rpx;
+ .title{
+ font-size: 28rpx;
+ margin: 20rpx 20rpx 0;
+ }
+ .finish {
+ width: 217rpx;
+ color: #FFFFFF;
+ height: 68rpx;
+ line-height: 68rpx;
+ text-align: center;
+ position: absolute;
+ top: 70%;
+ left: 70%;
+ background: #4C7BC9;
+ border-radius: 26rpx;
+ }
+
+ .centercontent {
+ width: 99%;
+ background: #FFFFFF;
+ box-shadow: 0rpx 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
+ border-radius: 20rpx;
+ margin: 0 auto;
+ padding-bottom: 10rpx;
+ .content {
+ line-height: 100rpx;
+ .name {
+ margin-left: 20rpx;
+ height: 100rpx;
+ line-height: 100rpx;
+ border-bottom: 1rpx solid #D8D4D4;
+ position: relative;
+
+ span {
+ display: inline-block;
+ width: 20%;
+ }
+
+ input {
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+ line-height: 100rpx;
+ display: inline-block;
+ width: 80%;
+ font-size: 34rpx;
+
+ }
+ }
+
+ .nursetype {
+ padding-bottom: 20rpx;
+ border: none;line-height: 50rpx;margin: 20rpx 20rpx;
+ }
+ }
+
+ .Commodity {
+ line-height: 130rpx;
+ margin-left: 20rpx;
+ border-bottom: 1rpx solid #D8D4D4;
+ position: relative;
+
+ .picture {
+ position: absolute;
+ right: 10%;
+ top: 50%;
+ transform: translateY(-50%);
+ width: 110rpx;
+ height: 110rpx;
+ border-radius: 50%;
+ }
+
+ .pictureA {
+ position: absolute;
+ right: 2%;
+ top: 50%;
+ transform: translateY(-50%);
+ width: 18rpx;
+ height: 27rpx;
+ }
+
+ .head {
+ line-height: 140rpx;
+ margin-left: 5%;
+ display: inline-block;
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/pages/Modifyinformation/Modifyinformation.vue b/pages/Modifyinformation/Modifyinformation.vue
new file mode 100644
index 0000000..2963ceb
--- /dev/null
+++ b/pages/Modifyinformation/Modifyinformation.vue
@@ -0,0 +1,196 @@
+
+
+
+
+ 头像
+
+
+
+
+
+ 姓名:
+
+
+
+
+ 账号:
+
+
+
+
+ 电话:
+
+
+
+ 护理站:
+ {{uitem.nurseStationName}}
+ ,
+
+
+
+
+
+
+ 注:只可修改姓名和头像
+
+ 完成
+
+
+
+
+
+
+
+
diff --git a/pages/Mymission/Mymission.vue b/pages/Mymission/Mymission.vue
new file mode 100644
index 0000000..bf5d6a9
--- /dev/null
+++ b/pages/Mymission/Mymission.vue
@@ -0,0 +1,356 @@
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+ {{item.serviceDate}} {{item.serviceStartTime}}-{{item.serviceEndTime}}
+ 待完成
+
+
+
+
+ {{item.nurseItemName}}
+
+
+ 服务时长:{{item.itemServeDurationUnit}}
+
+
+ ¥{{item.totalPrice}}
+
+
+
+ 详情
+ 去完成
+
+
+
+ {{item.serviceDate}} {{item.serviceStartTime}}-{{item.serviceEndTime}}
+ 已完成
+
+
+
+
+ {{item.nurseItemName}}
+
+
+ 服务时长:{{item.itemServeDurationUnit}}
+
+
+ ¥{{item.totalPrice}}
+
+
+
+
+
+
+
+
+
+
+ 暂无待完成服务
+
+
+
+
+
+
+ 暂无已完成服务
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/confirmCompletion/confirmCompletion.vue b/pages/confirmCompletion/confirmCompletion.vue
new file mode 100644
index 0000000..f94388f
--- /dev/null
+++ b/pages/confirmCompletion/confirmCompletion.vue
@@ -0,0 +1,329 @@
+
+
+
+
+ 护理员到岗照片
+
+
+
+ 拍摄照片
+
+
+
+
+
+
+
+
+ 服务结束照片
+
+
+
+ 拍摄照片
+
+
+
+
+
+
+
+ 用户签名确认
+
+
+ 我确认已接受服务
+
+
+
+
+ 点此签名
+
+
+
+
+
+
+ 去完成
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/forgotPassword/forgotPassword.scss b/pages/forgotPassword/forgotPassword.scss
new file mode 100644
index 0000000..f5f1a96
--- /dev/null
+++ b/pages/forgotPassword/forgotPassword.scss
@@ -0,0 +1,74 @@
+ .app {
+ height: 100vh;
+ padding: 20rpx 0;
+
+ .item {
+ font-size: 34rpx;
+ margin: 0 auto 20rpx;
+ width: 94%;
+ height: 100rpx;
+ line-height: 100rpx;
+ background-color: #fff;
+ box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
+ border-radius: 20rpx;
+ position: relative;
+
+ .lefttext {
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+ left: 3%;
+ }
+
+ .righttext {
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+ left: 18%;
+ height: 100rpx;
+ }
+
+ .lefttext,
+ .righttext {
+ ::v-deep .uni-input-input {
+ font-size: 34rpx;
+ }
+
+ ::v-deep .uni-input-wrapper {
+ height: 100rpx;
+ line-height: 100rpx;
+ }
+
+ ::v-deep .uni-input-placeholder {
+ line-height: 100rpx;
+ font-size: 34rpx;
+ font-weight: 400;
+ color: #C3C1C1;
+ }
+ }
+
+ .obtaincode {
+ text-align: center;
+ font-size: 36rpx;
+ color: #4C7BC9;
+ line-height: 100rpx;
+ position: absolute;
+ right: 5%;
+ top: 0%;
+ }
+ }
+
+ .loginbtn {
+ width: 80%;
+ height: 100rpx;
+ text-align: center;
+ line-height: 100rpx;
+ background: #4C7BC9;
+ border-radius: 51rpx;
+ font-size: 41rpx;
+ color: #FFFFFF;
+ position: absolute;
+ top: 40%;
+ left: 10%;
+ }
+ }
\ No newline at end of file
diff --git a/pages/forgotPassword/forgotPassword.vue b/pages/forgotPassword/forgotPassword.vue
new file mode 100644
index 0000000..6076e1a
--- /dev/null
+++ b/pages/forgotPassword/forgotPassword.vue
@@ -0,0 +1,144 @@
+
+
+
+
+ 输入新密码
+
+
+
+
+
+ 重复新密码
+
+
+
+
+
+ 手机号
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
diff --git a/pages/homepage/homepage.vue b/pages/homepage/homepage.vue
new file mode 100644
index 0000000..40703f0
--- /dev/null
+++ b/pages/homepage/homepage.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+ 我的任务
+
+
+
+
+
+ 个人信息
+
+
+
+
+
+
+
+
+
diff --git a/pages/login/login.scss b/pages/login/login.scss
new file mode 100644
index 0000000..43988db
--- /dev/null
+++ b/pages/login/login.scss
@@ -0,0 +1,33 @@
+ .app {
+ font-family: DengXian;
+ color: #C3C1C1;
+ font-weight: 400;
+ height:100vh;
+ background-color: #ffffff;
+ .title{
+ position: absolute;
+ top:20%;
+ left:50%;
+ transform: translateX(-50%);
+ .text{
+ text-align: center;
+ padding-top: 30rpx;
+ font-size: 32rpx;
+ color: #000000;
+ font-weight: 600;
+ }
+ image{
+ width: 200rpx;
+ height: 200rpx;
+ }
+ }
+
+ .loginbtn{
+ width: 90%;
+ position: absolute;
+ top:55%;
+ left:5%;
+ background-color: #46ABD7;
+ color: #ffffff;
+ }
+ }
diff --git a/pages/login/login.vue b/pages/login/login.vue
new file mode 100644
index 0000000..0821b77
--- /dev/null
+++ b/pages/login/login.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
+ 泉医到家
+
+
+
+
+
+
+
+
+
diff --git a/pages/personal/personal.vue b/pages/personal/personal.vue
new file mode 100644
index 0000000..1f12b67
--- /dev/null
+++ b/pages/personal/personal.vue
@@ -0,0 +1,264 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{appPersonallist.userName}}
+
+
+ 修改信息
+
+
+
+
+
+ 姓名:{{appPersonallist.nickName}}
+
+
+ 电话:{{appPersonallist.phonenumber }}
+
+
+ 护理站:
+ {{uitem.nurseStationName}}
+ ,
+
+
+
+ 退出账号
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/register/register.scss b/pages/register/register.scss
new file mode 100644
index 0000000..5eb087a
--- /dev/null
+++ b/pages/register/register.scss
@@ -0,0 +1,172 @@
+.app {
+ height: 100vh;
+ padding: 20rpx 0;
+ .Agreement{
+ width: 100%;
+ background-color: #F4F5F7;
+ text-align: center;
+ height: 1000rpx;
+ position: absolute;
+ // left:3%;
+ top:5%;
+ font-size: 30rpx;
+ .title{
+ height: 100rpx;
+ line-height: 100rpx;
+ border-bottom: 1px solid #eeeeee;
+ font-size: 34rpx;
+ margin: 0px auto;
+ width: 100%;
+ text-align: center;
+ }
+ .scroll-Y{
+ height:830rpx ;
+ overflow-y:scroll;
+ text-align: left;
+ text-indent: 2em;
+ }
+ .cancel {
+ height:70rpx;
+ line-height: 70rpx;
+ font-size: 32rpx;
+ background-color: #F4F5F7;
+ position: absolute;
+ border-top: 1rpx solid #000000;
+ bottom:0;
+ right:0;
+ width: 50%;
+ color: #000000;
+ }
+ .determine {
+ height:70rpx;
+ line-height: 70rpx;
+ font-size: 32rpx;
+ width: 50%;
+ color: #F4F5F7;
+ background: #4C7BC9;
+ position: absolute;
+ bottom:0;
+ left:0;
+ }
+ }
+ .item {
+ font-size: 34rpx;
+ margin: 0 auto 20rpx;
+ width: 94%;
+ height: 100rpx;
+ line-height: 100rpx;
+ background-color: #fff;
+ box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
+ border-radius: 20rpx;
+ position: relative;
+
+ span {
+ margin-left: 3%;
+ }
+
+ .addition {
+ line-height: 100rpx;
+ font-size: 34rpx;
+ font-weight: 400;
+ margin-left: 3%;
+ }
+
+ .lefttext {
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+ left: 3%;
+ }
+
+ .righttext {
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+ left: 18%;
+ height: 100rpx;
+ }
+
+ .lefttext,
+ .righttext {
+ ::v-deep .uni-input-input {
+ font-size: 34rpx;
+ }
+
+ ::v-deep .uni-input-wrapper {
+ height: 100rpx;
+ line-height: 100rpx;
+ }
+
+ ::v-deep .uni-input-placeholder {
+ line-height: 100rpx;
+ font-size: 34rpx;
+ font-weight: 400;
+ color: #C3C1C1;
+ }
+ }
+
+
+ }
+
+ .radio-content {
+ margin: 50rpx auto;
+ width: 70%;
+ text-align: center;
+ font-size: 28rpx;
+ position: relative;
+ .agreement {
+ position: absolute;
+ top:50%;
+ left:20%;
+ transform: translateY(-50%);
+ color: #878987;
+ }
+ .radio-right {
+ height: 100rpx;
+
+ .radio {
+ display: inline-block;
+ width: 35rpx;
+ height: 35rpx;
+ border-radius: 70%;
+ border: 2rpx solid #178ffb;
+ position: absolute;
+ top:50%;
+ left:5%;
+ transform: translateY(-50%);
+ .radio-active {
+ width: 16rpx;
+ height: 16rpx;
+ border-radius: 50%;
+ background-color: #178ffb;
+ margin-left: 26%;
+ margin-top: 22%;
+ // margin: 0 auto;
+ }
+ }
+ }
+ }
+
+ .switch {
+ text-align: center;
+ line-height: 60rpx;
+ color: #46ABD7;
+ position: absolute;
+ top: 70%;
+ }
+
+ .loginbtn {
+ width: 70%;
+ height: 100rpx;
+ text-align: center;
+ line-height: 100rpx;
+ background: #4C7BC9;
+ border-radius: 51rpx;
+ font-size: 41rpx;
+ color: #FFFFFF;
+ position: absolute;
+ top: 60%;
+ left: 15%;
+ }
+
+ }
\ No newline at end of file
diff --git a/pages/register/register.vue b/pages/register/register.vue
new file mode 100644
index 0000000..5962ba2
--- /dev/null
+++ b/pages/register/register.vue
@@ -0,0 +1,175 @@
+
+
+
+
+ 姓名
+
+
+
+
+
+ 输入密码
+
+
+
+
+
+ 重复密码
+
+
+
+
+
+ 手机号
+
+
+
+
+ 护理站
+ {{nurseStationName}}
+
+
+
+
+
+
+
+ 我已阅读并同意《用户协议》
+
+
+ 注册
+
+
+ 已有账号,去登录
+
+
+
+
+
+
+
+ 用户协议与隐私政策
+
+
+
+
+
+ 取消
+
+
+ 确定并同意
+
+
+
+
+
+
+
+
diff --git a/pages/register/text.vue b/pages/register/text.vue
new file mode 100644
index 0000000..8fa9249
--- /dev/null
+++ b/pages/register/text.vue
@@ -0,0 +1,384 @@
+
+
+ 泉医到家(简称“我们”)深知个人信息对您的重要性,也感谢您对我们的信任。
+ 我们将通过本政策向您说明我们如何收集、存储、保护、使用及对外提供您的信息,并说明您享有的权利,其中要点如下:
+
+ 1、为了便于您了解您在使用我们的服务时,我们需要收集的信息类型与用途,我们将结合具体服务向您逐一说明;
+
+
+ 2、为了向您提供服务所需,我们会按照合法、正当、必要的原则收集您的信息;
+
+
+ 3、如果为了向您提供服务而需要将您的信息共享至第三方,我们将评估第三方收集信息的合法性、正当性、必要性。我们将要求第三方对您的信息采取保护措施并且严格遵守相关法律法规与监管要求。另外,我们会按照法律法规及国家标准的要求以确认协议、具体场景下的文案确认、弹窗提示等形式征得您的同意或确认第三方已征得您的同意;
+
+
+ 4、如果为了向您提供服务而需要从第三方获取您的信息,我们将要求第三方说明信息来源,并要求第三方保障其提供信息的合法性;如果我们开展业务、提供服务需进行的个人信息处理活动超出您原本向第三方提供个人信息的授权范围,我们将征得您的明确同意;
+
+
+ 5 、您可以通过本隐私政策介绍的方式访问和管理您的信息、设置隐私功能或进行投诉举报。
+
+
+ 您可以根据以下索引阅读相应章节,进一步了解本政策的具体约定:
+
+ 一、我们如何收集和使用个人信息
+ 二、我们对Cookie(或同类技术)的使用
+ 三、我们如何存储个人信息
+ 四、我们如何共享、转让、公开披露个人信息
+ 五、我们如何保护个人信息的安全
+ 六、您的权利
+ 七、未成年人使用条款
+ 八、隐私政策的修订和通知
+ 九、适用范围
+ 十、第三方软件开发包(SDK)个人信息收集情况
+ 十一、联系我们
+ 我们将按照法律规定,保护您的个人信息及隐私安全。我们制定本“隐私政策”并特别提示:希望您在使用泉医到家及相关服务前仔细阅读并理解本隐私政策,以便做出适当的选择。
+
+ 一、我们如何收集和使用个人信息
+
+
+ 在您使用“泉医到家”及服务的过程中,我们将根据合法、正当、必要的原则,收集信息。我们收集或您提供的信息将用于:
+
+
+ 1.保障产品的正常基础运行;
+
+ 2.实现各项功能和服务;
+ 3.优化、改善产品和服务;
+ 4.保障产品、服务以及用户使用安全;
+ 5.遵循法律法规与国家标准的规定。
+ (一)我们直接收集与使用的个人信息
+ 我们会按照如下方式收集您在使用服务时主动提供的,以及通过自动化手段收集您在使用功能或接受服务过程中产生的信息:
+ 1.保障“泉医到家”和相关服务的正常运行
+
+ 当您使用“泉医到家”及相关服务时,为了保障软件与服务的正常运行,我们会收集您的硬件型号、操作系统版本号、国际移动设备识别码(IMEI)、网络设备硬件地址(MAC)、IP地址、软件版本号、网络接入方式及类型、操作日志、电话状态等信息。请您了解,这些信息是我们提供服务和保障产品正常运行所必须收集的基本信息。
+
+ 2.注册、认证、登录“泉医到家”和相关服务
+
+ (1)当您注册、登录“泉医到家”及相关服务时,您可以通过手机号创建账号,我们将通过发送短信验证码来验证您的身份是否有效,并且您可以完善相关的网络身份识别信息(如头像、昵称和密码),收集这些信息是为了帮助您完成注册。您还可以根据自身需求选择填写性别、生日等信息完善您的个人信息。
+
+
+ (2)您也可以使用第三方账号(如微信)登录进入泉医到家,您此时将授权我们获取您在第三方平台注册的公开信息(头像、昵称等),并在您同意本隐私政策后将您的第三方账号与您的泉医到家账号绑定,使您可以通过第三方账号直接登录并使用本产品和相关服务。
+
+ 3.获得您的明示同意后的地理位置信息
+ 在本地频道中,我们会基于IP地址对应的城市(如:济南)向您展示、推荐您所在地区的本地相关信息。
+ 拒绝提供地理位置信息,我们将不会基于地理位置向您推送信息,但不会影响“泉医到家”其他功能与服务的正常使用。
+ 4.为您提供信息发布功能或服务
+ 您发布内容、评论、提问或回答时,我们将收集您发布的信息,并展示您的昵称、头像、发布内容等。
+ 您使用上传图片、发布音视频功能时,我们会请求您授权相机、照片、麦克风等敏感权限。您如果拒绝授权提供,将无法使用此功能,但不影响您正常使用“泉医到家”的其他功能。
+ 您发布信息并选择显示位置时,我们会请求您授权地理位置权限,并收集与本服务相关的位置信息。这些技术包括 IP 地址、GPS 以及能够提供相关信息的
+ WI-FI接入点、蓝牙和基站等传感器技术。您如果拒绝授权提供,将无法使用此功能,但不影响您正常使用“泉医到家”的其他功能。
+
+ 我们会将缓存写入外置存储器,为此需要您授权外置存储器读写权限。
+
+
+ 5.为您提供搜索服务
+
+
+ 您使用“泉医到家”的搜索服务时,我们会收集您的搜索关键字信息、日志记录等。为了提供高效的搜索服务,部分前述信息会暂时存储在您的本地存储设备之中,并可向您展示搜索结果内容、搜索历史记录。
+
+
+ 6.保障产品、服务及用户使用安全
+
+
+ 为帮助我们更好地了解“泉医到家”及相关服务的运行情况,以便确保运行与提供服务的安全,我们可能记录网络日志信息,以及使用软件及相关服务的频率、崩溃数据、总体安装、使用情况、性能数据等信息。
+
+
+ 7.为您提供意见反馈服务
+
+
+ 为了确认您的身份信息及在处理完您的意见反馈后便于向您回复,需要您提交意见反馈时填写您的电话或QQ或邮箱等。此信息仅用于确认身份及回复您使用。
+
+
+ (二)我们可能从第三方获得的您的个人信息
+
+
+ 1.当您主动使用第三方账号登录“泉医到家”时,我们会收集第三方账号的昵称、头像等信息。
+
+
+ 2.用户因使用我们的产品或者服务而被我们收集的信息,例如其他用户发布的信息中可能含有您的部分信息(如:在评论、留言、发布图文、音视频中涉及到与您相关的信息)。
+
+
+ (三)收集、使用个人信息目的变更的处理
+
+
+ 请您了解,随着我们业务的发展,可能会对“泉医到家”的功能和提供的服务有所调整变化。原则上,当新功能或服务与发布信息、互动交流、搜索查询、注册认证等场景相关时,收集与使用的个人信息将与原处理目的具有直接或合理关联。在与原处理目的无直接或合理关联的场景下,我们收集、使用您的个人信息,会再次进行告知,并征得您的同意。
+
+
+ (四)依法豁免征得同意收集和使用的个人信息
+
+ 请您理解,在下列情形中,根据法律法规及相关国家标准,我们收集和使用您的个人信息无需征得您的授权同意:
+ (1)与国家安全、国防安全直接相关的;
+ (2)与公共安全、公共卫生、重大公共利益直接相关的;
+ (3)与犯罪侦查、起诉、审判和判决执行等直接相关的;
+ (4)出于维护个人信息主体或其他个人的生命、财产等重大合法权益但又很难得到本人同意的;
+ (5)所收集的您的个人信息是您自行向社会公众公开的;
+ (6)从合法公开披露的信息中收集的您的个人信息的,如合法的新闻报道、政府信息公开等渠道;
+ (7)根据您的要求签订或履行合同所必需的;
+ (8)用于维护“泉医到家”软件及相关服务的安全稳定运行所必需的,例如发现、处置“泉医到家”软件及相关服务的故障;
+ (9)学术研究机构基于公共利益开展统计或学术研究所必要,且对外提供学术研究或描述的结果时,对结果中所包含的个人信息进行去标识化处理的;
+ (10)法律法规规定的及与履行行业主管部门有关规定的义务相关的其他情形。
+
+ 特别提示您注意,如信息无法单独或结合其他信息识别到您的个人身份,其不属于法律意义上您的个人信息;当您的信息可以单独或结合其他信息识别到您的个人身份时或我们将无法与任何特定个人信息建立联系的数据与其他您的个人信息结合使用时,这些信息在结合使用期间,将作为您的个人信息按照本隐私政策处理与保护。
+
+ (五)其他
+
+ 请您理解,我们向您提供的服务是不断更新和发展的。如您选择使用了前述说明当中未涵盖的其他服务,基于该服务我们需要收集您的信息的,我们会通过页面提示、交互流程、协议约定的方式另行向您说明信息收集的范围与目的,并征得您的同意。我们会按照本政策以及相应的用户协议约定使用、存储、对外提供及保护您的信息;如您选择不提供前述信息,您可能无法使用某项或某部分服务,但不影响您使用我们提供的其他服务。
+
+ 二、我们对Cookie(或同类技术)的使用
+ 为使您获得更轻松的访问体验,您访问“泉医到家”提供的服务时,我们可能会通过小型数据文件识别您的身份,帮您省去重复输入登录信息的步骤,或者帮助您判断您的账户是否安全。这些数据文件可能是Cookie、Flash
+ Cookie、或您的浏览器或关联应用程序提供的其他本地存储(统称“Cookie”)。请您理解,我们的某些服务只能通过使用Cookie才可得到实现。如果您的浏览器或浏览器附加服务允许,您可以修改对Cookie的接受程度或者拒绝“泉医到家”的Cookie,但这一举动在某些情况下可能会影响您安全访问“泉医到家”和使用“泉医到家”提供的服务。我们使用
+ Cookie(或同类技术)主要为了实现以下功能或服务:
+
+ (一)保障产品与服务的安全、高效运转
+ 我们可能会设置认证与保障安全性的cookie或匿名标识符,使我们确认您是否安全登录服务,或者是否遇到盗用、欺诈等不法行为。这些技术还会帮助我们改进服务效率,提升登录和响应速度。
+ (二)帮助您获得更轻松的访问体验
+ 使用此类技术可以帮助您省去重复您填写个人信息、输入搜索内容的步骤和流程(例如:记录搜索历史)。
+ (三)为您推荐、展示、推送您可能感兴趣的内容或账号
+ 我们可能会利用Cookie或同类技术了解您的偏好和使用习惯,进行咨询或数据分析,以改善产品服务及用户体验,并优化您对广告的选择。
+ 我们承诺,我们不会将Cookie用于本隐私政策所述目的之外的任何其他用途。
+ 三、我们如何存储个人信息
+ (一)信息存储的地点
+ 我们依照法律法规的规定,将在境内运营过程中收集和产生的您的个人信息存储于中华人民共和国境内。
+ (二)存储期限
+
+ 我们仅在为提供“泉医到家”及服务之目的所必需的期间内保留您的个人信息,例如,您发布的信息、评论、点赞等信息,在您未撤回、删除或未注销账号期间,我们会保留相关信息。超出必要期限后,我们将对您的个人信息进行删除或匿名化处理,但法律法规另有规定的除外。
+
+ 四、我们如何共享、转让、公开披露个人信息
+ (一)个人信息的共享、转让
+ 我们不会向第三方共享、转让您的个人信息,除非经过您本人事先授权同意,或者共享、转让的个人信息是去标识化处理后的信息,且共享第三方无法重新识别此类信息的自然人主体。
+ 1.我们可能会共享的个人信息
+ 1.1为实现特定功能而与业务合作伙伴共享
+
+ 当软件服务提供商、智能设备提供商或系统服务提供商与我们联合为您提供服务时,例如您需要使用地理位置功能时,为实现这一功能,我们可能会收集您的位置信息及相关设备信息(例如硬件型号、操作系统版本号、国际移动设备身份识别码(IMEI)、网络设备硬件地址(MAC))经过去标识化后并提供给前述提供商。
+
+ 1.2帮助您参加营销推广活动
+ 当您选择参加我们举办的有关营销活动时,根据活动需要您提供姓名、通信地址、联系方式等信息。经过您的明示同意,我们会将上述信息与第三方共享以便我们能委托第三方及时向您提供奖品。
+ 2.对共享个人信息第三方主体的谨慎评估及责任约束
+
+ 2.1如果为了向您提供服务而需要将您的信息共享至第三方,我们将评估第三方收集信息的合法性、正当性、必要性。我们将要求第三方对您的信息采取保护措施并且严格遵守相关法律法规与监管要求。另外,我们会按照法律法规及国家标准的要求以确认协议、具体场景下的文案确认、弹窗提示等形式征得您的同意或确认第三方已征得您的同意。
+
+ 2.2对我们与之共享您个人信息的第三方,该些第三方会与我们签订保密协议。同时,我们会对其数据安全能力与环境进行评估,并要求第三方以不低于本隐私政策所要求的保密和安全措施来保护信息。
+ (二)个人信息的公开披露
+ 我们不会公开披露您的信息,除非遵循国家法律法规规定或者获得您的同意。我们公开披露您的个人信息会采用符合行业内标准的安全保护措施。
+ (三)依法豁免征得同意共享、转让、公开披露的个人信息
+ 请您理解,在下列情形中,根据法律法规及国家标准,我们共享、转让、公开披露您的个人信息无需征得您的授权同意:
+ 1.与国家安全、国防安全直接相关的;
+ 2.与公共安全、公共卫生、重大公共利益直接相关的;
+ 3.与犯罪侦查、起诉、审判和判决执行等直接相关的;
+ 4.出于维护您或其他个人的生命、财产等重大合法权益但又很难得到本人同意的;
+ 5.您自行向社会公众公开的个人信息;
+ 6.从合法公开披露的信息中收集个人信息的,如合法的新闻报道、政府信息公开等渠道。
+ 五、我们如何保护个人信息安全
+ (一)我们非常重视您个人信息的安全,将努力采取合理的安全措施(包括技术方面和管理方面)来保护您的个人信息,防止您提供的个人信息被不当使用或未经授权的情况下被访问、公开披露、使用、修改、损坏、丢失或泄漏。
+
+ (二)我们会使用加密技术、匿名化处理等合理可行的手段保护您的个人信息,并使用安全保护机制防止您的个人信息遭到恶意攻击。
+ (三)我们会建立专门的安全部门、安全管理制度、数据安全流程保障您的个人信息安全。我们采取严格的数据使用和访问制度,确保只有授权人员才可访问您的个人 信息,并适时对数据和技术进行安全审计。
+
+ (四)尽管已经采取了上述合理有效措施,并已经遵守了相关法律规定要求的标准,但请您理解,由于技术的限制以及可能存在的各种恶意手段,在互联网行业,即便竭尽所能加强安全措施,也不可能始终保证信息百分之百的安全,我们将尽力确保您提供给我们的个人信息的安全性。您知悉并理解,您接入我们的服务所用的系统和通讯网络,有可能因我们可控范围外的因素而出现问题。因此,我们强烈建议您采取积极措施保护个人信息的安全,包括但不限于使用复杂密码、定期修改密码、不将自己的账号密码等个人信息透露给他人。
+
+
+ (五)我们会制定应急处理预案,并在发生用户信息安全事件时立即启动应急预案,努力阻止该等安全事件的影响和后果扩大。一旦发生用户信息安全事件(泄露、丢失等)后,我们将按照法律法规的要求,及时向您告知:安全事件的基本情况和可能的影响、我们已经采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施等。我们将及时将事件相关情况以推送通知、邮件、信函、短信等形式告知您,难以逐一告知时,我们会采取合理、有效的方式发布公告。同时,我们还将按照相关监管部门要求,上报用户信息安全事件的处置情况。
+
+
+ (六)我们谨此特别提醒您,本隐私政策提供的个人信息保护措施仅适用于“泉医到家”及相关服务。一旦您离开“泉医到家”及相关服务,浏览或使用其他网站、服务及内容资源,我们即没有能力及义务保护您在“泉医到家”及相关服务之外的软件、网站提交的任何个人信息,无论您登录、浏览或使用上述软件、网站是否基于“泉医到家”的链接或引导。
+
+ 六、您的权利
+ 我们非常重视您对个人信息的管理,并尽全力保护您对于您个人信息的查询、访问、修改、删除、撤回同意授权、在设置页面注销账号、投诉举报以及设置隐私功能等权利,以使您有能力保障您的隐私和安全。
+ (一)访问、删除、更正您的个人信息
+ 您可以通过以下方式管理您的信息:
+ 1. 访问个人账号信息:
+ 您可以查询、访问您的头像、用户名、简介、性别、生日、地区、位置等基本信息(身份证个人信息除外),您可以在泉医到家的“编辑资料”中进行查询、访问。
+ 2. 查询访问、更改、删除您的收藏记录,清理缓存
+ 2.1 点击“我的”—点击“我的收藏”进入查询访问、删除;
+ 2.2 您可以通过点击“我的”—“设置”—点击“清理缓存”。
+ 3. 注销账号
+ 点击“我的”—点击“设置”—点击“账号注销”,同意账户注销协议并点击确定按钮。如需人工处理,我们将在核实您的身份之日起15日之内予以处理并回复。
+
+ 特别提示您注意,出于安全性和身份识别(如号码申诉服务)的考虑,您可能无法自主修改注册时提交的某些初始注册信息。如您确有需要修改该类注册信息,请根据本隐私政策载明的联系方式联系我们,我们核查并验证您的用户身份后会在15个工作日内处理并给予回复。
+
+ (二)改变您授权同意范围或撤销授权
+ 1. 改变或撤回敏感信息权限
+ 您可以通过更改系统设置以及在设备本身操作系统中关闭地理位置、通讯录、摄像头、麦克风等权限改变同意范围或撤回您的授权。
+ 2. 拒绝接受推送及营销信息
+ 您可以通过设置关闭“推送通知”拒绝消息的推送。
+ 请您理解,特定的业务功能和服务将需要您的信息才能得以完成,当您撤回同意或授权后,我们无法继续为您提供撤回同意或授权所对应的功能和服务,也不再处理您相应的个人信息。
+ (三)投诉举报
+
+ 您可按照我们公示的制度进行投诉或举报。如果您认为您的个人信息权利可能受到侵害,或者发现侵害个人信息权利的线索(例如:认为我们收集您的个人信息违反法律规定或者双方约定),您可以通过点击“我的”,进入举报反馈界面与我们联系。我们核查后会在15个工作日内反馈您的投诉与举报。
+
+ (四)访问隐私政策
+ 您可以在“我的”—“设置”中查看本隐私政策的全部内容。
+ 七、未成年人使用条款
+ (一)若您是未满18周岁的未成年人且无完全民事行为能力,在使用“泉医到家”及相关服务前,应在您的父母或其他监护人监护、指导下共同阅读并在征得您父母或者监护人同意的前提下使用我们的服务或向我们提供信息。
+
+
+ (二)我们根据国家相关法律法规的规定保护未成年人的个人信息,只会在法律允许、父母或其他监护人明确同意或保护未成年人所必要的情况下收集、使用、储存、共享、转让或披露未成年人的个人信息;如果我们发现在违背了法律有关规定或未事先获得可证实的父母同意的情况下收集了未成年人的个人信息,则会设法尽快删除相关信息。
+
+ (三)若您是未成年人的监护人,当您对您所监护的未成年人的个人信息有相关疑问时,请通过本隐私政策公示的联系方式与我们联系。
+ 八、隐私政策的修订和通知
+
+ 为了给您提供更好的服务,泉医到家及相关服务将不时更新与变化,我们会适时对本隐私政策进行修订,这些修订构成本隐私政策的一部分并具有等同于本隐私政策的效力,未经您明确同意,我们不会削减您依据当前生效的本隐私政策所应享受的权利。
+
+ 本隐私政策更新后,我们会在泉医到家发出更新版本,以便您及时了解本隐私政策的最新版本。
+ 九、适用范围
+ 本隐私政策仅适用于泉医到家客户端,不适用于有单独的隐私政策且未纳入本隐私政策的第三方产品或服务。
+ 本隐私权政策不适用于:
+ 1. 其他第三方产品或服务,可能包括在推荐中向您显示的产品或网站和广告内容或者“泉医到家”服务中链接到的其他产品或网站。
+ 2. 为“泉医到家”服务进行广告宣传的其他第三方。
+ 第三方主体可能会通过“泉医到家”向您提供服务。当您进入第三方主体运营的服务界面时,请注意相关服务由第三方主体向您提供。涉及到第三方主体向您收集信息的,建议您仔细查看第三方主体的隐私政策或协议约定。
+ 请您了解,本隐私政策中所述的“泉医到家”及相关服务可能会根据您所使用的手机型号、系统版本、软件应用程序版本、移动客户端等因素而有所不同。最终的产品和服务以您所使用的“泉医到家”软件及相关服务为准。
+ 十、第三方软件开发包(SDK)个人信息收集情况
+
+ 1.地理位置服务:当您使用地理位置相关服务时,我们会将您的WLAN状态信息、定位信息、终端设备唯一标识符,与位置服务提供商(百度地图)进行共享,以便可以返回您的位置信息,并最终向您提供定位服务。我们会使用各种技术进行定位,包括IP地址、GNSS以及能够提供相关信息的其他传感器(如可能会为百度提供附近设备、WLAN接入点和基站的信息)。这些个人信息的收集,仅会在已获得您的终端设备系统权限允许的前提下进行。若您拒绝提供,仅会影响地理位置服务功能,但不影响其他功能的正常使用。
+
+ 以下将详细列出我们的基本服务功能及为实现该功能所需收集的个人信息类型以及与收集个人信息相关的权限:
+
+
+ 权限类型
+ 功能及服务
+ 权限授权方式
+
+
+ 访问WI-FI状态
+ 获取连接WIFI信息,返回至百度定位服务端作为辅助定位依据,再返回给开发者更精准的位置信息
+ 由设备系统开发方及开发者应用决定,当最终用户同意向开发者应用授予该权限时开启
+
+
+ 获取位置
+
+ 获取的位置信息(可能包括GNSS信息、WIFI地址及信号强度信息、基站ID数据信息、传感器信息、手机信号强度信息),以便无需最终用户手动输入自身地理坐标就可以给开发者返回最终用户的位置信息
+
+ 由设备系统开发方及开发者应用决定,当最终用户同意向开发者应用授予该权限时开启
+
+
+ 更多内容请参考百度地图隐私政策链接:http://privacy.baidu.com/detail?id=288
+
+ 2.分享服务:当您使用客户端分享服务时,我们会向提供该服务的上海游昆信息技术有限公司(以下称“MobTech”)共享您的系统运营、网络状态、MAC地址、国际移动设备识别码(IMEI)、匿名设备标识符(OAID)、国际移动用户识别码(IMSI)、应用列表、基站信息、社交平台OpenID、地理位置,以确保您的分享功能能够正常使用。以上信息将在您授权后收集。关于MobTech收集个人信息的保护规则及退出机制等。更多内容,详见MobTech官网(www.mob.com)
+ 隐私政策条款(https://www.mob.com/about/policy)。
+
+
+ SDK名称
+ 场景描述
+ 收集个人信息的类型
+
+
+ MobTech,ShareSDK
+ 社交分享,第三方登录
+
+ 系统运营信息、网络状态信息、MAC地址、国际移动设备识别码(IMEI)、匿名设备标识符(OAID)、国际移动用户识别码(IMSI)、应用列表信息、基站信息、社交平台OpenID、地理位置
+
+
+
+
+ 3.推送服务:当您使用客户端消息推送接收服务时,我们会收集您的设备信息、网络信息、位置信息与推送服务提供商(极光)进行共享,以便您能够正常收到本软件推送的消息。此外,我们将收集您的推送打开情况等统计数据与推送服务提供商(极光)共享,以协助本软件运营人员分析服务使用情况,提供更好的消息推送服务。极光收集使用实现服务所必须的个人信息,将通过【加密通道】将消息和通知推送给您。
+
+ 极光SDK绝不收集或者要求您提供包括但不限于个人种族、政治倾向、宗教、信仰、个人基因数据或生物特征数据、性取向等个人敏感信息。当我们要将收集而来的个人信息用于本政策未载明的其它用途时,会事先征求您的同意。
+
+ 如您拒绝开启消息推送服务,以上信息将不会共享给第三方,且仅影响消息推送服务功能,不影响其他功能的正常使用。
+ 极光SDK收集信息及目的如下:
+
+
+
+ 权限类型
+ 内容
+ 目的
+
+
+ 设备信息
+ 设备标识符(IMEI、IDFA、Android
+ ID、MAC、OAID等相关信息)、应用信息或运行中的进程信息(应用崩溃信息、通知开关状态、软件列表等相关信息)、设备参数及系统信息(设备类型、设备型号、操作系统及硬件相关信息)
+
+
+ 用于识别唯一用户,保证消息推送的精准送达;优化推送通道资源,我们会根据设备上不同APP的活跃情况,整合消息推送的通道资源,为开发者提高消息送达率;为开发者提供智能标签以及展示业务统计信息的服务
+
+
+
+ 网络信息
+
+
+
+ 优化SDK与极光服务器的网络连接请求,保证服务的稳定性和连续性。
+
+
+ 位置信息
+
+
+ 实现区域推送功能。
+
+
+ 提请您注意并知悉:极光 SDK 为实现上述业务功能,收集您终端用户“设备信 息”、“网络信息”和/或“位置信息”的前提是,终端用户授权同意开启“读 写 SD
+ 卡权限”、“网络访问权限”、“设备信息权限”和/或“位置权限”。 如果您的终端用户不想被收集上述信息,可以通过关闭“读写 SD 卡权限”、“网 络访问权限”、“设备信息权限”和/或“位置权限”实现。
+ 更多内容请参考极光隐私政策链接:https://www.jiguang.cn/license/privacy
+
+
+ 4.分析统计 : 为分析产品与服务的使用情况,提升用户使用的体验,我们会与移动应用统计服务商友盟统计共享产品使用情况(打开、闪退、崩溃)的统计性数据,以及硬件
+ 型号、操作系统版本号、网络设备硬件地址、软件版本号、网络信息、启动来源、 使用时长、地理位置、访问路经等统计性数据,这些数据难以与其他信息结合识 别您的个人身份,将通过加密技术传输,我们不会在您同意隐私协议并同意获取
+ 相应数据前分享给相应 SDK。
+ 各项业务功能对系统隐私权限的调用,将在经过您的授权后开启,您可 以随时在系统中取消授权。取消授权会导致您无法使用相关业务功能, 但不会导致最终用户无法使用其他业务功能的使用。
+ 友 盟 +SDK 需要收集您的唯一设备识别码( 如 IMEI/android ID/IDFA/OPENUDID/GUID、SIM 卡 IMSI
+ 信息)、您安装的应用信息或运行中的进程信息,无法通过唯一设备识别码标识设备的特殊情况下(如您使用平板设备或电视盒子时)收 集设备 Mac 地址作为用户唯一标识以提供统计分析服务,并获取您的 位置信息及 IP
+ 地址校准用户地域分布数据,提供基础反作弊能力。
+ 具体获取权限及其用途列表如下
+
+
+
+ 权限
+ 用途
+
+
+ ACCESS_NETWORK_STATE
+ 检测联网方式,在网络异常状态下避免数据发送,节省流量和电量。
+
+
+ READ_PHONE_STATE
+ 获取用户设备的 IMEI,通过 IMEI 对用户进行唯一标识,以便提供统计分析服务。
+
+
+ ACCESS_WIFI_STATE
+ 获取 WIFI mac 地址,在平板设备或电视盒子上,无法通过 IMEI 标识设备,我们会将 WIFI mac 地址作为用户的唯一标识,以便正
+ 常提供统计分析服务。
+
+
+ INTERNET
+
+ 允许应用程序联网和发送统计数据的权限,以便提供统计分析服务。
+
+
+
+ ACCESS_FINE_LOCATION(可选)
+
+ 通过获取位置信息,为开发者提供反作弊功能,剔除作弊设备; 同时校正用户的地域分布数据,使报表数据更加准确。
+
+
+
+ ACCESS_COARSE_LOCATION(可选)
+
+ 通过获取位置信息,为开发者提供反作弊功能,剔除作弊设备; 同时校正用户的地域分布数据,使报表数据更加准确。
+
+
+
+
+
+
+ 友盟 SDK 安全能力通过:
+ 公安部三级等保认证(非银机构最高安全等级);
+ ISO27001 信息安全管理体系认证;
+ ISO27018 公有云个人信息保护体系认证。
+ 更多内容请参考友盟隐私政策链接:https://www.umeng.com/page/policy
+
+ 5.语音服务:当您使用客户端语音搜索服务时,我们会向提供该服务的科大讯飞股份有限公司(以下称“讯飞”)共享您的设备标识信息,地理位置信息,以确保您的语音功能能够正常使用。以上信息将在您授权后收集。关于讯飞收集个人信息的保护规则及退出机制等。更多内容,详见讯飞官网隐私政策页面:https://www.xfyun.cn/doc/policy/privacy.html。
+
+ 十一、联系我们
+ 1.如果您对个人信息保护问题有投诉、建议、疑问,您可通过登录“泉医到家”客户端内的“举报反馈”页面与我们联系,我们核查并验证您的用户身份后会在15个工作日内反馈您的投诉与举报 。
+ 2.如对本隐私政策内容有任何疑问、意见或建议,您也可通过登录“泉医到家”客户端内的“举报反馈”页面与我们联系。
+ 3.APP运营单位:山东新医路信息科技有限公司,地址:山东省济南市槐荫区经十路22799号银座中心2号楼1608室, 联系电话:0558-69900398。
+
+
+
+
+
+
+
+
+
diff --git a/pages/signature/signature.vue b/pages/signature/signature.vue
new file mode 100644
index 0000000..d8d66d8
--- /dev/null
+++ b/pages/signature/signature.vue
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/startup/startup.vue b/pages/startup/startup.vue
new file mode 100644
index 0000000..a5ea686
--- /dev/null
+++ b/pages/startup/startup.vue
@@ -0,0 +1,60 @@
+
+
+
+
+ 泉医到家
+
+
+
+
+
+
+
+
diff --git a/pages/taskDetails/taskDetails.scss b/pages/taskDetails/taskDetails.scss
new file mode 100644
index 0000000..287d302
--- /dev/null
+++ b/pages/taskDetails/taskDetails.scss
@@ -0,0 +1,120 @@
+.app {
+ padding: 0;
+ height: 100vh;
+ padding: 3%;
+ .img{
+ line-height: 90rpx;
+ view{
+ font-size: 32rpx;
+ padding: 20rpx 0;
+ }
+ image{
+ width: 100%;
+ height: 700rpx;
+ }
+ }
+ .details {
+ width: 100%;
+ height: 250rpx;
+ background: #FFFFFF;
+ box-shadow: 0rpx 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
+ border-radius: 20rpx;
+ margin: 0 auto;
+ position: relative;
+
+ image {
+ width: 170rpx;
+ height: 170rpx;
+ border-radius: 10rpx;
+ margin: 20rpx 0 0 30rpx;
+ }
+
+ .detailsinfo {
+ width: 60%;
+ height: 200rpx;
+ border-radius: 10rpx;
+ position: absolute;
+ top: 12%;
+ left: 35%;
+
+ .change {
+ width: 100%;
+ color: #000000;
+ font-size: 34rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
+ .time {
+ width: 100%;
+ font-size: 32rpx;
+ color: #999999;
+ position: absolute;
+ top: 32%;
+ }
+
+ .price {
+ width: 100%;
+ font-size: 30rpx;
+ color: #D43953;
+ position: absolute;
+ top: 65%;
+ }
+ }
+ }
+
+ .info {
+ width: 100%;
+ background: #FFFFFF;
+ box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
+ border-radius: 20rpx;
+ position: relative;
+ top: 20rpx;
+
+
+ .item {
+ line-height: 110rpx;
+ border-bottom: 1rpx solid #D8D4D4;
+ font-size: 32rpx;
+ color: #000000;
+ margin-left: 30rpx;
+ }
+ }
+
+ .submit {
+ width: 100%;
+ height: 100rpx;
+ height: 68rpx;
+ font-size: 32rpx;
+ color: #FFFFFF;
+ text-align: center;
+ position: fixed;
+ bottom: 80rpx;
+ // background-color: red;
+ left: 15%;
+ // padding: 20rpx;
+
+ .return {
+ width: 216rpx;
+ height: 68rpx;
+ background: #E1AE3C;
+ border-radius: 26rpx;
+ line-height: 68rpx;
+ display: inline-block;
+
+
+ }
+
+ .finish {
+ width: 217rpx;
+ height: 68rpx;
+ line-height: 68rpx;
+ background: #4C7BC9;
+ border-radius: 26rpx;
+ display: inline-block;
+ margin-left: 30rpx;
+
+ }
+ }
+ }
\ No newline at end of file
diff --git a/pages/taskDetails/taskDetails.vue b/pages/taskDetails/taskDetails.vue
new file mode 100644
index 0000000..931f3dd
--- /dev/null
+++ b/pages/taskDetails/taskDetails.vue
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+ {{list.nurseItemName}}
+
+
+ 服务时长: {{list.itemServeDurationUnit}}
+
+
+ ¥ {{list.totalPrice}}
+
+
+
+
+
+ 姓名: {{list.patientName}}
+
+
+ 电话:{{list.phone}}
+
+
+ 地址:{{list.serviceAddress}}
+
+
+
+
+ 护理员到岗照片
+
+
+
+
+
+ 服务结束照片
+
+
+
+
+
+ 签名
+
+
+
+
+
+ 任务退回
+
+
+ 去完成
+
+
+
+
+
+
+
+
diff --git a/pages/taskReturn/taskReturn.vue b/pages/taskReturn/taskReturn.vue
new file mode 100644
index 0000000..47849ea
--- /dev/null
+++ b/pages/taskReturn/taskReturn.vue
@@ -0,0 +1,99 @@
+
+
+
+
+ 退回原因
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
+
+
diff --git a/static/1024.png b/static/1024.png
new file mode 100644
index 0000000000000000000000000000000000000000..f8d85251d574795bcae17af926e7b5b51bacaa26
GIT binary patch
literal 124358
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
z
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