From 4f52d8377d0b9680495533d0e151c79fd3669b95 Mon Sep 17 00:00:00 2001 From: liuyuan <582976274@qq.com> Date: Fri, 27 Jun 2025 15:05:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=8F=AD=E3=80=81=E8=87=AA=E8=80=83?= =?UTF-8?q?=E8=AF=81=E4=B9=A6=E5=90=88=E5=B9=B6=E5=88=97=E8=A1=A8=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=9F=B9=E8=AE=AD=E7=8F=AD?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=8F=AF=E5=9C=A83=E4=B8=AAapp=E4=B8=AD?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E6=98=BE=E7=A4=BA=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.js | 1 + src/views/modules/certificate/mergeList.vue | 223 ++++++++++++++++++ src/views/modules/order/buyorder.vue | 132 +++-------- src/views/modules/shop/shopproduct.vue | 7 + .../trainingCourse/training-course-list.vue | 132 +++++++++-- .../trainingCourse/training-course-user.vue | 19 +- 6 files changed, 395 insertions(+), 119 deletions(-) create mode 100644 src/views/modules/certificate/mergeList.vue diff --git a/src/router/index.js b/src/router/index.js index b91e680..54ff356 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -81,6 +81,7 @@ const mainRoutes = { { path: '/course-taihumedList', component: _import('modules/course/taihumedList'), name: 'course-taihumedList', meta: { title: '太湖标签', isTab: true } }, { path: '/courses-list', component: _import('modules/talents/courses-list'), name: 'courses-list', meta: { title: '查看课程', isTab: true } }, + { path: '/mergeList', component: _import('modules/certificate/mergeList'), name: 'mergeList', meta: { title: '小班、自考证书', isTab: true } }, ], beforeEnter (to, from, next) { let token = Vue.cookie.get('token') diff --git a/src/views/modules/certificate/mergeList.vue b/src/views/modules/certificate/mergeList.vue new file mode 100644 index 0000000..deeaae9 --- /dev/null +++ b/src/views/modules/certificate/mergeList.vue @@ -0,0 +1,223 @@ + + + + + \ No newline at end of file diff --git a/src/views/modules/order/buyorder.vue b/src/views/modules/order/buyorder.vue index 64da14d..15cd7f6 100644 --- a/src/views/modules/order/buyorder.vue +++ b/src/views/modules/order/buyorder.vue @@ -6,24 +6,30 @@ --> - - - 全部 - 待付款 - 待发货 - 已发货 - 已完成 - +
+ + 全部 + 待付款 + 待发货 + 已发货 + 已完成 + + +
+ 订单类型 + + VIP订单 + 名医精彩订单 + 普通订单 + +
+
+
已发货订单 打印面单 - - -
@@ -36,17 +42,11 @@ @keyup.enter.native="getDataList()">
-
- 查询 @@ -85,13 +85,6 @@
- - @@ -100,10 +93,6 @@ - 批量打印 @@ -127,14 +116,9 @@ @@ -175,13 +159,8 @@
-
该订单已被拆分发货 - +
该订单已被拆分发货 -->
- -
@@ -232,7 +211,6 @@
¥{{ fitem.realMoney }} × 1
-
商品合计:¥{{ fitem.orderMoney }}
@@ -240,7 +218,6 @@
实收:¥{{ fitem.realMoney }}
-
微信支付
支付宝支付
@@ -248,27 +225,9 @@ height="22px">天医币支付
- - + - - - - - - - - - +
@@ -281,37 +240,24 @@
修改收货信息 -
- - - -
待发货
-
发货
-
备注 - @@ -334,11 +280,6 @@ v-loading="dataListLoading" @selection-change="selectionChangeHandle" style="width: 100%;"> - @@ -346,22 +287,8 @@ - - - - - - - - @@ -743,7 +670,8 @@ SheetSelectionList: [], addressLoad: false, // 省份加载动画 booksShow: false, // 展示包含书籍信息 - currBookLIst: [] + currBookLIst: [], + orderType: '', //订单类型 } }, components: { @@ -1747,4 +1675,16 @@ this.pageIndex = 1 .fengbi { margin-left: 0 !important; } + + .order_type_block{ + display: flex; + align-items: center; + justify-content: center; + margin-left: 40px; + } + /deep/ .order_type_block .el-input__inner{ + height: 28px; + line-height: 28px; + font-size: 12px; + } diff --git a/src/views/modules/shop/shopproduct.vue b/src/views/modules/shop/shopproduct.vue index 51d4040..075da36 100644 --- a/src/views/modules/shop/shopproduct.vue +++ b/src/views/modules/shop/shopproduct.vue @@ -89,6 +89,13 @@ label="商品价格" > + + + + + - + @@ -227,6 +234,11 @@
+ + + {{item.title}} + + 线上 @@ -245,7 +257,7 @@ > - + code.trim()) + .filter(code => code !== '') + .map(code => { + const app = this.appList.find(item => item.type === code); + return app ? app.title : ''; + }) + .join(' '); + }, //排序变化事件 handleSortChange({ column, prop, order }) { // 更新当前列的排序状态 @@ -426,7 +468,8 @@ export default { type: this.dataForm.type, year: this.dataForm.year, singupFlag: this.dataForm.singupFlag, - displayFlag: this.dataForm.displayFlag + //displayFlag: this.dataForm.displayFlag, + displayApp: this.dataForm.displayApp }), }).then(({ data }) => { if (data && data.code === 0) { @@ -461,6 +504,7 @@ export default { vipType: '', vipFee: '', svipType: '', + appType: '', svipFee: '', threeHuFee: '', fiveHuFee: '', @@ -471,6 +515,7 @@ export default { this.fileList = []; this.vipType = []; this.svipType = []; + this.appType = []; this.$nextTick(() => { this.$refs.addFormRef.clearValidate(); }); @@ -502,9 +547,24 @@ export default { //修改 submitData(data){ var icon = ''; + var vipType = ''; + var svipType = ''; + var appType = ''; if(this.fileList&&this.fileList.length>0){ icon = this.fileList[0].url } + console.log('vipType-submit', this.vipType) + console.log('svipType-submit', this.svipType) + console.log('appType-submit', this.appType) + if(this.vipType&&this.vipType.length>0){ + vipType = String(this.vipType); + } + if(this.svipType&&this.svipType.length>0){ + svipType = String(this.svipType); + } + if(this.appType&&this.appType.length>0){ + appType = String(this.appType); + } this.$http({ url: this.$http.adornUrl("/master/trainingClass/editTrainingClass"), method: "post", @@ -516,12 +576,13 @@ export default { trainingDate: data.trainingDate, endDate: data.endDate, singupFlag: data.singupFlag, - displayFlag: data.displayFlag, + //displayFlag: data.displayFlag, icon: icon, fee: data.fee, - vipType: String(this.vipType), + vipType: vipType, vipFee: data.vipFee, - svipType: String(this.svipType), + svipType: svipType, + displayApp: appType, svipFee: data.svipFee, threeHuFee: data.threeHuFee, fiveHuFee: data.fiveHuFee, @@ -555,9 +616,21 @@ export default { this.$refs["addFormRef"].validate(valid => { if (valid) { var icon = ''; + var vipType = ''; + var svipType = ''; + var appType = ''; if(this.fileList&&this.fileList.length>0){ icon = this.fileList[0].url } + if(this.vipType&&this.vipType.length>0){ + vipType = String(this.vipType); + } + if(this.svipType&&this.svipType.length>0){ + svipType = String(this.svipType); + } + if(this.appType&&this.appType.length>0){ + appType = String(this.appType); + } this.$http({ url: this.$http.adornUrl("/master/trainingClass/addTrainingClass"), method: "post", @@ -568,12 +641,13 @@ export default { trainingDate: this.addForm.trainingDate, endDate: this.addForm.endDate, singupFlag: String(this.addForm.singupFlag), - displayFlag: String(this.addForm.displayFlag), + //displayFlag: String(this.addForm.displayFlag), icon: icon, fee: this.addForm.fee, - vipType: String(this.vipType), + vipType: vipType, vipFee: this.addForm.vipFee, - svipType: String(this.svipType), + svipType: svipType, + displayApp: appType, svipFee: this.addForm.svipFee, threeHuFee: this.addForm.threeHuFee, fiveHuFee: this.addForm.fiveHuFee, @@ -609,7 +683,7 @@ export default { this.addForm.trainingDate = data.trainingDate; this.addForm.endDate = data.endDate; this.addForm.singupFlag = Number(data.singupFlag); - this.addForm.displayFlag = Number(data.displayFlag); + //this.addForm.displayFlag = Number(data.displayFlag); this.addForm.icon = data.icon; //图片赋值 if(data.icon){ @@ -618,9 +692,23 @@ export default { }); } this.addForm.fee = data.fee; - this.vipType = data.vipType.split(',').map(item => parseInt(item, 10)); this.addForm.vipFee = data.vipFee; - this.svipType = data.svipType.split(',').map(item => parseInt(item, 10)); + if(data.vipType){ + this.vipType = data.vipType.split(',').map(item => parseInt(item, 10)); + }else{ + this.vipType = []; + } + if(data.svipType){ + this.svipType = data.svipType.split(',').map(item => parseInt(item, 10)); + }else{ + this.svipType = []; + } + if(data.displayApp){ + this.appType = data.displayApp.split(',').map(item => item.trim()); + }else{ + this.appType = []; + } + this.addForm.svipFee = data.svipFee; this.addForm.threeHuFee = data.threeHuFee; this.addForm.fiveHuFee = data.fiveHuFee; @@ -675,6 +763,10 @@ export default { handleCheckedSvip(value){ console.log('svip的值', value) }, + //勾选app + handleCheckedApp(value){ + console.log('app的值', value) + } }, }; diff --git a/src/views/modules/trainingCourse/training-course-user.vue b/src/views/modules/trainingCourse/training-course-user.vue index 2a90a76..e06bf86 100644 --- a/src/views/modules/trainingCourse/training-course-user.vue +++ b/src/views/modules/trainingCourse/training-course-user.vue @@ -61,7 +61,12 @@ + + + @@ -183,6 +188,13 @@ export default { this.getDataList(); }, methods: { + splitIdentity(identity) { + const match = identity.match(/([^\d:]+)(:)([\d.]+)/); + return { + type: match ? match[1].trim() : identity, + price: match ? match[3] : '' + }; + }, //排序变化事件 handleSortChange({ column, prop, order }) { this.sortParams.date = order @@ -354,13 +366,12 @@ export default { }, //导出 handleExport() { + this.dataListLoading = true; try { this.$http({ url: this.$http.adornUrl("/master/trainingClass/exportTrainingClassUser"), method: "post", data: this.$http.adornData({ - current: this.pageIndex, - limit: this.pageSize, trainingId: this.trainingId, tel: this.dataForm.tel, createTimeSort: this.sortParams.date @@ -378,6 +389,7 @@ export default { link.click(); window.URL.revokeObjectURL(link.href); // 释放内存 + this.dataListLoading = false; this.$message({ message: "培训班用户数据文件下载完成,请注意查看!", type: "success", @@ -388,6 +400,7 @@ export default { }); } catch (err) { this.$message.error("文件下载失败!"); + this.dataListLoading = true; } }, },