|
@@ -130,6 +130,7 @@
|
|
|
backgroundColor: '#f4f5f7',
|
|
|
color: '#606266',
|
|
|
}"
|
|
|
+ @sort-change="sort_change"
|
|
|
>
|
|
|
<el-table-column
|
|
|
prop="liveId"
|
|
@@ -161,7 +162,7 @@
|
|
|
align="center"
|
|
|
>
|
|
|
<template #default>
|
|
|
- <span>{{ lastParams.app || "-" }}</span>
|
|
|
+ <span>{{ lastParams.app || '-' }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<!-- <el-table-column
|
|
@@ -194,6 +195,7 @@
|
|
|
header-align="center"
|
|
|
align="center"
|
|
|
prop="userCount"
|
|
|
+ sortable
|
|
|
>
|
|
|
<template #default="scope">
|
|
|
<countTo
|
|
@@ -208,6 +210,7 @@
|
|
|
header-align="center"
|
|
|
align="center"
|
|
|
prop="duration"
|
|
|
+ sortable
|
|
|
>
|
|
|
<template #default="scope">
|
|
|
{{ timeFormat(scope.row.duration) }}
|
|
@@ -217,9 +220,10 @@
|
|
|
label="累计观看次数"
|
|
|
header-align="center"
|
|
|
align="center"
|
|
|
+ sortable
|
|
|
prop="pv"
|
|
|
>
|
|
|
- <template #default="scope">
|
|
|
+ <template #default="scope">
|
|
|
<countTo
|
|
|
:startVal="scope.row.pv || 0"
|
|
|
:endVal="scope.row.pv || 0"
|
|
@@ -232,6 +236,7 @@
|
|
|
header-align="center"
|
|
|
align="center"
|
|
|
prop="comments"
|
|
|
+ sortable
|
|
|
>
|
|
|
<template #default="scope">
|
|
|
<countTo
|
|
@@ -246,6 +251,7 @@
|
|
|
header-align="center"
|
|
|
align="center"
|
|
|
prop="support"
|
|
|
+ sortable
|
|
|
>
|
|
|
<template #default="scope">
|
|
|
<countTo
|
|
@@ -284,27 +290,27 @@
|
|
|
</template>
|
|
|
<script>
|
|
|
// @ is an alias to /src
|
|
|
-import { getRule, getAppList, getSearchData, getLivePage } from "@/api/index";
|
|
|
+import { getRule, getAppList, getSearchData, getLivePage } from '@/api/index';
|
|
|
|
|
|
-import countTo from "@/components/counto/vue-countTo.vue";
|
|
|
+import countTo from '@/components/counto/vue-countTo.vue';
|
|
|
import { defaultAppNameFunc } from '@/utils/tool.js';
|
|
|
|
|
|
-import config from "@/config/index";
|
|
|
+import config from '@/config/index';
|
|
|
export default {
|
|
|
- name: "Version",
|
|
|
+ name: 'Version',
|
|
|
data() {
|
|
|
return {
|
|
|
lastParams: {},
|
|
|
table: {},
|
|
|
- numType: "newUser",
|
|
|
+ numType: 'newUser',
|
|
|
form: {
|
|
|
- app: "",
|
|
|
+ app: '',
|
|
|
version: [],
|
|
|
channel: [],
|
|
|
date: [],
|
|
|
- liveId: "",
|
|
|
- liveTitle: "",
|
|
|
- publisherName: "",
|
|
|
+ liveId: '',
|
|
|
+ liveTitle: '',
|
|
|
+ publisherName: '',
|
|
|
page: 1,
|
|
|
size: 20,
|
|
|
},
|
|
@@ -318,8 +324,8 @@ export default {
|
|
|
const { source, appV, appC, appli, appVLi, appCLi } =
|
|
|
await this.getAppListFunc();
|
|
|
const keys = {
|
|
|
- value: "mname",
|
|
|
- label: "mname",
|
|
|
+ value: 'mname',
|
|
|
+ label: 'mname',
|
|
|
};
|
|
|
this.cycle = this.verifyList(appli, source, keys, false);
|
|
|
this.channel = this.verifyList(appCLi, appC, keys, true);
|
|
@@ -327,12 +333,12 @@ export default {
|
|
|
this.form = {
|
|
|
// app: (this.cycle[0] || { value: "" }).value,
|
|
|
app: defaultAppNameFunc(this.cycle),
|
|
|
- version: [(this.version[0] || { value: "" }).value],
|
|
|
- channel: [(this.channel[0] || { value: "" }).value],
|
|
|
+ version: [(this.version[0] || { value: '' }).value],
|
|
|
+ channel: [(this.channel[0] || { value: '' }).value],
|
|
|
date: [new Date(Date.now() - 604800000), new Date(Date.now() - 86400000)],
|
|
|
- liveId: "",
|
|
|
- liveTitle: "",
|
|
|
- publisherName: "",
|
|
|
+ liveId: '',
|
|
|
+ liveTitle: '',
|
|
|
+ publisherName: '',
|
|
|
};
|
|
|
this.onSubmit();
|
|
|
},
|
|
@@ -342,7 +348,7 @@ export default {
|
|
|
if (!obj) return;
|
|
|
let li = list || [];
|
|
|
const out = [];
|
|
|
- more && out.push({ value: -1, label: "不限" });
|
|
|
+ more && out.push({ value: -1, label: '不限' });
|
|
|
for (let i = 0; i < li.length; i++) {
|
|
|
const v = li[i];
|
|
|
if (verify.length !== 0 && !verify[v.mcode]) continue;
|
|
@@ -362,6 +368,8 @@ export default {
|
|
|
},
|
|
|
onSubmit() {
|
|
|
this.lastParams = {
|
|
|
+ order: this.form.order,
|
|
|
+ sortBy: this.form.sortBy || undefined,
|
|
|
app: this.form.app,
|
|
|
start: this.FormData(this.form.date[0]),
|
|
|
end: this.FormData(this.form.date[1]),
|
|
@@ -373,6 +381,7 @@ export default {
|
|
|
page: this.form.page,
|
|
|
pageSize: this.form.size,
|
|
|
};
|
|
|
+ console.log(this.lastParams.sortBy, this.lastParams.order)
|
|
|
getLivePage(this.lastParams).then(r => (this.table = r || {}));
|
|
|
},
|
|
|
async getAppListFunc() {
|
|
@@ -383,17 +392,18 @@ export default {
|
|
|
appVLi = [];
|
|
|
let appC = { length: 0 },
|
|
|
appCLi = [];
|
|
|
- let prvList = r.output && r.output.data && r.output.data.prvRolectrl || [];
|
|
|
+ let prvList =
|
|
|
+ (r.output && r.output.data && r.output.data.prvRolectrl) || [];
|
|
|
for (let i = 0; i < prvList.length; i++) {
|
|
|
const v = prvList[i];
|
|
|
- if (v.controlid == "RMT_SOURCE")
|
|
|
+ if (v.controlid == 'RMT_SOURCE')
|
|
|
(source[v.detid] = true), (source.length = source.length + 1);
|
|
|
- if (v.controlid == "APP_VERSION")
|
|
|
+ if (v.controlid == 'APP_VERSION')
|
|
|
(appV[v.detid] = true), (appV.length = appV.length + 1);
|
|
|
- if (v.controlid == "CHANNEL")
|
|
|
+ if (v.controlid == 'CHANNEL')
|
|
|
(appC[v.detid] = true), (appC.length = appC.length + 1);
|
|
|
}
|
|
|
- if (li.status === "0") appli = li.output.data || [];
|
|
|
+ if (li.status === '0') appli = li.output.data || [];
|
|
|
if (appVersion.length) appVLi = appVersion || [];
|
|
|
if (channel.length) appCLi = channel || [];
|
|
|
return {
|
|
@@ -407,37 +417,37 @@ export default {
|
|
|
},
|
|
|
async getAppListOri() {
|
|
|
const roleid = JSON.parse(
|
|
|
- window.parent.localStorage.userinfo || "{}"
|
|
|
+ window.parent.localStorage.userinfo || '{}'
|
|
|
).roleid;
|
|
|
const r = await getRule({
|
|
|
- db: "authplat",
|
|
|
- exportMark: "0",
|
|
|
+ db: 'authplat',
|
|
|
+ exportMark: '0',
|
|
|
menuid: 399,
|
|
|
roleid,
|
|
|
});
|
|
|
// 应用列表
|
|
|
|
|
|
const li = await getAppList({
|
|
|
- exportMark: "0",
|
|
|
- gcode: "SOURCE",
|
|
|
+ exportMark: '0',
|
|
|
+ gcode: 'SOURCE',
|
|
|
pageid: 1,
|
|
|
pagesize: 1000,
|
|
|
});
|
|
|
const cycle = li.output ? li.output.data || [] : [];
|
|
|
// 应用版本列表
|
|
|
const appVersion = await getSearchData({
|
|
|
- gcode: "APP_VERSION",
|
|
|
+ gcode: 'APP_VERSION',
|
|
|
source: defaultAppNameFunc(cycle, 'mname'),
|
|
|
});
|
|
|
// 应用渠道列表
|
|
|
const channel = await getSearchData({
|
|
|
- gcode: "CHANNEL",
|
|
|
+ gcode: 'CHANNEL',
|
|
|
source: defaultAppNameFunc(cycle, 'mname'),
|
|
|
});
|
|
|
return { r, li, appVersion, channel };
|
|
|
},
|
|
|
disabledDate(time) {
|
|
|
- const first = new Date("2021-06-21 00:00:00");
|
|
|
+ const first = new Date('2021-06-21 00:00:00');
|
|
|
return (
|
|
|
time.getTime() > Date.now() - 86400000 ||
|
|
|
time.getTime() < first.getTime()
|
|
@@ -447,9 +457,9 @@ export default {
|
|
|
const d = new Date(date || Date.now() - 86400000);
|
|
|
const year = d.getFullYear();
|
|
|
const month =
|
|
|
- d.getMonth() <= 8 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1;
|
|
|
- const day = d.getDate() <= 9 ? "0" + d.getDate() : d.getDate();
|
|
|
- return [year, month, day].join("-");
|
|
|
+ d.getMonth() <= 8 ? '0' + (d.getMonth() + 1) : d.getMonth() + 1;
|
|
|
+ const day = d.getDate() <= 9 ? '0' + d.getDate() : d.getDate();
|
|
|
+ return [year, month, day].join('-');
|
|
|
},
|
|
|
timeFormat(t) {
|
|
|
const Time = t || 0;
|
|
@@ -457,40 +467,42 @@ export default {
|
|
|
let hour = (Time - mH) / 3600;
|
|
|
let min = (mH - (mH % 60)) / 60;
|
|
|
let son = Number(mH % 60).toFixed(0);
|
|
|
- hour = hour <= 9 ? "0" + hour : hour;
|
|
|
- min = min <= 9 ? "0" + min : min;
|
|
|
- son = son <= 9 ? "0" + son : son;
|
|
|
+ hour = hour <= 9 ? '0' + hour : hour;
|
|
|
+ min = min <= 9 ? '0' + min : min;
|
|
|
+ son = son <= 9 ? '0' + son : son;
|
|
|
let out = [];
|
|
|
if (hour * 1 > 0) out.push(hour);
|
|
|
out.push(...[min, son]);
|
|
|
- return out.join(":");
|
|
|
+ return out.join(':');
|
|
|
},
|
|
|
change() {
|
|
|
const roleid = JSON.parse(
|
|
|
- window.parent.localStorage.userinfo || "{}"
|
|
|
+ window.parent.localStorage.userinfo || '{}'
|
|
|
).roleid;
|
|
|
const appV = {
|
|
|
length: 0,
|
|
|
};
|
|
|
getRule({
|
|
|
- db: "authplat",
|
|
|
- exportMark: "0",
|
|
|
+ db: 'authplat',
|
|
|
+ exportMark: '0',
|
|
|
menuid: 399,
|
|
|
roleid,
|
|
|
}).then(rule => {
|
|
|
- let prvList = rule.output && rule.output.data && rule.output.data.prvRolectrl || [];
|
|
|
+ let prvList =
|
|
|
+ (rule.output && rule.output.data && rule.output.data.prvRolectrl) ||
|
|
|
+ [];
|
|
|
for (let i = 0; i < prvList.length; i++) {
|
|
|
const v = prvList[i];
|
|
|
- if (v.controlid == "APP_VERSION")
|
|
|
+ if (v.controlid == 'APP_VERSION')
|
|
|
(appV[v.detid] = true), (appV.length = appV.length + 1);
|
|
|
}
|
|
|
getSearchData({
|
|
|
- gcode: "APP_VERSION",
|
|
|
+ gcode: 'APP_VERSION',
|
|
|
source: this.form.app,
|
|
|
}).then(r => {
|
|
|
let version = [
|
|
|
{
|
|
|
- label: "不限",
|
|
|
+ label: '不限',
|
|
|
value: -1,
|
|
|
},
|
|
|
];
|
|
@@ -508,12 +520,12 @@ export default {
|
|
|
};
|
|
|
});
|
|
|
getSearchData({
|
|
|
- gcode: "CHANNEL",
|
|
|
+ gcode: 'CHANNEL',
|
|
|
source: this.form.app,
|
|
|
}).then(r => {
|
|
|
let channel = [
|
|
|
{
|
|
|
- label: "不限",
|
|
|
+ label: '不限',
|
|
|
value: -1,
|
|
|
},
|
|
|
];
|
|
@@ -565,29 +577,34 @@ export default {
|
|
|
: undefined;
|
|
|
const app = this.lastParams.app || this.form.app;
|
|
|
const version =
|
|
|
- this.form.version == -1 ? undefined : this.form.version.join(",");
|
|
|
+ this.form.version == -1 ? undefined : this.form.version.join(',');
|
|
|
const manufacturer =
|
|
|
- this.lastParams.manufacturer || this.form.channel.join(",");
|
|
|
+ this.lastParams.manufacturer || this.form.channel.join(',');
|
|
|
let url =
|
|
|
config.base.leverAudience +
|
|
|
- "/cxzx-program/new-media/live/export?start=" +
|
|
|
+ '/cxzx-program/new-media/live/export?start=' +
|
|
|
S +
|
|
|
- "&end=" +
|
|
|
+ '&end=' +
|
|
|
E +
|
|
|
- "&app=" +
|
|
|
+ '&app=' +
|
|
|
app;
|
|
|
- version && (url += "&version=" + version);
|
|
|
- version && (url += "&version=" + version);
|
|
|
- this.lastParams.liveId && (url += "&liveId=" + this.lastParams.liveId);
|
|
|
+ version && (url += '&version=' + version);
|
|
|
+ version && (url += '&version=' + version);
|
|
|
+ this.lastParams.liveId && (url += '&liveId=' + this.lastParams.liveId);
|
|
|
this.lastParams.liveTitle &&
|
|
|
- (url += "&liveTitle=" + this.lastParams.liveTitle);
|
|
|
+ (url += '&liveTitle=' + this.lastParams.liveTitle);
|
|
|
this.lastParams.publisherName &&
|
|
|
- (url += "&publisherName=" + this.lastParams.publisherName);
|
|
|
+ (url += '&publisherName=' + this.lastParams.publisherName);
|
|
|
manufacturer &&
|
|
|
manufacturer !== -1 &&
|
|
|
- (url += "&manufacturer=" + manufacturer);
|
|
|
+ (url += '&manufacturer=' + manufacturer);
|
|
|
window.open(url);
|
|
|
},
|
|
|
+ sort_change(type) {
|
|
|
+ this.form.sortBy = type.prop;
|
|
|
+ this.form.order = type.order === "ascending" ? 0 : type.order === "descending" ? 1 : undefined;
|
|
|
+ this.onSubmit();
|
|
|
+ },
|
|
|
},
|
|
|
components: {
|
|
|
countTo,
|
|
@@ -608,7 +625,7 @@ export default {
|
|
|
.btn-prev i {
|
|
|
margin: 0 auto;
|
|
|
}
|
|
|
-.caret-wrapper .ascending {
|
|
|
+/* .caret-wrapper .ascending {
|
|
|
display: none;
|
|
|
-}
|
|
|
+} */
|
|
|
</style>
|