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 @@
+
+
+
+
+ 全部导出
+
+
+
+
+
+
+ {{ scope.row.name }}
+
+
+ {{ scope.row.tel }}
+
+
+ {{ scope.row.count }}
+
+
+
+
+
+ {{ index+1 }}. {{ item.title }} - (编号:{{ item.certificateNo }})
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 @@
-
商品合计:¥{{ 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="商品价格"
>
+
+
线下
+
+
+ 众妙之门
+ 吴门医述
+ 心灵空间
+
+
{{ scope.row.title }}
-
-
-
-
-
{{ scope.row.fee }}
@@ -95,6 +97,11 @@
五星湖粉 {{ scope.row.fiveHuFee }}
+
+
+ {{ getAppNames(scope.row.displayApp) }}
+
+
线上
@@ -116,7 +123,7 @@
-
+
@@ -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 @@
- {{ scope.row.identity }}
+ {{ splitIdentity(scope.row.identity).type }}
+
+
+
+
+ {{ splitIdentity(scope.row.identity).price ? `¥${splitIdentity(scope.row.identity).price}` : '' }}
@@ -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;
}
},
},