|
@@ -2,9 +2,10 @@
|
|
|
<div class="app-container">
|
|
<div class="app-container">
|
|
|
<div style="margin-bottom: 10px">
|
|
<div style="margin-bottom: 10px">
|
|
|
<el-card>
|
|
<el-card>
|
|
|
- <span class="custom-style" style="display: block; margin-bottom: 10px">自动化规则名称:{{sopName}}</span>
|
|
|
|
|
- <span class="custom-style" style="display: block; margin-bottom: 10px">自动化规则编号:{{queryParams.sopId}}</span>
|
|
|
|
|
- <span class="custom-style" style="display: block;">模板编号:{{tempId}}</span>
|
|
|
|
|
|
|
+ <span class="custom-style" style="display: block; margin-bottom: 10px">自动化规则名称:{{ sopName }}</span>
|
|
|
|
|
+ <span class="custom-style" style="display: block; margin-bottom: 10px"
|
|
|
|
|
+ >自动化规则编号:{{ queryParams.sopId }}</span>
|
|
|
|
|
+ <span class="custom-style" style="display: block;">模板编号:{{ tempId }}</span>
|
|
|
</el-card>
|
|
</el-card>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
@@ -32,19 +33,20 @@
|
|
|
v-model="queryParams.startTime"
|
|
v-model="queryParams.startTime"
|
|
|
type="date"
|
|
type="date"
|
|
|
value-format="yyyy-MM-dd"
|
|
value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择营期时间">
|
|
|
|
|
|
|
+ placeholder="选择营期时间"
|
|
|
|
|
+ >
|
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
-<!-- <el-form-item label="状态" prop="status">-->
|
|
|
|
|
-<!-- <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">-->
|
|
|
|
|
-<!-- <el-option-->
|
|
|
|
|
-<!-- v-for="dict in sopUserLogsDelStatus"-->
|
|
|
|
|
-<!-- :key="dict.dictValue"-->
|
|
|
|
|
-<!-- :label="dict.dictLabel"-->
|
|
|
|
|
-<!-- :value="dict.dictValue"-->
|
|
|
|
|
-<!-- />-->
|
|
|
|
|
-<!-- </el-select>-->
|
|
|
|
|
-<!-- </el-form-item>-->
|
|
|
|
|
|
|
+ <!-- <el-form-item label="状态" prop="status">-->
|
|
|
|
|
+ <!-- <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">-->
|
|
|
|
|
+ <!-- <el-option-->
|
|
|
|
|
+ <!-- v-for="dict in sopUserLogsDelStatus"-->
|
|
|
|
|
+ <!-- :key="dict.dictValue"-->
|
|
|
|
|
+ <!-- :label="dict.dictLabel"-->
|
|
|
|
|
+ <!-- :value="dict.dictValue"-->
|
|
|
|
|
+ <!-- />-->
|
|
|
|
|
+ <!-- </el-select>-->
|
|
|
|
|
+ <!-- </el-form-item>-->
|
|
|
<el-form-item label="客户名称" prop="externalUserName">
|
|
<el-form-item label="客户名称" prop="externalUserName">
|
|
|
<el-input
|
|
<el-input
|
|
|
v-model="queryParams.externalUserName"
|
|
v-model="queryParams.externalUserName"
|
|
@@ -72,7 +74,9 @@
|
|
|
<el-row :gutter="10" class="mb8" v-if="filterMode == 1">
|
|
<el-row :gutter="10" class="mb8" v-if="filterMode == 1">
|
|
|
|
|
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
- <el-tooltip class="item" effect="dark" content="此功能用于给 选中的 营期 内【所有的】客户发送 消息【或者发送草稿-/-清楚草稿】" placement="top">
|
|
|
|
|
|
|
+ <el-tooltip class="item" effect="dark"
|
|
|
|
|
+ content="此功能用于给 选中的 营期 内【所有的】客户发送 消息【或者发送草稿-/-清楚草稿】" placement="top"
|
|
|
|
|
+ >
|
|
|
<el-button
|
|
<el-button
|
|
|
type="warning"
|
|
type="warning"
|
|
|
icon="el-icon-s-promotion"
|
|
icon="el-icon-s-promotion"
|
|
@@ -80,24 +84,27 @@
|
|
|
:disabled="multiple"
|
|
:disabled="multiple"
|
|
|
@click="handleCampSendMsg"
|
|
@click="handleCampSendMsg"
|
|
|
v-hasPermi="['qw:sopUserLogsInfo:msgSchedule']"
|
|
v-hasPermi="['qw:sopUserLogsInfo:msgSchedule']"
|
|
|
- >营期一键群发(或草稿)</el-button>
|
|
|
|
|
|
|
+ >营期一键群发(或草稿)
|
|
|
|
|
+ </el-button>
|
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
|
|
|
-<!-- <el-col :span="1.5">-->
|
|
|
|
|
-<!-- <el-tooltip class="item" effect="dark" content="修改选择的群聊营期时间" placement="top">-->
|
|
|
|
|
-<!-- <el-button-->
|
|
|
|
|
-<!-- type="danger"-->
|
|
|
|
|
-<!-- icon="el-icon-edit"-->
|
|
|
|
|
-<!-- size="medium"-->
|
|
|
|
|
-<!-- :disabled="multiple"-->
|
|
|
|
|
-<!-- @click="updateGroupTime"-->
|
|
|
|
|
-<!-- >批量修改营期时间</el-button>-->
|
|
|
|
|
-<!-- </el-tooltip>-->
|
|
|
|
|
-<!-- </el-col>-->
|
|
|
|
|
|
|
+ <!-- <el-col :span="1.5">-->
|
|
|
|
|
+ <!-- <el-tooltip class="item" effect="dark" content="修改选择的群聊营期时间" placement="top">-->
|
|
|
|
|
+ <!-- <el-button-->
|
|
|
|
|
+ <!-- type="danger"-->
|
|
|
|
|
+ <!-- icon="el-icon-edit"-->
|
|
|
|
|
+ <!-- size="medium"-->
|
|
|
|
|
+ <!-- :disabled="multiple"-->
|
|
|
|
|
+ <!-- @click="updateGroupTime"-->
|
|
|
|
|
+ <!-- >批量修改营期时间</el-button>-->
|
|
|
|
|
+ <!-- </el-tooltip>-->
|
|
|
|
|
+ <!-- </el-col>-->
|
|
|
|
|
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
- <el-tooltip class="item" effect="dark" content="删除营期之后,将不会在给原营期的客户发送消息,ps:删除之后不可恢复" placement="top">
|
|
|
|
|
|
|
+ <el-tooltip class="item" effect="dark" content="删除营期之后,将不会在给原营期的客户发送消息,ps:删除之后不可恢复"
|
|
|
|
|
+ placement="top"
|
|
|
|
|
+ >
|
|
|
<el-button
|
|
<el-button
|
|
|
type="danger"
|
|
type="danger"
|
|
|
icon="el-icon-s-promotion"
|
|
icon="el-icon-s-promotion"
|
|
@@ -105,7 +112,8 @@
|
|
|
:disabled="multiple"
|
|
:disabled="multiple"
|
|
|
@click="handleDeleteUserLogs"
|
|
@click="handleDeleteUserLogs"
|
|
|
v-hasPermi="['qw:sopUserLogs:remove']"
|
|
v-hasPermi="['qw:sopUserLogs:remove']"
|
|
|
- >批量删除营期</el-button>
|
|
|
|
|
|
|
+ >批量删除营期
|
|
|
|
|
+ </el-button>
|
|
|
|
|
|
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -119,7 +127,8 @@
|
|
|
icon="el-icon-plus"
|
|
icon="el-icon-plus"
|
|
|
size="medium"
|
|
size="medium"
|
|
|
@click="addGroup"
|
|
@click="addGroup"
|
|
|
- >追加群聊</el-button>
|
|
|
|
|
|
|
+ >追加群聊
|
|
|
|
|
+ </el-button>
|
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
|
|
@@ -131,11 +140,14 @@
|
|
|
size="medium"
|
|
size="medium"
|
|
|
:disabled="multiple"
|
|
:disabled="multiple"
|
|
|
@click="updateGroupTime"
|
|
@click="updateGroupTime"
|
|
|
- >批量修改营期时间</el-button>
|
|
|
|
|
|
|
+ >批量修改营期时间
|
|
|
|
|
+ </el-button>
|
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
- <el-tooltip class="item" effect="dark" content="删除营期之后,将不会在给原营期的群发送消息,ps:删除之后不可恢复" placement="top">
|
|
|
|
|
|
|
+ <el-tooltip class="item" effect="dark" content="删除营期之后,将不会在给原营期的群发送消息,ps:删除之后不可恢复"
|
|
|
|
|
+ placement="top"
|
|
|
|
|
+ >
|
|
|
<el-button
|
|
<el-button
|
|
|
type="danger"
|
|
type="danger"
|
|
|
icon="el-icon-s-promotion"
|
|
icon="el-icon-s-promotion"
|
|
@@ -143,47 +155,55 @@
|
|
|
:disabled="multiple"
|
|
:disabled="multiple"
|
|
|
@click="handleDeleteUserLogs"
|
|
@click="handleDeleteUserLogs"
|
|
|
v-hasPermi="['qw:sopUserLogs:remove']"
|
|
v-hasPermi="['qw:sopUserLogs:remove']"
|
|
|
- >批量删除营期</el-button>
|
|
|
|
|
|
|
+ >批量删除营期
|
|
|
|
|
+ </el-button>
|
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
|
|
- <el-tooltip class="item" effect="dark" content="批量更换实际发送人" placement="top" >
|
|
|
|
|
|
|
+ <el-col :span="1.5">
|
|
|
|
|
+ <el-tooltip class="item" effect="dark" content="批量更换实际发送人" placement="top">
|
|
|
<el-button
|
|
<el-button
|
|
|
type="primary"
|
|
type="primary"
|
|
|
icon="el-icon-s-custom"
|
|
icon="el-icon-s-custom"
|
|
|
size="medium"
|
|
size="medium"
|
|
|
:disabled="multiple"
|
|
:disabled="multiple"
|
|
|
@click="handleUpdateSender"
|
|
@click="handleUpdateSender"
|
|
|
- >批量更换实际发送人</el-button>
|
|
|
|
|
|
|
+ >批量更换实际发送人
|
|
|
|
|
+ </el-button>
|
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
- <div style="color: #999;font-size: 14px;display: flex;align-items: center;margin-bottom: 5px" v-if="filterMode == 1">
|
|
|
|
|
|
|
+ <div style="color: #999;font-size: 14px;display: flex;align-items: center;margin-bottom: 5px"
|
|
|
|
|
+ v-if="filterMode == 1"
|
|
|
|
|
+ >
|
|
|
<i class="el-icon-info"></i>
|
|
<i class="el-icon-info"></i>
|
|
|
【营期一键群发】:此功能用于给 选中的 营期 内【所有的】客户发送 消息【或者发送草稿-/-清楚草稿】
|
|
【营期一键群发】:此功能用于给 选中的 营期 内【所有的】客户发送 消息【或者发送草稿-/-清楚草稿】
|
|
|
</div>
|
|
</div>
|
|
|
- <div style="color: #999;font-size: 14px;display: flex;align-items: center;margin-bottom: 5px" v-if="filterMode == 1">
|
|
|
|
|
|
|
+ <div style="color: #999;font-size: 14px;display: flex;align-items: center;margin-bottom: 5px"
|
|
|
|
|
+ v-if="filterMode == 1"
|
|
|
|
|
+ >
|
|
|
<i class="el-icon-info"></i>
|
|
<i class="el-icon-info"></i>
|
|
|
【批量删除营期】:此功能用于删除选中的【整个营期】,删除之后将不会在给原营期的客户发送消息,ps:删除之后不可恢复
|
|
【批量删除营期】:此功能用于删除选中的【整个营期】,删除之后将不会在给原营期的客户发送消息,ps:删除之后不可恢复
|
|
|
</div>
|
|
</div>
|
|
|
- <div style="color: #999;font-size: 14px;display: flex;align-items: center;margin-bottom: 5px" v-if="filterMode == 1">
|
|
|
|
|
|
|
+ <div style="color: #999;font-size: 14px;display: flex;align-items: center;margin-bottom: 5px"
|
|
|
|
|
+ v-if="filterMode == 1"
|
|
|
|
|
+ >
|
|
|
<i class="el-icon-info"></i>
|
|
<i class="el-icon-info"></i>
|
|
|
【天数】:【列表:营期时间】对应列表中的天数是几 就代表着 插件助手 会发送【任务模板】里的第几天的消息
|
|
【天数】:【列表:营期时间】对应列表中的天数是几 就代表着 插件助手 会发送【任务模板】里的第几天的消息
|
|
|
</div>
|
|
</div>
|
|
|
<el-table border v-loading="loading" :data="sopUserLogsList" @selection-change="handleSelectionChange">
|
|
<el-table border v-loading="loading" :data="sopUserLogsList" @selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" width="55" align="center" />
|
|
|
|
|
- <el-table-column label="营期编号" align="center" prop="id" />
|
|
|
|
|
- <el-table-column label="企微员工账号" align="center" prop="qwUserId" />
|
|
|
|
|
- <el-table-column label="企微员工名称" align="center" prop="qwUserName" />
|
|
|
|
|
- <el-table-column label="实际发送人" align="center" prop="actualQwUserName" />
|
|
|
|
|
- <el-table-column label="群聊" align="center" prop="chatName" v-if="filterMode == 2" />
|
|
|
|
|
|
|
+ <el-table-column type="selection" width="55" align="center"/>
|
|
|
|
|
+ <el-table-column label="营期编号" align="center" prop="id"/>
|
|
|
|
|
+ <el-table-column label="企微员工账号" align="center" prop="qwUserId"/>
|
|
|
|
|
+ <el-table-column label="企微员工名称" align="center" prop="qwUserName"/>
|
|
|
|
|
+ <el-table-column label="实际发送人" align="center" prop="actualQwUserName"/>
|
|
|
|
|
+ <el-table-column label="群聊" align="center" prop="chatName" v-if="filterMode == 2"/>
|
|
|
<el-table-column label="营期时间" align="center" prop="startTime" width="180">
|
|
<el-table-column label="营期时间" align="center" prop="startTime" width="180">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
|
|
<span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="天数" align="center" prop="countDays" />
|
|
|
|
|
- <el-table-column label="状态" align="center" prop="status" >
|
|
|
|
|
|
|
+ <el-table-column label="天数" align="center" prop="countDays"/>
|
|
|
|
|
+ <el-table-column label="状态" align="center" prop="status">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<div v-if="scope.row.userId && scope.row.userId.includes('null')">
|
|
<div v-if="scope.row.userId && scope.row.userId.includes('null')">
|
|
|
<span style="color: orange;">营期异常</span>
|
|
<span style="color: orange;">营期异常</span>
|
|
@@ -204,7 +224,8 @@
|
|
|
icon="el-icon-edit"
|
|
icon="el-icon-edit"
|
|
|
@click="handleSelect(scope.row)"
|
|
@click="handleSelect(scope.row)"
|
|
|
v-hasPermi="['qw:sop:list']"
|
|
v-hasPermi="['qw:sop:list']"
|
|
|
- >营期详情</el-button>
|
|
|
|
|
|
|
+ >营期详情
|
|
|
|
|
+ </el-button>
|
|
|
<el-button
|
|
<el-button
|
|
|
v-if="scope.row.userId && scope.row.userId.includes('null')"
|
|
v-if="scope.row.userId && scope.row.userId.includes('null')"
|
|
|
size="mini"
|
|
size="mini"
|
|
@@ -212,7 +233,8 @@
|
|
|
icon="el-icon-s-check"
|
|
icon="el-icon-s-check"
|
|
|
@click="handleRepairLogs(scope.row)"
|
|
@click="handleRepairLogs(scope.row)"
|
|
|
v-hasPermi="['qw:sop:list']"
|
|
v-hasPermi="['qw:sop:list']"
|
|
|
- >修复营期</el-button>
|
|
|
|
|
|
|
+ >修复营期
|
|
|
|
|
+ </el-button>
|
|
|
<!-- <el-button-->
|
|
<!-- <el-button-->
|
|
|
<!-- size="mini"-->
|
|
<!-- size="mini"-->
|
|
|
<!-- type="text"-->
|
|
<!-- type="text"-->
|
|
@@ -222,6 +244,17 @@
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
|
|
|
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="filterMode == 2">
|
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ size="mini"
|
|
|
|
|
+ type="text"
|
|
|
|
|
+ @click="getLink(scope.row)"
|
|
|
|
|
+ >获取当天群链接
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+
|
|
|
</el-table>
|
|
</el-table>
|
|
|
|
|
|
|
|
<pagination
|
|
<pagination
|
|
@@ -234,15 +267,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 执行详情 -->
|
|
<!-- 执行详情 -->
|
|
|
- <el-drawer :title="logsInfoDetailsOpen.title" :visible.sync="logsInfoDetailsOpen.open" size="88%" style="font-weight: bolder">
|
|
|
|
|
- <sop-user-logs-info-details ref="SopUserLogsInfoDetails" :rowDetailFrom="logsInfoDetailsOpen.item" @flashNotify="flashNotify"></sop-user-logs-info-details>
|
|
|
|
|
|
|
+ <el-drawer :title="logsInfoDetailsOpen.title" :visible.sync="logsInfoDetailsOpen.open" size="88%"
|
|
|
|
|
+ style="font-weight: bolder"
|
|
|
|
|
+ >
|
|
|
|
|
+ <sop-user-logs-info-details ref="SopUserLogsInfoDetails" :rowDetailFrom="logsInfoDetailsOpen.item"
|
|
|
|
|
+ @flashNotify="flashNotify"
|
|
|
|
|
+ ></sop-user-logs-info-details>
|
|
|
</el-drawer>
|
|
</el-drawer>
|
|
|
|
|
|
|
|
- <send-msg-open-tool ref="sendMsgOpenTool" ></send-msg-open-tool>
|
|
|
|
|
- <el-dialog title="修改营期时间" :visible.sync="updateTimeData.open" width="800px" append-to-body>
|
|
|
|
|
|
|
+ <send-msg-open-tool ref="sendMsgOpenTool"></send-msg-open-tool>
|
|
|
|
|
+ <el-dialog title="修改营期时间" :visible.sync="updateTimeData.open" width="800px" append-to-body>
|
|
|
<p>
|
|
<p>
|
|
|
<span>选择群聊:</span>
|
|
<span>选择群聊:</span>
|
|
|
- <el-tag v-for="name in chatNames">{{name}}</el-tag>
|
|
|
|
|
|
|
+ <el-tag v-for="name in chatNames">{{ name }}</el-tag>
|
|
|
</p>
|
|
</p>
|
|
|
<el-form ref="msgForm" :model="updateTimeData.form" label-width="100px">
|
|
<el-form ref="msgForm" :model="updateTimeData.form" label-width="100px">
|
|
|
<el-form-item label="日期">
|
|
<el-form-item label="日期">
|
|
@@ -250,7 +287,8 @@
|
|
|
v-model="updateTimeData.form.date"
|
|
v-model="updateTimeData.form.date"
|
|
|
type="date"
|
|
type="date"
|
|
|
value-format="yyyy-MM-dd"
|
|
value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择日期">
|
|
|
|
|
|
|
+ placeholder="选择日期"
|
|
|
|
|
+ >
|
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
@@ -259,15 +297,15 @@
|
|
|
<el-button @click="updateTimeData.open = false">取 消</el-button>
|
|
<el-button @click="updateTimeData.open = false">取 消</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
- <el-dialog title="选择企微" :visible.sync="addGroupData.userOpen" width="1300px" append-to-body>
|
|
|
|
|
|
|
+ <el-dialog title="选择企微" :visible.sync="addGroupData.userOpen" width="1300px" append-to-body>
|
|
|
<qwUserList ref="QwUserList" @selectUserList="selectUserList"></qwUserList>
|
|
<qwUserList ref="QwUserList" @selectUserList="selectUserList"></qwUserList>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
|
|
- <el-dialog :title="listUser.title" :visible.sync="listUser.open" width="1300px" append-to-body>
|
|
|
|
|
|
|
+ <el-dialog :title="listUser.title" :visible.sync="listUser.open" width="1300px" append-to-body>
|
|
|
<qwUserSelectOne ref="QwUserListSender" @selectUser="selectSenderSingle"></qwUserSelectOne>
|
|
<qwUserSelectOne ref="QwUserListSender" @selectUser="selectSenderSingle"></qwUserSelectOne>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
|
|
- <el-dialog title="追加群聊" :visible.sync="addGroupData.open" width="800px" append-to-body>
|
|
|
|
|
|
|
+ <el-dialog title="追加群聊" :visible.sync="addGroupData.open" width="800px" append-to-body>
|
|
|
<el-form ref="msgForm" :model="addGroupData.form" label-width="100px">
|
|
<el-form ref="msgForm" :model="addGroupData.form" label-width="100px">
|
|
|
<el-form-item label="选择员工" prop="qwUserIds" style="margin-top: 2%">
|
|
<el-form-item label="选择员工" prop="qwUserIds" style="margin-top: 2%">
|
|
|
<div>
|
|
<div>
|
|
@@ -275,7 +313,9 @@
|
|
|
size="medium"
|
|
size="medium"
|
|
|
icon="el-icon-circle-plus-outline"
|
|
icon="el-icon-circle-plus-outline"
|
|
|
plain
|
|
plain
|
|
|
- @click="handleCompanyUser">请选择使用员工</el-button>
|
|
|
|
|
|
|
+ @click="handleCompanyUser"
|
|
|
|
|
+ >请选择使用员工
|
|
|
|
|
+ </el-button>
|
|
|
</div>
|
|
</div>
|
|
|
<div>
|
|
<div>
|
|
|
<el-tag
|
|
<el-tag
|
|
@@ -285,14 +325,18 @@
|
|
|
v-for="id in userSelectList"
|
|
v-for="id in userSelectList"
|
|
|
closable
|
|
closable
|
|
|
:disable-transitions="false"
|
|
:disable-transitions="false"
|
|
|
- @close="handleClosegroupUser(id)">
|
|
|
|
|
- <span v-for="list in companyUserLists " :key="list.userId" v-if="list.id == id">{{list.qwUserName}}</span>
|
|
|
|
|
|
|
+ @close="handleClosegroupUser(id)"
|
|
|
|
|
+ >
|
|
|
|
|
+ <span v-for="list in companyUserLists " :key="list.userId" v-if="list.id == id"
|
|
|
|
|
+ >{{ list.qwUserName }}</span>
|
|
|
</el-tag>
|
|
</el-tag>
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="群聊">
|
|
<el-form-item label="群聊">
|
|
|
<el-select multiple filterable clearable v-model="addGroupData.form.chatIds">
|
|
<el-select multiple filterable clearable v-model="addGroupData.form.chatIds">
|
|
|
- <el-option v-for="item in addGroupData.selectChat" :key="item.chatId" :label="item.name" :value="item.chatId"/>
|
|
|
|
|
|
|
+ <el-option v-for="item in addGroupData.selectChat" :key="item.chatId" :label="item.name"
|
|
|
|
|
+ :value="item.chatId"
|
|
|
|
|
+ />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="日期">
|
|
<el-form-item label="日期">
|
|
@@ -300,7 +344,8 @@
|
|
|
v-model="addGroupData.form.date"
|
|
v-model="addGroupData.form.date"
|
|
|
type="date"
|
|
type="date"
|
|
|
value-format="yyyy-MM-dd"
|
|
value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择日期">
|
|
|
|
|
|
|
+ placeholder="选择日期"
|
|
|
|
|
+ >
|
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
@@ -309,6 +354,29 @@
|
|
|
<el-button @click="addGroupData.open = false">取 消</el-button>
|
|
<el-button @click="addGroupData.open = false">取 消</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+ <el-dialog title="链接" :visible.sync="mini.open" width="800px" append-to-body>
|
|
|
|
|
+
|
|
|
|
|
+ <el-form ref="msgForm" :model="addGroupData.form" label-width="100px">
|
|
|
|
|
+ <el-form-item label="小程序" prop="qwUserIds" style="margin-top: 2%">
|
|
|
|
|
+ <el-select v-model="mini.appId" placeholder="选择小程序" size="small">
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="miniApp in companyMiniAppList"
|
|
|
|
|
+ :key="miniApp.appid"
|
|
|
|
|
+ :label="miniApp.name"
|
|
|
|
|
+ :value="miniApp.appid"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="链接" prop="qwUserIds" style="margin-top: 2%" :loading="mini.loading">
|
|
|
|
|
+ {{ mini.link || "无" }}
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
|
|
+ <el-button type="primary" @click="genMiniLink">生 成</el-button>
|
|
|
|
|
+ <el-button @click="mini.open = false">取 消</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -318,37 +386,46 @@ import {
|
|
|
exportSopUserLogs,
|
|
exportSopUserLogs,
|
|
|
listSopUserLogs,
|
|
listSopUserLogs,
|
|
|
repairSopUserLogs,
|
|
repairSopUserLogs,
|
|
|
|
|
+ getShortLink,
|
|
|
getSelectChat,
|
|
getSelectChat,
|
|
|
addGroupChat,
|
|
addGroupChat,
|
|
|
- updateLogDate,UpdateTimeSopUserLogs,replaceUser
|
|
|
|
|
-} from "../../../api/qw/sopUserLogs";
|
|
|
|
|
-import sopLogsDetails from "@/views/qw/sopLogs/sopLogsList.vue";
|
|
|
|
|
-import SopUserLogsInfoDetails from "@/views/qw/sopUserLogsInfo/sopUserLogsInfoDetails.vue";
|
|
|
|
|
-import sendMsgOpenTool from "../../../views/qw/sopUserLogsInfo/sendMsgOpenTool.vue";
|
|
|
|
|
-import {listAll as chatListAll} from "@/api/qw/groupChat";
|
|
|
|
|
-import companyUserList from "@/views/company/companyUser/companyUserList.vue";
|
|
|
|
|
-import qwUserList from "@/views/qw/user/qwUserList.vue";
|
|
|
|
|
-import qwUserSelectOne from "@/views/qw/user/qwUserSelectOne.vue";
|
|
|
|
|
-import {getQwAllUserList, listUser} from "@/api/company/companyUser";
|
|
|
|
|
|
|
+ updateLogDate, UpdateTimeSopUserLogs, replaceUser
|
|
|
|
|
+} from '@/api/qw/sopUserLogs'
|
|
|
|
|
+import {
|
|
|
|
|
+ getCompanyMiniAppList
|
|
|
|
|
+} from '@/api/company/companyConfig'
|
|
|
|
|
+import sopLogsDetails from '@/views/qw/sopLogs/sopLogsList.vue'
|
|
|
|
|
+import SopUserLogsInfoDetails from '@/views/qw/sopUserLogsInfo/sopUserLogsInfoDetails.vue'
|
|
|
|
|
+import sendMsgOpenTool from '../../../views/qw/sopUserLogsInfo/sendMsgOpenTool.vue'
|
|
|
|
|
+import { listAll as chatListAll } from '@/api/qw/groupChat'
|
|
|
|
|
+import companyUserList from '@/views/company/companyUser/companyUserList.vue'
|
|
|
|
|
+import qwUserList from '@/views/qw/user/qwUserList.vue'
|
|
|
|
|
+import qwUserSelectOne from '@/views/qw/user/qwUserSelectOne.vue'
|
|
|
|
|
+import { getQwAllUserList, listUser } from '@/api/company/companyUser'
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
- name: "sopUserLogsSchedule",
|
|
|
|
|
- components: {qwUserList, qwUserSelectOne, companyUserList, SopUserLogsInfoDetails, sopLogsDetails,sendMsgOpenTool},
|
|
|
|
|
- props:{
|
|
|
|
|
- rowDetailFrom:{},
|
|
|
|
|
|
|
+ name: 'sopUserLogsSchedule',
|
|
|
|
|
+ components: { qwUserList, qwUserSelectOne, companyUserList, SopUserLogsInfoDetails, sopLogsDetails, sendMsgOpenTool },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ rowDetailFrom: {}
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
qwUserIds: [],
|
|
qwUserIds: [],
|
|
|
- sopUserLogId:null,
|
|
|
|
|
- companyUserLists:[],
|
|
|
|
|
- sopName:'',
|
|
|
|
|
- tempId:'',
|
|
|
|
|
|
|
+ sopUserLogId: null,
|
|
|
|
|
+ companyUserLists: [],
|
|
|
|
|
+ sopName: '',
|
|
|
|
|
+ tempId: '',
|
|
|
listUser: {
|
|
listUser: {
|
|
|
title: '选择发送人',
|
|
title: '选择发送人',
|
|
|
open: false
|
|
open: false
|
|
|
},
|
|
},
|
|
|
|
|
+ mini: {
|
|
|
|
|
+ open: false,
|
|
|
|
|
+ loading: false,
|
|
|
|
|
+ row: {},
|
|
|
|
|
+ },
|
|
|
// 遮罩层
|
|
// 遮罩层
|
|
|
loading: true,
|
|
loading: true,
|
|
|
// 导出遮罩层
|
|
// 导出遮罩层
|
|
@@ -366,17 +443,17 @@ export default {
|
|
|
showSearch: true,
|
|
showSearch: true,
|
|
|
// 总条数
|
|
// 总条数
|
|
|
total: 0,
|
|
total: 0,
|
|
|
- logsInfoDetailsOpen:{
|
|
|
|
|
- title:"",
|
|
|
|
|
- open:false,
|
|
|
|
|
|
|
+ logsInfoDetailsOpen: {
|
|
|
|
|
+ title: '',
|
|
|
|
|
+ open: false
|
|
|
},
|
|
},
|
|
|
- sysQwSopAiContentType:[],
|
|
|
|
|
- userSelectList:[],
|
|
|
|
|
|
|
+ sysQwSopAiContentType: [],
|
|
|
|
|
+ userSelectList: [],
|
|
|
// sopUserLogs表格数据
|
|
// sopUserLogs表格数据
|
|
|
sopUserLogsList: [],
|
|
sopUserLogsList: [],
|
|
|
- sopUserLogsDelStatus:[],
|
|
|
|
|
|
|
+ sopUserLogsDelStatus: [],
|
|
|
// 弹出层标题
|
|
// 弹出层标题
|
|
|
- title: "",
|
|
|
|
|
|
|
+ title: '',
|
|
|
// 是否显示弹出层
|
|
// 是否显示弹出层
|
|
|
open: false,
|
|
open: false,
|
|
|
// 查询参数
|
|
// 查询参数
|
|
@@ -385,22 +462,22 @@ export default {
|
|
|
userOpen: false,
|
|
userOpen: false,
|
|
|
selectChat: [],
|
|
selectChat: [],
|
|
|
form: {
|
|
form: {
|
|
|
- chatIds: [],
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ chatIds: []
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
updateTimeData: {
|
|
updateTimeData: {
|
|
|
open: false,
|
|
open: false,
|
|
|
form: {
|
|
form: {
|
|
|
- date: null,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ date: null
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
queryParams: {
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
pageSize: 10,
|
|
|
sopId: null,
|
|
sopId: null,
|
|
|
- userLogsId:null,
|
|
|
|
|
- externalUserName:null,
|
|
|
|
|
- externalId:null,
|
|
|
|
|
|
|
+ userLogsId: null,
|
|
|
|
|
+ externalUserName: null,
|
|
|
|
|
+ externalId: null,
|
|
|
sopTempId: null,
|
|
sopTempId: null,
|
|
|
qwUserId: null,
|
|
qwUserId: null,
|
|
|
qwUserName: null,
|
|
qwUserName: null,
|
|
@@ -408,85 +485,103 @@ export default {
|
|
|
startTime: null,
|
|
startTime: null,
|
|
|
status: null,
|
|
status: null,
|
|
|
userId: null,
|
|
userId: null,
|
|
|
- type:null,
|
|
|
|
|
|
|
+ type: null
|
|
|
},
|
|
},
|
|
|
- sendMsgOpen:{
|
|
|
|
|
- title:'营期一键批量群发',
|
|
|
|
|
- open:false,
|
|
|
|
|
- ids:null,
|
|
|
|
|
|
|
+ sendMsgOpen: {
|
|
|
|
|
+ title: '营期一键批量群发',
|
|
|
|
|
+ open: false,
|
|
|
|
|
+ ids: null
|
|
|
},
|
|
},
|
|
|
- setting:[],
|
|
|
|
|
|
|
+ setting: [],
|
|
|
|
|
+ companyMiniAppList: [],
|
|
|
// 表单参数
|
|
// 表单参数
|
|
|
form: {},
|
|
form: {},
|
|
|
tempForm: {
|
|
tempForm: {
|
|
|
- setting:null,
|
|
|
|
|
- videoIdSet:null,
|
|
|
|
|
- courseIdSet:null,
|
|
|
|
|
|
|
+ setting: null,
|
|
|
|
|
+ videoIdSet: null,
|
|
|
|
|
+ courseIdSet: null
|
|
|
},
|
|
},
|
|
|
// 表单校验
|
|
// 表单校验
|
|
|
- rules: {
|
|
|
|
|
- }
|
|
|
|
|
- };
|
|
|
|
|
|
|
+ rules: {}
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
created() {
|
|
created() {
|
|
|
|
|
|
|
|
- this.getDicts("sys_company_status").then(response => {
|
|
|
|
|
- this.statusOptions = response.data;
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- this.getDicts("sop_user_logs_del_status").then(response => {
|
|
|
|
|
- this.sopUserLogsDelStatus = response.data;
|
|
|
|
|
- });
|
|
|
|
|
- this.getDicts("sys_qwSopAi_contentType").then(response => {
|
|
|
|
|
- this.sysQwSopAiContentType = response.data;
|
|
|
|
|
- });
|
|
|
|
|
- this.queryParams.sopId = this.$route.params.id;
|
|
|
|
|
- this.sopName = this.$route.query.name;
|
|
|
|
|
- this.filterMode = this.$route.query.filterMode;
|
|
|
|
|
- this.tempId = this.$route.query.tempId;
|
|
|
|
|
- this.queryParams.corpId= this.$route.query.corpId;
|
|
|
|
|
- this.queryParams.type= this.$route.query.type;
|
|
|
|
|
|
|
+ this.getDicts('sys_company_status').then(response => {
|
|
|
|
|
+ this.statusOptions = response.data
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ this.getDicts('sop_user_logs_del_status').then(response => {
|
|
|
|
|
+ this.sopUserLogsDelStatus = response.data
|
|
|
|
|
+ })
|
|
|
|
|
+ this.getDicts('sys_qwSopAi_contentType').then(response => {
|
|
|
|
|
+ this.sysQwSopAiContentType = response.data
|
|
|
|
|
+ })
|
|
|
|
|
+ this.queryParams.sopId = this.$route.params.id
|
|
|
|
|
+ this.sopName = this.$route.query.name
|
|
|
|
|
+ this.filterMode = this.$route.query.filterMode
|
|
|
|
|
+ this.tempId = this.$route.query.tempId
|
|
|
|
|
+ this.queryParams.corpId = this.$route.query.corpId
|
|
|
|
|
+ this.queryParams.type = this.$route.query.type
|
|
|
getQwAllUserList(this.queryParams.corpId).then(response => {
|
|
getQwAllUserList(this.queryParams.corpId).then(response => {
|
|
|
- this.companyUserLists = response.data;
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ this.companyUserLists = response.data
|
|
|
|
|
+ })
|
|
|
this.getList()
|
|
this.getList()
|
|
|
|
|
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
- selectSenderSingle(user){
|
|
|
|
|
- this.listUser.open=false;
|
|
|
|
|
- const data = { ids: this.ids };
|
|
|
|
|
|
|
+ selectSenderSingle(user) {
|
|
|
|
|
+ this.listUser.open = false
|
|
|
|
|
+ const data = { ids: this.ids }
|
|
|
// 仅在选中员工时携带 actualQwUserId 与 actualQwId,否则两字段均不传,后端按清空处理
|
|
// 仅在选中员工时携带 actualQwUserId 与 actualQwId,否则两字段均不传,后端按清空处理
|
|
|
if (user && user.qwUserId) {
|
|
if (user && user.qwUserId) {
|
|
|
- data.actualQwUserId = user.qwUserId;
|
|
|
|
|
- data.actualQwId = user.id;
|
|
|
|
|
|
|
+ data.actualQwUserId = user.qwUserId
|
|
|
|
|
+ data.actualQwId = user.id
|
|
|
}
|
|
}
|
|
|
replaceUser(data).then(res => {
|
|
replaceUser(data).then(res => {
|
|
|
- this.msgSuccess(user && user.qwUserId ? "修改成功" : "已清空实际发送人");
|
|
|
|
|
- this.getList();
|
|
|
|
|
|
|
+ this.msgSuccess(user && user.qwUserId ? '修改成功' : '已清空实际发送人')
|
|
|
|
|
+ this.getList()
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ getLink(row) {
|
|
|
|
|
+ getCompanyMiniAppList().then(res => {
|
|
|
|
|
+ this.companyMiniAppList = res.data
|
|
|
|
|
+ this.mini.open = true;
|
|
|
|
|
+ this.mini.row = row;
|
|
|
|
|
+ }).catch(res => {
|
|
|
|
|
+ console.log(res)
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ genMiniLink() {
|
|
|
|
|
+ this.mini.loading = true;
|
|
|
|
|
+ getShortLink({ id: this.mini.row.id, sopId: this.mini.row.sopId, appId: this.mini.appId }).then(response => {
|
|
|
|
|
+ this.mini.link = response.urlLink;
|
|
|
|
|
+ this.$forceUpdate();
|
|
|
|
|
+ }).finally(e =>{
|
|
|
|
|
+ this.mini.loading = false;
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
/** 查询sopUserLogs列表 */
|
|
/** 查询sopUserLogs列表 */
|
|
|
getList() {
|
|
getList() {
|
|
|
- this.loading = true;
|
|
|
|
|
|
|
+ this.loading = true
|
|
|
listSopUserLogs(this.queryParams).then(response => {
|
|
listSopUserLogs(this.queryParams).then(response => {
|
|
|
- this.sopUserLogsList = response.rows;
|
|
|
|
|
- this.total = response.total;
|
|
|
|
|
- this.loading = false;
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ this.sopUserLogsList = response.rows
|
|
|
|
|
+ this.total = response.total
|
|
|
|
|
+ this.loading = false
|
|
|
|
|
+ })
|
|
|
},
|
|
},
|
|
|
// 取消按钮
|
|
// 取消按钮
|
|
|
cancel() {
|
|
cancel() {
|
|
|
- this.open = false;
|
|
|
|
|
- this.reset();
|
|
|
|
|
|
|
+ this.open = false
|
|
|
|
|
+ this.reset()
|
|
|
},
|
|
},
|
|
|
- addSetList(){
|
|
|
|
|
|
|
+ addSetList() {
|
|
|
const newSetting = {
|
|
const newSetting = {
|
|
|
- contentType:'1',
|
|
|
|
|
- value: '',
|
|
|
|
|
- };
|
|
|
|
|
|
|
+ contentType: '1',
|
|
|
|
|
+ value: ''
|
|
|
|
|
+ }
|
|
|
// 将新设置项添加到 content.setting 数组中
|
|
// 将新设置项添加到 content.setting 数组中
|
|
|
- this.setting.push(newSetting);
|
|
|
|
|
|
|
+ this.setting.push(newSetting)
|
|
|
|
|
|
|
|
},
|
|
},
|
|
|
// 表单重置
|
|
// 表单重置
|
|
@@ -496,189 +591,190 @@ export default {
|
|
|
sopId: null,
|
|
sopId: null,
|
|
|
sopTempId: null,
|
|
sopTempId: null,
|
|
|
qwUserId: null,
|
|
qwUserId: null,
|
|
|
- externalId:null,
|
|
|
|
|
|
|
+ externalId: null,
|
|
|
corpId: null,
|
|
corpId: null,
|
|
|
startTime: null,
|
|
startTime: null,
|
|
|
status: 0,
|
|
status: 0,
|
|
|
userId: null
|
|
userId: null
|
|
|
- };
|
|
|
|
|
- this.resetForm("form");
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ this.resetForm('form')
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 营期一键群发
|
|
* 营期一键群发
|
|
|
*/
|
|
*/
|
|
|
- handleCampSendMsg(){
|
|
|
|
|
|
|
+ handleCampSendMsg() {
|
|
|
|
|
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
|
- this.$refs.sendMsgOpenTool.oneClickGroupSending(this.ids,2,this.queryParams.corpId);
|
|
|
|
|
- }, 500);
|
|
|
|
|
|
|
+ this.$refs.sendMsgOpenTool.oneClickGroupSending(this.ids, 2, this.queryParams.corpId)
|
|
|
|
|
+ }, 500)
|
|
|
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
|
|
+ /**
|
|
|
* 批量更换实际发送人
|
|
* 批量更换实际发送人
|
|
|
*/
|
|
*/
|
|
|
handleUpdateSender() {
|
|
handleUpdateSender() {
|
|
|
- this.listUser.open = true;
|
|
|
|
|
|
|
+ this.listUser.open = true
|
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
|
- this.$refs.QwUserListSender.getDetails(this.queryParams.corpId);
|
|
|
|
|
|
|
+ this.$refs.QwUserListSender.getDetails(this.queryParams.corpId)
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
/**
|
|
/**
|
|
|
* 删除营期
|
|
* 删除营期
|
|
|
*/
|
|
*/
|
|
|
- handleDeleteUserLogs(){
|
|
|
|
|
- const ids = this.ids;
|
|
|
|
|
- this.$confirm('是否确认删除编号为"' + ids + '"的数据项【注意!!删除后不可恢复,请谨慎操作】?', "警告", {
|
|
|
|
|
- confirmButtonText: "确定",
|
|
|
|
|
- cancelButtonText: "取消",
|
|
|
|
|
- type: "warning"
|
|
|
|
|
|
|
+ handleDeleteUserLogs() {
|
|
|
|
|
+ const ids = this.ids
|
|
|
|
|
+ this.$confirm('是否确认删除编号为"' + ids + '"的数据项【注意!!删除后不可恢复,请谨慎操作】?', '警告', {
|
|
|
|
|
+ confirmButtonText: '确定',
|
|
|
|
|
+ cancelButtonText: '取消',
|
|
|
|
|
+ type: 'warning'
|
|
|
}).then(function() {
|
|
}).then(function() {
|
|
|
- return delSopUserLogs(ids);
|
|
|
|
|
|
|
+ return delSopUserLogs(ids)
|
|
|
}).then(() => {
|
|
}).then(() => {
|
|
|
- this.getList();
|
|
|
|
|
- this.msgSuccess("删除成功");
|
|
|
|
|
- }).catch(() => {});
|
|
|
|
|
|
|
+ this.getList()
|
|
|
|
|
+ this.msgSuccess('删除成功')
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
|
+ })
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
/** 搜索按钮操作 */
|
|
/** 搜索按钮操作 */
|
|
|
handleQuery() {
|
|
handleQuery() {
|
|
|
- this.queryParams.pageNum = 1;
|
|
|
|
|
- this.getList();
|
|
|
|
|
|
|
+ this.queryParams.pageNum = 1
|
|
|
|
|
+ this.getList()
|
|
|
},
|
|
},
|
|
|
/** 重置按钮操作 */
|
|
/** 重置按钮操作 */
|
|
|
resetQuery() {
|
|
resetQuery() {
|
|
|
- this.resetForm("queryForm");
|
|
|
|
|
- this.handleQuery();
|
|
|
|
|
|
|
+ this.resetForm('queryForm')
|
|
|
|
|
+ this.handleQuery()
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
- flashNotify(){
|
|
|
|
|
- this.getList();
|
|
|
|
|
|
|
+ flashNotify() {
|
|
|
|
|
+ this.getList()
|
|
|
},
|
|
},
|
|
|
// 多选框选中数据
|
|
// 多选框选中数据
|
|
|
handleSelectionChange(selection) {
|
|
handleSelectionChange(selection) {
|
|
|
this.ids = selection.map(item => item.id)
|
|
this.ids = selection.map(item => item.id)
|
|
|
- if(this.filterMode == 2){
|
|
|
|
|
- this.chatNames = selection.map(item => item.chatName);
|
|
|
|
|
|
|
+ if (this.filterMode == 2) {
|
|
|
|
|
+ this.chatNames = selection.map(item => item.chatName)
|
|
|
}
|
|
}
|
|
|
- this.single = selection.length!==1
|
|
|
|
|
|
|
+ this.single = selection.length !== 1
|
|
|
this.multiple = !selection.length
|
|
this.multiple = !selection.length
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
- handleSelect(val){
|
|
|
|
|
- val.filterMode = this.filterMode;
|
|
|
|
|
- this.logsInfoDetailsOpen.title='企微账号:'+val.qwUserId+' '+'营期时间:'+val.startTime+' '+'天数:' + val.countDays;
|
|
|
|
|
- this.logsInfoDetailsOpen.open=true;
|
|
|
|
|
- const externalUserName = this.queryParams.externalUserName;
|
|
|
|
|
|
|
+ handleSelect(val) {
|
|
|
|
|
+ val.filterMode = this.filterMode
|
|
|
|
|
+ this.logsInfoDetailsOpen.title = '企微账号:' + val.qwUserId + ' ' + '营期时间:' + val.startTime + ' ' + '天数:' + val.countDays
|
|
|
|
|
+ this.logsInfoDetailsOpen.open = true
|
|
|
|
|
+ const externalUserName = this.queryParams.externalUserName
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
|
- this.$refs.SopUserLogsInfoDetails.selectSopUserLogsInfo(val, externalUserName);
|
|
|
|
|
- }, 500);
|
|
|
|
|
|
|
+ this.$refs.SopUserLogsInfoDetails.selectSopUserLogsInfo(val, externalUserName)
|
|
|
|
|
+ }, 500)
|
|
|
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
handleRepairLogs(val) {
|
|
handleRepairLogs(val) {
|
|
|
- this.loading = true;
|
|
|
|
|
|
|
+ this.loading = true
|
|
|
let loadingRock = this.$loading({
|
|
let loadingRock = this.$loading({
|
|
|
lock: true,
|
|
lock: true,
|
|
|
text: '正在修复中请稍后~~!!',
|
|
text: '正在修复中请稍后~~!!',
|
|
|
spinner: 'el-icon-loading',
|
|
spinner: 'el-icon-loading',
|
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
|
- });
|
|
|
|
|
|
|
+ })
|
|
|
|
|
|
|
|
repairSopUserLogs(val).then(res => {
|
|
repairSopUserLogs(val).then(res => {
|
|
|
- this.msgSuccess("修复成功成功");
|
|
|
|
|
|
|
+ this.msgSuccess('修复成功成功')
|
|
|
}).catch(res => {
|
|
}).catch(res => {
|
|
|
}).finally(res => {
|
|
}).finally(res => {
|
|
|
- loadingRock.close();
|
|
|
|
|
- this.loading = false;
|
|
|
|
|
- this.getList();
|
|
|
|
|
|
|
+ loadingRock.close()
|
|
|
|
|
+ this.loading = false
|
|
|
|
|
+ this.getList()
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
},
|
|
},
|
|
|
/** 导出按钮操作 */
|
|
/** 导出按钮操作 */
|
|
|
handleExport() {
|
|
handleExport() {
|
|
|
- const queryParams = this.queryParams;
|
|
|
|
|
- this.$confirm('是否确认导出所有sopUserLogs数据项?', "警告", {
|
|
|
|
|
- confirmButtonText: "确定",
|
|
|
|
|
- cancelButtonText: "取消",
|
|
|
|
|
- type: "warning"
|
|
|
|
|
|
|
+ const queryParams = this.queryParams
|
|
|
|
|
+ this.$confirm('是否确认导出所有sopUserLogs数据项?', '警告', {
|
|
|
|
|
+ confirmButtonText: '确定',
|
|
|
|
|
+ cancelButtonText: '取消',
|
|
|
|
|
+ type: 'warning'
|
|
|
}).then(() => {
|
|
}).then(() => {
|
|
|
- this.exportLoading = true;
|
|
|
|
|
- return exportSopUserLogs(queryParams);
|
|
|
|
|
|
|
+ this.exportLoading = true
|
|
|
|
|
+ return exportSopUserLogs(queryParams)
|
|
|
}).then(response => {
|
|
}).then(response => {
|
|
|
- this.download(response.msg);
|
|
|
|
|
- this.exportLoading = false;
|
|
|
|
|
|
|
+ this.download(response.msg)
|
|
|
|
|
+ this.exportLoading = false
|
|
|
}).catch(() => {
|
|
}).catch(() => {
|
|
|
- });
|
|
|
|
|
|
|
+ })
|
|
|
},
|
|
},
|
|
|
addGroup() {
|
|
addGroup() {
|
|
|
- this.addGroupData.open = true;
|
|
|
|
|
- this.addGroupData.form = {date: new Date(), chatIds: []};
|
|
|
|
|
|
|
+ this.addGroupData.open = true
|
|
|
|
|
+ this.addGroupData.form = { date: new Date(), chatIds: [] }
|
|
|
},
|
|
},
|
|
|
updateGroupTime() {
|
|
updateGroupTime() {
|
|
|
- this.updateTimeData.open = true;
|
|
|
|
|
- this.updateTimeData.form = {date: new Date()};
|
|
|
|
|
|
|
+ this.updateTimeData.open = true
|
|
|
|
|
+ this.updateTimeData.form = { date: new Date() }
|
|
|
},
|
|
},
|
|
|
submitUpdateTimeForm() {
|
|
submitUpdateTimeForm() {
|
|
|
let form = {
|
|
let form = {
|
|
|
date: this.updateTimeData.form.date,
|
|
date: this.updateTimeData.form.date,
|
|
|
- ids: this.ids,
|
|
|
|
|
|
|
+ ids: this.ids
|
|
|
}
|
|
}
|
|
|
updateLogDate(form).then(response => {
|
|
updateLogDate(form).then(response => {
|
|
|
- if (response.data!=null){
|
|
|
|
|
- this.msgInfo("部分时间已有营期:"+response.data);
|
|
|
|
|
|
|
+ if (response.data != null) {
|
|
|
|
|
+ this.msgInfo('部分时间已有营期:' + response.data)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- this.updateTimeData.open = false;
|
|
|
|
|
- this.getList();
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ this.updateTimeData.open = false
|
|
|
|
|
+ this.getList()
|
|
|
|
|
+ })
|
|
|
},
|
|
},
|
|
|
submitAddGroupForm() {
|
|
submitAddGroupForm() {
|
|
|
let form = {
|
|
let form = {
|
|
|
id: this.queryParams.sopId,
|
|
id: this.queryParams.sopId,
|
|
|
qwUserIds: this.userSelectList.join(),
|
|
qwUserIds: this.userSelectList.join(),
|
|
|
chatIds: this.addGroupData.form.chatIds.join(),
|
|
chatIds: this.addGroupData.form.chatIds.join(),
|
|
|
- date: this.addGroupData.form.date,
|
|
|
|
|
|
|
+ date: this.addGroupData.form.date
|
|
|
}
|
|
}
|
|
|
addGroupChat(form).then(e => {
|
|
addGroupChat(form).then(e => {
|
|
|
- this.addGroupData.open = false;
|
|
|
|
|
- this.getList();
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ this.addGroupData.open = false
|
|
|
|
|
+ this.getList()
|
|
|
|
|
+ })
|
|
|
},
|
|
},
|
|
|
handleCompanyUser() {
|
|
handleCompanyUser() {
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
|
- this.$refs.QwUserList.getDetails(this.queryParams.corpId, this.queryParams.type, 2);
|
|
|
|
|
- }, 1);
|
|
|
|
|
- this.addGroupData.userOpen = true;
|
|
|
|
|
|
|
+ this.$refs.QwUserList.getDetails(this.queryParams.corpId, this.queryParams.type, 2)
|
|
|
|
|
+ }, 1)
|
|
|
|
|
+ this.addGroupData.userOpen = true
|
|
|
},
|
|
},
|
|
|
handleClosegroupUser(list) {
|
|
handleClosegroupUser(list) {
|
|
|
- const index = this.userSelectList.findIndex(t => t === list);
|
|
|
|
|
|
|
+ const index = this.userSelectList.findIndex(t => t === list)
|
|
|
if (index !== -1) {
|
|
if (index !== -1) {
|
|
|
- this.userSelectList.splice(index, 1);
|
|
|
|
|
- this.qwUserIds.splice(index, 1);
|
|
|
|
|
|
|
+ this.userSelectList.splice(index, 1)
|
|
|
|
|
+ this.qwUserIds.splice(index, 1)
|
|
|
this.loadChatList()
|
|
this.loadChatList()
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
loadChatList() {
|
|
loadChatList() {
|
|
|
chatListAll(this.qwUserIds.join(), this.queryParams.corpId, this.queryParams.sopId).then(e => {
|
|
chatListAll(this.qwUserIds.join(), this.queryParams.corpId, this.queryParams.sopId).then(e => {
|
|
|
- this.addGroupData.selectChat = e.data;
|
|
|
|
|
|
|
+ this.addGroupData.selectChat = e.data
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
selectUserList(list) {
|
|
selectUserList(list) {
|
|
|
- this.addGroupData.userOpen = false;
|
|
|
|
|
|
|
+ this.addGroupData.userOpen = false
|
|
|
list.forEach(obj => {
|
|
list.forEach(obj => {
|
|
|
if (!this.userSelectList.some(item => item == obj.id)) {
|
|
if (!this.userSelectList.some(item => item == obj.id)) {
|
|
|
console.info(this.userSelectList)
|
|
console.info(this.userSelectList)
|
|
|
- this.userSelectList.push(obj.id);
|
|
|
|
|
- this.qwUserIds.push(obj.qwUserId);
|
|
|
|
|
|
|
+ this.userSelectList.push(obj.id)
|
|
|
|
|
+ this.qwUserIds.push(obj.qwUserId)
|
|
|
}
|
|
}
|
|
|
- });
|
|
|
|
|
|
|
+ })
|
|
|
this.loadChatList()
|
|
this.loadChatList()
|
|
|
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
-};
|
|
|
|
|
|
|
+}
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style>
|
|
<style>
|