Browse Source

修改问题

lex 2 years ago
parent
commit
55ac325fab

+ 46 - 103
src/views/baseRulesClassSetting/live-class-setting.vue

@@ -1,134 +1,67 @@
 <template>
   <div>
     <!-- 列表 -->
-    <el-button
-      style="margin-bottom: 20px"
-      type="primary"
-      v-permission="'vipGroupCategory/add'"
-      @click="onChargeOperation('create')"
-      icon="el-icon-plus"
-      >添加</el-button
-    >
-    <el-table
-      :data="topList"
-      :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
-    >
+    <el-button style="margin-bottom: 20px" type="primary" v-permission="'vipGroupCategory/add'"
+      @click="onChargeOperation('create')" icon="el-icon-plus">添加</el-button>
+    <el-table :data="topList" :header-cell-style="{ background: '#EDEEF0', color: '#444' }">
       <el-table-column align="center" prop="unitPriceId" label="编号">
       </el-table-column>
-      <el-table-column
-        align="center"
-        prop="singleClassMinutes"
-        label="课程时长(分钟)"
-      >
+      <el-table-column align="center" prop="singleClassMinutes" label="课程时长(分钟)">
       </el-table-column>
-      <el-table-column
-        align="center"
-        prop="onlineClassesUnitPrice"
-        label="售价"
-      >
+      <el-table-column align="center" prop="onlineClassesUnitPrice" label="售价">
         <template slot-scope="scope">
           <div>{{ scope.row.onlineClassesUnitPrice }}元/节</div>
         </template>
       </el-table-column>
-      <el-table-column
-        align="center"
-        prop="offlineClassesUnitPrice"
-        label="原价"
-      >
+      <el-table-column align="center" prop="offlineClassesUnitPrice" label="原价">
         <template slot-scope="scope">
           <div>{{ scope.row.offlineClassesUnitPrice }}元/节</div>
         </template>
       </el-table-column>
       <el-table-column align="center" label="操作">
         <template slot-scope="scope">
-          <el-button
-            v-permission="'vipGroupDefaultClassesUnitPrice/update'"
-            @click="onChargeOperation('update', scope.row)"
-            type="text"
-            >修改</el-button
-          >
-          <el-button
-            v-permission="'vipGroupCategory/delete'"
-            @click="resetGroupCategory(scope.row)"
-            type="text"
-            >删除</el-button
-          >
+          <el-button v-permission="'vipGroupDefaultClassesUnitPrice/update'"
+            @click="onChargeOperation('update', scope.row)" type="text">修改</el-button>
+          <el-button v-permission="'vipGroupCategory/delete'" @click="resetGroupCategory(scope.row)"
+            type="text">删除</el-button>
         </template>
       </el-table-column>
     </el-table>
 
     <!-- 课程类型新增弹窗 -->
-    <el-dialog
-      :title="liveForm.isAdd ? '添加直播课设置' : '修改直播课设置'"
-      width="500px"
-      @close="onVipStatusClose('vipStatus')"
-      :visible.sync="liveStatus"
-      label-position="right"
-      :label-width="formLabelWidth"
-    >
+    <el-dialog :title="liveForm.isAdd ? '添加直播课设置' : '修改直播课设置'" width="500px" @close="onVipStatusClose('vipStatus')"
+      :visible.sync="liveStatus" label-position="right" :label-width="formLabelWidth">
       <el-form :model="liveForm" ref="vipStatus">
-        <el-form-item
-          label="课程课时"
-          prop="singleClassMinutes"
-          :rules="[
-            {
-              required: true,
-              message: '请输入课程课时',
-              trigger: 'blur'
-            }
-          ]"
-        >
-          <el-input
-            @input="
-              val => {
-                form.val = val.replace(/[^\d]/g, '');
-              }
-            "
-            :disabled="!liveForm.isAdd"
-            v-model.trim="liveForm.singleClassMinutes"
-            placeholder="请输入课程课时"
-          />
+        <el-form-item label="课程课时(分钟)" prop="singleClassMinutes" :rules="[{
+          required: true, validator: validStock, trigger: 'blur'
+        }]">
+          <el-input @input="val => {
+            liveForm.singleClassMinutes = val.replace(/[^\d]/g, '');
+          }
+            " :disabled="!liveForm.isAdd" v-model.trim="liveForm.singleClassMinutes" placeholder="请输入课程课时" />
         </el-form-item>
-        <el-form-item
-          label="售价"
-          prop="onlineClassesUnitPrice"
-          :rules="[
-            {
-              required: true,
-              message: '请输入售价',
-              trigger: 'blur'
-            }
-          ]"
-        >
-          <el-input
-            @keyup.native="keyupEvent($event)"
-            v-model="liveForm.onlineClassesUnitPrice"
-            placeholder="请输入售价"
-          />
+        <el-form-item label="售价(元/节)" prop="onlineClassesUnitPrice" :rules="[
+          {
+            required: true,
+            message: '请输入售价',
+            trigger: 'blur'
+          }
+        ]">
+          <el-input @keyup.native="keyupEvent($event)" v-model="liveForm.onlineClassesUnitPrice" placeholder="请输入售价" />
         </el-form-item>
-        <el-form-item
-          label="原价"
-          prop="offlineClassesUnitPrice"
-          :rules="[
-            {
-              required: true,
-              message: '请输入原价',
-              trigger: 'blur'
-            }
-          ]"
-        >
-          <el-input
-            @keyup.native="keyupEvent($event)"
-            v-model="liveForm.offlineClassesUnitPrice"
-            placeholder="请输入原价"
-          />
+        <el-form-item label="原价(元/节)" prop="offlineClassesUnitPrice" :rules="[
+          {
+            required: true,
+            message: '请输入原价',
+            trigger: 'blur'
+          }
+        ]">
+          <el-input @keyup.native="keyupEvent($event)" v-model="liveForm.offlineClassesUnitPrice" placeholder="请输入原价" />
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="liveStatus = false">取 消</el-button>
-        <el-button type="primary" @click="addLiveStatus('vipStatus')"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="addLiveStatus('vipStatus')">确 定</el-button>
       </div>
     </el-dialog>
   </div>
@@ -163,6 +96,15 @@ export default {
     this.getVipGroupCategoryList();
   },
   methods: {
+    validStock(rule, value, callback) {
+      if ((value == "" && typeof value == "string") || value == null) {
+        callback(new Error("请输入课时"));
+      } else if (value <= 0) {
+        callback(new Error("课时必须大于0"));
+      } else {
+        callback();
+      }
+    },
     async resetGroupCategory(row) {
       this.$confirm("是否确认删除?", "提示", {
         confirmButtonText: "确定",
@@ -204,6 +146,7 @@ export default {
             await updatevipGroupDefaultClassesUnitPrice({
               onlineClassesUnitPrice: liveForm.onlineClassesUnitPrice, // 售价
               offlineClassesUnitPrice: liveForm.offlineClassesUnitPrice, // 原价
+              groupType: "LIVE",
               id: liveForm.id
             }).then(res => {
               this.$message.success("修改成功");

+ 58 - 215
src/views/businessManager/orderManager/income.vue

@@ -14,178 +14,73 @@
         报表导出
       </el-button> -->
       <div class="btnList">
-        <ExportChiose
-          v-permission="{ child: 'export/orderList', parent: '/income' }"
-          style="margin-bottom: 20px;margin-right:10px;"
-          name="订单汇总导出"
-          ExportEnum="ORDER_LIST_SUM"
-          :exportData="onOrderExport"
-          fileName="订单汇总"
-          errorMsg="请选择月份"
-          :isDownList="true"
-        />
-        <ExportChiose
-          v-permission="{ child: 'export/orderList', parent: '/income' }"
-          style="margin-bottom: 20px;margin-right:10px;"
-          name="报表导出"
-          ExportEnum="ORDER_LIST1"
-          :exportData="onOrderExport"
-          fileName="订单报表导出"
-          errorMsg="请选择月份"
-          :isDownList="true"
-        />
+        <ExportChiose v-permission="{ child: 'export/orderList', parent: '/income' }"
+          style="margin-bottom: 20px;margin-right:10px;" name="订单汇总导出" ExportEnum="ORDER_LIST_SUM"
+          :exportData="onOrderExport" fileName="订单汇总" errorMsg="请选择月份" :isDownList="true" />
+        <ExportChiose v-permission="{ child: 'export/orderList', parent: '/income' }"
+          style="margin-bottom: 20px;margin-right:10px;" name="报表导出" ExportEnum="ORDER_LIST1" :exportData="onOrderExport"
+          fileName="订单报表导出" errorMsg="请选择月份" :isDownList="true" />
 
-        <ExportChiose
-          v-permission="{ child: 'export/MALL_ORDER_LIST', parent: '/income' }"
-          style="margin-bottom: 20px"
-          name="商城订单导出"
-          ExportEnum="MALL_ORDER_LIST"
-          :exportData="onOrderExport"
-          fileName="商城订单导出"
-          errorMsg="请选择月份"
-          :isDownList="true"
-        />
+        <ExportChiose v-permission="{ child: 'export/MALL_ORDER_LIST', parent: '/income' }" style="margin-bottom: 20px"
+          name="商城订单导出" ExportEnum="MALL_ORDER_LIST" :exportData="onOrderExport" fileName="商城订单导出" errorMsg="请选择月份"
+          :isDownList="true" />
       </div>
 
       <!-- 搜索类型 -->
-      <save-form
-        :inline="true"
-        class="searchForm"
-        :model="searchForm"
-        @submit="search"
-        @reset="onReSet"
-      >
+      <save-form :inline="true" class="searchForm" :model="searchForm" @submit="search" @reset="onReSet">
         <el-form-item>
-          <el-input
-            placeholder="学生编号/姓名/手机号"
-            type="text"
-            clearable
-            v-model.trim="searchForm.search"
-          ></el-input>
+          <el-input placeholder="学生编号/姓名/手机号" type="text" clearable v-model.trim="searchForm.search"></el-input>
         </el-form-item>
         <el-form-item>
-          <el-input
-            placeholder="交易流水号"
-            clearable
-            type="text"
-            v-model.trim="searchForm.transNo"
-          ></el-input>
+          <el-input placeholder="交易流水号" clearable type="text" v-model.trim="searchForm.transNo"></el-input>
         </el-form-item>
         <el-form-item>
-          <el-input
-            placeholder="订单号"
-            clearable
-            type="text"
-            v-model.trim="searchForm.orderNo"
-          ></el-input>
+          <el-input placeholder="订单号" clearable type="text" v-model.trim="searchForm.orderNo"></el-input>
         </el-form-item>
         <el-form-item>
-          <el-input
-            placeholder="收款账户"
-            clearable
-            type="text"
-            v-model.trim="searchForm.merNos"
-          ></el-input>
+          <el-input placeholder="收款账户" clearable type="text" v-model.trim="searchForm.merNos"></el-input>
         </el-form-item>
         <el-form-item>
-          <el-input
-            placeholder="余额支付大于等于"
-            clearable
-            type="number"
-            @mousewheel.native.prevent
-            v-model.trim="searchForm.balancePaymentAmount"
-          ></el-input>
+          <el-input placeholder="余额支付大于等于" clearable type="number" @mousewheel.native.prevent
+            v-model.trim="searchForm.balancePaymentAmount"></el-input>
         </el-form-item>
         <el-form-item>
-          <el-input
-            placeholder="余额支付小于等于"
-            clearable
-            type="number"
-            @mousewheel.native.prevent
-            v-model.trim="searchForm.lessBalancePaymentAmount"
-          ></el-input>
+          <el-input placeholder="余额支付小于等于" clearable type="number" @mousewheel.native.prevent
+            v-model.trim="searchForm.lessBalancePaymentAmount"></el-input>
         </el-form-item>
         <el-form-item>
-          <el-input
-            placeholder="现金支付大于等于"
-            clearable
-            type="number"
-            @mousewheel.native.prevent
-            v-model.trim="searchForm.actualAmount"
-          ></el-input>
+          <el-input placeholder="现金支付大于等于" clearable type="number" @mousewheel.native.prevent
+            v-model.trim="searchForm.actualAmount"></el-input>
         </el-form-item>
         <el-form-item>
-          <el-input
-            placeholder="现金支付小于等于"
-            clearable
-            type="number"
-            @mousewheel.native.prevent
-            v-model.trim="searchForm.lessActualAmount"
-          ></el-input>
+          <el-input placeholder="现金支付小于等于" clearable type="number" @mousewheel.native.prevent
+            v-model.trim="searchForm.lessActualAmount"></el-input>
         </el-form-item>
         <el-form-item prop="organId">
-          <el-select
-            class="multiple"
-            v-model.trim="searchForm.organId"
-            filterable
-            collapse-tags
-            clearable
-            multiple
-            @clear="onClear('organId')"
-            placeholder="请选择分部"
-          >
-            <el-option
-              v-for="(item, index) in selects.branchs"
-              :key="index"
-              :label="item.name"
-              :value="item.id"
-            ></el-option>
+          <el-select class="multiple" v-model.trim="searchForm.organId" filterable collapse-tags clearable multiple
+            @clear="onClear('organId')" placeholder="请选择分部">
+            <el-option v-for="(item, index) in selects.branchs" :key="index" :label="item.name"
+              :value="item.id"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-date-picker
-            v-model="searchForm.orderDate"
-            style="width: 410px"
-            type="daterange"
-            value-format="yyyy-MM-dd"
-            range-separator="至"
-            :picker-options="{
+          <el-date-picker v-model="searchForm.orderDate" style="width: 410px" type="daterange" value-format="yyyy-MM-dd"
+            range-separator="至" :picker-options="{
               firstDayOfWeek: 1
-            }"
-            start-placeholder="订单开始日期"
-            end-placeholder="订单结束日期"
-          ></el-date-picker>
+            }" start-placeholder="订单开始日期" end-placeholder="订单结束日期"></el-date-picker>
         </el-form-item>
         <el-form-item>
-          <el-select
-            v-model.trim="searchForm.paymentType"
-            clearable
-            filterable
-            @clear="onClear('paymentType')"
-            placeholder="交易类型"
-          >
-            <el-option
-              v-for="(item, index) in orderStatus"
-              :key="index"
-              :label="item.label"
-              :value="item.value"
-            ></el-option>
+          <el-select v-model.trim="searchForm.paymentType" clearable filterable @clear="onClear('paymentType')"
+            placeholder="交易类型">
+            <el-option v-for="(item, index) in orderStatus" :key="index" :label="item.label"
+              :value="item.value"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select
-            v-model.trim="searchForm.paymentStatus"
-            clearable
-            filterable
-            @clear="onClear('paymentStatus')"
-            placeholder="交易状态"
-          >
-            <el-option
-              v-for="(item, index) in dealStatus"
-              :key="index"
-              :label="item.label"
-              :value="item.value"
-            ></el-option>
+          <el-select v-model.trim="searchForm.paymentStatus" clearable filterable @clear="onClear('paymentStatus')"
+            placeholder="交易状态">
+            <el-option v-for="(item, index) in dealStatus" :key="index" :label="item.label"
+              :value="item.value"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
@@ -207,64 +102,35 @@
         实收金额=应收总额(包含余额支付)
         预收金额=充值总额(发生消费,记负数)
         预收余额=充值总余额 -->
-        营收金额:{{ totalRevenueAmount | moneyFormat }}元<i
-          style="width: 10px; display: inline-block"
-        ></i>
-        实收金额:{{ totalActualAmount | moneyFormat }}元<i
-          style="width: 10px; display: inline-block"
-        ></i>
-        预收金额:{{ totalAdvanceAmount | moneyFormat }}元<i
-          style="width: 10px; display: inline-block"
-        ></i>
+        营收金额:{{ totalRevenueAmount | moneyFormat }}元<i style="width: 10px; display: inline-block"></i>
+        实收金额:{{ totalActualAmount | moneyFormat }}元<i style="width: 10px; display: inline-block"></i>
+        预收金额:{{ totalAdvanceAmount | moneyFormat }}元<i style="width: 10px; display: inline-block"></i>
         预收余额:{{ totalUserBalance | moneyFormat }}元
       </div>
       <div class="tableWrap">
-        <el-table
-          :data="tableList"
-          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
-        >
-          <el-table-column
-            align="center"
-            prop="transNo"
-            label="所属分部"
-            v-if="tenantId != 28"
-          >
+        <el-table :data="tableList" :header-cell-style="{ background: '#EDEEF0', color: '#444' }">
+          <el-table-column align="center" prop="transNo" label="所属分部" v-if="tenantId != 28">
             <template slot-scope="scope">
               <div>
                 <copy-text>{{ scope.row.organName }}</copy-text>
               </div>
             </template>
           </el-table-column>
-          <el-table-column
-            align="center"
-            width="100px"
-            prop="transNo"
-            label="交易流水号"
-          >
+          <el-table-column align="center" width="100px" prop="transNo" label="交易流水号">
             <template slot-scope="scope">
               <div>
                 <copy-text>{{ scope.row.transNo }}</copy-text>
               </div>
             </template>
           </el-table-column>
-          <el-table-column
-            align="center"
-            width="100px"
-            prop="orderNo"
-            label="订单号"
-          >
+          <el-table-column align="center" width="100px" prop="orderNo" label="订单号">
             <template slot-scope="scope">
               <div>
                 <copy-text>{{ scope.row.orderNo }}</copy-text>
               </div>
             </template>
           </el-table-column>
-          <el-table-column
-            align="center"
-            width="150"
-            prop="createTime"
-            label="订单日期"
-          >
+          <el-table-column align="center" width="150" prop="createTime" label="订单日期">
             <template slot-scope="scope">{{
               scope.row.createTime | dateForMinFormat
             }}</template>
@@ -279,7 +145,7 @@
               <div>
                 {{
                   (scope.row.couponRemitFee + scope.row.expectAmount)
-                    | moneyFormat
+                  | moneyFormat
                 }}
               </div>
             </template>
@@ -299,11 +165,7 @@
             </template>
           </el-table-column>
 
-          <el-table-column
-            align="center"
-            prop="balancePaymentAmount"
-            label="余额支付"
-          >
+          <el-table-column align="center" prop="balancePaymentAmount" label="余额支付">
             <template slot-scope="scope">
               <div>
                 {{ scope.row.balancePaymentAmount | moneyFormat }}
@@ -320,21 +182,14 @@
           <el-table-column align="center" label="学员姓名" width="150px">
             <template slot-scope="scope">
               <copy-text v-if="scope.row.user.username">
-                {{ scope.row.user.username }}</copy-text
-              >
-              <span v-if="scope.row.user.username && scope.row.user.phone"
-                >/</span
-              >
+                {{ scope.row.user.username }}</copy-text>
+              <span v-if="scope.row.user.username && scope.row.user.phone">/</span>
               <copy-text v-if="scope.row.user.phone">
                 {{ scope.row.user.phone }}
               </copy-text>
             </template>
           </el-table-column>
-          <el-table-column
-            align="center"
-            prop="paymentChannel"
-            label="交易方式"
-          >
+          <el-table-column align="center" prop="paymentChannel" label="交易方式">
             <template slot-scope="scope">{{
               scope.row.paymentChannel | paymentChannelStatus
             }}</template>
@@ -355,26 +210,14 @@
           </el-table-column>
           <el-table-column align="center" width="150px" label="操作">
             <template slot-scope="scope">
-              <el-button
-                v-if="
-                  scope.row.status != 'SUCCESS' && scope.row.actualAmount > 0
-                "
-                v-permission="'order/getOrderStatus'"
-                @click="onGetOrderStatus(scope.row)"
-                type="text"
-                >查询订单状态</el-button
-              >
+              <el-button v-if="scope.row.status != 'SUCCESS' && scope.row.actualAmount > 0
+                " v-permission="'order/getOrderStatus'" @click="onGetOrderStatus(scope.row)"
+                type="text">查询订单状态</el-button>
             </template>
           </el-table-column>
         </el-table>
-        <pagination
-          sync
-          :total.sync="pageInfo.total"
-          :page.sync="pageInfo.page"
-          :limit.sync="pageInfo.limit"
-          :page-sizes="pageInfo.page_size"
-          @pagination="getList"
-        />
+        <pagination sync :total.sync="pageInfo.total" :page.sync="pageInfo.page" :limit.sync="pageInfo.limit"
+          :page-sizes="pageInfo.page_size" @pagination="getList" />
       </div>
     </div>
   </div>
@@ -439,9 +282,9 @@ export default {
   mounted() {
     this.tenantId = this.$helpers.tenantId;
     this.$store.dispatch("setBranchs");
-    if (this.$route.params?.orderNo) {
+    if (this.$route.params?.orderNo || this.$route.query?.orderNo) {
       this.searchForm.orderDate = [];
-      this.searchForm.orderNo = this.$route.params.orderNo;
+      this.searchForm.orderNo = this.$route.params.orderNo || this.$route.query?.orderNo;
       this.searchForm.paymentStatus = null;
     }
     this.getList();
@@ -608,7 +451,7 @@ export default {
             this.getList();
           });
         })
-        .catch(err => {});
+        .catch(err => { });
     },
     onReSet() {
       // 重置搜索

+ 71 - 260
src/views/businessManager/shopManager/shopOperation.vue

@@ -1,82 +1,38 @@
 <template>
   <div class="m-container">
     <h2>
-      <el-page-header
-        @back="onCancel"
-        :content="pageTitle[pageType] + '商品'"
-      ></el-page-header>
+      <el-page-header @back="onCancel" :content="pageTitle[pageType] + '商品'"></el-page-header>
     </h2>
 
     <div class="m-core">
-      <el-form
-        :model="form"
-        :rules="rules"
-        ref="form"
-        label-width="160px"
-        :inline="true"
-      >
-        <el-alert
-          title="基础信息"
-          :closable="false"
-          class="alert"
-          type="info"
-        />
+      <el-form :model="form" :rules="rules" ref="form" label-width="160px" :inline="true">
+        <el-alert title="基础信息" :closable="false" class="alert" type="info" />
         <el-form-item label="货号" prop="sn">
-          <el-input
-            v-model.trim="form.sn"
-            :disabled="pageDisabled"
-            placeholder="请输入货号"
-            style="width: 220px !important"
-          ></el-input>
+          <el-input v-model.trim="form.sn" :disabled="pageDisabled" placeholder="请输入货号"
+            style="width: 220px !important"></el-input>
         </el-form-item>
         <el-form-item label="品牌" prop="brand">
-          <el-input
-            v-model.trim="form.brand"
-            :disabled="pageDisabled"
-            placeholder="请输入品牌"
-            style="width: 220px !important"
-          ></el-input>
+          <el-input v-model.trim="form.brand" :disabled="pageDisabled" placeholder="请输入品牌"
+            style="width: 220px !important"></el-input>
         </el-form-item>
         <!-- <el-form-item label="备查货号" prop="supplyChannel" v-if="pageType == 'create'">
           <el-input v-model.trim="form.supplyChannel" placeholder="请输入备查货号" style="width: 400px"></el-input>
         </el-form-item> -->
         <el-form-item label="商品名称" prop="name">
-          <el-input
-            v-model.trim="form.name"
-            placeholder="请输入商品名称"
-            :disabled="pageDisabled"
-            style="width: 220px !important"
-          ></el-input>
+          <el-input v-model.trim="form.name" placeholder="请输入商品名称" :disabled="pageDisabled"
+            style="width: 220px !important"></el-input>
         </el-form-item>
         <el-form-item label="商品类型" prop="type">
-          <el-select
-            v-model.trim="form.type"
-            placeholder="请选择商品类型"
-            :disabled="pageDisabled"
-            style="width: 220px !important"
-          >
-            <el-option
-              v-for="(item, index) in goodsType"
-              :key="index"
-              :label="item.label"
-              :value="item.value"
-            ></el-option>
+          <el-select v-model.trim="form.type" placeholder="请选择商品类型" :disabled="pageDisabled"
+            style="width: 220px !important">
+            <el-option v-for="(item, index) in goodsType" :key="index" :label="item.label"
+              :value="item.value"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="商品分类" prop="goodsCategoryId">
-          <el-select
-            v-model.trim="form.goodsCategoryId"
-            placeholder="请选择商品分类"
-            :disabled="pageDisabled"
-            style="width: 220px !important"
-            filterable
-          >
-            <el-option
-              v-for="item in categoryList"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
+          <el-select v-model.trim="form.goodsCategoryId" placeholder="请选择商品分类" :disabled="pageDisabled"
+            style="width: 220px !important" filterable>
+            <el-option v-for="item in categoryList" :key="item.value" :label="item.label" :value="item.value">
             </el-option>
           </el-select>
         </el-form-item>
@@ -99,49 +55,24 @@
           </select-all>
         </el-form-item> -->
         <el-form-item label="商品型号" prop="specification">
-          <el-input
-            v-model.trim="form.specification"
-            placeholder="请输入商品型号"
-            :disabled="pageDisabled"
-            style="width: 220px"
-          ></el-input>
+          <el-input v-model.trim="form.specification" placeholder="请输入商品型号" :disabled="pageDisabled"
+            style="width: 220px"></el-input>
         </el-form-item>
         <el-form-item label="库存类型" prop="stockType" v-if="tenantId == 1">
-          <el-select
-            v-model="form.stockType"
-            placeholder="请选择库存类型"
-            :disabled="pageDisabled"
-            style="width: 220px !important"
-          >
-            <el-option
-              v-for="(item, index) in stockType"
-              :key="index"
-              :label="item.label"
-              :value="item.value"
-            ></el-option>
+          <el-select v-model="form.stockType" placeholder="请选择库存类型" :disabled="pageDisabled"
+            style="width: 220px !important">
+            <el-option v-for="(item, index) in stockType" :key="index" :label="item.label"
+              :value="item.value"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item
-          label="是否库存预警"
-          prop="stockWarning"
-          v-if="tenantId == 1"
-        >
-          <el-select
-            v-model="form.stockWarning"
-            placeholder="请选择库存预警"
-            :disabled="pageDisabled"
-            style="width: 220px !important"
-          >
+        <el-form-item label="是否库存预警" prop="stockWarning" v-if="tenantId == 1">
+          <el-select v-model="form.stockWarning" placeholder="请选择库存预警" :disabled="pageDisabled"
+            style="width: 220px !important">
             <el-option label="是" :value="1"></el-option>
             <el-option label="否" :value="0"></el-option>
           </el-select>
         </el-form-item>
-        <el-alert
-          title="价格信息"
-          :closable="false"
-          class="alert"
-          type="info"
-        />
+        <el-alert title="价格信息" :closable="false" class="alert" type="info" />
 
         <el-form-item label="市场价" prop="marketPrice" class="hiddenStart">
           <template slot="label">
@@ -152,26 +83,17 @@
                 <div slot="content">
                   商品标价,仅在商品购买时做展示,不以该价格向学员销售商品
                 </div>
-                <i
-                  class="el-icon-question"
-                  style="
+                <i class="el-icon-question" style="
                     font-size: 18px;
                     color: #f56c6c;
                     position: relative;
                     top: 2px;
-                  "
-                ></i>
+                  "></i>
               </el-tooltip>
             </p>
           </template>
-          <el-input
-            type="number"
-            placeholder="请输入市场价"
-            :disabled="pageDisabled"
-            @mousewheel.native.prevent
-            v-model.trim="form.marketPrice"
-            style="width: 220px"
-          ></el-input>
+          <el-input type="number" placeholder="请输入市场价" :disabled="pageDisabled" @mousewheel.native.prevent
+            v-model.trim="form.marketPrice" style="width: 220px"></el-input>
         </el-form-item>
         <el-form-item label="零售价" prop="discountPrice" class="hiddenStart">
           <template slot="label">
@@ -182,75 +104,42 @@
                 <div slot="content">
                   管理端APP、乐器维修时学员购买该商品的价格
                 </div>
-                <i
-                  class="el-icon-question"
-                  style="
+                <i class="el-icon-question" style="
                     font-size: 18px;
                     color: #f56c6c;
                     position: relative;
                     top: 2px;
-                  "
-                ></i>
+                  "></i>
               </el-tooltip>
             </p>
           </template>
-          <el-input
-            type="number"
-            placeholder="请输入零售价"
-            @mousewheel.native.prevent
-            :disabled="pageDisabled"
-            v-model.trim="form.discountPrice"
-            style="width: 220px"
-          ></el-input>
+          <el-input type="number" placeholder="请输入零售价" @mousewheel.native.prevent :disabled="pageDisabled"
+            v-model.trim="form.discountPrice" style="width: 220px"></el-input>
         </el-form-item>
-        <el-form-item
-          label="商品团购价"
-          prop="groupPurchasePrice"
-          class="hiddenStart"
-        >
+        <el-form-item label="商品团购价" prop="groupPurchasePrice" class="hiddenStart">
           <template slot="label">
             <p style="position: relative">
               <span style="color: #f56c6c; margin-right: 4px">*</span>
               团购价
               <el-tooltip placement="top" popper-class="mTooltip">
                 <div slot="content">乐团报名缴费时学员购买该商品的价格</div>
-                <i
-                  class="el-icon-question"
-                  style="
+                <i class="el-icon-question" style="
                     font-size: 18px;
                     color: #f56c6c;
                     position: relative;
                     top: 2px;
-                  "
-                ></i>
+                  "></i>
               </el-tooltip>
             </p>
           </template>
-          <el-input
-            type="number"
-            placeholder="请输入商品团购价"
-            @mousewheel.native.prevent
-            :disabled="pageDisabled"
-            v-model.trim="form.groupPurchasePrice"
-            style="width: 220px"
-          ></el-input>
+          <el-input type="number" placeholder="请输入商品团购价" @mousewheel.native.prevent :disabled="pageDisabled"
+            v-model.trim="form.groupPurchasePrice" style="width: 220px"></el-input>
         </el-form-item>
         <el-form-item label="分部成本" prop="organCostPrice">
-          <el-input
-            type="number"
-            placeholder="请输入分部成本"
-            @mousewheel.native.prevent
-            :disabled="pageDisabled"
-            v-model.trim="form.organCostPrice"
-            style="width: 220px"
-          ></el-input>
+          <el-input type="number" placeholder="请输入分部成本" @mousewheel.native.prevent :disabled="pageDisabled"
+            v-model.trim="form.organCostPrice" style="width: 220px"></el-input>
         </el-form-item>
-        <el-alert
-          title="销售渠道"
-          :closable="false"
-          class="alert"
-          type="info"
-        />
+        <el-alert title="销售渠道" :closable="false" class="alert" type="info" />
         <!-- <el-form-item label="学生端APP可售分部" prop="studentShowOrganId">
           <select-all
             v-model.trim="form.studentShowOrganId"
@@ -270,97 +159,38 @@
           </select-all>
         </el-form-item> -->
         <el-form-item label="移动端可售分部" prop="educationShowOrganId">
-          <select-all
-            v-model.trim="form.educationShowOrganId"
-            filterable
-            placeholder="请选择分部"
-            style="width: 400px !important"
-            multiple
-            :disabled="pageDisabled"
-            clearable
-          >
-            <el-option
-              v-for="item in selects.branchs"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id.toString()"
-            ></el-option>
+          <select-all v-model.trim="form.educationShowOrganId" filterable placeholder="请选择分部"
+            style="width: 400px !important" multiple :disabled="pageDisabled" clearable>
+            <el-option v-for="item in selects.branchs" :key="item.id" :label="item.name"
+              :value="item.id.toString()"></el-option>
           </select-all>
         </el-form-item>
         <el-form-item label="课程收费乐团可售分部" prop="courseFeeShowOrganId">
-          <select-all
-            v-model.trim="form.courseFeeShowOrganId"
-            filterable
-            placeholder="请选择分部"
-            style="width: 400px !important"
-            multiple
-            :disabled="pageDisabled"
-            clearable
-          >
-            <el-option
-              v-for="item in selects.branchs"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id.toString()"
-            ></el-option>
+          <select-all v-model.trim="form.courseFeeShowOrganId" filterable placeholder="请选择分部"
+            style="width: 400px !important" multiple :disabled="pageDisabled" clearable>
+            <el-option v-for="item in selects.branchs" :key="item.id" :label="item.name"
+              :value="item.id.toString()"></el-option>
           </select-all>
         </el-form-item>
         <el-form-item label="会员收费乐团可售分部" prop="memberFeeShowOrganId">
-          <select-all
-            v-model.trim="form.memberFeeShowOrganId"
-            filterable
-            placeholder="请选择分部"
-            style="width: 400px !important"
-            multiple
-            :disabled="pageDisabled"
-            clearable
-          >
-            <el-option
-              v-for="item in selects.branchs"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id.toString()"
-            ></el-option>
+          <select-all v-model.trim="form.memberFeeShowOrganId" filterable placeholder="请选择分部"
+            style="width: 400px !important" multiple :disabled="pageDisabled" clearable>
+            <el-option v-for="item in selects.branchs" :key="item.id" :label="item.name"
+              :value="item.id.toString()"></el-option>
           </select-all>
         </el-form-item>
         <el-form-item label="免费乐团可售分部" prop="freeFeeShowOrganId">
-          <select-all
-            v-model.trim="form.freeFeeShowOrganId"
-            filterable
-            placeholder="请选择分部"
-            style="width: 400px !important"
-            multiple
-            :disabled="pageDisabled"
-            clearable
-          >
-            <el-option
-              v-for="item in selects.branchs"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id.toString()"
-            ></el-option>
+          <select-all v-model.trim="form.freeFeeShowOrganId" filterable placeholder="请选择分部"
+            style="width: 400px !important" multiple :disabled="pageDisabled" clearable>
+            <el-option v-for="item in selects.branchs" :key="item.id" :label="item.name"
+              :value="item.id.toString()"></el-option>
           </select-all>
         </el-form-item>
-        <el-form-item
-          label="乐器置换可售分部"
-          prop="replacementShowOrganId"
-          v-if="tenantId == 1"
-        >
-          <select-all
-            v-model.trim="form.replacementShowOrganId"
-            filterable
-            placeholder="请选择所属分部"
-            style="width: 400px !important"
-            multiple
-            :disabled="pageDisabled"
-            clearable
-          >
-            <el-option
-              v-for="item in selects.branchs"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id.toString()"
-            ></el-option>
+        <el-form-item label="乐器置换可售分部" prop="replacementShowOrganId" v-if="tenantId == 1">
+          <select-all v-model.trim="form.replacementShowOrganId" filterable placeholder="请选择所属分部"
+            style="width: 400px !important" multiple :disabled="pageDisabled" clearable>
+            <el-option v-for="item in selects.branchs" :key="item.id" :label="item.name"
+              :value="item.id.toString()"></el-option>
           </select-all>
         </el-form-item>
         <!-- <el-form-item label="学员是否展示" prop="clientShow">
@@ -426,12 +256,7 @@
             <el-option label="否" :value="0"></el-option>
           </el-select>
         </el-form-item> -->
-        <el-alert
-          title="商品信息"
-          :closable="false"
-          class="alert"
-          type="info"
-        />
+        <el-alert title="商品信息" :closable="false" class="alert" type="info" />
         <el-form-item label="商品图片" prop="image">
           <!-- <el-upload
             class="avatar-uploader"
@@ -446,14 +271,8 @@
             <img v-if="form.image" :src="form.image" class="avatar" />
             <i v-else class="el-icon-plus avatar-uploader-icon"></i>
           </el-upload> -->
-          <image-cropper
-            :options="cropperOptions"
-            :disabled="pageDisabled"
-            :imgSize="2"
-            :imageUrl="form.image"
-            @crop-upload-success="cropSuccess"
-            bucket_name="mall"
-          />
+          <image-cropper :options="cropperOptions" :disabled="pageDisabled" :imgSize="2" :imageUrl="form.image"
+            @crop-upload-success="cropSuccess" bucket_name="mall" />
           <p class="imageSize">
             <!-- 仅支持上传尺寸为:{{ imageWidthM }}x{{ imageHeightM }}的图片 -->
             请上传大小2M以内,格式为jpg、png、gif图片
@@ -461,21 +280,11 @@
         </el-form-item>
         <br />
         <el-form-item label="商品描述" prop="brief">
-          <el-input
-            type="textarea"
-            v-model.trim="form.brief"
-            :disabled="pageDisabled"
-            style="width: 400px"
-          ></el-input>
+          <el-input type="textarea" v-model.trim="form.brief" :disabled="pageDisabled" style="width: 400px"></el-input>
         </el-form-item>
         <br />
         <el-form-item label="商品详情" prop="desc">
-          <el-input
-            type="textarea"
-            v-model.trim="form.desc"
-            :disabled="pageDisabled"
-            style="width: 400px"
-          ></el-input>
+          <el-input type="textarea" v-model.trim="form.desc" :disabled="pageDisabled" style="width: 400px"></el-input>
         </el-form-item>
         <br />
         <el-form-item v-if="!pageDisabled">
@@ -991,7 +800,7 @@ replacementShowOrganId: 6,7 */
       const _URL = window.URL || window.webkitURL;
       const isSize = new Promise((resolve, reject) => {
         const img = new Image();
-        img.onload = function() {
+        img.onload = function () {
           if (imageWidth && imageHeigh) {
             this.width === imageWidth && this.height === imageHeigh
               ? resolve()
@@ -1091,9 +900,11 @@ replacementShowOrganId: 6,7 */
   height: 120px;
   display: block;
 }
+
 .el-select__tags .el-tag.el-tag--info.el-tag--small.el-tag--light {
   max-width: 95px;
 }
+
 .imageSize {
   color: red;
   line-height: 1.5;

+ 9 - 0
src/views/liveClassManager/api.js

@@ -301,3 +301,12 @@ export const liveCourseList = data => {
     data
   });
 };
+
+// 获取分部
+export const findTeacherByTenantId = data => {
+  return request({
+    url: "/api-web/teacher/findTeacherByTenantId",
+    method: "get",
+    params: data
+  });
+};

+ 33 - 16
src/views/liveClassManager/createLiveClass.vue

@@ -59,7 +59,9 @@
             </el-form-item>
           </el-col>
           <el-col :span="10">
-            <el-form-item label="课时数" prop="onlineClassesNum" :rules="[{ required: true, message: '请输入课时数' }]">
+            <el-form-item label="课时数" prop="onlineClassesNum" :rules="[{
+              required: true, validator: validStock, trigger: 'blur'
+            }]">
               <el-input v-model="form.onlineClassesNum" placeholder="请输入课时数" maxlength="2"
                 @input="(val) => { form.onlineClassesNum = val.replace(/[^\d]/g, '') }" @change="() => {
                   form.timeTable = []; // 课表重置
@@ -71,7 +73,7 @@
             <el-form-item label="课程时长" prop="singleClassMinuteId" :rules="[{ required: true, message: '请选择课程时长' }]">
               <el-select v-model.trim="form.singleClassMinuteId" filterable clearable style="width: 100% !important"
                 placeholder="请选择课程时长" @change="onSingleClassChange">
-                <el-option v-for="(item, key) in liveGroupList" :key="key" :label="item.singleClassMinutes"
+                <el-option v-for="(   item, key   ) in    liveGroupList   " :key="key" :label="item.singleClassMinutes"
                   :value="item.id" />
               </el-select>
             </el-form-item>
@@ -90,13 +92,13 @@
           </el-col>
 
           <el-col :span="10">
-            <el-form-item label="总价" prop="countOnlineClassesUnitPrice">
-              <el-input v-model="countOnlineClassesUnitPrice" placeholder="请输入总价" maxlength="9" disabled></el-input>
+            <el-form-item label="总价" prop="countOnlineClassesUnitPrice">
+              <el-input v-model="countOnlineClassesUnitPrice" placeholder="请输入总价" maxlength="9" disabled></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="10">
-            <el-form-item label="总价" prop="countOfflineClassesUnitPrice">
-              <el-input v-model="countOfflineClassesUnitPrice" placeholder="请输入总价" maxlength="9" disabled></el-input>
+            <el-form-item label="总价" prop="countOfflineClassesUnitPrice">
+              <el-input v-model="countOfflineClassesUnitPrice" placeholder="请输入总价" maxlength="9" disabled></el-input>
             </el-form-item>
           </el-col>
         </el-row>
@@ -113,7 +115,7 @@
             <template slot-scope="scope">
               <el-form-item :prop="'timeTable.' + scope.$index + '.teachingContent'"
                 :rules="[{ required: true, message: '请输入内容' }]" style="margin-bottom: 0;">
-                <el-input v-model="scope.row.teachingContent" placeholder="请输入内容" maxlength="25">
+                <el-input v-model="scope.row.teachingContent" placeholder="请输入内容" maxlength="20">
                 </el-input>
               </el-form-item>
             </template>
@@ -122,7 +124,7 @@
             <template slot-scope="scope">
               <el-form-item :prop="'timeTable.' + scope.$index + '.teachingPoint'"
                 :rules="[{ required: true, message: '请输入技能/知识点掌握' }]" style="margin-bottom: 0;">
-                <el-input v-model="form.timeTable[scope.$index].teachingPoint" placeholder="请输入技能/知识点掌握" maxlength="25">
+                <el-input v-model="form.timeTable[scope.$index].teachingPoint" placeholder="请输入技能/知识点掌握" maxlength="20">
                 </el-input>
               </el-form-item>
             </template>
@@ -135,11 +137,11 @@
           </el-table-column>
           <el-table-column align="center" prop="startClassTimeStr" label="开始时间"></el-table-column>
           <el-table-column align="center" prop="endClassTimeStr" label="结束时间"></el-table-column>
-          <el-table-column align="center" label="课程类型">
+          <!-- <el-table-column align="center" label="课程类型">
             <template slot-scope="scope">
               <div>{{ scope.row.teachMode | teachMode }}</div>
             </template>
-          </el-table-column>
+          </el-table-column> -->
         </el-table>
 
         <el-alert title="直播课信息" :closable="false" type="info" style="margin: 20px 0" />
@@ -224,10 +226,10 @@ import dayjs from "dayjs";
 import deepClone from "@/helpers/deep-clone";
 import preview from "./modals/preview.vue";
 import addLiveCourse from "./modals/addLiveCourse.vue";
-import { sysTenantConfigAll } from "./api";
+import { sysTenantConfigAll, findTeacherByTenantId } from "./api";
 import {
   getSubject,
-  findTeacherByOrganId,
+
   getOrganRole
 } from "@/api/buildTeam";
 import { vipGroupCategory, createVip } from "@/api/vipSeting";
@@ -297,12 +299,10 @@ export default {
 
         this.form.teacher = ""; // 重置指导老师
         // 根据科目id获取相应的老师
-        await findTeacherByOrganId({
+        await findTeacherByTenantId({
           subjectIds: val <= 0 ? null : val
         }).then(res => {
-          if (res.code == 200) {
-            this.teacherList = res.data;
-          }
+          this.teacherList = res.data;
         });
       } catch { }
     },
@@ -310,6 +310,15 @@ export default {
       this.$store.dispatch("delVisitedViews", this.$route);
       this.$router.push("/liveClassManager?tabrouter=2");
     },
+    validStock(rule, value, callback) {
+      if ((value == "" && typeof value == "string") || value == null) {
+        callback(new Error("请输入课时数"));
+      } else if (value <= 0) {
+        callback(new Error("课时数必须大于0"));
+      } else {
+        callback();
+      }
+    },
     setPreTemplate(index) {
       this.form.preTemplate = index;
     },
@@ -571,6 +580,14 @@ export default {
   height: 36px !important;
 }
 
+::v-deep .el-input__inner {
+  height: 36px !important;
+}
+
+::v-deep .el-col-8 .el-form-item__content {
+  height: 36px !important;
+}
+
 ::v-deep .select-all {
   .select {
     .el-input__inner {

+ 30 - 108
src/views/liveClassManager/liveClassManager.vue

@@ -2,54 +2,23 @@
 <template>
   <div>
     <auth auths="imLiveBroadcastRoom/add">
-      <el-button
-        @click="newLiveClass"
-        type="primary"
-        style="margin-bottom: 20px"
-        >新建直播课</el-button
-      >
+      <el-button @click="newLiveClass" type="primary" style="margin-bottom: 20px">新建直播课</el-button>
     </auth>
-    <save-form
-      :inline="true"
-      :model="searchForm"
-      @submit="search"
-      @reset="onReSet"
-      ref="searchForm"
-    >
+    <save-form :inline="true" :model="searchForm" @submit="search" @reset="onReSet" ref="searchForm">
       <el-form-item prop="search">
-        <el-input
-          v-model.trim="searchForm.search"
-          clearable
-          @keyup.enter.native="
-            e => {
-              e.target.blur();
-              $refs.searchForm.save();
-              search();
-            }
-          "
-          placeholder="课程名称"
-        ></el-input>
+        <el-input v-model.trim="searchForm.search" clearable @keyup.enter.native="e => {
+          e.target.blur();
+          $refs.searchForm.save();
+          search();
+        }
+          " placeholder="课程组名称"></el-input>
       </el-form-item>
       <el-form-item props="teacherId">
-        <remote-search
-          :commit="'setTeachers'"
-          v-model="searchForm.teacherId"
-          :isForzenWithQueryCondition="true"
-        />
+        <remote-search :commit="'setTeachers'" v-model="searchForm.teacherId" :isForzenWithQueryCondition="true" />
       </el-form-item>
       <el-form-item prop="status">
-        <el-select
-          v-model.trim="searchForm.status"
-          filterable
-          clearable
-          placeholder="请选课程状态"
-        >
-          <el-option
-            v-for="(item, index) in statusList"
-            :key="index"
-            :label="item.lable"
-            :value="item.value"
-          ></el-option>
+        <el-select v-model.trim="searchForm.status" filterable clearable placeholder="请选课程组状态">
+          <el-option v-for="(item, index) in statusList" :key="index" :label="item.lable" :value="item.value"></el-option>
         </el-select>
       </el-form-item>
       <!-- <el-form-item prop="serviceProvider">
@@ -69,52 +38,24 @@
       </el-form-item>
     </save-form>
     <div class="tableWrap">
-      <el-table
-        style="width: 100%"
-        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
-        :data="tableList"
-      >
-        <el-table-column
-          align="center"
-          prop="id"
-          label="课程编号"
-        ></el-table-column>
-        <el-table-column
-          align="center"
-          prop="name"
-          label="课程名称"
-        ></el-table-column>
+      <el-table style="width: 100%" :header-cell-style="{ background: '#EDEEF0', color: '#444' }" :data="tableList">
+        <el-table-column align="center" prop="id" label="课程组编号"></el-table-column>
+        <el-table-column align="center" prop="name" label="课程组名称"></el-table-column>
         <!-- <el-table-column
           align="center"
           prop="roomTitle"
           label="课程类型"
         ></el-table-column> -->
-        <el-table-column align="center" label="课程状态">
+        <el-table-column align="center" label="课程组状态">
           <template slot-scope="scope">
             <div>{{ scope.row.status | formatterStatus }}</div>
           </template>
         </el-table-column>
-        <el-table-column
-          align="center"
-          prop="userName"
-          label="指导老师"
-        ></el-table-column>
-        <el-table-column
-          align="center"
-          prop="educationalTeacherName"
-          label="乐员主管"
-        ></el-table-column>
+        <el-table-column align="center" prop="userName" label="指导老师"></el-table-column>
+        <el-table-column align="center" prop="educationalTeacherName" label="乐员主管"></el-table-column>
 
-        <el-table-column
-          align="center"
-          prop="studentNum"
-          label="报名人数"
-        ></el-table-column>
-        <el-table-column
-          align="center"
-          prop="onlineClassesNum"
-          label="课时数"
-        ></el-table-column>
+        <el-table-column align="center" prop="studentNum" label="报名人数"></el-table-column>
+        <el-table-column align="center" prop="onlineClassesNum" label="课时数"></el-table-column>
         <el-table-column align="center" label="分部">
           <template slot-scope="scope">
             <copy-text>{{ scope.row.organName }}</copy-text>
@@ -132,9 +73,7 @@
           <template slot-scope="scope">
             <div>
               <auth auths="/liveBlackList">
-                <el-button type="text" @click="onDetail(scope.row)"
-                  >详情</el-button
-                >
+                <el-button type="text" @click="onDetail(scope.row)">详情</el-button>
               </auth>
               <!-- <auth auths="vipGroupManage/stopVipGroup" v-if="scope.row.status < 3 &&
                       scope.row.enableDelete != 1">
@@ -142,41 +81,24 @@
                   >停止</el-button
                 >
               </auth> -->
-              <el-popover
-                placement="top"
-                width="160"
-                v-if="scope.row.status < 3 && scope.row.enableDelete != 1"
-                :ref="scope.$index"
-              >
+              <el-popover placement="top" width="160" v-if="scope.row.status < 3 && scope.row.enableDelete != 1"
+                :ref="scope.$index">
                 <!-- && -->
                 <!-- permission('vipGroupManage/stopVipGroup') -->
-                <p style="margin-bottom: 10px">确定停止该直播课?</p>
-                <el-input
-                  v-model.trim="stopReason"
-                  placeholder="请输入关闭原因"
-                ></el-input>
+                <p style="margin-bottom: 10px">确定关闭该直播课?</p>
+                <el-input v-model.trim="stopReason" placeholder="请输入关闭原因"></el-input>
                 <div style="text-align: right; margin-top: 20px">
-                  <el-button type="text" @click="onCancelVip(scope)"
-                    >取消</el-button
-                  >
-                  <el-button type="primary" @click="onCloseVip(scope)"
-                    >确定</el-button
-                  >
+                  <el-button type="text" @click="onCancelVip(scope)">取消</el-button>
+                  <el-button type="primary" @click="onCloseVip(scope)">确定</el-button>
                 </div>
-                <el-button type="text" slot="reference">停止</el-button>
+                <el-button type="text" slot="reference">关闭</el-button>
               </el-popover>
             </div>
           </template>
         </el-table-column>
       </el-table>
-      <pagination
-        sync
-        :total.sync="rules.total"
-        :page.sync="rules.page"
-        :limit.sync="rules.limit"
-        :page-sizes="rules.page_size"
-        @pagination="getList"
-      />
+      <pagination sync :total.sync="rules.total" :page.sync="rules.page" :limit.sync="rules.limit"
+        :page-sizes="rules.page_size" @pagination="getList" />
     </div>
   </div>
 </template>
@@ -244,7 +166,7 @@ export default {
       let id = scope.row.id;
       closeVip({ vipGroupId: id, stopReason: this.stopReason }).then(res => {
         if (res.code == 200) {
-          this.$message.success("停止课程成功");
+          this.$message.success("停止课程成功");
           scope._self.$refs[scope.$index].doClose();
           this.stopReason = "";
           this.getList();

+ 10 - 6
src/views/liveClassManager/liveClassTwo/components/courseAdjust.vue

@@ -6,6 +6,16 @@
       <el-table style="width: 100%" :header-cell-style="{ background: '#EDEEF0', color: '#444' }" :data="tableList"
         @selection-change="handleSelectionChange">
         <el-table-column type="selection" :selectable="isDisabled" width="55"></el-table-column>
+        <el-table-column align="center" label="课程编号">
+          <template slot-scope="scope">
+            <div>{{ scope.row.id || '' }}</div>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" label="课程名称">
+          <template slot-scope="scope">
+            <div>{{ scope.row.name }}</div>
+          </template>
+        </el-table-column>
         <el-table-column align="center" label="课程状态">
           <template slot-scope="scope">
             <div>{{ scope.row.status | coursesStatus }}</div>
@@ -19,8 +29,6 @@
         <el-table-column align="center" prop="startClassTime" label="开始时间"></el-table-column>
         <el-table-column align="center" prop="endClassTime" label="结束时间"></el-table-column>
       </el-table>
-      <pagination sync saveKey="liveClass-courseAdjust" :total.sync="rules.total" :page.sync="rules.page"
-        :limit.sync="rules.limit" :page-sizes="rules.page_size" @pagination="getList" />
     </div>
 
     <el-dialog :title="adjustmentName" width="800px" :visible.sync="adjustmentVisible">
@@ -85,7 +93,6 @@
 </template>
 
 <script>
-import pagination from "@/components/Pagination/index";
 import {
   vipCourseAdjust
 } from "@/api/vipSeting";
@@ -93,9 +100,6 @@ import { liveCourseList } from '../../api'
 import { diffTimerFormMinute, addTimerFormMinute } from "@/utils/date";
 import dayjs from 'dayjs';
 export default {
-  components: {
-    pagination
-  },
   data() {
     return {
       id: this.$route.query.id,

+ 26 - 0
src/views/liveClassManager/liveClassTwo/components/courseOverview.vue

@@ -84,6 +84,16 @@
                 :disabled="disabled"></el-input>
             </el-form-item>
           </el-col>
+          <el-col :span="8">
+            <el-form-item label="总现价" prop="countOnlineClassesUnitPrice">
+              <el-input v-model="countOnlineClassesUnitPrice" placeholder="请输入总现价" maxlength="9" disabled></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="总原价" prop="countOfflineClassesUnitPrice">
+              <el-input v-model="countOfflineClassesUnitPrice" placeholder="请输入总原价" maxlength="9" disabled></el-input>
+            </el-form-item>
+          </el-col>
         </el-row>
 
         <el-table style="width: 100%; margin-top: 20px;" :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
@@ -299,6 +309,14 @@ export default {
         //
       }
     }
+  },
+  computed: {
+    countOnlineClassesUnitPrice() {
+      return this.form.onlineClassesNum * this.form.onlineClassesUnitPrice || 0
+    },
+    countOfflineClassesUnitPrice() {
+      return this.form.onlineClassesNum * this.form.offlineClassesUnitPrice || 0
+    },
   }
 };
 </script>
@@ -340,6 +358,14 @@ export default {
   height: 36px !important;
 }
 
+::v-deep .el-input__inner {
+  height: 36px !important;
+}
+
+::v-deep .el-col-8 .el-form-item__content {
+  height: 36px !important;
+}
+
 ::v-deep .select-all {
   .select {
     .el-input__inner {

+ 14 - 2
src/views/liveClassManager/liveClassTwo/components/studentList.vue

@@ -3,7 +3,7 @@
   <div>
     <div class="tableWrap">
       <el-table style="width: 100%" :header-cell-style="{ background: '#EDEEF0', color: '#444' }" :data="tableList">
-        <el-table-column align="center" prop="orderNo" label="编号"></el-table-column>
+        <el-table-column align="center" prop="studentId" label="编号"></el-table-column>
         <el-table-column align="center" prop="organName" label="分部"></el-table-column>
         <el-table-column align="center" label="学员姓名" prop="studentName">
         </el-table-column>
@@ -33,6 +33,9 @@
                 <el-button type="text" v-if="scope.row.studentStatus == 0 || scope.row.studentStatus == 3
                   " @click="lookFee(scope)">退学</el-button>
               </auth>
+
+              <el-button type="text" @click="onDetail(scope.row)">查看订单</el-button>
+
             </div>
           </template>
         </el-table-column>
@@ -71,6 +74,15 @@ export default {
     this.getStudents();
   },
   methods: {
+    onDetail(row) {
+      console.log(row, '111')
+      this.$router.push({
+        path: '/orderManager/income',
+        query: {
+          orderNo: row.orderNo
+        }
+      })
+    },
     async getStudents() {
       try {
         const { data } = await liveStudentList({
@@ -84,7 +96,7 @@ export default {
           this.tableList[i].fee = 0;
           this.tableList[i].visible = false;
         }
-        this.rules.total = res.data.total;
+        this.rules.total = data.total;
       } catch {
         //
       }

+ 3 - 1
src/views/liveClassManager/modals/addLiveCourse.vue

@@ -107,6 +107,7 @@ export default {
     }
   },
   data() {
+    const endTime = this.signUpTimeList[1] ? dayjs(this.signUpTimeList[1]).valueOf() : new Date().getTime()
     return {
       maskForm: {
         type: "ONLINE",
@@ -131,7 +132,8 @@ export default {
       pickerOptions: {
         firstDayOfWeek: 1,
         disabledDate(time) {
-          return time.getTime() + 86400000 <= new Date().getTime();
+
+          return time.getTime() + 86400000 <= endTime;
         }
       }
     };