From e3d420398158d88f40acda6453b547cf057a699e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AB=E6=99=93=E8=8C=B9?= <1935832701@qq.com> Date: Sun, 23 Apr 2023 16:36:14 +0800 Subject: [PATCH 01/62] =?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/system/stationAvatar.js | 22 + src/api/system/trainingCategory.js | 44 + src/api/system/trainingItem.js | 50 + src/views/system/stationAvatar/index.vue | 96 +- src/views/system/trainingCategory/index.vue | 435 ++++++++ src/views/system/trainingItem/index.vue | 1087 +++++++++++++++++++ 6 files changed, 1710 insertions(+), 24 deletions(-) create mode 100644 src/api/system/trainingCategory.js create mode 100644 src/api/system/trainingItem.js create mode 100644 src/views/system/trainingCategory/index.vue create mode 100644 src/views/system/trainingItem/index.vue diff --git a/src/api/system/stationAvatar.js b/src/api/system/stationAvatar.js index b2eba7f..5bac56b 100644 --- a/src/api/system/stationAvatar.js +++ b/src/api/system/stationAvatar.js @@ -17,6 +17,28 @@ export function updatePoserHeads(data) { data: data }) } +export function uploadVideoUrl(data) { + return request({ + url: '/system/trainingItem/uploadVideoUrl', + method: 'post', + data: data + }) +} + +export function uploadUrl(data) { + return request({ + url: '/system/trainingItem/uploadUrl', + method: 'post', + data: data + }) +} +export function uploadTrainingCategoryPicture(data) { + return request({ + url: '/system/trainingCategory/uploadTrainingCategoryPicture', + method: 'post', + data: data + }) +} export function posts(data) { return request({ diff --git a/src/api/system/trainingCategory.js b/src/api/system/trainingCategory.js new file mode 100644 index 0000000..c2a7fb9 --- /dev/null +++ b/src/api/system/trainingCategory.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询学习培训分类列表 +export function listTrainingCategory(query) { + return request({ + url: '/system/trainingCategory/list', + method: 'get', + params: query + }) +} + +// 查询学习培训分类详细 +export function getTrainingCategory(id) { + return request({ + url: '/system/trainingCategory/' + id, + method: 'get' + }) +} + +// 新增学习培训分类 +export function addTrainingCategory(data) { + return request({ + url: '/system/trainingCategory/add', + method: 'post', + data: data + }) +} + +// 修改学习培训分类 +export function updateTrainingCategory(data) { + return request({ + url: '/system/trainingCategory/edit', + method: 'post', + data: data + }) +} + +// 删除学习培训分类 +export function delTrainingCategory(id) { + return request({ + url: '/system/trainingCategory/' + id, + method: 'delete' + }) +} diff --git a/src/api/system/trainingItem.js b/src/api/system/trainingItem.js new file mode 100644 index 0000000..00cabae --- /dev/null +++ b/src/api/system/trainingItem.js @@ -0,0 +1,50 @@ +import request from '@/utils/request' + +// 查询学习培训项目信息列表 +export function listTrainingItem(query) { + return request({ + url: '/system/trainingItem/list', + method: 'get', + params: query + }) +} +export function listTrainingCategory(query) { + return request({ + url: '/system/trainingCategory/list', + method: 'get', + params: query + }) +} +// 查询学习培训项目信息详细 +export function getTrainingItem(id) { + return request({ + url: '/system/trainingItem/' + id, + method: 'get' + }) +} + +// 新增学习培训项目信息 +export function addTrainingItem(data) { + return request({ + url: '/system/trainingItem/add', + method: 'post', + data: data + }) +} + +// 修改学习培训项目信息 +export function updateTrainingItem(data) { + return request({ + url: '/system/trainingItem/edit', + method: 'post', + data: data + }) +} + +// 删除学习培训项目信息 +export function delTrainingItem(id) { + return request({ + url: '/system/trainingItem/' + id, + method: 'delete' + }) +} diff --git a/src/views/system/stationAvatar/index.vue b/src/views/system/stationAvatar/index.vue index 896a540..eb8a3ae 100644 --- a/src/views/system/stationAvatar/index.vue +++ b/src/views/system/stationAvatar/index.vue @@ -1,13 +1,19 @@ @@ -200,6 +200,96 @@ :limit.sync="queryParams.pageSize" @pagination="getList" /> + + + + + + + + 搜索 + 重置 + + + + + + + + + + + + + + + + @@ -323,6 +413,7 @@ @@ -372,7 +463,49 @@ placeholder="请输入培训项目价格" /> + + {{ form.trainingItemTitle }} + {{ form.trainingItemTitle }} + + + + + + --> - - - - - + { + console.log(response); + this.trainingParentlist = response.rows; + this.total3 = response.total; + this.loading = false; + }); + }, imgUrl(imgUrl) { this.form.trainingCategoryPictureUrl = imgUrl; }, @@ -930,7 +1105,7 @@ export default { id: null, trainingCategoryName: "请选择培训分类", trainingCategoryId: null, - trainingItemTitle: null, + trainingItemTitle: "", trainingItemCode: null, trainingItemPrice: null, trainingItemCoverUrl: null, @@ -971,6 +1146,17 @@ export default { }, /** 新增按钮操作 */ handleAdd() { + this.form = { + trainingItemDirectoryList: [ + { + itemDirectoryName: null, + itemDirectoryTitle: null, + itemDirectoryUrl: null, + itemDirectoryIntroduce: null, + itemDirectorySort: null, + }, + ], + }; this.reset(); this.open = true; this.isEditFlag = false; @@ -999,24 +1185,17 @@ export default { }, /** 提交按钮 */ submitForm() { - if (this.form.trainingItemStartTime) { - this.form.trainingItemStartTimeStr = this.form.trainingItemStartTime; - } else { - this.form.trainingItemStartTimeStr = "00:00:00"; - } - this.form.trainingItemDirectoryList.forEach((e) => { - if ( - e.itemDirectoryIntroduce == null && - e.itemDirectoryName == null && - e.itemDirectoryTitle == null && - e.itemDirectoryUrl == null && - e.itemDirectorySort == null - ) { - this.form.trainingItemDirectoryList = []; - } - }); this.$refs["form"].validate((valid) => { if (valid) { + if (this.form.trainingItemStartTime) { + this.form.trainingItemStartTimeStr = + this.form.trainingItemStartTime; + } else { + this.form.trainingItemStartTimeStr = "00:00:00"; + } + if (this.form.trainingItemType == "GRAPHIC_LEARNING"||this.form.trainingItemType == "LEARNING_ITEM_GROUP") { + this.form.trainingItemDirectoryList = []; + } if (this.form.trainingItemId != null) { updateTrainingItem(this.form).then((response) => { this.$modal.msgSuccess("修改成功"); From 6371aa311399eb3add1e62f2ab9db7c1e772c100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AB=E6=99=93=E8=8C=B9?= <1935832701@qq.com> Date: Mon, 24 Apr 2023 14:07:10 +0800 Subject: [PATCH 05/62] =?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/system/trainingOrder.js | 50 ++ src/views/system/trainingOrder/index.vue | 562 +++++++++++++++++++++++ 2 files changed, 612 insertions(+) create mode 100644 src/api/system/trainingOrder.js create mode 100644 src/views/system/trainingOrder/index.vue diff --git a/src/api/system/trainingOrder.js b/src/api/system/trainingOrder.js new file mode 100644 index 0000000..d20d09e --- /dev/null +++ b/src/api/system/trainingOrder.js @@ -0,0 +1,50 @@ +import request from '@/utils/request' + +// 查询学习培训订单主列表 +export function listTrainingOrder(query) { + return request({ + url: '/system/trainingOrder/list', + method: 'get', + params: query + }) +} + +// 查询学习培训订单主详细 +export function getTrainingOrder(id) { + return request({ + url: '/system/trainingOrder/' + id, + method: 'get' + }) +} + +// 新增学习培训订单主 +export function addTrainingOrder(data) { + return request({ + url: '/system/trainingOrder/add', + method: 'post', + data: data + }) +} + +// 修改学习培训订单主 +export function updateTrainingOrder(data) { + return request({ + url: '/system/trainingOrder/edit', + method: 'post', + data: data + }) +} +// export function trainingOrder(id) { +// return request({ +// url: `/system/trainingOrder/` + `?id=${id}`, +// method: 'get', + +// }) +// } +// 删除学习培训订单主 +export function delTrainingOrder(id) { + return request({ + url: '/system/trainingOrder/' + id, + method: 'delete' + }) +} diff --git a/src/views/system/trainingOrder/index.vue b/src/views/system/trainingOrder/index.vue new file mode 100644 index 0000000..69bb258 --- /dev/null +++ b/src/views/system/trainingOrder/index.vue @@ -0,0 +1,562 @@ + + + + \ No newline at end of file From 33eb1e3387a78af159cd2db10cdfc4b25f0cae5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AB=E6=99=93=E8=8C=B9?= <1935832701@qq.com> Date: Mon, 24 Apr 2023 16:49:42 +0800 Subject: [PATCH 06/62] =?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/views/system/trainingItem/index.vue | 38 ++++++++++++++++++++----- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/src/views/system/trainingItem/index.vue b/src/views/system/trainingItem/index.vue index 8c3b655..e4b53cd 100644 --- a/src/views/system/trainingItem/index.vue +++ b/src/views/system/trainingItem/index.vue @@ -274,9 +274,32 @@ align="center" > + + + + @@ -466,7 +489,7 @@ {{ form.trainingItemTitle }}{{ form.trainingParentName }} {{ form.trainingItemTitle }}{{ form.trainingParentName }} @@ -781,7 +804,6 @@ export default { trainingParentqueryParams: { pageNum: 1, pageSize: 10, - trainingCategoryCode: "", trainingCategoryTitle: "", }, trainingCategoryqueryParams: { @@ -1043,7 +1065,7 @@ export default { // 父级项目组 trainingParentitemlist(row) { this.form.trainingParentId = row.id; - this.form.trainingItemTitle = row.trainingItemTitle; + this.form.trainingParentName = row.trainingParentName; this.innerVisiblepd = false; }, info() { @@ -1102,10 +1124,12 @@ export default { itemDirectorySort: null, }, ], + trainingParentId:null, id: null, trainingCategoryName: "请选择培训分类", trainingCategoryId: null, trainingItemTitle: "", + trainingParentName:"", trainingItemCode: null, trainingItemPrice: null, trainingItemCoverUrl: null, From 5330c1af408abbd1e1198bc11593187cc4b3cdf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AB=E6=99=93=E8=8C=B9?= <1935832701@qq.com> Date: Mon, 24 Apr 2023 18:14:09 +0800 Subject: [PATCH 07/62] =?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/system/trainingOrder.js | 16 +++ src/views/system/trainingItem/index.vue | 102 ++++++++++------ src/views/system/trainingOrder/index.vue | 146 +++++++++++++++++------ 3 files changed, 192 insertions(+), 72 deletions(-) diff --git a/src/api/system/trainingOrder.js b/src/api/system/trainingOrder.js index d20d09e..af5809b 100644 --- a/src/api/system/trainingOrder.js +++ b/src/api/system/trainingOrder.js @@ -16,6 +16,22 @@ export function getTrainingOrder(id) { method: 'get' }) } +// 确定按钮 +export function xylWeChatRefundNotify(data) { + return request({ + url: '/nurseApp/weChatPayment/weChatRefundOrderApply', + method: 'post', + data: data + }) +} +// 退款 +export function refundInformation(id) { + return request({ + url: `/system/trainingOrder/refundInformation` + `?id=${id}`, + method: 'get', + }) +} + // 新增学习培训订单主 export function addTrainingOrder(data) { diff --git a/src/views/system/trainingItem/index.vue b/src/views/system/trainingItem/index.vue index e4b53cd..35cee5c 100644 --- a/src/views/system/trainingItem/index.vue +++ b/src/views/system/trainingItem/index.vue @@ -274,28 +274,30 @@ align="center" > - + - + @@ -603,7 +605,6 @@ v-if=" form.trainingItemType == 'LIVE_COURSES' || form.trainingItemType == 'OFFLINE_TRAINING' - " > 0) { + updatePicture(obj).then((res) => {}); + } + // if (this.imgsurl.pictureUrlList.length > 0) { + updatePicture(this.imgsurl).then((res) => {}); + // } + this.imgsurl = { pictureUrlList: [] }; + this.open = false; this.reset(); }, @@ -1124,12 +1136,12 @@ export default { itemDirectorySort: null, }, ], - trainingParentId:null, + trainingParentId: null, id: null, trainingCategoryName: "请选择培训分类", trainingCategoryId: null, trainingItemTitle: "", - trainingParentName:"", + trainingParentName: "", trainingItemCode: null, trainingItemPrice: null, trainingItemCoverUrl: null, @@ -1202,6 +1214,8 @@ export default { response.data.trainingItemDirectoryList.push(obj); } this.form = response.data; + this.imgone = this.form.trainingItemCoverUrl; + this.imgtwo = this.form.trainingItemPosterUrl; this.open = true; this.title = "修改学习培训项目信息"; this.isEditFlag = true; @@ -1217,11 +1231,25 @@ export default { } else { this.form.trainingItemStartTimeStr = "00:00:00"; } - if (this.form.trainingItemType == "GRAPHIC_LEARNING"||this.form.trainingItemType == "LEARNING_ITEM_GROUP") { + if ( + this.form.trainingItemType == "GRAPHIC_LEARNING" || + this.form.trainingItemType == "LEARNING_ITEM_GROUP" + ) { this.form.trainingItemDirectoryList = []; } if (this.form.trainingItemId != null) { updateTrainingItem(this.form).then((response) => { + var obj = { pictureUrlList: [] }; + if (this.imgone != this.form.trainingItemCoverUrl) { + obj.pictureUrlList.push(this.imgone); + } + if (this.imgtwo != this.form.trainingItemPosterUrl) { + obj.pictureUrlList.push(this.imgtwo); + } + this.imgsurl = { pictureUrlList: [] }; + if (obj.pictureUrlList.length > 0) { + updatePicture(obj).then((res) => {}); + } this.$modal.msgSuccess("修改成功"); this.open = false; this.getList(); diff --git a/src/views/system/trainingOrder/index.vue b/src/views/system/trainingOrder/index.vue index 69bb258..a953c7f 100644 --- a/src/views/system/trainingOrder/index.vue +++ b/src/views/system/trainingOrder/index.vue @@ -160,46 +160,22 @@ v-if="scope.row.trainingOrderStatus == 'PAY'" >已付款 - 待派单 - 待接单 - 未完成 - 待评价 - 服务完成 退款中 - 退款成功 + 已取消 + 已退款 + + + + + + + + + + + + + + + + + + @@ -336,9 +377,11 @@ - + - - + + + { + if (obj.trainingShelfFlag == 0) { + this.$modal.msgSuccess("已修改上架状态为未上架"); + } else { + this.$modal.msgSuccess("已修改上架状态为上架"); + } + this.getList(); + }); + }, /** 查询学习培训项目信息列表 */ getList() { this.loading = true; listTrainingItem(this.queryParams).then((response) => { this.trainingItemList = response.rows; + response.rows.forEach((e) => { + if (e.trainingShelfFlag == 1) { + e.trainingShelfFlag = true; + } else if (e.trainingShelfFlag == 0) { + e.trainingShelfFlag = false; + } + }); this.total = response.total; this.loading = false; }); @@ -1117,7 +1151,7 @@ export default { updatePicture(obj).then((res) => {}); } // if (this.imgsurl.pictureUrlList.length > 0) { - updatePicture(this.imgsurl).then((res) => {}); + updatePicture(this.imgsurl).then((res) => {}); // } this.imgsurl = { pictureUrlList: [] }; @@ -1194,7 +1228,7 @@ export default { ], }; this.reset(); - this.open = true; + this.open = true; this.isEditFlag = false; this.title = "添加学习培训项目信息"; }, From fd172e22abf2afd57da0f369718c4295f1ec49c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AB=E6=99=93=E8=8C=B9?= <1935832701@qq.com> Date: Tue, 25 Apr 2023 09:25:22 +0800 Subject: [PATCH 09/62] =?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/system/trainingItem.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/api/system/trainingItem.js b/src/api/system/trainingItem.js index 51593eb..137ea15 100644 --- a/src/api/system/trainingItem.js +++ b/src/api/system/trainingItem.js @@ -23,6 +23,15 @@ export function selectTrainingParent(query) { params: query }) } +// 修改上下架 +export function updateTrainingShelfFlag(data) { + return request({ + url: '/system/trainingItem/updateTrainingShelfFlag', + method: 'post', + data: data + + }) +} // 查询学习培训项目信息详细 export function getTrainingItem(id) { From 19aaeaafccb829b3591fe99c34a78cfb299696db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AB=E6=99=93=E8=8C=B9?= <1935832701@qq.com> Date: Tue, 25 Apr 2023 10:01:36 +0800 Subject: [PATCH 10/62] =?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/views/system/trainingItem/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/system/trainingItem/index.vue b/src/views/system/trainingItem/index.vue index b0664b6..e8d1920 100644 --- a/src/views/system/trainingItem/index.vue +++ b/src/views/system/trainingItem/index.vue @@ -820,7 +820,7 @@ export default { }, { value: 1, - label: "购买", + label: "否", }, ], value: "", From fe6a89a5101ba2046063d1a4f7e4a3808922c2af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AB=E6=99=93=E8=8C=B9?= <1935832701@qq.com> Date: Tue, 25 Apr 2023 13:27:49 +0800 Subject: [PATCH 11/62] =?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/views/system/trainingCategory/index.vue | 3 + src/views/system/trainingItem/index.vue | 372 +++++++++++--------- 2 files changed, 215 insertions(+), 160 deletions(-) diff --git a/src/views/system/trainingCategory/index.vue b/src/views/system/trainingCategory/index.vue index 6c776a9..d0d6d68 100644 --- a/src/views/system/trainingCategory/index.vue +++ b/src/views/system/trainingCategory/index.vue @@ -35,6 +35,8 @@ - + - + + + @@ -130,7 +143,7 @@ }} {{ scope.row.trainingItemType == "LEARNING_ITEM_GROUP" - ? "学习培训项目组" + ? "学习培训课程组" : "" }} @@ -147,7 +160,7 @@ @@ -210,9 +223,9 @@ :limit.sync="queryParams.pageSize" @pagination="getList" /> - + + + + + + - @@ -304,18 +335,11 @@ }} {{ scope.row.trainingItemType == "LEARNING_ITEM_GROUP" - ? "学习培训项目组" + ? "学习培训课程组" : "" }} - - - + --> - + - + - + - + + {{ form.trainingParentName }} + {{ form.trainingParentName }} + + + - - {{ form.trainingParentName }} - {{ form.trainingParentName }} - - + --> - + --> - + + + - - - + @@ -412,23 +566,61 @@ import { listTrainingOrder, getTrainingOrder, + orderItemDirectory, refundInformation, delTrainingOrder, - trainingOrder, xylWeChatRefundNotify, addTrainingOrder, updateTrainingOrder, } from "@/api/system/trainingOrder"; - +import baseurl from "@/api/baseurl.js"; export default { name: "TrainingOrder", data() { return { + baseurl: null, + trainingOrderStatusoptions: [ + { + value: "WAIT_PAY", + label: "待付款", + }, + { + value: "PAY", + label: "已付款", + }, + { + value: "WAIT_REFUND", + label: "退款中", + }, + { + value: "REFUNDED", + label: "已退款", + }, + { + value: "CANCEL", + label: "已取消", + }, + ], // 遮罩层 loading: true, innerrefund: false, + innerrefundvideo: false, query: {}, - + formlist: [], + trainingItemTypeoptions: [ + { + value: "GRAPHIC_LEARNING", + label: "图文学习", + }, + { + value: "LEARNING_ITEM_GROUP", + label: "学习培训项目组", + }, + { + value: "VIDEO_LEARNING", + label: "视频学习", + }, + ], // 选中数组 ids: [], optiondeflag: [ @@ -484,12 +676,15 @@ export default { }, // 表单参数 form: {}, + list: [], + trainingOrderDetailsList: [], // 表单校验 rules: {}, }; }, created() { this.getList(); + this.baseurl = baseurl; }, methods: { // 取消按钮 @@ -502,7 +697,6 @@ export default { refundInformation(row.id).then((response) => { this.query = response.data; this.innerrefund = true; - this.title = "退款"; }); }, //退款确定按钮 @@ -534,7 +728,17 @@ export default { this.open = false; this.reset(); }, - handlelook() {}, + // 查看视频 + handlelook(row) { + this.innerrefundvideo = true; + console.log(row); + this.formlist.trainingItemCoverUrl = row.trainingItemCoverUrl; + this.formlist.trainingItemPosterUrl = row.trainingItemPosterUrl; + orderItemDirectory(row.trainingOrderDetailsId).then((response) => { + this.list = response.rows; + }); + }, + // 表单重置 reset() { this.form = { @@ -578,12 +782,14 @@ export default { this.open = true; this.title = "添加学习培训订单主"; }, - /** 修改按钮操作 */ + /** 查看按钮操作 */ handleUpdate(row) { this.reset(); const id = row.id || this.ids; getTrainingOrder(id).then((response) => { this.form = response.data; + this.form.trainingOrderDetailsList = + response.data.trainingOrderDetailsList; this.open = true; this.title = "查看学习培训订单"; }); @@ -635,4 +841,10 @@ export default { }, }; - \ No newline at end of file + \ No newline at end of file From 2e3bb24ff1b266f2394f575a4dab05ab992f5f67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AB=E6=99=93=E8=8C=B9?= <1935832701@qq.com> Date: Wed, 26 Apr 2023 10:27:11 +0800 Subject: [PATCH 13/62] =?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/components/Editor/index.vue | 15 ++++++----- src/views/system/trainingItem/index.vue | 34 +++++++++++++++++++++---- 2 files changed, 37 insertions(+), 12 deletions(-) diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue index 4d7cb28..616fa47 100644 --- a/src/components/Editor/index.vue +++ b/src/components/Editor/index.vue @@ -61,10 +61,10 @@ export default { type: String, default: "/common/richTextPictureUrl", }, - filetypes: { - type: String, - default: "", - }, + // filetypes: { + // type: String, + // default: "", + // }, }, data() { return { @@ -103,7 +103,8 @@ export default { }, created() { this.uploadUrl = process.env.VUE_APP_BASE_API + this.url; - this.filetype.type = this.filetypes; + // console.log(this.url) + // this.filetype.type = this.filetypes; }, computed: { styles() { @@ -196,8 +197,8 @@ export default { "image", process.env.VUE_APP_BASE_API + res.fileName ); - console.log(res) - this.$emit("imgs", res.imgUrl); + console.log(res); + this.$emit("imgs", res.fileName); // 调整光标到最后 quill.setSelection(length + 1); } else { diff --git a/src/views/system/trainingItem/index.vue b/src/views/system/trainingItem/index.vue index e08ce02..238a56c 100644 --- a/src/views/system/trainingItem/index.vue +++ b/src/views/system/trainingItem/index.vue @@ -490,10 +490,14 @@ > - + form.trainingItemType == 'GRAPHIC_LEARNING' + " + > @@ -648,8 +654,7 @@ > @@ -1009,6 +1014,25 @@ export default { this.getList(); }, methods: { + /**只能输入数字且有小数点最多保留两位*/ + checkPrice() { + let checkPlan = "" + this.form.trainingItemPrice; + checkPlan = checkPlan + .replace(/[^\d.]/g, "") // 清除“数字”和“.”以外的字符 + .replace(/\.{2,}/g, ".") // 只保留第一个. 清除多余的 + .replace(/^\./g, "") // 保证第一个为数字而不是. + .replace(".", "$#$") + .replace(/\./g, "") + .replace("$#$", "."); + if (checkPlan.indexOf(".") < 0 && checkPlan !== "") { + // 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额 + checkPlan = parseFloat(checkPlan) + ""; + } else if (checkPlan.indexOf(".") >= 0) { + checkPlan = checkPlan.replace(/^()*(\d+)\.(\d\d).*$/, "$1$2.$3"); // 只能输入两个小数 + } + this.form.trainingItemPrice = checkPlan; + }, + //新增视频列表 addPictureUrl() { this.idd++; From d5bdec2b93449fd10017a7bfd717509ab1450e16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AB=E6=99=93=E8=8C=B9?= <1935832701@qq.com> Date: Wed, 26 Apr 2023 10:52:27 +0800 Subject: [PATCH 14/62] =?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/views/system/trainingItem/index.vue | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/views/system/trainingItem/index.vue b/src/views/system/trainingItem/index.vue index 238a56c..462f5c0 100644 --- a/src/views/system/trainingItem/index.vue +++ b/src/views/system/trainingItem/index.vue @@ -560,7 +560,6 @@ @@ -611,7 +610,7 @@ oninput="value=value.replace(/[^\d]/g,'')" maxlength="5" style="width: 250px" - v-model="form.trainingItemSort" + v-model.number="form.trainingItemSort" placeholder="值越小,排名越靠前" /> @@ -641,9 +640,9 @@ { if (valid) { if (this.form.trainingItemStartTime) { From 50db817c4779712bca3bcad19372d51b7b3670e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AB=E6=99=93=E8=8C=B9?= <1935832701@qq.com> Date: Wed, 26 Apr 2023 11:02:41 +0800 Subject: [PATCH 15/62] =?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/views/system/trainingItem/index.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/views/system/trainingItem/index.vue b/src/views/system/trainingItem/index.vue index 462f5c0..f52be13 100644 --- a/src/views/system/trainingItem/index.vue +++ b/src/views/system/trainingItem/index.vue @@ -562,6 +562,7 @@ style="width: 250px" v-model="form.trainingItemPrice" placeholder="请输入培训课程价格" + clearable /> @@ -569,6 +570,7 @@ From 8b98ebc2658babdedcfaa065819301ea99438d74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AB=E6=99=93=E8=8C=B9?= <1935832701@qq.com> Date: Wed, 26 Apr 2023 11:17:40 +0800 Subject: [PATCH 16/62] =?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/views/system/trainingItem/index.vue | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/views/system/trainingItem/index.vue b/src/views/system/trainingItem/index.vue index f52be13..c3dc361 100644 --- a/src/views/system/trainingItem/index.vue +++ b/src/views/system/trainingItem/index.vue @@ -581,6 +581,16 @@ > + + + --> - - - + Date: Wed, 26 Apr 2023 11:43:27 +0800 Subject: [PATCH 17/62] =?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/views/system/trainingItem/index.vue | 33 ++++++++++++++++--------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/src/views/system/trainingItem/index.vue b/src/views/system/trainingItem/index.vue index c3dc361..efa8aa4 100644 --- a/src/views/system/trainingItem/index.vue +++ b/src/views/system/trainingItem/index.vue @@ -617,7 +617,7 @@ placeholder="请输入内容" /> --> - + @@ -760,7 +760,7 @@ /> - + - + - + - + - + @@ -361,58 +265,21 @@ :inline="true" > - +
{{ form.nursePersonName }}
- +
{{ form.trainingOrderNo }}
- +
{{ form.trainingOrderAmount }}
+ - - - +
{{ form.trainingOrderChannel }}
- - +
{{ form.trainingOrderTime }}
- - - - - - - +
- + - - + + +
{{ formlist.trainingItemDetails }}
+
+ + + + + @@ -546,17 +374,47 @@ alt /> - - - + + + + + + + + + + + + +
@@ -574,8 +432,12 @@ import { updateTrainingOrder, } from "@/api/system/trainingOrder"; import baseurl from "@/api/baseurl.js"; +import stationAcatar from "../stationAvatar/index.vue"; +import editor from "@/components/Editor"; + export default { name: "TrainingOrder", + components: { stationAcatar, editor }, data() { return { baseurl: null, @@ -606,7 +468,7 @@ export default { innerrefund: false, innerrefundvideo: false, query: {}, - formlist: [], + formlist: {}, trainingItemTypeoptions: [ { value: "GRAPHIC_LEARNING", @@ -687,6 +549,25 @@ export default { this.baseurl = baseurl; }, methods: { + // 章节视频 + itemDirectoryUrl(item) { + let items = JSON.parse(item); + console.log(items); + if (items.idd && !items.trainingItemDirectoryId) { + this.form.trainingItemDirectoryList.forEach((e) => { + if (e.idd == items.idd) { + e.itemDirectoryUrl = items.itemDirectoryUrl; + } + }); + } else if (!items.idd && items.attributeDetailsId) { + this.form.trainingItemDirectoryList.forEach((e) => { + if (e.attributeDetailsId == items.attributeDetailsId) { + e.itemDirectoryUrl = items.itemDirectoryUrl; + } + }); + } + }, + imgUrl4(imgUrl) {}, // 取消按钮 cencelbtn() { this.innerrefund = false; @@ -699,6 +580,10 @@ export default { this.innerrefund = true; }); }, + imgs(item) { + console.log(item); + this.imgsurl.pictureUrlList.push(item); + }, //退款确定按钮 ordercacenl() { var obj = { @@ -732,10 +617,14 @@ export default { handlelook(row) { this.innerrefundvideo = true; console.log(row); + this.formlist.trainingItemCoverUrl = row.trainingItemCoverUrl; this.formlist.trainingItemPosterUrl = row.trainingItemPosterUrl; + this.formlist.trainingItemDetails = row.trainingItemDetails; + this.formlist.trainingItemContent = row.trainingItemContent; + orderItemDirectory(row.trainingOrderDetailsId).then((response) => { - this.list = response.rows; + this.formlist.list = response.rows; }); }, @@ -790,6 +679,16 @@ export default { this.form = response.data; this.form.trainingOrderDetailsList = response.data.trainingOrderDetailsList; + response.data.trainingOrderChannel == "WECHAT_APPLET" + ? (response.data.trainingOrderChannel = "微信小程序") + : ""; + response.data.trainingOrderChannel == "MOBILE_APP" + ? (response.data.trainingOrderChannel = "手机App") + : ""; + response.data.trainingOrderChannel == "ALI_PAY_APPLET" + ? (response.data.trainingOrderChannel = "支付宝小程序") + : ""; + this.open = true; this.title = "查看学习培训订单"; }); @@ -847,4 +746,43 @@ export default { height: 150px; margin-left: 10px; } +.text { + width: 250px; + height: 36px; + line-height: 36px; + padding-left: 15px; + font-size: 14px; + border-radius: 4px; + padding: 0 15px; + border: 1px solid #e6ebf5; +} +.textdetail { + width: 550px; + // height: 600px; + line-height: 36px; + padding-left: 15px; + font-size: 14px; + border-radius: 4px; + padding: 0 15px; + border: 1px solid #e6ebf5; +} +.textdetails { + width: 600px; + // height: 300px; + line-height: 36px; + padding-left: 15px; + font-size: 14px; + border-radius: 4px; + padding: 0 15px; + border: 1px solid #e6ebf5; +} +::v-deep .wihi { + text-align: left !important; + // width: 208px !important; + // height: 208px !important; + background: none; +} +::v-deep .video-avatar { + transform: translateX(-25%); +} \ No newline at end of file From d571b87c88f43720e505265cd1bfa645ad3c08b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AB=E6=99=93=E8=8C=B9?= <1935832701@qq.com> Date: Wed, 26 Apr 2023 16:04:28 +0800 Subject: [PATCH 24/62] =?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/views/system/trainingItem/index.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/views/system/trainingItem/index.vue b/src/views/system/trainingItem/index.vue index b406137..b6917cb 100644 --- a/src/views/system/trainingItem/index.vue +++ b/src/views/system/trainingItem/index.vue @@ -157,6 +157,7 @@ @@ -283,6 +281,7 @@ - @@ -377,6 +375,7 @@ @@ -390,11 +389,10 @@ :item="scope.row" /> --> + class="img" + :src="baseurl + scope.row.itemDirectoryUrl" + controls="controls" + > @@ -413,7 +411,6 @@ > - @@ -615,6 +612,7 @@ export default { }, // 查看视频 handlelook(row) { + this.loading = true; this.innerrefundvideo = true; console.log(row); @@ -622,9 +620,9 @@ export default { this.formlist.trainingItemPosterUrl = row.trainingItemPosterUrl; this.formlist.trainingItemDetails = row.trainingItemDetails; this.formlist.trainingItemContent = row.trainingItemContent; - orderItemDirectory(row.trainingOrderDetailsId).then((response) => { this.formlist.list = response.rows; + this.loading = false; }); }, From 13797d65d74ed95619786fa1529c59355c67884e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AB=E6=99=93=E8=8C=B9?= <1935832701@qq.com> Date: Wed, 26 Apr 2023 17:07:33 +0800 Subject: [PATCH 26/62] =?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/views/system/trainingItem/index.vue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/views/system/trainingItem/index.vue b/src/views/system/trainingItem/index.vue index b6917cb..9bc3b9b 100644 --- a/src/views/system/trainingItem/index.vue +++ b/src/views/system/trainingItem/index.vue @@ -774,6 +774,7 @@