代码更新
This commit is contained in:
parent
447dd43a65
commit
90eb656176
|
@ -4,6 +4,8 @@ ENV = 'development'
|
|||
# base api
|
||||
# VUE_APP_BASE_API = '/dev-api'
|
||||
VUE_APP_BASE_API = 'http://117.50.215.20:20400'
|
||||
# VUE_APP_BASE_API = 'http://yruibao.com:81'
|
||||
|
||||
|
||||
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
|
||||
# to control whether the babel-plugin-dynamic-import-node plugin is enabled.
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
"fuse.js": "3.4.4",
|
||||
"js-cookie": "2.2.0",
|
||||
"jsonlint": "1.6.3",
|
||||
"jszip": "3.2.1",
|
||||
"jszip": "^3.10.1",
|
||||
"mpvue-calendar": "^2.3.7",
|
||||
"normalize.css": "7.0.0",
|
||||
"nprogress": "0.2.0",
|
||||
|
@ -80,7 +80,7 @@
|
|||
"xlsx": "0.14.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.0.0",
|
||||
"@babel/core": "^7.23.9",
|
||||
"@babel/register": "7.0.0",
|
||||
"@vue/cli-plugin-babel": "3.5.3",
|
||||
"@vue/cli-plugin-eslint": "^3.9.1",
|
||||
|
@ -94,15 +94,15 @@
|
|||
"connect": "3.6.6",
|
||||
"eslint": "5.15.3",
|
||||
"eslint-plugin-vue": "5.2.2",
|
||||
"prettier": "^2.5.1",
|
||||
"html-webpack-plugin": "3.2.0",
|
||||
"husky": "1.3.1",
|
||||
"lint-staged": "8.1.5",
|
||||
"mockjs": "1.0.1-beta3",
|
||||
"plop": "2.3.0",
|
||||
"prettier": "^2.5.1",
|
||||
"runjs": "^4.3.2",
|
||||
"script-loader": "^0.7.2",
|
||||
"script-ext-html-webpack-plugin": "2.1.3",
|
||||
"script-loader": "^0.7.2",
|
||||
"serve-static": "^1.13.2",
|
||||
"svg-sprite-loader": "4.1.3",
|
||||
"svgo": "1.2.0",
|
||||
|
|
|
@ -50,7 +50,42 @@ export function ListChannel(pram) {
|
|||
params: data,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 渠道统计列表
|
||||
* @param pram
|
||||
* @constructor
|
||||
*/
|
||||
export function ListChannels(pram) {
|
||||
const data = {
|
||||
channelId: pram.channelId,
|
||||
|
||||
page: pram.page,
|
||||
limit: pram.limit,
|
||||
};
|
||||
return request({
|
||||
url: '/admin/channel/statistics',
|
||||
method: 'GET',
|
||||
params: data,
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 渠道统计列表
|
||||
* @param pram
|
||||
* @constructor
|
||||
*/
|
||||
export function Listuser(pram) {
|
||||
const data = {
|
||||
channelId: pram.channelId,
|
||||
|
||||
page: pram.page,
|
||||
limit: pram.limit,
|
||||
};
|
||||
return request({
|
||||
url: '/admin/channel/user',
|
||||
method: 'GET',
|
||||
params: data,
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 新增渠道表
|
||||
* @param pram
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<el-form-item label="渠道名称" prop="name">
|
||||
<el-input v-model="channelInfo.name" placeholder="请输入渠道名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="链接" prop="url">
|
||||
<el-form-item label="链接" prop="url" v-show="false">
|
||||
<el-input v-model="channelInfo.url" placeholder="请输入链接"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="单价(元)" >
|
||||
|
|
|
@ -2,54 +2,164 @@
|
|||
<div class="divBox">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-button type="primary" class="mr10" @click="add" size="small" v-hasPermi="['admin:channel:save']"
|
||||
>添加渠道</el-button>
|
||||
<el-button type="primary" class="mr10" @click="add" size="small"
|
||||
v-hasPermi="['admin:channel:save']">添加渠道</el-button>
|
||||
</div>
|
||||
|
||||
<el-table v-loading="listLoading" :data="listData.list" style="width: 100%" size="mini">
|
||||
<el-table v-loading="listLoading" :data="listData.list" style="width: 100%" size="mini" v-if="false">
|
||||
<el-table-column prop="id" label="ID" min-width="50" />
|
||||
<el-table-column prop="name" label="渠道名称" min-width="100" />
|
||||
<el-table-column prop="url" label="链接" min-width="100" />
|
||||
<el-table-column prop="status" label="开关" min-width="100" >
|
||||
<el-table-column prop="status" label="开关" min-width="100">
|
||||
<template slot-scope="scope" v-if="checkPermi(['admin:category:update:status'])">
|
||||
<el-switch
|
||||
v-model="scope.row.status"
|
||||
:active-value="true"
|
||||
:inactive-value="false"
|
||||
active-text="打开"
|
||||
inactive-text="关闭"
|
||||
@change="onchangeIsShow(scope.row)"
|
||||
/>
|
||||
<el-switch v-model="scope.row.status" :active-value="true" :inactive-value="false" active-text="打开"
|
||||
inactive-text="关闭" @change="onchangeIsShow(scope.row)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="price" label="单价(元)" min-width="100" />
|
||||
<el-table-column label="操作" min-width="120" fixed="right" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="edit(scope.row)"
|
||||
class="mr10"
|
||||
v-hasPermi="['admin:channel:update']"
|
||||
>编辑</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="handleDelete(scope.row.id, scope.$index)"
|
||||
v-hasPermi="['admin:channel:delete']"
|
||||
>删除</el-button>
|
||||
<el-button type="text" size="small" @click="edit(scope.row)" class="mr10"
|
||||
v-hasPermi="['admin:channel:update']">编辑</el-button>
|
||||
<el-button type="text" size="small" @click="handleDelete(scope.row.id, scope.$index)"
|
||||
v-hasPermi="['admin:channel:delete']">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-table v-loading="listLoading" :data="listData.list" style="width: 100%" size="mini">
|
||||
<el-table-column prop="name" label="名称" min-width="50" align="center"/>
|
||||
<el-table-column prop="createTime" label="添加日期" min-width="50" align="center"/>
|
||||
<el-table-column prop="totalClickNum" label="总点击" min-width="50" align="center"/>
|
||||
<el-table-column prop="totalRegisterNum" label="总注册" min-width="50" align="center"/>
|
||||
<!-- <el-table-column prop="totalOrderNum" label="总订单(金额/数量)" min-width="120" /> -->
|
||||
<el-table-column prop="totalOrderNum" label="总订单(金额/数量)" min-width="100" align="center">
|
||||
<template slot-scope="scope" >
|
||||
<div class="cont" style="width: 100px;">
|
||||
{{scope.row. totalAmount}} 元/ {{ scope.row. totalOrderNum}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="totalConversionRatio" label="总转化率" min-width="50" align="center"/>
|
||||
<el-table-column prop="totalReturnRate" label="回款率" min-width="50" align="center"/>
|
||||
<el-table-column prop="todayRegisterNum" label="今日进件" min-width="50" align="center"/>
|
||||
|
||||
<el-table-column prop="todayOrderNum" label="今日订单(金额/数量)" min-width="100" align="center">
|
||||
<template slot-scope="scope" >
|
||||
<div class="cont" style="width: 100px;">
|
||||
{{scope.row.todayOrderAmount}} 元/ {{ scope.row.todayOrderNum}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="todayConversionRatio" label="今日转化率" min-width="50" />
|
||||
<el-table-column prop="remark" label="备注 " min-width="50" />
|
||||
|
||||
<!-- <el-table-column prop="price" label="单价(元)" min-width="100" /> -->
|
||||
<el-table-column label="操作" min-width="120" fixed="right" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="edit(scope.row)" class="mr10"
|
||||
v-hasPermi="['admin:channel:update']">编辑</el-button>
|
||||
<el-button type="text" size="small" @click="edit(scope.row)" class="mr10"
|
||||
v-hasPermi="['admin:channel:update']">复制链接</el-button>
|
||||
<el-button type="text" size="small" @click="edit(scope.row)" class="mr10"
|
||||
v-hasPermi="['admin:channel:update']">账号密码复制</el-button>
|
||||
<el-button type="text" size="small" @click="showdlg(scope.row)" class="mr10"
|
||||
v-hasPermi="['admin:channel:update']">查看</el-button>
|
||||
<el-button type="text" size="small" @click="handleDelete(scope.row.id, scope.$index)"
|
||||
v-hasPermi="['admin:channel:delete']">删除</el-button>
|
||||
<!-- <el-switch v-model="scope.row.status" :active-value="true" :inactive-value="false" active-text="打开"
|
||||
inactive-text="关闭" @change="onchangeIsShow(scope.row)" /> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-dialog title="" :visible.sync="dialogVisibles" width="1388px" :before-close="handleClose">
|
||||
<div class="detailbox">
|
||||
<div class="tit"> <span :class="titindex==0?'act1':''" style="margin-right: 10px;" @click="titindex=0">统计报表</span> <span :class="titindex==1?'act1':''" @click="titindex=1"> 注册用户</span> </div>
|
||||
<div class="tj" v-show="titindex==0">
|
||||
<div class="mintit">基础信息</div>
|
||||
<div class="infobox">
|
||||
<div class="infoli">
|
||||
<div class="li">渠道名称:{{ chooselist.name }} </div>
|
||||
<div class="li"> 添加日期:{{ chooselist.createTime }} </div>
|
||||
<div class="li">备注:{{ chooselist.remark }} </div>
|
||||
</div>
|
||||
<div class="infoli">
|
||||
<div class="li"> 总点击:{{ chooselist.totalClickNum }}</div>
|
||||
<div class="li"> 总转化率:{{ chooselist.totalConversionRatio }} </div>
|
||||
<div class="li"> 回款率:{{ chooselist.totalReturnRate }}</div>
|
||||
</div>
|
||||
<div class="infoli">
|
||||
<div class="li">总注册:{{ chooselist.totalRegisterNum }}</div>
|
||||
<div class="li"> 总订单金额:{{ chooselist.totalAmount }}</div>
|
||||
<div class="li">总订单数量:{{ chooselist.totalOrderNum }} </div>
|
||||
</div>
|
||||
<div class="infoli">
|
||||
<div class="li" style="width: 100%;">渠道链接:{{ chooselist.url }}</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="mintit">日统计报表 </div>
|
||||
<el-table :data="todaydata.list" stripe style="width: 100%">
|
||||
<el-table-column prop="date" label="日期" width="180" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="clickNum" label="点击数" width="180" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="registerNum" label="进件" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="amount" label="订阅金额" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="num" label="订阅数量" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="conversionRatio" label="转化率" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="returnRate" label="回款率" align="center">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination :page-sizes="[10, 15,]" :page-size="tableFrom.limit" :current-page="tableFrom.page"
|
||||
layout="total, sizes, prev, pager, next, jumper" :total="todaydata.total" @size-change="handleSizeChanges"
|
||||
@current-change="todaypageChange" />
|
||||
</div>
|
||||
<div class="yh" v-show="titindex==1" style="padding-top: 20px;">
|
||||
<el-table :data="userdata.list" stripe style="width: 100%">
|
||||
<el-table-column prop="realName" label="姓名" width="100" >
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="注册日期 " align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="phone" label="手机号" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="email" label="邮箱" min-width="130" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="idCardNumber" label="身份证" min-width="160" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="orderNum" label="订单数" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="orderAmount" label=" 订单总金额" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="pendingRepayment" label=" 待还金额" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="address" label=" 状态(逾期/待还款)" min-width="130" align="center">
|
||||
<template slot-scope="scope" >
|
||||
<div class="cont" style="width: 120px;" v-if="scope.row.repaymentStatus=='Pending'">
|
||||
待还款
|
||||
|
||||
</div>
|
||||
<div class="cont" style="width: 100px;" v-if="scope.row.repaymentStatus=='Late'">
|
||||
已逾期
|
||||
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination :page-sizes="[10, 15,]" :page-size="tableFrom.limit" :current-page="tableFrom.page"
|
||||
layout="total, sizes, prev, pager, next, jumper" :total="userdata.total" @size-change="userhandleSizeChange"
|
||||
@current-change="userpageChange" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
<div class="block mb20">
|
||||
<el-pagination
|
||||
:current-page="listPram.page"
|
||||
:page-sizes="constants.page.limit"
|
||||
:layout="constants.page.layout"
|
||||
:total="listData.total"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
/>
|
||||
<el-pagination :current-page="listPram.page" :page-sizes="constants.page.limit" :layout="constants.page.layout"
|
||||
:total="listData.total" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
|
||||
</div>
|
||||
</el-card>
|
||||
<creat-channel ref="grades" :channelInfo="channelInfo"></creat-channel>
|
||||
|
@ -57,7 +167,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { ListChannel,AddChannel,UpdateChannel,InfoChannel,DelChannel} from '@/api/channel';
|
||||
import { ListChannel,ListChannels,Listuser, AddChannel, UpdateChannel, InfoChannel, DelChannel } from '@/api/channel';
|
||||
import creatChannel from './creatChannel';
|
||||
import { checkPermi } from '@/utils/permission'; // 权限判断函数
|
||||
export default {
|
||||
|
@ -75,8 +185,13 @@ export default {
|
|||
components: { creatChannel },
|
||||
data() {
|
||||
return {
|
||||
listLoading: true,
|
||||
listLoading: false,
|
||||
dialogVisibles: false,
|
||||
titindex:0,
|
||||
channelInfo: {},
|
||||
chooselist:{},
|
||||
todaydata:{ list: [], total: 0 },
|
||||
userdata:{},
|
||||
constants: this.$constants,
|
||||
listPram: {
|
||||
productId: null,
|
||||
|
@ -84,6 +199,22 @@ export default {
|
|||
page: 1,
|
||||
limit: this.$constants.page.limit[0],
|
||||
},
|
||||
listPrams: {
|
||||
|
||||
channelId: null,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
},
|
||||
userPrams: {
|
||||
|
||||
channelId: null,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
},
|
||||
tableFrom: {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
},
|
||||
listData: { list: [], total: 0 },
|
||||
tableData: {
|
||||
data: [],
|
||||
|
@ -96,17 +227,71 @@ export default {
|
|||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
pageChange(page) {
|
||||
this.tableFrom.page = page;
|
||||
this.getList();
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.tableFrom.limit = val;
|
||||
this.getList();
|
||||
},
|
||||
handleSizeChanges(val){
|
||||
this.listPrams.limit = val;
|
||||
this.gettodaylist()
|
||||
},
|
||||
userhandleSizeChange(val){
|
||||
this.userPrams.limit = val;
|
||||
this.gettodaylist()
|
||||
},
|
||||
todaypageChange(page){
|
||||
this.listPrams.page = page;
|
||||
this.getuserlist()
|
||||
},
|
||||
userpageChange(page){
|
||||
this.userPrams.page = page;
|
||||
this.getuserlist()
|
||||
},
|
||||
gettodaylist(){
|
||||
ListChannels(this.listPrams)
|
||||
.then((res) => {
|
||||
this. todaydata= res;
|
||||
|
||||
})
|
||||
.catch(() => {
|
||||
|
||||
});
|
||||
},
|
||||
getuserlist(){
|
||||
Listuser(this.userPrams)
|
||||
.then((res) => {
|
||||
this.userdata = res;
|
||||
console.log( this.todaydata,'returnRatereturnRatereturnRate');
|
||||
})
|
||||
.catch(() => {
|
||||
|
||||
});
|
||||
},
|
||||
showdlg(row) {
|
||||
this.listPrams.channelId=row.id
|
||||
this.userPrams.channelId=row.id
|
||||
|
||||
this.gettodaylist()
|
||||
this.getuserlist()
|
||||
console.log(row,'rowrow');
|
||||
this.chooselist=row
|
||||
this.dialogVisibles = true
|
||||
},
|
||||
formatPercentage(value) {
|
||||
if(value == "0.00" || value == "0.0" || value == "0" || value == 0 || value == null){
|
||||
if (value == "0.00" || value == "0.0" || value == "0" || value == 0 || value == null) {
|
||||
return "-";
|
||||
}else {
|
||||
} else {
|
||||
return (value * 100).toFixed(2) + '%';
|
||||
}
|
||||
},
|
||||
formatNumber(value){
|
||||
if(value == 0){
|
||||
formatNumber(value) {
|
||||
if (value == 0) {
|
||||
return "-";
|
||||
}else {
|
||||
} else {
|
||||
return value + "期";
|
||||
}
|
||||
},
|
||||
|
@ -116,7 +301,7 @@ export default {
|
|||
},
|
||||
add() {
|
||||
this.$refs.grades.dialogVisible = true;
|
||||
this.channelInfo = {status:true};
|
||||
this.channelInfo = { status: true };
|
||||
},
|
||||
edit(channelInfo) {
|
||||
// this.$refs.grades.info(id)
|
||||
|
@ -185,9 +370,83 @@ export default {
|
|||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.detailbox::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
}
|
||||
|
||||
.detailbox::-webkit-scrollbar-track {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.detailbox::-webkit-scrollbar-thumb {
|
||||
background-color: #EAF4FF;
|
||||
border-radius: 10px;
|
||||
// height: .625rem;
|
||||
}
|
||||
|
||||
.detailbox::-webkit-scrollbar-thumb:hover {
|
||||
background-color: #EAF4FF;
|
||||
}
|
||||
|
||||
.detailbox {
|
||||
padding: 10px 60px;
|
||||
width: 100%;
|
||||
max-height: 670px;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
min-height: 600px;
|
||||
|
||||
.tit {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-family: Source Han Sans;
|
||||
font-weight: 400;
|
||||
font-size: 20px;
|
||||
font-variation-settings: "opsz" auto;
|
||||
cursor: pointer;
|
||||
.act1{
|
||||
font-weight: 700;
|
||||
font-size: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
.mintit {
|
||||
font-family: Source Han Sans;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
line-height: 70px;
|
||||
letter-spacing: 0px;
|
||||
}
|
||||
|
||||
.infobox {
|
||||
width: 90%;
|
||||
margin: 20px auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.infoli {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: space-between;
|
||||
align-items: flex-start; // 使整体在顶部对齐
|
||||
|
||||
.li {
|
||||
width: 33%;
|
||||
font-size: 20px;
|
||||
font-weight: normal;
|
||||
line-height: 70px;
|
||||
letter-spacing: 0px;
|
||||
align-self: flex-start; // 使每个 .li 在顶部对齐
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.el-switch.is-disabled {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
::v-deep .el-switch__label {
|
||||
cursor: pointer !important;
|
||||
}
|
||||
|
|
|
@ -724,8 +724,8 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
const PDFJS = require("pdfjs-dist");
|
||||
PDFJS.GlobalWorkerOptions.workerSrc = require("pdfjs-dist/build/pdf.worker.min");
|
||||
// const PDFJS = require("pdfjs-dist");
|
||||
// PDFJS.GlobalWorkerOptions.workerSrc = require("pdfjs-dist/build/pdf.worker.min");
|
||||
import {
|
||||
orderListDataApi,
|
||||
orderStatusNumApi,
|
||||
|
@ -919,17 +919,17 @@ export default {
|
|||
});
|
||||
});
|
||||
},
|
||||
showht(url){
|
||||
// this.pdfUrl='@/assets/222.pdf'
|
||||
this.pdfUrl='http://api.yruibao.com/crmebimage/public/content/2024/02/03/0eba557ba62041e190b8d819a9f69ca3884hdh9izs.pdf'
|
||||
const CMAP_URL = "https://cdn.jsdelivr.net/npm/pdfjs-dist@2.0.943/cmaps/";
|
||||
let obj = {};
|
||||
obj.url = this.pdfUrl; //pdf文件地址,根据情景自行修改
|
||||
obj.cMapUrl = CMAP_URL;
|
||||
obj.cMapPacked = true;
|
||||
this.init(obj);
|
||||
this.htVisible=true
|
||||
},
|
||||
// showht(url){
|
||||
// // this.pdfUrl='@/assets/222.pdf'
|
||||
// this.pdfUrl='http://api.yruibao.com/crmebimage/public/content/2024/02/03/0eba557ba62041e190b8d819a9f69ca3884hdh9izs.pdf'
|
||||
// const CMAP_URL = "https://cdn.jsdelivr.net/npm/pdfjs-dist@2.0.943/cmaps/";
|
||||
// let obj = {};
|
||||
// obj.url = this.pdfUrl; //pdf文件地址,根据情景自行修改
|
||||
// obj.cMapUrl = CMAP_URL;
|
||||
// obj.cMapPacked = true;
|
||||
// this.init(obj);
|
||||
// this.htVisible=true
|
||||
// },
|
||||
htClose(){
|
||||
this.htVisible=false
|
||||
},
|
||||
|
|
|
@ -6,14 +6,8 @@
|
|||
<el-tab-pane :label="item.name" :name="item.type.toString()" v-for="(item, index) in headeNum" :key="index" />
|
||||
</el-tabs>
|
||||
<div class="container">
|
||||
<el-form
|
||||
inline
|
||||
size="small"
|
||||
:model="userFrom"
|
||||
ref="userFrom"
|
||||
:label-position="labelPosition"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-form inline size="small" :model="userFrom" ref="userFrom" :label-position="labelPosition"
|
||||
label-width="100px">
|
||||
<el-row>
|
||||
<el-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18">
|
||||
<el-col v-bind="grid">
|
||||
|
@ -26,58 +20,25 @@
|
|||
<el-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="用户等级:">
|
||||
<el-select
|
||||
v-model="levelData"
|
||||
placeholder="请选择"
|
||||
class="selWidth"
|
||||
clearable
|
||||
filterable
|
||||
multiple
|
||||
>
|
||||
<el-option
|
||||
:value="item.id"
|
||||
v-for="(item, index) in levelList"
|
||||
:key="index"
|
||||
:label="item.name"
|
||||
></el-option>
|
||||
<el-select v-model="levelData" placeholder="请选择" class="selWidth" clearable filterable multiple>
|
||||
<el-option :value="item.id" v-for="(item, index) in levelList" :key="index"
|
||||
:label="item.name"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="用户分组:">
|
||||
<el-select
|
||||
v-model="groupData"
|
||||
placeholder="请选择"
|
||||
class="selWidth"
|
||||
clearable
|
||||
filterable
|
||||
multiple
|
||||
>
|
||||
<el-option
|
||||
:value="item.id"
|
||||
v-for="(item, index) in groupList"
|
||||
:key="index"
|
||||
:label="item.groupName"
|
||||
></el-option>
|
||||
<el-select v-model="groupData" placeholder="请选择" class="selWidth" clearable filterable multiple>
|
||||
<el-option :value="item.id" v-for="(item, index) in groupList" :key="index"
|
||||
:label="item.groupName"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="用户标签:">
|
||||
<el-select
|
||||
v-model="labelData"
|
||||
placeholder="请选择"
|
||||
class="selWidth"
|
||||
clearable
|
||||
filterable
|
||||
multiple
|
||||
>
|
||||
<el-option
|
||||
:value="item.id"
|
||||
v-for="(item, index) in labelLists"
|
||||
:key="index"
|
||||
:label="item.name"
|
||||
></el-option>
|
||||
<el-select v-model="labelData" placeholder="请选择" class="selWidth" clearable filterable multiple>
|
||||
<el-option :value="item.id" v-for="(item, index) in labelLists" :key="index"
|
||||
:label="item.name"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -85,13 +46,8 @@
|
|||
<el-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18">
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="国家:">
|
||||
<el-select
|
||||
v-model="userFrom.country"
|
||||
placeholder="请选择"
|
||||
class="selWidth"
|
||||
clearable
|
||||
@on-change="changeCountry"
|
||||
>
|
||||
<el-select v-model="userFrom.country" placeholder="请选择" class="selWidth" clearable
|
||||
@on-change="changeCountry">
|
||||
<el-option value="" label="全部"></el-option>
|
||||
<el-option value="CN" label="中国"></el-option>
|
||||
<el-option value="OTHER" label="国外"></el-option>
|
||||
|
@ -100,15 +56,8 @@
|
|||
</el-col>
|
||||
<el-col v-bind="grid" v-if="userFrom.country === 'CN'">
|
||||
<el-form-item label="省份:">
|
||||
<el-cascader
|
||||
:options="addresData"
|
||||
:props="propsCity"
|
||||
filterable
|
||||
v-model="address"
|
||||
@change="handleChange"
|
||||
clearable
|
||||
class="selWidth"
|
||||
></el-cascader>
|
||||
<el-cascader :options="addresData" :props="propsCity" filterable v-model="address"
|
||||
@change="handleChange" clearable class="selWidth"></el-cascader>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
|
@ -126,20 +75,9 @@
|
|||
</el-col>
|
||||
<el-col v-bind="grid">
|
||||
<el-form-item label="时间选择:" class="timeBox">
|
||||
<el-date-picker
|
||||
v-model="timeVal"
|
||||
align="right"
|
||||
unlink-panels
|
||||
value-format="yyyy-MM-dd"
|
||||
format="yyyy-MM-dd"
|
||||
size="small"
|
||||
type="daterange"
|
||||
placement="bottom-end"
|
||||
placeholder="自定义时间"
|
||||
class="selWidth"
|
||||
:picker-options="pickerOptions"
|
||||
@change="onchangeTime"
|
||||
/>
|
||||
<el-date-picker v-model="timeVal" align="right" unlink-panels value-format="yyyy-MM-dd"
|
||||
format="yyyy-MM-dd" size="small" type="daterange" placement="bottom-end" placeholder="自定义时间"
|
||||
class="selWidth" :picker-options="pickerOptions" @change="onchangeTime" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
|
@ -200,15 +138,8 @@
|
|||
</template>
|
||||
<el-col :xs="24" :sm="24" :md="24" :lg="6" :xl="6" class="text-right userFrom">
|
||||
<el-form-item>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="ios-search"
|
||||
label="default"
|
||||
class="mr15"
|
||||
size="small"
|
||||
@click="userSearchs"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button type="primary" icon="ios-search" label="default" class="mr15" size="small"
|
||||
@click="userSearchs">搜索</el-button>
|
||||
<el-button class="ResetSearch mr10" @click="reset('userFrom')" size="small">重置</el-button>
|
||||
<a class="ivu-ml-8" @click="collapse = !collapse">
|
||||
<template v-if="!collapse"> 展开 <i class="el-icon-arrow-down"></i> </template>
|
||||
|
@ -220,26 +151,16 @@
|
|||
</el-form>
|
||||
</div>
|
||||
<div class="btn_bt">
|
||||
<el-button class="mr10" size="small" @click="onSend" type="primary" v-hasPermi="['admin:coupon:user:receive']"
|
||||
>发送优惠券</el-button
|
||||
>
|
||||
<el-button class="mr10" size="small" @click="setBatch('group')" v-hasPermi="['admin:user:group']"
|
||||
>批量设置分组</el-button
|
||||
>
|
||||
<el-button class="mr10" size="small" @click="setBatch('label')" v-hasPermi="['admin:user:tag']"
|
||||
>批量设置标签</el-button
|
||||
>
|
||||
<el-button class="mr10" size="small" @click="onSend" type="primary"
|
||||
v-hasPermi="['admin:coupon:user:receive']">发送优惠券</el-button>
|
||||
<el-button class="mr10" size="small" @click="setBatch('group')"
|
||||
v-hasPermi="['admin:user:group']">批量设置分组</el-button>
|
||||
<el-button class="mr10" size="small" @click="setBatch('label')"
|
||||
v-hasPermi="['admin:user:tag']">批量设置标签</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
ref="table"
|
||||
v-loading="listLoading"
|
||||
:data="tableData.data"
|
||||
style="width: 100%"
|
||||
size="mini"
|
||||
@selection-change="onSelectTab"
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table ref="table" v-loading="listLoading" :data="tableData.data" style="width: 100%" size="mini"
|
||||
@selection-change="onSelectTab" highlight-current-row v-if="false">
|
||||
<el-table-column type="expand">
|
||||
<template slot-scope="props">
|
||||
<el-form label-position="left" inline class="demo-table-expand">
|
||||
|
@ -272,11 +193,8 @@
|
|||
<el-table-column label="头像" min-width="80" v-if="checkedCities.includes('头像')">
|
||||
<template slot-scope="scope">
|
||||
<div class="demo-image__preview">
|
||||
<el-image
|
||||
style="width: 36px; height: 36px"
|
||||
:src="scope.row.avatar"
|
||||
:preview-src-list="[scope.row.avatar]"
|
||||
/>
|
||||
<el-image style="width: 36px; height: 36px" :src="scope.row.avatar"
|
||||
:preview-src-list="[scope.row.avatar]" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -309,74 +227,107 @@
|
|||
<el-table-column prop="integral" label="积分" min-width="100" v-if="checkedCities.includes('积分')" />
|
||||
<el-table-column label="操作" min-width="130" fixed="right" align="center" :render-header="renderHeader">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
type="text"
|
||||
@click="editUser(scope.row.uid)"
|
||||
size="small"
|
||||
v-hasPermi="['admin:user:infobycondition']"
|
||||
>编辑</el-button
|
||||
>
|
||||
<el-button type="text" @click="editUser(scope.row.uid)" size="small"
|
||||
v-hasPermi="['admin:user:infobycondition']">编辑</el-button>
|
||||
<el-dropdown trigger="click">
|
||||
<span class="el-dropdown-link"> 更多<i class="el-icon-arrow-down el-icon--right" /> </span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item @click.native="onDetails(scope.row.uid)" v-if="checkPermi(['admin:user:topdetail'])"
|
||||
>账户详情</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item @click.native="onIdentityInfo(scope.row.uid)" v-if="checkPermi(['admin:user:topdetail'])"
|
||||
>身份信息</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item
|
||||
@click.native="editPoint(scope.row.uid)"
|
||||
v-if="checkPermi(['admin:user:operate:founds'])"
|
||||
>积分余额</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item @click.native="setBatch('group', scope.row)" v-if="checkPermi(['admin:user:group'])"
|
||||
>设置分组</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item @click.native="setBatch('label', scope.row)" v-if="checkPermi(['admin:user:tag'])"
|
||||
>设置标签</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item @click.native="setPhone(scope.row)" v-if="checkPermi(['admin:user:update:phone'])"
|
||||
>修改手机号</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item
|
||||
@click.native="onLevel(scope.row.uid, scope.row.level)"
|
||||
v-if="checkPermi(['admin:user:update:level'])"
|
||||
>修改用户等级</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item
|
||||
@click.native="setExtension(scope.row)"
|
||||
v-if="checkPermi(['admin:user:update:spread'])"
|
||||
>修改上级推广人</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item
|
||||
@click.native="clearSpread(scope.row)"
|
||||
v-if="scope.row.spreadUid && scope.row.spreadUid > 0 && checkPermi(['admin:retail:spread:clean'])"
|
||||
>清除上级推广人</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item @click.native="onDetails(scope.row.uid)"
|
||||
v-if="checkPermi(['admin:user:topdetail'])">账户详情</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="onIdentityInfo(scope.row.uid)"
|
||||
v-if="checkPermi(['admin:user:topdetail'])">身份信息</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="editPoint(scope.row.uid)"
|
||||
v-if="checkPermi(['admin:user:operate:founds'])">积分余额</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="setBatch('group', scope.row)"
|
||||
v-if="checkPermi(['admin:user:group'])">设置分组</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="setBatch('label', scope.row)"
|
||||
v-if="checkPermi(['admin:user:tag'])">设置标签</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="setPhone(scope.row)"
|
||||
v-if="checkPermi(['admin:user:update:phone'])">修改手机号</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="onLevel(scope.row.uid, scope.row.level)"
|
||||
v-if="checkPermi(['admin:user:update:level'])">修改用户等级</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="setExtension(scope.row)"
|
||||
v-if="checkPermi(['admin:user:update:spread'])">修改上级推广人</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="clearSpread(scope.row)"
|
||||
v-if="scope.row.spreadUid && scope.row.spreadUid > 0 && checkPermi(['admin:retail:spread:clean'])">清除上级推广人</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-table ref="table" v-loading="listLoading" :data="tableData.data" style="width: 100%" size="mini"
|
||||
@selection-change="onSelectTab" highlight-current-row>
|
||||
<el-table-column type="expand">
|
||||
<template slot-scope="props">
|
||||
<el-form label-position="left" inline class="demo-table-expand">
|
||||
<el-form-item label="身份:">
|
||||
<span>{{ props.row.isPromoter | filterIsPromoter }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="首次访问:">
|
||||
<span>{{ props.row.createTime | filterEmpty }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="近次访问:">
|
||||
<span>{{ props.row.lastLoginTime | filterEmpty }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号:">
|
||||
<span>{{ props.row.phone | filterEmpty }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="标签:">
|
||||
<span>{{ props.row.tagName | filterEmpty }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="地址:">
|
||||
<span>{{ props.row.addres | filterEmpty }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注:" style="width: 100%; display: flex; margin-right: 10px">
|
||||
<span>{{ props.row.mark | filterEmpty }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column type="selection" width="55"> </el-table-column>
|
||||
|
||||
<el-table-column prop="realName" label="姓名" min-width="80" align="center" />
|
||||
<el-table-column prop="createTime" label="注册日期" min-width="80" align="center" />
|
||||
<el-table-column prop="phone" label="手机号" min-width="80" />
|
||||
<el-table-column prop="email" label="邮箱" min-width="80" align="center" />
|
||||
<el-table-column prop="idCardNumber" label="身份证" min-width="80" align="center" />
|
||||
|
||||
|
||||
<el-table-column prop="orderNum" label="订单数" min-width="80" align="center" />
|
||||
<el-table-column prop="orderAmount" label=" 订单总金额" width="180" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="pendingRepayment" label=" 待还金额" width="100">
|
||||
</el-table-column>
|
||||
<el-table-column prop="address" label=" 状态(逾期/待还款)" width="180">
|
||||
<template slot-scope="scope">
|
||||
<div class="cont" style="width: 100px;" v-if="scope.row.repaymentStatus == 'Pending'">
|
||||
待还款
|
||||
|
||||
</div>
|
||||
<div class="cont" style="width: 100px;" v-if="scope.row.repaymentStatus == 'Late'">
|
||||
已逾期
|
||||
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" min-width="120" fixed="right" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="edit(scope.row)" class="mr10"
|
||||
>查看用户详情</el-button>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="block">
|
||||
<el-pagination
|
||||
:page-sizes="[15, 30, 45, 60]"
|
||||
:page-size="userFrom.limit"
|
||||
:current-page="userFrom.page"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="tableData.total"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
<el-pagination :page-sizes="[15, 30, 45, 60]" :page-size="userFrom.limit" :current-page="userFrom.page"
|
||||
layout="total, sizes, prev, pager, next, jumper" :total="tableData.total" @size-change="handleSizeChange"
|
||||
@current-change="pageChange" />
|
||||
</div>
|
||||
</el-card>
|
||||
<div class="card_abs" v-show="card_select_show" :style="{ top: collapse ? 570 + 'px' : 270 + 'px' }">
|
||||
<template>
|
||||
<div class="cell_ht">
|
||||
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange"
|
||||
>全选</el-checkbox
|
||||
>
|
||||
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
|
||||
<el-button type="text" @click="checkSave()">保存</el-button>
|
||||
</div>
|
||||
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
|
||||
|
@ -386,15 +337,8 @@
|
|||
</div>
|
||||
<!--修改推广人-->
|
||||
<el-dialog title="修改推广人" :visible.sync="extensionVisible" width="500px" :before-close="handleCloseExtension">
|
||||
<el-form
|
||||
class="formExtension mt20"
|
||||
ref="formExtension"
|
||||
:model="formExtension"
|
||||
:rules="ruleInline"
|
||||
label-width="120px"
|
||||
@submit.native.prevent
|
||||
v-loading="loading"
|
||||
>
|
||||
<el-form class="formExtension mt20" ref="formExtension" :model="formExtension" :rules="ruleInline"
|
||||
label-width="120px" @submit.native.prevent v-loading="loading">
|
||||
<el-form-item label="用户头像:" prop="image">
|
||||
<div class="upLoadPicBox" @click="modalPicTap">
|
||||
<div v-if="formExtension.image" class="pictrue"><img :src="formExtension.image" /></div>
|
||||
|
@ -418,36 +362,18 @@
|
|||
</el-dialog>
|
||||
<!--批量设置-->
|
||||
<el-dialog title="设置" :visible.sync="dialogVisible" width="500px" :before-close="handleClose">
|
||||
<el-form
|
||||
:model="dynamicValidateForm"
|
||||
ref="dynamicValidateForm"
|
||||
label-width="100px"
|
||||
class="demo-dynamic"
|
||||
v-loading="loading"
|
||||
>
|
||||
<el-form-item
|
||||
prop="groupId"
|
||||
label="用户分组"
|
||||
:rules="[{ required: true, message: '请选择用户分组', trigger: 'change' }]"
|
||||
v-if="batchName === 'group'"
|
||||
key="1"
|
||||
>
|
||||
<el-form :model="dynamicValidateForm" ref="dynamicValidateForm" label-width="100px" class="demo-dynamic"
|
||||
v-loading="loading">
|
||||
<el-form-item prop="groupId" label="用户分组" :rules="[{ required: true, message: '请选择用户分组', trigger: 'change' }]"
|
||||
v-if="batchName === 'group'" key="1">
|
||||
<el-select v-model="dynamicValidateForm.groupId" placeholder="请选择分组" style="width: 80%" filterable>
|
||||
<el-option
|
||||
:value="item.id"
|
||||
v-for="(item, index) in groupList"
|
||||
:key="index"
|
||||
:label="item.groupName"
|
||||
></el-option>
|
||||
<el-option :value="item.id" v-for="(item, index) in groupList" :key="index"
|
||||
:label="item.groupName"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
prop="groupId"
|
||||
label="用户标签"
|
||||
:rules="[{ required: true, message: '请选择用户标签', trigger: 'change' }]"
|
||||
v-else
|
||||
>
|
||||
<el-select v-model="dynamicValidateForm.groupId" placeholder="请选择标签" style="width: 80%" multiple filterable>
|
||||
<el-form-item prop="groupId" label="用户标签" :rules="[{ required: true, message: '请选择用户标签', trigger: 'change' }]"
|
||||
v-else>
|
||||
<el-select v-model="dynamicValidateForm.groupId" placeholder="请选择标签" style="width: 80%" multiple filterable>
|
||||
<el-option :value="item.id" v-for="(item, index) in labelLists" :key="index" :label="item.name"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
@ -462,20 +388,10 @@
|
|||
<edit-from v-if="visible" :uid="uid" @resetForm="resetForm"></edit-from>
|
||||
</el-dialog>
|
||||
<!--积分余额-->
|
||||
<el-dialog
|
||||
title="积分余额"
|
||||
:visible.sync="VisiblePoint"
|
||||
width="500px"
|
||||
:close-on-click-modal="false"
|
||||
:before-close="handlePointClose"
|
||||
>
|
||||
<el-form
|
||||
:model="PointValidateForm"
|
||||
ref="PointValidateForm"
|
||||
label-width="100px"
|
||||
class="demo-dynamic"
|
||||
v-loading="loadingPoint"
|
||||
>
|
||||
<el-dialog title="积分余额" :visible.sync="VisiblePoint" width="500px" :close-on-click-modal="false"
|
||||
:before-close="handlePointClose">
|
||||
<el-form :model="PointValidateForm" ref="PointValidateForm" label-width="100px" class="demo-dynamic"
|
||||
v-loading="loadingPoint">
|
||||
<el-form-item label="修改余额" required>
|
||||
<el-radio-group v-model="PointValidateForm.moneyType">
|
||||
<el-radio :label="1">增加</el-radio>
|
||||
|
@ -483,14 +399,8 @@
|
|||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="余额" required>
|
||||
<el-input-number
|
||||
type="text"
|
||||
v-model="PointValidateForm.moneyValue"
|
||||
:precision="2"
|
||||
:step="0.1"
|
||||
:min="0"
|
||||
:max="999999"
|
||||
></el-input-number>
|
||||
<el-input-number type="text" v-model="PointValidateForm.moneyValue" :precision="2" :step="0.1" :min="0"
|
||||
:max="999999"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改积分" required>
|
||||
<el-radio-group v-model="PointValidateForm.integralType">
|
||||
|
@ -499,13 +409,8 @@
|
|||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="积分" required>
|
||||
<el-input-number
|
||||
type="text"
|
||||
step-strictly
|
||||
v-model="PointValidateForm.integralValue"
|
||||
:min="0"
|
||||
:max="999999"
|
||||
></el-input-number>
|
||||
<el-input-number type="text" step-strictly v-model="PointValidateForm.integralValue" :min="0"
|
||||
:max="999999"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
|
@ -791,7 +696,7 @@ export default {
|
|||
sendNews() {
|
||||
if (this.selectionList.length === 0) return this.$message.warning('请先选择用户');
|
||||
const _this = this;
|
||||
this.$modalArticle(function (row) {}, 'send');
|
||||
this.$modalArticle(function (row) { }, 'send');
|
||||
},
|
||||
// 发送优惠劵
|
||||
onSend() {
|
||||
|
@ -889,25 +794,25 @@ export default {
|
|||
this.loading = true;
|
||||
this.batchName === 'group'
|
||||
? groupPiApi({ groupId: this.dynamicValidateForm.groupId, id: this.userIds })
|
||||
.then((res) => {
|
||||
this.$message.success('设置成功');
|
||||
this.loading = false;
|
||||
this.handleClose();
|
||||
this.getList();
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
})
|
||||
.then((res) => {
|
||||
this.$message.success('设置成功');
|
||||
this.loading = false;
|
||||
this.handleClose();
|
||||
this.getList();
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
})
|
||||
: tagPiApi({ tagId: this.dynamicValidateForm.groupId.join(','), id: this.userIds })
|
||||
.then((res) => {
|
||||
this.$message.success('设置成功');
|
||||
this.loading = false;
|
||||
this.handleClose();
|
||||
this.getList();
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
.then((res) => {
|
||||
this.$message.success('设置成功');
|
||||
this.loading = false;
|
||||
this.handleClose();
|
||||
this.getList();
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
@ -1099,21 +1004,21 @@ export default {
|
|||
onchangeIsShow(row) {
|
||||
row.isShow
|
||||
? putOnShellApi(row.id)
|
||||
.then(() => {
|
||||
this.$message.success('上架成功');
|
||||
this.getList();
|
||||
})
|
||||
.catch(() => {
|
||||
row.isShow = !row.isShow;
|
||||
})
|
||||
.then(() => {
|
||||
this.$message.success('上架成功');
|
||||
this.getList();
|
||||
})
|
||||
.catch(() => {
|
||||
row.isShow = !row.isShow;
|
||||
})
|
||||
: offShellApi(row.id)
|
||||
.then(() => {
|
||||
this.$message.success('下架成功');
|
||||
this.getList();
|
||||
})
|
||||
.catch(() => {
|
||||
row.isShow = !row.isShow;
|
||||
});
|
||||
.then(() => {
|
||||
this.$message.success('下架成功');
|
||||
this.getList();
|
||||
})
|
||||
.catch(() => {
|
||||
row.isShow = !row.isShow;
|
||||
});
|
||||
},
|
||||
renderHeader(h) {
|
||||
return (
|
||||
|
@ -1161,50 +1066,64 @@ export default {
|
|||
color: #409eff;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.el-icon-arrow-down {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.text-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.demo-table-expand {
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
.demo-table-expand label {
|
||||
width: 90px;
|
||||
color: #99a9bf;
|
||||
}
|
||||
|
||||
.demo-table-expand .el-form-item {
|
||||
margin-right: 0;
|
||||
margin-bottom: 0;
|
||||
width: 33.33%;
|
||||
}
|
||||
|
||||
.selWidth {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.seachTiele {
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.container {
|
||||
min-width: 821px;
|
||||
|
||||
::v-deepel-form-item {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
::v-deepel-form-item__content {
|
||||
width: 72%;
|
||||
}
|
||||
}
|
||||
|
||||
.ivu-ml-8 {
|
||||
font-size: 12px;
|
||||
color: #1682e6;
|
||||
}
|
||||
|
||||
.btn_bt {
|
||||
border-top: 1px dashed #ccc;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.relative {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.card_abs {
|
||||
position: absolute;
|
||||
padding-bottom: 15px;
|
||||
|
@ -1214,6 +1133,7 @@ export default {
|
|||
z-index: 99999;
|
||||
box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.cell_ht {
|
||||
height: 50px;
|
||||
padding: 15px 20px;
|
||||
|
@ -1223,11 +1143,13 @@ export default {
|
|||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.check_cell {
|
||||
width: 100%;
|
||||
padding: 15px 20px 0;
|
||||
}
|
||||
::v-deep .el-checkbox__input.is-checked + .el-checkbox__label {
|
||||
|
||||
::v-deep .el-checkbox__input.is-checked+.el-checkbox__label {
|
||||
color: #606266;
|
||||
}
|
||||
</style>
|
||||
|
|
Loading…
Reference in New Issue
Block a user