yumeng hai 1 ano
pai
achega
1831de398f

+ 39 - 16
src/api/jiaoyang/promoter.js

@@ -9,6 +9,21 @@ export function getPromoterList(query) {
   })
 }
 
+export function getExpertMentor(query) {
+  return request({
+    url: '/kuaishou/promoter/jyExpertMentorList',
+    method: 'get',
+    params: query
+  })
+}
+
+export function getExpertBusiness(query) {
+  return request({
+    url: '/kuaishou/promoter/jyExpertBusiness',
+    method: 'get',
+    params: query
+  })
+}
 
 
 // 获取达人列表
@@ -31,6 +46,14 @@ export function addPromoter(query) {
   })
 }
 
+export function editPromoter(query) {
+  return request({
+    url: '/kuaishou/promoter/edit3',
+    method: 'post',
+    data: query
+  })
+}
+
 
 // 删除达人
 export function deleteById(query) {
@@ -42,7 +65,6 @@ export function deleteById(query) {
 }
 
 
-
 //  素材认证列表
 export function getMaterialList(query) {
   return request({
@@ -55,44 +77,45 @@ export function getMaterialList(query) {
 // 素材验证
 export function fileCheck(parameter) {
   return request({
-      url: "/jy/material/checkMaterial",
-      method: 'get',
-      params: parameter
+    url: "/jy/material/checkMaterial",
+    method: 'get',
+    params: parameter
   })
 }
 
 // 素材上传
 export function addMaterials(parameter) {
   return request({
-      url: "/jy/material/addMaterials",
-      method: 'post',
-      data: parameter
+    url: "/jy/material/addMaterials",
+    method: 'post',
+    data: parameter
   })
 }
 
 // 修改素材状态
 export function editMaterialsStatus(parameter) {
   return request({
-      url: "/jy/material/edit",
-      method: 'put',
-      data: parameter
+    url: "/jy/material/edit",
+    method: 'put',
+    data: parameter
   })
 }
 
 // 获取违规词库
 export function getKeyWordList(parameter) {
   return request({
-      url: "/jy/material/getKeyWordList",
-      method: 'get',
-      params: parameter
+    url: "/jy/material/getKeyWordList",
+    method: 'get',
+    params: parameter
   })
 }
+
 // 添加违规词库
 export function insertKeyWord(parameter) {
   return request({
-      url: "/jy/material/insertKeyWord",
-      method: 'get',
-      params: parameter
+    url: "/jy/material/insertKeyWord",
+    method: 'get',
+    params: parameter
   })
 }
 

+ 16 - 1
src/api/jiaoyang/report.js

@@ -27,6 +27,15 @@ export function getItemDetail(query) {
   })
 }
 
+export function getJYOrderItemList(query) {
+  return request({
+    url: '/item/getJYOrderItemList',
+    method: 'get',
+    params: query
+  })
+}
+
+
 export function promoterReport(query) {
   return request({
     url: '/jy/report/promoter',
@@ -35,7 +44,6 @@ export function promoterReport(query) {
   })
 }
 
-
 export function getOrderDetail(query) {
   return request({
     url: '/jy/report/promoterDetail',
@@ -158,6 +166,13 @@ export function getHourGmv(query) {
     params: query
   })
 }
+export function getTypeData(query) {
+  return request({
+    url: '/jy/report/getTypeData',
+    method: 'get',
+    params: query
+  })
+}
 
 export function getAuthItemList(query) {
   return request({

+ 60 - 63
src/utils/request.js

@@ -1,28 +1,23 @@
 import axios from 'axios'
-import { Notification, MessageBox, Message, Loading } from 'element-ui'
+import {Notification, MessageBox, Message, Loading} from 'element-ui'
 import store from '@/store'
-import { getToken } from '@/utils/auth'
+import {getToken} from '@/utils/auth'
 import errorCode from '@/utils/errorCode'
-import { tansParams, blobValidate } from "@/utils/ruoyi";
+import {tansParams, blobValidate} from "@/utils/ruoyi";
 import cache from '@/plugins/cache'
-import { saveAs } from 'file-saver'
+import {saveAs} from 'file-saver'
 
 let downloadLoadingInstance;
 // 是否显示重新登录
-export let isRelogin = { show: false };
+export let isRelogin = {show: false};
 
 axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
 // 创建axios实例
 const service = axios.create({
-  // axios中请求配置有baseURL选项,表示请求URL公共部分
-  // http://ruixuan.api.tjyourong.com.cn 线上
-  // http://192.168.0.195:9003 测试
-  // http://192.168.1.181:9003 西
-  // http://192.168.1.211:9003 蒙蒙
-  //  baseURL: 'http://ruixuan.api.tjyourong.com.cn',
-   // baseURL: 'http://rocket.api.tjyourong.com.cn',
-   // baseURL: 'http://mgs.api.tjyourong.com.cn',
-   baseURL: 'http://127.0.0.1:9003',
+     baseURL: 'http://ruixuan.api.tjyourong.com.cn',
+  //   baseURL: 'http://rocket.api.tjyourong.com.cn',
+  //   baseURL: 'http://mgs.api.tjyourong.com.cn',
+  //     baseURL: 'http://127.0.0.1:9003',
   // 超时
   timeout: 300000
 })
@@ -74,59 +69,55 @@ service.interceptors.request.use(config => {
 
 // 响应拦截器
 service.interceptors.response.use(res => {
-  // 未设置状态码则默认成功状态
-  const code = res.data.code || 200;
-  // 获取错误信息
-  const msg = errorCode[code] || res.data.msg || errorCode['default']
-  // 二进制数据则直接返回
-  if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
-    return res.data
-  }
-  if (code === 401) {
-    if (!isRelogin.show) {
-      isRelogin.show = true;
-      MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
-        confirmButtonText: '重新登录',
-        cancelButtonText: '取消',
-        type: 'warning'
+    // 未设置状态码则默认成功状态
+    const code = res.data.code || 200;
+    // 获取错误信息
+    const msg = errorCode[code] || res.data.msg || errorCode['default']
+    // 二进制数据则直接返回
+    if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
+      return res.data
+    }
+    if (code === 401) {
+      if (!isRelogin.show) {
+        isRelogin.show = true;
+        MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
+            confirmButtonText: '重新登录',
+            cancelButtonText: '取消',
+            type: 'warning'
+          }
+        ).then(() => {
+          isRelogin.show = false;
+          store.dispatch('LogOut').then(() => {
+            location.href = '/index';
+          })
+        }).catch(() => {
+          isRelogin.show = false;
+        });
       }
-      ).then(() => {
-        isRelogin.show = false;
-        store.dispatch('LogOut').then(() => {
-          location.href = '/index';
-        })
-      }).catch(() => {
-        isRelogin.show = false;
-      });
+      return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
+    } else if (code === 500 || code === -1) {
+      Message({
+        message: res.data.message || res.data.msg,
+        type: 'error'
+      })
+      return Promise.reject(new Error(res.data.message || res.data.msg))
+    } else if (code !== 200) {
+      Notification.error({
+        title: res.message
+      })
+      return Promise.reject('error')
+    } else {
+      return res.data
     }
-    return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
-  }
-  else if (code === 500 || code === -1) {
-    Message({
-      message: res.data.message || res.data.msg,
-      type: 'error'
-    })
-    return Promise.reject(new Error(res.data.message || res.data.msg))
-  }
-  else if (code !== 200) {
-    Notification.error({
-      title: res.message
-    })
-    return Promise.reject('error')
-  } else {
-    return res.data
-  }
-},
+  },
   error => {
     console.log('err' + error)
-    let { message } = error;
+    let {message} = error;
     if (message == "Network Error") {
       message = "后端接口连接异常";
-    }
-    else if (message.includes("timeout")) {
+    } else if (message.includes("timeout")) {
       message = "系统接口请求超时";
-    }
-    else if (message.includes("Request failed with status code")) {
+    } else if (message.includes("Request failed with status code")) {
       message = "系统接口" + message.substr(message.length - 3) + "异常";
     }
     Message({
@@ -140,10 +131,16 @@ service.interceptors.response.use(res => {
 
 // 通用下载方法
 export function download(url, params, filename) {
-  downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", })
+  downloadLoadingInstance = Loading.service({
+    text: "正在下载数据,请稍候",
+    spinner: "el-icon-loading",
+    background: "rgba(0, 0, 0, 0.7)",
+  })
   return service.post(url, params, {
-    transformRequest: [(params) => { return tansParams(params) }],
-    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
+    transformRequest: [(params) => {
+      return tansParams(params)
+    }],
+    headers: {'Content-Type': 'application/x-www-form-urlencoded'},
     responseType: 'blob'
   }).then(async (data) => {
     const isLogin = await blobValidate(data);

+ 327 - 0
src/views/goodsManagement/qiePianItemList.vue

@@ -0,0 +1,327 @@
+<style scoped lang="scss">
+::v-deep a {
+  color: #409eff;
+  display: block;
+}
+</style>
+<template>
+  <div class="app-container">
+
+
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="100px"
+    >
+      <el-form-item label="商品名称" prop="itemTitle">
+        <el-input
+          v-model="queryParams.itemTitle"
+          placeholder="请输入商品名称"
+          clearable
+          style="width: 240px"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="选择日期">
+        <el-date-picker
+          v-model="uploadDate"
+          style="width: 240px"
+          value-format="yyyy-MM-dd"
+          format="yyyy-MM-dd"
+          type="daterange"
+          range-separator="-"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+        ></el-date-picker>
+      </el-form-item>
+
+      <el-form-item>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+        >搜索
+        </el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+        >重置
+        </el-button
+        >
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          :loading="downLoadLoading"
+        >导出
+        </el-button
+        >
+      </el-form-item>
+    </el-form>
+    <div class="tableBox">
+      <el-table
+        v-loading="loading"
+        :data="typeList"
+        @selection-change="handleSelectionChange"
+        ref="multipleTable"
+      >
+        <!-- <el-table-column type="selection" width="55" align="center" /> -->
+        <el-table-column
+          label="商品信息"
+          align="left"
+          prop="itemTitle"
+          width="300"
+        >
+          <template slot-scope="scope">
+            <div style="display: flex; width: 100%">
+              <div style="width: 40%">
+                <img
+                  :src="scope.row.imageUrl"
+                  alt=""
+                  style="width: 90px; height: auto"
+                />
+              </div>
+              <div style="width: 60%" class="item-name-calss">
+                <a
+                  style="
+                    text-overflow: ellipsis;
+                    white-space: nowrap;
+                    overflow: hidden;
+                    width: 100%;
+                  "
+                  :title="scope.row.itemTitle"
+                >
+                  {{ scope.row.itemTitle }}
+                </a>
+                <p>商品Id:{{ scope.row.itemId }}</p>
+                <p>商品单价:{{ scope.row.reservePrice }}</p>
+              </div>
+            </div>
+          </template>
+        </el-table-column>
+
+        <el-table-column label="佣金率" align="center" prop="commissionRate">
+          <template slot-scope="scope">
+            <div v-if="!!scope.row.commissionRate">
+              {{
+                scope.row.commissionRate
+                  ? scope.row.commissionRate
+                  : "-"
+              }}
+            </div>
+            <div v-else>-</div>
+          </template>
+        </el-table-column>
+        <el-table-column label="服务费率" align="center" prop="regimentalPromotionRate">
+          <template slot-scope="scope">
+            {{
+              scope.row.regimentalPromotionRate
+                ? scope.row.regimentalPromotionRate
+                : "-"
+            }}
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="预估服务费收入"
+          align="center"
+          prop="regimentalPromotionAmount"
+        >
+        </el-table-column>
+        <el-table-column
+          label="首次出单日期"
+          align="center"
+          prop="firstOrderTime"
+        >
+        </el-table-column>
+      </el-table>
+    </div>
+
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+  </div>
+</template>
+
+<script>
+import {
+  listType,
+  getType,
+  delType,
+  addType,
+  updateType,
+  refreshCache,
+} from "@/api/system/dict/type";
+import {getJYOrderItemList} from "@/api/jiaoyang/report";
+import {downFile} from "@/api/bytedance/bytedance";
+
+export default {
+  name: "Index",
+  dicts: ["sys_normal_disable"],
+  data() {
+    return {
+      downLoadLoading: false,
+      dialogTableVisible: false,
+      logPage: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      logData: [],
+      logTotal: 0,
+      logLoading: false,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 字典表格数据
+      typeList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 分配销售
+      openAllocation: false,
+      // 选择的销售id
+      saleId: undefined,
+      // 获取用户id
+      userId: undefined,
+      // 销售列表
+      saleList: [],
+      // 分配销售确定loading
+      confirmLoadingSale: false,
+      // 日期范围
+      dateRange: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        promoterId: undefined,
+        promoterNickName: undefined,
+        orderStartDate: undefined,
+        orderEndDate: undefined,
+
+      },
+      uploadDate: [],
+      //查询参数所用下拉数据
+      queryParamsList: {
+        typeList: [
+          {value: 1, label: "自营"},
+          {value: 2, label: "分销"},
+        ],
+      },
+    };
+  },
+  created() {
+    this.userId = this.$store.getters.userId;
+    /*    let date = new Date();
+        let y = date.getFullYear();
+        let MM = date.getMonth() + 1;
+        MM = MM < 10 ? "0" + MM : MM;
+        let dd = date.getDate();
+        dd = dd < 10 ? "0" + dd : dd;*/
+    this.uploadDate = [];
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.getList();
+    });
+  },
+
+  filters: {},
+  methods: {
+    /** 导出按钮操作 */
+    handleExport() {
+      this.downLoadLoading = true;
+      downFile(
+        "/item/excelJYOrderItemList",
+        this.addDateRange(
+          {
+            ...this.queryParams
+          },
+          this.uploadDate,
+          "startDate",
+          "endDate"
+        )
+      ).then((res) => {
+        let blob = new Blob([res], {
+          type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+        });
+        let downloadElement = document.createElement("a");
+        let href = window.URL.createObjectURL(blob); //创建下载的链接
+        downloadElement.href = href;
+        downloadElement.download = `达人报表${this.uploadDate[0]}-${this.uploadDate[1]}.xlsx`; //下载后文件名
+        document.body.appendChild(downloadElement);
+        downloadElement.click(); //点击下载
+        document.body.removeChild(downloadElement); //下载完成移除元素
+        window.URL.revokeObjectURL(href); //释放掉blob对象
+        this.downLoadLoading = false;
+      });
+    },
+
+    /** 查询字典类型列表 */
+    getList() {
+      this.loading = true;
+      this.userId = this.$store.getters.userId;
+      this.queryParams.userId = this.userId;
+      getJYOrderItemList(
+        this.addDateRange(
+          this.queryParams,
+          this.uploadDate,
+          "startDate",
+          "endDate"
+        )
+      ).then((response) => {
+        this.typeList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.confirmLoading = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {};
+      this.dateFile = null;
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
+      this.uploadDate = [];
+      this.resetForm("queryForm");
+      this.queryParams.pageNum = 1;
+      this.queryParams.type = undefined;
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map((item) => item.id);
+    },
+  },
+};
+</script>

+ 66 - 51
src/views/index.vue

@@ -20,7 +20,8 @@
           size="mini"
           @click="handleQuery"
           style="margin-left: 15px"
-          >搜索</el-button
+        >搜索
+        </el-button
         >
       </div>
 
@@ -46,9 +47,9 @@
               <div style="margin-right: 20px">
                 <p class="p-main-data">
                   数据对比:<i
-                    :style="ratioData.orderTotalRatio > 0 ? 'color:red' : 'color:green'"
-                    >{{ (ratioData.orderTotalRatio * 100).toFixed(2) + "%" }}</i
-                  >
+                  :style="ratioData.orderTotalRatio > 0 ? 'color:red' : 'color:green'"
+                >{{ (ratioData.orderTotalRatio * 100).toFixed(2) + "%" }}</i
+                >
                 </p>
               </div>
               <div
@@ -64,8 +65,8 @@
               <div :style="dateType == 0 ? '' : 'visibility: hidden'">
                 <p class="p-main-data">
                   日环比:<i :style="order.ringRatio > 0 ? 'color:red' : 'color:green'"
-                    >{{ (order.ringRatio * 100).toFixed(2) + "%" }}
-                  </i>
+                >{{ (order.ringRatio * 100).toFixed(2) + "%" }}
+                </i>
                 </p>
               </div>
             </div>
@@ -98,9 +99,9 @@
               <div style="margin-right: 20px">
                 <p class="p-main-data">
                   数据对比:<i
-                    :style="ratioData.orderAmountRatio > 0 ? 'color:red' : 'color:green'"
-                    >{{ (ratioData.orderAmountRatio * 100).toFixed(2) + "%" }}</i
-                  >
+                  :style="ratioData.orderAmountRatio > 0 ? 'color:red' : 'color:green'"
+                >{{ (ratioData.orderAmountRatio * 100).toFixed(2) + "%" }}</i
+                >
                 </p>
               </div>
               <div
@@ -113,18 +114,18 @@
                     :style="
                       regimentalPromotion.yearRatio > 0 ? 'color:red' : 'color:green'
                     "
-                    >{{ (regimentalPromotion.yearRatio * 100).toFixed(2) + "%" }}
+                  >{{ (regimentalPromotion.yearRatio * 100).toFixed(2) + "%" }}
                   </i>
                 </p>
               </div>
               <div :style="dateType == 0 ? '' : 'visibility: hidden'">
                 <p class="p-main-data">
                   日环比:<i
-                    :style="
+                  :style="
                       regimentalPromotion.ringRatio > 0 ? 'color:red' : 'color:green'
                     "
-                    >{{ (regimentalPromotion.ringRatio * 100).toFixed(2) + "%" }}</i
-                  >
+                >{{ (regimentalPromotion.ringRatio * 100).toFixed(2) + "%" }}</i
+                >
                 </p>
               </div>
             </div>
@@ -175,7 +176,7 @@
           >
             <div slot="header" class="clearfix">
               <span style="font-size: 16px; font-weight: bold; float: left"
-                >订单统计</span
+              >订单统计</span
               >
               <el-select
                 v-model="echartsType"
@@ -184,11 +185,11 @@
                 style="width: 240px; float: right; padding: 3px 0"
                 @change="changeEchartsType"
               >
-                <el-option label="订单数" value="orderNum" />
-                <el-option label="有效订单数" value="validOrderNum" />
-                <el-option label="订单金额" value="orderAmount" />
-                <el-option label="货款基数" value="baseAmount" />
-                <el-option label="发货数" value="deliveryNum" />
+                <el-option label="订单数" value="orderNum"/>
+                <el-option label="有效订单数" value="validOrderNum"/>
+                <el-option label="订单金额" value="orderAmount"/>
+                <el-option label="货款基数" value="baseAmount"/>
+                <el-option label="发货数" value="deliveryNum"/>
               </el-select>
             </div>
             <!-- <el-date-picker
@@ -221,18 +222,19 @@
           >
             <div slot="header" class="clearfix">
               <span style="font-size: 16px; font-weight: bold; float: left"
-                >商品排行榜</span
+              >商品排行榜</span
               >
               <el-button
                 style="float: right; padding: 3px 0"
                 type="text"
                 @click="toOrderList"
-                >更多>></el-button
+              >更多>>
+              </el-button
               >
             </div>
             <el-table v-loading="orderRankLoading" :data="orderRankList">
               <!-- <el-table-column type="selection" width="55" align="center" /> -->
-              <el-table-column type="index" :index="indexMethod"> </el-table-column>
+              <el-table-column type="index" :index="indexMethod"></el-table-column>
               <el-table-column label="商品名称" align="center" prop="itemTitle">
                 <template slot-scope="scope">
                   <a
@@ -272,8 +274,8 @@
               <el-table-column label="日涨幅" align="center" prop="radio">
                 <template slot-scope="scope">
                   <i :style="scope.row.radio > 0 ? 'color:red' : 'color:green'">{{
-                    scope.row.radio ? (scope.row.radio * 100).toFixed(2) + "%" : "-"
-                  }}</i>
+                      scope.row.radio ? (scope.row.radio * 100).toFixed(2) + "%" : "-"
+                    }}</i>
                 </template>
               </el-table-column>
             </el-table>
@@ -296,13 +298,14 @@
           >
             <div slot="header" class="clearfix">
               <span style="font-size: 16px; font-weight: bold; float: left"
-                >达人排行榜</span
+              >达人排行榜</span
               >
               <el-button
                 style="float: right; padding: 3px 0"
                 type="text"
                 @click="toPersonList"
-                >更多>></el-button
+              >更多>>
+              </el-button
               >
             </div>
             <el-table v-loading="promoterLoading" :data="promoterRankList">
@@ -343,8 +346,8 @@
               <el-table-column label="日涨幅" align="center" prop="radio">
                 <template slot-scope="scope">
                   <i :style="scope.row.radio > 0 ? 'color:red' : 'color:green'">{{
-                    scope.row.radio ? (scope.row.radio * 100).toFixed(2) + "%" : "-"
-                  }}</i>
+                      scope.row.radio ? (scope.row.radio * 100).toFixed(2) + "%" : "-"
+                    }}</i>
                 </template>
               </el-table-column>
             </el-table>
@@ -362,9 +365,9 @@
       </el-row>
     </div>
 
-    <staging v-else-if="showOld == 2" />
-    <operationHome v-else-if="showOld == 3" />
-    <jiaoyang v-else-if="showOld == 4" />
+    <staging v-else-if="showOld == 2"/>
+    <operationHome v-else-if="showOld == 3"/>
+    <jiaoyang v-else-if="showOld == 4"/>
   </div>
 </template>
 
@@ -381,6 +384,7 @@ import {
 import staging from "./staging.vue";
 import jiaoyang from "./jiaoyang/jyHome.vue";
 import operationHome from "./report/operationHome.vue";
+
 var echarts = require("echarts");
 export default {
   name: "Index",
@@ -449,7 +453,7 @@ export default {
       orderRankList: [],
       orderRankLoading: false,
       orderTotal: 0,
-      queryParams: { pageNum: 1, pageSize: 10, promoterPageNum: 1 },
+      queryParams: {pageNum: 1, pageSize: 10, promoterPageNum: 1},
       promoterRankList: [],
       promoterLoading: false,
       promoterTotal: 0,
@@ -556,18 +560,21 @@ export default {
       this.$store.getters.roles[0] == "supplyChainAdmin"
         ? 2
         : this.$store.getters.roles[0] == "operations" ||
-          this.$store.getters.roles[0] == "operationsManager" ||
-          this.$store.getters.roles[0] == "directorOperations" ||
-          this.$store.getters.roles[0] == "operator"
-        ? 3
-        : this.$store.getters.roles[0] == "jy_bd_manage" ||
-        this.$store.getters.roles[0] == "jy_bd" ||
-        this.$store.getters.roles[0] == "jy_scissors_manage" ||
-        this.$store.getters.roles[0] == "jy_admnin" ||
-        this.$store.getters.roles[0] == "jy_scissors" || this.$store.getters.roles[0] == "jy_out_operation"
-
-          ? 4
-        : 1;
+        this.$store.getters.roles[0] == "operationsManager" ||
+        this.$store.getters.roles[0] == "directorOperations" ||
+        this.$store.getters.roles[0] == "operator"
+          ? 3
+          : this.$store.getters.roles[0] == "jy_bd_manage" ||
+          this.$store.getters.roles[0] == "jy_bd" ||
+          this.$store.getters.roles[0] == "jy_scissors_manage" ||
+          this.$store.getters.roles[0] == "jy_admnin" ||
+          this.$store.getters.roles[0] == "jy_scissors" ||
+          this.$store.getters.roles[0] == "jy_out_operation" ||
+          this.$store.getters.roles[0] == "jy_out_operation_manager" ||
+          this.$store.getters.roles[0] == "jy_expert_business" ||
+          this.$store.getters.roles[0] == "jy_expert_mentor"
+            ? 4
+            : 1;
   },
   mounted() {
     if (this.showOld) {
@@ -761,7 +768,7 @@ export default {
       this.totalOneLoading = true;
       getIndexOrderInfo(
         this.addDateRange(
-          { dateType: this.dateType },
+          {dateType: this.dateType},
           this.uploadDate,
           "orderStartDate",
           "orderEndDate"
@@ -782,7 +789,7 @@ export default {
       this.totalThreeLoading = true;
       getIndexServiceAmountInfo(
         this.addDateRange(
-          { dateType: this.dateType },
+          {dateType: this.dateType},
           this.uploadDate,
           "orderStartDate",
           "orderEndDate"
@@ -800,7 +807,7 @@ export default {
       this.totalTwoLoading = true;
       getIndexAmountInfo(
         this.addDateRange(
-          { dateType: this.dateType },
+          {dateType: this.dateType},
           this.uploadDate,
           "orderStartDate",
           "orderEndDate"
@@ -938,10 +945,10 @@ export default {
         m == 0
           ? num.toFixed(m) + "."
           : hasDot
-          ? n
-            ? num.toFixed(n)
-            : num
-          : num.toFixed(m);
+            ? n
+              ? num.toFixed(n)
+              : num
+            : num.toFixed(m);
       symbol = symbol || ",";
       num = num.toString().replace(/(\d)(?=(\d{3})+\.)/g, function (match, p1, p2) {
         return p1 + symbol;
@@ -959,20 +966,24 @@ export default {
 <style scoped lang="scss">
 .top-sum {
   margin-bottom: 15px;
+
   ::v-deep .card-show {
     text-align: center;
+
     .p-title {
       width: 100%;
       font-size: 16px;
       color: darkgray;
       text-align: left;
     }
+
     .p-main {
       width: 100%;
       font-size: 22px;
       font-weight: bold;
       text-align: left;
     }
+
     .p-main-data {
       width: 100%;
       color: darkgray;
@@ -982,9 +993,11 @@ export default {
     }
   }
 }
+
 ::v-deep .el-form-item__label {
   white-space: nowrap;
 }
+
 ::v-deep a {
   color: #409eff;
   display: block;
@@ -999,12 +1012,14 @@ export default {
     font-size: 17.5px;
     border-left: 5px solid #eee;
   }
+
   hr {
     margin-top: 20px;
     margin-bottom: 20px;
     border: 0;
     border-top: 1px solid #eee;
   }
+
   .col-item {
     margin-bottom: 20px;
   }

+ 74 - 46
src/views/jiaoyang/jyHome.vue

@@ -69,7 +69,7 @@
               </p>
             </div>
           </div>
-          <!-- ringRatio: 0, -->
+
         </el-card>
       </el-col>
       <el-col :span="12">
@@ -90,7 +90,7 @@
             <div style="flex: 1">
               <p class="p-title">预估佣金收入</p>
               <p class="p-main"
-                 v-if=" this.$store.getters.roles[0] == 'jy_admnin' || this.$store.getters.roles[0] == 'admnin' || this.$store.getters.roles[0] == 'jy_out_operation' ">
+                 v-if=" this.$store.getters.roles[0] == 'jy_admnin' || this.$store.getters.roles[0] == 'admnin' || this.$store.getters.roles[0] == 'jy_out_operation' || this.$store.getters.roles[0] == 'jy_out_operation_manager' ">
                 {{ priceFormat(regimentalPromotion.complete) }}
               </p>
               <p class="p-main" v-else>
@@ -165,9 +165,32 @@
               <p class="p-main-data">日环比:{{ order.ringRatio }}</p>
             </div>
           </div>
-          <!-- ringRatio: 0, -->
         </el-card>
       </el-col>
+
+
+      <el-col :span="12" style="margin-top: 24px" v-if="this.$store.getters.roles[0] == 'jy_admnin'">
+        <el-card shadow="never" class="card-show" v-loading="typeDataLoading">
+          <div style="display: flex; width: 100%; margin-bottom: 15px">
+            <div style="flex: 1">
+              <p class="p-title">单量</p>
+              <p class="p-main" title="自营">{{ typeData.selfOrderNum }} <br/> {{ typeData.disOrderNum }}</p>
+
+            </div>
+            <div style="flex: 1">
+              <p class="p-title">GMV</p>
+              <p class="p-main">{{ typeData.selfGmv }} <br/> {{ typeData.disGmv }}</p>
+
+            </div>
+            <div style="flex: 1">
+              <p class="p-title">毛利</p>
+              <p class="p-main">{{ typeData.selfGrossProfit }} <br/> {{ typeData.disGrossProfit }} </p>
+            </div>
+          </div>
+        </el-card>
+      </el-col>
+
+
     </el-row>
     <el-row class="top-sum" :gutter="24" style="margin-top: 24px"
             v-if="this.$store.getters.roles[0] == 'jy_admnin' || this.$store.getters.roles[0] == 'admnin'">
@@ -183,18 +206,6 @@
               >分时数据</span
               >
           </div>
-          <!-- <el-date-picker
-          v-model="uploadDateEcharts"
-          style="width: 240px; float: left"
-          value-format="yyyy-MM-dd"
-          format="yyyy-MM-dd"
-          type="daterange"
-          range-separator="-"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :picker-options="pickerOptions"
-          @change="getAllEchartsData"
-        ></el-date-picker> -->
           <div
             id="hourEchart"
             ref="hourEchart"
@@ -231,18 +242,6 @@
               <el-option label="发货数" value="deliveryNum"/>
             </el-select>
           </div>
-          <!-- <el-date-picker
-          v-model="uploadDateEcharts"
-          style="width: 240px; float: left"
-          value-format="yyyy-MM-dd"
-          format="yyyy-MM-dd"
-          type="daterange"
-          range-separator="-"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :picker-options="pickerOptions"
-          @change="getAllEchartsData"
-        ></el-date-picker> -->
           <div
             id="echart"
             ref="echart"
@@ -254,7 +253,7 @@
 
 
     <el-row class="top-sum" :gutter="24" style="margin-top: 24px"
-            v-if="this.$store.getters.roles[0] != 'jy_out_operation'">
+            v-if="this.$store.getters.roles[0] != 'jy_out_operation' && this.$store.getters.roles[0] != 'jy_out_operation_manager'">
       <el-col :span="12">
         <el-card
           shadow="never"
@@ -265,12 +264,6 @@
               <span style="font-size: 16px; font-weight: bold; float: left"
               >商品排行榜</span
               >
-            <!-- <el-button
-               style="float: right; padding: 3px 0"
-               type="text"
-               @click="toOrderList"
-             >更多>></el-button
-             >-->
           </div>
           <el-table v-loading="orderRankLoading" :data="orderRankList">
             <!-- <el-table-column type="selection" width="55" align="center" /> -->
@@ -279,7 +272,11 @@
               <template slot-scope="scope">
                 <a
                   :title="scope.row.itemTitle"
-                  style="text-overflow: ellipsis; white-space: nowrap; overflow: hidden"
+                  style="  width: 200px;
+                  text-overflow: ellipsis;
+                  white-space: nowrap;
+                  overflow: hidden;
+                  text-align: left;"
                 >
                   {{ scope.row.itemTitle }}
                 </a>
@@ -298,17 +295,9 @@
                 }}
               </template>
             </el-table-column>
-            <!--            <el-table-column label="发货数" align="center" prop="deliveryNum">
-                        </el-table-column>
-                        <el-table-column label="发货率" align="center" prop="deliveryRadio">
-                          <template slot-scope="scope">
-                            {{
-                            scope.row.deliveryRadio
-                            ? (scope.row.deliveryRadio * 100).toFixed(2) + "%"
-                            : "-"
-                            }}
-                          </template>
-                        </el-table-column>-->
+            <el-table-column
+             v-if="this.$store.getters.roles[0] != 'jy_out_operation' && this.$store.getters.roles[0] != 'jy_out_operation_manager'"
+              label="毛利率" align="center" prop="grossMargin" ></el-table-column>
 
             <el-table-column label="日涨幅" align="center" prop="radio">
               <template slot-scope="scope">
@@ -414,6 +403,7 @@ import {
   getIndexStatistics, //echarts图表
   getTimeRatio, //时间段对比
   getHourGmv, //分时数据
+  getTypeData //自营分销数据
 } from "@/api/jiaoyang/report";
 
 var echarts = require("echarts");
@@ -455,6 +445,16 @@ export default {
         deliveryRadio: 0,
         noStarted: 0,
       },
+
+      typeData: {
+        selfOrderNum: 0,
+        selfGmv: 0,
+        selfGrossProfit: 0,
+        disOrderNum: 0,
+        disGmv: 0,
+        disGrossProfit: 0
+      },
+
       order: {
         orderNum: 0,
         validOrderNUm: 0,
@@ -487,6 +487,7 @@ export default {
       totalOneLoading: false,
       totalTwoLoading: false,
       totalThreeLoading: false,
+      typeDataLoading: false,
       echartsType: "orderNum",
       echartsLoading: false,
       pickerOptions: {
@@ -585,6 +586,7 @@ export default {
     this.getIndexStatistics();
     this.getTimeRatio();
     this.getHourGmv();
+    this.getTypeData();
   },
   methods: {
     getAllEchartsData(e) {
@@ -775,6 +777,31 @@ export default {
       });
     },
 
+
+    getTypeData() {
+      this.typeDataLoading = true;
+      getTypeData(
+        this.addDateRange(
+          {userId: this.userId, dateType: this.dateType},
+          this.uploadDate,
+          "orderStartDate",
+          "orderEndDate"
+        )
+      ).then((response) => {
+        console.log(response)
+        this.typeDataLoading = false;
+        this.typeData = {
+          selfOrderNum: response.data.selfOrderNum,
+          selfGmv: response.data.selfGmv,
+          selfGrossProfit: response.data.selfGrossProfit,
+          disOrderNum: response.data.disOrderNum,
+          disGmv: response.data.disGmv,
+          disGrossProfit: response.data.disGrossProfit
+        };
+      });
+    },
+
+
     getIndexServiceAmountInfo() {
       this.totalThreeLoading = true;
       getIndexServiceAmountInfo(
@@ -944,6 +971,7 @@ export default {
         this.getIndexOrderRank();
         this.getIndexStatistics();
         this.getTimeRatio();
+        this.getTypeData();
       } else {
         this.$message({
           message: "请选择时间",

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 562 - 535
src/views/jiaoyang/jyPromoterList.vue


+ 221 - 221
src/views/jiaoyang/jyPromoterReport.vue

@@ -1,8 +1,8 @@
 <style scoped lang="scss">
-  ::v-deep a {
-    color: #409eff;
-    display: block;
-  }
+::v-deep a {
+  color: #409eff;
+  display: block;
+}
 </style>
 <template>
   <div class="app-container">
@@ -50,7 +50,7 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="选择日期" >
+      <el-form-item label="选择日期">
         <el-date-picker
           v-model="uploadDate"
           style="width: 240px"
@@ -76,16 +76,16 @@
         >重置
         </el-button
         >
-         <el-button
-           type="warning"
-           plain
-           icon="el-icon-download"
-           size="mini"
-           @click="handleExport"
-           :loading="downLoadLoading"
-         >导出
-         </el-button
-         >
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          :loading="downLoadLoading"
+        >导出
+        </el-button
+        >
       </el-form-item>
     </el-form>
     <div class="tableBox">
@@ -130,7 +130,7 @@
           </template>
         </el-table-column>
 
-        <el-table-column label="类型" align="center" prop="mediaId" >
+        <el-table-column label="类型" align="center" prop="mediaId">
           <template slot-scope="scope">
             <div v-if="!!scope.row.type">
               {{ scope.row.type | typeStatusName }}
@@ -141,22 +141,22 @@
         <el-table-column label="绑定人" align="center" prop="userName">
           <template slot-scope="scope">
             {{
-            scope.row.userName
-            ? scope.row.userName
-            : "-"
+              scope.row.userName
+                ? scope.row.userName
+                : "-"
             }}
           </template>
         </el-table-column>
         <el-table-column
-          label="挂车数"
+          label="导师"
           align="center"
-          prop="videoCount"
+          prop="expertMentorName"
         >
         </el-table-column>
         <el-table-column
-          label="曝光数"
+          label="商务"
           align="center"
-          prop="videoShow"
+          prop="expertBusinessName"
         >
         </el-table-column>
         <el-table-column
@@ -177,9 +177,9 @@
         >
           <template slot-scope="scope">
             {{
-            scope.row.validRadio
-            ? (scope.row.validRadio * 100).toFixed(2) + "%"
-            : "-"
+              scope.row.validRadio
+                ? (scope.row.validRadio * 100).toFixed(2) + "%"
+                : "-"
             }}
           </template>
         </el-table-column>
@@ -187,7 +187,7 @@
         <el-table-column label="GMV" align="center" prop="payAmount">
           <template slot-scope="scope">
             {{
-            scope.row.payAmount ? (scope.row.payAmount / 100).toFixed(2) : "-"
+              scope.row.payAmount ? (scope.row.payAmount / 100).toFixed(2) : "-"
             }}
           </template>
         </el-table-column>
@@ -195,7 +195,7 @@
         <el-table-column label="GMV(有效)" align="center" prop="validPayAmount" width="100">
           <template slot-scope="scope">
             {{
-            scope.row.validPayAmount ? (scope.row.validPayAmount / 100).toFixed(2) : "-"
+              scope.row.validPayAmount ? (scope.row.validPayAmount / 100).toFixed(2) : "-"
             }}
           </template>
         </el-table-column>
@@ -213,9 +213,9 @@
         >
           <template slot-scope="scope">
             {{
-            scope.row.deliveryRadio
-            ? (scope.row.deliveryRadio * 100).toFixed(2) + "%"
-            : "-"
+              scope.row.deliveryRadio
+                ? (scope.row.deliveryRadio * 100).toFixed(2) + "%"
+                : "-"
             }}
           </template>
         </el-table-column>
@@ -254,83 +254,192 @@
 </template>
 
 <script>
-  import {
-    listType,
-    getType,
-    delType,
-    addType,
-    updateType,
-    refreshCache,
-  } from "@/api/system/dict/type";
-  import {promoterReport} from "@/api/jiaoyang/report";
-  import {downFile} from "@/api/bytedance/bytedance";
+import {
+  listType,
+  getType,
+  delType,
+  addType,
+  updateType,
+  refreshCache,
+} from "@/api/system/dict/type";
+import {promoterReport} from "@/api/jiaoyang/report";
+import {downFile} from "@/api/bytedance/bytedance";
 
-  export default {
-    name: "Index",
-    dicts: ["sys_normal_disable"],
-    data() {
-      return {
-        downLoadLoading: false,
-        dialogTableVisible: false,
-        logPage: {
-          pageNum: 1,
-          pageSize: 10,
-        },
-        logData: [],
-        logTotal: 0,
-        logLoading: false,
-        // 遮罩层
-        loading: true,
-        // 选中数组
-        ids: [],
-        // 非单个禁用
-        single: true,
-        // 非多个禁用
-        multiple: true,
-        // 显示搜索条件
-        showSearch: true,
-        // 总条数
-        total: 0,
-        // 字典表格数据
-        typeList: [],
-        // 弹出层标题
-        title: "",
-        // 是否显示弹出层
-        open: false,
-        // 分配销售
-        openAllocation: false,
-        // 选择的销售id
-        saleId: undefined,
-        // 获取用户id
-        userId: undefined,
-        // 销售列表
-        saleList: [],
-        // 分配销售确定loading
-        confirmLoadingSale: false,
-        // 日期范围
-        dateRange: [],
-        // 查询参数
-        queryParams: {
-          pageNum: 1,
-          pageSize: 10,
-          promoterId: undefined,
-          promoterNickName: undefined,
-          orderStartDate: undefined,
-          orderEndDate: undefined,
+export default {
+  name: "Index",
+  dicts: ["sys_normal_disable"],
+  data() {
+    return {
+      downLoadLoading: false,
+      dialogTableVisible: false,
+      logPage: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      logData: [],
+      logTotal: 0,
+      logLoading: false,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 字典表格数据
+      typeList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 分配销售
+      openAllocation: false,
+      // 选择的销售id
+      saleId: undefined,
+      // 获取用户id
+      userId: undefined,
+      // 销售列表
+      saleList: [],
+      // 分配销售确定loading
+      confirmLoadingSale: false,
+      // 日期范围
+      dateRange: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        promoterId: undefined,
+        promoterNickName: undefined,
+        orderStartDate: undefined,
+        orderEndDate: undefined,
 
-        },
-        uploadDate: [new Date(), new Date()],
-        //查询参数所用下拉数据
-        queryParamsList: {
-          typeList: [
-            {value: 1, label: "自营"},
-            {value: 2, label: "分销"},
-          ],
-        },
+      },
+      uploadDate: [new Date(), new Date()],
+      //查询参数所用下拉数据
+      queryParamsList: {
+        typeList: [
+          {value: 1, label: "自营"},
+          {value: 2, label: "分销"},
+        ],
+      },
+    };
+  },
+  created() {
+    this.userId = this.$store.getters.userId;
+    let date = new Date();
+    let y = date.getFullYear();
+    let MM = date.getMonth() + 1;
+    MM = MM < 10 ? "0" + MM : MM;
+    let dd = date.getDate();
+    dd = dd < 10 ? "0" + dd : dd;
+    this.uploadDate = [`${y}-${MM}-${dd}`, `${y}-${MM}-${dd}`];
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.getList();
+    });
+  },
+
+  filters: {
+    typeStatusName(status) {
+      const statusMap = {
+        1: "自营",
+        2: "分销",
       };
+      return statusMap[status];
     },
-    created() {
+
+  },
+  methods: {
+    /** 导出按钮操作 */
+    handleExport() {
+      this.downLoadLoading = true;
+      downFile(
+        "/jy/report/exportPromoter",
+        this.addDateRange(
+          {
+            ...this.queryParams,
+            collectSampleId: !!this.$route.query.id
+              ? this.$route.query.id
+              : this.$store.getters.remark == "管理员"
+                ? null
+                : this.$store.getters.userId,
+          },
+          this.uploadDate,
+          "orderStartDate",
+          "orderEndDate"
+        )
+      ).then((res) => {
+        let blob = new Blob([res], {
+          type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+        });
+        let downloadElement = document.createElement("a");
+        let href = window.URL.createObjectURL(blob); //创建下载的链接
+        downloadElement.href = href;
+        downloadElement.download = `达人报表${this.uploadDate[0]}-${this.uploadDate[1]}.xlsx`; //下载后文件名
+        document.body.appendChild(downloadElement);
+        downloadElement.click(); //点击下载
+        document.body.removeChild(downloadElement); //下载完成移除元素
+        window.URL.revokeObjectURL(href); //释放掉blob对象
+        this.downLoadLoading = false;
+      });
+    },
+
+
+    toPromoterDetail(item) {
+      this.$router.replace({
+        path: "/jiaoyang/jyPromoterDetailsReport",
+        query: {
+          id: item.promoterId,
+          name: item.promoterNickName,
+          orderStartDate: this.uploadDate[0],
+          orderEndDate: this.uploadDate[1],
+        },
+      });
+    },
+    /** 查询字典类型列表 */
+    getList() {
+      this.loading = true;
       this.userId = this.$store.getters.userId;
+      this.queryParams.userId = this.userId;
+      promoterReport(
+        this.addDateRange(
+          this.queryParams,
+          this.uploadDate,
+          "orderStartDate",
+          "orderEndDate"
+        )
+      ).then((response) => {
+        this.typeList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.confirmLoading = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {};
+      this.dateFile = null;
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
       let date = new Date();
       let y = date.getFullYear();
       let MM = date.getMonth() + 1;
@@ -338,124 +447,15 @@
       let dd = date.getDate();
       dd = dd < 10 ? "0" + dd : dd;
       this.uploadDate = [`${y}-${MM}-${dd}`, `${y}-${MM}-${dd}`];
+      this.resetForm("queryForm");
+      this.queryParams.pageNum = 1;
+      this.queryParams.type = undefined;
+      this.handleQuery();
     },
-    mounted() {
-      this.$nextTick(() => {
-        this.getList();
-      });
-    },
-
-    filters: {
-      typeStatusName(status) {
-        const statusMap = {
-          1: "自营",
-          2: "分销",
-        };
-        return statusMap[status];
-      },
-
-    },
-    methods: {
-      /** 导出按钮操作 */
-      handleExport() {
-        this.downLoadLoading = true;
-        downFile(
-          "/jy/report/exportPromoter",
-          this.addDateRange(
-            {
-              ...this.queryParams,
-              collectSampleId: !!this.$route.query.id
-                ? this.$route.query.id
-                : this.$store.getters.remark == "管理员"
-                  ? null
-                  : this.$store.getters.userId,
-            },
-            this.uploadDate,
-            "orderStartDate",
-            "orderEndDate"
-          )
-        ).then((res) => {
-          let blob = new Blob([res], {
-            type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
-          });
-          let downloadElement = document.createElement("a");
-          let href = window.URL.createObjectURL(blob); //创建下载的链接
-          downloadElement.href = href;
-          downloadElement.download = `达人报表${this.uploadDate[0]}-${this.uploadDate[1]}.xlsx`; //下载后文件名
-          document.body.appendChild(downloadElement);
-          downloadElement.click(); //点击下载
-          document.body.removeChild(downloadElement); //下载完成移除元素
-          window.URL.revokeObjectURL(href); //释放掉blob对象
-          this.downLoadLoading = false;
-        });
-      },
-
-
-      toPromoterDetail(item) {
-        this.$router.replace({
-          path: "/jiaoyang/jyPromoterDetailsReport",
-          query: {
-            id: item.promoterId,
-            name: item.promoterNickName,
-            orderStartDate: this.uploadDate[0],
-            orderEndDate: this.uploadDate[1],
-          },
-        });
-      },
-      /** 查询字典类型列表 */
-      getList() {
-        this.loading = true;
-        this.userId = this.$store.getters.userId;
-        this.queryParams.userId = this.userId;
-        promoterReport(
-          this.addDateRange(
-            this.queryParams,
-            this.uploadDate,
-            "orderStartDate",
-            "orderEndDate"
-          )
-        ).then((response) => {
-          this.typeList = response.rows;
-          this.total = response.total;
-          this.loading = false;
-        });
-      },
-      // 取消按钮
-      cancel() {
-        this.open = false;
-        this.confirmLoading = false;
-        this.reset();
-      },
-      // 表单重置
-      reset() {
-        this.form = {};
-        this.dateFile = null;
-        this.resetForm("form");
-      },
-      /** 搜索按钮操作 */
-      handleQuery() {
-        this.queryParams.pageNum = 1;
-        this.getList();
-      },
-      /** 重置按钮操作 */
-      resetQuery() {
-        this.dateRange = [];
-        let date = new Date();
-        let y = date.getFullYear();
-        let MM = date.getMonth() + 1;
-        MM = MM < 10 ? "0" + MM : MM;
-        let dd = date.getDate();
-        dd = dd < 10 ? "0" + dd : dd;
-        this.uploadDate = [`${y}-${MM}-${dd}`, `${y}-${MM}-${dd}`];
-        this.resetForm("queryForm");
-        this.queryParams.pageNum = 1;
-        this.queryParams.type = undefined;
-        this.handleQuery();
-      },
-      // 多选框选中数据
-      handleSelectionChange(selection) {
-        this.ids = selection.map((item) => item.id);
-      },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map((item) => item.id);
     },
-  };
+  },
+};
 </script>

+ 4 - 3
vue.config.js

@@ -7,13 +7,13 @@ function resolve(dir) {
 
 const CompressionPlugin = require('compression-webpack-plugin')
 
-const name = process.env.VUE_APP_TITLE || '567睿选管理系统' // 网页标题
+const name = process.env.VUE_APP_TITLE || '567' // 网页标题
 
 const port = process.env.port || process.env.npm_config_port || 80 // 端口
 
 // vue.config.js 配置说明
 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
-// 这里只列一部分,具体配置参考文档
+// 这里只列一部分,具体配置参考文档npm
 module.exports = {
   // 部署生产环境和开发环境下的URL。
   // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
@@ -35,7 +35,8 @@ module.exports = {
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        target: `http://192.168.1.43:9003`,
+      //  target: `http://192.168.1.43:9003`,
+        target: `http://127.0.0.1:9003`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''