diff --git a/src/components/layout/me/me.vue b/src/components/layout/me/me.vue index 562d709..e912634 100644 --- a/src/components/layout/me/me.vue +++ b/src/components/layout/me/me.vue @@ -77,7 +77,7 @@
关注医生
+ @click="clickModule({ link: 'concern-doctor.vue' })">关注医生
-
@@ -58,12 +58,12 @@ :key="i">{{ t }}
- {{ item.label }} + {{ item.name }}
{{ parseInt(item.price).toFixed(2) }}
- {{ item.sales > 99? '99+':item.sales }}人付款 +
@@ -77,6 +77,7 @@ import { reactive, ref, onUnmounted, computed, watch } from 'vue'; import { useRoute, useRouter } from 'vue-router'; import { store } from 'vue-helper' +import { axios } from 'axios' export default ({ name: 'combo', setup(props, context) { @@ -85,201 +86,79 @@ export default ({ store.dispatch('setTitle', '个人体检预约') - const combos = [ - { - index: 0, - label: '基础体检' - }, { - index: 1, - label: '入职体检' - }, { - index: 2, - label: '专项体检' - }, { - index: 3, - label: '婚孕体检' - }, { - index: 4, - label: '女性体检' - }, { - index: 5, - label: '男性体检' - }, { - index: 6, - label: '健康证' - }, { - index: 7, - label: '其他体检' - } - ] - - const items = [ - { - id: 0, - comboId: 0, - label: '个人保健健康体检男女通用套餐', - price: '789', - sales: 120 - }, { - id: 1, - comboId: 0, - label: '精细化全面妇科检查', - price: '189', - sales: 98 - }, { - id: 2, - comboId: 1, - label: '入职体检(满足大部分事业单位)', - price: '179', - sales: 120 - }, { - id: 3, - comboId: 1, - label: '入职体检', - price: '159', - sales: 120 - }, { - id: 4, - comboId: 1, - label: '入职体检(豪华升级)', - price: '199', - sales: 120 - }, { - id: 5, - comboId: 2, - label: '月经问题专项体检', - price: '120', - sales: 120 - }, { - id: 6, - comboId: 2, - label: '性传染病深度筛查', - price: '318', - sales: 120 - }, { - id: 7, - comboId: 2, - label: '孕期B超检查', - price: '49', - sales: 120 - }, { - id: 8, - comboId: 2, - label: '女性不孕专项初步排查检查套餐', - price: '260', - sales: 120 - }, { - id: 10, - comboId: 3, - label: '早孕检查|人流检查', - price: '20', - sales: 120 - }, { - id: 11, - comboId: 3, - label: '女性孕前检查套餐', - price: '168', - sales: 120 - }, { - id: 12, - comboId: 3, - label: '男性育前检查套餐', - price: '168', - sales: 120 - }, { - id: 13, - comboId: 3, - label: '女性孕前健康检查', - price: '168', - sales: 120 - }, { - id: 14, - comboId: 3, - label: '女性孕前前面备孕健康检查套餐', - price: '888', - sales: 120 - }, { - id: 15, - comboId: 4, - label: 'HPV+TCT+全面妇科检查', - price: '298', - sales: 120 - }, { - id: 16, - comboId: 4, - label: '宫颈癌筛查+全面妇科检查', - price: '298', - sales: 120 - }, { - id: 17, - comboId: 5, - label: '男性育前健康检查', - price: '168', - sales: 120 - }, { - id: 18, - comboId: 5, - label: '不育精准筛查', - price: '288', - sales: 120 - }, { - id: 19, - comboId: 5, - label: '男性育前全面健康检查', - price: '800', - sales: 120 - }, { - id: 20, - comboId: 6, - label: '公共场所健康证', - price: '198', - sales: 8 - }, { - id: 21, - comboId: 7, - label: '两性传染病基础筛查套餐', - price: '88', - sales: 20 - } - ] - const state = reactive({ comboIndex: 0, - comboLabel: combos[0].label + comboLabel: '', + combos: [], + items: [] }) function toBuy(item) { - router.push({ path: 'combo-detail' }) + router.push({ + path: 'combo-detail', query: { + packId: item.id + } + }) } function getComboLabel(label) { - const length = label.length + const length = label ? label.length : 0 if (length <= 3) { return [label] } else { if (length % 2 === 0) { return [label.substring(0, length / 2), label.substring(length / 2, length)] } else { - return [label.substring(0, Math.floor(length / 2)), label.substring(Math.floor(length / 2), length)] } } } watch(() => state.comboIndex, () => { - state.comboLabel = combos.find(i => i.index === state.comboIndex).label + state.comboLabel = state.combos.find(c => c.index === state.comboIndex).name }) onUnmounted(() => { sessionStorage.removeItem(store.state.prefix + 'title') }) + function getList() { + axios.get('/personal/getPackList').then(response => { + if (response.code === 200) { + state.items = [] + state.combos = response.data.map((c, index) => { + return { + name: c.name, + index: index + } + }) + response.data.forEach((Item, Index) => { + Item.index = Index + Item.dictPacks.forEach((item, index) => { + item.comboId = Index + }) + state.items.push(Item) + }) + console.log('response.data', response.data) + state.comboLabel = state.combos.length > 0 ? state.combos[0].name : '' + } + }) + } + getList() + + function getItems({ initItem, flag }) { + if (!initItem || initItem.dictPacks.length === 0) return [] + const list = initItem.dictPacks.filter(c => c.comboId === state.comboIndex) + return list.filter((i, index) => index % 2 === flag) + } + return { state, - combos, - items, + // combos, + // items, toBuy, - getComboLabel + getComboLabel, + getItems } } }) diff --git a/src/views/body-checkup/personal-reserve-pay.vue b/src/views/body-checkup/personal-reserve-pay.vue index 5f4addd..2655657 100644 --- a/src/views/body-checkup/personal-reserve-pay.vue +++ b/src/views/body-checkup/personal-reserve-pay.vue @@ -27,6 +27,14 @@ placeholder="请输入联系电话" :rules="[{ required: true, message: '请输入【电话号码】', trigger: 'onBlur' }, { name, message: '请输入格式正确的【电话号码】', trigger: 'onBlur' }]" /> + + + + + \ No newline at end of file + + \ No newline at end of file diff --git a/src/views/medical-record/medical-record-apply.vue b/src/views/medical-record/medical-record-apply.vue index d5b9684..b2811db 100644 --- a/src/views/medical-record/medical-record-apply.vue +++ b/src/views/medical-record/medical-record-apply.vue @@ -383,7 +383,7 @@ export default { use: form.useWay, phone: form.phone, } - axios.post('wx/record/upload', params).then(response => { + axios.post('/wx/record/upload', params).then(response => { if (response.code === 200) { vant.Toast.success('预约成功') resetForm() diff --git a/src/views/medical-record/medical-record-history.vue b/src/views/medical-record/medical-record-history.vue index 9104073..fcdd363 100644 --- a/src/views/medical-record/medical-record-history.vue +++ b/src/views/medical-record/medical-record-history.vue @@ -119,7 +119,7 @@ export default { function getHistory() { patient.value = store.getters.getPatient if (!patient.value || (patient.value && !patient.value.patientId)) return vant.Toast.fail('患者参数缺失,无法查询翻拍记录!') - axios.RGet('wx/record/listByPatientId', { + axios.RGet('/wx/record/listByPatientId', { patientId: patient.value.patientId, }).then(response => { if (response.code === 200) { diff --git a/src/views/online/online-doctor/components/ol-doctor.vue b/src/views/online/online-doctor/components/ol-doctor.vue index 20b6b15..e677183 100644 --- a/src/views/online/online-doctor/components/ol-doctor.vue +++ b/src/views/online/online-doctor/components/ol-doctor.vue @@ -1,201 +1,40 @@ diff --git a/src/views/online/online-doctor/components/ol-message.vue b/src/views/online/online-doctor/components/ol-message.vue deleted file mode 100644 index 0f96837..0000000 --- a/src/views/online/online-doctor/components/ol-message.vue +++ /dev/null @@ -1,316 +0,0 @@ - - - - - diff --git a/src/views/online/online-doctor/components/ol-msg-input.vue b/src/views/online/online-doctor/components/ol-msg-input.vue new file mode 100644 index 0000000..64a68a0 --- /dev/null +++ b/src/views/online/online-doctor/components/ol-msg-input.vue @@ -0,0 +1,347 @@ + + + + + diff --git a/src/views/online/online-doctor/components/dialog-workload.vue b/src/views/online/online-doctor/components/ol-user/dialog-workload.vue similarity index 100% rename from src/views/online/online-doctor/components/dialog-workload.vue rename to src/views/online/online-doctor/components/ol-user/dialog-workload.vue diff --git a/src/views/online/online-doctor/components/ol-setting.vue b/src/views/online/online-doctor/components/ol-user/ol-setting.vue similarity index 69% rename from src/views/online/online-doctor/components/ol-setting.vue rename to src/views/online/online-doctor/components/ol-user/ol-setting.vue index f3a90c7..9cf1846 100644 --- a/src/views/online/online-doctor/components/ol-setting.vue +++ b/src/views/online/online-doctor/components/ol-user/ol-setting.vue @@ -1,17 +1,8 @@