Compare commits

..

No commits in common. "ea2a0b33009e2340478b8d8dc87975082b3a2473" and "fcb527e472eb7d000632fdae341093b05f109ae3" have entirely different histories.

9 changed files with 835 additions and 1718 deletions

View File

@ -1,35 +0,0 @@
import request from '@/utils/request'
// 会员汇总数据
export function getMemberSummary() {
return request({
url: '/system/manage/board/member-summary',
method: 'get'
})
}
// 日业绩数据
export function getDailyPerformance(params) {
return request({
url: '/system/manage/board/day-achieve',
method: 'get',
params
})
}
// 月业绩数据
export function getMonthlyPerformance() {
return request({
url: '/system/manage/board/month-achieve',
method: 'get'
})
}
// 充值汇总数据
export function getRechargeSummary() {
return request({
url: '/system/manage/board/recharge-summary',
method: 'get'
})
}

View File

@ -47,7 +47,7 @@ export const constantRoutes = [
{ {
path: '/', path: '/',
component: Layout, component: Layout,
redirect: '/summaryDashboard', redirect: '/dashboard',
name: 'index', name: 'index',
// alwaysShow: true, // alwaysShow: true,
meta: { title: '首页', icon: 'firstPage', icon1: 'firstPageSel' }, meta: { title: '首页', icon: 'firstPage', icon1: 'firstPageSel' },
@ -58,13 +58,6 @@ export const constantRoutes = [
component: () => import('@/views/dashboard/index'), component: () => import('@/views/dashboard/index'),
meta: { title: '首页', icon: 'firstPage', icon1: 'firstPageSel' } meta: { title: '首页', icon: 'firstPage', icon1: 'firstPageSel' }
}, },
{
path: 'summaryDashboard',
name: 'SummaryDashboard',
component: () => import('@/views/dashboard/dashboard'),
meta: { title: '汇总', icon: 'dashboard' },
hidden: true
},
{ {
path: 'hasIndex', path: 'hasIndex',
name: 'HasIndex', name: 'HasIndex',
@ -675,12 +668,12 @@ export const constantRoutes = [
component: () => import('@/views/settlementCenter/bonusCount/index'), component: () => import('@/views/settlementCenter/bonusCount/index'),
meta: { title: '奖金计算' } meta: { title: '奖金计算' }
}, },
{ // {
path: 'performanceTotal', // path: 'performanceTotal',
name: 'performanceTotal', // name: 'performanceTotal',
component: () => import('@/views/settlementCenter/performanceTotal/index'), // component: () => import('@/views/settlementCenter/performanceTotal/index'),
meta: { title: '业绩汇总' } // meta: { title: '业绩汇总' }
}, // },
{ {
path: 'performanceRatio', path: 'performanceRatio',
name: 'performanceRatio', name: 'performanceRatio',

File diff suppressed because it is too large Load Diff

View File

@ -14,11 +14,11 @@
<div class="page"> <div class="page">
<topBar <topBar
v-if="topList.length > 0" v-if="topList.length > 0"
:top-list="topList" :topList="topList"
:moren="moren" :moren="moren"
:wait-approval-num="waitApprovalNum" :waitApprovalNum="waitApprovalNum"
:receive-approval-num="receiveApprovalNum" :receiveApprovalNum="receiveApprovalNum"
/> ></topBar>
<div class="main"> <div class="main">
<div class="form_all"> <div class="form_all">
<el-form ref="select" :model="select" label-width="auto"> <el-form ref="select" :model="select" label-width="auto">
@ -35,45 +35,45 @@
</el-form-item> --> </el-form-item> -->
<el-form-item label="签呈编号"> <el-form-item label="签呈编号">
<el-input <el-input
v-model="select.approvalCode"
clearable clearable
v-model="select.approvalCode"
:placeholder="'请输入'" :placeholder="'请输入'"
/> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- 一层 --> <!-- 一层 -->
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'业务类型'"> <el-form-item :label="'业务类型'">
<el-select <el-select
v-model="select.approvalBusiness"
clearable clearable
filterable filterable
v-model="select.approvalBusiness"
> >
<el-option <el-option
v-for="item in ywsqList" v-for="item in ywsqList"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
/> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="业务类型内容"> <el-form-item label="业务类型内容">
<el-input <el-input
v-model="select.approvalBusinessVal"
clearable clearable
v-model="select.approvalBusinessVal"
:placeholder="'请输入'" :placeholder="'请输入'"
/> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="情况说明"> <el-form-item label="情况说明">
<el-input <el-input
v-model="select.remark"
clearable clearable
v-model="select.remark"
:placeholder="'请输入'" :placeholder="'请输入'"
/> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="4"> <!-- <el-col :span="4">
@ -89,13 +89,13 @@
</el-col> --> </el-col> -->
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'签呈状态'"> <el-form-item :label="'签呈状态'">
<el-select v-model="select.approveStatus" clearable> <el-select clearable v-model="select.approveStatus">
<el-option <el-option
v-for="item in approveStatusList" v-for="item in approveStatusList"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
/> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -108,7 +108,8 @@
:range-separator="'至'" :range-separator="'至'"
:start-placeholder="'开始日期'" :start-placeholder="'开始日期'"
:end-placeholder="'结束日期'" :end-placeholder="'结束日期'"
/> >
</el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -120,12 +121,14 @@
:range-separator="'至'" :range-separator="'至'"
:start-placeholder="'开始日期'" :start-placeholder="'开始日期'"
:end-placeholder="'结束日期'" :end-placeholder="'结束日期'"
/> >
</el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-button type="primary" @click="getDataList1"> <el-button type="primary" @click="getDataList1">
{{ '搜索' }}</el-button> {{ '搜索' }}</el-button
>
<el-button @click="reset"> {{ '重置' }}</el-button> <el-button @click="reset"> {{ '重置' }}</el-button>
</el-col> </el-col>
</el-row> </el-row>
@ -133,24 +136,27 @@
</div> </div>
<div class="main_a"> <div class="main_a">
<div class="mainbtn"> <div class="mainbtn">
<el-button size="small" class="exportBtn" @click="handleExport"> <el-button size="small" @click="handleExport" class="exportBtn">
{{ '导出' }}</el-button> {{ '导出' }}</el-button
>
</div> </div>
</div> </div>
<el-table <el-table
v-loading="loading"
:data="tableData1" :data="tableData1"
style="width: 100%" style="width: 100%"
height="100%" height="100%"
v-loading="loading"
:header-cell-style="{ background: '#EEEEEE' }" :header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
> >
<el-table-column align="center" prop="approvalCode" label="签呈编号" /> <el-table-column align="center" prop="approvalCode" label="签呈编号">
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="approvalBusinessVal" prop="approvalBusinessVal"
:label="'业务类型'" :label="'业务类型'"
/> >
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="parentClassifyName" prop="parentClassifyName"
@ -173,19 +179,19 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="bz_a"> <div class="bz_a">
<div <div
class="bz_i"
v-for="(item, index) in scope.row.detailList" v-for="(item, index) in scope.row.detailList"
:key="index" :key="index"
class="bz_i"
> >
<div :class="item.useTime == undefined ? 'qiu' : 'quan'" /> <div :class="item.useTime == undefined ? 'qiu' : 'quan'"></div>
<div <div
v-if="index != scope.row.detailList.length - 1"
:class=" :class="
scope.row.detailList[index + 1].useTime == undefined scope.row.detailList[index + 1].useTime == undefined
? 'gun1' ? 'gun1'
: 'gun' : 'gun'
" "
/> v-if="index != scope.row.detailList.length - 1"
></div>
<div class="time">{{ item.useTime }}</div> <div class="time">{{ item.useTime }}</div>
<div class="zhi"> <div class="zhi">
<div>{{ item.nickName }}</div> <div>{{ item.nickName }}</div>
@ -204,7 +210,7 @@
<div <div
:class=" :class="
scope.row.receiveList.length > 0 && scope.row.receiveList.length > 0 &&
scope.row.receiveList[0].receiveStatus == 1 scope.row.receiveList[0].receiveStatus == 1
? 'act' ? 'act'
: 'act2' : 'act2'
" "
@ -217,7 +223,8 @@
align="center" align="center"
prop="useTime" prop="useTime"
:label="'总耗时'" :label="'总耗时'"
/> >
</el-table-column>
<!-- <el-table-column align="center" <!-- <el-table-column align="center"
prop="approvalOperationVal" prop="approvalOperationVal"
:label="'审核状态'"> :label="'审核状态'">
@ -226,7 +233,8 @@
align="center" align="center"
prop="approveStatusVal" prop="approveStatusVal"
:label="'签呈状态'" :label="'签呈状态'"
/> >
</el-table-column>
<!-- <el-table-column align="center" <!-- <el-table-column align="center"
prop="remark" prop="remark"
label="情况说明"> label="情况说明">
@ -235,8 +243,10 @@
align="center" align="center"
prop="creationTime" prop="creationTime"
:label="'创建日期'" :label="'创建日期'"
/> >
<el-table-column align="center" prop="endTime" :label="'终审日期'" /> </el-table-column>
<el-table-column align="center" prop="endTime" :label="'终审日期'">
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
@ -246,9 +256,9 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@click="toFixed(scope.row.approvalCode, 1)"
type="text" type="text"
size="small" size="small"
@click="toFixed(scope.row.approvalCode, 1)"
> >
{{ '查看签呈' }} {{ '查看签呈' }}
</el-button> </el-button>
@ -266,137 +276,159 @@
</template> </template>
<script> <script>
import { mapGetters } from 'vuex' import { mapGetters } from "vuex";
import * as api from '@/api/manage.js' import * as api from "@/api/manage.js";
import topBar from '@/components/topBar' import topBar from "@/components/topBar";
import topBarMixin from './mixins/top-bar-mixin'
export default {
name: 'Dashboard',
mixins: [topBarMixin],
export default {
name: "Dashboard",
components: {
topBar,
},
computed: { computed: {
...mapGetters(['name']) ...mapGetters(["name"]),
}, },
data() { data() {
return { return {
loading: false, loading: false,
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 50 pageSize: 50,
}, },
total: 0, total: 0,
tableData: [], tableData: [],
tableData1: [], tableData1: [],
tabActive: 0, tabActive: 0,
select: {}, select: {},
moren: 'hasIndex', moren: "hasIndex",
topList: [
{
name: "代办",
path: "dashboard",
},
{
name: "已办",
path: "hasIndex",
},
{
name: "抄送查阅/操作",
path: "receiveIndex",
},
// {
// name: '',
// path: 'goodsCheck',
// },
// {
// name: '',
// path: 'productCheck',
// },
],
ywsqList: [], ywsqList: [],
checkList: [], checkList: [],
sourceList: [], sourceList: [],
approveStatusList: [], approveStatusList: [],
waitApprovalNum: '', waitApprovalNum: "",
receiveApprovalNum: '' receiveApprovalNum: "",
} };
}, },
mounted() { mounted() {
// //
this.getDataList1() this.getDataList1();
this.getApprove() this.getApprove();
this.getSignType() this.getSignType();
this.getSource() this.getSource();
this.getApprovalStatus() this.getApprovalStatus();
}, },
methods: { methods: {
reset() { reset() {
this.select = {} this.select = {};
this.getDataList1() this.getDataList1();
}, },
getApprove() { getApprove() {
api.approvalBusiness().then((res) => { api.approvalBusiness().then((res) => {
this.ywsqList = res.data this.ywsqList = res.data;
}) });
}, },
getSource() { getSource() {
api.signSource().then((res) => { api.signSource().then((res) => {
this.sourceList = res.data this.sourceList = res.data;
}) });
}, },
getSignType() { getSignType() {
api.approvalOperation().then((res) => { api.approvalOperation().then((res) => {
this.checkList = res.data this.checkList = res.data;
}) });
}, },
getApprovalStatus() { getApprovalStatus() {
api.approvalStatus().then((res) => { api.approvalStatus().then((res) => {
this.approveStatusList = res.data this.approveStatusList = res.data;
}) });
api.waitApprovalNum().then((res) => { api.waitApprovalNum().then((res) => {
this.waitApprovalNum = res.data this.waitApprovalNum = res.data;
}) });
api.receiveApprovalNum().then((res) => { api.receiveApprovalNum().then((res) => {
this.receiveApprovalNum = res.data this.receiveApprovalNum = res.data;
}) });
}, },
// tab // tab
handleLink(id) { handleLink(id) {
this.tabActive = id this.tabActive = id;
if (id == 0) { if (id == 0) {
// //
this.getDataList() this.getDataList();
} else { } else {
// //
this.getDataList1() this.getDataList1();
} }
}, },
getDataList() { getDataList() {
api.waitApproval().then((res) => { api.waitApproval().then((res) => {
this.tableData = res.data this.tableData = res.data;
}) });
}, },
getDataList1() { getDataList1() {
this.loading = true this.loading = true;
api api
.completeApproval(Object.assign({}, this.queryParams, this.select)) .completeApproval(Object.assign({}, this.queryParams, this.select))
.then((res) => { .then((res) => {
this.loading = false this.loading = false;
this.tableData1 = res.rows this.tableData1 = res.rows;
this.total = res.total this.total = res.total;
}) });
}, },
toFixed(id, index) { toFixed(id, index) {
this.$router.push({ this.$router.push({
path: 'manageDetails', path: "manageDetails",
query: { query: {
id: id, id: id,
index: index index: index,
} },
}) });
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', { this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: "warning",
}).then((_) => { }).then((_) => {
this.download( this.download(
'/system/manage/index/export-approval', "/system/manage/index/export-approval",
Object.assign({}, this.queryParams, this.select), Object.assign({}, this.queryParams, this.select),
`已办${new Date().getTime()}.xlsx` `已办${new Date().getTime()}.xlsx`
) );
}) });
}, },
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
return 'warning-row' return "warning-row";
} else if (rowIndex % 2 == 0) { } else if (rowIndex % 2 == 0) {
return 'success-row' return "success-row";
} }
return '' return "";
} },
} },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -8,12 +8,12 @@
<div class="page"> <div class="page">
<topBar <topBar
v-if="topList.length > 0 && userInfo.userType != 9" v-if="topList.length > 0 && userInfo.userType != 9"
:top-list="topList" :topList="topList"
:moren="moren" :moren="moren"
:wait-approval-num="waitApprovalNum" :waitApprovalNum="waitApprovalNum"
:receive-approval-num="receiveApprovalNum" :receiveApprovalNum="receiveApprovalNum"
/> ></topBar>
<div v-if="userInfo.userType != 9" class="main"> <div class="main" v-if="userInfo.userType != 9">
<div> <div>
<div class="form_all"> <div class="form_all">
<el-form ref="select" :model="select" label-width="auto"> <el-form ref="select" :model="select" label-width="auto">
@ -21,45 +21,45 @@
<el-col :span="6"> <el-col :span="6">
<el-form-item label="签呈编号"> <el-form-item label="签呈编号">
<el-input <el-input
v-model="select.approvalCode"
clearable clearable
v-model="select.approvalCode"
:placeholder="'请输入'" :placeholder="'请输入'"
/> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- 一层 --> <!-- 一层 -->
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="'业务类型'"> <el-form-item :label="'业务类型'">
<el-select <el-select
v-model="select.approvalBusiness"
clearable clearable
filterable filterable
v-model="select.approvalBusiness"
> >
<el-option <el-option
v-for="item in ywsqList" v-for="item in ywsqList"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
/> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="业务类型内容"> <el-form-item label="业务类型内容">
<el-input <el-input
v-model="select.approvalBusinessVal"
clearable clearable
v-model="select.approvalBusinessVal"
:placeholder="'请输入'" :placeholder="'请输入'"
/> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="情况说明"> <el-form-item label="情况说明">
<el-input <el-input
v-model="select.remark"
clearable clearable
v-model="select.remark"
:placeholder="'请输入'" :placeholder="'请输入'"
/> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -83,7 +83,8 @@
:range-separator="'至'" :range-separator="'至'"
:start-placeholder="'开始日期'" :start-placeholder="'开始日期'"
:end-placeholder="'结束日期'" :end-placeholder="'结束日期'"
/> >
</el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="8"> <!-- <el-col :span="8">
@ -99,16 +100,17 @@
</el-col> --> </el-col> -->
<el-col :span="4"> <el-col :span="4">
<el-button type="primary" @click="getDataList"> <el-button type="primary" @click="getDataList">
{{ '搜索' }}</el-button> {{ '搜索' }}</el-button
>
<el-button @click="reset"> {{ '重置' }}</el-button> <el-button @click="reset"> {{ '重置' }}</el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
<el-table <el-table
v-loading="loading"
:data="tableData" :data="tableData"
height="700px" height="700px"
v-loading="loading"
:element-loading-text="'正在加载'" :element-loading-text="'正在加载'"
:header-cell-style="{ background: '#EEEEEE' }" :header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
@ -117,14 +119,17 @@
align="center" align="center"
prop="creation" prop="creation"
:label="'发起人'" :label="'发起人'"
/> >
<el-table-column align="center" prop="approvalCode" label="签呈编号" /> </el-table-column>
<el-table-column align="center" prop="approvalCode" label="签呈编号">
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="approvalBusinessVal" prop="approvalBusinessVal"
:label="'业务类型'" :label="'业务类型'"
/> >
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="parentClassifyName" prop="parentClassifyName"
@ -134,21 +139,21 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="bz_a"> <div class="bz_a">
<div <div
class="bz_i"
v-for="(item, index) in scope.row.detailList" v-for="(item, index) in scope.row.detailList"
:key="index" :key="index"
class="bz_i"
> >
<div <div
:class="item.useTime == undefined ? 'qiu' : 'quan'" :class="item.useTime == undefined ? 'qiu' : 'quan'"
/> ></div>
<div <div
v-if="index != scope.row.detailList.length - 1"
:class=" :class="
scope.row.detailList[index + 1].useTime == undefined scope.row.detailList[index + 1].useTime == undefined
? 'gun1' ? 'gun1'
: 'gun' : 'gun'
" "
/> v-if="index != scope.row.detailList.length - 1"
></div>
<div class="time">{{ item.useTime }}</div> <div class="time">{{ item.useTime }}</div>
<div class="zhi"> <div class="zhi">
<div>{{ item.nickName }}</div> <div>{{ item.nickName }}</div>
@ -167,9 +172,9 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
v-show="scope.row.approvalFlag == 0" v-show="scope.row.approvalFlag == 0"
@click="toFixed(scope.row.approvalCode, 0)"
type="text" type="text"
size="small" size="small"
@click="toFixed(scope.row.approvalCode, 0)"
> >
{{ '审核' }} {{ '审核' }}
</el-button> </el-button>
@ -180,7 +185,8 @@
prop="creationTime" prop="creationTime"
width="100" width="100"
:label="'创建日期'" :label="'创建日期'"
/> >
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="time" prop="time"
@ -190,9 +196,9 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@click="toFixed(scope.row.approvalCode, 0)"
type="text" type="text"
size="small" size="small"
@click="toFixed(scope.row.approvalCode, 0)"
> >
{{ '查看签呈' }} {{ '查看签呈' }}
</el-button> </el-button>
@ -223,7 +229,7 @@
<div class="title"> <div class="title">
{{ noticeObj.title }} {{ noticeObj.title }}
</div> </div>
<div class="img-auto" v-html="noticeObj.content" /> <div v-html="noticeObj.content" class="img-auto"></div>
<!-- <span slot="footer"--> <!-- <span slot="footer"-->
<!-- class="dialog-footer">--> <!-- class="dialog-footer">-->
<!-- <el-button type="primary"--> <!-- <el-button type="primary"-->
@ -234,30 +240,28 @@
</template> </template>
<script> <script>
import { mapGetters } from 'vuex' import { mapGetters } from "vuex";
import * as api from '@/api/manage.js' import * as api from "@/api/manage.js";
import topBar from '@/components/topBar' import topBar from "@/components/topBar";
import * as not from '@/api/notice.js' import * as not from "@/api/notice.js";
import topBarMixin from './mixins/top-bar-mixin'
export default { export default {
name: 'Dashboard', name: "Dashboard",
components: { components: {
topBar topBar,
}, },
mixins: [topBarMixin],
computed: { computed: {
...mapGetters(['name', 'user']) ...mapGetters(["name", "user"]),
}, },
data() { data() {
return { return {
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 50 pageSize: 50,
}, },
select: { select: {
websiteType: 2, websiteType: 2,
functionType: 1 functionType: 1,
}, },
approveStatusList: [], approveStatusList: [],
@ -267,127 +271,149 @@ export default {
tabActive: 0, tabActive: 0,
loading: false, loading: false,
select: {}, select: {},
moren: 'dashboard', moren: "dashboard",
topList: [
{
name: "代办",
path: "dashboard",
},
{
name: "已办",
path: "hasIndex",
},
{
name: "抄送查阅/操作",
path: "receiveIndex",
},
// {
// name: '',
// path: 'goodsCheck',
// },
// {
// name: '',
// path: 'productCheck',
// },
],
ywsqList: [], ywsqList: [],
checkList: [], checkList: [],
tableList: [], tableList: [],
userInfo: '', userInfo: "",
isNotice: false, isNotice: false,
waitApprovalNum: '', waitApprovalNum: "",
receiveApprovalNum: '', receiveApprovalNum: "",
noticeObj: [ noticeObj: [
{ {
title: '', title: "",
content: '' content: "",
} },
] ],
} };
}, },
mounted() { mounted() {
// //
this.getDataList() this.getDataList();
this.getApprove() this.getApprove();
this.getSignType() this.getSignType();
this.getNoticePop() this.getNoticePop();
this.getApprovalStatus() this.getApprovalStatus();
this.userInfo = JSON.parse(localStorage.getItem('userInfo')) this.userInfo = JSON.parse(localStorage.getItem("userInfo"));
}, },
methods: { methods: {
reset() { reset() {
this.select = {} this.select = {};
this.getDataList() this.getDataList();
}, },
handleClose() { handleClose() {
this.isNotice = false this.isNotice = false;
}, },
getNoticePop() { getNoticePop() {
// this.getUser // this.getUser
const userInfo = JSON.parse(localStorage.getItem('userInfo')) let userInfo = JSON.parse(localStorage.getItem("userInfo"));
api api
.noticeShow({ .noticeShow({
roles: userInfo.roleIds roles: userInfo.roleIds,
}) })
.then((res) => { .then((res) => {
if (res.data.length > 0) { if (res.data.length > 0) {
this.noticeObj = res.data[0] this.noticeObj = res.data[0];
this.isNotice = true this.isNotice = true;
} }
}) });
}, },
getApprovalStatus() { getApprovalStatus() {
api.approvalStatus().then((res) => { api.approvalStatus().then((res) => {
this.approveStatusList = res.data this.approveStatusList = res.data;
}) });
api.waitApprovalNum().then((res) => { api.waitApprovalNum().then((res) => {
this.waitApprovalNum = res.data this.waitApprovalNum = res.data;
}) });
api.receiveApprovalNum().then((res) => { api.receiveApprovalNum().then((res) => {
this.receiveApprovalNum = res.data this.receiveApprovalNum = res.data;
}) });
}, },
goNotice(item) { goNotice(item) {
this.$router.push({ this.$router.push({
path: '/announcement/noticeList/details', path: "/announcement/noticeList/details",
query: { query: {
pkId: item.pkId, pkId: item.pkId,
type: 1 type: 1,
// functionType:this.select.functionType // functionType:this.select.functionType
} },
}) });
}, },
openNotice() { openNotice() {
this.$router.push({ this.$router.push({
path: '/announcement/noticeList/details', path: "/announcement/noticeList/details",
query: { query: {
isAdmin: true isAdmin: true,
} },
}) });
}, },
getApprove() { getApprove() {
api.approvalBusiness().then((res) => { api.approvalBusiness().then((res) => {
this.ywsqList = res.data this.ywsqList = res.data;
}) });
}, },
getSignType() { getSignType() {
api.approvalOperation().then((res) => { api.approvalOperation().then((res) => {
this.checkList = res.data this.checkList = res.data;
}) });
}, },
getDataList() { getDataList() {
this.loading = true this.loading = true;
api.waitApproval(this.select).then((res) => { api.waitApproval(this.select).then((res) => {
this.tableData = res.data this.tableData = res.data;
this.loading = false this.loading = false;
}) });
not.indexNoticeAdminList(this.select).then((res) => { not.indexNoticeAdminList(this.select).then((res) => {
this.tableList = res.rows this.tableList = res.rows;
this.tableList.forEach((item) => { this.tableList.forEach((item) => {
if (item.title.length > 20) { if (item.title.length > 20) {
item.title = item.title.substring(0, 20) + '...' item.title = item.title.substring(0, 20) + "...";
} }
item.creationTime = item.creationTime.substring(0, 10) item.creationTime = item.creationTime.substring(0, 10);
}) });
}) });
}, },
toFixed(id, index) { toFixed(id, index) {
this.$router.push({ this.$router.push({
path: 'manageDetails', path: "manageDetails",
query: { query: {
id: id, id: id,
index: index index: index,
} },
}) });
}, },
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
return 'warning-row' return "warning-row";
} else if (rowIndex % 2 == 0) { } else if (rowIndex % 2 == 0) {
return 'success-row' return "success-row";
} }
return '' return "";
} },
} },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -1,73 +0,0 @@
import * as api from '@/api/manage.js'
import { mapGetters } from 'vuex'
import { getRouters } from '@/api/settle'
export default {
data() {
return {
waitApprovalNum: '',
receiveApprovalNum: '',
defaultTabItem: 'dashboard',
topList: [
{
name: '看板',
path: 'summaryDashboard'
},
{
name: '代办',
path: 'dashboard'
},
{
name: '已办',
path: 'hasIndex'
},
{
name: '抄送查阅/操作',
path: 'receiveIndex'
}
// {
// name: '商品审核',
// path: 'goodsCheck',
// },
// {
// name: '产品审核',
// path: 'productCheck',
// },
],
roleMenu: []
}
},
computed: {
...mapGetters(['name', 'user'])
},
created() {
this.getRoles()
},
methods: {
getApprovalStatus() {
api.waitApprovalNum().then((res) => {
this.waitApprovalNum = res.data
})
api.receiveApprovalNum().then((res) => {
this.receiveApprovalNum = res.data
})
},
getRoles() {
return new Promise((resolve, reject) => {
getRouters().then((res) => {
this.roleMenu = res.data || []
if (!this.roleMenu.find((item) => item.routeName === 'summaryDashboard')) {
this.topList.splice(0, 1)
if (this.$route.name === 'SummaryDashboard') {
this.$router.replace({
name: 'Dashboard'
})
}
reject()
return
}
resolve()
})
})
}
}
}

View File

@ -14,11 +14,11 @@
<div class="page"> <div class="page">
<topBar <topBar
v-if="topList.length > 0" v-if="topList.length > 0"
:top-list="topList" :topList="topList"
:moren="moren" :moren="moren"
:wait-approval-num="waitApprovalNum" :waitApprovalNum="waitApprovalNum"
:receive-approval-num="receiveApprovalNum" :receiveApprovalNum="receiveApprovalNum"
/> ></topBar>
<div class="main"> <div class="main">
<div class="form_all"> <div class="form_all">
<el-form ref="select" :model="select" label-width="auto"> <el-form ref="select" :model="select" label-width="auto">
@ -27,37 +27,37 @@
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'业务类型'"> <el-form-item :label="'业务类型'">
<el-select <el-select
v-model="select.approvalBusiness"
clearable clearable
filterable filterable
v-model="select.approvalBusiness"
> >
<el-option <el-option
v-for="item in ywsqList" v-for="item in ywsqList"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
/> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'发起人'"> <el-form-item :label="'发起人'">
<el-input <el-input
v-model="select.userName"
clearable clearable
v-model="select.userName"
:placeholder="'请输入'" :placeholder="'请输入'"
/> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'签呈状态'"> <el-form-item :label="'签呈状态'">
<el-select v-model="select.receiveStatus" clearable> <el-select clearable v-model="select.receiveStatus">
<el-option <el-option
v-for="item in readStateList" v-for="item in readStateList"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
/> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -70,7 +70,8 @@
:range-separator="'至'" :range-separator="'至'"
:start-placeholder="'开始日期'" :start-placeholder="'开始日期'"
:end-placeholder="'结束日期'" :end-placeholder="'结束日期'"
/> >
</el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -82,12 +83,14 @@
:range-separator="'至'" :range-separator="'至'"
:start-placeholder="'开始日期'" :start-placeholder="'开始日期'"
:end-placeholder="'结束日期'" :end-placeholder="'结束日期'"
/> >
</el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-button type="primary" @click="getDataList1"> <el-button type="primary" @click="getDataList1">
{{ '搜索' }}</el-button> {{ '搜索' }}</el-button
>
<el-button @click="reset"> {{ '重置' }}</el-button> <el-button @click="reset"> {{ '重置' }}</el-button>
</el-col> </el-col>
</el-row> </el-row>
@ -98,33 +101,37 @@
<el-button <el-button
size="small" size="small"
:disabled="pkIdList.length == 0" :disabled="pkIdList.length == 0"
type="success"
@click="toReceive(0)" @click="toReceive(0)"
>{{ '接收' }}</el-button> type="success"
<el-button size="small" class="exportBtn" @click="handleExport"> >{{ '接收' }}</el-button
{{ '导出' }}</el-button> >
<el-button size="small" @click="handleExport" class="exportBtn">
{{ '导出' }}</el-button
>
</div> </div>
</div> </div>
<el-table <el-table
v-loading="loading"
:data="tableData1" :data="tableData1"
style="width: 100%" style="width: 100%"
height="100%" height="100%"
v-loading="loading"
@selection-change="handleSelectionChange"
:header-cell-style="{ background: '#EEEEEE' }" :header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55"> </el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="userName" prop="userName"
:label="'发起人'" :label="'发起人'"
/> >
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="approvalBusinessVal" prop="approvalBusinessVal"
:label="'业务类型'" :label="'业务类型'"
/> >
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
@ -142,8 +149,10 @@
align="center" align="center"
prop="creationTime" prop="creationTime"
:label="'创建日期'" :label="'创建日期'"
/> >
<el-table-column align="center" prop="sendTime" :label="'终审日期'" /> </el-table-column>
<el-table-column align="center" prop="sendTime" :label="'终审日期'">
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
@ -154,18 +163,18 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
style="color: #48b2fd" style="color: #48b2fd"
@click="toFixed(scope.row.approvalCode, 2, scope.row.pkId)"
type="text" type="text"
size="small" size="small"
@click="toFixed(scope.row.approvalCode, 2, scope.row.pkId)"
> >
{{ '查看签呈' }} {{ '查看签呈' }}
</el-button> </el-button>
<el-button <el-button
v-show="scope.row.receiveStatus == 1"
style="color: #53b11e" style="color: #53b11e"
v-show="scope.row.receiveStatus == 1"
@click="toReceive(1, scope.row.pkId)"
type="text" type="text"
size="small" size="small"
@click="toReceive(1, scope.row.pkId)"
> >
{{ '接收' }} {{ '接收' }}
</el-button> </el-button>
@ -183,166 +192,186 @@
</template> </template>
<script> <script>
import { mapGetters } from 'vuex' import { mapGetters } from "vuex";
import * as api from '@/api/manage.js' import * as api from "@/api/manage.js";
import topBar from '@/components/topBar' import topBar from "@/components/topBar";
import topBarMixin from './mixins/top-bar-mixin'
export default { export default {
name: 'Dashboard', name: "Dashboard",
components: { components: {
topBar topBar,
}, },
mixins: [topBarMixin],
computed: { computed: {
...mapGetters(['name']) ...mapGetters(["name"]),
}, },
data() { data() {
return { return {
loading: false, loading: false,
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 50 pageSize: 50,
}, },
total: 0, total: 0,
tableData: [], tableData: [],
tableData1: [], tableData1: [],
tabActive: 0, tabActive: 0,
select: {}, select: {},
moren: 'receiveIndex', moren: "receiveIndex",
topList: [
{
name: "代办",
path: "dashboard",
},
{
name: "已办",
path: "hasIndex",
},
{
name: "抄送查阅/操作",
path: "receiveIndex",
},
// {
// name: '',
// path: 'goodsCheck',
// },
// {
// name: '',
// path: 'productCheck',
// },
],
ywsqList: [], ywsqList: [],
checkList: [], checkList: [],
sourceList: [], sourceList: [],
approveStatusList: [], approveStatusList: [],
pkIdList: [], pkIdList: [],
readStateList: [], readStateList: [],
waitApprovalNum: '', waitApprovalNum: "",
receiveApprovalNum: '' receiveApprovalNum: "",
} };
}, },
mounted() { mounted() {
// //
this.getDataList1() this.getDataList1();
this.getApprove() this.getApprove();
this.getSignType() this.getSignType();
this.getSource() this.getSource();
this.getreadState() this.getreadState();
this.getApprovalStatus() this.getApprovalStatus();
}, },
methods: { methods: {
reset() { reset() {
this.select = {} this.select = {};
this.getDataList1() this.getDataList1();
}, },
getApprove() { getApprove() {
api.approvalBusiness().then((res) => { api.approvalBusiness().then((res) => {
this.ywsqList = res.data this.ywsqList = res.data;
}) });
}, },
getreadState() { getreadState() {
api.readState().then((res) => { api.readState().then((res) => {
this.readStateList = res.data this.readStateList = res.data;
}) });
}, },
getSource() { getSource() {
api.signSource().then((res) => { api.signSource().then((res) => {
this.sourceList = res.data this.sourceList = res.data;
}) });
}, },
getSignType() { getSignType() {
api.approvalOperation().then((res) => { api.approvalOperation().then((res) => {
this.checkList = res.data this.checkList = res.data;
}) });
}, },
getApprovalStatus() { getApprovalStatus() {
api.approvalStatus().then((res) => { api.approvalStatus().then((res) => {
this.approveStatusList = res.data this.approveStatusList = res.data;
}) });
api.waitApprovalNum().then((res) => { api.waitApprovalNum().then((res) => {
this.waitApprovalNum = res.data this.waitApprovalNum = res.data;
}) });
api.receiveApprovalNum().then((res) => { api.receiveApprovalNum().then((res) => {
this.receiveApprovalNum = res.data this.receiveApprovalNum = res.data;
}) });
}, },
getDataList1() { getDataList1() {
this.loading = true this.loading = true;
api api
.receiveApprovalList(Object.assign({}, this.queryParams, this.select)) .receiveApprovalList(Object.assign({}, this.queryParams, this.select))
.then((res) => { .then((res) => {
this.loading = false this.loading = false;
this.tableData1 = res.rows this.tableData1 = res.rows;
this.total = res.total this.total = res.total;
}) });
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
if (val.length > 0) { if (val.length > 0) {
const pkIdList = val.map((item) => { let pkIdList = val.map((item) => {
return item.pkId return item.pkId;
}) });
this.pkIdList = pkIdList this.pkIdList = pkIdList;
console.log( console.log(
'%c [ this.pkIdList ]-274', "%c [ this.pkIdList ]-274",
'font-size:13px; background:#69b38c; color:#adf7d0;', "font-size:13px; background:#69b38c; color:#adf7d0;",
this.pkIdList this.pkIdList
) );
} else { } else {
this.pkIdList = [] this.pkIdList = [];
} }
}, },
toReceive(index, id) { toReceive(index, id) {
if (index) { if (index) {
this.pkIdList = [id] this.pkIdList = [id];
} }
api api
.receiveApproval({ .receiveApproval({
pkIdList: this.pkIdList pkIdList: this.pkIdList,
}) })
.then((res) => { .then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.$message({ this.$message({
type: 'success', type: "success",
message: res.msg message: res.msg,
}) });
this.getDataList1() this.getDataList1();
this.getApprovalStatus() this.getApprovalStatus();
} }
}) });
}, },
toFixed(id, index, pkId) { toFixed(id, index, pkId) {
this.$router.push({ this.$router.push({
path: 'manageDetails', path: "manageDetails",
query: { query: {
id: id, id: id,
index: index, index: index,
pkId: pkId pkId: pkId,
} },
}) });
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', { this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: "warning",
}).then((_) => { }).then((_) => {
this.download( this.download(
'/system/manage/index/receive-approval-export', "/system/manage/index/receive-approval-export",
Object.assign({}, this.queryParams, this.select), Object.assign({}, this.queryParams, this.select),
`签呈接收${new Date().getTime()}.xlsx` `签呈接收${new Date().getTime()}.xlsx`
) );
}) });
}, },
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
return 'warning-row' return "warning-row";
} else if (rowIndex % 2 == 0) { } else if (rowIndex % 2 == 0) {
return 'success-row' return "success-row";
} }
return '' return "";
} },
} },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -6,83 +6,65 @@
--> -->
<template> <template>
<div class="page"> <div class="page">
<topBar <topBar v-if="topList.length > 0"
v-if="topList.length > 0" :topList="topList"
:top-list="topList" :moren="moren"></topBar>
:moren="moren"
/>
<div class="main"> <div class="main">
<el-form <el-form ref="select"
ref="select" :model="select"
:model="select" style="padding:0 10px 0 10px;background: #fff"
style="padding:0 10px 0 10px;background: #fff" label-width="auto">
label-width="auto"
>
<el-row :gutter="20"> <el-row :gutter="20">
<!-- 一层 --> <!-- 一层 -->
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'结算期数'"> <el-form-item :label="'结算期数'">
<el-input <el-input clearable
v-model="select.memberSettlePeriodId" v-model="select.memberSettlePeriodId"></el-input>
clearable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'币种展示'"> <el-form-item :label="'币种展示'">
<el-select <el-select clearable
v-model="select.pkCurrency" placeholder=""
clearable v-model="select.pkCurrency">
placeholder="" <el-option v-for="item in acList"
> :key="item.value"
<el-option :label="item.label"
v-for="item in acList" :value="item.value"></el-option>
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="'结算日期'"> <el-form-item :label="'结算日期'">
<el-date-picker <el-date-picker v-model="creationTime"
v-model="creationTime" @change="changeTime"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="daterange" type="daterange"
format="yyyy-MM-dd" format="yyyy-MM-dd"
:range-separator="'至'" :range-separator="'至'"
:start-placeholder="'开始日期'" :start-placeholder="'开始日期'"
:end-placeholder="'结束日期'" :end-placeholder="'结束日期'">
@change="changeTime" </el-date-picker>
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'隶属体系'"> <el-form-item :label="'隶属体系'">
<el-cascader <el-cascader :options="verList"
v-model="select.pkBdVertexStred" v-model="select.pkBdVertexStred"
:options="verList" @change="getPkBdVertexStr"
:props="props" :props="props"
collapse-tags collapse-tags
clearable clearable></el-cascader>
@change="getPkBdVertexStr"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col <el-col :span="4"
:span="4" >
> <el-button type="primary"
<el-button size="small"
type="primary" class="my_search"
size="small" @click="getDataList"> {{ '搜索' }}</el-button>
class="my_search" <el-button class="my_reset"
@click="getDataList" @click="reset"> {{ '重置' }}</el-button>
> {{ '搜索' }}</el-button>
<el-button
class="my_reset"
@click="reset"
> {{ '重置' }}</el-button>
</el-col> </el-col>
</el-row> </el-row>
<!-- <el-row> <!-- <el-row>
@ -116,12 +98,10 @@
</el-form> </el-form>
<div class="maintop"> <div class="maintop">
<div class="mainbtn"> <div class="mainbtn">
<el-button <el-button size="small"
v-has-buttons="['performanceTotalExport']" v-has-buttons="['performanceTotalExport']"
size="small" @click="handleExport"
class="thebtn2" class="thebtn2"> {{ '导出' }}</el-button>
@click="handleExport"
> {{ '导出' }}</el-button>
</div> </div>
<!-- <div> <!-- <div>
<el-dropdown :hide-on-click="false"> <el-dropdown :hide-on-click="false">
@ -139,127 +119,382 @@
</div> </div>
<div class="maintable"> <div class="maintable">
<div class="itemTrading"> <div class="itemTrading">
<el-table <el-table :data="tableData"
ref="mainTable" ref="mainTable"
v-loading="loading" v-loading="loading"
:data="tableData" height='730px'
height="730px" style="width: 100%"
style="width: 100%" :header-cell-style="{ background: '#EEEEEE' }"
:header-cell-style="{ background: '#EEEEEE' }" :row-class-name="tableRowClassName"
:row-class-name="tableRowClassName" @selection-change="handleSelectionChange"
:summary-method="getSummaries" :summary-method="getSummaries"
show-summary show-summary>
@selection-change="handleSelectionChange" <el-table-column type="selection"
> width="55"> </el-table-column>
<el-table-column
type="selection"
width="55"
/>
<!-- <el-table-column align="center" <!-- <el-table-column align="center"
prop="numberPeriods" prop="numberPeriods"
width="150" width="150"
v-if="dataList[0].key" v-if="dataList[0].key"
:label="'结算期数'"> :label="'结算期数'">
</el-table-column> --> </el-table-column> -->
<el-table-column <el-table-column align="center"
v-if="allTxt.settleDate" prop="settleDate"
align="center" width="150"
prop="settleDate" v-if="allTxt.settleDate"
width="150" :label="'结算时间'">
:label="'结算时间'" </el-table-column>
/> <el-table-column align="center"
<el-table-column prop="registerAmount"
v-if="allTxt.registerAmount" v-if="allTxt.registerAmount"
align="center" :formatter="stateFormat"
prop="registerAmount" width="160"
:formatter="stateFormat" :label="'注册金额'+`(¥)`">
width="160" </el-table-column>
:label="'注册金额'" <el-table-column align="center"
/> prop="registerAmountDollar"
v-if="allTxt.registerAmountDollar"
:formatter="stateFormat"
width="160"
:label="'注册金额'+`($)`">
</el-table-column>
<el-table-column align="center"
prop="registerAmountLocality"
v-if="allTxt.registerAmountLocality"
:formatter="stateFormat"
width="160"
:label="'注册金额'+`(${isLocalSymbol()})`">
</el-table-column>
<el-table-column align="center"
prop="registerPv"
v-if="allTxt.registerPv"
:formatter="stateFormat"
width="160"
:label="'注册业绩'+`(¥)`">
</el-table-column>
<el-table-column align="center"
prop="registerPvDollar"
v-if="allTxt.registerPvDollar"
:formatter="stateFormat"
width="160"
:label="'注册业绩'+`($)`">
</el-table-column>
<el-table-column align="center"
prop="registerPvLocality"
v-if="allTxt.registerPvLocality"
:formatter="stateFormat"
width="160"
:label="'注册业绩'+`(${isLocalSymbol()})`">
</el-table-column>
<el-table-column align="center"
prop="upgradeAmount"
v-if="allTxt.upgradeAmount"
:formatter="stateFormat"
width="160"
:label="'升级金额'+`(¥)`">
</el-table-column>
<el-table-column align="center"
prop="upgradeAmountDollar"
v-if="allTxt.upgradeAmountDollar"
:formatter="stateFormat"
width="160"
:label="'升级金额'+`($)`">
</el-table-column>
<el-table-column align="center"
prop="upgradeAmountLocality"
v-if="allTxt.upgradeAmountLocality"
:formatter="stateFormat"
width="160"
:label="'升级金额'+`(${isLocalSymbol()})`">
</el-table-column>
<el-table-column <el-table-column align="center"
v-if="allTxt.registerPv" prop="upgradePv"
align="center" v-if="allTxt.upgradePv"
prop="registerPv" :formatter="stateFormat"
:formatter="stateFormat" width="160"
width="160" :label="'升级业绩'+`(¥)`">
:label="'注册业绩'" </el-table-column>
/> <el-table-column align="center"
prop="upgradePvDollar"
v-if="allTxt.upgradePvDollar"
:formatter="stateFormat"
width="160"
:label="'升级业绩'+`($)`">
</el-table-column>
<el-table-column align="center"
prop="upgradePvLocality"
v-if="allTxt.upgradePvLocality"
:formatter="stateFormat"
width="160"
:label="'升级业绩'+`(${isLocalSymbol()})`">
</el-table-column>
<el-table-column <el-table-column align="center"
v-if="allTxt.upgradeAmount" v-if="allTxt.firstPurchaseAmount"
align="center" prop="firstPurchaseAmount"
prop="upgradeAmount" :formatter="stateFormat"
:formatter="stateFormat" width="160"
width="160" :label="'首购金额'+`(¥)`">
:label="'升级金额'" </el-table-column>
/> <el-table-column align="center"
<el-table-column v-if="allTxt.firstPurchaseAmountDollar"
v-if="allTxt.upgradePv" prop="firstPurchaseAmountDollar"
align="center" :formatter="stateFormat"
prop="upgradePv" width="160"
:formatter="stateFormat" :label="'首购金额'+`($)`">
width="160" </el-table-column>
:label="'升级业绩'" <el-table-column align="center"
/> v-if="allTxt.firstPurchaseAmountLocality"
prop="firstPurchaseAmountLocality"
:formatter="stateFormat"
width="160"
:label="'首购金额'+`(${isLocalSymbol()})`">
</el-table-column>
<el-table-column align="center"
v-if="allTxt.firstPurchasePv"
prop="firstPurchasePv"
:formatter="stateFormat"
width="160"
:label="'首购业绩'+`(¥)`">
</el-table-column>
<el-table-column align="center"
v-if="allTxt.firstPurchasePvDollar"
prop="firstPurchasePvDollar"
:formatter="stateFormat"
width="160"
:label="'首购业绩'+`($)`">
</el-table-column>
<el-table-column align="center"
v-if="allTxt.firstPurchasePvLocality"
prop="firstPurchasePvLocality"
:formatter="stateFormat"
width="160"
:label="'首购业绩'+`(${isLocalSymbol()})`">
</el-table-column>
<el-table-column align="center"
prop="tripartiteAmount"
v-if="allTxt.tripartiteAmount&&getUser.user.pkCountry==1"
:formatter="stateFormat"
width="160"
:label="'三方' +'金额'+`(¥)`">
</el-table-column>
<el-table-column align="center"
prop="tripartiteAmountDollar"
v-if="allTxt.tripartiteAmountDollar&&getUser.user.pkCountry==1"
:formatter="stateFormat"
width="160"
:label="'三方' +'金额'+`($)`">
</el-table-column>
<el-table-column align="center"
prop="tripartiteAmountLocality"
v-if="allTxt.tripartiteAmountLocality&&getUser.user.pkCountry==1"
:formatter="stateFormat"
width="160"
:label="'三方' +'金额'+`(${isLocalSymbol()})`">
</el-table-column>
<el-table-column align="center"
prop="tripartitePv"
v-if="allTxt.tripartitePv&&getUser.user.pkCountry==1"
:formatter="stateFormat"
width="160"
:label="'三方' +'业绩'+`(¥)`">
</el-table-column>
<el-table-column align="center"
prop="tripartitePvDollar"
v-if="allTxt.tripartitePvDollar&&getUser.user.pkCountry==1"
:formatter="stateFormat"
width="160"
:label="'三方' +'业绩'+`($)`">
</el-table-column>
<el-table-column align="center"
prop="tripartitePvLocality"
v-if="allTxt.tripartitePvLocality&&getUser.user.pkCountry==1"
:formatter="stateFormat"
width="160"
:label="'三方' +'业绩'+`(${isLocalSymbol()})`">
</el-table-column>
<el-table-column <!-- <el-table-column align="center"
v-if="allTxt.firstPurchaseAmount" prop="directSupplyAmount"
align="center" v-if="allTxt.directSupplyAmount"
prop="firstPurchaseAmount" :formatter="stateFormat"
:formatter="stateFormat" width="160"
width="160" :label="'直供金额'+`(¥)`">
:label="'首购金额'" </el-table-column>
/> <el-table-column align="center"
prop="directSupplyAmountDollar"
v-if="allTxt.directSupplyAmountDollar"
:formatter="stateFormat"
width="160"
:label="'直供金额'+`($)`">
</el-table-column>
<el-table-column align="center"
prop="directSupplyAmountLocality"
v-if="allTxt.directSupplyAmountLocality"
:formatter="stateFormat"
width="160"
:label="'直供金额'+`(${isLocalSymbol()})`">
</el-table-column> -->
<!-- <el-table-column align="center"
prop="directSupplyPv"
v-if="allTxt.directSupplyPv"
:formatter="stateFormat"
width="160"
:label="'直供业绩'+`(¥)`">
</el-table-column>
<el-table-column align="center"
prop="directSupplyPvDollar"
v-if="allTxt.directSupplyPvDollar"
:formatter="stateFormat"
width="160"
:label="'直供业绩'+`($)`">
</el-table-column>
<el-table-column align="center"
prop="directSupplyPvLocality"
v-if="allTxt.directSupplyPvLocality"
:formatter="stateFormat"
width="160"
:label="'直供业绩'+`(${isLocalSymbol()})`">
</el-table-column> -->
<el-table-column align="center"
prop="fansAmount"
v-if="allTxt.fansAmount&&getUser.user.pkCountry==1"
:formatter="stateFormat"
width="150"
:label="'海粉金额'+`(¥)`">
</el-table-column>
<el-table-column align="center"
prop="fansAmountDollar"
v-if="allTxt.fansAmountDollar&&getUser.user.pkCountry==1"
:formatter="stateFormat"
width="150"
:label="'海粉金额'+`($)`">
</el-table-column>
<el-table-column align="center"
prop="fansAmountLocality"
v-if="allTxt.fansAmountLocality&&getUser.user.pkCountry==1"
:formatter="stateFormat"
width="150"
:label="'海粉金额'+`(${isLocalSymbol()})`">
</el-table-column>
<el-table-column align="center"
prop="hiFunPv"
v-if="allTxt.hiFunPv&&getUser.user.pkCountry==1"
:formatter="stateFormat"
width="150"
:label="'海粉业绩'+`(¥)`">
</el-table-column>
<el-table-column align="center"
prop="hiFunPvDollar"
v-if="allTxt.hiFunPvDollar&&getUser.user.pkCountry==1"
:formatter="stateFormat"
width="150"
:label="'海粉业绩'+`($)`">
</el-table-column>
<el-table-column align="center"
prop="hiFunPvLocality"
v-if="allTxt.hiFunPvLocality&&getUser.user.pkCountry==1"
:formatter="stateFormat"
width="150"
:label="'海粉业绩'+`(${isLocalSymbol()})`">
</el-table-column>
<el-table-column align="center"
prop="repurchaseAmount"
v-if="allTxt.repurchaseAmount"
:formatter="stateFormat"
width="160"
:label="'复购金额'+`(¥)`">
</el-table-column>
<el-table-column align="center"
v-if="allTxt.repurchaseAmountDollar"
prop="repurchaseAmountDollar"
:formatter="stateFormat"
width="150"
:label="'复购金额'+'($)'">
</el-table-column>
<el-table-column align="center"
v-if="allTxt.repurchaseAmountLocality"
prop="repurchaseAmountLocality"
:formatter="stateFormat"
width="150"
:label="'复购金额'+`(${isLocalSymbol()})`">
</el-table-column>
<el-table-column align="center"
v-if="allTxt.repurchasePv"
prop="repurchasePv"
:formatter="stateFormat"
width="150"
:label="'复购业绩'+'(¥)'">
</el-table-column>
<el-table-column align="center"
v-if="allTxt.repurchasePvDollar"
prop="repurchasePvDollar"
:formatter="stateFormat"
width="150"
:label="'复购业绩'+'($)'">
</el-table-column>
<el-table-column align="center"
v-if="allTxt.repurchasePvLocality"
prop="repurchasePvLocality"
:formatter="stateFormat"
width="150"
:label="'复购业绩'+`(${isLocalSymbol()})`">
</el-table-column>
<el-table-column align="center"
v-if="allTxt.amountTotal"
prop="amountTotal"
:formatter="stateFormat"
width="150"
:label="'金额总计'+'(¥)'">
</el-table-column>
<el-table-column align="center"
v-if="allTxt.amountTotalDollar"
prop="amountTotalDollar"
:formatter="stateFormat"
width="150"
:label="'金额总计'+'($)'">
</el-table-column>
<el-table-column align="center"
v-if="allTxt.amountTotalLocality"
prop="amountTotalLocality"
:formatter="stateFormat"
width="150"
:label="'金额总计'+`(${isLocalSymbol()})`">
</el-table-column>
<el-table-column align="center"
v-if="allTxt.pvTotal"
prop="pvTotal"
:formatter="stateFormat"
width="150"
:label="'业绩汇总'+'(¥)'">
</el-table-column>
<el-table-column align="center"
v-if="allTxt.pvTotalDollar"
prop="pvTotalDollar"
:formatter="stateFormat"
width="150"
:label="'业绩汇总'+'($)'">
</el-table-column>
<el-table-column align="center"
v-if="allTxt.pvTotalLocality"
prop="pvTotalLocality"
:formatter="stateFormat"
width="150"
:label="'业绩汇总'+`(${isLocalSymbol()})`">
</el-table-column>
<el-table-column
v-if="allTxt.firstPurchasePv"
align="center"
prop="firstPurchasePv"
:formatter="stateFormat"
width="160"
:label="'首购业绩'"
/>
<el-table-column
v-if="allTxt.repurchaseAmount"
align="center"
prop="repurchaseAmount"
:formatter="stateFormat"
width="160"
:label="'复购金额'"
/>
<el-table-column
v-if="allTxt.repurchasePv"
align="center"
prop="repurchasePv"
:formatter="stateFormat"
width="150"
:label="'复购业绩'"
/>
<el-table-column
v-if="allTxt.amountTotal"
align="center"
prop="amountTotal"
:formatter="stateFormat"
width="150"
:label="'金额总计'"
/>
<el-table-column
v-if="allTxt.pvTotal"
align="center"
prop="pvTotal"
:formatter="stateFormat"
width="150"
:label="'业绩汇总'"
/>
</el-table> </el-table>
</div> </div>
<!-- <div class="heji">
<div class="dis"
v-for="item in menuList"
:key="item.id"
v-if="item.checked&&item.id != 0&&item.id > 13">
<div>{{ item.text }}</div>
<div>{{ tableData[item.prop] }}</div>
</div>
</div> -->
</div> </div>
</div> </div>
<!-- <pagination v-show="total>0" <!-- <pagination v-show="total>0"
@ -283,7 +518,7 @@ import { mapGetters } from 'vuex'
export default { export default {
name: 'Bzpz', name: 'Bzpz',
components: { components: {
topBar topBar,
}, },
filters: { filters: {
isAgree(val) { isAgree(val) {
@ -292,60 +527,60 @@ export default {
} else { } else {
return '禁止' return '禁止'
} }
} },
}, },
data() { data() {
return { return {
typeList: [ typeList: [
{ {
value: 0, value: 0,
label: '前台' label: '前台',
}, },
{ {
value: 1, value: 1,
label: '后台' label: '后台',
} },
], ],
digList: [ digList: [
{ {
value: 0, value: 0,
label: '允许' label: '允许',
}, },
{ {
value: 1, value: 1,
label: '禁止' label: '禁止',
} },
], ],
creationTime: [], creationTime: [],
creationTime1: [], creationTime1: [],
select: { select: {
pkVertex: [], pkVertex: [],
pkMemberTeam: [] pkMemberTeam: [],
}, },
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 50 pageSize: 50,
}, },
addOrEdit: '', addOrEdit: '',
total: 0, total: 0,
dialogVisible: false, dialogVisible: false,
tableData: [], tableData: [],
loading: false, loading:false,
moren: '/settlementCenter/performanceTotal', moren: '/settlementCenter/performanceTotal',
topList: [ topList: [
{ {
name: '业绩汇总', name: '业绩汇总',
path: '/settlementCenter/performanceTotal' path: '/settlementCenter/performanceTotal',
} },
], ],
form: { form: {
name: '' name: '',
}, },
rules: { rules: {
name: [ name: [
{ required: true, message: '请输入规格类型', trigger: 'blur' } { required: true, message: '请输入规格类型', trigger: 'blur' },
] ],
}, },
acList: [], acList: [],
verList: [], verList: [],
@ -357,8 +592,8 @@ export default {
expandTrigger: 'hover', expandTrigger: 'hover',
value: 'pkId', value: 'pkId',
label: 'vertexName', label: 'vertexName',
children: 'childList' children: 'childList',
} },
} }
}, },
computed: { computed: {
@ -380,15 +615,15 @@ export default {
methods: { methods: {
getPkBdVertexStr(e) { getPkBdVertexStr(e) {
console.log('%c [ e ]-616', 'font-size:13px; background:#d9149a; color:#ff58de;', e) console.log('%c [ e ]-616', 'font-size:13px; background:#d9149a; color:#ff58de;', e)
const arr = e.map((item) => item[1]) let arr = e.map((item) => item[1])
const pkBdVertexStr = arr.join(',') let pkBdVertexStr = arr.join(',')
this.$set(this.select, 'pkBdVertexStr', pkBdVertexStr) this.$set(this.select, 'pkBdVertexStr', pkBdVertexStr)
}, },
getStartTime() { getStartTime() {
const date = new Date() let date = new Date()
// console.error(date.getDate()==1?date.getMonth():date.getMonth() + 1) // console.error(date.getDate()==1?date.getMonth():date.getMonth() + 1)
const year = date.getFullYear() // let year = date.getFullYear() //
let month = date.getDate() === 1 ? date.getMonth() : date.getMonth() + 1 // 0-11+1 let month = date.getDate()===1?date.getMonth():date.getMonth() + 1 // 0-11+1
date.setDate(1) // date.setDate(1) //
month = month >= 10 ? month : '0' + month // month = month >= 10 ? month : '0' + month //
let day = date.getDate() // setDate(1) let day = date.getDate() // setDate(1)
@ -396,32 +631,32 @@ export default {
return year + '-' + month + '-' + day return year + '-' + month + '-' + day
}, },
getEndTime() { getEndTime() {
var date = new Date() var date = new Date();
var year = date.getFullYear() // var year = date.getFullYear() //
let month = date.getDate() === 1 ? date.getMonth() : date.getMonth() + 1 // 0-11+1 let month = date.getDate()===1?date.getMonth():date.getMonth() + 1 // 0-11+1
var day = date.getDate() var day = date.getDate()
const day1 = date.getDate() let day1 = date.getDate()
// 0 // 0
if (month >= 1 && month <= 9) { if (month >= 1 && month <= 9) {
month = '0' + month month = "0" + month;
} }
if (day >= 0 && day <= 9) { if (day >= 0 && day <= 9) {
day = '0' + day day = "0" + day;
} }
if (day1 == 1) { if(day1==1){
var date2 = new Date() var date2 = new Date()
var year2 = date2.getFullYear() var year2 = date2.getFullYear()
var month2 = date2.getMonth() var month2 = date2.getMonth()
var dates = new Date(year2, month2, 0).getDate() var dates = new Date(year2, month2 , 0).getDate()
day = dates day = dates
} }
return year + '-' + month + '-' + day return year + "-" + month + "-" + day
}, },
isLocalSymbol, isLocalSymbol,
toThousandthAndKeepDecimal, toThousandthAndKeepDecimal,
getUserRole() { getUserRole() {
getRoleMenu('performanceTotal').then((res) => { getRoleMenu('performanceTotal').then((res) => {
const obj = {} let obj = {}
res.data.forEach((item) => { res.data.forEach((item) => {
obj[item] = 1 obj[item] = 1
}) })
@ -436,7 +671,7 @@ export default {
this.creationTime = '' this.creationTime = ''
this.select = { this.select = {
pkVertex: [], pkVertex: [],
pkMemberTeam: [] pkMemberTeam: [],
} }
}, },
getData() { getData() {
@ -470,8 +705,8 @@ export default {
this.$router.push({ this.$router.push({
path: 'noticeList/details', path: 'noticeList/details',
query: { query: {
pkId: id pkId: id,
} },
}) })
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
@ -479,7 +714,7 @@ export default {
this.$confirm('是否确认导出所有数据项?', '警告', { this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning',
}).then((_) => { }).then((_) => {
this.download( this.download(
'member/manage/member-structure/export', 'member/manage/member-structure/export',
@ -516,10 +751,10 @@ export default {
} }
}) })
// sums // sums
const arr = ['', '小计'] let arr = ['', '小计']
sums.forEach((item) => { sums.forEach((item) => {
if (typeof item === 'number') { if (typeof item == 'number') {
arr.push(toThousandthAndKeepDecimal(item)) arr.push(toThousandthAndKeepDecimal(item))
} }
}) })
@ -533,7 +768,7 @@ export default {
this.$confirm('确认删除?', '提示', { this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning',
}).then(() => { }).then(() => {
api.classifyDel(id).then((res) => { api.classifyDel(id).then((res) => {
this.getDataList() this.getDataList()
@ -553,7 +788,7 @@ export default {
if (res.code == 200) { if (res.code == 200) {
this.$message({ this.$message({
message: res.msg, message: res.msg,
type: 'success' type: 'success',
}) })
this.dialogVisible = false this.dialogVisible = false
// //
@ -574,7 +809,7 @@ export default {
}, },
openDig() { openDig() {
this.$router.push({ this.$router.push({
path: 'noticeList/details' path: 'noticeList/details',
}) })
}, },
getDataList() { getDataList() {
@ -586,7 +821,8 @@ export default {
api api
.memberStructure(Object.assign({}, this.queryParams, this.select)) .memberStructure(Object.assign({}, this.queryParams, this.select))
.then((res) => { .then((res) => {
this.loading = false
this.loading = false
this.tableData = res.data this.tableData = res.data
// this.total = res.total // this.total = res.total
}) })
@ -614,8 +850,8 @@ export default {
return 'success-row' return 'success-row'
} }
return '' return ''
} },
} },
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@ -230,7 +230,7 @@
<el-table-column <el-table-column
align="center" align="center"
prop="backPoints" prop="backPointsOri"
width="130" width="130"
:label="$t('重消收益') + `(${isLocalSymbol()})`" :label="$t('重消收益') + `(${isLocalSymbol()})`"
:formatter="stateFormat" :formatter="stateFormat"
@ -267,14 +267,7 @@
:label="'开始日期'" :label="'开始日期'"
v-if="allTxt.settleDate" v-if="allTxt.settleDate"
/> --> /> -->
<el-table-column
v-if="allTxt.realIncomeTotal"
align="center"
prop="realIncomeTotal"
width="130"
:label="'实发收益总计' + '(¥)'"
:formatter="stateFormat"
/>
<el-table-column <el-table-column
align="center" align="center"
prop="time" prop="time"