|
@@ -0,0 +1,599 @@
|
|
|
+<template>
|
|
|
+ <div class="app-container" style="padding: 0 20px 20px 20px">
|
|
|
+ <!-- 顶部操作区域 -->
|
|
|
+ <date-picker @prev-month="handlePrevMonth" @next-month="handleNextMonth" />
|
|
|
+ <!-- 筛选项 -->
|
|
|
+ <div class="filter-container">
|
|
|
+ <div class="filter-control">
|
|
|
+ <span>标签词:</span>
|
|
|
+ <el-input
|
|
|
+ v-model="listQuery.remarks"
|
|
|
+ placeholder="标签词"
|
|
|
+ clearable
|
|
|
+ @keyup.enter.native="getList"
|
|
|
+ @clear="getList"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="filter-control">
|
|
|
+ <span>机构名称:</span>
|
|
|
+ <el-input
|
|
|
+ v-model="listQuery.clubName"
|
|
|
+ placeholder="机构名称"
|
|
|
+ clearable
|
|
|
+ @keyup.enter.native="getList"
|
|
|
+ @clear="getList"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="filter-control">
|
|
|
+ <span>咨询类别:</span>
|
|
|
+ <el-select v-model="listQuery.consult" clearable @change="getList">
|
|
|
+ <el-option value="" label="请选择" />
|
|
|
+ <el-option v-for="(item, index) in categoryList" :key="index" :label="item.className" :value="item.id" />
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="filter-control">
|
|
|
+ <span>是否注册:</span>
|
|
|
+ <el-select v-model="listQuery.isRegister" clearable @change="getList">
|
|
|
+ <el-option value="" label="请选择" />
|
|
|
+ <el-option :value="1" label="未注册" />
|
|
|
+ <el-option :value="2" label="已注册" />
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="filter-control">
|
|
|
+ <span>新分配机构:</span>
|
|
|
+ <el-select v-model="listQuery.newDeal" clearable @change="getList">
|
|
|
+ <el-option value="" label="请选择" />
|
|
|
+ <el-option :value="1" label="是" />
|
|
|
+ <el-option :value="2" label="否" />
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="filter-control">
|
|
|
+ <el-button type="primary" @click="getList"> 查询 </el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="filter-container">
|
|
|
+ <span class="span-labels">
|
|
|
+ 当日咨询客户总数:
|
|
|
+ <el-tag type="primary" size="small">
|
|
|
+ {{ totalInfo.number }}
|
|
|
+ </el-tag>
|
|
|
+ </span>
|
|
|
+ <span class="span-labels">
|
|
|
+ 已注册客户:
|
|
|
+ <el-tag type="primary" size="small">
|
|
|
+ {{ totalInfo.registeredNumber }}
|
|
|
+ </el-tag>
|
|
|
+ </span>
|
|
|
+ <span class="span-labels">
|
|
|
+ 未注册客户:
|
|
|
+ <el-tag type="primary" size="small">
|
|
|
+ {{ totalInfo.unRegisteredNumber }}
|
|
|
+ </el-tag>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="filter-container">
|
|
|
+ <span
|
|
|
+ v-for="(item, index) in serviceList"
|
|
|
+ :key="index"
|
|
|
+ style="margin-right: 15px; margin-bottom: 5px; display: inline-block"
|
|
|
+ >
|
|
|
+ <el-button :type="sellerTabsIndex === index ? 'primary' : ''" @click="handeleTabsClick(item, index)">
|
|
|
+ {{ item.linkMan }}:
|
|
|
+ {{ item.registeredNumber + item.unregisteredNumber }}
|
|
|
+ ({{ item.registeredNumber }} +{{ item.unregisteredNumber }})
|
|
|
+ </el-button>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="filter-container">
|
|
|
+ <span class="span-labels">
|
|
|
+ <el-tag type="primary" size="small">{{ sellerTabsInfo.linkMan }}</el-tag>
|
|
|
+ 当日咨询客户总数:
|
|
|
+ <el-tag type="primary" size="small">
|
|
|
+ {{ sellerTabsInfo.registeredNumber + sellerTabsInfo.unregisteredNumber }}
|
|
|
+ </el-tag>
|
|
|
+ </span>
|
|
|
+ <span class="span-labels">
|
|
|
+ 已注册客户:
|
|
|
+ <el-tag type="primary" size="small">
|
|
|
+ {{ sellerTabsInfo.registeredNumber }}
|
|
|
+ </el-tag>
|
|
|
+ </span>
|
|
|
+ <span class="span-labels">
|
|
|
+ 未注册客户:
|
|
|
+ <el-tag type="primary" size="small">
|
|
|
+ {{ sellerTabsInfo.unregisteredNumber }}
|
|
|
+ </el-tag>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="filter-container">
|
|
|
+ <template v-if="isLoading">
|
|
|
+ <div class="list-loading">
|
|
|
+ <p style="color: #ffffff"><i class="el-icon-loading"></i></p>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <div v-if="list.length === 0" class="list-main-empty">
|
|
|
+ <p style="color: #999999">暂无咨询记录</p>
|
|
|
+ </div>
|
|
|
+ <div v-for="(item, index) in list" v-else :key="index" class="list-main">
|
|
|
+ <div class="list-main-item consult-list">
|
|
|
+ <span class="list-time">{{ item.divisionTime }}</span>
|
|
|
+ <el-row :gutter="24" class="box-row">
|
|
|
+ <el-col v-if="item.clubName" :span="6"><b>机构:</b> {{ item.clubName }}</el-col>
|
|
|
+ <el-col :span="6"><b>咨询人:</b> {{ item.questionMan }}</el-col>
|
|
|
+ <el-col v-if="item.contractMobile" :span="12"><b>手机号:</b> {{ item.contractMobile }}</el-col>
|
|
|
+ </el-row>
|
|
|
+ <template v-if="item.product && item.product.length > 0">
|
|
|
+ <el-row :gutter="24" class="box-row">
|
|
|
+ <el-col :span="6"><b>咨询商品:</b></el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="24" class="box-row">
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-table :data="item.product" border width="1000">
|
|
|
+ <el-table-column prop="mainImage" label="商品图片" align="center" width="100">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-popover placement="top-start" title="" width="180" trigger="hover">
|
|
|
+ <img :src="row.mainImage" alt="" style="width: 150px; height: 150px" />
|
|
|
+ <img slot="reference" :src="row.mainImage" alt="" style="width: 30px; height: 30px" />
|
|
|
+ </el-popover>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="name" label="商品名称" align="center" />
|
|
|
+ <el-table-column prop="shopName" label="供应商名称" align="center" />
|
|
|
+ </el-table>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </template>
|
|
|
+ <template v-if="item.reports && item.reports.length > 0">
|
|
|
+ <el-row :gutter="24" class="box-row">
|
|
|
+ <el-col :span="6"><b>咨询报备:</b></el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="24" class="box-row">
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-table :data="item.reports" border width="1000">
|
|
|
+ <el-table-column prop="mainImage" label="商品图片" align="center" width="100">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-popover placement="top-start" title="" width="180" trigger="hover">
|
|
|
+ <img :src="row.mainImage" alt="" style="width: 150px; height: 150px" />
|
|
|
+ <img slot="reference" :src="row.mainImage" alt="" style="width: 30px; height: 30px" />
|
|
|
+ </el-popover>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="productName" label="商品名称" align="center" />
|
|
|
+ <el-table-column prop="reportText" label="报备事由" align="center" />
|
|
|
+ <el-table-column prop="status" label="审核状态" align="center" width="100">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-tag v-if="row.status === 1" type="warning" size="small">待审核</el-tag>
|
|
|
+ <el-tag v-else-if="row.status === 2" type="success" size="small">已审核</el-tag>
|
|
|
+ <el-tag v-else type="danger" size="small">审核未通过</el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="auditName" label="审核人" align="center" width="100">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ {{ row.auditName ? row.auditName : '---' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="auditTime" label="审核时间" align="center">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ {{ row.auditTime ? row.auditTime : '---' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="auditText" label="备注" align="center">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ {{ row.auditText ? row.auditText : '---' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </template>
|
|
|
+ <el-row :gutter="24" class="box-row">
|
|
|
+ <el-col :span="6">
|
|
|
+ <b>沟通情况:</b>
|
|
|
+ <el-tag v-if="item.communicationSituation === 1" type="danger" size="small"> 联系不上 </el-tag>
|
|
|
+ <el-tag v-else type="success" size="small">
|
|
|
+ 已沟通
|
|
|
+ <template v-if="item.communicationMethods === '1'"> (电话) </template>
|
|
|
+ <template v-if="item.communicationMethods === '2'"> (微信) </template>
|
|
|
+ <template v-if="item.communicationMethods === '1,2' || item.communicationMethods === '2,1'">
|
|
|
+ (电话,微信)
|
|
|
+ </template>
|
|
|
+ </el-tag>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-if="item.customerSource !== null" :span="6">
|
|
|
+ <b>客户来源:</b>
|
|
|
+ <el-tag type="success" size="small">
|
|
|
+ {{ item.customerSource | sourceActionsFilters }}
|
|
|
+ </el-tag>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-if="item.customerGender !== null" :span="6">
|
|
|
+ <b>客户性别:</b>
|
|
|
+ <el-tag v-if="item.customerGender === 0" type="success" size="small"> 男 </el-tag>
|
|
|
+ <el-tag v-if="item.customerGender === 1" type="success" size="small"> 女 </el-tag>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="24" class="box-row">
|
|
|
+ <el-col v-if="item.customerAge" :span="6">
|
|
|
+ <b>客户年龄:</b>
|
|
|
+ <el-tag type="success" size="small"> {{ item.customerAge }} </el-tag>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <b>加群情况:</b>
|
|
|
+ <el-tag v-if="item.groupAddition === 0" type="success" size="small"> 已加群 </el-tag>
|
|
|
+ <el-tag v-else type="danger" size="small"> 未加群 </el-tag>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-if="item.consultType" :span="12">
|
|
|
+ <b>咨询类别:</b>
|
|
|
+ <el-tag type="success" size="small"> {{ item.consultType }} </el-tag>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="24" class="box-row">
|
|
|
+ <el-col v-if="item.satisfied" :span="6">
|
|
|
+ <b>意向程度:</b>
|
|
|
+ <el-tag type="success" size="small"> {{ (item.satisfied * 1) | intenActionsFilters }} </el-tag>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-if="item.pinceSensitve" :span="6">
|
|
|
+ <b>价格敏感度:</b>
|
|
|
+ <el-tag type="success" size="small"> {{ (item.pinceSensitve * 1) | pinceFilters }} </el-tag>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-if="item.followup" :span="6">
|
|
|
+ <b>跟进状态:</b>
|
|
|
+ <el-tag type="success" size="small"> {{ (item.followup * 1) | followupFilters }} </el-tag>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row v-if="item.remarks" :gutter="24" class="box-row">
|
|
|
+ <el-col :span="24">
|
|
|
+ <b>标签词:</b>
|
|
|
+ <el-tag type="success" size="small"> {{ item.remarks }} </el-tag>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row v-if="item.extra" :gutter="24" class="box-row">
|
|
|
+ <el-col :span="24">
|
|
|
+ <b>额外说明:</b>
|
|
|
+ {{ item.extra }}
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row v-if="item.imageList.length > 0" :gutter="24" class="box-row">
|
|
|
+ <el-col :span="24">
|
|
|
+ <b>图片:</b>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <div
|
|
|
+ v-for="(image, imageIndex) in item.imageList"
|
|
|
+ :key="imageIndex"
|
|
|
+ class="item-image"
|
|
|
+ style="width: 100px; height: 100px; margin: 5px; float: left"
|
|
|
+ >
|
|
|
+ <el-popover placement="top-start" title="" width="180" trigger="hover">
|
|
|
+ <img :src="image" alt="" style="width: 150px; height: 150px" />
|
|
|
+ <img slot="reference" :src="image" alt="" style="width: 100px; height: 100px" />
|
|
|
+ </el-popover>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row v-if="item.fileList.length > 0" :gutter="24" class="box-row">
|
|
|
+ <el-col :span="24">
|
|
|
+ <b>文件:</b>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <div v-for="(file, fileIndex) in item.fileList" :key="fileIndex" class="item-file">
|
|
|
+ <el-tag type="warning" size="small"> {{ file.fileName }} </el-tag>
|
|
|
+ <el-button type="primary" size="mini" style="margin: 5px 10px" @click="handlePreview(file)">
|
|
|
+ 预览
|
|
|
+ </el-button>
|
|
|
+ <el-button type="primary" size="mini" style="margin: 5px 10px" @click="handleDownload(file)">
|
|
|
+ 下载
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ <!-- 页码 -->
|
|
|
+ <pagination
|
|
|
+ :total="total"
|
|
|
+ :page-sizes="[20]"
|
|
|
+ :page-size="20"
|
|
|
+ :page.sync="listQuery.pageNum"
|
|
|
+ :limit.sync="listQuery.pageSize"
|
|
|
+ @pagination="getRemarksRegistList"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { downloadWithUrl } from '@/utils'
|
|
|
+import openWindow from '@/utils/open-window'
|
|
|
+import { getClassName, getServiceList, getRemarksRegistList } from '@/api/user/consult/consult'
|
|
|
+import DatePicker from './components/datePicker'
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: 'ConsultList',
|
|
|
+ components: {
|
|
|
+ DatePicker
|
|
|
+ },
|
|
|
+ filters: {
|
|
|
+ followupFilters(value) {
|
|
|
+ // 跟进状态
|
|
|
+ const map = {
|
|
|
+ 1: '跟进中',
|
|
|
+ 2: '跟进完成',
|
|
|
+ 3: '已放弃'
|
|
|
+ }
|
|
|
+ return map[value]
|
|
|
+ },
|
|
|
+ pinceFilters(value) {
|
|
|
+ // 价格敏感度
|
|
|
+ const map = {
|
|
|
+ 1: '敏感',
|
|
|
+ 2: '适中',
|
|
|
+ 3: '不敏感',
|
|
|
+ 4: '不明确'
|
|
|
+ }
|
|
|
+ return map[value]
|
|
|
+ },
|
|
|
+ intenActionsFilters(value) {
|
|
|
+ // 意向
|
|
|
+ const map = {
|
|
|
+ 1: '意向强烈',
|
|
|
+ 2: '意向一般',
|
|
|
+ 3: '意向平淡',
|
|
|
+ 4: '随便看看'
|
|
|
+ }
|
|
|
+ return map[value]
|
|
|
+ },
|
|
|
+ sourceActionsFilters(value) {
|
|
|
+ // 客户来源
|
|
|
+ console.log('value', value)
|
|
|
+ const map = {
|
|
|
+ 0: '网站',
|
|
|
+ 1: '小程序',
|
|
|
+ 2: '公众号',
|
|
|
+ 3: '小红书',
|
|
|
+ 4: '微博',
|
|
|
+ 5: '搜狐',
|
|
|
+ 6: '其他'
|
|
|
+ }
|
|
|
+ return map[value]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ isLoading: true,
|
|
|
+ listQuery: {
|
|
|
+ remarks: '', // 标签词
|
|
|
+ consult: '', // 咨询类别
|
|
|
+ clubName: '', // 机构名称
|
|
|
+ newDeal: '', // 新分配机构状态 0 全部 1 是 2否
|
|
|
+ isRegister: '', // 是否注册 0 全部 1 未注册 2已注册
|
|
|
+ todayTime: '', // 时间
|
|
|
+ serviceProviderId: '', // 协销Id
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 20
|
|
|
+ },
|
|
|
+ freezeTimeText: '',
|
|
|
+ list: [],
|
|
|
+ total: 0,
|
|
|
+ categoryList: [],
|
|
|
+ totalInfo: {},
|
|
|
+ sellerTabsIndex: 0,
|
|
|
+ sellerTabsInfo: {},
|
|
|
+ serviceList: []
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {},
|
|
|
+ created() {
|
|
|
+ this.initDate()
|
|
|
+ },
|
|
|
+ mounted() {},
|
|
|
+ methods: {
|
|
|
+ initDate() {
|
|
|
+ // 初始化获取当前年月
|
|
|
+ const date = new Date()
|
|
|
+ this.getClassName()
|
|
|
+ this.listQuery.todayTime = this.formattedDateFn(new Date(date - 86400000))
|
|
|
+ this.getServiceList(this.listQuery.todayTime)
|
|
|
+ console.log('todayTime', this.listQuery.todayTime)
|
|
|
+ },
|
|
|
+ formattedDateFn(dateString) {
|
|
|
+ // 创建一个Date对象,将字符串解析为日期和时间
|
|
|
+ const date = new Date(dateString)
|
|
|
+ // 使用toISOString()方法将Date对象转换为ISO格式的字符串
|
|
|
+ const isoString = date.toISOString()
|
|
|
+ // 从ISO格式字符串中提取日期部分
|
|
|
+ const dateOnly = isoString.substring(0, isoString.indexOf('T'))
|
|
|
+ // 将日期格式化为"YYYY-MM-DD"格式
|
|
|
+ const formattedDate = dateOnly.replace(/-/g, '-')
|
|
|
+ return formattedDate
|
|
|
+ },
|
|
|
+ handleNextMonth(value) {
|
|
|
+ // 加日期
|
|
|
+ this.listQuery.todayTime = value
|
|
|
+ this.getServiceList(this.listQuery.todayTime)
|
|
|
+ this.getList()
|
|
|
+ console.log('todayTime', this.listQuery.todayTime)
|
|
|
+ },
|
|
|
+ handlePrevMonth(value) {
|
|
|
+ // 减日期
|
|
|
+ this.listQuery.todayTime = value
|
|
|
+ this.getServiceList(this.listQuery.todayTime)
|
|
|
+ this.getList()
|
|
|
+ console.log('todayTime', this.listQuery.todayTime)
|
|
|
+ },
|
|
|
+ handeleTabsClick(item, index) {
|
|
|
+ // 切换协销
|
|
|
+ console.log('item', item)
|
|
|
+ this.sellerTabsIndex = index
|
|
|
+ this.sellerTabsInfo = item
|
|
|
+ this.listQuery.serviceProviderId = item.serviceProviderId
|
|
|
+ this.listQuery.pageNum = 1
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ // 获取行为记录列表
|
|
|
+ getList() {
|
|
|
+ this.listQuery.pageNum = 1
|
|
|
+ this.getRemarksRegistList()
|
|
|
+ },
|
|
|
+ // 获取咨询类别选项
|
|
|
+ async getClassName() {
|
|
|
+ try {
|
|
|
+ const res = await getClassName()
|
|
|
+ this.categoryList = res.data
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 获取当天协销咨询记录信息
|
|
|
+ async getServiceList(accessDate) {
|
|
|
+ try {
|
|
|
+ const res = await getServiceList({ accessDate: accessDate })
|
|
|
+ this.serviceList = res.data.serviceList
|
|
|
+ this.totalInfo = { ...this.totalInfo, ...res.data }
|
|
|
+ this.sellerTabsInfo = this.serviceList[0]
|
|
|
+ this.listQuery.serviceProviderId = this.serviceList[0].serviceProviderId
|
|
|
+ this.getRemarksRegistList()
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 获取咨询记录
|
|
|
+ async getRemarksRegistList() {
|
|
|
+ try {
|
|
|
+ this.isLoading = true
|
|
|
+ const res = await getRemarksRegistList(this.listQuery)
|
|
|
+ this.list = res.data.results
|
|
|
+ this.total = res.data.totalRecord
|
|
|
+ this.isLoading = false
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 预览文件
|
|
|
+ handlePreview(file) {
|
|
|
+ const fileName = file.fileName
|
|
|
+ let url = `https://view.officeapps.live.com/op/view.aspx?src=${encodeURIComponent(file.fileUrl)}`
|
|
|
+ if (fileName.endsWith('.pdf') || fileName.endsWith('.doc')) {
|
|
|
+ url = file.fileUrl
|
|
|
+ }
|
|
|
+ openWindow(url, `${file.fileName}`, 800, 460)
|
|
|
+ },
|
|
|
+ // 下载文件
|
|
|
+ async handleDownload(file) {
|
|
|
+ const params = `fileName=${encodeURIComponent(file.fileName)}&ossName=${encodeURIComponent(file.ossName)}`
|
|
|
+ const url = process.env.VUE_APP_BASE_API + `/user/remarks/remarks/download?${params}`
|
|
|
+ downloadWithUrl(url, file.fileName)
|
|
|
+ },
|
|
|
+ // 机构跳转
|
|
|
+ handleClubHrefLink(row) {
|
|
|
+ return (
|
|
|
+ process.env.VUE_APP_ADMIN_URL +
|
|
|
+ `/a/user/jumpLink/toOldAdmin?type=1&clubId=${row.clubId}&clubName=${row.corporateName}`
|
|
|
+ )
|
|
|
+ },
|
|
|
+ // 查看详情
|
|
|
+ handleRecordDetail(row) {
|
|
|
+ this.$router.push({
|
|
|
+ path: '/user/detail-list',
|
|
|
+ query: { ip: row.ip, accessDate: row.accessDate, userId: row.userId }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style>
|
|
|
+.filter-container {
|
|
|
+ padding: 10px;
|
|
|
+ background: #f7f7f7;
|
|
|
+ margin: 10px 0;
|
|
|
+}
|
|
|
+.span-labels {
|
|
|
+ font-size: 14px;
|
|
|
+ color: #666666;
|
|
|
+ margin-right: 50px;
|
|
|
+}
|
|
|
+.list-loading {
|
|
|
+ width: 100%;
|
|
|
+ height: 300px;
|
|
|
+ padding: 40px;
|
|
|
+ line-height: 220px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ position: relative;
|
|
|
+ text-align: center;
|
|
|
+ background: #ffffff;
|
|
|
+}
|
|
|
+.list-loading .el-icon-loading {
|
|
|
+ font-size: 40px;
|
|
|
+ color: #409eff;
|
|
|
+}
|
|
|
+.list-main-empty {
|
|
|
+ width: 100%;
|
|
|
+ height: 300px;
|
|
|
+ padding: 40px;
|
|
|
+ line-height: 220px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ position: relative;
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
+.list-main {
|
|
|
+ width: 100%;
|
|
|
+ height: auto;
|
|
|
+ padding: 24px 16px 24px 160px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ position: relative;
|
|
|
+}
|
|
|
+.list-main::before {
|
|
|
+ content: '';
|
|
|
+ height: 100%;
|
|
|
+ border-left: 2px dashed #e1e1e1;
|
|
|
+ position: absolute;
|
|
|
+ left: 120px;
|
|
|
+ top: 0;
|
|
|
+}
|
|
|
+.list-main-item {
|
|
|
+ width: 94%;
|
|
|
+ min-height: 200px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ padding: 24px 35px;
|
|
|
+ background: #e1e1e1;
|
|
|
+ background-size: cover;
|
|
|
+ position: relative;
|
|
|
+ border-radius: 16px;
|
|
|
+}
|
|
|
+.list-main-item::before {
|
|
|
+ content: '';
|
|
|
+ width: 20px;
|
|
|
+ height: 20px;
|
|
|
+ background: #999999;
|
|
|
+ border-radius: 50%;
|
|
|
+ background-size: cover;
|
|
|
+ position: absolute;
|
|
|
+ top: 30px;
|
|
|
+ left: -49px;
|
|
|
+}
|
|
|
+.list-main-item::after {
|
|
|
+ content: '';
|
|
|
+ width: 0;
|
|
|
+ height: 0;
|
|
|
+ border-width: 30px;
|
|
|
+ border-style: solid;
|
|
|
+ border-color: transparent #e1e1e1 transparent transparent;
|
|
|
+ position: absolute;
|
|
|
+ left: -55px;
|
|
|
+ top: 10px;
|
|
|
+}
|
|
|
+.list-main-item.consult-list .list-time {
|
|
|
+ display: inline-block;
|
|
|
+ font-size: 20px;
|
|
|
+ color: #333333;
|
|
|
+ position: absolute;
|
|
|
+ top: 26px;
|
|
|
+ left: -140px;
|
|
|
+ font-weight: bold;
|
|
|
+}
|
|
|
+.box-row {
|
|
|
+ margin-bottom: 14px;
|
|
|
+}
|
|
|
+</style>
|