Commit b9095350 authored by yaobeibei's avatar yaobeibei

新加

parent deabd65c
This diff is collapsed.
......@@ -4,6 +4,16 @@
<h4>账户权限控制</h4>
</el-header>
<el-main>
<el-row>
<el-select v-model="inputValue" filterable placeholder="请选择账户名称" @change='change' clearable @clear='clear' style='width: 300px;margin-bottom: 10px'>
<el-option
v-for="item in emailOptions"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
</el-row>
<el-table :data='datas' border width=100%>
<el-table-column label='序号' width=50>
<template slot-scope='scope'>
......@@ -65,11 +75,12 @@
isAccountDelete: false,
currentPage: 1,
pageSize: 10,
total: 100
total: 100,
emailOptions: null
}
},
mounted () {
this.getData(this.currentPage, this.pageSize)
this.getData(this.currentPage, this.pageSize, this.inputValue)
},
methods: {
AutoChange (row) {
......@@ -90,25 +101,34 @@
this.deleteAccount(row, 1)
}
},
getData (currentPage, pageSize) {
change () {
console.log('进入筛选')
console.log(this.inputValue)
this.getData(this.currentPage, this.pageSize, this.inputValue)
},
clear () {
this.getData(this.currentPage, this.pageSize, null)
},
getData (currentPage, pageSize, choose) {
let self = this
fetch('/api/getAccount', {
method: 'POST',
headers: {'Content-Type': 'application/json;charset=UTF-8'},
body: JSON.stringify({currentPage: currentPage, pageSize: pageSize})
body: JSON.stringify({currentPage: currentPage, pageSize: pageSize, choose: choose})
}).then(res => { return res.json() }).then(data => {
console.log(data)
self.datas = data.data
self.total = data.dataTotal
self.emailOptions = data.emailArr
})
},
handleSizeChange (val) {
this.pageSize = val
this.getData(this.currentPage, this.pageSize)
this.getData(this.currentPage, this.pageSize, this.inputValue)
},
handleCurrentChange (val) {
this.currentPage = val
this.getData(this.currentPage, this.pageSize)
this.getData(this.currentPage, this.pageSize, this.inputValue)
},
deleteAccount (row, status) {
let accountId = row._id
......
......@@ -82,6 +82,7 @@
<el-button slot="reference" type='text' size='mini' :disabled='scope.row.disable'>拒绝</el-button>
</el-popover>
<el-button type='text' size='small' @click="openForm(scope.row, scope.$index)" :disabled='scope.row.disable'>筛选后通过</el-button>
<el-button type='text' @click='reset(scope.row)' icon='el-icon-refresh'></el-button>
</template>
</el-table-column>
</el-table>
......@@ -174,8 +175,8 @@
valueRange: [],
startTime: '',
endTime: '',
currentdata:null,
currentIndex:null,
currentdata: null,
currentIndex: null,
pickerOptions: {
shortcuts: [{
text: '昨天',
......@@ -371,6 +372,11 @@
console.log(err)
})
},
reset (row) {
this.suerSend(8, row)
row.disable = false
row.status = '未审核'
},
change (type = 'POST', startTime, endTime, total = total, pageSize = this.pageSize, currentPage = this.currentPage, choose) {
let self = this
console.log(self.url, type, startTime, endTime, total, pageSize, currentPage, choose)
......
This diff is collapsed.
<template>
<el-container>
<el-header><h2>数据统计</h2></el-header>
<el-header><h2>直客统计</h2></el-header>
<el-main>
<TableTmp :header="dataHeader" ref='TableTmp' :url='url' :datalist='datalist'>
</TableTmp>
......
<template>
<el-container>
<el-header><h2>渠道统计</h2></el-header>
<el-main>
<TableTmp :header="dataHeader" ref='TableTmp' :url='url' :datalist='datalist' :distributor='distributor'>
</TableTmp>
</el-main>
</el-container>
</template>
<script>
import TableTmp from './tableTmp'
export default {
name: 'distributor',
components: {TableTmp},
data () {
return {
url: '/api/distributor',
dataHeader: {
time: '日期',
email: '邮箱',
company: '公司',
distributor: '渠道商',
pv: '来访次数',
uid: '来访用户',
touchCount: '触达用户',
getCount: '备案用户',
msgCount: '短信营销',
callCount: '云呼营销'
},
datalist: 'ok'
}
},
mounted () {
this.$refs.TableTmp.change()
},
methods: {
}
}
</script>
<style scoped>
</style>
<template>
<el-container>
<el-header>
<h4>导出任务</h4>
</el-header>
<el-main>
<el-table border :data='datas'>
<el-table-column label='任务编码' prop='taskID'></el-table-column>
<el-table-column label='导出UNIKEY数' prop='exportUnikeyNumber'></el-table-column>
<el-table-column label='导出生成用户数' prop='createRecogNum'></el-table-column>
<el-table-column label='导出时间' prop='exportTime'></el-table-column>
<el-table-column label='导出账号&代码位'>
<template slot-scope='scope'>
<el-button type='text' size='mini' @click='showExportContent(scope.row)'>查看详情</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog title='导出账户及代码位' center :visible.sync="exportContentVisible">
<el-table :data='exprotContent' border>
<el-table-column label='账户' prop='accountName'></el-table-column>
<el-table-column label='代码位' prop='slotName'></el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="exportContentVisible = false">确 定</el-button>
</span>
</el-dialog>
</el-main>
</el-container>
</template>
<script>
export default {
name: 'exportPoolTask',
data () {
return {
datas: null,
exportContentVisible: false
}
},
mounted () {
this.getData()
},
methods: {
showExportContent (row) {
console.log(row)
this.exprotContent = row.exportShowArr
this.exportContentVisible = true
},
getData () {
let self = this
fetch('/api/getExportTask', {
method: 'POST',
headers: {'Content-Type': 'application/json;charset=UTF-8'},
body: JSON.stringify({})
}).then(res => { return res.json() }).then(data => {
console.log(data)
self.datas = data.datas
// self.emailOptions = data.emailArr
})
}
}
}
</script>
<style scoped>
</style>
\ No newline at end of file
......@@ -21,7 +21,11 @@
<span>数据统计</span>
</template>
<el-menu-item-group>
<el-menu-item index="/dataList" @click="routeTo">数据分析
<el-menu-item index="/dataList" @click="routeTo">直客统计
</el-menu-item>
</el-menu-item-group>
<el-menu-item-group>
<el-menu-item index="/distributor" @click="routeTo">渠道统计
</el-menu-item>
</el-menu-item-group>
</el-submenu>
......@@ -62,6 +66,9 @@
<el-menu-item index='/checkCall' @click="routeTo">
云呼审核
</el-menu-item>
<el-menu-item index='/checkNote' @click="routeTo">
短信审核
</el-menu-item>
</el-submenu>
<el-submenu index=5>
......@@ -77,6 +84,22 @@
</el-menu-item>
</el-submenu>
<el-submenu index=6>
<template slot='title'>
<i class='el-icon-setting'></i>
<span>营销任务</span>
</template>
<el-menu-item index='/userPool' @click="routeTo">
用户营销池
</el-menu-item>
<el-menu-item index='/leadPoolTask' @click="routeTo">
导入任务
</el-menu-item>
<el-menu-item index='/exportPoolTask' @click="routeTo">
导出任务
</el-menu-item>
</el-submenu>
<a class="btn-toggle" @click="toggle"><i
:class="[isCollapse? 'el-icon-d-arrow-right' : 'el-icon-d-arrow-left']"></i></a>
</el-menu>
......
<template>
<el-container>
<el-header>
<h4>导入任务</h4>
</el-header>
<el-main>
<el-table border :data='datas'>
<el-table-column label='任务编码' prop='taskID'></el-table-column>
<el-table-column label='导入用户数目' prop='leadNumber'></el-table-column>
<el-table-column label='重复过滤' prop='filterNumber'></el-table-column>
<el-table-column label='导入时间' prop='leadTime'></el-table-column>
<el-table-column label='导入来源账户' prop='fromEmail'></el-table-column>
<el-table-column label='导入来源公司' prop='fromCompany'></el-table-column>
</el-table>
</el-main>
</el-container>
</template>
<script>
export default {
name: 'leadPoolTask',
data () {
return {
datas: null
}
},
mounted () {
this.getData()
},
methods: {
getData () {
let self = this
fetch('/api/getLeadTask', {
method: 'POST',
headers: {'Content-Type': 'application/json;charset=UTF-8'},
body: JSON.stringify({})
}).then(res => { return res.json() }).then(data => {
console.log(data)
self.datas = data.datas
// self.emailOptions = data.emailArr
})
}
}
}
</script>
<style scoped>
</style>
\ No newline at end of file
......@@ -5,7 +5,7 @@
</el-header>
<el-main>
<el-row>
<el-select v-model="inputValue" filterable placeholder="请选择" @change='change' clearable @clear='clear' style='width: 300px;margin-bottom: 10px'>
<el-select v-model="inputValue" filterable placeholder="请选择账户名称" @change='change' clearable @clear='clear' style='width: 300px;margin-bottom: 10px'>
<el-option
v-for="item in emailOptions"
:key="item"
......@@ -25,6 +25,11 @@
<el-table-column label='公司名称' prop='company'></el-table-column>
<el-table-column label='代码位名称' prop='slotName'></el-table-column>
<el-table-column label='代码位位置' prop='slot'></el-table-column>
<el-table-column label='代码位备案规则'>
<template slot-scope='scope'>
<el-button type='text' @click='openDialog(scope)' >备案规则</el-button>
</template>
</el-table-column>
<el-table-column label='代码位操作'>
<template slot-scope='scope'>
<el-switch
......@@ -50,6 +55,18 @@
style="float: right;margin-top: 15px">
</el-pagination>
</el-main>
<el-dialog title='备案规则' :visible.sync='dialogVisiable' width=60%>
<el-radio-group v-model="autoRule.strategy" @change='getChoose2' :disabled='currentdata.disable'>
<el-radio :label="'all'">全量备案</el-radio>
<el-radio :label="'repeat'">重复用户备案</el-radio>
<el-radio :label="'norepeat'">非重复用户备案</el-radio>
<el-radio :label="'uniq'">所有用户有且备案一次</el-radio>
</el-radio-group>
<div slot="footer" class="dialog-footer">
<el-button @click="closeDialog">取 消</el-button>
<el-button type="primary" @click="suerSend()" :disabled='currentdata.disable'>确 定</el-button>
</div>
</el-dialog>
</el-container>
</template>
......@@ -64,13 +81,67 @@
currentPage: 1,
pageSize: 10,
total: 100,
emailOptions: []
emailOptions: [],
dialogVisiable: false,
currentdata: {
disable: false
},
radio1: 1,
radio2: 1,
autoRule: {
internal: null,
strategy: 'all'
}
}
},
mounted () {
this.getData(this.currentPage, this.pageSize, this.inputValue)
},
methods: {
getChoose (value) {
console.log(value)
},
getChoose2 (value) {
console.log(value)
},
openDialog (scope) {
this.dialogVisiable = true
this.currentdata = scope.row
this.autoRule.strategy = scope.row.autoRule.strategy || 'all'
console.log(this.currentdata)
},
closeDialog () {
this.dialogVisiable = false
this.currentdata = {
disable: false
}
},
suerSend () {
let self = this
let autoRule = this.autoRule
let slotId = this.currentdata.slotId
console.log(slotId)
console.log(autoRule)
this.dialogVisiable = false
fetch('/api/slotAutoRule', {
method: 'POST',
headers: {'Content-Type': 'application/json;charset=UTF-8'},
body: JSON.stringify({slotId: slotId, autoRule: autoRule})
}).then(res => { return res.json() }).then(data => {
console.log(data)
this.$message({
message: data.message,
type: 'success'
})
self.currentdata = {
disable: false
}
self.autoRule = {
internal: null,
strategy: 'all'
}
})
},
change () {
console.log('进入筛选')
console.log(this.inputValue)
......
......@@ -56,7 +56,8 @@
'consume',
'url',
'surplus',
'datalist'
'datalist',
'distributor'
],
data () {
return {
......@@ -149,6 +150,10 @@
}
list.push(['余额合计', self.surplusTotal])
console.log(list)
} else if (self.url === '/api/distributor') {
for (let i = 0; i < self.allDate.length; i++) {
list.push([self.allDate[i].time, self.allDate[i].email, self.allDate[i].company, self.allDate[i].distributor, self.allDate[i].pv, self.allDate[i].uid, self.allDate[i].touchCount, self.allDate[i].getCount, self.allDate[i].msgCount, self.allDate[i].callCount])
}
} else {
for (let i = 0; i < self.allDate.length; i++) {
list.push([self.allDate[i].time, self.allDate[i].email, self.allDate[i].company, self.allDate[i].pv, self.allDate[i].uid, self.allDate[i].touchCount, self.allDate[i].getCount, self.allDate[i].msgCount, self.allDate[i].callCount])
......
This diff is collapsed.
......@@ -9,8 +9,13 @@ import releaseInfo from '@/components/releaseInfo'
import info from '@/components/info'
import login from '@/components/login'
import checkCall from '@/components/checkCall'
import checkNote from '@/components/checkNote'
import account from '@/components/account'
import slot from '@/components/slot'
import distributor from '@/components/distributor'
import userPool from '@/components/userPool'
import leadPoolTask from '@/components/leadPoolTask'
import exportPoolTask from '@/components/exportPoolTask'
Vue.use(Router)
......@@ -30,8 +35,13 @@ export default new Router({
{name: 'releaseInfo', path: '/releaseInfo', meta: {requiresId: false}, component: releaseInfo},
{name: 'info', path: '/info', meta: {requiresId: false}, component: info},
{name: 'checkCall', path: '/checkCall', meta: {requiresId: false}, component: checkCall},
{name: 'checkNote', path: '/checkNote', meta: {requiresId: false}, component: checkNote},
{name: 'account', path: '/account', meta: {requiresId: false}, component: account},
{name: 'slot', path: '/slot', meta: {requiresId: false}, component: slot}
{name: 'slot', path: '/slot', meta: {requiresId: false}, component: slot},
{name: 'userPool', path: '/userPool', meta: {requiresId: false}, component: userPool},
{name: 'leadPoolTask', path: '/leadPoolTask', meta: {requiresId: false}, component: leadPoolTask},
{name: 'exportPoolTask', path: '/exportPoolTask', meta: {requiresId: false}, component: exportPoolTask},
{name: 'distributor', path: '/distributor', meta: {requiresId: false}, component: distributor}
]
},
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment