parent
677af90f97
commit
16fa6bb8b9
22 changed files with 1286 additions and 1387 deletions
@ -1,277 +0,0 @@ |
||||
const VueConfig = (function (Vue, Vuex, VueRouter, Axios, NProgress) { |
||||
const global = { |
||||
app: null, |
||||
store: null, |
||||
route: null, |
||||
router: null |
||||
} |
||||
// 向外暴露通过use注册
|
||||
function install(app, options) { |
||||
vantInstall(app) |
||||
app.config.globalProperties.$axios = Axios.server |
||||
if (!global.app) global.app = app |
||||
} |
||||
|
||||
function createApp(path, attributes) { |
||||
const div = document.createElement('div') |
||||
div.setAttribute('v-cloak', '') |
||||
div.id = 'app' |
||||
|
||||
const appView = document.createElement('app') |
||||
if (attributes instanceof Object) { |
||||
for (a in attributes) { |
||||
appView.setAttribute(a, attributes[a]) |
||||
} |
||||
} |
||||
div.appendChild(appView) |
||||
document.body.appendChild(div) |
||||
|
||||
Vue.createApp({ |
||||
components: { app: vueLoader(path) } |
||||
}).use(VueConfig).use(store).use(VueRouter.createRouter({ history: VueRouter.createWebHashHistory(), routes: [] })).mount('#app') |
||||
} |
||||
|
||||
const cacheComponentsPath = [] |
||||
|
||||
// 后期移除
|
||||
function components(obj) { |
||||
if (obj instanceof Object) { |
||||
for (const name in obj) { |
||||
const path = obj[name] |
||||
if (!name || !path) { |
||||
return console.error('name or path is null') |
||||
} |
||||
const key = name + '|' + path |
||||
if (cacheComponentsPath.indexOf(key) === -1) { |
||||
global.app.component(name, vueLoader(path)) |
||||
} else { |
||||
// console.log(`${name}已注册过`)
|
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
function scriptLoader(src) { |
||||
const jsFile = document.createElement('script'); |
||||
jsFile.src = src; |
||||
document.head.appendChild(jsFile); |
||||
} |
||||
|
||||
function addRoutes(pathObj, routes) { |
||||
if (routes.length > 0) { |
||||
routes.forEach(item => { |
||||
global.router.addRoute({ |
||||
meta: item.meta, |
||||
name: item.name, |
||||
path: item.path, |
||||
children: item.children, |
||||
component: vueLoader(item.component) |
||||
}) |
||||
}) |
||||
|
||||
// global.router.beforeEach((to, from, next) => {
|
||||
// next()
|
||||
// })
|
||||
|
||||
|
||||
if (typeof pathObj === 'object') { |
||||
global.store.dispatch('setRoutePath', pathObj.path) |
||||
console.log(pathObj); |
||||
global.router.replace(pathObj) |
||||
} else { // string
|
||||
global.store.dispatch('setRoutePath', pathObj) |
||||
if (global.route.path === '/') { |
||||
return global.router.replace(pathObj) |
||||
} |
||||
global.router.replace({ path: global.route.path, params: global.route.params, query: global.route.query }) |
||||
} |
||||
} |
||||
} |
||||
|
||||
const mjsCaches = {} |
||||
const vueCaches = {} |
||||
|
||||
function vueLoader(path) { |
||||
if (path.length > 4 && path.substring(path.length - 4) !== '.vue') path += '.vue' |
||||
|
||||
return Vue.defineAsyncComponent(function () { |
||||
var pathname = window.location.pathname |
||||
pathname = pathname.substring(0, pathname.lastIndexOf('/')) |
||||
|
||||
if (!global.store) global.store = Vuex.useStore() |
||||
if (!global.route) global.route = VueRouter.useRoute() |
||||
if (!global.router) global.router = VueRouter.useRouter() |
||||
if (NProgress) NProgress.start() |
||||
|
||||
return window['vue3-sfc-loader'].loadModule(path, { |
||||
moduleCache: { |
||||
'vue-helper': { components: components, scriptLoader: scriptLoader, addRoutes: addRoutes, route: VueRouter.useRoute(), router: VueRouter.useRouter(), store: Vuex.useStore() }, |
||||
vue: Vue, |
||||
vuex: { useStore: Vuex.useStore }, |
||||
'vue-router': { useRouter: VueRouter.useRouter, useRoute: VueRouter.useRoute }, |
||||
axios: { |
||||
axios: Axios.server, |
||||
copyright: Axios.copyright, |
||||
RUN_ENV: Axios.RUN_ENV, |
||||
UPLOAD_URL: Axios.UPLOAD_URL, |
||||
BASE_URL: Axios.BASE_URL, |
||||
OL_WS_URL: Axios.OL_WS_URL, |
||||
}, |
||||
}, |
||||
getFile: function (url) { |
||||
var index = url.indexOf('@') |
||||
if (index === 0) url = pathname + '/src' + url.substring(index + 1) |
||||
|
||||
var type = '.mjs' |
||||
var laIndex = url.lastIndexOf('.') |
||||
if (laIndex > -1) type = url.substring(laIndex) |
||||
|
||||
if (type === '.vue') { |
||||
if (vueCaches[url]) { |
||||
if (NProgress) NProgress.done() |
||||
console.log('[' + type + ']' + url + '已注册'); |
||||
return vueCaches[url] |
||||
} |
||||
} |
||||
|
||||
if (type === '.mjs') { |
||||
if (mjsCaches[url]) { |
||||
if (NProgress) NProgress.done() |
||||
console.log('[' + type + ']' + url + '已注册'); |
||||
return mjsCaches[url] |
||||
} |
||||
} |
||||
|
||||
return fetch(url).then(function (res) { |
||||
if (NProgress) NProgress.done() |
||||
if (!res.ok) throw Object.assign(new Error(url + ' ' + res.statusText), { res: res }) |
||||
return { |
||||
type: type, |
||||
getContentData: function (asBinary) { |
||||
var respData = asBinary ? res.arrayBuffer() : res.text() |
||||
if (type === '.vue') if (!vueCaches[url]) vueCaches[url] = respData |
||||
|
||||
if (type === '.mjs') if (!mjsCaches[url]) mjsCaches[url] = respData |
||||
return respData |
||||
} |
||||
} |
||||
}) |
||||
}, |
||||
handleModule: function (type, getContentData, path, options) { }, |
||||
addStyle: function (textContent) { |
||||
var style = Object.assign(document.createElement('style'), { textContent: textContent }) |
||||
var ref = document.head.getElementsByTagName('style')[0] || null |
||||
document.head.insertBefore(style, ref) |
||||
}, |
||||
log(type, ...args) { |
||||
console[type](...args) |
||||
}, |
||||
compiledCache: { |
||||
set(key, str) { |
||||
for (; ;) { |
||||
try { |
||||
window.localStorage.setItem((key), str) |
||||
break |
||||
} catch (ex) { |
||||
window.localStorage.removeItem(window.localStorage.key(0)) |
||||
} |
||||
} |
||||
}, |
||||
get(key) { |
||||
return window.localStorage.getItem(key) |
||||
} |
||||
} |
||||
}) |
||||
}) |
||||
} |
||||
|
||||
// vant组件注册
|
||||
function vantInstall(app) { |
||||
if (!window.vant) return |
||||
// 空状态
|
||||
app.use(vant.Empty) |
||||
app.use(vant.Button) |
||||
app.use(vant.Lazyload) |
||||
app.use(vant.Cell) |
||||
app.use(vant.CellGroup) |
||||
|
||||
app.use(vant.Icon) |
||||
app.use(vant.Image) |
||||
// Layout 布局
|
||||
app.use(vant.Col) |
||||
app.use(vant.Row) |
||||
// 弹出层
|
||||
app.use(vant.Popup) |
||||
app.use(vant.Toast) |
||||
app.use(vant.Cascader) |
||||
app.use(vant.Checkbox) |
||||
app.use(vant.CheckboxGroup) |
||||
app.use(vant.DatetimePicker) |
||||
app.use(vant.Field) |
||||
app.use(vant.Form) |
||||
app.use(vant.NumberKeyboard) |
||||
app.use(vant.PasswordInput) |
||||
app.use(vant.Picker) |
||||
app.use(vant.Radio) |
||||
app.use(vant.RadioGroup) |
||||
app.use(vant.Rate) |
||||
app.use(vant.Search) |
||||
app.use(vant.Slider) |
||||
app.use(vant.Stepper) |
||||
app.use(vant.Switch) |
||||
app.use(vant.Uploader) |
||||
app.use(vant.ActionSheet) |
||||
app.use(vant.Dialog) |
||||
app.use(vant.DropdownMenu) |
||||
app.use(vant.DropdownItem) |
||||
app.use(vant.Loading) |
||||
app.use(vant.Notify) |
||||
app.use(vant.Overlay) |
||||
app.use(vant.Area) |
||||
|
||||
app.use(vant.PullRefresh) |
||||
app.use(vant.Badge) |
||||
app.use(vant.Circle) |
||||
app.use(vant.Collapse) |
||||
app.use(vant.CollapseItem) |
||||
app.use(vant.CountDown) |
||||
app.use(vant.Divider) |
||||
app.use(vant.ImagePreview) |
||||
app.use(vant.List) |
||||
app.use(vant.NoticeBar) |
||||
app.use(vant.Popover) |
||||
app.use(vant.Progress) |
||||
app.use(vant.Skeleton) |
||||
app.use(vant.Step) |
||||
app.use(vant.Steps) |
||||
app.use(vant.Sticky) |
||||
app.use(vant.Swipe) |
||||
app.use(vant.SwipeItem) |
||||
app.use(vant.Tag) |
||||
app.use(vant.Grid) |
||||
app.use(vant.GridItem) |
||||
app.use(vant.IndexBar) |
||||
app.use(vant.IndexAnchor) |
||||
app.use(vant.NavBar) |
||||
app.use(vant.Pagination) |
||||
app.use(vant.Sidebar) |
||||
app.use(vant.SidebarItem) |
||||
|
||||
app.use(vant.Tab) |
||||
app.use(vant.Tabs) |
||||
app.use(vant.Tabbar) |
||||
app.use(vant.TabbarItem) |
||||
app.use(vant.TreeSelect) |
||||
app.use(vant.SwipeCell); |
||||
app.use(vant.Card); |
||||
app.use(vant.Calendar) |
||||
} |
||||
|
||||
return { |
||||
install: install, |
||||
vueLoader: vueLoader, |
||||
createApp: createApp |
||||
} |
||||
})(Vue, Vuex, VueRouter, Axios, NProgress) |
||||
|
||||
Object.freeze(VueConfig) |
File diff suppressed because one or more lines are too long
@ -0,0 +1,82 @@ |
||||
<template> |
||||
<div id="app" |
||||
v-cloak> |
||||
<div v-if="show"> |
||||
<van-form class="card__box" |
||||
label-width="80px" |
||||
@submit="onSubmit"> |
||||
<van-field class="input" |
||||
v-model="patient.idCardNo" |
||||
label="身份证号" |
||||
name="idCardNo" |
||||
autofocus |
||||
maxLength="18" |
||||
placeholder="请填写身份证号码" |
||||
:border="false" |
||||
:rules="[{ required: true, message: '必填' }]"> |
||||
</van-field> |
||||
|
||||
<van-field class="input" |
||||
v-model="patient.name" |
||||
label="姓  名" |
||||
name="name" |
||||
maxLength="18" |
||||
placeholder="请填写真实姓名" |
||||
:border="false" |
||||
:rules="[{ required: true, message: '必填' }]"> |
||||
</van-field> |
||||
|
||||
<div style="margin: 16px 0; width:100%;text-align:center;"> |
||||
<span @click="onClick()" |
||||
style="color:var(--color-primary)">{{text}}</span> |
||||
</div> |
||||
</van-form> |
||||
</div> |
||||
</div> |
||||
</template> |
||||
<script> |
||||
import { Go } from '@/utils/common-util.mjs' |
||||
export default { |
||||
|
||||
data() { |
||||
return { |
||||
show: false, |
||||
text: '人脸识别', |
||||
patient: { |
||||
idCardNo: '', |
||||
name: '' |
||||
}, |
||||
redirect_uri: '' |
||||
} |
||||
}, |
||||
created() { |
||||
if(URLUtil.getQueryVar('verifyInfo')){ |
||||
this.patient.idCardNo = URLUtil.getQueryVar('verifyInfo').split('_')[0] |
||||
this.patient.name = decodeURIComponent(URLUtil.getQueryVar('verifyInfo').split('_')[1]) |
||||
this.redirect_uri = decodeURIComponent(URLUtil.getQueryVar('verifyInfo').split('_')[2]) |
||||
} |
||||
if (!URLUtil.getQueryVar('wechatCode') && !URLUtil.getQueryVar('registerOrderId')) { // 获取授权码 |
||||
if (vant) { |
||||
vant.Toast.loading({ duration: 0, forbidClick: true, message: '页面加载中...' }) |
||||
} |
||||
return window.location.href = 'https://health.tengmed.com/open/getUserCode?redirect_uri=' + window.location.href |
||||
} |
||||
this.show = true |
||||
}, |
||||
methods: { |
||||
onClick() { |
||||
this.$axios.post('/wx/healthCode/registerUniformVerifyOrder.do', { |
||||
idCardNo: this.patient.idCardNo, |
||||
name: this.patient.name, |
||||
wechatCode: URLUtil.getQueryVar('wechatCode') |
||||
}).then(resp => { |
||||
if (resp.code === 200) { |
||||
window.location.href = `https://health.tengmed.com/open/idAuth?order_id=${resp.data}&hospital_id=31737&redirect_uri=${this.redirect_uri}?orderId=${resp.data}` |
||||
} else { |
||||
window.location.reload() |
||||
} |
||||
}) |
||||
} |
||||
}, |
||||
} |
||||
</script> |
@ -1,433 +1,436 @@ |
||||
<template> |
||||
<div class="consultation-tool-bar"> |
||||
<div class="send"> |
||||
<div class="send__voice"> |
||||
<van-icon name="arrow-up" |
||||
size="28" |
||||
color="#929292" |
||||
:class="{ 'arrowTransform': tool.show, 'arrowTransformReturn': !tool.show }" |
||||
@click.stop="tool.show = !tool.show; cancelRevoke()" /> |
||||
</div> |
||||
<van-field v-show="false" |
||||
v-model="test" |
||||
style="width: 40px;"></van-field> |
||||
<van-field class="send__input" |
||||
ref="input" |
||||
type="textarea" |
||||
autosize |
||||
rows="1" |
||||
v-model="message" |
||||
placeholder="请输入" |
||||
enterkeyhint="send" |
||||
@focus="cancelRevoke" |
||||
@keyup.enter="handleSendMessage" |
||||
@update:model-value="resizeInput" /> |
||||
<div class="send__btn" |
||||
@click="handleSendMessage">发 送</div> |
||||
</div> |
||||
|
||||
<transition name="fade"> |
||||
<div v-if="tool.show" |
||||
class="tool_box" |
||||
:style="{ 'bottom': `${bottomHeight}px` }"> |
||||
<div class="tool_item"> |
||||
<van-uploader multiple |
||||
:before-read="onBeforeRead" |
||||
@click-upload="tool.show = !tool.show"> |
||||
<svg t="1663317574777" |
||||
class="icon" |
||||
viewBox="0 0 1024 1024" |
||||
version="1.1" |
||||
xmlns="http://www.w3.org/2000/svg" |
||||
p-id="21868" |
||||
width="28" |
||||
height="28"> |
||||
<path d="M841.71335 65.290005 182.285626 65.290005c-64.511269 0-116.995621 52.484352-116.995621 116.995621L65.290005 841.71335c0 64.511269 52.484352 116.995621 116.995621 116.995621l659.427724 0c64.511269 0 116.995621-52.484352 116.995621-116.995621L958.708971 182.285626C958.708971 117.774357 906.225643 65.290005 841.71335 65.290005zM182.285626 107.833961l659.427724 0c41.051975 0 74.451666 33.398668 74.451666 74.451666l0 136.557142c-150.09446 5.26184-290.370297 66.084091-396.978337 172.692131-49.960879 49.961902-89.841168 107.331517-118.694309 169.625282-83.496669-70.835302-204.372667-75.376735-292.65841-13.617136L107.833961 182.285626C107.833961 141.232628 141.232628 107.833961 182.285626 107.833961zM107.833961 841.71335 107.833961 702.627618c76.54228-74.311473 198.833511-74.234725 275.272437 0.24457-24.303522 65.298192-37.026288 135.112234-37.026288 206.91149 0 2.223644 0.343831 4.366448 0.977257 6.381337L182.285626 916.165016C141.232628 916.165016 107.833961 882.766348 107.833961 841.71335zM841.71335 916.165016 387.646807 916.165016c0.633427-2.01489 0.977257-4.157693 0.977257-6.381337 0-146.71755 57.053414-284.572244 160.647817-388.166647 98.570993-98.570993 228.166583-154.963351 366.894158-160.204725L916.166039 841.71335C916.165016 882.766348 882.766348 916.165016 841.71335 916.165016z" |
||||
p-id="21869" |
||||
fill="#707070"></path> |
||||
<path d="M312.397986 413.458683c60.8376 0 110.332874-49.494251 110.332874-110.332874s-49.494251-110.332874-110.332874-110.332874-110.332874 49.494251-110.332874 110.332874S251.559363 413.458683 312.397986 413.458683zM312.397986 235.337913c37.378306 0 67.788919 30.40959 67.788919 67.788919s-30.40959 67.788919-67.788919 67.788919-67.788919-30.40959-67.788919-67.788919S275.018657 235.337913 312.397986 235.337913z" |
||||
p-id="21870" |
||||
fill="#707070"></path> |
||||
</svg> |
||||
<div class="tool_item_title">图片</div> |
||||
</van-uploader> |
||||
</div> |
||||
<div class="tool_item" |
||||
@click="openTreat"> |
||||
<van-icon name="records" |
||||
color="#929292" |
||||
size="30" /> |
||||
<div class="tool_item_title">就诊记录</div> |
||||
</div> |
||||
<div class="tool_item" |
||||
@click="toRecipe"> |
||||
<svg t="1681180334020" |
||||
class="icon" |
||||
viewBox="0 0 1024 1024" |
||||
version="1.1" |
||||
xmlns="http://www.w3.org/2000/svg" |
||||
p-id="3639" |
||||
width="28" |
||||
height="28"> |
||||
<path d="M276.232215 0h569.367801a25.211231 25.211231 0 0 1 25.151228 25.151228v971.657444a25.221232 25.221232 0 0 1-25.151228 25.161229H74.952387A25.221232 25.221232 0 0 1 49.801159 996.808672v-770.637628a25.101226 25.101226 0 0 1 8.780428-19.000928L258.531351 7.310357A25.451243 25.451243 0 0 1 276.232215 0z m25.001221 50.17245l-0.270014 176.008594a25.001221 25.001221 0 0 1-25.00122 25.001221v0.130006h-176.008595v720.325172h720.395176V50.222452zM135.525344 201.009815h115.425636l0.130007-115.425636z m0 0" |
||||
fill="#656666" |
||||
p-id="3640"></path> |
||||
<path d="M175.467295 837.590898h569.217793v33.551638H175.467295z m0-314.015333h217.770633v33.551638H175.467295z m467.872845-157.767703l31.821554-49.782431a4.190205 4.190205 0 0 1 3.600176-2.000098h72.813555a4.070199 4.070199 0 0 1 3.720182 2.260111 3.810186 3.810186 0 0 1-0.250013 4.260208l-73.003564 108.225284a4.240207 4.240207 0 0 0 0 4.660228l79.003857 117.005713a4.180204 4.180204 0 0 1-3.460169 6.530319h-77.443781a4.370213 4.370213 0 0 1-3.600176-2.000098l-36.201767-54.172645a4.220206 4.220206 0 0 0-7.000342-0.130006l-36.801797 54.582665a4.000195 4.000195 0 0 1-3.460169 1.860091h-74.163621a4.120201 4.120201 0 0 1-3.730183-2.260111 3.810186 3.810186 0 0 1 0.270014-4.260208l77.343776-115.685649a4.260208 4.260208 0 0 0 0-4.670228l-90.654426-128.466272h-4.120202v88.004297a4.150203 4.150203 0 0 1-4.120201 4.120201h-62.843068a4.140202 4.140202 0 0 1-4.120201-4.120201V142.686967a4.140202 4.140202 0 0 1 4.120201-4.120201h106.275189c50.852483 0 88.514322 29.421437 88.514322 82.524029 0 29.69145-13.300649 55.91273-37.531833 70.293433a4.000195 4.000195 0 0 0-2.000097 2.66013 3.820187 3.820187 0 0 0 0.520025 3.200156l48.072347 69.093374c2.000098 2.270111 6.790332 2.130104 8.510416-0.530026zM497.883038 205.230021v33.541638a4.150203 4.150203 0 0 0 4.120201 4.120201h22.33109c7.050344 0 18.760916-0.540026 24.351189-5.32026 4.120201-3.600176 4.930241-11.720572 4.930241-16.900825s-0.670033-11.190546-4.790234-14.780722c-5.450266-4.660228-17.700864-4.92024-24.491196-4.92024h-22.33109a4.260208 4.260208 0 0 0-4.120201 4.260208z m-322.415743 422.92065h569.487807v33.541638H175.467295z m0.140006 104.63511h569.217794v33.541637H175.607301z m0 0" |
||||
fill="#656666" |
||||
p-id="3641"></path> |
||||
</svg> |
||||
<div class="tool_item_title">处方</div> |
||||
</div> |
||||
<div class="tool_item" |
||||
@click="toComment"> |
||||
<svg t="1686299854270" |
||||
class="icon" |
||||
viewBox="0 0 1024 1024" |
||||
version="1.1" |
||||
xmlns="http://www.w3.org/2000/svg" |
||||
p-id="3239" |
||||
width="28" |
||||
height="28"> |
||||
<path d="M512 64C264.533333 64 64 264.533333 64 512s200.533333 448 448 448 448-200.533333 448-448S759.466667 64 512 64z m0 853.333333C288 917.333333 106.666667 736 106.666667 512S288 106.666667 512 106.666667s405.333333 181.333333 405.333333 405.333333-181.333333 405.333333-405.333333 405.333333z" |
||||
fill="#666666" |
||||
p-id="3240"></path> |
||||
<path d="M627.2 622.933333c-29.866667 32-70.4 49.066667-115.2 49.066667-42.666667 0-83.2-17.066667-113.066667-46.933333-8.533333-8.533333-21.333333-8.533333-29.866666 0-8.533333 8.533333-8.533333 21.333333 0 29.866666 38.4 38.4 89.6 59.733333 142.933333 59.733334 55.466667 0 106.666667-21.333333 145.066667-61.866667 8.533333-8.533333 8.533333-21.333333 0-29.866667-8.533333-8.533333-21.333333-8.533333-29.866667 0z" |
||||
fill="#666666" |
||||
p-id="3241"></path> |
||||
<path d="M384 448m-42.666667 0a42.666667 42.666667 0 1 0 85.333334 0 42.666667 42.666667 0 1 0-85.333334 0Z" |
||||
fill="#666666" |
||||
p-id="3242"></path> |
||||
<path d="M640 448m-42.666667 0a42.666667 42.666667 0 1 0 85.333334 0 42.666667 42.666667 0 1 0-85.333334 0Z" |
||||
fill="#666666" |
||||
p-id="3243"></path> |
||||
</svg> |
||||
<div class="tool_item_title">评价医生</div> |
||||
</div> |
||||
</div> |
||||
</transition> |
||||
|
||||
<van-popup v-model:show="tool.treat.show" |
||||
position="right" |
||||
:style="{ height: 'calc(100% - 0px)', 'width': '55%', 'box-sizing': 'border-box', 'padding-top': paddingTop }"> |
||||
<div style="font-size: 15px;font-weight: bolder;color: #606266;padding: 10px;">就诊记录</div> |
||||
<section v-if="tool.treat.data.length > 0"> |
||||
<van-cell v-for="(treat, k) of tool.treat.data" |
||||
:key="k"> |
||||
<div class="treat_item_time">{{ treat.registerDate }}</div> |
||||
<div class="treat_item"> |
||||
<div>主诉:</div> |
||||
<div>{{ treat.complaint }}</div> |
||||
</div> |
||||
<div class="treat_item"> |
||||
<div>症状:</div> |
||||
<div>{{ treat.symptom }}</div> |
||||
</div> |
||||
<div class="treat_item"> |
||||
<div>诊断:</div> |
||||
<div>{{ treat.diagnose }}</div> |
||||
</div> |
||||
<div class="treat_item"> |
||||
<div>门诊号:</div> |
||||
<div>{{ treat.mzNum }}</div> |
||||
</div> |
||||
<div class="treat_item"> |
||||
<div>医生:</div> |
||||
<div>{{ treat.doctName }}</div> |
||||
</div> |
||||
</van-cell> |
||||
</section> |
||||
<van-empty v-else |
||||
:image-size="[60, 40]" |
||||
description="暂无就诊记录" /> |
||||
</van-popup> |
||||
</div> |
||||
<div class="consultation-tool-bar"> |
||||
<div class="send"> |
||||
<div class="send__voice"> |
||||
<van-icon name="arrow-up" |
||||
size="28" |
||||
color="#929292" |
||||
:class="{ 'arrowTransform': tool.show, 'arrowTransformReturn': !tool.show }" |
||||
@click.stop="tool.show = !tool.show; cancelRevoke()" /> |
||||
</div> |
||||
<van-field v-show="false" |
||||
v-model="test" |
||||
style="width: 40px;"></van-field> |
||||
<van-field class="send__input" |
||||
ref="input" |
||||
type="textarea" |
||||
autosize |
||||
rows="1" |
||||
v-model="message" |
||||
placeholder="请输入" |
||||
enterkeyhint="send" |
||||
@focus="cancelRevoke" |
||||
@keyup.enter="handleSendMessage" |
||||
@update:model-value="resizeInput" /> |
||||
<div class="send__btn" |
||||
@click="handleSendMessage">发 送</div> |
||||
</div> |
||||
|
||||
<transition name="fade"> |
||||
<div v-if="tool.show" |
||||
class="tool_box" |
||||
:style="{ 'bottom': `${bottomHeight}px` }"> |
||||
<div class="tool_item"> |
||||
<van-uploader multiple |
||||
:before-read="onBeforeRead" |
||||
@click-upload="tool.show = !tool.show"> |
||||
<svg t="1663317574777" |
||||
class="icon" |
||||
viewBox="0 0 1024 1024" |
||||
version="1.1" |
||||
xmlns="http://www.w3.org/2000/svg" |
||||
p-id="21868" |
||||
width="28" |
||||
height="28"> |
||||
<path d="M841.71335 65.290005 182.285626 65.290005c-64.511269 0-116.995621 52.484352-116.995621 116.995621L65.290005 841.71335c0 64.511269 52.484352 116.995621 116.995621 116.995621l659.427724 0c64.511269 0 116.995621-52.484352 116.995621-116.995621L958.708971 182.285626C958.708971 117.774357 906.225643 65.290005 841.71335 65.290005zM182.285626 107.833961l659.427724 0c41.051975 0 74.451666 33.398668 74.451666 74.451666l0 136.557142c-150.09446 5.26184-290.370297 66.084091-396.978337 172.692131-49.960879 49.961902-89.841168 107.331517-118.694309 169.625282-83.496669-70.835302-204.372667-75.376735-292.65841-13.617136L107.833961 182.285626C107.833961 141.232628 141.232628 107.833961 182.285626 107.833961zM107.833961 841.71335 107.833961 702.627618c76.54228-74.311473 198.833511-74.234725 275.272437 0.24457-24.303522 65.298192-37.026288 135.112234-37.026288 206.91149 0 2.223644 0.343831 4.366448 0.977257 6.381337L182.285626 916.165016C141.232628 916.165016 107.833961 882.766348 107.833961 841.71335zM841.71335 916.165016 387.646807 916.165016c0.633427-2.01489 0.977257-4.157693 0.977257-6.381337 0-146.71755 57.053414-284.572244 160.647817-388.166647 98.570993-98.570993 228.166583-154.963351 366.894158-160.204725L916.166039 841.71335C916.165016 882.766348 882.766348 916.165016 841.71335 916.165016z" |
||||
p-id="21869" |
||||
fill="#707070"></path> |
||||
<path d="M312.397986 413.458683c60.8376 0 110.332874-49.494251 110.332874-110.332874s-49.494251-110.332874-110.332874-110.332874-110.332874 49.494251-110.332874 110.332874S251.559363 413.458683 312.397986 413.458683zM312.397986 235.337913c37.378306 0 67.788919 30.40959 67.788919 67.788919s-30.40959 67.788919-67.788919 67.788919-67.788919-30.40959-67.788919-67.788919S275.018657 235.337913 312.397986 235.337913z" |
||||
p-id="21870" |
||||
fill="#707070"></path> |
||||
</svg> |
||||
<div class="tool_item_title">图片</div> |
||||
</van-uploader> |
||||
</div> |
||||
<div class="tool_item" |
||||
@click="openTreat"> |
||||
<van-icon name="records" |
||||
color="#929292" |
||||
size="30" /> |
||||
<div class="tool_item_title">就诊记录</div> |
||||
</div> |
||||
<div class="tool_item" |
||||
@click="toRecipe"> |
||||
<svg t="1681180334020" |
||||
class="icon" |
||||
viewBox="0 0 1024 1024" |
||||
version="1.1" |
||||
xmlns="http://www.w3.org/2000/svg" |
||||
p-id="3639" |
||||
width="28" |
||||
height="28"> |
||||
<path d="M276.232215 0h569.367801a25.211231 25.211231 0 0 1 25.151228 25.151228v971.657444a25.221232 25.221232 0 0 1-25.151228 25.161229H74.952387A25.221232 25.221232 0 0 1 49.801159 996.808672v-770.637628a25.101226 25.101226 0 0 1 8.780428-19.000928L258.531351 7.310357A25.451243 25.451243 0 0 1 276.232215 0z m25.001221 50.17245l-0.270014 176.008594a25.001221 25.001221 0 0 1-25.00122 25.001221v0.130006h-176.008595v720.325172h720.395176V50.222452zM135.525344 201.009815h115.425636l0.130007-115.425636z m0 0" |
||||
fill="#656666" |
||||
p-id="3640"></path> |
||||
<path d="M175.467295 837.590898h569.217793v33.551638H175.467295z m0-314.015333h217.770633v33.551638H175.467295z m467.872845-157.767703l31.821554-49.782431a4.190205 4.190205 0 0 1 3.600176-2.000098h72.813555a4.070199 4.070199 0 0 1 3.720182 2.260111 3.810186 3.810186 0 0 1-0.250013 4.260208l-73.003564 108.225284a4.240207 4.240207 0 0 0 0 4.660228l79.003857 117.005713a4.180204 4.180204 0 0 1-3.460169 6.530319h-77.443781a4.370213 4.370213 0 0 1-3.600176-2.000098l-36.201767-54.172645a4.220206 4.220206 0 0 0-7.000342-0.130006l-36.801797 54.582665a4.000195 4.000195 0 0 1-3.460169 1.860091h-74.163621a4.120201 4.120201 0 0 1-3.730183-2.260111 3.810186 3.810186 0 0 1 0.270014-4.260208l77.343776-115.685649a4.260208 4.260208 0 0 0 0-4.670228l-90.654426-128.466272h-4.120202v88.004297a4.150203 4.150203 0 0 1-4.120201 4.120201h-62.843068a4.140202 4.140202 0 0 1-4.120201-4.120201V142.686967a4.140202 4.140202 0 0 1 4.120201-4.120201h106.275189c50.852483 0 88.514322 29.421437 88.514322 82.524029 0 29.69145-13.300649 55.91273-37.531833 70.293433a4.000195 4.000195 0 0 0-2.000097 2.66013 3.820187 3.820187 0 0 0 0.520025 3.200156l48.072347 69.093374c2.000098 2.270111 6.790332 2.130104 8.510416-0.530026zM497.883038 205.230021v33.541638a4.150203 4.150203 0 0 0 4.120201 4.120201h22.33109c7.050344 0 18.760916-0.540026 24.351189-5.32026 4.120201-3.600176 4.930241-11.720572 4.930241-16.900825s-0.670033-11.190546-4.790234-14.780722c-5.450266-4.660228-17.700864-4.92024-24.491196-4.92024h-22.33109a4.260208 4.260208 0 0 0-4.120201 4.260208z m-322.415743 422.92065h569.487807v33.541638H175.467295z m0.140006 104.63511h569.217794v33.541637H175.607301z m0 0" |
||||
fill="#656666" |
||||
p-id="3641"></path> |
||||
</svg> |
||||
<div class="tool_item_title">处方</div> |
||||
</div> |
||||
<div class="tool_item" |
||||
@click="toComment"> |
||||
<svg t="1686299854270" |
||||
class="icon" |
||||
viewBox="0 0 1024 1024" |
||||
version="1.1" |
||||
xmlns="http://www.w3.org/2000/svg" |
||||
p-id="3239" |
||||
width="28" |
||||
height="28"> |
||||
<path d="M512 64C264.533333 64 64 264.533333 64 512s200.533333 448 448 448 448-200.533333 448-448S759.466667 64 512 64z m0 853.333333C288 917.333333 106.666667 736 106.666667 512S288 106.666667 512 106.666667s405.333333 181.333333 405.333333 405.333333-181.333333 405.333333-405.333333 405.333333z" |
||||
fill="#666666" |
||||
p-id="3240"></path> |
||||
<path d="M627.2 622.933333c-29.866667 32-70.4 49.066667-115.2 49.066667-42.666667 0-83.2-17.066667-113.066667-46.933333-8.533333-8.533333-21.333333-8.533333-29.866666 0-8.533333 8.533333-8.533333 21.333333 0 29.866666 38.4 38.4 89.6 59.733333 142.933333 59.733334 55.466667 0 106.666667-21.333333 145.066667-61.866667 8.533333-8.533333 8.533333-21.333333 0-29.866667-8.533333-8.533333-21.333333-8.533333-29.866667 0z" |
||||
fill="#666666" |
||||
p-id="3241"></path> |
||||
<path d="M384 448m-42.666667 0a42.666667 42.666667 0 1 0 85.333334 0 42.666667 42.666667 0 1 0-85.333334 0Z" |
||||
fill="#666666" |
||||
p-id="3242"></path> |
||||
<path d="M640 448m-42.666667 0a42.666667 42.666667 0 1 0 85.333334 0 42.666667 42.666667 0 1 0-85.333334 0Z" |
||||
fill="#666666" |
||||
p-id="3243"></path> |
||||
</svg> |
||||
<div class="tool_item_title">评价医生</div> |
||||
</div> |
||||
</div> |
||||
</transition> |
||||
|
||||
<van-popup v-model:show="tool.treat.show" |
||||
position="right" |
||||
:style="{ height: 'calc(100% - 0px)', 'width': '55%', 'box-sizing': 'border-box', 'padding-top': `${paddingTop}px` }"> |
||||
<div style="font-size: 15px;font-weight: bolder;color: #606266;padding: 10px;">就诊记录</div> |
||||
<section v-if="tool.treat.data.length > 0"> |
||||
<van-cell v-for="(treat, k) of tool.treat.data" |
||||
:key="k"> |
||||
<div class="treat_item_time">{{ treat.registerDate }}</div> |
||||
<div class="treat_item"> |
||||
<div>主诉:</div> |
||||
<div>{{ treat.complaint }}</div> |
||||
</div> |
||||
<div class="treat_item"> |
||||
<div>症状:</div> |
||||
<div>{{ treat.symptom }}</div> |
||||
</div> |
||||
<div class="treat_item"> |
||||
<div>诊断:</div> |
||||
<div>{{ treat.diagnose }}</div> |
||||
</div> |
||||
<div class="treat_item"> |
||||
<div>门诊号:</div> |
||||
<div>{{ treat.mzNum }}</div> |
||||
</div> |
||||
<div class="treat_item"> |
||||
<div>医生:</div> |
||||
<div>{{ treat.doctName }}</div> |
||||
</div> |
||||
</van-cell> |
||||
</section> |
||||
<van-empty v-else |
||||
:image-size="[60, 40]" |
||||
description="暂无就诊记录" /> |
||||
</van-popup> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import { reactive, toRefs, watch, ref, onUnmounted } from 'vue'; |
||||
import { useRoute, useRouter } from 'vue-router'; |
||||
export default { |
||||
props: { |
||||
clickBlur: { |
||||
type: Boolean, |
||||
default: false |
||||
}, |
||||
blurTime: { |
||||
type: Number |
||||
}, |
||||
order: { |
||||
type: Object, |
||||
default: () => { } |
||||
} |
||||
}, |
||||
emits: ['toRecipe'], |
||||
setup(props, context) { |
||||
const route = useRoute(); |
||||
const router = useRouter(); |
||||
const input = ref(null) |
||||
const toRecipe = () => context.emit('toRecipe') |
||||
|
||||
const state = reactive({ |
||||
message: '', |
||||
test: '你', |
||||
paddingTop: '40px' |
||||
}) |
||||
|
||||
/** |
||||
* 将消息传给父组件 |
||||
*/ |
||||
function handleSendMessage() { |
||||
context.emit('cancelRevoke') |
||||
state.message = state.message.trim().replace(/[\r\n]/g, "") |
||||
context.emit('sendMessage', state.message) |
||||
state.message = '' |
||||
resizeInput() |
||||
} |
||||
|
||||
/** |
||||
* 图片上传之前 |
||||
* @param {Any} file 图片文件 |
||||
*/ |
||||
function onBeforeRead(file) { |
||||
context.emit('sendImage', Array.isArray(file) ? file : [file]) |
||||
resizeInput() |
||||
} |
||||
|
||||
/** |
||||
* 监听滚动失焦 |
||||
*/ |
||||
watch(() => props.clickBlur, (newVal, oldVal) => { |
||||
if (newVal) { |
||||
if (new Date().getTime() - props.blurTime > 300) |
||||
input.value.blur() |
||||
} |
||||
}) |
||||
|
||||
// 工具箱 |
||||
const tool = reactive({ |
||||
show: false, |
||||
treat: { |
||||
show: false, |
||||
data: [] |
||||
}, |
||||
dom: null |
||||
}) |
||||
/** |
||||
* 打开就诊记录 |
||||
*/ |
||||
function openTreat() { |
||||
tool.show = !tool.show |
||||
tool.treat.show = !tool.treat.show |
||||
getTreatRecord() |
||||
} |
||||
document.addEventListener('scroll', closeTool, false) |
||||
document.addEventListener('click', closeTool, false) |
||||
|
||||
function closeTool(e) { |
||||
tool.show = false |
||||
document.onmousemove = null; |
||||
document.onmouseup = null; |
||||
document.onmousedown = null; |
||||
} |
||||
document.onmousemove = (e) => closeTool(e) |
||||
document.onmousedown = (e) => closeTool(e) |
||||
|
||||
onUnmounted(() => { |
||||
document.removeEventListener('scroll', closeTool) |
||||
document.removeEventListener('click', closeTool) |
||||
}) |
||||
|
||||
|
||||
/** |
||||
* 获取患者就诊记录 |
||||
* @param {String} patientId 患者id(115666) |
||||
* @param {String} deptCode 科室代码(0307) |
||||
*/ |
||||
function getTreatRecord(patientId, deptCode) { |
||||
axios.get(`/wx/treat/getTreatList.do?patientId=${patientId}&deptCode=${deptCode}`).then(response => { |
||||
if (response.code === 200) { |
||||
treat.data = resp.data |
||||
} |
||||
}) |
||||
} |
||||
|
||||
/** |
||||
* 工具标签高度变化 |
||||
*/ |
||||
const bottomHeight = ref(52) |
||||
const initBottomHeight = bottomHeight.value |
||||
function resizeInput() { |
||||
if (document.querySelector('.send').clientHeight > 52) { |
||||
setTimeout(() => { |
||||
context.emit('resizeInput', document.querySelector('.send').clientHeight - 52) |
||||
}, 100); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* 监听工具箱打开,重新计算工具箱bottom距离 |
||||
*/ |
||||
watch(() => tool.show, (newVal) => { |
||||
if (newVal) { |
||||
bottomHeight.value = initBottomHeight + (document.querySelector('.send').clientHeight - 52) |
||||
} |
||||
}) |
||||
|
||||
function toComment() { |
||||
if (!props.order.outTradeNo) return vant.Toast.fail('订单信息缺失,无法前往评价订单!') |
||||
router.push({ path: '/comment', query: { outTradeNo: props.order.outTradeNo } }) |
||||
} |
||||
|
||||
function cancelRevoke() { |
||||
context.emit('cancelRevoke') |
||||
} |
||||
|
||||
|
||||
return { |
||||
...toRefs(state), |
||||
onBeforeRead, |
||||
input, |
||||
handleSendMessage, |
||||
tool, |
||||
openTreat, |
||||
resizeInput, |
||||
bottomHeight, |
||||
toRecipe, |
||||
toComment, |
||||
cancelRevoke |
||||
} |
||||
}, |
||||
props: { |
||||
clickBlur: { |
||||
type: Boolean, |
||||
default: false |
||||
}, |
||||
blurTime: { |
||||
type: Number |
||||
}, |
||||
order: { |
||||
type: Object, |
||||
default: () => { } |
||||
} |
||||
}, |
||||
emits: ['toRecipe'], |
||||
setup(props, context) { |
||||
const route = useRoute(); |
||||
const router = useRouter(); |
||||
const input = ref(null) |
||||
const toRecipe = () => context.emit('toRecipe') |
||||
|
||||
const state = reactive({ |
||||
message: '', |
||||
test: '你', |
||||
paddingTop: 40 |
||||
}) |
||||
|
||||
/** |
||||
* 将消息传给父组件 |
||||
*/ |
||||
function handleSendMessage() { |
||||
context.emit('cancelRevoke') |
||||
state.message = state.message.trim().replace(/[\r\n]/g, "") |
||||
context.emit('sendMessage', state.message) |
||||
state.message = '' |
||||
resizeInput() |
||||
} |
||||
|
||||
/** |
||||
* 图片上传之前 |
||||
* @param {Any} file 图片文件 |
||||
*/ |
||||
function onBeforeRead(file) { |
||||
context.emit('sendImage', Array.isArray(file) ? file : [file]) |
||||
resizeInput() |
||||
} |
||||
|
||||
/** |
||||
* 监听滚动失焦 |
||||
*/ |
||||
watch(() => props.clickBlur, (newVal, oldVal) => { |
||||
if (newVal) { |
||||
if (new Date().getTime() - props.blurTime > 300) |
||||
input.value.blur() |
||||
} |
||||
}) |
||||
|
||||
// 工具箱 |
||||
const tool = reactive({ |
||||
show: false, |
||||
treat: { |
||||
show: false, |
||||
data: [] |
||||
}, |
||||
dom: null |
||||
}) |
||||
/** |
||||
* 打开就诊记录 |
||||
*/ |
||||
function openTreat() { |
||||
tool.show = !tool.show |
||||
tool.treat.show = !tool.treat.show |
||||
if (document.getElementsByClassName('symp_container').length > 0) { |
||||
const height = document.getElementsByClassName('symp_container')[0].clientHeight |
||||
state.paddingTop = 40 + height |
||||
} |
||||
getTreatRecord() |
||||
} |
||||
document.addEventListener('scroll', closeTool, false) |
||||
document.addEventListener('click', closeTool, false) |
||||
|
||||
function closeTool(e) { |
||||
tool.show = false |
||||
document.onmousemove = null; |
||||
document.onmouseup = null; |
||||
document.onmousedown = null; |
||||
} |
||||
document.onmousemove = (e) => closeTool(e) |
||||
document.onmousedown = (e) => closeTool(e) |
||||
|
||||
onUnmounted(() => { |
||||
document.removeEventListener('scroll', closeTool) |
||||
document.removeEventListener('click', closeTool) |
||||
}) |
||||
|
||||
|
||||
/** |
||||
* 获取患者就诊记录 |
||||
* @param {String} patientId 患者id(115666) |
||||
* @param {String} deptCode 科室代码(0307) |
||||
*/ |
||||
function getTreatRecord(patientId, deptCode) { |
||||
axios.get(`/wx/treat/getTreatList.do?patientId=${patientId}&deptCode=${deptCode}`).then(response => { |
||||
if (response.code === 200) { |
||||
treat.data = resp.data |
||||
} |
||||
}) |
||||
} |
||||
|
||||
/** |
||||
* 工具标签高度变化 |
||||
*/ |
||||
const bottomHeight = ref(52) |
||||
const initBottomHeight = bottomHeight.value |
||||
function resizeInput() { |
||||
if (document.querySelector('.send').clientHeight > 52) { |
||||
setTimeout(() => { |
||||
context.emit('resizeInput', document.querySelector('.send').clientHeight - 52) |
||||
}, 100); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* 监听工具箱打开,重新计算工具箱bottom距离 |
||||
*/ |
||||
watch(() => tool.show, (newVal) => { |
||||
if (newVal) { |
||||
bottomHeight.value = initBottomHeight + (document.querySelector('.send').clientHeight - 52) |
||||
} |
||||
}) |
||||
|
||||
function toComment() { |
||||
if (!props.order.outTradeNo) return vant.Toast.fail('订单信息缺失,无法前往评价订单!') |
||||
router.push({ path: '/comment', query: { outTradeNo: props.order.outTradeNo } }) |
||||
} |
||||
|
||||
function cancelRevoke() { |
||||
context.emit('cancelRevoke') |
||||
} |
||||
|
||||
|
||||
return { |
||||
...toRefs(state), |
||||
onBeforeRead, |
||||
input, |
||||
handleSendMessage, |
||||
tool, |
||||
openTreat, |
||||
resizeInput, |
||||
bottomHeight, |
||||
toRecipe, |
||||
toComment, |
||||
cancelRevoke |
||||
} |
||||
}, |
||||
} |
||||
</script> |
||||
<style scoped> |
||||
.consultation-tool-bar { |
||||
width: 100%; |
||||
height: auto; |
||||
background: #f0efef; |
||||
width: 100%; |
||||
height: auto; |
||||
background: #f0efef; |
||||
} |
||||
|
||||
.send { |
||||
width: calc(100% - 10px); |
||||
height: auto; |
||||
padding: 5px; |
||||
display: flex; |
||||
flex-direction: row; |
||||
justify-content: space-between; |
||||
position: relative; |
||||
border-top: 1px solid var(--border-a); |
||||
width: calc(100% - 10px); |
||||
height: auto; |
||||
padding: 5px; |
||||
display: flex; |
||||
flex-direction: row; |
||||
justify-content: space-between; |
||||
position: relative; |
||||
border-top: 1px solid var(--border-a); |
||||
} |
||||
|
||||
.send__voice { |
||||
width: 34px; |
||||
height: 34px; |
||||
display: flex; |
||||
justify-content: center; |
||||
align-items: center; |
||||
padding: 4px; |
||||
margin: auto; |
||||
width: 34px; |
||||
height: 34px; |
||||
display: flex; |
||||
justify-content: center; |
||||
align-items: center; |
||||
padding: 4px; |
||||
margin: auto; |
||||
} |
||||
|
||||
.send__input { |
||||
width: calc(100% - 120px); |
||||
height: auto; |
||||
max-height: 120px; |
||||
padding: 5px 10px; |
||||
margin: auto; |
||||
border-radius: 5px; |
||||
width: calc(100% - 120px); |
||||
height: auto; |
||||
max-height: 120px; |
||||
padding: 5px 10px; |
||||
margin: auto; |
||||
border-radius: 5px; |
||||
} |
||||
|
||||
.send__btn { |
||||
width: 55px; |
||||
height: 35px; |
||||
text-align: center; |
||||
background: #6ecb94; |
||||
border-radius: 5px; |
||||
line-height: 35px; |
||||
margin: auto; |
||||
color: #ffffff; |
||||
width: 55px; |
||||
height: 35px; |
||||
text-align: center; |
||||
background: #6ecb94; |
||||
border-radius: 5px; |
||||
line-height: 35px; |
||||
margin: auto; |
||||
color: #ffffff; |
||||
} |
||||
|
||||
.arrowTransform { |
||||
transition: 0.2s; |
||||
transform-origin: center; |
||||
transform: rotateZ(180deg); |
||||
transition: 0.2s; |
||||
transform-origin: center; |
||||
transform: rotateZ(180deg); |
||||
} |
||||
|
||||
.arrowTransformReturn { |
||||
transition: 0.2s; |
||||
transform-origin: center; |
||||
transform: rotateZ(0deg); |
||||
transition: 0.2s; |
||||
transform-origin: center; |
||||
transform: rotateZ(0deg); |
||||
} |
||||
|
||||
.tool_box { |
||||
width: 100%; |
||||
height: 60px; |
||||
background-color: #f1f1f1; |
||||
position: absolute; |
||||
left: 0; |
||||
display: flex; |
||||
flex-direction: row; |
||||
align-items: center; |
||||
text-align: center; |
||||
width: 100%; |
||||
height: 60px; |
||||
background-color: #f1f1f1; |
||||
position: absolute; |
||||
left: 0; |
||||
display: flex; |
||||
flex-direction: row; |
||||
align-items: center; |
||||
text-align: center; |
||||
} |
||||
|
||||
.tool_item { |
||||
flex: 1; |
||||
padding: 10px; |
||||
flex: 1; |
||||
padding: 10px; |
||||
} |
||||
|
||||
.tool_item .icon path { |
||||
fill: #929292; |
||||
fill: #929292; |
||||
} |
||||
|
||||
.tool_item_title { |
||||
font-size: 12px; |
||||
color: #929292; |
||||
font-size: 12px; |
||||
color: #929292; |
||||
} |
||||
|
||||
.fade-enter-active, |
||||
.fade-leave-active { |
||||
transition: opacity 0.4s; |
||||
transition: opacity 0.4s; |
||||
} |
||||
|
||||
.fade-enter, |
||||
.fade-leave-to { |
||||
opacity: 0; |
||||
opacity: 0; |
||||
} |
||||
|
||||
.treat .van-cell { |
||||
width: calc(100% - 8px); |
||||
box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%); |
||||
border: 1px solid #ebeef5; |
||||
transition: 0.3 time; |
||||
margin: 5px 4px; |
||||
padding: 10px; |
||||
width: calc(100% - 8px); |
||||
box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%); |
||||
border: 1px solid #ebeef5; |
||||
transition: 0.3 time; |
||||
margin: 5px 4px; |
||||
padding: 10px; |
||||
} |
||||
|
||||
.treat_item_time { |
||||
text-align: left; |
||||
font-weight: bold; |
||||
text-align: left; |
||||
font-weight: bold; |
||||
} |
||||
|
||||
.treat_item { |
||||
text-align: left; |
||||
text-align: left; |
||||
} |
||||
|
||||
.treat_item div:nth-child(1) { |
||||
position: absolute; |
||||
color: #606266; |
||||
font-weight: bold; |
||||
width: 60px; |
||||
overflow-wrap: normal; |
||||
position: absolute; |
||||
color: #606266; |
||||
font-weight: bold; |
||||
width: 60px; |
||||
overflow-wrap: normal; |
||||
} |
||||
|
||||
.treat_item div:nth-child(2) { |
||||
padding-left: 50px; |
||||
min-height: 24px; |
||||
padding-left: 50px; |
||||
min-height: 24px; |
||||
} |
||||
|
||||
.treat_item:nth-child(5) div:nth-child(1) { |
||||
font-size: 12px; |
||||
|
||||
font-size: 12px; |
||||
} |
||||
</style> |
||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue