From 3166b8e666eb06c8862c339c9a0432f8693445fa Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Mon, 8 Apr 2024 16:23:46 +0800 Subject: [PATCH 01/58] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=97=AE=E8=AF=8A?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/addInquiryConfigModal.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/addInquiryConfigModal.vue b/src/components/addInquiryConfigModal.vue index bf1c7cc..f6910df 100644 --- a/src/components/addInquiryConfigModal.vue +++ b/src/components/addInquiryConfigModal.vue @@ -45,7 +45,7 @@ :disabled="inquiry_config_id?true:false" v-model="modalForm.inquiry_mode" placeholder="请选择问诊类型" - @change="changeType" + :style="{ width: '320px' }" > From 3b1a961e19f4927f9ca768577f847da150b28e09 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Mon, 8 Apr 2024 16:34:41 +0800 Subject: [PATCH 02/58] =?UTF-8?q?=E5=8C=BB=E7=94=9F=E9=97=AE=E8=AF=8A?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/addInquiryConfigModal.vue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/addInquiryConfigModal.vue b/src/components/addInquiryConfigModal.vue index f6910df..a9210d6 100644 --- a/src/components/addInquiryConfigModal.vue +++ b/src/components/addInquiryConfigModal.vue @@ -45,7 +45,7 @@ :disabled="inquiry_config_id?true:false" v-model="modalForm.inquiry_mode" placeholder="请选择问诊类型" - + @change="changeMode" :style="{ width: '320px' }" > @@ -459,6 +459,9 @@ const changeType=(value)=>{ proxy.$refs.modalFormRefConfig.clearValidate(); handleInquiryPriceAndTime() } +const changeMode=(value)=>{ + handleInquiryPriceAndTime(); +} const inquiry_price_list=ref([]); const handleInquiryPriceAndTime=()=>{ inquiryPriceAndTime({ From dd7872d625d993eee1aef288526c70c39d5f7f18 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Tue, 21 May 2024 09:28:06 +0800 Subject: [PATCH 03/58] =?UTF-8?q?=E9=80=80=E6=AC=BE=E9=87=91=E9=A2=9D?= =?UTF-8?q?=E6=9C=80=E5=B0=8F=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/confirmModal.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/confirmModal.vue b/src/components/confirmModal.vue index b134f7f..8e9639b 100644 --- a/src/components/confirmModal.vue +++ b/src/components/confirmModal.vue @@ -9,7 +9,7 @@ - + From 20ad78b4e83250979a92227151be1a6a500c46b4 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Tue, 4 Jun 2024 08:54:39 +0800 Subject: [PATCH 11/58] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=98=9F=E5=88=97?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 1 + src/components/couponDetail.vue | 300 +++++++++++++++++++++++++ src/components/inquiryDetailModal.vue | 1 - src/views/coupon/coupon-list/index.vue | 142 +----------- src/views/order/service-list/index.vue | 24 ++ 5 files changed, 337 insertions(+), 131 deletions(-) create mode 100644 src/components/couponDetail.vue diff --git a/components.d.ts b/components.d.ts index 6dcfec9..ef2e1cc 100644 --- a/components.d.ts +++ b/components.d.ts @@ -15,6 +15,7 @@ declare module '@vue/runtime-core' { ChatRecord: typeof import('./src/components/chatRecord.vue')['default'] ConfirmModal: typeof import('./src/components/confirmModal.vue')['default'] copy: typeof import('./src/components/isOkModal copy.vue')['default'] + CouponDetail: typeof import('./src/components/couponDetail.vue')['default'] DeleteModal: typeof import('./src/components/DeleteModal.vue')['default'] DoctorModal: typeof import('./src/components/doctorModal.vue')['default'] ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider'] diff --git a/src/components/couponDetail.vue b/src/components/couponDetail.vue new file mode 100644 index 0000000..2ca6829 --- /dev/null +++ b/src/components/couponDetail.vue @@ -0,0 +1,300 @@ + + + \ No newline at end of file diff --git a/src/components/inquiryDetailModal.vue b/src/components/inquiryDetailModal.vue index 0719c4c..19f4410 100644 --- a/src/components/inquiryDetailModal.vue +++ b/src/components/inquiryDetailModal.vue @@ -311,7 +311,6 @@ const handleClose = () => { \ No newline at end of file diff --git a/src/views/coupon/coupon-list/index.vue b/src/views/coupon/coupon-list/index.vue index 3e0816a..8ca4194 100644 --- a/src/views/coupon/coupon-list/index.vue +++ b/src/views/coupon/coupon-list/index.vue @@ -100,11 +100,10 @@ - + - - + @@ -273,6 +272,7 @@ const isVisible=ref(false); } }) } + //关闭启用弹框 const closeChangeOk = () => { isVisible.value = false; @@ -286,47 +286,6 @@ const showCoupon=(value,record)=>{ isVisible.value=true; cur_coupon_id.value=record.coupon_id; }; - //改变用户状态 -const handleChangeStatus=async(status)=>{ - - - if(status==0){ - cur_coupon_id.value=modalForm.coupon_id; - //okVisible.value=true; - isVisible.value=true - }else{ - //okVisible.value=true; - isVisible.value=true - // switchStatus(modalForm.coupon_id,{ - // status:1 - // }) - } - // await updateCouponStatus(cur_coupon_id,{ - // coupon_status:!status?1:2 - // }) - - // if(record.status==0){ - // okVisible.value=true; - // }else{ - // switchStatus(record.coupon_id,{ - // status:1 - // }) - } - //就诊人详情 - const familyVisible=ref(false); - const familyForm=reactive({ - user:{}, - avatar: 'https://img.applets.igandanyiyuan.com/basic/file/patient_avatar.png', - }); - const handleFamilyDetail = async (family_id) => { - const { code, data} = await getFamilyDetail(family_id); - if (code == 200) { - Object.assign(familyForm, data); - familyVisible.value = true; - } - }; - - /** * 分页改变 * @param {Number} [page] @@ -373,7 +332,10 @@ const handleChangeStatus=async(status)=>{ proxy.$refs.queryFormRef.resetFields(); getInfo(queryForm); } - + const closeCouponDetail=()=>{ + modalVisible.value=false; + getInfo({ ...pager, ...queryForm }); +} onMounted(() => { getInfo(pager); }); From 6f02a10ed3266154dadab587ddcb7a37b10ce067 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Wed, 5 Jun 2024 16:59:33 +0800 Subject: [PATCH 16/58] =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=8D=B76.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 1 + src/api/coupon/list.js | 25 +- src/components/couponDetail.vue | 226 ++++++++++++------ src/components/giveCouponModal.vue | 134 +++++++++++ src/views/coupon/coupon-list/index.vue | 65 +++-- src/views/coupon/userCoupon-list/index.vue | 265 +++++++++++++++++++++ src/views/order/service-list/index.vue | 4 +- 7 files changed, 631 insertions(+), 89 deletions(-) create mode 100644 src/components/giveCouponModal.vue create mode 100644 src/views/coupon/userCoupon-list/index.vue diff --git a/components.d.ts b/components.d.ts index ef2e1cc..aac7bc1 100644 --- a/components.d.ts +++ b/components.d.ts @@ -21,6 +21,7 @@ declare module '@vue/runtime-core' { ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider'] ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] FamilyModal: typeof import('./src/components/familyModal.vue')['default'] + GiveCouponModal: typeof import('./src/components/giveCouponModal.vue')['default'] InquiryDetailModal: typeof import('./src/components/inquiryDetailModal.vue')['default'] InquiryDetailMoneyModal: typeof import('./src/components/inquiryDetailMoneyModal.vue')['default'] IsOkCouponModal: typeof import('./src/components/isOkCouponModal.vue')['default'] diff --git a/src/api/coupon/list.js b/src/api/coupon/list.js index 7866f75..a85473e 100644 --- a/src/api/coupon/list.js +++ b/src/api/coupon/list.js @@ -14,7 +14,7 @@ export function getCouponDetail(id){ } export function addCoupon(data){//系统-新增系统优惠卷 return request({ - url:'/admin/coupon/system/', + url:'/admin/coupon/system', method: 'post', data }) @@ -33,13 +33,21 @@ export function getCouponDetail(id){ data }) } - export function getUserCouponList(data){ + export function getUserCouponList(data){//用户优惠卷列表 return request({ url:'/admin/coupon/user/page', method: 'post', data }) } + export function getPatientList(params){ + return request({ + url:'/admin/patient/list', + method:'get', + params + }) + } + export function giveCoupon(id,data){//系统-发放系统优惠卷 return request({ url:'/admin/coupon/system/grant/'+id, @@ -47,9 +55,18 @@ export function getCouponDetail(id){ data }) } - export function getProduct(){//系统-发放系统优惠卷 + export function getProduct(params){//系统-发放系统优惠卷 return request({ url:'admin/product/list', - method: 'post' + method: 'get', + params }) } + export function exportService(data){//导出 + return request({ + url:'/admin/export/order/service', + method: 'post', + data + }) + } + diff --git a/src/components/couponDetail.vue b/src/components/couponDetail.vue index cfaeada..4f0d446 100644 --- a/src/components/couponDetail.vue +++ b/src/components/couponDetail.vue @@ -156,14 +156,17 @@ - + @@ -207,7 +210,7 @@ - + - - + + {{ item.product_name }} @@ -310,7 +314,7 @@ 添加 @@ -319,7 +323,7 @@ 修改 \ No newline at end of file diff --git a/src/views/order/service-list/index.vue b/src/views/order/service-list/index.vue index 233956a..1ac167a 100644 --- a/src/views/order/service-list/index.vue +++ b/src/views/order/service-list/index.vue @@ -1072,7 +1072,7 @@ import { watch, } from 'vue'; import { - exportInquiry, + exportService, getServiceList, serviceDetail, serviceRightDetail, @@ -1578,7 +1578,7 @@ const handlExport = async (type) => { type, }; } - const { code, data } = await exportInquiry(fromData); + const { code, data } = await exportService(fromData); if (code == 200) { downloadFile(data, '问诊订单'); } From f37e9d0d1adc70cb5a50b17edaad2ab7fb5b6211 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Wed, 5 Jun 2024 17:48:01 +0800 Subject: [PATCH 17/58] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/couponDetail.vue | 5 ++- src/views/coupon/coupon-list/index.vue | 53 +++++++++++++++++++++----- 2 files changed, 46 insertions(+), 12 deletions(-) diff --git a/src/components/couponDetail.vue b/src/components/couponDetail.vue index 4f0d446..6506fc4 100644 --- a/src/components/couponDetail.vue +++ b/src/components/couponDetail.vue @@ -115,6 +115,7 @@ @@ -260,7 +261,7 @@ - + - + + + @@ -39,6 +41,16 @@ + + + + 专家问诊 + 快速问诊 + 公益问诊 + 问诊购药 + 糖组检测 + + @@ -204,7 +219,7 @@ const isVisible=ref(false); dataIndex: 'coupon_client', slotName:'coupon_client' },{ - title: '使用对象', + title: '发放对象', dataIndex: 'distribution_object', slotName:'distribution_object' },{ @@ -216,13 +231,31 @@ const isVisible=ref(false); dataIndex: 'application_scope', slotName:'application_scope' }, - // { - // title: '有效期', - // dataIndex: 'valid_type', - // slotName:'valid_type' - // }, { - title: '是否开放', + title: '发放数量', + dataIndex:'coupon_count', + slotName:'coupon_count' + }, + { + title: '已领取数量', + dataIndex:'coupon_take_count ' + }, + { + title: '已使用数量', + dataIndex:'coupon_used_count' + }, + { + title: '优惠卷金额', + dataIndex:'coupon_price', + slotName:'coupon_price' + }, + { + title: '有效类型', + dataIndex:'valid_type', + slotName:'valid_type' + }, + { + title: '状态', dataIndex: 'coupon_status', slotName:'coupon_status' }, { title: '操作', slotName: 'action'}]) From 743032a54aa9c72268730751d9455660b51eac53 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Thu, 6 Jun 2024 09:36:32 +0800 Subject: [PATCH 18/58] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/inquiry/service.js | 17 ++ src/views/inquiry/health/index.vue | 344 +++++++++++++++++++++++++++++ 2 files changed, 361 insertions(+) create mode 100644 src/api/inquiry/service.js create mode 100644 src/views/inquiry/health/index.vue diff --git a/src/api/inquiry/service.js b/src/api/inquiry/service.js new file mode 100644 index 0000000..ac92e17 --- /dev/null +++ b/src/api/inquiry/service.js @@ -0,0 +1,17 @@ +import request from '../../utils/request' + +export function getInquiryconfigList(params){ + return request({ + url:'/admin/inquiry/doctor', + method: 'get', + params + }) +} + +export function addInquiryconfig(data){//添加配置 + return request({ + url:'/admin/inquiry/doctor', + method: 'post', + data + }) +} \ No newline at end of file diff --git a/src/views/inquiry/health/index.vue b/src/views/inquiry/health/index.vue new file mode 100644 index 0000000..a29bc69 --- /dev/null +++ b/src/views/inquiry/health/index.vue @@ -0,0 +1,344 @@ + + + + + \ No newline at end of file From 26556c746566a3ed64aec062697892528c0e3606 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Thu, 6 Jun 2024 09:41:25 +0800 Subject: [PATCH 19/58] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20=E4=BC=98=E6=83=A0?= =?UTF-8?q?=E5=8D=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/coupon/coupon-list/index.vue | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/views/coupon/coupon-list/index.vue b/src/views/coupon/coupon-list/index.vue index 748b2a6..1f0d48d 100644 --- a/src/views/coupon/coupon-list/index.vue +++ b/src/views/coupon/coupon-list/index.vue @@ -77,10 +77,8 @@ 全部导出 --> - From 6ec7e32a2e4a06b995289d5698587e3f8bf7dafe Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Thu, 6 Jun 2024 09:48:26 +0800 Subject: [PATCH 20/58] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/order/list.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/api/order/list.js b/src/api/order/list.js index 5dd1870..9b6e759 100644 --- a/src/api/order/list.js +++ b/src/api/order/list.js @@ -115,3 +115,10 @@ export function cancelService(id,data){//取消服务包-取消订单 data }) } +export function exportService(data){//导出服务包 + return request({ + url:'/admin/export/order/service', + method: 'post', + data + }) +} \ No newline at end of file From 7ad31f9b66085b65b9d14384093a6a45c28c38cb Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Thu, 6 Jun 2024 10:30:14 +0800 Subject: [PATCH 21/58] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/inquiry/service.js | 20 ++++++++++---------- src/components/couponDetail.vue | 26 ++++++++++++++++++-------- src/views/coupon/coupon-list/index.vue | 4 ++-- 3 files changed, 30 insertions(+), 20 deletions(-) diff --git a/src/api/inquiry/service.js b/src/api/inquiry/service.js index ac92e17..69f74bb 100644 --- a/src/api/inquiry/service.js +++ b/src/api/inquiry/service.js @@ -1,17 +1,17 @@ import request from '../../utils/request' -export function getInquiryconfigList(params){ +export function getHealthList(data){//健康包管理-获取健康包列表-分页 return request({ - url:'/admin/inquiry/doctor', - method: 'get', - params - }) -} - -export function addInquiryconfig(data){//添加配置 - return request({ - url:'/admin/inquiry/doctor', + url:'/admin/inquiry/health/page', method: 'post', data }) +} + +export function healthDetail(id,params){//健康包管理-获取健康包详情 + return request({ + url:'/admin/inquiry/health/'+id, + method: 'post', + params + }) } \ No newline at end of file diff --git a/src/components/couponDetail.vue b/src/components/couponDetail.vue index 6506fc4..bdbdef2 100644 --- a/src/components/couponDetail.vue +++ b/src/components/couponDetail.vue @@ -135,6 +135,7 @@ @@ -179,6 +180,7 @@ v-model="modalForm.valid_days" :style="{ width: '320px' }" placeholder="请输入有效天数" + :step="0" :precision="0" class="input-demo" :min="1" /> @@ -198,7 +200,7 @@ - + @@ -219,6 +222,7 @@ :style="{ width: '320px' }" placeholder="请输入发放关联天数" class="input-demo" + :step="0" :precision="0" :min="1" /> @@ -270,13 +274,19 @@ - - - - + + + + > + + 正常 + 强制失效 + 结束 + 删除 + diff --git a/src/views/coupon/coupon-list/index.vue b/src/views/coupon/coupon-list/index.vue index 1f0d48d..e65f840 100644 --- a/src/views/coupon/coupon-list/index.vue +++ b/src/views/coupon/coupon-list/index.vue @@ -311,8 +311,8 @@ const isVisible=ref(false); modalForm.valid_days=null; modalForm.coupon_status=1; modalForm.coupon_client=1; - modalForm.is_mutex=0; - modalForm.is_display=0; + modalForm.is_mutex=1; + modalForm.is_display=1; modalForm.is_popup=0; modalForm.valid_start_time=''; modalForm.valid_end_time=''; From 88e4e40c4dc6e22582e44f33dadab26b13a97494 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Thu, 6 Jun 2024 10:32:51 +0800 Subject: [PATCH 22/58] =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=8D=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/couponDetail.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/couponDetail.vue b/src/components/couponDetail.vue index bdbdef2..0ce7729 100644 --- a/src/components/couponDetail.vue +++ b/src/components/couponDetail.vue @@ -270,6 +270,7 @@ From fa6b80814c1a649ace7507f413f3a77aaec421a5 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Thu, 6 Jun 2024 10:34:27 +0800 Subject: [PATCH 23/58] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/coupon/coupon-list/index.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/coupon/coupon-list/index.vue b/src/views/coupon/coupon-list/index.vue index e65f840..c723d20 100644 --- a/src/views/coupon/coupon-list/index.vue +++ b/src/views/coupon/coupon-list/index.vue @@ -317,6 +317,7 @@ const isVisible=ref(false); modalForm.valid_start_time=''; modalForm.valid_end_time=''; modalForm.valid_type=''; + modalForm.is_reissuable_after_expire=0; if(couponChild.value){ couponChild.value.changeStatus(); } From 83932947f03eb425450bd4c22feeccb444415991 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Thu, 6 Jun 2024 14:17:51 +0800 Subject: [PATCH 24/58] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 1 + src/api/coupon/list.js | 9 +- src/api/inquiry/service.js | 21 ++- src/components/addHealthModal.vue | 203 +++++++++++++++++++++++++ src/components/couponDetail.vue | 48 +++++- src/components/giveCouponModal.vue | 2 +- src/components/isOkCouponModal.vue | 2 +- src/views/coupon/coupon-list/index.vue | 14 +- src/views/inquiry/health/index.vue | 123 ++++----------- 9 files changed, 300 insertions(+), 123 deletions(-) create mode 100644 src/components/addHealthModal.vue diff --git a/components.d.ts b/components.d.ts index aac7bc1..8c48da0 100644 --- a/components.d.ts +++ b/components.d.ts @@ -10,6 +10,7 @@ export {} declare module '@vue/runtime-core' { export interface GlobalComponents { AccountModal: typeof import('./src/components/accountModal.vue')['default'] + AddHealthModal: typeof import('./src/components/addHealthModal.vue')['default'] AddInquiryConfigModal: typeof import('./src/components/addInquiryConfigModal.vue')['default'] AddSysconfigModal: typeof import('./src/components/addSysconfigModal.vue')['default'] ChatRecord: typeof import('./src/components/chatRecord.vue')['default'] diff --git a/src/api/coupon/list.js b/src/api/coupon/list.js index a85473e..b9bc9b7 100644 --- a/src/api/coupon/list.js +++ b/src/api/coupon/list.js @@ -62,11 +62,4 @@ export function getCouponDetail(id){ params }) } - export function exportService(data){//导出 - return request({ - url:'/admin/export/order/service', - method: 'post', - data - }) - } - + diff --git a/src/api/inquiry/service.js b/src/api/inquiry/service.js index 69f74bb..b9d66b6 100644 --- a/src/api/inquiry/service.js +++ b/src/api/inquiry/service.js @@ -8,10 +8,23 @@ export function getHealthList(data){//健康包管理-获取健康包列表-分 }) } -export function healthDetail(id,params){//健康包管理-获取健康包详情 +export function healthDetail(id){//健康包管理-获取健康包详情 return request({ url:'/admin/inquiry/health/'+id, - method: 'post', - params + method: 'get' }) -} \ No newline at end of file +} +export function addHealth(data){//健康包管理-获取健康包详情 + return request({ + url:'/admin/inquiry/health', + method: 'post', + data + }) + } + export function updateHealth(id,data){//健康包管理-获取健康包详情 + return request({ + url:'/admin/inquiry/health/'+id, + method: 'post', + data + }) + } \ No newline at end of file diff --git a/src/components/addHealthModal.vue b/src/components/addHealthModal.vue new file mode 100644 index 0000000..b8d77da --- /dev/null +++ b/src/components/addHealthModal.vue @@ -0,0 +1,203 @@ + + + \ No newline at end of file diff --git a/src/components/couponDetail.vue b/src/components/couponDetail.vue index 0ce7729..749d13f 100644 --- a/src/components/couponDetail.vue +++ b/src/components/couponDetail.vue @@ -135,7 +135,7 @@ @@ -209,7 +209,7 @@ placeholder="请输入单商品最小可使用数量" class="input-demo" :min="1" - :step="0" :precision="0" + :step="1" :precision="0" /> @@ -222,7 +222,7 @@ :style="{ width: '320px' }" placeholder="请输入发放关联天数" class="input-demo" - :step="0" :precision="0" + :step="1" :precision="0" :min="1" /> @@ -250,14 +250,14 @@ - + - + @@ -280,6 +280,7 @@ @@ -341,18 +342,35 @@ >修改 + + 强制失效 + + \ No newline at end of file diff --git a/src/views/inquiry/healthconfig/index.vue b/src/views/inquiry/healthconfig/index.vue new file mode 100644 index 0000000..4d170d6 --- /dev/null +++ b/src/views/inquiry/healthconfig/index.vue @@ -0,0 +1,279 @@ + + + + + \ No newline at end of file From 87bc7629168926a0d57d0275184cf35e1aed0ba7 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Fri, 7 Jun 2024 09:51:58 +0800 Subject: [PATCH 27/58] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/coupon/coupon-list/index.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/views/coupon/coupon-list/index.vue b/src/views/coupon/coupon-list/index.vue index e9b27b0..2c0589f 100644 --- a/src/views/coupon/coupon-list/index.vue +++ b/src/views/coupon/coupon-list/index.vue @@ -321,6 +321,8 @@ const isVisible=ref(false); modalForm.valid_start_time=''; modalForm.valid_end_time=''; modalForm.valid_type=''; + modalForm.coupon_count=null; + modalForm.desc=''; modalForm.is_reissuable_after_expire=0; if(couponChild.value){ couponChild.value.changeStatus(); From 994afb354929a05b81145bd04ee14f605f31ca24 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Tue, 11 Jun 2024 09:53:05 +0800 Subject: [PATCH 28/58] =?UTF-8?q?6.11=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 2 + src/api/inquiry/service.js | 47 ++- src/components/addHealthConfigModal.vue | 270 +++++++++++++++++ src/components/addHealthModal.vue | 96 ++++-- src/components/addVisitConfigModal.vue | 368 +++++++++++++++++++++++ src/views/inquiry/health/index.vue | 5 +- src/views/inquiry/healthconfig/index.vue | 52 ++-- src/views/inquiry/visitconfig/index.vue | 268 +++++++++++++++++ 8 files changed, 1050 insertions(+), 58 deletions(-) create mode 100644 src/components/addHealthConfigModal.vue create mode 100644 src/components/addVisitConfigModal.vue create mode 100644 src/views/inquiry/visitconfig/index.vue diff --git a/components.d.ts b/components.d.ts index 8c48da0..ffe92d9 100644 --- a/components.d.ts +++ b/components.d.ts @@ -10,9 +10,11 @@ export {} declare module '@vue/runtime-core' { export interface GlobalComponents { AccountModal: typeof import('./src/components/accountModal.vue')['default'] + AddHealthConfigModal: typeof import('./src/components/addHealthConfigModal.vue')['default'] AddHealthModal: typeof import('./src/components/addHealthModal.vue')['default'] AddInquiryConfigModal: typeof import('./src/components/addInquiryConfigModal.vue')['default'] AddSysconfigModal: typeof import('./src/components/addSysconfigModal.vue')['default'] + AddVisitConfigModal: typeof import('./src/components/addVisitConfigModal.vue')['default'] ChatRecord: typeof import('./src/components/chatRecord.vue')['default'] ConfirmModal: typeof import('./src/components/confirmModal.vue')['default'] copy: typeof import('./src/components/isOkModal copy.vue')['default'] diff --git a/src/api/inquiry/service.js b/src/api/inquiry/service.js index 94c6b45..7ae43fc 100644 --- a/src/api/inquiry/service.js +++ b/src/api/inquiry/service.js @@ -24,7 +24,7 @@ export function addHealth(data){//健康包管理-获取健康包详情 export function updateHealth(id,data){//健康包管理-获取健康包详情 return request({ url:'/admin/inquiry/health/'+id, - method: 'post', + method: 'put', data }) } @@ -51,7 +51,50 @@ export function addHealth(data){//健康包管理-获取健康包详情 } export function updateHealthConfig(id,data){//医生健康包配置-修改医生健康包配置 return request({ - url:'/admin/inquiry/doctor/health'+id, + url:'/admin/inquiry/doctor/health/'+id, + method: 'put', + data + }) + } + export function getDoctorList(params){//医生列表 + return request({ + url:'/admin/doctor/list', + method: 'get', + params + }) + } + export function getHealthConfigAddList(params){//健康包管理-获取健康包列表-限制条数 + return request({ + url:'/admin/inquiry/health/list', + method: 'get', + params + }) + } + + + export function getVisitConfigList(params){//医生随访包配置-获取开启随访包服务的医生-分页 + return request({ + url:'/admin/inquiry/doctor/follow', + method: 'get', + params + }) + } + export function visitConfigDetail(id){//医生随访包配置-医生随访包配置详情 + return request({ + url:'/admin/inquiry/doctor/follow/'+id, + method: 'get' + }) + } + export function addVisitConfig(data){//医生随访包配置-新增医生随访包配置 + return request({ + url:'/admin/inquiry/doctor/follow', + method: 'post', + data + }) + } + export function updateVisitConfig(id,data){//医生随访包配置-修改医生随访包配置 + return request({ + url:'/admin/inquiry/doctor/follow/'+id, method: 'put', data }) diff --git a/src/components/addHealthConfigModal.vue b/src/components/addHealthConfigModal.vue new file mode 100644 index 0000000..18e28e4 --- /dev/null +++ b/src/components/addHealthConfigModal.vue @@ -0,0 +1,270 @@ + + + \ No newline at end of file diff --git a/src/components/addHealthModal.vue b/src/components/addHealthModal.vue index 2419ea4..b702911 100644 --- a/src/components/addHealthModal.vue +++ b/src/components/addHealthModal.vue @@ -81,7 +81,7 @@ - + @@ -156,50 +156,71 @@ const handleGetProduct=async(name='',id='')=>{ const {modalVisible,id,modalForm}=toRefs(props); const emits = defineEmits(['healthVisibleChange','freshList']); watch(()=>props.id,(newVal,oldValval)=>{ + handleGetProduct(); if(props.id){ title.value='修改健康包'; + }else{ title.value='添加健康包'; } - - },{immediate:true}) - watch(()=>props.modalForm,()=>{ - handleGetProduct(); - if(id.value){ - let product=modalForm.value.health_package_product; - initData=modalForm.value.health_package_product; - if(product && product.length>0){ + },{immediate:true}); - modalForm.value.my_package_product=product.map((item)=>item.product_id); - product_data.value=product; - } - } - - },{immediate:true}) + // watch(()=>props.modalForm,()=>{ + // if(id.value){ + // let product=modalForm.value.health_package_product; + // initData=modalForm.value.health_package_product; + // if(product && product.length>0){ + // modalForm.value.my_package_product=product.map((item)=>item.product_id); + // product_data.value=product; + // } + // } + // },{immediate:true}) + + + const getData=()=>{ + let product=modalForm.value.health_package_product; + initData=modalForm.value.health_package_product; + if(product && product.length>0){ + modalForm.value.my_package_product=product.map((item)=>item.product_id); + product_data.value=product; + } + } + const changeProduct=(val)=>{ - console.log(val); product_data.value=[]; + let json={}; + let count=0; + console.log(initData) for (let i = 0; i < val.length; i++) { if(initData.length>0){ for (let j = 0; j < initData.length; j++) { + count++; if (val[i]=== initData[j].product_id){ - product_data.value.push({ - product_id:initData[j].product_id, - product_name:initData[j].product_name, - quantity:initData[j].quantity, - discount_product_price:initData[j].discount_product_price - }) - continue; + if(!json[initData[j].product_id]){ + json[initData[j].product_id]=count; + product_data.value.push({ + product_id:initData[j].product_id, + product_name:initData[j].product_name, + quantity:initData[j].quantity, + discount_product_price:initData[j].discount_product_price + }) + } }else{ - let arr=productList.value.filter((item)=>item.product_id==val[i]); - product_data.value.push({ - product_id:arr[0].product_id, - product_name:arr[0].product_name, - quantity:1, - discount_product_price:10 - }) + let arr=productList.value.filter((item)=>item.product_id==val[i]); + if(!json[arr[0].product_id]){ + json[arr[0].product_id]=count; + product_data.value.push({ + product_id:arr[0].product_id, + product_name:arr[0].product_name, + quantity:1, + discount_product_price:10 + }) + }; + + } } + }else{ let arr=productList.value.filter((item)=>item.product_id==val[i]); product_data.value.push({ @@ -211,7 +232,6 @@ const handleGetProduct=async(name='',id='')=>{ } } - }; @@ -231,6 +251,17 @@ const handleGetProduct=async(name='',id='')=>{ const handleSubmit=()=>{ proxy.$refs.modalFormRefConfig.validate(async (valid) => { let data=null; + for (let i = 0; i < product_data.value.length; i++) { + if(!product_data.value[i].quantity){ + proxy.$message.warning('商品数量不能为空'); + return false + }; + if(!product_data.value[i].discount_product_price ){ + proxy.$message.warning('商品折后价格不能为空'); + return false + }; + + } let obj=Object.assign({},modalForm.value,{health_package_product:product_data.value}); if (!valid) { @@ -281,7 +312,8 @@ const handleGetProduct=async(name='',id='')=>{ ] defineExpose({ - reset + reset, + getData }); \ No newline at end of file diff --git a/src/views/inquiry/health/index.vue b/src/views/inquiry/health/index.vue index f98733f..9126107 100644 --- a/src/views/inquiry/health/index.vue +++ b/src/views/inquiry/health/index.vue @@ -149,11 +149,14 @@ //详情 const handleDetail = async (record) => { + handleAdd(); package_id.value=record.package_id; modalVisible.value = true; const {code,data}=await healthDetail(record.package_id); if(code==200){ - Object.assign(modalForm,data) + + Object.assign(modalForm,data); + addChild.value.getData(); } }; diff --git a/src/views/inquiry/healthconfig/index.vue b/src/views/inquiry/healthconfig/index.vue index 4d170d6..9f99061 100644 --- a/src/views/inquiry/healthconfig/index.vue +++ b/src/views/inquiry/healthconfig/index.vue @@ -10,8 +10,6 @@ @@ -22,14 +20,21 @@
健康包
随访包
- - - +