|
@@ -2,28 +2,21 @@
|
|
<div class="app-container">
|
|
<div class="app-container">
|
|
<el-form :model="queryParams" ref="queryForm" v-show="showSearch" :inline="true">
|
|
<el-form :model="queryParams" ref="queryForm" v-show="showSearch" :inline="true">
|
|
<el-form-item label="" prop="accountIds">
|
|
<el-form-item label="" prop="accountIds">
|
|
- <el-input
|
|
|
|
- v-model="queryParams.accountIds"
|
|
|
|
- placeholder="请输入广告主ID"
|
|
|
|
- clearable
|
|
|
|
- size="small"
|
|
|
|
- style="width: 240px"
|
|
|
|
- type="textarea"
|
|
|
|
- :rows="2"
|
|
|
|
- />
|
|
|
|
|
|
+ <el-input v-model="queryParams.accountIds" placeholder="请输入广告主ID" clearable size="small"
|
|
|
|
+ style="width: 200px" type="textarea" :rows="2" />
|
|
<el-tooltip class="item" effect="dark" content="支持多个,多个以逗号隔开,例:17650049,18593629" placement="top">
|
|
<el-tooltip class="item" effect="dark" content="支持多个,多个以逗号隔开,例:17650049,18593629" placement="top">
|
|
<i class="el-icon-question"></i>
|
|
<i class="el-icon-question"></i>
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="" prop="wechatAccountName">
|
|
<el-form-item label="" prop="wechatAccountName">
|
|
- <el-input
|
|
|
|
- v-model="queryParams.wechatAccountName"
|
|
|
|
- placeholder="公众号名称"
|
|
|
|
- clearable
|
|
|
|
- size="small"
|
|
|
|
- style="width: 240px"
|
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
|
- />
|
|
|
|
|
|
+ <el-input v-model="queryParams.wechatAccountName" placeholder="公众号名称" clearable size="small"
|
|
|
|
+ style="width: 140px" @keyup.enter.native="handleQuery" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="" prop="putUserId">
|
|
|
|
+ <el-select v-model="queryParams.putUserId" placeholder="请选择投手" clearable filterable style="width: 140px"
|
|
|
|
+ size="small" @keyup.enter.native="handleQuery">
|
|
|
|
+ <el-option v-for="item in userAll" :key="item.id" :label="item.nickName" :value="item.id" />
|
|
|
|
+ </el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="" prop="sourceType">
|
|
<el-form-item label="" prop="sourceType">
|
|
<el-radio-group v-model="queryParams.sourceType" size="small" @change="getList">
|
|
<el-radio-group v-model="queryParams.sourceType" size="small" @change="getList">
|
|
@@ -42,134 +35,105 @@
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<div class="grid-content">
|
|
<div class="grid-content">
|
|
<el-radio-group v-model="queryParams.adAppId" size="small" @change="getList">
|
|
<el-radio-group v-model="queryParams.adAppId" size="small" @change="getList">
|
|
- <el-radio :label="item.id" v-for="item in tenAllList" :key="item.id">{{item.appName}}</el-radio>
|
|
|
|
|
|
+ <el-radio :label="item.id" v-for="item in tenAllList" :key="item.id">{{ item.appName }}</el-radio>
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</div>
|
|
</div>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<div class="grid-content">
|
|
<div class="grid-content">
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- icon="el-icon-plus"
|
|
|
|
- size="mini"
|
|
|
|
- @click="handleWarrantOld"
|
|
|
|
- >授权广告平台</el-button>
|
|
|
|
|
|
+ <el-button type="primary" icon="el-icon-plus" size="mini"
|
|
|
|
+ @click="handleWarrantOld">授权广告平台</el-button>
|
|
</div>
|
|
</div>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<div class="grid-content">
|
|
<div class="grid-content">
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- size="mini"
|
|
|
|
- @click="handleTenEdit"
|
|
|
|
- >腾讯广告应用管理</el-button>
|
|
|
|
|
|
+ <el-button type="primary" size="mini" @click="handleTenEdit">腾讯广告应用管理</el-button>
|
|
</div>
|
|
</div>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<div class="grid-content">
|
|
<div class="grid-content">
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- size="mini"
|
|
|
|
- icon="el-icon-refresh"
|
|
|
|
- :disabled="multiple"
|
|
|
|
- :loading="reLoading"
|
|
|
|
- @click="refreshServer"
|
|
|
|
- >刷新服务商</el-button>
|
|
|
|
|
|
+ <el-button type="primary" size="mini" icon="el-icon-refresh" :disabled="multiple"
|
|
|
|
+ :loading="reLoading" @click="refreshServer">刷新服务商</el-button>
|
|
</div>
|
|
</div>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<div class="grid-content">
|
|
<div class="grid-content">
|
|
- <el-button
|
|
|
|
- type="success"
|
|
|
|
- size="mini"
|
|
|
|
- icon="el-icon-sort"
|
|
|
|
- :disabled="multiple"
|
|
|
|
- :loading="reLoading"
|
|
|
|
- @click="putsHandle"
|
|
|
|
- >指派</el-button>
|
|
|
|
|
|
+ <el-button type="success" size="mini" icon="el-icon-sort" :disabled="multiple" :loading="reLoading"
|
|
|
|
+ @click="putsHandle">指派</el-button>
|
|
</div>
|
|
</div>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<div class="grid-content">
|
|
<div class="grid-content">
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- size="mini"
|
|
|
|
- icon="el-icon-refresh"
|
|
|
|
- @click="warrantsHandle"
|
|
|
|
- >批量授权</el-button>
|
|
|
|
|
|
+ <el-button type="primary" size="mini" icon="el-icon-refresh"
|
|
|
|
+ @click="warrantsHandle">批量授权</el-button>
|
|
</div>
|
|
</div>
|
|
</el-col>
|
|
</el-col>
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
- <el-table :data="adList" @selection-change="handleSelectionChange">
|
|
|
|
- <el-table-column type="selection" width="45" align="center" fixed/>
|
|
|
|
- <el-table-column label="ID" prop="id" fixed width="75" align="center"/>
|
|
|
|
- <el-table-column label="广告主ID" prop="accountId" align="center" width="100" fixed/>
|
|
|
|
|
|
+ <el-table :data="adList" @selection-change="handleSelectionChange" v-loading="tabLoading">
|
|
|
|
+ <el-table-column type="selection" width="45" align="center" fixed />
|
|
|
|
+ <el-table-column label="ID" prop="id" fixed width="75" align="center" />
|
|
|
|
+ <el-table-column label="广告主ID" prop="accountId" align="center" width="100" fixed />
|
|
<el-table-column label="类型" prop="sourceType" align="center" width="70">
|
|
<el-table-column label="类型" prop="sourceType" align="center" width="70">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <div>{{scope.row.sourceType == 0 ? '微信' : 'QQ'}}</div>
|
|
|
|
|
|
+ <div>{{ scope.row.sourceType == 0 ? '微信' : 'QQ' }}</div>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="投手" prop="putUserId" align="center" width="100">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <div>{{ scope.row.putUserInfo ? scope.row.putUserInfo.nickName : scope.row.putUserId }}</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="投手ID" prop="putUserId" align="center" width="100"/>
|
|
|
|
<el-table-column label="公众号信息" align="center" width="150" :show-overflow-tooltip="true">
|
|
<el-table-column label="公众号信息" align="center" width="150" :show-overflow-tooltip="true">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<el-row align="middle" type="flex" justify="center">
|
|
<el-row align="middle" type="flex" justify="center">
|
|
<div class="verticalCenter">
|
|
<div class="verticalCenter">
|
|
- <div><strong>{{scope.row.wechatAccountName}}</strong></div>
|
|
|
|
- <div style="color: rgb(136, 136, 136); font-size: 13px;">{{scope.row.wechatAccountId}}</div>
|
|
|
|
|
|
+ <div><strong>{{ scope.row.wechatAccountName }}</strong></div>
|
|
|
|
+ <div style="color: rgb(136, 136, 136); font-size: 13px;">{{ scope.row.wechatAccountId }}</div>
|
|
</div>
|
|
</div>
|
|
</el-row>
|
|
</el-row>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="企业名称" prop="corporationName" align="center" width="120">
|
|
|
|
|
|
+ <el-table-column label="企业名称" prop="corporationName" align="center" width="180">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<el-tooltip placement="top" effect="light">
|
|
<el-tooltip placement="top" effect="light">
|
|
- <div slot="content">{{scope.row.corporationName}}</div>
|
|
|
|
|
|
+ <div slot="content">{{ scope.row.corporationName }}</div>
|
|
<div class="name-wrapper">
|
|
<div class="name-wrapper">
|
|
- <p>{{ scope.row.corporationName }}</p>
|
|
|
|
|
|
+ <div>{{ scope.row.corporationName }}</div>
|
|
</div>
|
|
</div>
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="服务商id列表" prop="agencyIdList" align="center">
|
|
|
|
|
|
+ <el-table-column label="服务商id列表" prop="agencyIdList" align="center" width="130">
|
|
<template slot-scope="scope" v-if="scope.row.agencyIdList && scope.row.agencyIdList.length > 0">
|
|
<template slot-scope="scope" v-if="scope.row.agencyIdList && scope.row.agencyIdList.length > 0">
|
|
<el-tooltip placement="top" effect="light">
|
|
<el-tooltip placement="top" effect="light">
|
|
- <div slot="content">{{JSON.parse(scope.row.agencyIdList).toString()}}</div>
|
|
|
|
- <div class="name-wrapper">
|
|
|
|
- <p>{{ JSON.parse(scope.row.agencyIdList).toString() }}</p>
|
|
|
|
- </div>
|
|
|
|
- </el-tooltip>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column label="行业ID" prop="systemIndustryId" align="center">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <el-tooltip placement="top" effect="light">
|
|
|
|
- <div slot="content">{{scope.row.systemIndustryId}}</div>
|
|
|
|
|
|
+ <div slot="content">{{ JSON.parse(scope.row.agencyIdList).toString() }}</div>
|
|
<div class="name-wrapper">
|
|
<div class="name-wrapper">
|
|
- <p>{{ scope.row.systemIndustryId }}</p>
|
|
|
|
|
|
+ <div>{{ JSON.parse(scope.row.agencyIdList).toString() }}</div>
|
|
</div>
|
|
</div>
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="授权状态" prop="authStatus" align="center" width="80"/>
|
|
|
|
- <el-table-column label="日限额(分)" prop="dailyBudget" align="center" width="100"/>
|
|
|
|
- <el-table-column label="accessToken" prop="accessToken" align="center" width="110">
|
|
|
|
|
|
+ <el-table-column label="行业ID" prop="systemIndustryId" align="center" width="110" />
|
|
|
|
+ <el-table-column label="授权状态" prop="authStatus" align="center" width="80" />
|
|
|
|
+ <el-table-column label="日限额(分)" prop="dailyBudget" align="center" width="100" />
|
|
|
|
+ <el-table-column label="accessToken" prop="accessToken" align="center" width="150">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<el-tooltip placement="top" effect="light">
|
|
<el-tooltip placement="top" effect="light">
|
|
- <div slot="content">{{scope.row.accessToken}}</div>
|
|
|
|
|
|
+ <div slot="content">{{ scope.row.accessToken }}</div>
|
|
<div class="name-wrapper">
|
|
<div class="name-wrapper">
|
|
- <p>{{ scope.row.accessToken }}</p>
|
|
|
|
|
|
+ <div>{{ scope.row.accessToken }}</div>
|
|
</div>
|
|
</div>
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="refreshToken" prop="refreshToken" align="center" width="110">
|
|
|
|
|
|
+ <el-table-column label="refreshToken" prop="refreshToken" align="center" width="150">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<el-tooltip placement="top" effect="light">
|
|
<el-tooltip placement="top" effect="light">
|
|
- <div slot="content">{{scope.row.refreshToken}}</div>
|
|
|
|
|
|
+ <div slot="content">{{ scope.row.refreshToken }}</div>
|
|
<div class="name-wrapper">
|
|
<div class="name-wrapper">
|
|
- <p>{{ scope.row.refreshToken }}</p>
|
|
|
|
|
|
+ <div>{{ scope.row.refreshToken }}</div>
|
|
</div>
|
|
</div>
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
</template>
|
|
</template>
|
|
@@ -179,51 +143,27 @@
|
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="120">
|
|
|
|
|
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="80">
|
|
<template slot-scope="scope" v-if="scope.row.id && typeof scope.row.id === 'number'">
|
|
<template slot-scope="scope" v-if="scope.row.id && typeof scope.row.id === 'number'">
|
|
- <el-button
|
|
|
|
- size="mini"
|
|
|
|
- type="text"
|
|
|
|
- icon="el-icon-sort"
|
|
|
|
- v-hasPermi="['adWarrant:switch']"
|
|
|
|
- @click="puthangdle(scope.row)"
|
|
|
|
- >指派</el-button>
|
|
|
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-sort" v-hasPermi="['adWarrant:switch']"
|
|
|
|
+ @click="puthangdle(scope.row)">指派</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
|
|
|
|
- <pagination
|
|
|
|
- v-show="total>0"
|
|
|
|
- :total="total"
|
|
|
|
- :page.sync="queryParams.pageNum"
|
|
|
|
- :limit.sync="queryParams.pageSize"
|
|
|
|
- @pagination="getList"
|
|
|
|
- />
|
|
|
|
|
|
+ <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
|
|
|
+ @pagination="getList" />
|
|
|
|
|
|
<!-- 腾讯广告应用管理 -->
|
|
<!-- 腾讯广告应用管理 -->
|
|
- <el-dialog
|
|
|
|
- title="腾讯广告应用管理"
|
|
|
|
- :visible.sync="openTenEditSwitch"
|
|
|
|
- width="950px"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-dialog title="腾讯广告应用管理" :visible.sync="openTenEditSwitch" width="950px">
|
|
<el-form :model="tenQueryForm" ref="tenqueryForm" :inline="true">
|
|
<el-form :model="tenQueryForm" ref="tenqueryForm" :inline="true">
|
|
<el-form-item label="" prop="clientId">
|
|
<el-form-item label="" prop="clientId">
|
|
- <el-input
|
|
|
|
- v-model="tenQueryForm.clientId"
|
|
|
|
- placeholder="请输入应用ID"
|
|
|
|
- clearable
|
|
|
|
- size="small"
|
|
|
|
- style="width: 150px"
|
|
|
|
- />
|
|
|
|
|
|
+ <el-input v-model="tenQueryForm.clientId" placeholder="请输入应用ID" clearable size="small"
|
|
|
|
+ style="width: 150px" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="" prop="appName">
|
|
<el-form-item label="" prop="appName">
|
|
- <el-input
|
|
|
|
- v-model="tenQueryForm.appName"
|
|
|
|
- placeholder="应用名称"
|
|
|
|
- clearable
|
|
|
|
- size="small"
|
|
|
|
- style="width: 150px"
|
|
|
|
- />
|
|
|
|
|
|
+ <el-input v-model="tenQueryForm.appName" placeholder="应用名称" clearable size="small"
|
|
|
|
+ style="width: 150px" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="" prop="enabled">
|
|
<el-form-item label="" prop="enabled">
|
|
<el-radio-group v-model="tenQueryForm.enabled" size="small">
|
|
<el-radio-group v-model="tenQueryForm.enabled" size="small">
|
|
@@ -232,7 +172,8 @@
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="" prop="useType">
|
|
<el-form-item label="" prop="useType">
|
|
- <el-select v-model="tenQueryForm.useType" placeholder="请选择" size="small" style="width: 150px" clearable>
|
|
|
|
|
|
+ <el-select v-model="tenQueryForm.useType" placeholder="请选择" size="small" style="width: 150px"
|
|
|
|
+ clearable>
|
|
<el-option label="数据" value="0"></el-option>
|
|
<el-option label="数据" value="0"></el-option>
|
|
<el-option label="监控系统" value="1"></el-option>
|
|
<el-option label="监控系统" value="1"></el-option>
|
|
<el-option label="其它" value="-1"></el-option>
|
|
<el-option label="其它" value="-1"></el-option>
|
|
@@ -245,71 +186,43 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<el-table :data="appList" v-loading="loading">
|
|
<el-table :data="appList" v-loading="loading">
|
|
- <el-table-column label="应用名称" prop="appName" align="center"/>
|
|
|
|
- <el-table-column label="应用ID" prop="clientId" align="center"/>
|
|
|
|
- <el-table-column label="应用密钥" prop="clientSecret" align="center" width="180"/>
|
|
|
|
|
|
+ <el-table-column label="应用名称" prop="appName" align="center" />
|
|
|
|
+ <el-table-column label="应用ID" prop="clientId" align="center" />
|
|
|
|
+ <el-table-column label="应用密钥" prop="clientSecret" align="center" width="180" />
|
|
<el-table-column label="归属" prop="useType" align="center">
|
|
<el-table-column label="归属" prop="useType" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <div>{{scope.row.useType === 0 ? '数据' : scope.row.useType === 1 ? '监控系统' : '其它'}}</div>
|
|
|
|
|
|
+ <div>{{ scope.row.useType === 0 ? '数据' : scope.row.useType === 1 ? '监控系统' : '其它' }}</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="Enable?" prop="enabled" align="center">
|
|
<el-table-column label="Enable?" prop="enabled" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <div>{{scope.row.enabled ? '正常' : '停用'}}</div>
|
|
|
|
|
|
+ <div>{{ scope.row.enabled ? '正常' : '停用' }}</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
<template slot-scope="scope" v-if="scope.row.id && typeof scope.row.id === 'number'">
|
|
<template slot-scope="scope" v-if="scope.row.id && typeof scope.row.id === 'number'">
|
|
- <el-button
|
|
|
|
- size="mini"
|
|
|
|
- type="text"
|
|
|
|
- icon="el-icon-edit"
|
|
|
|
- @click="handleEditTen(scope.row)"
|
|
|
|
- >编辑</el-button>
|
|
|
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-edit"
|
|
|
|
+ @click="handleEditTen(scope.row)">编辑</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
- <pagination
|
|
|
|
- v-show="tenTotal>0"
|
|
|
|
- :total="tenTotal"
|
|
|
|
- :page.sync="tenQueryForm.pageNum"
|
|
|
|
- :limit.sync="tenQueryForm.pageSize"
|
|
|
|
- @pagination="getAdList"
|
|
|
|
- />
|
|
|
|
|
|
+ <pagination v-show="tenTotal > 0" :total="tenTotal" :page.sync="tenQueryForm.pageNum"
|
|
|
|
+ :limit.sync="tenQueryForm.pageSize" @pagination="getAdList" />
|
|
<!-- <span slot="footer" class="dialog-footer">
|
|
<!-- <span slot="footer" class="dialog-footer">
|
|
<el-button @click="openTenEditSwitch = false">关 闭</el-button>
|
|
<el-button @click="openTenEditSwitch = false">关 闭</el-button>
|
|
</span> -->
|
|
</span> -->
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<!-- 新增 -->
|
|
<!-- 新增 -->
|
|
- <el-dialog
|
|
|
|
- title="新增腾讯广告应用"
|
|
|
|
- :visible.sync="openTenAddEditSwitch"
|
|
|
|
- width="350px"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-dialog title="新增腾讯广告应用" :visible.sync="openTenAddEditSwitch" width="350px">
|
|
<el-form :model="addTenQueryForm" ref="addTenqueryForm" :rules="rulesTen">
|
|
<el-form :model="addTenQueryForm" ref="addTenqueryForm" :rules="rulesTen">
|
|
<el-form-item label="应用名称" prop="appName">
|
|
<el-form-item label="应用名称" prop="appName">
|
|
- <el-input
|
|
|
|
- v-model="addTenQueryForm.appName"
|
|
|
|
- placeholder="应用名称"
|
|
|
|
- clearable
|
|
|
|
- size="small"
|
|
|
|
- />
|
|
|
|
|
|
+ <el-input v-model="addTenQueryForm.appName" placeholder="应用名称" clearable size="small" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="应用ID" prop="clientId">
|
|
<el-form-item label="应用ID" prop="clientId">
|
|
- <el-input
|
|
|
|
- v-model.number="addTenQueryForm.clientId"
|
|
|
|
- placeholder="请输入应用ID"
|
|
|
|
- clearable
|
|
|
|
- size="small"
|
|
|
|
- />
|
|
|
|
|
|
+ <el-input v-model.number="addTenQueryForm.clientId" placeholder="请输入应用ID" clearable size="small" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="应用密钥" prop="clientSecret">
|
|
<el-form-item label="应用密钥" prop="clientSecret">
|
|
- <el-input
|
|
|
|
- v-model="addTenQueryForm.clientSecret"
|
|
|
|
- placeholder="请输入应用密钥"
|
|
|
|
- clearable
|
|
|
|
- size="small"
|
|
|
|
- />
|
|
|
|
|
|
+ <el-input v-model="addTenQueryForm.clientSecret" placeholder="请输入应用密钥" clearable size="small" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="Enable?" prop="enabled">
|
|
<el-form-item label="Enable?" prop="enabled">
|
|
<el-switch v-model="addTenQueryForm.enabled"></el-switch>
|
|
<el-switch v-model="addTenQueryForm.enabled"></el-switch>
|
|
@@ -330,52 +243,39 @@
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 指派 -->
|
|
<!-- 指派 -->
|
|
- <el-dialog
|
|
|
|
- title="指派投手"
|
|
|
|
- :visible.sync="putVisible"
|
|
|
|
- width="450px"
|
|
|
|
- append-to-body
|
|
|
|
- >
|
|
|
|
- <el-form :model="putParamsForm" :rules="putRulesType" ref="platFormPut" label-width="80px" label-position="top">
|
|
|
|
- <el-form-item label="用户" prop="putUserId" >
|
|
|
|
- <el-select v-model="putParamsForm.putUserId" placeholder="请选择" filterable style="width: 100%" clearable>
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in userAll"
|
|
|
|
- :key="item.id"
|
|
|
|
- :label="item.nickName"
|
|
|
|
- :value="item.id">
|
|
|
|
|
|
+ <el-dialog title="指派投手" :visible.sync="putVisible" width="450px" append-to-body>
|
|
|
|
+ <el-form :model="putParamsForm" :rules="putRulesType" ref="platFormPut" label-width="80px"
|
|
|
|
+ label-position="top">
|
|
|
|
+ <el-form-item label="用户" prop="putUserId">
|
|
|
|
+ <el-select v-model="putParamsForm.putUserId" placeholder="请选择" filterable style="width: 100%"
|
|
|
|
+ clearable>
|
|
|
|
+ <el-option v-for="item in userAll" :key="item.id" :label="item.nickName" :value="item.id">
|
|
</el-option>
|
|
</el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
- <el-button @click="putParamsForm = {};putVisible = false">取 消</el-button>
|
|
|
|
|
|
+ <el-button @click="putParamsForm = {}; putVisible = false">取 消</el-button>
|
|
<el-button type="primary" @click="submitPUt('platFormPut')">确 定</el-button>
|
|
<el-button type="primary" @click="submitPUt('platFormPut')">确 定</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 批量授权 -->
|
|
<!-- 批量授权 -->
|
|
- <el-dialog
|
|
|
|
- title="批量授权"
|
|
|
|
- :visible.sync="warrantsShow"
|
|
|
|
- width="550px"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-dialog title="批量授权" :visible.sync="warrantsShow" width="550px">
|
|
<el-form :model="queryWarrants" ref="warrantsQueryForm" label-position="top" :rules="rulesWarrants">
|
|
<el-form :model="queryWarrants" ref="warrantsQueryForm" label-position="top" :rules="rulesWarrants">
|
|
<el-form-item label="平台选择" prop="adAppIds">
|
|
<el-form-item label="平台选择" prop="adAppIds">
|
|
<el-checkbox-group v-model="queryWarrants.adAppIds">
|
|
<el-checkbox-group v-model="queryWarrants.adAppIds">
|
|
- <el-checkbox v-for="val in tenAllList" :label="val.id" :key="val.id">{{val.appName}}</el-checkbox>
|
|
|
|
|
|
+ <el-checkbox v-for="val in tenAllList" :label="val.id"
|
|
|
|
+ :key="val.id">{{ val.appName }}</el-checkbox>
|
|
</el-checkbox-group>
|
|
</el-checkbox-group>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="账号ID" prop="users">
|
|
<el-form-item label="账号ID" prop="users">
|
|
- <el-input
|
|
|
|
- type="textarea"
|
|
|
|
- :rows="2"
|
|
|
|
- placeholder="每个账号请以,号隔空例:123456,222333,444444"
|
|
|
|
|
|
+ <el-input type="textarea" :rows="2" placeholder="每个账号请以,号隔空例:123456,222333,444444"
|
|
v-model="queryWarrants.users">
|
|
v-model="queryWarrants.users">
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
-
|
|
|
|
|
|
+
|
|
<div style="display: flex;">
|
|
<div style="display: flex;">
|
|
<el-button type="primary" @click="clearAccount()">清空账号状态</el-button>
|
|
<el-button type="primary" @click="clearAccount()">清空账号状态</el-button>
|
|
<el-button size="mini" @click="errorHandle()">查询授权失败账户</el-button>
|
|
<el-button size="mini" @click="errorHandle()">查询授权失败账户</el-button>
|
|
@@ -384,15 +284,15 @@
|
|
<div>
|
|
<div>
|
|
<div v-if="errorData['1']" style="margin-top: 10px">
|
|
<div v-if="errorData['1']" style="margin-top: 10px">
|
|
<div>趣程数据(旧版)失败列表:</div>
|
|
<div>趣程数据(旧版)失败列表:</div>
|
|
- <div style="margin-top: 5px">{{errorData['1']}}</div>
|
|
|
|
|
|
+ <div style="margin-top: 5px">{{ errorData['1']}}</div>
|
|
</div>
|
|
</div>
|
|
<div v-if="errorData['2']" style="margin-top: 10px">
|
|
<div v-if="errorData['2']" style="margin-top: 10px">
|
|
<div>赞象计划监控失败列表:</div>
|
|
<div>赞象计划监控失败列表:</div>
|
|
- <div style="margin-top: 5px">{{errorData['2']}}</div>
|
|
|
|
|
|
+ <div style="margin-top: 5px">{{ errorData['2']}}</div>
|
|
</div>
|
|
</div>
|
|
<div v-if="errorData['4']" style="margin-top: 10px">
|
|
<div v-if="errorData['4']" style="margin-top: 10px">
|
|
<div>赞象数据(新版)失败列表</div>
|
|
<div>赞象数据(新版)失败列表</div>
|
|
- <div style="margin-top: 5px">{{errorData['4']}}</div>
|
|
|
|
|
|
+ <div style="margin-top: 5px">{{ errorData['4']}}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
@@ -402,11 +302,7 @@
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
- <el-dialog
|
|
|
|
- title="扫码"
|
|
|
|
- :visible.sync="imgBase64Show"
|
|
|
|
- width="200px"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-dialog title="扫码" :visible.sync="imgBase64Show" width="200px">
|
|
<img :src="this.imgBase64" width="180">
|
|
<img :src="this.imgBase64" width="180">
|
|
</el-dialog>
|
|
</el-dialog>
|
|
</div>
|
|
</div>
|
|
@@ -472,7 +368,7 @@ export default {
|
|
],
|
|
],
|
|
clientId: [
|
|
clientId: [
|
|
{ required: true, message: '请输入应用ID', trigger: 'blur' },
|
|
{ required: true, message: '请输入应用ID', trigger: 'blur' },
|
|
- { type: 'number', message: '应用ID必须为数字值'}
|
|
|
|
|
|
+ { type: 'number', message: '应用ID必须为数字值' }
|
|
],
|
|
],
|
|
clientSecret: [
|
|
clientSecret: [
|
|
{ required: true, message: '请输入应用密钥', trigger: 'blur' }
|
|
{ required: true, message: '请输入应用密钥', trigger: 'blur' }
|
|
@@ -509,10 +405,11 @@ export default {
|
|
},
|
|
},
|
|
imgBase64: '',
|
|
imgBase64: '',
|
|
imgBase64Show: false,
|
|
imgBase64Show: false,
|
|
- errorData: {}
|
|
|
|
|
|
+ errorData: {},
|
|
|
|
+ tabLoading: true
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- mounted(){
|
|
|
|
|
|
+ mounted() {
|
|
window.addEventListener('storage', (e) => {
|
|
window.addEventListener('storage', (e) => {
|
|
if (e.key === 'adMp') {
|
|
if (e.key === 'adMp') {
|
|
if (e.newValue === 'ok') {
|
|
if (e.newValue === 'ok') {
|
|
@@ -527,24 +424,24 @@ export default {
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
- created(){
|
|
|
|
|
|
+ created() {
|
|
this.getAppListAll()
|
|
this.getAppListAll()
|
|
this.getAll()
|
|
this.getAll()
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
/** 清空账户状态 */
|
|
/** 清空账户状态 */
|
|
clearAccount() {
|
|
clearAccount() {
|
|
- fetch('http://47.99.157.216:8022/qq/delCookie',{
|
|
|
|
- method:'GET'
|
|
|
|
- }).then(res=>res.json()).then(r=>{
|
|
|
|
|
|
+ fetch('http://47.99.157.216:8022/qq/delCookie', {
|
|
|
|
+ method: 'GET'
|
|
|
|
+ }).then(res => res.json()).then(r => {
|
|
this.msgSuccess('清理成功!!!!请重新扫码授权登录!!!');
|
|
this.msgSuccess('清理成功!!!!请重新扫码授权登录!!!');
|
|
})
|
|
})
|
|
},
|
|
},
|
|
/** 查询授权失败账户 */
|
|
/** 查询授权失败账户 */
|
|
errorHandle() {
|
|
errorHandle() {
|
|
- fetch('http://47.99.157.216:8022/qq/queryErr',{
|
|
|
|
- method:'GET'
|
|
|
|
- }).then(res=>res.json()).then(r=>{
|
|
|
|
|
|
+ fetch('http://47.99.157.216:8022/qq/queryErr', {
|
|
|
|
+ method: 'GET'
|
|
|
|
+ }).then(res => res.json()).then(r => {
|
|
this.errorData = r.data
|
|
this.errorData = r.data
|
|
})
|
|
})
|
|
},
|
|
},
|
|
@@ -554,14 +451,14 @@ export default {
|
|
if (valid) {
|
|
if (valid) {
|
|
let params = { ...this.queryWarrants, users: this.queryWarrants.users.split(','), callbackPage: encodeURIComponent(window.location.origin + '/adCode'), authorization: 'Bearer ' + getToken() }
|
|
let params = { ...this.queryWarrants, users: this.queryWarrants.users.split(','), callbackPage: encodeURIComponent(window.location.origin + '/adCode'), authorization: 'Bearer ' + getToken() }
|
|
console.log(params);
|
|
console.log(params);
|
|
- fetch('http://47.99.157.216:8022/qq/auth', {
|
|
|
|
- method: 'POST',
|
|
|
|
- headers:{
|
|
|
|
|
|
+ fetch('http://47.99.157.216:8022/qq/auth', {
|
|
|
|
+ method: 'POST',
|
|
|
|
+ headers: {
|
|
"content-type": "application/json",
|
|
"content-type": "application/json",
|
|
},
|
|
},
|
|
- body:JSON.stringify(params)
|
|
|
|
|
|
+ body: JSON.stringify(params)
|
|
}).then(response => response.json()).then(json => {
|
|
}).then(response => response.json()).then(json => {
|
|
- console.log('11111--->',json)
|
|
|
|
|
|
+ console.log('11111--->', json)
|
|
if (json.data.msg) {
|
|
if (json.data.msg) {
|
|
this.msgSuccess(json.data.msg);
|
|
this.msgSuccess(json.data.msg);
|
|
}
|
|
}
|
|
@@ -656,23 +553,23 @@ export default {
|
|
if (valid) {
|
|
if (valid) {
|
|
if (this.addTenQueryForm.adAppId) {
|
|
if (this.addTenQueryForm.adAppId) {
|
|
editApp(this.addTenQueryForm).then(res => {
|
|
editApp(this.addTenQueryForm).then(res => {
|
|
- if(res.data){
|
|
|
|
|
|
+ if (res.data) {
|
|
this.msgSuccess("编辑成功");
|
|
this.msgSuccess("编辑成功");
|
|
this.openTenAddEditSwitch = false
|
|
this.openTenAddEditSwitch = false
|
|
this.getAdList()
|
|
this.getAdList()
|
|
this.getAppListAll()
|
|
this.getAppListAll()
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
console.error(res)
|
|
console.error(res)
|
|
}
|
|
}
|
|
})
|
|
})
|
|
} else {
|
|
} else {
|
|
addApp(this.addTenQueryForm).then(res => {
|
|
addApp(this.addTenQueryForm).then(res => {
|
|
- if(res.data){
|
|
|
|
|
|
+ if (res.data) {
|
|
this.msgSuccess("新增成功");
|
|
this.msgSuccess("新增成功");
|
|
this.openTenAddEditSwitch = false
|
|
this.openTenAddEditSwitch = false
|
|
this.getAdList()
|
|
this.getAdList()
|
|
this.getAppListAll()
|
|
this.getAppListAll()
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
console.error(res)
|
|
console.error(res)
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -697,7 +594,7 @@ export default {
|
|
}).catch(() => this.loading = false)
|
|
}).catch(() => this.loading = false)
|
|
},
|
|
},
|
|
/** 时间转换 */
|
|
/** 时间转换 */
|
|
- parserTime(time){
|
|
|
|
|
|
+ parserTime(time) {
|
|
const d = new Date(time)
|
|
const d = new Date(time)
|
|
const resDate = d.getFullYear() + '-' + this.p((d.getMonth() + 1)) + '-' + this.p(d.getDate()) + " " + this.p(d.getHours()) + ":" + this.p(d.getMinutes()) + ":" + this.p(d.getSeconds())
|
|
const resDate = d.getFullYear() + '-' + this.p((d.getMonth() + 1)) + '-' + this.p(d.getDate()) + " " + this.p(d.getHours()) + ":" + this.p(d.getMinutes()) + ":" + this.p(d.getSeconds())
|
|
return resDate
|
|
return resDate
|
|
@@ -706,8 +603,8 @@ export default {
|
|
return s < 10 ? '0' + s : s
|
|
return s < 10 ? '0' + s : s
|
|
},
|
|
},
|
|
/** 获取公众号 */
|
|
/** 获取公众号 */
|
|
- remoteMethod(query){
|
|
|
|
- if(query === '') return;
|
|
|
|
|
|
+ remoteMethod(query) {
|
|
|
|
+ if (query === '') return;
|
|
console.log('query==', query)
|
|
console.log('query==', query)
|
|
this.loading = true;
|
|
this.loading = true;
|
|
let data = {
|
|
let data = {
|
|
@@ -725,7 +622,7 @@ export default {
|
|
getAll() {
|
|
getAll() {
|
|
// 所有书城平台
|
|
// 所有书城平台
|
|
const permissions = store.getters.btnPower
|
|
const permissions = store.getters.btnPower
|
|
- if(permissions) {
|
|
|
|
|
|
+ if (permissions) {
|
|
getAllBook().then(response => {
|
|
getAllBook().then(response => {
|
|
let data = response.data
|
|
let data = response.data
|
|
this.bookAll = data.map((item) => {
|
|
this.bookAll = data.map((item) => {
|
|
@@ -733,7 +630,7 @@ export default {
|
|
})
|
|
})
|
|
});
|
|
});
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
// 所有期数
|
|
// 所有期数
|
|
getPeriodAll().then(response => {
|
|
getPeriodAll().then(response => {
|
|
let data = response.data
|
|
let data = response.data
|
|
@@ -772,16 +669,18 @@ export default {
|
|
getList() {
|
|
getList() {
|
|
let { accountIds } = this.queryParams
|
|
let { accountIds } = this.queryParams
|
|
let arrayIds = []
|
|
let arrayIds = []
|
|
- if (accountIds){
|
|
|
|
|
|
+ if (accountIds) {
|
|
let reg = new RegExp(',', "g");
|
|
let reg = new RegExp(',', "g");
|
|
accountIds = accountIds.replace(reg, ',')
|
|
accountIds = accountIds.replace(reg, ',')
|
|
arrayIds = accountIds.split(',')
|
|
arrayIds = accountIds.split(',')
|
|
}
|
|
}
|
|
|
|
+ this.tabLoading = true
|
|
listAd({ ...this.queryParams, accountIds: arrayIds }).then(response => {
|
|
listAd({ ...this.queryParams, accountIds: arrayIds }).then(response => {
|
|
let data = response.data
|
|
let data = response.data
|
|
this.total = data.total
|
|
this.total = data.total
|
|
let records = data.records
|
|
let records = data.records
|
|
this.adList = records
|
|
this.adList = records
|
|
|
|
+ this.tabLoading = false
|
|
})
|
|
})
|
|
},
|
|
},
|
|
/** 搜索 */
|
|
/** 搜索 */
|
|
@@ -805,39 +704,46 @@ export default {
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
<style>
|
|
<style>
|
|
- .el-drawer__header span:focus {
|
|
|
|
- outline: 0;
|
|
|
|
- }
|
|
|
|
- .Space{
|
|
|
|
- width: 10px;
|
|
|
|
- display: inline-block;
|
|
|
|
- }
|
|
|
|
- .my_padding{
|
|
|
|
- margin: 0 10px 10px 10px;
|
|
|
|
- }
|
|
|
|
- .verticalCenter{
|
|
|
|
- display: flex;
|
|
|
|
- flex-direction: column;
|
|
|
|
- justify-content: center;
|
|
|
|
- margin-left: 5px;
|
|
|
|
- }
|
|
|
|
- .name-wrapper>p{
|
|
|
|
- overflow: hidden;
|
|
|
|
- text-overflow:ellipsis;
|
|
|
|
- white-space: nowrap;
|
|
|
|
- }
|
|
|
|
- .drawerDetail{
|
|
|
|
- width: 100%;
|
|
|
|
- height: 100%;
|
|
|
|
- padding: 0 20px 10px;
|
|
|
|
- box-sizing: border-box;
|
|
|
|
- }
|
|
|
|
- .el-menu--horizontal > .el-menu-item{
|
|
|
|
- height: 45px;
|
|
|
|
- line-height: 45px;
|
|
|
|
- }
|
|
|
|
- .grid-content {
|
|
|
|
- height: 30px;
|
|
|
|
- line-height: 30px;
|
|
|
|
- }
|
|
|
|
|
|
+.el-drawer__header span:focus {
|
|
|
|
+ outline: 0;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.Space {
|
|
|
|
+ width: 10px;
|
|
|
|
+ display: inline-block;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.my_padding {
|
|
|
|
+ margin: 0 10px 10px 10px;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.verticalCenter {
|
|
|
|
+ display: flex;
|
|
|
|
+ flex-direction: column;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ margin-left: 5px;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.name-wrapper>div {
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ text-overflow: ellipsis;
|
|
|
|
+ white-space: nowrap;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.drawerDetail {
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 100%;
|
|
|
|
+ padding: 0 20px 10px;
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.el-menu--horizontal>.el-menu-item {
|
|
|
|
+ height: 45px;
|
|
|
|
+ line-height: 45px;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.grid-content {
|
|
|
|
+ height: 30px;
|
|
|
|
+ line-height: 30px;
|
|
|
|
+}
|
|
</style>
|
|
</style>
|