Преглед изворни кода

功能需求开发完成,发版前提交代码。

shipeng пре 1 недеља
родитељ
комит
0843a9d220

+ 52 - 0
src/api/statisticalReport/statistics.js

@@ -108,6 +108,58 @@ export function downDayReportCount(params) {
     params
   });
 }
+// 日收入报表
+export const dayIncomeCount = (query) => {
+  return request({
+    url: '/order/operationReport/monthDayReportCount',
+    method: 'get',
+    params: query
+  })
+}
+//  日收入报表统计导出
+export function dayReportExport(params) {
+  return request({
+    url: '/order/operationReport/monthDayReportCountExport',
+    method: 'get',
+    responseType: 'blob',
+    params
+  });
+}
+// 月报表
+export const monthReportCount = (query) => {
+  return request({
+    url: '/order/operationReport/monthReportCount',
+    method: 'get',
+    params: query
+  })
+}
+// 月报表统计导出
+export function monthReportExport(params) {
+  return request({
+    url: '/order/operationReport/monthReportCountExport',
+    method: 'get',
+    responseType: 'blob',
+    params
+  });
+}
+// 预定报表
+export const bookingReportCount = (query) => {
+  return request({
+    url: '/order/operationReport/bookingReportCount',
+    method: 'get',
+    params: query
+  })
+}
+// 预定报表统计导出
+export function bookingReportCountExport(params) {
+  return request({
+    url: '/order/operationReport/bookingReportCountExport',
+    method: 'get',
+    responseType: 'blob',
+    params
+  });
+}
+
 
 // 分销明细
 export const marketPersonSaleCount = (query) => {

+ 3 - 2
src/api/system/menu.js

@@ -18,10 +18,11 @@ export function getMenu(menuId) {
 }
 
 // 查询菜单下拉树结构
-export function treeselect() {
+export function treeselect(query) {
   return request({
     url: '/system/menu/treeselect',
-    method: 'get'
+    method: 'get',
+    params: query
   })
 }
 

+ 4 - 4
src/views/distribution/recordMr/index.vue

@@ -85,7 +85,7 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table ref="tables" v-loading="loading" :data="dataList" border>
+    <el-table ref="tables" v-loading="loading" :data="dataList" max-height="520px" border>
       <el-table-column label="序号" align="center" type="index" width="60" fixed="left"></el-table-column>
       <el-table-column label="分销商名称" width="120" align="center" prop="personName" fixed="left" />
       <el-table-column label="分销商类型" width="120" align="center" prop="personType" fixed="left">
@@ -99,7 +99,7 @@
           <el-button type="text" @click="openDetails(scope.row)">{{ scope.row.orderId }}</el-button>
         </template>
       </el-table-column>
-      <el-table-column label="下单地址" width="180" align="center" prop="performDate11">
+      <el-table-column label="下单地址" width="200" align="center" prop="performDate11" show-overflow-tooltip>
         <template slot-scope="scope">
           <span>{{ setAderr(scope.row) }}</span>
         </template>
@@ -118,8 +118,8 @@
           <span v-if="scope.row.brokeragePrice">¥{{ scope.row.brokeragePrice }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="实付金额" width="120" align="center" prop="realPrice" />
-      <el-table-column label="支付时间" width="120" align="center" prop="payTime" />
+      <el-table-column label="实付金额" width="100" align="center" prop="realPrice" />
+      <el-table-column label="支付时间" width="170" align="center" prop="payTime" />
       <el-table-column label="购买数量(张)" width="120" align="center" prop="retailNum" />
       <el-table-column label="已核销(张)" width="120" align="center" prop="usedNum" />
       <el-table-column label="获得佣金(元)" width="120" align="center" prop="brokeragePriceTotal">

+ 38 - 3
src/views/distribution/withdrawalApp/index.vue

@@ -71,14 +71,22 @@
         <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
       </el-row>
       <div class="app-container-table-info">
-        <el-table ref="tables" v-loading="loading" height="100%" :data="dataList" border>
+        <el-table ref="tables" 
+          v-loading="loading" 
+          max-height="500px" 
+          :data="dataList"
+          :summary-method="getSummaries"
+          show-summary
+          border
+        >
           <el-table-column label="序号" align="center" type="index" width="50"></el-table-column>
-          <el-table-column label="分销商名称" align="center" prop="personName"  width="100" />
+          <el-table-column label="分销商名称" align="center" prop="personName"  width="160" show-overflow-tooltip />
           <el-table-column label="分销商类型" align="center" prop="type" width="100" >
             <template slot-scope="scope">
               <dict-tag :options="dict.type.distribution_type" :value="scope.row.personType"/>
             </template>
           </el-table-column>
+          <el-table-column label="手机号" align="center" prop="mobile" width="100" />
           <el-table-column label="开户人姓名" align="center" prop="realName" width="100" />
           <el-table-column label="开户行" align="center" prop="openBankName" width="120" />
           <el-table-column label="开户人身份证号" align="center" prop="openIdCard" width="120" />
@@ -245,6 +253,33 @@ export default {
     this.resizeObserver.observe(this.$refs.queryFormBox);
   },
   methods: {
+    getSummaries(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '合计';
+          return;
+        }
+        const values = data.map(item => Number(item[column.property]));
+        if (!values.every(value => isNaN(value)) && column.property === 'realPrice') {
+            sums[index] = values.reduce((prev, curr) => {
+              const value = Number(curr);
+              if (!isNaN(value)) {
+                return prev + curr;
+              } else {
+                return prev;
+              }
+            }, 0);
+            // sums[index] += ' 元';
+            // sums[index] += '';
+            sums[index] = Number(sums[index].toFixed(2));
+        } else {
+          sums[index] = '';
+        }
+      });
+      return sums;
+    },
     // 申请时间处理
     setDateRange() {
       const today = moment(); // 当前日期
@@ -364,7 +399,7 @@ export default {
   beforeDestroy() {
     this.resizeObserver.unobserve(this.$refs.queryFormBox);
     this.resizeObserver.disconnect();
-  },
+  }
 };
 </script>
 <style lang="scss" scoped>

+ 19 - 4
src/views/marketing/coupon/dialog/addAndEdit.vue

@@ -11,13 +11,13 @@
   <el-dialog
     :title="title"
     :visible.sync="open"
-    width="700px"
+    width="750px"
     append-to-body
     :close-on-click-modal="false"
     @close="cancel"
   >
     <div class="dialog">
-      <el-form :model="form" ref="form" :rules="rules" label-width="120px">
+      <el-form :model="form" ref="form" :rules="rules" label-width="100px">
         <el-form-item label="使用剧目" prop="usePerform" required>
           <el-select v-model="form.usePerform" @change="performChange" placeholder="请选择使用剧目">
                 <el-option
@@ -75,7 +75,7 @@
             placeholder="请输入关键词进行查询"
             :remote-method="getOptions"
             :loading="isLoading"
-            style="width: 100%;"
+            style="width: 80%;margin-right: 5px;"
           >
             <el-option
               v-for="item in options"
@@ -84,6 +84,8 @@
               :value="item.id">
             </el-option>
           </el-select>
+          <el-button v-if="form.useUserId.length == 0" type="primary" @click="allUser">全选</el-button>
+          <el-button v-else @click="cancelSelected">取消选择</el-button>
         </el-form-item>
         <el-form-item label="发放渠道" prop="channelType" key="channelType" required>
           <el-select v-model="form.channelType" :disabled ="isDisabled" placeholder="请选择发放渠道">
@@ -249,7 +251,7 @@ export default {
       if (obj){
         this.title = "编辑优惠券";
         this.$nextTick(() => {
-          // console.log(obj,'4444');
+          console.log(obj,'4444');
           // if(obj.useUserId) {
           //   this.rowId = obj.useUserId.split(",");
           // } else {
@@ -292,6 +294,7 @@ export default {
         this.$set(this.form, 'channelType', 2);
         this.$set(this.form, 'useType', 2);
         this.$set(this.form, 'useDay', '24');
+        this.$set(this.form, 'useUserId', []);
       }
       this.$nextTick(() => {
         this.$refs["form"].clearValidate();
@@ -351,6 +354,18 @@ export default {
         })
       },1000)
     },
+    // 全选 分销商
+    allUser(){
+      if(this.options.length != 0){
+        let ids = this.options.map(ele => ele.id)|| [];
+        console.log(ids,'ids');
+        this.$set(this.form, 'useUserId', ids);
+      }
+    },
+    // 取消全选 分销商
+    cancelSelected() {
+      this.$set(this.form, 'useUserId', []);
+    },
     // 使用对象切换
     handleChange(val) {
       if(val == 2) {

+ 3 - 1
src/views/statistics/index.vue

@@ -67,7 +67,9 @@ export default {
         {id: 5, name: '座位类型销售统计', hasPermi: 'statisticalReport:seatInventory:downloadExcel', url: '/statisticalReport/seatInventory'},
       ],
       dataList: [
-        {id: 21, name: '日报表', hasPermi: 'daily:daily:list', url: '/statisticalReport/daily'},
+        {id: 21, name: '预定报表', hasPermi: 'daily:daily:list', url: '/statisticalReport/daily'},
+        {id: 24, name: '日收入报表', hasPermi: 'daily:income:list', url: '/statisticalReport/income'},
+        {id: 25, name: '月报表', hasPermi: 'month:month:list', url: '/statisticalReport/month'},
         {id: 22, name: '分销明细', hasPermi: 'distridbution:distridbution:list', url: '/statisticalReport/distridbution'},
         {id: 23, name: '团队明细', hasPermi: 'teamdetail:teamdetail:list', url: '/statisticalReport/teamdetail'},
       ]

+ 1 - 1
src/views/team/creditRecord/dialog/details.vue

@@ -61,7 +61,7 @@
 
         <!-- 还款日期信息 -->
         <div>
-          <div class="title-class">{{form.payWay == 'quota' ? '授信支付还款信息' : '对公支付信息' }} </div>
+          <div class="title-class">{{form.payWay == 'quota' ? '授信支付还款信息': '挂账支付信息'}} </div>
             <el-row>
               <el-col class="pay-type-remark" :span="24">
                 还款日期:{{ form.realPayTime }}

+ 4 - 3
src/views/team/creditRecord/index.vue

@@ -57,8 +57,8 @@
       <div class="app-container-table-info">
         <el-table ref="tables" v-loading="loading" height="100%" :data="dataList" border>
           <el-table-column label="序号" align="center" type="index" width="60"></el-table-column>
-          <el-table-column label="订单号" align="center" prop="orderId" />
-          <el-table-column label="团队名称" align="center" prop="teamName" />
+          <el-table-column label="订单号" align="center" prop="orderId" width="170" />
+          <el-table-column label="团队名称" align="center" prop="teamName" width="170" />
           <el-table-column label="是否其他团队代付" align="center" prop="ifRepay">
             <template slot-scope="scope">
               <span>{{ scope.row.ifRepay == 0 ? '否' : '是' }}</span>
@@ -71,7 +71,8 @@
           </el-table-column>
           <el-table-column label="支付方式" align="center" prop="payWay">
             <template slot-scope="scope">
-              <dict-tag :options="dict.type.pay_way_type" :value="scope.row.payWay"/>
+              <span v-if="scope.row.payWay == 'corporate' && scope.row.ifTeamCredit === 1">挂账支付</span>
+              <dict-tag v-else :options="dict.type.pay_way_type" :value="scope.row.payWay"/>
             </template>
           </el-table-column>
           <el-table-column label="还款状态" align="center" prop="repaymentStatus">