瀏覽代碼

迁移手动发课营期

吴树波 1 月之前
父節點
當前提交
a59594bc20

+ 37 - 0
.env.prod-whhm

@@ -0,0 +1,37 @@
+# 页面标题
+VUE_APP_TITLE =惠名互联网医院管理系统
+# 首页菜单标题
+VUE_APP_TITLE_INDEX =惠名互联网医院
+# 公司名称
+VUE_APP_COMPANY_NAME =武汉惠名大药房有限责任公司
+# ICP备案号
+VUE_APP_ICP_RECORD =闽ICP备2020016609号-3
+# ICP网站访问地址
+VUE_APP_ICP_URL =https://beian.miit.gov.cn
+# 网站LOG
+VUE_APP_LOG_URL =@/assets/logo/whhm.png
+# 存储桶配置
+VUE_APP_OBS_ACCESS_KEY_ID = K2UTJGIN7UTZJR2XMXYG
+# 存储桶配置
+VUE_APP_OBS_SECRET_ACCESS_KEY = sbyeNJLbcYmH6copxeFP9pAoksM4NIT9Zw4x0SRX
+# 存储桶配置
+VUE_APP_OBS_SERVER = https://obs.cn-north-4.myhuaweicloud.com
+# 存储桶配置
+VUE_APP_OBS_BUCKET = whhm-hw079058881
+# 存储桶配置
+VUE_APP_COS_BUCKET = whhm-1323137866
+# 存储桶配置
+VUE_APP_COS_REGION = ap-chongqing
+# 线路一地址
+VUE_APP_VIDEO_LINE_1 = https://whhmtcpv.ylrzcloud.com
+# 线路二地址
+VUE_APP_VIDEO_LINE_2 = https://whhmobs.ylrztop.com
+
+# 开发环境配置
+ENV = 'production'
+
+# FS管理系统/开发环境
+VUE_APP_BASE_API = '/prod-api'
+
+# 路由懒加载
+VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 9 - 1
src/api/ad/adSite.js

@@ -50,4 +50,12 @@ export function exportAdSite(query) {
     method: 'get',
     params: query
   })
-}
+}
+// 导出站点管理
+export function listAll(query) {
+  return request({
+    url: '/ad/adSite/listAll',
+    method: 'get',
+    params: query
+  })
+}

+ 23 - 6
src/views/course/userCoursePeriod/batchRedPacket.vue

@@ -1,9 +1,10 @@
 <template>
   <el-dialog
     title="批量设置红包"
-    :visible.sync="visible"
+    :visible.sync="dialogVisible"
     width="800px"
     append-to-body
+    @close="handleClose"
   >
     <el-table
       v-loading="loading"
@@ -23,14 +24,15 @@
         align="center"
       />
       <el-table-column
-        label="金额"
+        label="金额(0.1-0.3元)"
         align="center"
         width="200"
       >
         <template slot-scope="scope">
           <el-input-number
             v-model="scope.row.amount"
-            :min="0.01"
+            :min="0.1"
+            :max="0.3"
             :precision="2"
             :step="0.01"
             size="small"
@@ -65,14 +67,22 @@ export default {
   data() {
     return {
       loading: false,
-      tableData: []
+      tableData: [],
+      dialogVisible: false
     }
   },
   watch: {
     visible(val) {
+      this.dialogVisible = val;
       if (val) {
         this.initTableData()
       }
+    },
+    dialogVisible(val) {
+      if (!val) {
+        // 当弹窗关闭时,通知父组件
+        this.$emit('update:visible', false);
+      }
     }
   },
   methods: {
@@ -80,11 +90,18 @@ export default {
     initTableData() {
       this.tableData = this.selectedData.map(item => ({
         ...item,
-        amount: 0.01
+        amount: 0.1
       }))
     },
     // 保存
     handleSave() {
+      // 验证金额范围
+      const invalidItems = this.tableData.filter(item => item.amount < 0.1 || item.amount > 0.3);
+      if (invalidItems.length > 0) {
+        this.$message.error('红包金额需要在0.1元至0.3元之间');
+        return;
+      }
+
       this.$confirm(`是否确定?确定后营期下的所有公司红包金额都将设置成对应值`, '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
@@ -113,7 +130,7 @@ export default {
     },
     // 关闭
     handleClose() {
-      this.$emit('update:visible', false)
+      this.dialogVisible = false;
     }
   }
 }

File diff suppressed because it is too large
+ 459 - 309
src/views/course/userCoursePeriod/index.vue


+ 23 - 15
src/views/course/userCoursePeriod/redPacket.vue

@@ -27,11 +27,12 @@
         <el-table-column label="课程" prop="courseName" align="center" />
         <el-table-column label="小节" prop="videoName" align="center" />
         <el-table-column label="营期日期" prop="dayDate" align="center"/>
-        <el-table-column label="红包金额" width="200px" align="center">
+        <el-table-column label="红包金额(0.1-0.3元)" width="200px" align="center">
           <template slot-scope="scope">
             <el-input-number
               v-model="scope.row.amount"
-              :min="0"
+              :min="0.1"
+              :max="0.3"
               :precision="2"
               :step="0.01"
               size="small"
@@ -51,7 +52,7 @@
 </template>
 
 <script>
-import { getPeriodCompanyList, getDays, batchSaveRedPacket, getPeriodRedPacketList } from "@/api/course/userCoursePeriod";
+import { getPeriodCompanyList, batchSaveRedPacket, getPeriodRedPacketList } from "@/api/course/userCoursePeriod";
 import redPacket from "@/views/course/userCoursePeriod/redPacket.vue";
 
 export default {
@@ -130,27 +131,34 @@ export default {
       }).then(response => {
         this.redPacketList = (response.data || []).map(item => ({
           ...item,
-          amount: item.amount || 0
+          amount: item.amount || 0.1
         }));
       });
     },
     // 保存红包金额
     handleSave() {
-      const saveData = this.redPacketList
-        .filter(item => item.amount > 0)
-        .map(item => ({
-          companyId: this.currentCompany.companyId,
-          redPacketMoney: item.amount,
-          videoId: item.videoId,
-          periodId: this.periodId,
-          dataType: 2
-        }));
-
-      if (saveData.length === 0) {
+      // 筛选出有金额的项目
+      const validAmountItems = this.redPacketList.filter(item => item.amount > 0);
+      if (validAmountItems.length === 0) {
         this.$message.warning('请至少设置一个红包金额');
         return;
       }
 
+      // 验证金额范围
+      const invalidItems = validAmountItems.filter(item => item.amount < 0.1 || item.amount > 0.3);
+      if (invalidItems.length > 0) {
+        this.$message.error('红包金额需要在0.1元至0.3元之间');
+        return;
+      }
+
+      const saveData = validAmountItems.map(item => ({
+        companyId: this.currentCompany.companyId,
+        redPacketMoney: item.amount,
+        videoId: item.videoId,
+        periodId: this.periodId,
+        dataType: 2
+      }));
+
       batchSaveRedPacket(saveData).then(response => {
         if (response.code === 200) {
           this.$message.success('保存成功');

Some files were not shown because too many files changed in this diff