diff --git a/App.vue b/App.vue new file mode 100644 index 0000000..99f6e28 --- /dev/null +++ b/App.vue @@ -0,0 +1,17 @@ + + + diff --git a/components/header.vue b/components/header.vue new file mode 100644 index 0000000..2353387 --- /dev/null +++ b/components/header.vue @@ -0,0 +1,210 @@ + + + + + \ No newline at end of file diff --git a/components/pop.vue b/components/pop.vue new file mode 100644 index 0000000..b605630 --- /dev/null +++ b/components/pop.vue @@ -0,0 +1,20 @@ + + + + + \ No newline at end of file diff --git a/components/tabbar.vue b/components/tabbar.vue new file mode 100644 index 0000000..8b7a3aa --- /dev/null +++ b/components/tabbar.vue @@ -0,0 +1,142 @@ + + + \ No newline at end of file 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..a7172b8 --- /dev/null +++ b/main.js @@ -0,0 +1,406 @@ +import App from './App' + +// #ifndef VUE3 +import Vue from 'vue' +import './uni.promisify.adaptor' +Vue.config.productionTip = false +App.mpType = 'app' +const app = new Vue({ + ...App +}) + +//设备型号判断 +Vue.prototype.platform = ""; +Vue.prototype.isIos = ""; +Vue.prototype.isIphoneXr = false; + +String.prototype.trim=function(){ +  return this.replace(/(^s*)|(s*$)/g, ""); +} + +// const NODE_ENV = 'development'; +const NODE_ENV = 'production'; +if(NODE_ENV == 'development'){ + Vue.prototype.cssUrl = '/static/images/frontend/'; + Vue.prototype.request_domain = "http://xmztest.yitongtang66.com/"; +}else{ + Vue.prototype.cssUrl = 'https://xmz.yitongtang66.com/assets/img/new/'; + Vue.prototype.request_domain = "https://xmz.yitongtang66.com/"; +} + +try{ + var res = uni.getSystemInfoSync(), + platform = res.platform.toLowerCase(), + system = res.system.toLowerCase(), + model = res.model.toLowerCase(); + if(system.indexOf('mac') > -1 || model.indexOf('mac') > -1 || model.indexOf('iphone 12/13 mini') > -1) platform = 'ios'; + if(system.indexOf('ios') > -1 || model.indexOf('ipad') > -1) platform = 'ios'; + Vue.prototype.platform = platform; + Vue.prototype.isIos = platform == 'ios' ? true : false; + Vue.prototype.isIphoneXr = (platform == "ios") && (res.model.toLowerCase().indexOf("iphone x")>-1); + if(NODE_ENV == 'development') Vue.prototype.isIos = ''; + if(platform.indexOf('windows') > -1) Vue.prototype.isPc = true; +}catch(e){ +} + +Vue.prototype.env_val = 'xcx'; +Vue.prototype.is_pc = false; +Vue.prototype.isMobile = false; + +function isMobile() { + var userAgentInfo = navigator.userAgent; + + var mobileAgents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; + + var mobile_flag = false; + + //根据userAgent判断是否是手机 + for (var v = 0; v < mobileAgents.length; v++) { + if (userAgentInfo.indexOf(mobileAgents[v]) > 0) { + mobile_flag = true; + break; + } + } + var screen_width = window.screen.width; + var screen_height = window.screen.height; + + //根据屏幕分辨率判断是否是手机 + if (screen_width > 325 && screen_height < 750) { + mobile_flag = true; + } + + return mobile_flag; +} + + +function trim(str, type = 'both') { + if (type == 'both') { + //去除两端 + return str.replace(/^\s+|\s+$/g, ''); + } else if (type == "left") { + //去除左边 + return str.replace(/^\s*/, ''); + } else if (type == 'right') { + //去除右边 + return str.replace(/(\s*$)/g, ''); + } else if (type == 'all') { + //去除所有 + return str.replace(/\s+/g, ''); + } else { + return str; + } +} + +function isOpenMode() { + var system = { + win: false, + mac: false, + xll: false, + ipad: false + }; + var p = navigator.platform; + system.win = p.indexOf("Win") == 0; + system.mac = p.indexOf("Mac") == 0; + system.xll = (p == "X11") || (p.indexOf("Linux") == 0); + system.ipad = (navigator.userAgent.match(/iPad/i) != null) ? true : false; + if ((system.win || system.mac || system.xll || system.ipad) && !Vue.prototype.isMobile) { + var ua = navigator.userAgent.toLowerCase(); + if (ua.match(/MicroMessenger/i) == "micromessenger") { + // "在PC端微信上打开的" + Vue.prototype.env_val = 'pc_weixin'; + } else { + // "在PC端非微信上打开的" + Vue.prototype.env_val = 'pc'; + } + Vue.prototype.isPc = true; + } else { + var ua = navigator.userAgent.toLowerCase(); + if (ua.match(/MicroMessenger/i) == "micromessenger") { + // "在手机端微信上打开的" + Vue.prototype.env_val = 'phone_weixin'; + } else { + // "在手机上非微信上打开的" + Vue.prototype.env_val = 'phone'; + } + } +} + +Vue.prototype.xcxtype = -1; +Vue.prototype.provider_baidu = "baidu"; +Vue.prototype.provider_weixin = "weixin"; +Vue.prototype.provider_alipay = "alipay"; +Vue.prototype.provider = ''; +try{ + uni.getProvider({ + service: 'oauth', + success: function (res) { + if (~res.provider.indexOf(Vue.prototype.provider_baidu)) { + Vue.prototype.xcxtype = 1; + Vue.prototype.provider = Vue.prototype.provider_baidu; + } + if (~res.provider.indexOf(Vue.prototype.provider_weixin)) { + Vue.prototype.xcxtype = 0; + Vue.prototype.provider = Vue.prototype.provider_weixin; + } + if (~res.provider.indexOf(Vue.prototype.provider_alipay)) { + Vue.prototype.xcxtype = 2; + Vue.prototype.provider = Vue.prototype.provider_alipay; + } + + if(Vue.prototype.xcxtype == -1){ + Vue.prototype.isMobile = isMobile(); + isOpenMode(); + }else{ + Vue.prototype.isMobile = true; + } + } + }); +}catch(e){ + isOpenMode(); + Vue.prototype.isMobile = isMobile(); +} + +Vue.prototype.appid = ''; +Vue.prototype.USER_SOURCE_WX_XCX = 1; +Vue.prototype.USER_SOURCE_WX_H5 = 2; +Vue.prototype.USER_SOURCE_PC = 3; +Vue.prototype.USER_SOURCE_H5 = 4; +if(Vue.prototype.provider == Vue.prototype.provider_weixin) { + var wxXcxAccountInfo = wx.getAccountInfoSync(); + Vue.prototype.appid = wxXcxAccountInfo.miniProgram.appId; + const pagesView = getCurrentPages(); + const currentPageView = pagesView[pagesView.length - 1]; + Vue.prototype.View = currentPageView+'New'; +} + +const CODE_SUCCESS = 200; +const CODE_ERROR = 40001; +const CODE_LOGIN_EXIPRE = 40002; + +Vue.prototype.user_preview = 1; +Vue.prototype.edit_preview = 2; +Vue.prototype.add_preview = 3; +Vue.prototype.edit_album = 4; + +function removeLogin() { + uni.removeStorageSync('token'); + uni.removeStorageSync('uuid'); + uni.removeStorageSync('nickname'); + uni.removeStorageSync('avatar'); + uni.removeStorageSync('level_id'); + uni.removeStorageSync('level_name'); + uni.removeStorageSync('is_admin'); + uni.removeStorageSync('avatar_full'); + uni.removeStorageSync('create'); + uni.removeStorageSync('uuid_str'); +} + +function req(url, data={}, method = 'POST') { + var domain = Vue.prototype.request_domain; + data.xcxtype = 3; + if(Vue.prototype.appid != '') { + data.appid = Vue.prototype.appid; + data.xcx_scource = Vue.prototype.USER_SOURCE_WX_XCX; + }else{ + domain = '/api/'; + if(Vue.prototype.isMobile){ + data.xcx_scource = Vue.prototype.USER_SOURCE_H5; + if(Vue.prototype.env_val.indexOf('weixin') > -1) data.xcx_scource = Vue.prototype.USER_SOURCE_WX_H5; + data.host = location.host; + }else{ + data.xcx_scource = Vue.prototype.USER_SOURCE_PC; + data.host = location.host; + } + } + + if(NODE_ENV == 'development') data.env = 'dev'; + + var headerObj = {'content-type': 'application/x-www-form-urlencoded'}; + var token = uni.getStorageSync('token'); + var uuid = uni.getStorageSync('uuid'); + + var loginFunc = ''; + if(data.xcx_scource == Vue.prototype.USER_SOURCE_WX_XCX) loginFunc = 'ai_xcx_login'; + data.submit_source = data.xcx_scource; + data.is_ai = 1; + if(token && uuid && url != loginFunc){ + data.token = token; + data.user_id = uuid; + } + + return new Promise((resolve, reject) => { + uni.request({ + method: method, + url: domain+url, + data: data, + header: headerObj, + async: false, + success(res) { + try{ + var rdata = res.data; + if(rdata.code != CODE_SUCCESS) { + if(data.xcx_scource == Vue.prototype.USER_SOURCE_WX_XCX && !data.repeat && rdata.code==CODE_LOGIN_EXIPRE && url != 'userapi/login2/weChatLogin'){ + removeLogin(); + xcx_login(url, data, method).then(data=>{ + return resolve(data); + }); + return; + } + + if(data.xcx_scource == Vue.prototype.USER_SOURCE_H5 && res.data.info.indexOf('请先登录')>-1){ + location.href="/pages/jumpxcx/jumpxcx"; + return; + } + + if(rdata.code==CODE_LOGIN_EXIPRE && data.xcx_scource == Vue.prototype.USER_SOURCE_WX_H5 && url != 'ai_get_mplogin_url'){ + var logindatac = new Object(); + logindatac.host = location.host; + + const pagesc = getCurrentPages(); + const currentPagec = pagesc[pagesc.length - 1]; + var pageUrlc = '/'+currentPagec.route; + logindatac.state = encodeURIComponent(pageUrlc); + req('ai_get_mplogin_url', logindatac).then(data=>{ + if(data == -1 || !data.login_link) return; + location.href = data.login_link; + }); + return; + } + + uni.showModal({ + title: '提示', + showCancel: false, + content: rdata.msg ? rdata.msg : '网络错误,请重试|'+res.statusCode, + success: function (rs) { + if (rs.confirm && rdata.code==CODE_LOGIN_EXIPRE) { + removeLogin(); + const pages = getCurrentPages(); + const currentPage = pages[pages.length - 1]; + let pageUrl = '/'+currentPage.route; + if(data.xcx_scource == Vue.prototype.USER_SOURCE_WX_H5){ + uni.navigateTo({ + url: '/pages/index/index?url='+encodeURIComponent(pageUrl) + }); + }else{ + + } + return; + } + } + }); + + return resolve("-1"); + }else{ + return resolve(res.data.data); + } + }catch(e){ + uni.showModal({ + title: '提示', + showCancel: false, + content: '请求数据出错|f', + success: function (rs) { + return resolve("-1"); + } + }); + } + }, + fail(err) { + uni.showModal({ + title: '提示', + showCancel: false, + content: '网络错误,请重试|f|'+JSON.stringify(err), + success: function (rs) { + return resolve("-1"); + } + }); + } + }); + }); +} + +function xcx_login(url, eqdata={}, method = 'POST') { + return new Promise((resolve, reject) => { + wx.login({ + success (res) { + if (res.code) { + var pdata = new Object(); + pdata.code = res.code; + req('userapi/login2/weChatLogin', pdata).then(data=>{ + uni.setStorageSync('token', data.token); + uni.setStorageSync('uuid', data.userId); + uni.setStorageSync('uuid_str', data.userIdStr); + uni.setStorageSync('nickname', data.nickname); + uni.setStorageSync('avatar', data.avatar); + uni.setStorageSync('level_id', data.level_id); + uni.setStorageSync('level_name', data.level_name); + uni.setStorageSync('avatar_full', data.avatar_full); + uni.setStorageSync('create', data.create); + if(data.is_admin) uni.setStorageSync('is_admin', data.is_admin); + + eqdata.repeat = 1; + req(url, eqdata, method).then(data=>{ + return resolve(data); + }); + }); + } + } + }); + }) +} + +function toPage(path){ + if(Vue.prototype.provider == Vue.prototype.provider_weixin){ + if(path.indexOf('/index/index') == -1){ + wx.navigateTo({ + url: path + }); + }else{ + wx.reLaunch({ + url: path + }); + } + + }else{ + if(path.indexOf('/index/index') == -1){ + uni.navigateTo({ + url:path + }); + }else{ + uni.reLaunch({ + url:path + }); + } + + } +} + +function modelShow(content, path="",title="提示") { + uni.showModal({ + title: title, + showCancel: false, + content: content, + success: function (rs) { + if(rs.confirm && path != ""){ + toPage(path); + } + } + }); +} + +Vue.prototype.$pop = {modelShow} +Vue.prototype.$func = {toPage} +Vue.prototype.$http = {req} +Vue.prototype.$trim = {trim} + +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..6f3ea01 --- /dev/null +++ b/manifest.json @@ -0,0 +1,72 @@ +{ + "name" : "acupuncture_register_system", + "appid" : "__UNI__72348D3", + "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" : {}, + /* 应用发布信息 */ + "distribute" : { + /* android打包配置 */ + "android" : { + "permissions" : [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + /* ios打包配置 */ + "ios" : {}, + /* SDK配置 */ + "sdkConfigs" : {} + } + }, + /* 快应用特有相关 */ + "quickapp" : {}, + /* 小程序特有相关 */ + "mp-weixin" : { + "appid" : "", + "setting" : { + "urlCheck" : false + }, + "usingComponents" : true + }, + "mp-alipay" : { + "usingComponents" : true + }, + "mp-baidu" : { + "usingComponents" : true + }, + "mp-toutiao" : { + "usingComponents" : true + }, + "uniStatistics" : { + "enable" : false + }, + "vueVersion" : "2" +} diff --git a/pages.json b/pages.json new file mode 100644 index 0000000..34ca995 --- /dev/null +++ b/pages.json @@ -0,0 +1,35 @@ +{ + "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages + { + "path": "pages/index/index", + "style": { + "navigationBarTitleText": "uni-app" + } + } + ,{ + "path" : "pages/test/test", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + } + ,{ + "path" : "pages/login/login", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + } + ], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8" + }, + "uniIdRouter": {} +} diff --git a/pages/index/index.vue b/pages/index/index.vue new file mode 100644 index 0000000..4d58921 --- /dev/null +++ b/pages/index/index.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/pages/login/login.vue b/pages/login/login.vue new file mode 100644 index 0000000..8183fd0 --- /dev/null +++ b/pages/login/login.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/pages/test/test.vue b/pages/test/test.vue new file mode 100644 index 0000000..7edc595 --- /dev/null +++ b/pages/test/test.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/static/images/frontend/fan'h.svg b/static/images/frontend/fan'h.svg new file mode 100644 index 0000000..81b2517 --- /dev/null +++ b/static/images/frontend/fan'h.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/个人照片待填写.svg b/static/images/frontend/个人照片待填写.svg new file mode 100644 index 0000000..d06e64a --- /dev/null +++ b/static/images/frontend/个人照片待填写.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/二维码.svg b/static/images/frontend/二维码.svg new file mode 100644 index 0000000..739604e --- /dev/null +++ b/static/images/frontend/二维码.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/关.svg b/static/images/frontend/关.svg new file mode 100644 index 0000000..9a1f0fa --- /dev/null +++ b/static/images/frontend/关.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/关2.svg b/static/images/frontend/关2.svg new file mode 100644 index 0000000..3ce4f9f --- /dev/null +++ b/static/images/frontend/关2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/关3.svg b/static/images/frontend/关3.svg new file mode 100644 index 0000000..b44ff71 --- /dev/null +++ b/static/images/frontend/关3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/关闭.svg b/static/images/frontend/关闭.svg new file mode 100644 index 0000000..b2a3522 --- /dev/null +++ b/static/images/frontend/关闭.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/关闭备份.svg b/static/images/frontend/关闭备份.svg new file mode 100644 index 0000000..7853bb4 --- /dev/null +++ b/static/images/frontend/关闭备份.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/减少.svg b/static/images/frontend/减少.svg new file mode 100644 index 0000000..453812a --- /dev/null +++ b/static/images/frontend/减少.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/出诊安排.svg b/static/images/frontend/出诊安排.svg new file mode 100644 index 0000000..2095456 --- /dev/null +++ b/static/images/frontend/出诊安排.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/助手权限.svg b/static/images/frontend/助手权限.svg new file mode 100644 index 0000000..a9d48b1 --- /dev/null +++ b/static/images/frontend/助手权限.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/助手管理.svg b/static/images/frontend/助手管理.svg new file mode 100644 index 0000000..be84114 --- /dev/null +++ b/static/images/frontend/助手管理.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/医生信息.svg b/static/images/frontend/医生信息.svg new file mode 100644 index 0000000..05fe77a --- /dev/null +++ b/static/images/frontend/医生信息.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/医院管理.svg b/static/images/frontend/医院管理.svg new file mode 100644 index 0000000..a78fc7c --- /dev/null +++ b/static/images/frontend/医院管理.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/协助预约.svg b/static/images/frontend/协助预约.svg new file mode 100644 index 0000000..19ab464 --- /dev/null +++ b/static/images/frontend/协助预约.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/单选选中.svg b/static/images/frontend/单选选中.svg new file mode 100644 index 0000000..ad3bd98 --- /dev/null +++ b/static/images/frontend/单选选中.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/向下展开.svg b/static/images/frontend/向下展开.svg new file mode 100644 index 0000000..1771033 --- /dev/null +++ b/static/images/frontend/向下展开.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/增加.svg b/static/images/frontend/增加.svg new file mode 100644 index 0000000..849628b --- /dev/null +++ b/static/images/frontend/增加.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/多选选中.svg b/static/images/frontend/多选选中.svg new file mode 100644 index 0000000..e37d5e0 --- /dev/null +++ b/static/images/frontend/多选选中.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/大.svg b/static/images/frontend/大.svg new file mode 100644 index 0000000..da5f0a0 --- /dev/null +++ b/static/images/frontend/大.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/导出针灸记录.svg b/static/images/frontend/导出针灸记录.svg new file mode 100644 index 0000000..f5c602a --- /dev/null +++ b/static/images/frontend/导出针灸记录.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/小.svg b/static/images/frontend/小.svg new file mode 100644 index 0000000..eee2bea --- /dev/null +++ b/static/images/frontend/小.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/小号.svg b/static/images/frontend/小号.svg new file mode 100644 index 0000000..7534517 --- /dev/null +++ b/static/images/frontend/小号.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/小号2.svg b/static/images/frontend/小号2.svg new file mode 100644 index 0000000..e5fc31f --- /dev/null +++ b/static/images/frontend/小号2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/就诊人.svg b/static/images/frontend/就诊人.svg new file mode 100644 index 0000000..7f3b179 --- /dev/null +++ b/static/images/frontend/就诊人.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/展开.svg b/static/images/frontend/展开.svg new file mode 100644 index 0000000..61b3ad5 --- /dev/null +++ b/static/images/frontend/展开.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/开.svg b/static/images/frontend/开.svg new file mode 100644 index 0000000..feb7af8 --- /dev/null +++ b/static/images/frontend/开.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/开2.svg b/static/images/frontend/开2.svg new file mode 100644 index 0000000..b532b5c --- /dev/null +++ b/static/images/frontend/开2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/开3.svg b/static/images/frontend/开3.svg new file mode 100644 index 0000000..8bd5327 --- /dev/null +++ b/static/images/frontend/开3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/患者预约.svg b/static/images/frontend/患者预约.svg new file mode 100644 index 0000000..ed088ba --- /dev/null +++ b/static/images/frontend/患者预约.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/挂号管理.svg b/static/images/frontend/挂号管理.svg new file mode 100644 index 0000000..f3265f0 --- /dev/null +++ b/static/images/frontend/挂号管理.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/时段越满.png b/static/images/frontend/时段越满.png new file mode 100644 index 0000000..26e9132 Binary files /dev/null and b/static/images/frontend/时段越满.png differ diff --git a/static/images/frontend/暂未开启权限@2x.png b/static/images/frontend/暂未开启权限@2x.png new file mode 100644 index 0000000..15d109e Binary files /dev/null and b/static/images/frontend/暂未开启权限@2x.png differ diff --git a/static/images/frontend/更换.svg b/static/images/frontend/更换.svg new file mode 100644 index 0000000..6452612 --- /dev/null +++ b/static/images/frontend/更换.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/未选中.svg b/static/images/frontend/未选中.svg new file mode 100644 index 0000000..dd191d4 --- /dev/null +++ b/static/images/frontend/未选中.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/正确.svg b/static/images/frontend/正确.svg new file mode 100644 index 0000000..c4094fa --- /dev/null +++ b/static/images/frontend/正确.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/流程正在填写.svg b/static/images/frontend/流程正在填写.svg new file mode 100644 index 0000000..b697502 --- /dev/null +++ b/static/images/frontend/流程正在填写.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/灰.png b/static/images/frontend/灰.png new file mode 100644 index 0000000..98f9c93 Binary files /dev/null and b/static/images/frontend/灰.png differ diff --git a/static/images/frontend/绿.png b/static/images/frontend/绿.png new file mode 100644 index 0000000..21e2bb4 Binary files /dev/null and b/static/images/frontend/绿.png differ diff --git a/static/images/frontend/编组 2.svg b/static/images/frontend/编组 2.svg new file mode 100644 index 0000000..78dc70a --- /dev/null +++ b/static/images/frontend/编组 2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/编组 3.svg b/static/images/frontend/编组 3.svg new file mode 100644 index 0000000..111846d --- /dev/null +++ b/static/images/frontend/编组 3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/编组 31.svg b/static/images/frontend/编组 31.svg new file mode 100644 index 0000000..196e4f1 --- /dev/null +++ b/static/images/frontend/编组 31.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/编组 39.svg b/static/images/frontend/编组 39.svg new file mode 100644 index 0000000..994ba30 --- /dev/null +++ b/static/images/frontend/编组 39.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/编组 42.png b/static/images/frontend/编组 42.png new file mode 100644 index 0000000..786b00a Binary files /dev/null and b/static/images/frontend/编组 42.png differ diff --git a/static/images/frontend/编组 6.svg b/static/images/frontend/编组 6.svg new file mode 100644 index 0000000..756a0a8 --- /dev/null +++ b/static/images/frontend/编组 6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/背景.png b/static/images/frontend/背景.png new file mode 100644 index 0000000..4306c17 Binary files /dev/null and b/static/images/frontend/背景.png differ diff --git a/static/images/frontend/花.svg b/static/images/frontend/花.svg new file mode 100644 index 0000000..1bb6967 --- /dev/null +++ b/static/images/frontend/花.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/表单已提交.svg b/static/images/frontend/表单已提交.svg new file mode 100644 index 0000000..07a3938 --- /dev/null +++ b/static/images/frontend/表单已提交.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/角标.svg b/static/images/frontend/角标.svg new file mode 100644 index 0000000..44fae09 --- /dev/null +++ b/static/images/frontend/角标.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/角标2.svg b/static/images/frontend/角标2.svg new file mode 100644 index 0000000..0b9f1d4 --- /dev/null +++ b/static/images/frontend/角标2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/诊疗设置.svg b/static/images/frontend/诊疗设置.svg new file mode 100644 index 0000000..190729d --- /dev/null +++ b/static/images/frontend/诊疗设置.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/frontend/预约列表.svg b/static/images/frontend/预约列表.svg new file mode 100644 index 0000000..aee30bc --- /dev/null +++ b/static/images/frontend/预约列表.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/uni.promisify.adaptor.js b/uni.promisify.adaptor.js new file mode 100644 index 0000000..47fbce1 --- /dev/null +++ b/uni.promisify.adaptor.js @@ -0,0 +1,10 @@ +uni.addInterceptor({ + returnValue (res) { + if (!(!!res && (typeof res === "object" || typeof res === "function") && typeof res.then === "function")) { + return res; + } + return new Promise((resolve, reject) => { + res.then((res) => res[0] ? reject(res[0]) : resolve(res[1])); + }); + }, +}); \ No newline at end of file diff --git a/uni.scss b/uni.scss new file mode 100644 index 0000000..a9a742d --- /dev/null +++ b/uni.scss @@ -0,0 +1,76 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ + +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ + +/* 颜色变量 */ + +/* 行为相关颜色 */ +$uni-color-primary: #007aff; +$uni-color-success: #4cd964; +$uni-color-warning: #f0ad4e; +$uni-color-error: #dd524d; + +/* 文字基本颜色 */ +$uni-text-color:#333;//基本色 +$uni-text-color-inverse:#fff;//反色 +$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 +$uni-text-color-placeholder: #808080; +$uni-text-color-disable:#c0c0c0; + +/* 背景颜色 */ +$uni-bg-color:#ffffff; +$uni-bg-color-grey:#f8f8f8; +$uni-bg-color-hover:#f1f1f1;//点击状态颜色 +$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 + +/* 边框颜色 */ +$uni-border-color:#c8c7cc; + +/* 尺寸变量 */ + +/* 文字尺寸 */ +$uni-font-size-sm:12px; +$uni-font-size-base:14px; +$uni-font-size-lg:16; + +/* 图片尺寸 */ +$uni-img-size-sm:20px; +$uni-img-size-base:26px; +$uni-img-size-lg:40px; + +/* Border Radius */ +$uni-border-radius-sm: 2px; +$uni-border-radius-base: 3px; +$uni-border-radius-lg: 6px; +$uni-border-radius-circle: 50%; + +/* 水平间距 */ +$uni-spacing-row-sm: 5px; +$uni-spacing-row-base: 10px; +$uni-spacing-row-lg: 15px; + +/* 垂直间距 */ +$uni-spacing-col-sm: 4px; +$uni-spacing-col-base: 8px; +$uni-spacing-col-lg: 12px; + +/* 透明度 */ +$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 + +/* 文章场景相关 */ +$uni-color-title: #2C405A; // 文章标题颜色 +$uni-font-size-title:20px; +$uni-color-subtitle: #555555; // 二级标题颜色 +$uni-font-size-subtitle:26px; +$uni-color-paragraph: #3F536E; // 文章段落颜色 +$uni-font-size-paragraph:15px; diff --git a/针灸挂号系统功能拆分.txt b/针灸挂号系统功能拆分.txt new file mode 100644 index 0000000..1ff48b4 --- /dev/null +++ b/针灸挂号系统功能拆分.txt @@ -0,0 +1,44 @@ +用户端 静态页面 +1.首页 +2.选择就诊人页面 +3.新增就诊人信息页面 +4.预约挂号页面 +5.个人中心页面 +6.修改个人资料页面 +7.就诊人列表页面 +8.修改就诊人信息页面 +9.预约列表页面 +10.预约详情页面 + +医生端 静态页面 +1.添加医生信息页面 +(1)选择医院使用腾讯位置服务接口 +https://lbs.qq.com/service/webService/webServiceGuide/search/webServiceSuggestion +2.添加出诊医院页面 +3.等待就诊页面 +4.就诊中页面 +5.就诊完毕页面 +6.个人中心页面 +7.医生信息编辑页面 +8.医院管理页面 +9.出诊安排页面 +10.诊疗设置 +11.患者预约页面 +12.患者预约码页面 +13.患者详情页面 +14.预约详情页面 +15.助手管理列表页面 +16.助手邀请码页面 +17.助手权限页面 +18.助手详情页面 +19.助手申请表单页面 +20.助手申请等待审核页面 +21.挂号管理列表页面 +22.挂号退号搜索结果列表页面 +23.新建档案并录入挂号页面 +24.追加/减少针灸次数页面 +25.导出针灸记录页面 + +已完成 +1.针灸挂号系统需求确认 +2.针灸挂号系统前端框架搭建 \ No newline at end of file diff --git a/针灸挂号系统功能表结构.sql b/针灸挂号系统功能表结构.sql new file mode 100644 index 0000000..e21d197 --- /dev/null +++ b/针灸挂号系统功能表结构.sql @@ -0,0 +1,84 @@ +一 用户端 +1.用户表 user_list +id +doctor_id 医生id +avator 头像 +nick 昵称 +openid 公众号openid +create 创建时间 + +2.就诊用户人表 visitor_list +id +doctor_id 医生id +uid 用户id +name 姓名 +idcard_ext 身份证后四位 +last_visit_time 最后就诊时间 +create 添加时间 +status 0 正常 1已删除 + +3.就诊表 visit_list +id +doctor_id 医生id +hid 医院id +vuid 就诊用户人id +date 时间 2024-03-01 +visit_time 就诊预约时间 07:30-08:30 +phone 手机号 +status 0 待就诊 1就诊中 2就诊完成 + +4.针灸剩余次数表 acupuncture_remain_list +id +vid 就诊用户人id +hid 医院id +total_num 总针灸次数 +remain_num 剩余针灸次数 + +4.预约表 appointment_list +id +vid 就诊人id +date 日期 +time 时间 + + +二 医生端 + +1.医生表 doctor_list +id +name 姓名 +phone 手机号 +invite_code 邀请码 +desc 简介 +openid 公众号openid +detail 个人详细介绍 +create 注册时间 + +2.医院表 hospital_list +id +doctor_id 医生id +province 省 +cite 市 +short_name 医院简称 +departments 科室部门 +morning_worktime 上午上班时间 上下班时间用英文逗号分隔 +afternoon_end 下午上班时间 上下班时间用英文逗号分隔 +holiday_work_type 0 否 1 是 节假日是否停诊 +acupuncture_num 一次挂号针灸次数 +acupuncture_time 每次针灸时长 +bed_num 时间段可预约床位数 +register_exipre 挂号过期时间,单位小时 +notice 就诊提醒 +create 创建时间 +status 0 就诊中 1 已停诊 + +3.每周出诊安排表 week_worktimes +id +hid +week_day +type 0 休息 1 上午上班 2 下午上班 3 全天出诊 + + + + + +