lex-xin 3 лет назад
Родитель
Сommit
eac24377fd

+ 1 - 1
src/layout/components/Navbar.vue

@@ -384,7 +384,7 @@ export default {
     },
     async onTenantChange() {
       try {
-        const res = await tenantInfoQueryPage({ page: 1, rows: 999 }, )
+        const res = await tenantInfoQueryPage({ page: 1, rows: 999, payState: 1 }, )
         this.tenantList = res.data?.rows || []
         this.tenantVisible = true
       } catch(e) {}

+ 4 - 1
src/router/index.js

@@ -497,7 +497,10 @@ export const asyncRoutes = {
   tenantInfoSetting:() => import('@/views/tenantSetting/tenantInfo.vue'),
   // 机构交易管理
   tenantTradeManager:() => import('@/views/tenantSetting/tenantTradeManager.vue'),
-
+  // 团练宝激活记录
+  groupRecordManager:() => import('@/views/tenantSetting/groupRecordManager.vue'),
+  // 扣费记录
+  chargingRecord:() => import('@/views/tenantSetting/chargingRecord.vue'),
 }
 
 export default router

+ 13 - 11
src/store/modules/user.js

@@ -52,20 +52,22 @@ async function tenantQueryPage(id) {
   try {
     let tenantId = id
     if(tenantId < 0) {
-      const res = await tenantInfoQueryPage({ page: 1, rows: 1 })
+      const res = await tenantInfoQueryPage({ page: 1, rows: 1, payState: 1 })
       const tenantList = res.data?.rows || []
       tenantId = tenantList[0]?.id
     }
-    const info = await tenantInfoInfo({id: tenantId})
-    const data = info.data
-    sessionStorage.setItem('tenantConfig', JSON.stringify({
-      themeColor: data.config.themeColor,
-      theme: data.config.theme,
-      tenantId: data.id,
-      tenantName: data.name,
-      tenantLogo: data.logo,
-      tenantStatus: 'on' // 判断是否此状态,没有的话,刷新页面会重新请求页面
-    }))
+    if(tenantId) {
+      const info = await tenantInfoInfo({id: tenantId})
+      const data = info.data
+      sessionStorage.setItem('tenantConfig', JSON.stringify({
+        themeColor: data.config.themeColor,
+        theme: data.config.theme,
+        tenantId: data.id,
+        tenantName: data.name,
+        tenantLogo: data.logo,
+        tenantStatus: 'on' // 判断是否此状态,没有的话,刷新页面会重新请求页面
+      }))
+    }
   } catch(e) {}
 }
 

+ 42 - 0
src/utils/setTheme.js

@@ -6,6 +6,48 @@ const ORIGINAL_THEME = '#409EFF' // default color
 let chalk = ''
 let theme = ''
 
+// themeList: [{
+//   selected: true,
+//   name: '大雅绿(默认)',
+//   color: '#14928a',
+//   style: 'background-color: #14928a'
+// }, {
+//   selected: false,
+//   name: '拂晓蓝',
+//   color: '#1890ff',
+//   style: 'background-color: #1890ff'
+// }, {
+//   selected: false,
+//   name: '薄暮',
+//   color: '#f5222d',
+//   style: 'background-color: #f5222d'
+// }, {
+//   selected: false,
+//   name: '火山',
+//   color: '#fa541c',
+//   style: 'background-color: #fa541c'
+// }, {
+//   selected: false,
+//   name: '日暮',
+//   color: '#faad14',
+//   style: 'background-color: #faad14'
+// }, {
+//   selected: false,
+//   name: '明青',
+//   color: '#13c2c2',
+//   style: 'background-color: #13c2c2'
+// }, {
+//   selected: false,
+//   name: '极客蓝',
+//   color: '#2f54eb',
+//   style: 'background-color: #2f54eb'
+// }, {
+//   selected: false,
+//   name: '酱紫',
+//   color: '#722ed1',
+//   style: 'background-color: #722ed1'
+// }],
+
 export const setTheme = async (val, isLoading) => { // 是否显示加载样式
   const oldVal = ORIGINAL_THEME
   if (typeof val !== 'string') return

+ 224 - 0
src/views/categroyManager/generalSettings/groupMarkPrice.vue

@@ -0,0 +1,224 @@
+<template>
+  <div class="">
+    <div class="m-core">
+      <el-form :inline="true" :model="form" ref="form">
+        <el-alert
+          style="margin: 10px 0"
+          title="机构团练宝定价范围设置"
+          :closable="false"
+          type="info"
+        >
+        </el-alert>
+        <el-row>
+          <el-form-item
+            prop="190"
+            :rules="[
+              {
+                required: false,
+                pattern: /^[1-9][0-9]*$/,
+                message: '请输入正确的账号数量',
+              },
+            ]"
+          >
+            月度团练宝机构定价范围最低:
+            <el-input
+              v-model="form['190']"
+              placeholder="请输入金额"
+            >
+              <template slot="append">元</template>
+            </el-input>
+            最高
+          </el-form-item>
+          <el-form-item
+            prop="190"
+            :rules="[
+              {
+                required: false,
+                pattern: /^[1-9][0-9]*$/,
+                message: '请输入正确的账号数量',
+              },
+            ]"
+          >
+            <el-input
+              v-model="form['190']"
+              placeholder="请输入金额"
+            >
+              <template slot="append">元</template>
+            </el-input>
+          </el-form-item>
+        </el-row>
+        <el-row>
+          <el-form-item
+            prop="190"
+            :rules="[
+              {
+                required: false,
+                pattern: /^[1-9][0-9]*$/,
+                message: '请输入正确的账号数量',
+              },
+            ]"
+          >
+            季度团练宝机构定价范围最低:
+            <el-input
+              v-model="form['190']"
+              placeholder="请输入金额"
+            >
+              <template slot="append">元</template>
+            </el-input>
+            最高
+          </el-form-item>
+          <el-form-item
+            prop="190"
+            :rules="[
+              {
+                required: false,
+                pattern: /^[1-9][0-9]*$/,
+                message: '请输入正确的账号数量',
+              },
+            ]"
+          >
+            <el-input
+              v-model="form['190']"
+              placeholder="请输入金额"
+            >
+              <template slot="append">元</template>
+            </el-input>
+          </el-form-item>
+        </el-row>
+        <el-row>
+          <el-form-item
+            prop="190"
+            :rules="[
+              {
+                required: false,
+                pattern: /^[1-9][0-9]*$/,
+                message: '请输入正确的账号数量',
+              },
+            ]"
+          >
+            半年团练宝机构定价范围最低:
+            <el-input
+              v-model="form['190']"
+              placeholder="请输入金额"
+            >
+              <template slot="append">元</template>
+            </el-input>
+            最高
+          </el-form-item>
+          <el-form-item
+            prop="190"
+            :rules="[
+              {
+                required: false,
+                pattern: /^[1-9][0-9]*$/,
+                message: '请输入正确的账号数量',
+              },
+            ]"
+          >
+            <el-input
+              v-model="form['190']"
+              placeholder="请输入金额"
+            >
+              <template slot="append">元</template>
+            </el-input>
+          </el-form-item>
+        </el-row>
+        <el-row>
+          <el-form-item
+            prop="190"
+            :rules="[
+              {
+                required: false,
+                pattern: /^[1-9][0-9]*$/,
+                message: '请输入正确的账号数量',
+              },
+            ]"
+          >
+            年度团练宝机构定价范围最低:
+            <el-input
+              v-model="form['190']"
+              placeholder="请输入金额"
+            >
+              <template slot="append">元</template>
+            </el-input>
+            最高
+          </el-form-item>
+          <el-form-item
+            prop="190"
+            :rules="[
+              {
+                required: false,
+                pattern: /^[1-9][0-9]*$/,
+                message: '请输入正确的账号数量',
+              },
+            ]"
+          >
+            <el-input
+              v-model="form['190']"
+              placeholder="请输入金额"
+            >
+              <template slot="append">元</template>
+            </el-input>
+          </el-form-item>
+        </el-row>
+      </el-form>
+    </div>
+    <el-button  type="primary" @click="save" class="saveBtn"
+     v-permission="'sysConfig/batchUpdate_loginRules'"
+      >保存</el-button
+    >
+  </div>
+</template>
+<script>
+import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings"; // 平台的修改和查
+export default {
+  data() {
+    return {
+      form: {},
+      questionList: [],
+      rulesVisiable: false,
+    };
+  },
+  async mounted() {
+    this.getRules();
+  },
+  methods: {
+    async getRules() {
+      try {
+        const res = await sysConfigList({ group: "LOGIN" });
+        res.data.forEach((item) => {
+          // this.form[item.paramName] = item.paranValue
+          this.$set(this.form, item.id, item.paranValue);
+        });
+        // this.$forceUpdate()
+        console.log(this.form);
+      } catch (e) {
+        console.log(e);
+      }
+    },
+    async save() {
+      this.$refs.form.validate(async (valid) => {
+        if (valid) {
+          let param = [];
+          for (let i in this.form) {
+            param.push({
+              id: i,
+              paranValue: this.form[i],
+            });
+          }
+          try {
+            const res = await sysConfigUpdate(param);
+            this.$message.success("保存成功");
+            this.getRules();
+          } catch (e) {
+            console.log(e);
+          }
+        }
+      });
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+@import "~@scss/views/courseRulersManager/index.scss";
+</style>

+ 1 - 1
src/views/categroyManager/generalSettings/overallManager.vue

@@ -5,7 +5,7 @@
       <el-form :inline="true" :model="form" ref="form">
         <el-alert
           style="margin: 10px 0"
-          title="账号登录设置"
+          title="平台参数设置"
           :closable="false"
           type="info"
         >

+ 12 - 1
src/views/categroyManager/globalConfig.vue

@@ -20,6 +20,14 @@
           <loginRules v-if="activeIndex == 6" />
         </el-tab-pane>
         <el-tab-pane
+          label="团练宝定价"
+          lazy
+          name="3"
+          v-if="permissionList.groupMarkPrice"
+        >
+          <groupMarkPrice v-if="activeIndex == 3" />
+        </el-tab-pane>
+        <el-tab-pane
           label="平台参数"
           lazy
           name="2"
@@ -67,6 +75,7 @@
 // import errorManager from "./generalSettings/errorManager";
 import loginRules from "@/views/courseRulersManager/components/loginRules";
 import overallManager from "./generalSettings/overallManager";
+import groupMarkPrice from "./generalSettings/groupMarkPrice";
 import overallManagerTwo from "./generalSettings/overallManagerTwo";
 import holidaySetting from "./generalSettings/holidaySetting";
 import earlyWarning from "./generalSettings/earlyWarning";
@@ -77,6 +86,7 @@ export default {
     overallManagerTwo,
     holidaySetting,
     loginRules,
+    groupMarkPrice,
     // musicalManager,
     // musicalManagerOut,
     // typesManager,
@@ -95,7 +105,8 @@ export default {
       permissionList: {
         overallManager: permission("/globalConfig/overallManager"),
         overallManagerTwo: permission("/globalConfig/overallManagerTwo"),
-        loginRules: permission("/globalConfig/loginRules")
+        loginRules: permission("/globalConfig/loginRules"),
+        groupMarkPrice: permission("/globalConfig/groupMarkPrice"),
       },
     };
   },

+ 16 - 42
src/views/organManager/components/organInfo.vue

@@ -35,20 +35,18 @@
               :disabled="isDisabled"
               placeholder="请选择主题"
             >
-              <el-option label="大雅绿" value="green"></el-option>
+              <el-option v-for="item in themeList" :key="item.color" :label="item.name" :value="item.value"></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="主题色" v-if="tenantInfo == 'SETTING'" prop="themeColor" :rules="[{ required: true, message: '请选择主题色', trigger: 'change' }]">
+          <!-- <el-form-item label="主题色" v-if="tenantInfo == 'SETTING'" prop="themeColor" :rules="[{ required: true, message: '请选择主题色', trigger: 'change' }]">
             <div style="width: 300px !important">
-              <!-- <el-color-picker :disabled="isDisabled" v-model="form.themeColor"></el-color-picker> -->
-              <!-- <theme-picker  /> -->
               <div class="themeColor">
                 <el-tooltip v-for="item in themeList" :key="item.color" effect="dark" :content="item.name" placement="top">
                     <div class="themeColor-block" @click="onSelectTheme(item)" :style="item.style"><i class="el-icon-check" v-show="item.selected"></i></div>
                 </el-tooltip>
               </div>
             </div>
-          </el-form-item>
+          </el-form-item> -->
         </el-col>
         <el-form-item label="公司全称" prop="tsignName"
           :rules="[{ required: true, message: '请输入公司全称', trigger: 'blur' }]">
@@ -85,7 +83,7 @@
               ></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item prop="city" :rules="[{ required: true, message: '请选择市', trigger: 'change' }]">
+          <el-form-item prop="city" :rules="[{ required: true, message: '请选择市', trigger: 'change' }]" style="margin-right: 0;">
             <el-select
               v-model.trim="form.city"
               filterable
@@ -188,45 +186,21 @@ export default {
         Authorization: getToken(),
       },
       themeList: [{
-        selected: true,
-        name: '大雅绿(默认)',
-        color: '#14928a',
-        style: 'background-color: #14928a'
-      }, {
-        selected: false,
-        name: '拂晓蓝',
-        color: '#1890ff',
-        style: 'background-color: #1890ff'
-      }, {
-        selected: false,
-        name: '薄暮',
-        color: '#f5222d',
-        style: 'background-color: #f5222d'
-      }, {
-        selected: false,
-        name: '火山',
-        color: '#fa541c',
-        style: 'background-color: #fa541c'
-      }, {
-        selected: false,
-        name: '日暮',
-        color: '#faad14',
-        style: 'background-color: #faad14'
+        name: "亚丁绿",
+        value: "adenGreen",
+        color: "#00A79D"
       }, {
-        selected: false,
-        name: '明青',
-        color: '#13c2c2',
-        style: 'background-color: #13c2c2'
+        name: "暮云灰",
+        value: "cloudAshes",
+        color: "#444D5C"
       }, {
-        selected: false,
-        name: '极客蓝',
-        color: '#2f54eb',
-        style: 'background-color: #2f54eb'
+        name: "柏林蓝",
+        value: "berlinBlue",
+        color: "#2B78CC"
       }, {
-        selected: false,
-        name: '酱紫',
-        color: '#722ed1',
-        style: 'background-color: #722ed1'
+        name: "火山红",
+        value: "volcanicRed",
+        color: "#BC3030"
       }],
       form: {
         tsignName: null,

+ 277 - 0
src/views/tenantSetting/chargingRecord.vue

@@ -0,0 +1,277 @@
+<template>
+  <div class="m-container">
+    <h2>
+      <div class="squrt"></div>
+      扣费记录
+    </h2>
+    <save-form
+      :inline="true"
+      class="searchForm"
+      ref="searchForm"
+      @submit="search"
+      @reset="reset"
+      :saveKey="'tenantTradeManager'"
+      :model.sync="searchForm"
+    >
+      <el-form-item prop="transNo">
+        <el-input
+          placeholder="课程名/编号"
+          clearable
+          type="text"
+          v-model.trim="searchForm.transNo"
+        ></el-input>
+      </el-form-item>
+      <el-form-item prop="orgin">
+        <el-select
+          class="multiple"
+          v-model.trim="searchForm.orgin"
+          filterable
+          multiple
+          collapse-tags
+          clearable
+          placeholder="请选择分部"
+          @change="onBranchChange"
+        >
+          <el-option
+            v-for="(item, index) in organList"
+            :key="index"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item prop="orderType">
+        <el-select
+          v-model.trim="searchForm.orderType"
+          clearable
+          filterable
+          @clear="onClear('orderType')"
+          placeholder="课程类型"
+        >
+          <el-option
+            v-for="(item, index) in tenantStatus"
+            :key="index"
+            :label="item.label"
+            :value="item.value"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item prop="orderType">
+        <el-select
+          v-model.trim="searchForm.orderType"
+          clearable
+          filterable
+          @clear="onClear('orderType')"
+          placeholder="老师"
+        >
+          <el-option
+            v-for="(item, index) in tenantStatus"
+            :key="index"
+            :label="item.label"
+            :value="item.value"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item prop="orderType">
+        <el-select
+          v-model.trim="searchForm.orderType"
+          clearable
+          filterable
+          @clear="onClear('orderType')"
+          placeholder="课程状态"
+        >
+          <el-option
+            v-for="(item, index) in tenantStatus"
+            :key="index"
+            :label="item.label"
+            :value="item.value"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item prop="orderState">
+        <el-select
+          v-model.trim="searchForm.orderState"
+          clearable
+          filterable
+          @clear="onClear('orderState')"
+          placeholder="扣费状态"
+        >
+          <el-option label="待支付" :value="0"></el-option>
+          <el-option label="已支付" :value="1"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item prop="createTimer">
+        <el-date-picker
+          v-model.trim="searchForm.createTimer"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+          range-separator="至"
+          start-placeholder="课程开始时间"
+          end-placeholder="课程结束时间"
+          :picker-options="{ firstDayOfWeek: 1 }"
+        ></el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button native-type="submit" type="danger">搜索</el-button>
+        <el-button native-type="reset" type="primary">重置</el-button>
+      </el-form-item>
+    </save-form>
+    <div style="font-size: 14px; padding-bottom: 10px">
+      扣费总额:<span style="color: var(--color-primary)">1,000元</span>
+      <i style="width: 10px; display: inline-block"></i>
+      冻结金额:<span style="color: var(--color-primary)">1,000元</span>
+    </div>
+    <!-- 列表 -->
+    <div class="tableWrap">
+      <el-table
+        :data="tableList"
+        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+      >
+        <el-table-column align="center" label="课程编号" prop="transNo">
+        </el-table-column>
+        <el-table-column align="center" label="所属分部" prop="orderNo">
+        </el-table-column>
+        <el-table-column align="center" label="课程类型" prop="createdTime">
+        </el-table-column>
+        <el-table-column align="center" label="姓名" prop="tenantId">
+        </el-table-column>
+        <el-table-column align="center" label="老师" prop="tenantName">
+        </el-table-column>
+        <el-table-column align="center" label="课程人数">
+          <template slot-scope="scope">
+            {{ scope.row.orderType | tenantStatus }}
+          </template>
+        </el-table-column>
+        <el-table-column align="center" label="课程时间">
+          <template slot-scope="scope">
+            {{ scope.row.expectAmount | moneyFormat }}
+          </template>
+        </el-table-column>
+        <!-- <el-table-column align="center" label="网络教室剩余时长" prop="productName">
+        </el-table-column> -->
+        <el-table-column align="center" label="课程状态">
+          <template slot-scope="scope">
+            {{ scope.row.actualAmount | moneyFormat }}
+          </template>
+        </el-table-column>
+        <el-table-column align="center" label="扣费状态">
+          <template slot-scope="scope">
+            {{ scope.row.orderState | tenantOrderStatus }}
+          </template>
+        </el-table-column>
+        <el-table-column align="center" label="冻结金额(元)">
+          <template slot-scope="scope">
+            {{ scope.row.orderState | tenantOrderStatus }}
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        :saveKey="'tenantTradeManager'"
+        sync
+        :total.sync="pageInfo.total"
+        :page.sync="pageInfo.page"
+        :limit.sync="pageInfo.limit"
+        :page-sizes="pageInfo.page_size"
+        @pagination="getList"
+      />
+    </div>
+
+    <el-dialog title="订单详情" :visible.sync="orderVisible" width="1200px">
+      <order-info />
+    </el-dialog>
+  </div>
+</template>
+<script>
+import pagination from "@/components/Pagination/index";
+import { tenantInfoQueryPage } from "../organManager/api";
+import { tenantOrderRecordQueryPage } from "./api";
+import { tenantStatus, dealStatus } from "@/utils/searchArray";
+import OrderInfo from './model/orderInfo'
+import { getTimes } from "@/utils";
+const initSearch = {
+  transNo: null,
+  orderNo: null,
+  tenantId: [],
+  orderType: null,
+  orderState: null,
+  createTimer: [],
+};
+export default {
+  components: { pagination, OrderInfo },
+  data() {
+    const baseTenantId = sessionStorage.getItem('baseTenantId')
+    return {
+      baseTenantId,
+      tenantStatus,
+      dealStatus,
+      tableList: [],
+      orderVisible: false,
+      pageInfo: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
+      },
+      searchForm: { ...initSearch },
+      tenantList: []
+    };
+  },
+  async mounted() {
+    await this.getTenant()
+    this.getList();
+  },
+  methods: {
+    async getTenant() {
+      try {
+        const res = await tenantInfoQueryPage({ page: 1, rows: 999 }, )
+        this.tenantList = res.data?.rows || []
+      } catch(e) {}
+    },
+    async getList() {
+      try {
+        let { createTimer, tenantId, ...reset } = this.searchForm;
+        const res = await tenantOrderRecordQueryPage({
+          ...reset,
+          tenantId: tenantId.join(','),
+          ...getTimes(createTimer, ["startDate", "endDate"], "YYYY-MM-DD"),
+          page: this.pageInfo.page,
+          rows: this.pageInfo.limit,
+        });
+        this.pageInfo.total = res.total;
+        this.tableList = res.rows;
+      } catch (e) {}
+    },
+    search() {
+      this.pageInfo.page = 1;
+      this.$refs.searchForm.save(this.searchForm);
+      this.$refs.searchForm.save(this.pageInfo, "page");
+      this.getList();
+    },
+    reset() {
+      this.searchForm = { ...initSearch };
+      this.search();
+    },
+    openService(row) {
+      this.orderVisible = true
+    },
+  },
+  filters: {
+    tenantOrderStatus(val) {
+      const template = {
+        0: "待支付",
+        1: "已支付",
+        2: "支付失败"
+      }
+      return template[val]
+    }
+  }
+};
+</script>
+<style lang="scss" scoped>
+.courseMask .el-dialog__body {
+  padding-bottom: 0;
+}
+</style>

+ 191 - 0
src/views/tenantSetting/groupRecordManager.vue

@@ -0,0 +1,191 @@
+<template>
+  <div class="m-container">
+    <h2>
+      <div class="squrt"></div>
+      团练宝激活记录
+    </h2>
+    <save-form
+      :inline="true"
+      class="searchForm"
+      ref="searchForm"
+      @submit="search"
+      @reset="reset"
+      :saveKey="'tenantTradeManager'"
+      :model.sync="searchForm"
+    >
+      <el-form-item prop="transNo">
+        <el-input
+          placeholder="学员编号/姓名/手机号"
+          clearable
+          type="text"
+          v-model.trim="searchForm.transNo"
+        ></el-input>
+      </el-form-item>
+      <el-form-item prop="orderNo">
+        <el-input
+          placeholder="订单号"
+          clearable
+          type="text"
+          v-model.trim="searchForm.orderNo"
+        ></el-input>
+      </el-form-item>
+      <el-form-item prop="createTimer">
+        <el-date-picker
+          v-model.trim="searchForm.createTimer"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+          range-separator="至"
+          start-placeholder="订单开始时间"
+          end-placeholder="订单结束时间"
+          :picker-options="{ firstDayOfWeek: 1 }"
+        ></el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button native-type="submit" type="danger">搜索</el-button>
+        <el-button native-type="reset" type="primary">重置</el-button>
+      </el-form-item>
+    </save-form>
+    <!-- 列表 -->
+    <div class="tableWrap">
+      <el-table
+        :data="tableList"
+        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+      >
+        <el-table-column align="center" prop="transNo" label="交易流水号">
+        </el-table-column>
+        <el-table-column align="center" label="订单号" prop="orderNo">
+        </el-table-column>
+        <el-table-column align="center" label="订单时间" prop="createdTime">
+        </el-table-column>
+        <el-table-column align="center" label="学员编号" prop="tenantId">
+        </el-table-column>
+        <el-table-column align="center" label="学员名称" prop="tenantName">
+        </el-table-column>
+        <el-table-column align="center" label="手机号码" prop="tenantName">
+        </el-table-column>
+        <el-table-column align="center" label="交易类型">
+          <template slot-scope="scope">
+            {{ scope.row.orderType | tenantStatus }}
+          </template>
+        </el-table-column>
+        <el-table-column align="center" label="团练宝类型">
+          <template slot-scope="scope">
+            {{ scope.row.expectAmount | moneyFormat }}
+          </template>
+        </el-table-column>
+        <!-- <el-table-column align="center" label="网络教室剩余时长" prop="productName">
+        </el-table-column> -->
+        <el-table-column align="center" label="数量">
+          <template slot-scope="scope">
+            {{ scope.row.actualAmount | moneyFormat }}
+          </template>
+        </el-table-column>
+        <el-table-column align="center" label="激活费用(元)">
+          <template slot-scope="scope">
+            {{ scope.row.orderState | tenantOrderStatus }}
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        :saveKey="'tenantTradeManager'"
+        sync
+        :total.sync="pageInfo.total"
+        :page.sync="pageInfo.page"
+        :limit.sync="pageInfo.limit"
+        :page-sizes="pageInfo.page_size"
+        @pagination="getList"
+      />
+    </div>
+
+  </div>
+</template>
+<script>
+import pagination from "@/components/Pagination/index";
+import { tenantInfoQueryPage } from "../organManager/api";
+import { tenantOrderRecordQueryPage } from "./api";
+import { tenantStatus, dealStatus } from "@/utils/searchArray";
+import { getTimes } from "@/utils";
+const initSearch = {
+  transNo: null,
+  orderNo: null,
+  tenantId: [],
+  orderType: null,
+  orderState: null,
+  createTimer: [],
+};
+export default {
+  components: { pagination },
+  data() {
+    const baseTenantId = sessionStorage.getItem('baseTenantId')
+    return {
+      baseTenantId,
+      tenantStatus,
+      dealStatus,
+      tableList: [],
+      pageInfo: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
+      },
+      searchForm: { ...initSearch },
+      tenantList: []
+    };
+  },
+  async mounted() {
+    await this.getTenant()
+    this.getList();
+  },
+  methods: {
+    async getTenant() {
+      try {
+        const res = await tenantInfoQueryPage({ page: 1, rows: 999 }, )
+        this.tenantList = res.data?.rows || []
+      } catch(e) {}
+    },
+    async getList() {
+      try {
+        let { createTimer, tenantId, ...reset } = this.searchForm;
+        const res = await tenantOrderRecordQueryPage({
+          ...reset,
+          tenantId: tenantId.join(','),
+          ...getTimes(createTimer, ["startDate", "endDate"], "YYYY-MM-DD"),
+          page: this.pageInfo.page,
+          rows: this.pageInfo.limit,
+        });
+        this.pageInfo.total = res.total;
+        this.tableList = res.rows;
+      } catch (e) {}
+    },
+    search() {
+      this.pageInfo.page = 1;
+      this.$refs.searchForm.save(this.searchForm);
+      this.$refs.searchForm.save(this.pageInfo, "page");
+      this.getList();
+    },
+    reset() {
+      this.searchForm = { ...initSearch };
+      this.search();
+    },
+    openService(row) {
+      this.orderVisible = true
+    },
+  },
+  filters: {
+    tenantOrderStatus(val) {
+      const template = {
+        0: "待支付",
+        1: "已支付",
+        2: "支付失败"
+      }
+      return template[val]
+    }
+  }
+};
+</script>
+<style lang="scss" scoped>
+.courseMask .el-dialog__body {
+  padding-bottom: 0;
+}
+</style>

+ 1 - 1
src/views/tenantSetting/tenantInfo.vue

@@ -39,7 +39,7 @@ export default {
       try {
         let tenantConfig = sessionStorage.getItem('tenantConfig')
         tenantConfig = tenantConfig ? JSON.parse(tenantConfig) : {}
-        console.log(tenantConfig)
+        console.log(tenantConfig, tenantConfig.tenantId)
         const res = await tenantInfoInfo({ id: tenantConfig.tenantId })
         this.status = true
         const { config, productInfo, ...other } = res.data