Procházet zdrojové kódy

红包积分消耗统计/红包显示发送方式转换

三七 před 1 dnem
rodič
revize
7ac661f926

+ 18 - 0
src/api/company/companyConfig.js

@@ -33,6 +33,24 @@ export function addCompanyConfig(data) {
   })
 }
 
+export function editCompanyConfig(data) {
+  return request({
+    url: '/company/companyConfig/editCompanyConfig',
+    method: 'post',
+    data: data
+  })
+}
+
+// 查询参数配置详细
+export function getCompanyConfigKey(configKey,companyId) {
+  return request({
+    url: '/company/companyConfig/getCompanyConfigKey/' + configKey+'/'+companyId,
+    method: 'get'
+  })
+}
+
+
+
 // 修改参数配置
 export function updateCompanyConfig(data) {
   return request({

+ 9 - 0
src/api/his/integralGoods.js

@@ -65,3 +65,12 @@ export function getChooseIntegralGoodsList(query) {
     params: query
   })
 }
+
+// 批量修改积分商品所需积分和支付金额
+export function batchUpdateIntegralGoods(data) {
+  return request({
+    url: '/his/integralGoods/batchUpdateIntegralGoods',
+    method: 'post',
+    data: data
+  })
+}

+ 9 - 1
src/api/system/config.js

@@ -23,6 +23,14 @@ export function getConfigByKey(configKey) {
     method: 'get'
   })
 }
+
+export function getCourseConfigByRewardType() {
+  return request({
+    url: '/system/config/getCourseConfigByRewardType',
+    method: 'get'
+  })
+}
+
 // 根据参数键名查询参数值
 export function getConfigKey(configKey) {
   return request({
@@ -96,4 +104,4 @@ export function getGatewayList(query) {
     method: 'get',
     params: query
   })
-}
+}

+ 29 - 9
src/views/course/courseRedPacketLog/index.vue

@@ -71,7 +71,7 @@
 	      size="small"
 	      @keyup.enter.native="handleQuery"
 	    />
-	  </el-form-item>      
+	  </el-form-item>
 
 		<el-form-item label="课程" prop="courseId">
 		     <el-select filterable  v-model="queryParams.courseId" placeholder="请选择课程"  clearable size="small" @change="courseChange(queryParams.courseId)">
@@ -98,8 +98,8 @@
                              range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" @change="change"></el-date-picker>
 	 </el-form-item>
    <el-form-item label="发课方式" prop="sendType">
-	           <el-select 
-    v-model="sendType" 
+	           <el-select
+    v-model="sendType"
     placeholder="请选择发课方式"
     size="small"
     style="width: 220px"
@@ -172,7 +172,7 @@
           />
         </el-select>
       </el-form-item>
-      
+
       <el-form-item label="营期" prop="sopId" v-if="!periodShow">
         <el-select
           v-model="queryParams.sopId"
@@ -249,7 +249,12 @@
       <el-table-column label="所属员工" align="center" prop="companyUserName" />
       <el-table-column label="所属公司" align="center" prop="companyName" />
       <el-table-column label="员工部门" align="center" prop="deptName" />
-      <el-table-column label="转帐金额" align="center" prop="amount" />
+<!--      <el-table-column label="转帐金额" align="center" prop="amount" />-->
+      <el-table-column :label="RewardType === 1 ? '转账金额' : '积分发放(红包转)'" align="center">
+        <template slot-scope="scope">
+          <span>{{ RewardType === 1 ? scope.row.amount : scope.row.amount * 1000 }}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="状态" align="center" prop="status" >
         <template slot-scope="scope">
           <el-tag>{{ scope.row.status === 0 ? "发送中" : "已完成" }}</el-tag>
@@ -310,12 +315,16 @@ import { listCamp } from "@/api/course/userCourseCamp"
 import {treeselect} from "../../../api/company/companyDept";
 import SelectTree from '@/components/TreeSelect/index.vue'
 import { getDeptData } from '@/api/system/employeeStats'
+import { getCourseConfigByRewardType } from '@/api/system/config'
 
 export default {
   name: "CourseRedPacketLog",
   components: {SelectTree},
   data() {
     return {
+
+    RewardType: 1,
+
 	  companys:[],
     selectedCompanyList: [],
     deptList: [],
@@ -380,7 +389,7 @@ export default {
       },
       //发课方式-手动,自动
       sendType:"",
-      periodShow:"", 
+      periodShow:"",
       sopLists:[],
       campLists:[],
       queryCamp:
@@ -394,7 +403,11 @@ export default {
     };
   },
   created() {
+
+    this.getCourseByRewardType();
+
     this.getList();
+
 	    getCompanyList().then(response => {
 	    this.companys = response.data;
 	  });
@@ -417,6 +430,13 @@ export default {
     // this.getList();
   },
   methods: {
+
+    getCourseByRewardType(){
+      getCourseConfigByRewardType().then(res=>{
+        this.RewardType=res.rewardType;
+      })
+    },
+
     // 远程搜索方法
     async remoteMethod(query) {
       this.searchKeyword = query
@@ -462,7 +482,7 @@ export default {
     },
 handleSopChange(value) {
     console.log('选择的SOP ID:', value);
-  
+
   // 清除可能的表单验证错误
   this.$nextTick(() => {
     if (this.$refs.queryForm) {
@@ -505,7 +525,7 @@ handleSopChange(value) {
         console.error('获取营期列表失败:', error)
         this.periodListsNew = []
       }
-    }, 
+    },
     async getSopList(keyword = '') {
       try {
         const params = {
@@ -532,7 +552,7 @@ handleSopChange(value) {
         this.campLists = []
       }
     },
-    
+
     // 下拉框获取焦点时加载数据
     async handleFocus() {
       if (this.periodLists.length === 0) {

+ 21 - 1
src/views/course/courseWatchLog/index.vue

@@ -532,7 +532,13 @@
         <!--        <el-table-column label="会员电话" align="center" prop="phone" />-->
         <!--        <el-table-column label="所属销售" align="center" prop="companyUserName" />-->
         <!--        <el-table-column label="所属公司" align="center" prop="companyName" />-->
-        <el-table-column label="转账金额" align="center" prop="amount" />
+<!--        <el-table-column label="转账金额" align="center" prop="amount" />-->
+
+        <el-table-column :label="RewardType === 1 ? '转账金额' : '积分发放(红包转)'" align="center">
+          <template slot-scope="scope">
+            <span>{{ RewardType === 1 ? scope.row.amount : scope.row.amount * 1000 }}</span>
+          </template>
+        </el-table-column>
         <el-table-column label="状态" align="center" prop="status" >
           <template slot-scope="scope">
             <el-tag>
@@ -678,6 +684,7 @@ import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import {getCompanyList} from "../../../api/company/company";
 import {treeselectByCompanyId} from "../../../api/company/companyDept";
+import { getCourseConfigByRewardType } from '@/api/system/config'
 Vue.use(Calendar)
 
 export default {
@@ -685,6 +692,9 @@ export default {
   components: {Treeselect },
   data() {
     return {
+
+      RewardType: 1,
+
       watchTypeList: [
         { dictLabel: 'app', dictValue: 1 },
         { dictLabel: '小程序', dictValue: 2 }
@@ -890,6 +900,9 @@ export default {
     };
   },
   created() {
+
+    this.getCourseByRewardType();
+
     // 首先查询公司列表
     getCompanyList().then(response => {
       this.myCompanyList = response.data;
@@ -906,6 +919,13 @@ export default {
     });
   },
   methods: {
+
+    getCourseByRewardType(){
+      getCourseConfigByRewardType().then(res=>{
+        this.RewardType=res.rewardType;
+      })
+    },
+
       // 加载依赖companyId的数据
       loadDependentData() {
         // 使用Promise.all并行执行不依赖companyId的请求

+ 25 - 2
src/views/course/courseWatchLog/watchLog.vue

@@ -234,7 +234,12 @@
         <el-table-column label="会员电话" align="center" prop="phone" />
         <el-table-column label="所属销售" align="center" prop="companyUserName" />
         <el-table-column label="所属公司" align="center" prop="companyName" />
-        <el-table-column label="转帐金额" align="center" prop="amount" />
+<!--        <el-table-column label="转帐金额" align="center" prop="amount" />-->
+        <el-table-column :label="RewardType === 1 ? '转账金额' : '积分发放(红包转)'" align="center">
+          <template slot-scope="scope">
+            <span>{{ RewardType === 1 ? scope.row.amount : scope.row.amount * 1000 }}</span>
+          </template>
+        </el-table-column>
         <el-table-column label="状态" align="center" prop="status" >
           <template slot-scope="scope">
             <el-tag>{{ scope.row.status === 0 ? "发送中" : "已完成" }}</el-tag>
@@ -269,12 +274,16 @@ import {courseList, myListCourseRedPacketLog, videoListByWatch} from '@/api/cour
 import {myListLogs} from "@/api/course/courseAnswerlogs";
 import {getMyQwUserList} from "@/api/qw/user";
 import {getFsUserList} from "@/api/users/user";
+import { getCourseConfigByRewardType } from '@/api/system/config'
 
 
 export default {
   name: "CourseWatchLog",
   data() {
     return {
+
+      RewardType: 1,
+
       userSourceTypeOptions: [],
       activeName:"00",
       createTime: null,
@@ -367,6 +376,9 @@ export default {
     }
   },
   created() {
+
+    this.getCourseByRewardType();
+
     this.getDicts('user_source_type').then(response => {
       this.userSourceTypeOptions = response.data;
     })
@@ -374,7 +386,11 @@ export default {
     courseList().then(response => {
       this.courseLists = response.list;
     });
-    this.getList();
+
+    setTimeout(() => {
+      this.getList();
+    }, 200);
+
     this.getDicts("sys_course_watch_log_type").then(response => {
       this.logTypeOptions = response.data;
     });
@@ -387,6 +403,13 @@ export default {
     });
   },
   methods: {
+
+    getCourseByRewardType(){
+      getCourseConfigByRewardType().then(res=>{
+        this.RewardType=res.rewardType;
+      })
+    },
+
     handleClear(){
       this.queryUserLoading = false;
       this.fsUserList = [];

+ 179 - 0
src/views/his/company/index.vue

@@ -238,6 +238,23 @@
           >解绑销售易
           </el-button>
 
+
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleRedPacket(scope.row)"
+            v-hasPermi="['company:company:redPacket']"
+          >绑定红包商户</el-button>
+
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleAppRedPacket(scope.row)"
+            v-hasPermi="['company:company:AppRedPacket']"
+          >绑定app提现商户</el-button>
+
         </template>
       </el-table-column>
     </el-table>
@@ -786,6 +803,103 @@
       </div>
     </el-dialog>
 
+    <!-- 红包商户配置   -->
+    <el-dialog :title="redPacketConfigOpen.title" :visible.sync="redPacketConfigOpen.open" width="800px" append-to-body>
+      <el-form ref="redPacketConfig" :model="redPacketConfig"  label-width="150px">
+        <el-form-item   label="红包接口类型" prop="isNew">
+          <el-radio-group v-model="redPacketConfig.isNew">
+            <el-radio label="0">商家转账到零钱(旧)</el-radio>
+            <el-radio label="1">商家转账(新)</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item   label="公众号appid" prop="appId">
+          <el-input   v-model="redPacketConfig.appId"  label="请输入appId"></el-input>
+        </el-form-item>
+        <el-form-item   label="小程序appid" prop="appId">
+          <el-input   v-model="redPacketConfig.miniappId"  label="请输入appId"></el-input>
+        </el-form-item>
+        <el-form-item   label="商户号" prop="mchId">
+          <el-input   v-model="redPacketConfig.mchId"  label="请输入mchId"></el-input>
+        </el-form-item>
+        <el-form-item   label="商户密钥" prop="mchKey">
+          <el-input   v-model="redPacketConfig.mchKey"  label="mchKey"></el-input>
+        </el-form-item>
+        <el-form-item   label="p12证书路径" prop="keyPath">
+          <el-input   v-model="redPacketConfig.keyPath"  label="请输入keyPath"></el-input>
+        </el-form-item>
+        <el-form-item   label="apiV3密钥" prop="apiV3Key">
+          <el-input   v-model="redPacketConfig.apiV3Key"  label="请输入apiV3Key"></el-input>
+        </el-form-item>
+        <el-form-item   label="公钥ID" prop="publicKeyId">
+          <el-input   v-model="redPacketConfig.publicKeyId"  label="请输入公钥ID"></el-input>
+        </el-form-item>
+        <el-form-item   label="公钥证书" prop="publicKeyPath">
+          <el-input   v-model="redPacketConfig.publicKeyPath"  label="请输入publicKeyPath"></el-input>
+        </el-form-item>
+        <el-form-item   label="key路径" prop="privateKeyPath">
+          <el-input   v-model="redPacketConfig.privateKeyPath"  label="请输入"></el-input>
+        </el-form-item>
+        <el-form-item   label="cert路径" prop="privateCertPath">
+          <el-input   v-model="redPacketConfig.privateCertPath"  label="请输入"></el-input>
+        </el-form-item>
+        <el-form-item   label="回调地址" prop="notifyUrl">
+          <el-input   v-model="redPacketConfig.notifyUrl"  label="请输入"></el-input>
+        </el-form-item>
+
+        </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="onSubmitCompanyRedPacket">提交</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- app提现配置   -->
+    <el-dialog :title="hisAppRedPacketOpen.title" :visible.sync="hisAppRedPacketOpen.open" width="800px" append-to-body>
+      <el-form ref="hisAppRedPacket" :model="hisAppRedPacket"  label-width="150px">
+        <el-form-item   label="红包接口类型" prop="isNew">
+          <el-radio-group v-model="hisAppRedPacket.isNew">
+            <el-radio label="0">商家转账到零钱(旧)</el-radio>
+            <el-radio label="1">商家转账(新)</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item   label="公众号appid" prop="appId">
+          <el-input   v-model="hisAppRedPacket.appId"  label="请输入appId"></el-input>
+        </el-form-item>
+        <el-form-item   label="小程序appid" prop="appId">
+          <el-input   v-model="hisAppRedPacket.miniappId"  label="请输入appId"></el-input>
+        </el-form-item>
+        <el-form-item   label="商户号" prop="mchId">
+          <el-input   v-model="hisAppRedPacket.mchId"  label="请输入mchId"></el-input>
+        </el-form-item>
+        <el-form-item   label="商户密钥" prop="mchKey">
+          <el-input   v-model="hisAppRedPacket.mchKey"  label="mchKey"></el-input>
+        </el-form-item>
+        <el-form-item   label="p12证书路径" prop="keyPath">
+          <el-input   v-model="hisAppRedPacket.keyPath"  label="请输入keyPath"></el-input>
+        </el-form-item>
+        <el-form-item   label="apiV3密钥" prop="apiV3Key">
+          <el-input   v-model="hisAppRedPacket.apiV3Key"  label="请输入apiV3Key"></el-input>
+        </el-form-item>
+        <el-form-item   label="公钥ID" prop="publicKeyId">
+          <el-input   v-model="hisAppRedPacket.publicKeyId"  label="请输入公钥ID"></el-input>
+        </el-form-item>
+        <el-form-item   label="公钥证书" prop="publicKeyPath">
+          <el-input   v-model="hisAppRedPacket.publicKeyPath"  label="请输入publicKeyPath"></el-input>
+        </el-form-item>
+        <el-form-item   label="key路径" prop="privateKeyPath">
+          <el-input   v-model="hisAppRedPacket.privateKeyPath"  label="请输入"></el-input>
+        </el-form-item>
+        <el-form-item   label="cert路径" prop="privateCertPath">
+          <el-input   v-model="hisAppRedPacket.privateCertPath"  label="请输入"></el-input>
+        </el-form-item>
+        <el-form-item   label="回调地址" prop="notifyUrl">
+          <el-input   v-model="hisAppRedPacket.notifyUrl"  label="请输入"></el-input>
+        </el-form-item>
+
+        </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="onSubmitAppRedPacket">提交</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -808,6 +922,7 @@ import {
 import { getFollowDoctorList } from '@/api/his/doctor'
 import { docList } from '@/api/his/doctor'
 import { getVoiceApiList } from '@/api/company/companyVoiceApi'
+import { editCompanyConfig,getCompanyConfigKey } from '@/api/company/companyConfig'
 import { getCitysArea } from '../../../api/company/company'
 import { cateList } from '@/api/his/packageCate'
 import { getConfigByKey } from '@/api/system/config'
@@ -819,6 +934,23 @@ export default {
   name: 'Company',
   data() {
     return {
+
+      redPacketConfigOpen:{
+        open: false,
+        title: '红包商户配置'
+      },
+
+      hisAppRedPacketOpen:{
+        open: false,
+        title: 'app提现商户配置'
+      },
+
+      redPacketConfig:{},
+      hisAppRedPacket:{},
+
+      redPacketConfigForm:{},
+      hisAppRedPacketForm:{},
+
       gatewayList:[],
       projectFrom:process.env.VUE_APP_HSY_SPACE,
 
@@ -1222,6 +1354,26 @@ export default {
       })
     },
 
+    onSubmitAppRedPacket(){
+      this.hisAppRedPacketForm.configValue=JSON.stringify(this.hisAppRedPacket);
+          editCompanyConfig(this.hisAppRedPacketForm).then(response => {
+            if (response.code === 200) {
+              this.msgSuccess("修改成功");
+              this.hisAppRedPacketOpen.open=false;
+            }
+          })
+
+    },
+
+    onSubmitCompanyRedPacket(){
+      this.redPacketConfigForm.configValue=JSON.stringify(this.redPacketConfig);
+          editCompanyConfig(this.redPacketConfigForm).then(response => {
+            if (response.code === 200) {
+              this.msgSuccess("修改成功");
+              this.redPacketConfigOpen.open=false;
+            }
+          })
+    },
     getList() {
       this.loading = true
       listCompany(this.queryParams).then(response => {
@@ -1516,6 +1668,8 @@ export default {
       })
     },
 
+
+
     // 解绑销售易账号
     handleUnbindXsy(row) {
       this.$confirm('是否确认解绑当前销售易账号?', '提示', {
@@ -1534,6 +1688,31 @@ export default {
         }
       }).catch(() => {})
     },
+
+    handleRedPacket(row){
+      const companyId=row.companyId;
+
+      getCompanyConfigKey('redPacket:config',companyId).then(res=>{
+        if(res.data.configValue!=null){
+          this.redPacketConfig=JSON.parse(res.data.configValue);
+        }
+        this.redPacketConfigForm.configId=res.data.configId;
+        this.redPacketConfigOpen.open=true;
+      })
+    },
+
+    handleAppRedPacket(row){
+      const companyId=row.companyId;
+
+      getCompanyConfigKey('his:AppRedPacket',companyId).then(res=>{
+        if(res.data.configValue!=null){
+          this.hisAppRedPacket=JSON.parse(res.data.configValue);
+        }
+        this.hisAppRedPacketForm.configId=res.data.configId;
+        this.hisAppRedPacketOpen.open=true;
+      })
+    }
+
   }
 }
 </script>

+ 99 - 2
src/views/his/integralGoods/index.vue

@@ -101,12 +101,24 @@
           v-hasPermi="['his:integralGoods:handleImport']"
               >导入</el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-edit-outline"
+          size="mini"
+          :disabled="multiple"
+          @click="handleBatchUpdate"
+          v-hasPermi="['his:integralGoods:edit']"
+        >批量修改积分和金额</el-button>
+      </el-col>
 
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
     <el-table v-loading="loading" border :data="integralGoodsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="编号" align="center" prop="goodsId" />
       <el-table-column label="封面图" align="center" prop="imgUrl" >
         <template slot-scope="scope">
           <el-popover
@@ -197,7 +209,7 @@
            <el-input-number v-model="form.otPrice" :precision="2" :step="0.1" ></el-input-number>
         </el-form-item>
         <el-form-item label="所需积分" prop="integral">
-          <el-input-number v-model="form.integral"  :min="0"  label="所需积分"></el-input-number>
+          <el-input-number v-model="form.integral"  :min="1"  label="所需积分"></el-input-number>
         </el-form-item>
         <el-form-item label="支付金额" prop="cash">
           <el-input-number v-model="form.cash"  :min="0" :precision="2" :step="0.1"  label="需支付金额"></el-input-number>
@@ -276,12 +288,34 @@
           </div>
         </el-dialog>
 
+    <!-- 批量修改积分和金额对话框 -->
+    <el-dialog :title="batchTitle" :visible.sync="batchOpen" width="500px" append-to-body>
+      <el-form ref="batchForm" :model="batchForm" :rules="batchRules" label-width="120px">
+        <el-form-item label="所需积分" prop="integral">
+          <el-input-number v-model="batchForm.integral" :min="1" placeholder="请输入所需积分"></el-input-number>
+        </el-form-item>
+        <el-form-item label="需支付金额" prop="cash">
+          <el-input-number v-model="batchForm.cash" :min="0" :precision="2" :step="0.1" placeholder="请输入支付金额"></el-input-number>
+        </el-form-item>
+        <el-alert
+          title="至少填写一项,留空项将不修改"
+          type="info"
+          :closable="false"
+          show-icon
+        />
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitBatchForm" :loading="batchLoading">确 定</el-button>
+        <el-button @click="batchOpen = false">取 消</el-button>
+      </div>
+    </el-dialog>
+
 
   </div>
 </template>
 
 <script>
-import { importTemplate,listIntegralGoods, getIntegralGoods, delIntegralGoods, addIntegralGoods, updateIntegralGoods, exportIntegralGoods } from "@/api/his/integralGoods";
+import { importTemplate,listIntegralGoods, getIntegralGoods, delIntegralGoods, addIntegralGoods, updateIntegralGoods, exportIntegralGoods, batchUpdateIntegralGoods } from "@/api/his/integralGoods";
 import Material from '@/components/Material';
 import Editor from '@/components/Editor/wang';
 import { getToken } from "@/utils/auth";
@@ -322,6 +356,40 @@ export default {
               // 上传的地址
               url: process.env.VUE_APP_BASE_API + "/his/integralGoods/importData"
             },
+      // 批量修改
+      batchOpen: false,
+      batchTitle: "批量修改积分和金额",
+      batchLoading: false,
+      batchForm: {
+        integral: null,
+        cash: null
+      },
+      batchRules: {
+        integral: [
+          {
+            validator: (rule, value, callback) => {
+              if (this.batchForm.integral === null && this.batchForm.cash === null) {
+                callback(new Error('至少需要填写所需积分或需支付金额中的一项'));
+              } else {
+                callback();
+              }
+            },
+            trigger: 'change'
+          }
+        ],
+        cash: [
+          {
+            validator: (rule, value, callback) => {
+              if (this.batchForm.integral === null && this.batchForm.cash === null) {
+                callback(new Error('至少需要填写所需积分或需支付金额中的一项'));
+              } else {
+                callback();
+              }
+            },
+            trigger: 'change'
+          }
+        ]
+      },
       photoArr:[],
       imageArr:[],
       // 遮罩层
@@ -559,6 +627,35 @@ export default {
           this.msgSuccess("删除成功");
         }).catch(() => {});
     },
+    /** 批量修改按钮操作 */
+    handleBatchUpdate() {
+      this.batchForm = {
+        integral: null,
+        cash: null
+      };
+      this.batchOpen = true;
+    },
+    /** 提交批量修改 */
+    submitBatchForm() {
+      this.$refs["batchForm"].validate(valid => {
+        if (valid) {
+          const params = {
+            goodsIds: this.ids,
+            integral: this.batchForm.integral,
+            cash: this.batchForm.cash
+          };
+          this.batchLoading = true;
+          batchUpdateIntegralGoods(params).then(response => {
+            this.msgSuccess("批量修改成功");
+            this.batchOpen = false;
+            this.batchLoading = false;
+            this.getList();
+          }).catch(() => {
+            this.batchLoading = false;
+          });
+        }
+      });
+    },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;

+ 36 - 3
src/views/statistics/section/inline.vue

@@ -91,7 +91,11 @@
       <el-table-column prop="deletedNum" label="删除数"  align="center" />
       <el-table-column prop="orderNum" label="订单总数"  align="center" />
       <el-table-column prop="orderMoneyTotal" label="订单总金额(元)"  align="center" />
-      <el-table-column prop="redPackageMoneyTotal" label="红包总金额(元)"  align="center" />
+      <el-table-column :label="RewardType === 1 ? '红包总金额(元)' : '积分总消耗(红包转)'" align="center">
+        <template slot-scope="scope">
+          <span>{{ RewardType === 1 ? scope.row.redPackageMoneyTotal : scope.row.redPackageMoneyTotal * 1000 }}</span>
+        </template>
+      </el-table-column>
       <el-table-column prop="callNum" label="总拨打数"  align="center" />
       <el-table-column prop="receivePassNum" label="接通数"  align="center" />
       <el-table-column prop="receiveNotNum" label="未接通数"  align="center" />
@@ -154,6 +158,7 @@ import {getCompanyList} from "@/api/company/company";
 import {getUserList} from "@/api/company/companyUser";
 import SelectTree from "@/components/TreeSelect/index.vue";
 import { exportLineCustomer } from '@/api/crm/customer'
+import { getCourseConfigByRewardType } from '@/api/system/config'
 
 export default {
   name: "EmployeeStats",
@@ -174,6 +179,7 @@ export default {
       // 显示搜索条件
       showSearch: true,
       // 总条数
+      RewardType: 1,
       total: 0,
       // 员工统计表格数据
       statsList: [],
@@ -207,7 +213,15 @@ export default {
     };
   },
   created() {
-    this.getList();
+
+
+    this.getCourseByRewardType();
+
+    setTimeout(() => {
+      this.getList();
+    }, 200);
+
+
 
     // getCompanyList().then(response => {
     //   this.companys = response.data;
@@ -265,9 +279,16 @@ export default {
           const values = data.map(item => Number(item[column.property]) || 0);
           sums[index] = values.reduce((prev, curr) => prev + curr, 0);
 
-          if(['orderMoneyTotal', 'redPackageMoneyTotal'].includes(column.property)){
+          if(column.property === 'redPackageMoneyTotal'){
+            if(this.RewardType === 2){
+              sums[index] = sums[index] * 1000;
+            } else {
+              sums[index] = sums[index].toFixed(2);
+            }
+          } else if(column.property === 'orderMoneyTotal'){
             sums[index] = sums[index].toFixed(2);
           }
+
         }
         else if (rateColumns.includes(column.property)) {
           if (column.property === 'regRate') {
@@ -320,6 +341,12 @@ export default {
         this.queryParams.companyUserId = null;
       }
     },
+    getCourseByRewardType(){
+      getCourseConfigByRewardType().then(res=>{
+         this.RewardType=res.rewardType;
+      })
+    },
+
     /** 查询员工统计列表 */
     getList() {
       this.loading = true;
@@ -353,6 +380,12 @@ export default {
     },
     /** 搜索按钮操作 */
     handleQuery() {
+
+      if (!this.dateRange || this.dateRange.length !== 2) {
+        this.$message.warning('请先选择时间范围');
+        return;
+      }
+
       this.queryParams.pageNum = 1;
       this.getList();
     },