merge: 合并lx-online

This commit is contained in:
woody 2025-05-21 10:13:49 +08:00
commit e9462d1a4a
30 changed files with 1793 additions and 1647 deletions

View File

@ -1261,7 +1261,7 @@ export default {
printWindow.document.close()
printWindow.focus()
printWindow.print()
printWindow.close()
// printWindow.close()
} else {
const printContent = document.getElementById('print-content2')
const printWindow = window.open('', '_blank') // edge
@ -1269,7 +1269,7 @@ export default {
printWindow.document.close()
printWindow.focus()
printWindow.print()
printWindow.close()
// printWindow.close()
}
})
},

View File

@ -1,5 +1,5 @@
<template>
<el-form-item label="顶点会员">
<el-form-item label="系统编号">
<el-select
v-model="pkVertex"
clearable
@ -52,6 +52,3 @@ export default {
}
</script>
<style>
</style>

View File

@ -2,43 +2,41 @@
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:top-list="topList"
:moren="moren"
></topBar>
/>
<div class="main">
<div class="form_all">
<el-form ref="select" :model="select" label-width="auto">
<el-row :gutter="10">
<el-col :span="4">
<el-form-item label="服务编号">
<el-input clearable v-model="select.serviceCode"></el-input>
<el-input v-model="select.serviceCode" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'会员编号'">
<el-input clearable v-model="select.memberCode"></el-input>
<el-input v-model="select.memberCode" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="创建时间">
<el-date-picker
v-model="creationTime"
@change="changeTime"
value-format="yyyy-MM-dd"
type="daterange"
:clearable="false"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-form-item label="创建时间">
<el-date-picker
v-model="creationTime"
value-format="yyyy-MM-dd"
type="daterange"
:clearable="false"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeTime"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button type="primary" @click="getList">
{{ '搜索' }}</el-button
>
{{ '搜索' }}</el-button>
<el-button type="" @click="reset"> {{ '重置' }}</el-button>
</el-col>
</el-row>
@ -49,30 +47,28 @@
<el-button
v-has-buttons="['ServiceNumberAdd']"
size="small"
@click="openDig"
class="addBtn"
>{{ '添加' }}</el-button
>
@click="openDig"
>{{ '添加' }}</el-button>
<el-button
size="small"
@click="handleExport"
v-hasButtons="['ServiceNumberExport']"
size="small"
class="exportBtn"
@click="handleExport"
>
{{ '导出' }}</el-button
>
{{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
:data="tableData"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@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" prop="serviceCode" label="服务编号" />
<el-table-column
align="center"
@ -85,7 +81,6 @@
:label="'会员姓名'"
/>
<el-table-column align="center" prop="nickName" label="会员昵称" />
<el-table-column
align="center"
prop="gradeName"
@ -109,10 +104,10 @@
>
<template slot-scope="scope">
<el-button
@click="handleDelete(scope.row.memberCode)"
type="text"
v-has-buttons="['ServiceNumberDelete']"
type="text"
size="small"
@click="handleDelete(scope.row.memberCode)"
>
{{ '删除' }}
</el-button>
@ -142,23 +137,23 @@
<el-col :span="12">
<el-form-item :label="'会员编号'" prop="memberCode">
<el-input
clearable
v-model="form.memberCode"
clearable
:placeholder="'请选择'"
@blur="checkName"
></el-input>
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'会员姓名'">
<el-input
disabled
v-model="form.memberName"
disabled
:placeholder="'请输入会员姓名'"
></el-input>
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
@ -170,63 +165,63 @@
</el-dialog>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as api from "@/api/configManage.js";
import topBar from '@/components/topBar'
import * as api from '@/api/configManage.js'
export default {
name: "ServiceNumber",
name: 'ServiceNumber',
components: {
topBar,
topBar
},
data() {
return {
moren: "serviceNumber",
moren: 'serviceNumber',
topList: [
{
name: "服务编号配置",
path: "serviceNumber",
},
name: '服务编号配置',
path: 'serviceNumber'
}
],
select: {},
//
queryParams: {
pageNum: 1,
pageSize: 50,
pageSize: 50
},
total: 0,
dialogVisible: false,
tableData: [],
loading: false,
form: {},
dialogTitle: "",
dialogTitle: '',
rules: {
memberCode: [
{ required: true, message: '请输入', trigger: "blur" },
],
{ required: true, message: '请输入', trigger: 'blur' }
]
},
multipleSelection: [],
creationTime: [],
};
creationTime: []
}
},
mounted() {
//
this.getList();
this.getList()
},
methods: {
changeTime(val) {
this.select.startDate = val ? val[0] : "";
this.select.endDate = val ? val[1] : "";
this.select.startDate = val ? val[0] : ''
this.select.endDate = val ? val[1] : ''
},
checkName() {
api
.checkMemberDetail({ memberCode: this.form.memberCode })
.then((res) => {
this.$set(this.form, "memberName", res.data.memberName);
});
this.$set(this.form, 'memberName', res.data.memberName)
})
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.multipleSelection = val
},
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
@ -235,93 +230,93 @@ export default {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.dialogVisible = false;
type: 'success'
})
this.dialogVisible = false
//
this.getList();
this.$refs[formName].resetFields();
this.$refs[formName].clearValidate();
this.getList()
this.$refs[formName].resetFields()
this.$refs[formName].clearValidate()
}
});
})
} else {
return false;
return false
}
});
})
},
reset() {
this.select = {};
this.creationTime = [];
this.select = {}
this.creationTime = []
this.queryParams = {
pageNum: 1,
pageSize: 50,
};
this.getList();
pageSize: 50
}
this.getList()
},
//
handleDelete(code) {
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then(() => {
api
.delServiceNumber({
memberCode: code,
memberCode: code
})
.then((res) => {
this.$message({
message: res.msg,
type: "success",
});
this.getList();
});
});
type: 'success'
})
this.getList()
})
})
},
openDig() {
this.form = {};
this.dialogVisible = true;
this.dialogTitle = '添加';
this.form = {}
this.dialogVisible = true
this.dialogTitle = '添加'
},
getList() {
this.loading = true;
this.loading = true
api
.getServiceNumberList(Object.assign({}, this.queryParams, this.select))
.then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.loading = false;
});
this.tableData = res.rows
this.total = res.total
this.loading = false
})
},
/** 导出按钮操作 */
handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then((_) => {
this.download(
"/member/manage/member-service-code/export",
'/member/manage/member-service-code/export',
Object.assign({}, this.queryParams, this.select),
`服务编号配置-${new Date().getTime()}.xlsx`
);
});
)
})
},
handleClose() {
this.dialogVisible = false;
this.dialogVisible = false
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return "success-row";
return 'success-row'
}
return "";
},
},
};
return ''
}
}
}
</script>
<style scoped lang="scss">
::v-deep .el-table .warning-row {
@ -455,4 +450,3 @@ export default {
margin-top: 0;
}
</style>

View File

@ -56,7 +56,7 @@
</div>
<!-- 业绩数据卡片 (统一结构) -->
<div class="dashboard-card-group dashboard-card-group--performance-overview">
<div class="dashboard-card-title">金额汇总</div>
<div class="dashboard-card-title">新增业绩</div>
<div class="performance-overview-container">
<!-- 本月业绩 -->
<div class="performance-section performance-section--month">
@ -629,7 +629,7 @@ export default {
/* 当月会员卡片 - 最高优先级 */
.dashboard-card--month-member {
background: linear-gradient(135deg, #f6d365 0%, #fda085 100%); /* 恢复原有的橙色渐变,更醒目 */
order: 1; /* 通过flex order调整顺序如果父级是flex */
order: 3; /* 通过flex order调整顺序如果父级是flex */
/* 或者通过更强的视觉样式,如边框、阴影 */
box-shadow: 0 6px 15px 0 rgba(253,160,133,0.3);
transform: scale(1.02); /* 轻微放大 */
@ -670,7 +670,7 @@ export default {
/* 今日会员卡片 - 普通优先级 */
.dashboard-card--today-member {
background: linear-gradient(135deg, #c3dae6 0%, #a4c1d2 100%); /* 柔和的灰蓝色 */
order: 3;
order: 1;
box-shadow: 0 2px 8px 0 rgba(164,193,210,0.2);
}
.dashboard-card--today-member .dashboard-card-label {
@ -780,7 +780,7 @@ export default {
/* 本月业绩区块 - 最高优先级 */
.performance-section--month {
order: 1; /* 在 performance-overview-container 内的顺序 */
order: 3; /* 在 performance-overview-container 内的顺序 */
background: linear-gradient(135deg, #f3f9e6 0%, #e4f5d8 100%); /* 非常淡雅的绿色渐变 */
border-color: #a3d9a5; /* 边框颜色与渐变协调 */
box-shadow: 0 6px 15px rgba(163, 217, 165, 0.3);
@ -844,7 +844,7 @@ export default {
/* 今日业绩区块 - 普通优先级 */
.performance-section--today {
order: 3;
order: 1;
background: linear-gradient(135deg, #e3f2fd 0%, #d0e7fa 100%); /* 非常淡雅的蓝色渐变 */
border-color: #90caf9; /* 边框颜色 */
box-shadow: 0 3px 10px rgba(144, 202, 249, 0.2);
@ -987,7 +987,7 @@ export default {
/* 本月充值区块 - 最高优先级 */
.recharge-section--month {
order: 1; /* 在 recharge-summary-container 内的顺序 */
order: 3; /* 在 recharge-summary-container 内的顺序 */
background: linear-gradient(135deg, #f6eafd 0%, #e9dffc 100%); /* 更淡雅的紫色渐变 */
border-color: #d1bcf3;
box-shadow: 0 6px 18px rgba(209, 188, 243, 0.35);
@ -1037,7 +1037,7 @@ export default {
/* 今日充值区块 - 普通优先级 */
.recharge-section--today {
order: 3;
order: 1;
background: linear-gradient(135deg, #e6f4e7 0%, #d8ebd9 100%); /* 非常淡的灰绿色 */
border-color: #b2dfdb;
box-shadow: 0 3px 12px rgba(178, 223, 219, 0.25);

View File

@ -438,7 +438,7 @@ export default {
getLabel() {
return function (type) {
if (type == "1") {
return "顶点编号";
return "系统编号";
} else if (type == "2") {
return "体系编号";
} else if (type == "3") {

View File

@ -250,7 +250,7 @@ import {
getMemberSettlePeriod,
getUrlBase
} from '@/api/archityecture'
import TopMemberSelect from './components/top-member-select.vue'
import TopMemberSelect from '@/components/top-member-select/index.vue'
import { isLocals } from '../../../utils/numberToCurrency'
export default {
name: 'Azjg2',

View File

@ -244,7 +244,7 @@ import {
getUrlBase
} from '@/api/archityecture'
import { isLocals } from '../../../utils/numberToCurrency'
import TopMemberSelect from './components/top-member-select.vue'
import TopMemberSelect from '@/components/top-member-select/index.vue'
export default {
name: 'Azjg3',
components: {

View File

@ -232,7 +232,7 @@ import {
getUrlBase
} from '@/api/archityecture'
import { isLocals } from '../../../utils/numberToCurrency'
import TopMemberSelect from './components/top-member-select.vue'
import TopMemberSelect from '@/components/top-member-select/index.vue'
export default {
name: 'Azjg4',
components: {

View File

@ -50,12 +50,12 @@
</el-row></el-form>
</div>
<div class="theorgtree">
<!-- <div class="lefttop">
<div class="single" v-for="(item, index) in avaerInfoList" :key="index">
<img :src="item.value" alt="" />
<div class="singletitle">{{ item.name }}</div>
</div>
</div> -->
<div class="lefttop">
<div v-for="(item, index) in rangeList" :key="index" class="single">
<div class="colorbox" :style="{background: item.color}" />
<div class="singletitle">{{ item.gradeName }}</div>
</div>
</div>
<div class="tree">
<div class="tree-content" @mousedown.stop="move" @wheel="handleWheel">
<div :style="{ transform: `scale(${scale})` }">
@ -74,159 +74,6 @@
</div>
</div>
</div>
<el-dialog
:visible.sync="ifShow"
:close-on-click-modal="false"
width="516px"
>
<div class="rendercontent">
<div ref="htmlContent">
<div class="toprender">
<div class="leftimg">
<img
class="img1"
:src="'data:image/png;base64,' + treeData.avatarUrlBase64"
>
<img
class="img2"
:src="'data:image/png;base64,' + treeData.countryUrl2Base64"
>
</div>
<div class="centerbox">
<div class="lineboex">
<div class="linetitle">{{ '会员编号' }}</div>
<div class="linecontent">{{ treeData.memberCode }}</div>
</div>
<div class="lineboex">
<div class="linetitle">{{ '会员姓名' }}</div>
<div class="linecontent">{{ treeData.name }}</div>
</div>
<div class="lineboex">
<div class="linetitle">安置部门</div>
<div class="linecontent">{{ `${treeData.placeDept}部门` }}</div>
</div>
<div class="lineboex">
<div class="linetitle">{{ '支付日期' }}</div>
<div class="linecontent">{{ treeData.payDate }}</div>
</div>
</div>
<div class="rightimg">
<img
:src="
'data:image/png;base64,' + treeData.settleCountryUrl2Base64
"
>
<div>{{ '结算国家' }}</div>
</div>
</div>
<div class="bottomrender">
<div class="flexbox">
<div class="thetitle">{{ '业绩' }}({{ isLocals() }})</div>
<div class="linecontent">{{ '真实新增' }}</div>
<div class="linecontent">首购新增</div>
<div class="linecontent">复购新增</div>
<div class="linecontent">真实累计</div>
<div class="linecontent">首购累计</div>
<div class="linecontent">复购累计</div>
<div class="linecontent">首购结余</div>
<div class="linecontent">复购结余</div>
<!-- <div class="linecontent">新増套数</div>
<div class="linecontent">累计套数</div> -->
</div>
<div class="flexbox">
<div class="thetitle">左区</div>
<div class="linecontent">{{ treeData.leftRealNewPv }}</div>
<div class="linecontent">{{ treeData.leftFirstPurchaseAdd }}</div>
<div class="linecontent">
{{ treeData.leftRepeatPurchaseAdd }}
</div>
<div class="linecontent">{{ treeData.leftRealTotal }}</div>
<div class="linecontent">{{ treeData.leftFirstTotal }}</div>
<div class="linecontent">
{{ treeData.leftRepeatPurchaseTotal }}
</div>
<div class="linecontent">{{ treeData.leftFirstSurplus }}</div>
<div class="linecontent">
{{ treeData.leftRepeatPurchaseSurplus }}
</div>
<!-- <div class="linecontent">{{ treeData.aNewBox || 0 }}</div>
<div class="linecontent">{{ treeData.aSumBox || 0 }}</div> -->
</div>
<div class="flexbox">
<div class="thetitle">右区</div>
<div class="linecontent">{{ treeData.rightRealNewPv }}</div>
<div class="linecontent">
{{ treeData.rightFirstPurchaseAdd }}
</div>
<div class="linecontent">
{{ treeData.rightRepeatPurchaseAdd }}
</div>
<div class="linecontent">{{ treeData.rightRealTotal }}</div>
<div class="linecontent">{{ treeData.rightFirstTotal }}</div>
<div class="linecontent">
{{ treeData.rightRepeatPurchaseTotal }}
</div>
<div class="linecontent">{{ treeData.rightFirstSurplus }}</div>
<div class="linecontent">
{{ treeData.rightRepeatPurchaseSurplus }}
</div>
<!-- <div class="linecontent">{{ treeData.bNewBox || 0 }}</div>
<div class="linecontent">{{ treeData.bSumBox || 0 }}</div> -->
</div>
</div>
</div>
<div class="footerbox">
<div class="footerbtn btn1" @click="downloadImage">下载图片</div>
<div class="footerbtn btn2" @click="copyText">复制文字</div>
<!-- <div class="footerbtn btn3" @click="goTop(treeData)">置顶</div> -->
</div>
</div>
</el-dialog>
<div v-show="false" ref="copyContent" class="copyContent">
<div>{{ '会员编号' }}{{ treeData.memberCode }}</div>
<div>{{ '会员姓名' }}{{ treeData.name }}</div>
<div>{{ '支付日期' }}{{ treeData.payDate }}</div>
<div>{{ '业绩' }}({{ isLocals() }})&nbsp;&nbsp;左区&nbsp;&nbsp;右区</div>
<div>
真实新增&nbsp;&nbsp;{{ treeData.leftRealNewPv }}&nbsp;&nbsp;{{
treeData.rightRealNewPv
}}
</div>
<div>
首购新增&nbsp;&nbsp;{{ treeData.leftFirstPurchaseAdd }}&nbsp;&nbsp;{{
treeData.rightFirstPurchaseAdd
}}
</div>
<div>
复购新增{{ treeData.leftRepeatPurchaseAdd }}&nbsp;&nbsp;
{{ treeData.rightRepeatPurchaseAdd }}
</div>
<div>
真实累计{{ treeData.leftRealTotal }}&nbsp;&nbsp;{{
treeData.rightRealTotal
}}
</div>
<div>
首购累计{{ treeData.leftFirstTotal }}&nbsp;&nbsp;{{
treeData.rightFirstTotal
}}
</div>
<div>
复购累计 {{ treeData.leftRepeatPurchaseTotal }}&nbsp;&nbsp;{{
treeData.rightRepeatPurchaseTotal
}}
</div>
<div>
首购结余{{ treeData.leftFirstSurplus }}&nbsp;&nbsp;{{
treeData.rightFirstSurplus
}}
</div>
<div>
复购结余 {{ treeData.leftRepeatPurchaseSurplus }}&nbsp;&nbsp;{{
treeData.rightRepeatPurchaseSurplus
}}
</div>
</div>
</div>
</template>
@ -240,38 +87,20 @@ import {
getUrlBase
} from '@/api/archityecture'
import { isLocals } from '../../../utils/numberToCurrency'
import TopMemberSelect from './components/top-member-select.vue'
import TopMemberSelect from '@/components/top-member-select/index.vue'
import tabBarMixin from './mixins/tab-bar'
import { getgradeRanglist } from '@/api/level'
export default {
name: 'Azjg5',
components: {
topBar,
TopMemberSelect
},
mixins: [tabBarMixin],
data() {
return {
moren: 'azjg5',
topList: [
{
name: '方案一',
path: 'azjg'
},
{
name: '方案二',
path: 'azjg2'
},
{
name: '方案三',
path: 'azjg3'
},
{
name: '方案四',
path: 'azjg4'
},
{
name: '方案五',
path: 'azjg5'
}
],
queryParams: {
memberSettlePeriodId: '', //
memberCode: '', //
@ -283,7 +112,7 @@ export default {
treeData: {},
ifShow: false,
memberSettlePeriodList: [], //
rangeList: [], //
cantz: 1, // 0,1
scale: 1,
loading: false
@ -291,9 +120,19 @@ export default {
},
created() {
// this.getSearch()
this.getRangeList()
this.getAvarerInfo()
},
methods: {
getBorderColor(grade) {
const color = this.rangeList.find((item) => item.gradeName === grade)?.color
return color || '#e0e0e0'
},
getRangeList() {
getgradeRanglist().then((res) => {
this.rangeList = res.data || []
})
},
TopMemberHandleChange(val) {
if (val) {
this.queryParams.memberCode = val
@ -309,31 +148,6 @@ export default {
}
},
isLocals,
copyText() {
const copyContent = this.$refs.copyContent
const textLines = Array.from(copyContent.querySelectorAll('div')).map(
(div) => div.textContent.trim()
)
const text = textLines.join('\n')
const tempInput = document.createElement('textarea')
tempInput.value = text
document.body.appendChild(tempInput)
tempInput.select()
try {
document.execCommand('copy')
this.$message({
message: '复制成功',
type: 'success'
})
} catch (error) {
this.$message({
message: '复制失败',
type: 'warning'
})
}
tempInput.remove()
window.getSelection().removeAllRanges()
},
//
goback() {
this.queryParams.memberCode = this.data.parentMemberCode
@ -417,57 +231,41 @@ export default {
onMouseout(e, data) {
this.basicSwitch = false
},
// <div class="xrBox">
// <div class="neibox" on-click={() => this.showPover(data)}>
// <div class="topbox">
// <img src={data.avatarUrl}></img>
// </div>
// <div class="centerbox">
// <div class="cflexbox">
// <img src={data.countryUrl}></img>
// <div class="matitle">{data.memberCode}</div>
// </div>
// <div class="cflexbox">
// <img src={data.settleCountryUrl}></img>
// <div class="matitle">{data.name}</div>
// </div>
// </div>
// <div class="footerbox">
// {/* */}
// <div class="ftopbtn" on-click={() => {event.stopPropagation(),this.goTop(data)}}></div>
// </div>
// </div>
// </div>
//
renderContent(h, data) {
if (!data || Object.keys(data).length === 0) {
return
}
//
const borderColor = this.getBorderColor(data.gradeName)
// rgba0.25boxShadowshadowColor
return (
<div class='xrBox'>
<div
class='xrBox'
style={{
border: `4px solid ${borderColor}`,
borderRadius: '12px',
boxShadow: `0 4px 18px 0 ${borderColor}40, 0 0 0 4px #fff`, //
padding: '0',
background: '#fff',
transition: 'box-shadow 0.3s, border-color 0.3s'
}}
>
{/* 判断data.codeName是否为空 */}
<div class='neibox'>
{data.memberCode ? (
<div >
<div
on-contextmenu={() => this.rightClick(this.$event, data)}
>
<div class='topbox'>
<div>{data.name}</div>
<div>{data.memberCode}</div>
<div>{data.awardsName}</div>
<div>{data.placeDept}部门</div>
{/* <div>{data.name}</div>
<div>会员编号{data.memberCode}</div> */}
</div>
<div class='footerbox'>
{/* 阻止冒泡事件 */}
<div
class='ftopbtn'
style={{ backgroundColor: data.color }}
on-click={() => {
event.stopPropagation(), this.goTop(data)
}}
>
{'置顶'}
</div>
</div>
</div>
) : null}
</div>
@ -479,20 +277,12 @@ export default {
this.queryParams.memberCode = row.memberCode
this.getSearch()
},
showPover(row) {
getUrlBase({
countryUrl2: row.countryUrl2,
settleCountryUrl2: row.settleCountryUrl2,
avatarUrl: row.avatarUrl
}).then((res) => {
this.treeData = row
this.treeData.countryUrl2Base64 = res.countryUrl2Base64
this.treeData.settleCountryUrl2Base64 = res.settleCountryUrl2Base64
this.treeData.avatarUrlBase64 = res.avatarUrlBase64
this.ifShow = true
})
rightClick(e, data) {
event.preventDefault()
this.queryParams.memberCode = data.memberCode
this.getSearch()
},
//
NodeClick(e, data) {},
//
@ -661,24 +451,30 @@ export default {
}
.lefttop {
display: flex;
justify-items: center;
align-items: center;
padding-left: 20px;
background: #ffffff;
.single {
margin: 0 5px;
img {
width: 40px;
height: 40px;
border-radius: 50%;
// box-shadow: 0px 2px 20px 0px rgba(204, 204, 204, 0.5);
}
.singletitle {
text-align: center;
font-size: 10px;
font-family: PingFang SC-Regular, PingFang SC;
}
}
padding: 10px 0 10px 20px;
background: #fff;
border-radius: 8px;
margin-bottom: 10px;
}
.single {
display: flex;
flex-direction: column;
align-items: center;
margin-right: 16px;
}
.colorbox {
width: 24px;
height: 24px;
border-radius: 6px;
border: 1px solid #e0e0e0;
box-shadow: 0 2px 6px rgba(0,0,0,0.06);
margin-bottom: 4px;
}
.singletitle {
font-size: 12px;
color: #333;
margin-top: 2px;
}
::v-deep .org-tree-node-label .org-tree-node-label-inner {
padding: 0;

View File

@ -255,39 +255,19 @@ import {
getMemberSettlePeriod,
getUrlBase
} from '@/api/archityecture'
import TopMemberSelect from './components/top-member-select.vue'
import TopMemberSelect from '@/components/top-member-select/index.vue'
import { isLocals } from '../../../utils/numberToCurrency'
import tabBarMixin from './mixins/tab-bar'
export default {
name: 'Azjg',
components: {
topBar,
TopMemberSelect
},
mixins: [tabBarMixin],
data() {
return {
moren: 'azjg',
topList: [
{
name: '方案一',
path: 'azjg'
},
{
name: '方案二',
path: 'azjg2'
},
{
name: '方案三',
path: 'azjg3'
},
{
name: '方案四',
path: 'azjg4'
},
{
name: '方案五',
path: 'azjg5'
}
],
queryParams: {
memberSettlePeriodId: '', //
memberCode: '', //

View File

@ -0,0 +1,16 @@
export default {
data() {
return {
topList: [
{
name: '方案一',
path: 'azjg'
},
{
name: '方案五',
path: 'azjg5'
}
]
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -289,7 +289,7 @@
</el-table-column> -->
<el-table-column align="center" prop="cover" :label="'商品主图'">
<template slot-scope="scope">
<img class="bgImg" :src="scope.row.cover" alt="">
<img class="bgImg" :src="scope.row.cover || scope.row.cover1" alt="">
</template>
</el-table-column>
<el-table-column
@ -316,7 +316,6 @@
/>
<el-table-column align="center" prop="tempName" label="支付比例" />
<el-table-column
align="center"
prop="productName"

View File

@ -359,7 +359,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col v-show="form.specialArea == 3" :span="8">
<!-- <el-col v-show="form.specialArea == 3" :span="8">
<el-form-item label="发起人收益">
<el-input
v-model="form.makerIncome"
@ -367,7 +367,7 @@
:placeholder="'请输入'"
/>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="24">
<el-form-item :label="'保证标签'">
<el-checkbox-group v-model="form.pkGuaranteeLabel">
@ -538,20 +538,15 @@
/>
</el-form-item>
</el-col>
<el-col :span="8">
<!-- <el-col :span="8">
<el-form-item
:label="'视频封面'"
prop="cover"
>
<!-- <el-input clearable v-model="form.name"
:placeholder="'请输入'"></el-input> -->
<!-- <UpDataImg :maxLength="1"
ref="upImg"
@getImg="getImg2"
@delImg="delImg2"></UpDataImg> -->
<imageUpload v-model="form.cover" />
</el-form-item>
</el-col>
</el-col> -->
</el-row>
<el-row>
<el-col :span="8">
@ -1139,22 +1134,22 @@ export default {
isFreeMail: [
{ required: true, message: '请选择包邮类型', trigger: 'change' }
],
videoUrl: [
{ required: true, message: '请上传商品视频', trigger: 'blur' }
],
cover: [{ required: true, message: '请上传视频主图', trigger: 'blur' }],
// videoUrl: [
// { required: true, message: '', trigger: 'blur' }
// ],
// cover: [{ required: true, message: '', trigger: 'blur' }],
cover1: [
{ required: true, message: '请上传图片', trigger: 'blur' }
],
cover2: [
{ required: true, message: '请上传图片', trigger: 'blur' }
],
cover3: [
{ required: true, message: '请上传图片', trigger: 'blur' }
],
cover4: [
{ required: true, message: '请上传图片', trigger: 'blur' }
],
// cover2: [
// { required: true, message: '', trigger: 'blur' }
// ],
// cover3: [
// { required: true, message: '', trigger: 'blur' }
// ],
// cover4: [
// { required: true, message: '', trigger: 'blur' }
// ],
details: [
{ required: true, message: '请输入商品详情', trigger: 'blur' }
],
@ -1295,6 +1290,7 @@ export default {
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.commit('settings/GGMX_SETTING', [])
this.form.cover = this.form.cover1
api.waresSave(this.form).then((res) => {
loading.close()
if (res.code == 200) {

View File

@ -549,12 +549,6 @@
:label="'会员姓名'"
width="180"
/>
<el-table-column
v-if="allTxt.nickName"
align="center"
prop="nickName"
label="会员昵称"
/>
<el-table-column
v-if="allTxt.phone"
align="center"

View File

@ -301,7 +301,7 @@
<el-table-column
align="center"
prop="orderCode"
width="130"
min-width="170"
:label="'订单编号'"
/>
<el-table-column

View File

@ -1451,6 +1451,13 @@ export default {
})
return false
} else {
if (!this.selectData.selSkuNameList || !this.selectData.selSkuList) {
this.$message({
message: '请产品选择规格',
type: 'warning'
})
return false
}
const obj = {
pkProduct: this.selectData.pkId,
productCode: this.selectData.productCode,

View File

@ -1,9 +1,3 @@
<!--
* @Descripttion:
* @version:
* @Author: kBank
* @Date: 2022-10-24 15:45:01
-->
<template>
<div class="page">
<topBar
@ -52,35 +46,37 @@
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="真实奖衔">
<el-input
<el-form-item label="荣誉奖衔">
<el-select
v-model="select.pkAwards"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="结算国家">
<el-input
v-model="select.pkSettleCountry"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="自然国家">
<el-input
v-model="select.pkCountry"
clearable
/>
:placeholder="'请选择'"
>
<el-option
v-for="item in awardsList"
:key="item.pkId"
:label="item.awardsName"
:value="item.pkId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="是否结算">
<el-input
<el-select
v-model="select.settlementFlag"
clearable
/>
placeholder="请选择"
>
<el-option
label="是"
:value="0"
/>
<el-option
label="否"
:value="1"
/>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="4">
@ -146,6 +142,7 @@
align="center"
prop="memberCode"
label="会员编号"
min-width="110"
/>
<el-table-column
align="center"
@ -156,16 +153,19 @@
align="center"
prop="phone"
label="联系方式"
min-width="130"
/>
<el-table-column
align="center"
prop="parentCode"
label="推荐编号"
min-width="110"
/>
<el-table-column
align="center"
prop="placeParentCode"
label="安置编号"
min-width="110"
/>
<el-table-column
align="center"
@ -188,20 +188,11 @@
prop="orderSourceVal"
label="注册类型"
/>
<el-table-column
align="center"
prop="settleCountryName"
label="结算国家"
/>
<el-table-column
align="center"
prop="countryName"
label="自然国家"
/>
<el-table-column
align="center"
prop="pkAwardKeyVal"
label="真实奖衔"
label="荣誉奖衔"
/>
<el-table-column
align="center"
@ -228,20 +219,54 @@
<el-table-column
align="center"
prop="creationTime"
label="注册日期"
min-width="160"
/>
<el-table-column
align="center"
label="选购产品"
min-width="200"
show-overflow-tooltip
/>
>
<template slot-scope="scope">
<div v-for="(item,idx) in scope.row.detailList || []" :key="idx">
<el-tooltip :content="item.productName" placement="top" :disabled="!item.productName || item.productName.length < 15">
<div style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">
{{ item.productName }}
</div>
</el-tooltip>
</div>
</template>
</el-table-column>
<el-table-column
align="center"
prop="creationTime"
label="产品规格"
/>
min-width="180"
>
<template slot-scope="scope">
<div v-for="(item,idx) in scope.row.detailList || []" :key="idx">
<el-tooltip :content="item.specsName" placement="top" :disabled="!item.specsName || item.specsName.length < 10">
<div style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">
{{ item.specsName }}
</div>
</el-tooltip>
</div>
</template>
</el-table-column>
<el-table-column
align="center"
prop="creationTime"
label="产品数量"
/>
min-width="180"
>
<template slot-scope="scope">
<div v-for="(item,idx) in scope.row.detailList || []" :key="idx">
<el-tooltip :content="String(item.quantity)" placement="top" :disabled="String(item.quantity).length < 5">
<div style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">
{{ item.quantity }}
</div>
</el-tooltip>
</div>
</template>
</el-table-column>
<el-table-column
align="center"
prop="recName"
@ -306,6 +331,9 @@
<script>
import topBar from '@/components/topBar'
import * as api from '@/api/specialBusiness.js'
import {
getAwardsListChiose
} from '@/api/level'
export default {
name: 'Bzpz',
components: {
@ -339,19 +367,30 @@ export default {
name: '注册列表',
path: 'rigiestList'
}
]
],
awardsList: []
}
},
mounted() {
//
this.getDataList()
this.getAwardsListOpts()
},
methods: {
getAwardsListOpts() {
getAwardsListChiose().then((res) => {
this.awardsList = res.rows
})
},
handleChange1() {},
reset() {
this.select = {}
this.creationTime = []
this.creationTime1 = []
this.queryParams = {
pageNum: 1,
pageSize: 50
}
this.getDataList()
},
changeTime(val) {
this.select.startDate = val ? val[0] : ''
@ -435,9 +474,9 @@ export default {
})
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
if (rowIndex % 2 === 1) {
return 'warning-row'
} else if (rowIndex % 2 == 0) {
} else if (rowIndex % 2 === 0) {
return 'success-row'
}
return ''

View File

@ -202,7 +202,6 @@
align="center"
prop="vertexName"
:label="'隶属体系'"
min-width="150px"
/>
<el-table-column
align="center"
@ -250,7 +249,7 @@
@pagination="getSearch"
/>
<el-dialog
:title="'安置架构'"
title="注水业绩"
:visible.sync="updateShow"
width="80%"
:close-on-click-modal="false"
@ -324,7 +323,7 @@
<div class="tableBox" style="padding: 0">
<el-form-item :label="'业务类型'">
<el-checkbox-group v-model="form.waterTypeList">
<el-checkbox-group v-model="form.waterTypeList" :min="1">
<el-checkbox
v-for="item in waterTypeList"
:key="item.value"
@ -439,7 +438,7 @@
> -->
<el-button class="thebtn0" @click="saveDate(0)">
{{ '取消' }}</el-button>
<el-button
<!-- <el-button
v-hasButtons="['WaterPvExemptSign']"
class="thebtn1"
@click="saveDate(1)"
@ -448,18 +447,19 @@
v-hasButtons="['WaterPvExemptPay']"
class="thebtn2"
@click="saveDate(2)"
>{{ '免付' }}</el-button>
>{{ '免付' }}</el-button> -->
<!-- 走免的权限 -->
<el-button
v-hasButtons="['WaterPvExemptAll']"
class="thebtn3"
@click="saveDate(3)"
>{{ '全免' }}</el-button>
<el-button
>确认</el-button>
<!-- <el-button
v-hasButtons="['WaterPvConfirm']"
class="thebtn4"
@click="saveDate(4)"
>
{{ '确认' }}</el-button>
{{ '确认' }}</el-button> -->
</div>
</div>
</el-dialog>
@ -660,6 +660,18 @@ export default {
text: '全选',
checked: true
},
{
id: 21,
text: `${'变更后左区真实业绩'}(${isOther()})`,
checked: true,
prop: 'asumRealModifyPv'
},
{
id: 22,
text: `${'变更后右区真实业绩'}(${isOther()})`,
checked: true,
prop: 'bsumRealModifyPv'
},
{
id: 23,
text: `${'变更后左区业绩'}(${isOther()})`,
@ -683,8 +695,91 @@ export default {
text: `${'变更后右区结余'}`,
checked: true,
prop: 'repBFirstModifyBalance'
},
{
id: 27,
text: `${'变更后左区复购业绩'}(${isOther()})`,
checked: true,
prop: 'repAModifySumPv'
},
{
id: 28,
text: `${'变更后右区复购业绩'}(${isOther()})`,
checked: true,
prop: 'repBModifySumPv'
},
{
id: 29,
text: `${'变更后左区复购结余'}`,
checked: false,
prop: 'repAModifyBalance'
},
{
id: 30,
text: `${'变更后右区复购结余'}`,
checked: false,
prop: 'repBModifyBalance'
},
{
id: 31,
text: `${'变更前左区真实业绩'}(${isOther()})`,
checked: false,
prop: 'asumRealPv'
},
{
id: 32,
text: `${'变更前右区真实业绩'}(${isOther()})`,
checked: false,
prop: 'bsumRealPv'
},
{
id: 33,
text: `${'变更前左区首购业绩'}(${isOther()})`,
checked: false,
prop: 'asumPv'
},
{
id: 34,
text: `${'变更前右区首购业绩'}(${isOther()})`,
checked: false,
prop: 'bsumPv'
},
{
id: 35,
text: `${'变更前左区首购结余'}`,
checked: false,
prop: 'abalance'
},
{
id: 36,
text: `${'变更前右区首购结余'}`,
checked: false,
prop: 'bbalance'
},
{
id: 37,
text: `${'变更前左区复购业绩'}(${isOther()})`,
checked: false,
prop: 'repASumPv'
},
{
id: 38,
text: `${'变更前右区复购业绩'}(${isOther()})`,
checked: false,
prop: 'repBSumPv'
},
{
id: 39,
text: `${'变更前左区复购结余'}`,
checked: false,
prop: 'repABalance'
},
{
id: 40,
text: `${'变更前右区复购结余'}`,
checked: false,
prop: 'repBBalance'
}
], //
headerList: [],
errorData: [],
@ -719,7 +814,7 @@ export default {
}
} else {
this.$message({
message: '请先填写注水业绩',
message: '请先选择注水方式',
type: 'warning'
})
this.waterPvList.forEach((ele, index) => {
@ -879,6 +974,7 @@ export default {
// this.$router.go(-1);
} else if (index == 2 || index == 4) {
//
spe
.saveInfusingWater({
infusingWaterType: this.form.infusingWaterType,
@ -901,10 +997,21 @@ export default {
}
})
} else {
const unSelectedField = this.waterTypeList.filter((item) =>
!this.form.waterTypeList.includes(item.value)
).map(item => item.field)
const waterPvList = this.waterPvList.map(item => {
const newItem = { ...item }
unSelectedField.forEach(field => {
delete newItem[field]
})
return newItem
})
spe
.saveInfusingWater({
infusingWaterType: this.form.infusingWaterType,
cmalvList: this.waterPvList,
cmalvList: waterPvList,
processType: index
})
.then((res) => {

View File

@ -411,6 +411,7 @@ import * as apis from '@/api/product.js'
import * as api_s from '@/api/financial.js'
import topBar from '@/components/topBar'
import { pickDetail } from '@/api/manage'
import * as man from '@/api/manage'
export default {
components: {
topBar
@ -663,11 +664,21 @@ export default {
type: 'warning'
})
} else {
this.$router.push({
path: 'rechargeQc',
query: {
data: JSON.stringify(dataList),
approvalBusiness: 700
const params = {
detailList: dataList,
signType: 0, //
remark: '', //
fileList: [], // []
userIdList: [], // []
sendIdList: [] // []
}
man.rechargeConfirm(params).then((res) => {
if (res.code === 200) {
this.$message({
message: res.msg,
type: 'success'
})
this.$router.go(-1)
}
})
}
@ -685,14 +696,26 @@ export default {
}
)
})
this.$router.push({
path: 'rechargeQc',
query: {
data: JSON.stringify(dataList),
approvalBusiness: 701,
type: this.deled
const params = {
detailList: dataList
}
man.rechargeDel(params).then((res) => {
if (res.code === 200) {
this.$message({
message: res.msg,
type: 'success'
})
this.$router.go(-1)
}
})
// this.$router.push({
// path: 'rechargeQc',
// query: {
// data: JSON.stringify(dataList),
// approvalBusiness: 701,
// type: this.deled
// }
// })
},
getPage(allData) {
this.allData = allData

View File

@ -224,15 +224,6 @@
:label="'服务收益' + '($)'"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="allTxt.cloudPurIncomeOri"
align="center"
prop="cloudPurIncomeOri"
width="130"
:label="$t('极差收益') + `(${isLocalSymbol()})`"
:formatter="stateFormat"
/>
<!-- <el-table-column
v-if="allTxt.cloudPurIncome"
align="center"

View File

@ -198,7 +198,7 @@ export default {
],
menuList: [
{
text: "顶点编号",
text: "系统编号",
prop: "memberCode",
},
{

View File

@ -87,38 +87,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'来源国家'">
<el-select
v-model="select.sourceCountry"
clearable
placeholder=""
>
<el-option
v-for="item in countryList"
:key="item.value"
:label="item.name"
:value="item.pkId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'结算国家'">
<el-select
v-model="select.settleCountry"
clearable
placeholder=""
>
<el-option
v-for="item in countryList"
:key="item.value"
:label="item.name"
:value="item.pkId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属体系'">
<el-select v-model="select.pkVertex" clearable placeholder="">
@ -131,23 +100,6 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属团队'">
<el-select
v-model="select.pkTeamCode"
clearable
placeholder=""
>
<el-option
v-for="item in memberList"
:key="item.value"
:label="item.teamName"
:value="item.pkId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'结算期数'">
<div style="display: flex">
@ -261,13 +213,7 @@
width="130"
:label="'订单类型'"
/>
<el-table-column
v-if="dataRole.includes('sourceCountryName')"
align="center"
prop="sourceCountryName"
width="130"
:label="'来源国家'"
/>
<el-table-column
v-if="dataRole.includes('sourceMemberCode')"
align="center"
@ -314,13 +260,7 @@
:label="'来源业绩' + '($)'"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="dataRole.includes('settleCountry')"
align="center"
prop="settleCountry"
width="130"
:label="'结算国家'"
/>
<el-table-column
v-if="dataRole.includes('memberCode')"
align="center"
@ -347,7 +287,7 @@
align="center"
prop="pkAwardsVal"
width="130"
:label="'真实奖衔'"
:label="'荣誉奖衔'"
/>
<!-- <el-table-column-->
<!-- v-for="item in menuList"-->
@ -433,13 +373,27 @@
:formatter="stateFormat"
/>
<el-table-column
v-if="dataRole.includes('pretaxIncomeOri')"
align="center"
prop="pretaxIncomeOri"
width="130"
:label="'税前收益' + `(${isLocalSymbol()})`"
:formatter="stateFormat"
/>
<el-table-column
v-if="dataRole.includes('pretaxIncomeOri')"
align="center"
prop="backPoints"
width="130"
:label="'重消收益 ' + `(${isLocalSymbol()})`"
:formatter="stateFormat"
/>
<el-table-column
align="center"
prop="serviceSpend"
width="130"
:label="'平台服务费' + `(${isLocalSymbol()})`"
:formatter="stateFormat"
/>
<el-table-column
v-if="dataRole.includes('realIncomeOri')"
align="center"
@ -574,7 +528,6 @@ import topBar from '@/components/topBar'
import * as api from '@/api/settle.js'
import { classifyUpdate, classifySave } from '@/api/product'
import * as log from '@/api/logistics'
import { getcountryAllList } from '@/api/exchangerate'
import { bonusSource, exportBonusSouce } from '@/api/bonus'
import { isLocals, isLocalSymbol, stateFormat } from '@/utils/numberToCurrency'
import { getRoleMenu } from '@/api/notice'
@ -741,7 +694,6 @@ export default {
memberList: [],
yieldList: [],
yieldStatus: [],
countryList: [],
orderTypeList: [],
pkMemberTeam: [],
pkVertex: [],
@ -879,10 +831,6 @@ export default {
log.getOrderType().then((res) => {
this.orderTypeList = res.data
})
//
getcountryAllList().then((res) => {
this.countryList = res.data
})
},
changeTime(val) {
if (val) {

View File

@ -233,7 +233,7 @@ export default {
},
{
id: 1,
text: '顶点编号',
text: '系统编号',
checked: true,
prop: 'memberCode'
},

View File

@ -236,7 +236,7 @@ export default {
],
menuList: [
{
text: "顶点编号",
text: "系统编号",
prop: "memberCode",
},
{

View File

@ -426,14 +426,7 @@
:label="'首购实发小计' + '($)'"
:formatter="stateFormat"
/> -->
<el-table-column
v-if="allTxt.cloudRealSubtotalOri"
align="center"
prop="cloudRealSubtotalOri"
width="130"
:label="'云代实发小计' + `(${isLocalSymbol()})`"
:formatter="stateFormat"
/>
<!-- <el-table-column
v-if="allTxt.cloudRealSubtotal"
align="center"
@ -1079,17 +1072,6 @@ export default {
this.getDataList()
},
getMenu(e, id) {
if (e && id == 0) {
this.menuList.forEach((item) => {
this.$set(item, 'checked', true)
})
} else if (!e && id == 0) {
this.menuList.forEach((item) => {
this.$set(item, 'checked', false)
})
}
},
getData() {
api.accountList().then((res) => {
this.acList = res.data

View File

@ -6,110 +6,147 @@
-->
<template>
<div class="page">
<topBar v-if="topList.length > 0"
:topList="topList"
:moren="moren"></topBar>
<topBar
v-if="topList.length > 0"
:top-list="topList"
:moren="moren"
/>
<div class="main">
<div class="form_all">
<el-form ref="select"
:model="select"
label-width="auto">
<el-form
ref="select"
:model="select"
label-width="auto"
>
<el-row :gutter="10">
<el-col :span="4">
<TopMemberSelect ref="topMemberSelect" @change="topMemberHandleChange" />
</el-col>
<el-col :span="4">
<el-form-item :label="'会员编号'">
<el-input clearable
v-model="select.memberCode"></el-input>
<el-input
v-model="select.memberCode"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'会员姓名'">
<el-input clearable
v-model="select.memberName"></el-input>
<el-input
v-model="select.memberName"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'订单类型'"
prop="orderType">
<el-select clearable
v-model="select.orderType"
:placeholder="'请选择'">
<el-option v-for="(item, index) in orderTypeList"
:key="index"
:label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item
:label="'订单类型'"
prop="orderType"
>
<el-select
v-model="select.orderType"
clearable
:placeholder="'请选择'"
>
<el-option
v-for="(item, index) in orderTypeList"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'真实奖衔'">
<el-select clearable
:placeholder="'请选择'"
v-model="select.pkAwards">
<el-option v-for="item in awardsList"
:key="item.pkId"
:label="item.awardsName"
:value="item.pkId"></el-option>
<el-select
v-model="select.pkAwards"
clearable
:placeholder="'请选择'"
>
<el-option
v-for="item in awardsList"
:key="item.pkId"
:label="item.awardsName"
:value="item.pkId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属体系'">
<el-select clearable
:placeholder="'请选择'"
v-model="select.pkVertex">
<el-option v-for="item in vertexList"
:key="item.pkId"
:label="item.vertexName"
:value="item.pkId"></el-option>
<el-select
v-model="select.pkVertex"
clearable
:placeholder="'请选择'"
>
<el-option
v-for="item in vertexList"
:key="item.pkId"
:label="item.vertexName"
:value="item.pkId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属团队'">
<el-select clearable
:placeholder="'请选择'"
v-model="select.pkTeamCode">
<el-option v-for="item in teamList"
:key="item.pkId"
:label="item.teamName"
:value="item.pkId"></el-option>
<el-select
v-model="select.pkTeamCode"
clearable
:placeholder="'请选择'"
>
<el-option
v-for="item in teamList"
:key="item.pkId"
:label="item.teamName"
:value="item.pkId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'国家'">
<el-select v-model="select.pkCountry"
size="medium"
filterable
:placeholder="'请选择'">
<el-option v-for="item in countryList"
:key="item.pkCountry"
:label="item.name"
:value="item.pkCountry">
</el-option>
<el-select
v-model="select.pkCountry"
size="medium"
filterable
:placeholder="'请选择'"
>
<el-option
v-for="item in countryList"
:key="item.pkCountry"
:label="item.name"
:value="item.pkCountry"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="订单日期">
<el-date-picker v-model="creationTime"
@change="changeTime"
value-format="yyyy-MM-dd"
type="daterange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'">
</el-date-picker>
<el-date-picker
v-model="creationTime"
value-format="yyyy-MM-dd"
type="daterange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
@change="changeTime"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button type="primary"
@click="getDataList"> {{ '搜索' }}</el-button>
<el-button type=""
@click="reset"> {{ '重置' }}</el-button>
<el-button
type="primary"
@click="getDataList"
> {{ '搜索' }}</el-button>
<el-button
type=""
@click="reset"
> {{ '重置' }}</el-button>
</el-col>
</el-row>
</el-form>
@ -120,73 +157,93 @@
@click="openDig"
v-hasButtons="['MissionAdd']"
class="addBtn">{{'添加'}}</el-button> -->
<el-button size="small"
@click="handleExport"
style="background-color: #ffad41"
class="thebtn1"> {{ '导出' }}</el-button>
<el-button
size="small"
style="background-color: #ffad41"
class="thebtn1"
@click="handleExport"
> {{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table :data="tableData"
v-loading="loading"
style="width: 100%"
height="700px"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange">
<el-table-column type="selection"
width="55"> </el-table-column>
<el-table-column align="center"
prop="picture"
label="国旗">
<el-table
v-loading="loading"
:data="tableData"
style="width: 100%"
height="700px"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
width="55"
/>
<el-table-column
align="center"
prop="picture"
label="国旗"
>
<template slot-scope="scope">
<div class="tem">
<img :src="scope.row.nationalFlag1"
alt="">
<img
:src="scope.row.nationalFlag1"
alt=""
>
</div>
</template>
</el-table-column>
<el-table-column align="center"
prop="shortName"
:label="'国家'">
</el-table-column>
<el-table-column align="center"
prop="memberCode"
:label="'会员编号'">
</el-table-column>
<el-table-column
align="center"
prop="shortName"
:label="'国家'"
/>
<el-table-column
align="center"
prop="memberCode"
:label="'会员编号'"
/>
<el-table-column align="center"
prop="memberName"
:label="'会员姓名'">
</el-table-column>
<el-table-column align="center"
prop="phone"
:label="'联系方式'">
</el-table-column>
<el-table-column align="center"
prop="orderTypeVal"
:label="'订单类型'">
</el-table-column>
<el-table-column align="center"
prop="awardsName"
:label="'真实奖衔'">
</el-table-column>
<el-table-column align="center"
prop="vertexName"
:label="'隶属体系'">
</el-table-column>
<el-table-column align="center"
prop="pkTeamCode"
:label="'隶属团队'">
</el-table-column>
<el-table-column align="center"
prop="orderAmount"
label="新增金额(¥)">
</el-table-column>
<el-table-column align="center"
prop="orderAchieve"
:label="'新增业绩'+'(PV)'">
</el-table-column>
<el-table-column
align="center"
prop="memberName"
:label="'会员姓名'"
/>
<el-table-column
align="center"
prop="phone"
:label="'联系方式'"
/>
<el-table-column
align="center"
prop="orderTypeVal"
:label="'订单类型'"
/>
<el-table-column
align="center"
prop="awardsName"
:label="'真实奖衔'"
/>
<el-table-column
align="center"
prop="vertexName"
:label="'隶属体系'"
/>
<el-table-column
align="center"
prop="pkTeamCode"
:label="'隶属团队'"
/>
<el-table-column
align="center"
prop="orderAmount"
label="新增金额(¥)"
/>
<el-table-column
align="center"
prop="orderAchieve"
:label="'新增业绩'+'(PV)'"
/>
<!-- <el-table-column align="center"
prop="payTime"
label="订单日期">
@ -194,11 +251,13 @@
</el-table>
</div>
</div>
<pagination v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getDataList" />
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getDataList"
/>
</div>
</template>
@ -210,37 +269,39 @@ import * as log from '@/api/logistics'
import { getAwardsListChiose } from '@/api/level'
import { getvertexValue } from '@/api/financialCase'
import { userCountryList } from '@/api/site.js'
import TopMemberSelect from '@/components/top-member-select'
export default {
name: 'Bzpz',
components: {
topBar,
TopMemberSelect
},
data() {
return {
creationTime: [],
select: {
orderType:1
orderType: 1
},
//
queryParams: {
pageNum: 1,
pageSize: 50,
pageSize: 50
},
total: 0,
tableData: [],
loading:false,
loading: false,
awardsList: [],
vertexList: [],
teamList: [],
countryList: [],
orderTypeList:[],
orderTypeList: [],
moren: 'underDirectAdd',
topList: [
{
name: '伞下直推新增业绩',
path: 'underDirectAdd',
},
],
path: 'underDirectAdd'
}
]
}
},
mounted() {
@ -255,26 +316,32 @@ export default {
// this.getEYesNoList()
},
methods: {
topMemberHandleChange(val) {
if (val) {
this.select.memberCode = val
this.getDataList()
}
},
getStartTime() {
const date = new Date();
date.setDate(1); //
const year = date.getFullYear(); //
let month = date.getMonth() + 1; // 0-11+1
month = month >= 10 ? month : "0" + month; //
let day = date.getDate(); // setDate(1)
day = day >= 10 ? day : "0" + day; //
return year + "-" + month + "-" + day;
const date = new Date()
date.setDate(1) //
const year = date.getFullYear() //
let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : '0' + month //
let day = date.getDate() // setDate(1)
day = day >= 10 ? day : '0' + day //
return year + '-' + month + '-' + day
},
getEndTime() {
let date = new Date();
let year = date.getFullYear(); //
let month = date.getMonth() + 1; // 0-11+1
month = month >= 10 ? month : "0" + month; //
let day = date.getDate(); // setDate(1)
day = day >= 10 ? day : "0" + day; //
return year + "-" + month + "-" + day + " ";
const date = new Date()
const year = date.getFullYear() //
let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : '0' + month //
let day = date.getDate() // setDate(1)
day = day >= 10 ? day : '0' + day //
return year + '-' + month + '-' + day + ' '
},
//
//
getData() {
getAwardsListChiose().then((res) => {
this.awardsList = res.rows
@ -293,27 +360,28 @@ export default {
})
},
getStartTime() {
const date = new Date();
date.setDate(1); //
const year = date.getFullYear(); //
let month = date.getMonth() + 1; // 0-11+1
month = month >= 10 ? month : "0" + month; //
let day = date.getDate(); // setDate(1)
day = day >= 10 ? day : "0" + day; //
return year + "-" + month + "-" + day;
const date = new Date()
date.setDate(1) //
const year = date.getFullYear() //
let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : '0' + month //
let day = date.getDate() // setDate(1)
day = day >= 10 ? day : '0' + day //
return year + '-' + month + '-' + day
},
getEndTime() {
let date = new Date();
let year = date.getFullYear(); //
let month = date.getDate() === 1 ? date.getMonth() : date.getMonth() + 1; // 0-11+1
month = month >= 10 ? month : "0" + month; //
let day = date.getDate(); // setDate(1)
day = day >= 10 ? day : "0" + day; //
return year + "-" + month + "-" + day + " ";
const date = new Date()
const year = date.getFullYear() //
let month = date.getDate() === 1 ? date.getMonth() : date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : '0' + month //
let day = date.getDate() // setDate(1)
day = day >= 10 ? day : '0' + day //
return year + '-' + month + '-' + day + ' '
},
reset() {
this.$refs.topMemberSelect.reset()
this.select = {
orderType:1
orderType: 1
}
this.creationTime = []
this.getDataList()
@ -338,7 +406,7 @@ export default {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
type: 'warning'
}).then((_) => {
this.download(
'report/manager/member-report/export-direct-push-new',
@ -354,8 +422,8 @@ export default {
return 'success-row'
}
return ''
},
},
}
}
}
</script>
<style scoped lang="scss">

View File

@ -2,28 +2,31 @@
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:top-list="topList"
:moren="moren"
></topBar>
/>
<div class="main">
<div class="form_all">
<el-form ref="select" :model="select" label-width="auto">
<el-row :gutter="10">
<el-col :span="4">
<TopMemberSelect ref="topMemberSelect" @change="topMemberHandleChange" />
</el-col>
<el-col :span="4">
<el-form-item :label="'会员编号'">
<el-input clearable v-model="select.memberCode"></el-input>
<el-input v-model="select.memberCode" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'会员姓名'">
<el-input clearable v-model="select.memberName"></el-input>
<el-input v-model="select.memberName" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'订单类型'" prop="orderType">
<el-select
clearable
v-model="select.orderType"
clearable
:placeholder="'请选择'"
>
<el-option
@ -31,23 +34,23 @@
:key="index"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'真实奖衔'">
<el-select
v-model="select.pkAwards"
clearable
:placeholder="'请选择'"
v-model="select.pkAwards"
>
<el-option
v-for="item in awardsList"
:key="item.pkId"
:label="item.awardsName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -55,32 +58,32 @@
<el-col :span="4">
<el-form-item :label="'隶属体系'">
<el-select
v-model="select.pkVertex"
clearable
:placeholder="'请选择'"
v-model="select.pkVertex"
>
<el-option
v-for="item in vertexList"
:key="item.pkId"
:label="item.vertexName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属团队'">
<el-select
v-model="select.pkTeamCode"
clearable
:placeholder="'请选择'"
v-model="select.pkTeamCode"
>
<el-option
v-for="item in teamList"
:key="item.pkId"
:label="item.teamName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -97,8 +100,7 @@
:key="item.pkCountry"
:label="item.name"
:value="item.pkCountry"
>
</el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -106,20 +108,18 @@
<el-form-item label="订单日期">
<el-date-picker
v-model="creationTime"
@change="changeTime"
value-format="yyyy-MM-dd"
type="daterange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
>
</el-date-picker>
@change="changeTime"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button type="primary" @click="getDataList">
{{ '搜索' }}</el-button
>
{{ '搜索' }}</el-button>
<el-button type="" @click="reset"> {{ '重置' }}</el-button>
</el-col>
</el-row>
@ -133,29 +133,28 @@
class="addBtn">{{'添加'}}</el-button> -->
<el-button
size="small"
@click="handleExport"
style="background-color: #ffad41"
class="thebtn1"
@click="handleExport"
>
{{ '导出' }}</el-button
>
{{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
:data="tableData"
style="width: 100%"
height="700px"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@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" prop="picture" label="国旗">
<template slot-scope="scope">
<div class="tem">
<img :src="scope.row.nationalFlag1" alt="" />
<img :src="scope.row.nationalFlag1" alt="">
</div>
</template>
</el-table-column>
@ -163,59 +162,49 @@
align="center"
prop="shortName"
:label="'国家'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="memberCode"
:label="'会员编号'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="memberName"
:label="'会员姓名'"
>
</el-table-column>
<el-table-column align="center" prop="phone" :label="'联系方式'">
</el-table-column>
/>
<el-table-column align="center" prop="phone" :label="'联系方式'" />
<el-table-column
align="center"
prop="orderTypeVal"
:label="'订单类型'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="awardsName"
:label="'真实奖衔'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="vertexName"
:label="'隶属体系'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="pkTeamCode"
:label="'隶属团队'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="orderAmount"
label="新增金额(¥)"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="orderAchieve"
:label="'新增业绩' + '(PV)'"
>
</el-table-column>
/>
<!-- <el-table-column align="center"
prop="payTime"
label="订单日期">
@ -232,119 +221,127 @@
/>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as api from "@/api/business.js";
import * as log from "@/api/logistics";
import { getAwardsListChiose } from "@/api/level";
import { getvertexValue } from "@/api/financialCase";
import { userCountryList } from "@/api/site.js";
<script>
import topBar from '@/components/topBar'
import * as api from '@/api/business.js'
import * as log from '@/api/logistics'
import TopMemberSelect from '@/components/top-member-select'
import { getAwardsListChiose } from '@/api/level'
import { getvertexValue } from '@/api/financialCase'
import { userCountryList } from '@/api/site.js'
export default {
name: "UnderDirectAddNew",
name: 'UnderDirectAddNew',
components: {
topBar,
TopMemberSelect
},
data() {
return {
creationTime: [],
select: {
orderType: 1,
orderType: 1
},
//
queryParams: {
pageNum: 1,
pageSize: 50,
pageSize: 50
},
total: 0,
tableData: [],
loading:false,
loading: false,
awardsList: [],
vertexList: [],
teamList: [],
countryList: [],
orderTypeList: [],
moren: "underDirectAddNew",
moren: 'underDirectAddNew',
topList: [
{
name: "伞下直推新增业绩(新)",
path: "underDirectAddNew",
},
name: '伞下直推新增业绩(新)',
path: 'underDirectAddNew'
}
],
monthFirstday: "",
monthLastday: "",
};
monthFirstday: '',
monthLastday: ''
}
},
mounted() {
var s1 = this.getStartTime();
var s2 = this.getEndTime();
this.select.startPayTime = s1;
this.select.endPayTime = s2;
this.creationTime = [s1, s2];
var s1 = this.getStartTime()
var s2 = this.getEndTime()
this.select.startPayTime = s1
this.select.endPayTime = s2
this.creationTime = [s1, s2]
//
this.getDataList();
this.getData();
this.getDataList()
this.getData()
},
methods: {
topMemberHandleChange(val) {
if (val) {
this.select.memberCode = val
this.getDataList()
}
},
getStartTime() {
const date = new Date();
date.setDate(1); //
const year = date.getFullYear(); //
let month = date.getMonth() + 1; // 0-11+1
month = month >= 10 ? month : "0" + month; //
let day = date.getDate(); // setDate(1)
day = day >= 10 ? day : "0" + day; //
return year + "-" + month + "-" + day;
const date = new Date()
date.setDate(1) //
const year = date.getFullYear() //
let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : '0' + month //
let day = date.getDate() // setDate(1)
day = day >= 10 ? day : '0' + day //
return year + '-' + month + '-' + day
},
getEndTime() {
let date = new Date();
let year = date.getFullYear(); //
let month = date.getMonth() + 1; // 0-11+1
month = month >= 10 ? month : "0" + month; //
let day = date.getDate(); // setDate(1)
day = day >= 10 ? day : "0" + day; //
return year + "-" + month + "-" + day + " ";
const date = new Date()
const year = date.getFullYear() //
let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : '0' + month //
let day = date.getDate() // setDate(1)
day = day >= 10 ? day : '0' + day //
return year + '-' + month + '-' + day + ' '
},
//
//
getData() {
getAwardsListChiose().then((res) => {
this.awardsList = res.rows;
});
this.awardsList = res.rows
})
getvertexValue().then((res) => {
this.vertexList = res.data;
});
this.vertexList = res.data
})
api.teamList().then((res) => {
this.teamList = res.data;
});
this.teamList = res.data
})
userCountryList().then((res) => {
this.countryList = res.data;
});
this.countryList = res.data
})
log.getUnderAddOrderTypeNew().then((res) => {
this.orderTypeList = res.data;
});
this.orderTypeList = res.data
})
},
reset() {
this.$refs.topMemberSelect.reset()
this.select = {
orderType: 1,
};
this.creationTime = [];
this.getDataList();
orderType: 1
}
this.creationTime = []
this.getDataList()
},
changeTime(val) {
this.select.startPayTime = val ? val[0] : "";
this.select.endPayTime = val ? val[1] : "";
this.select.startPayTime = val ? val[0] : ''
this.select.endPayTime = val ? val[1] : ''
},
getDataList() {
this.loading = true
api
.directAddNewList(Object.assign({}, this.queryParams, this.select))
.then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.tableData = res.rows
this.total = res.total
this.loading = false
});
})
},
handleSelectionChange(val) {},
/** 导出按钮操作 */
@ -352,25 +349,25 @@ export default {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then((_) => {
this.download(
"/report/manager/member-report/export-direct-push-new-up",
'/report/manager/member-report/export-direct-push-new-up',
Object.assign({}, this.queryParams, this.select),
`伞下直推新增业绩(新)${new Date().getTime()}.xlsx`
);
});
)
})
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return "success-row";
return 'success-row'
}
return "";
},
},
};
return ''
}
}
}
</script>
<style scoped lang="scss">
::v-deep .el-table .warning-row {
@ -463,4 +460,3 @@ export default {
width: 100%;
}
</style>

View File

@ -2,36 +2,42 @@
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:top-list="topList"
:moren="moren"
></topBar>
/>
<div class="thetopbox">
<el-form label-width="100px">
<el-row>
<el-col :span="4">
<TopMemberSelect
ref="topMemberSelect"
@change="topMemberHandleChange"
/>
</el-col>
<el-col :span="4">
<el-form-item :label="'会员编号'" prop="memberCode">
<el-input clearable v-model="queryParams.memberCode"></el-input>
<el-input v-model="queryParams.memberCode" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'会员姓名'" prop="memberName">
<el-input clearable v-model="queryParams.memberName"></el-input>
<el-input v-model="queryParams.memberName" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'订单类型'" prop="orderType">
<el-select
v-model="queryParams.orderType"
clearable
:placeholder="'请选择'"
v-model="queryParams.orderType"
>
<el-option
v-for="item in orderTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -39,48 +45,48 @@
<el-col :span="4">
<el-form-item :label="'真实奖衔'" prop="pkAwards">
<el-select
v-model="queryParams.pkAwards"
clearable
:placeholder="'请选择'"
v-model="queryParams.pkAwards"
>
<el-option
v-for="item in awardsList"
:key="item.pkId"
:label="item.awardsName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属体系'" prop="pkVertex">
<el-select
v-model="queryParams.pkVertex"
clearable
:placeholder="'请选择'"
v-model="queryParams.pkVertex"
>
<el-option
v-for="item in vertexList"
:key="item.pkId"
:label="item.vertexName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属团队'" prop="pkTeamCode">
<el-select
v-model="queryParams.pkTeamCode"
clearable
:placeholder="'请选择'"
v-model="queryParams.pkTeamCode"
>
<el-option
v-for="item in memberTeamList"
:key="item.pkId"
:label="item.teamName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -101,18 +107,17 @@
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item :label="'订单日期'" prop="thetimes">
<el-form-item :label="'订单日期'" prop="thetimes">
<el-date-picker
v-model="queryParams.thetimes"
@change="changeTime"
value-format="yyyy-MM-dd"
type="daterange"
:clearable="false"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
>
</el-date-picker>
@change="changeTime"
/>
</el-form-item>
</el-col>
<el-col :span="4">
@ -126,11 +131,9 @@
}
"
>
{{ '搜索' }}</el-button
>
{{ '搜索' }}</el-button>
<el-button class="my_reset" @click="reChongzhi">
{{ '重置' }}</el-button
>
{{ '重置' }}</el-button>
</div>
</el-col>
</el-row>
@ -140,21 +143,19 @@
<div class="maintop">
<div class="mainbtn">
<el-button size="small" class="thebtn1" @click="handleExport">
{{ '导出' }}</el-button
>
{{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
:data="tableData"
height="680px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
@selection-change="handleSelectionChange"
>
<el-table-column prop="colsele" type="selection" width="55">
</el-table-column>
<el-table-column prop="colsele" type="selection" width="55" />
<el-table-column
align="center"
@ -166,7 +167,7 @@
style="width: 44px; height: 44px; border-radius: 50%"
:src="scope.row.nationalFlag"
alt=""
/>
>
</template>
</el-table-column>
@ -175,74 +176,63 @@
prop="shortName"
:label="'国家'"
min-width="120px"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="memberCode"
:label="'会员编号'"
min-width="120px"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="memberName"
:label="'会员姓名'"
min-width="120px"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="phone"
:label="'联系方式'"
min-width="120px"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="awardsName"
:label="'真实奖衔'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="vertexName"
:label="'隶属体系'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="teamCodeName"
:label="'隶属团队'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="leftNewAddAmount"
:label="'左区新增金额'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="rightNewAddAmount"
:label="'右区新增金额'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="leftNewAddAchieve"
min-width="100px"
:label="'左区新增业绩' + `(PV)`"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="rightNewAddAchieve"
min-width="100px"
:label="'右区新增业绩' + `(PV)`"
>
</el-table-column>
/>
<!-- <el-table-column
min-width="120px"
align="center"
@ -262,35 +252,37 @@
/>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as sta from "@/api/statistics";
import * as log from "@/api/logistics";
import { getAwardsListChiose } from "@/api/level";
import { getcountryAllList } from "@/api/exchangerate";
import { getvertexValue, getmemberTeamList } from "@/api/financialCase";
import { isLocals, isLocalSymbol } from "@/utils/numberToCurrency";
<script>
import topBar from '@/components/topBar'
import * as sta from '@/api/statistics'
import * as log from '@/api/logistics'
import { getAwardsListChiose } from '@/api/level'
import { getcountryAllList } from '@/api/exchangerate'
import { getvertexValue, getmemberTeamList } from '@/api/financialCase'
import { isLocals, isLocalSymbol } from '@/utils/numberToCurrency'
import TopMemberSelect from '@/components/top-member-select/index.vue'
export default {
name: "UnderPlacementPer",
name: 'UnderPlacementPer',
components: {
topBar,
TopMemberSelect
},
data() {
return {
moren: "underPlacementPer",
moren: 'underPlacementPer',
topList: [
{
name: '伞下新增安置业绩',
path: "underPlacementPer",
},
path: 'underPlacementPer'
}
],
tableData: [],
loading:false,
loading: false,
queryParams: {
pageNum: 1,
pageSize: 50,
thetimes: [],
thetimes: []
},
total: 0,
multipleSelection: [],
@ -298,105 +290,111 @@ export default {
memberTeamList: [],
vertexList: [],
countryList: [],
orderTypeList: [],
};
orderTypeList: []
}
},
created() {
this.getSearch();
this.getOthers();
var s1 = this.getStartTime();
var s2 = this.getEndTime();
this.queryParams.startPayTime = s1;
this.queryParams.endPayTime = s2;
this.queryParams.thetimes = [s1, s2];
this.getSearch()
this.getOthers()
var s1 = this.getStartTime()
var s2 = this.getEndTime()
this.queryParams.startPayTime = s1
this.queryParams.endPayTime = s2
this.queryParams.thetimes = [s1, s2]
},
methods: {
isLocalSymbol,
isLocals,
topMemberHandleChange(val) {
if (val) {
this.queryParams.memberCode = val
this.getSearch()
}
},
getStartTime() {
const date = new Date();
date.setDate(1); //
const year = date.getFullYear(); //
let month = date.getMonth() + 1; // 0-11+1
month = month >= 10 ? month : "0" + month; //
let day = date.getDate(); // setDate(1)
day = day >= 10 ? day : "0" + day; //
return year + "-" + month + "-" + day;
const date = new Date()
date.setDate(1) //
const year = date.getFullYear() //
let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : '0' + month //
let day = date.getDate() // setDate(1)
day = day >= 10 ? day : '0' + day //
return year + '-' + month + '-' + day
},
getEndTime() {
let date = new Date();
let year = date.getFullYear(); //
let month = date.getMonth() + 1; // 0-11+1
month = month >= 10 ? month : "0" + month; //
let day = date.getDate(); // setDate(1)
day = day >= 10 ? day : "0" + day; //
return year + "-" + month + "-" + day + " ";
const date = new Date()
const year = date.getFullYear() //
let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : '0' + month //
let day = date.getDate() // setDate(1)
day = day >= 10 ? day : '0' + day //
return year + '-' + month + '-' + day + ' '
},
changeTime(val) {
this.queryParams.startPayTime = val[0];
this.queryParams.endPayTime = val[1];
this.queryParams.startPayTime = val[0]
this.queryParams.endPayTime = val[1]
},
getOthers() {
getAwardsListChiose().then((res) => {
this.awardsList = res.rows;
});
this.awardsList = res.rows
})
getmemberTeamList().then((res) => {
this.memberTeamList = res.rows;
});
this.memberTeamList = res.rows
})
getvertexValue().then((res) => {
this.vertexList = res.data;
});
this.vertexList = res.data
})
getcountryAllList().then((res) => {
this.countryList = res.data;
});
this.countryList = res.data
})
//
log.getUnderAddOrderType().then((res) => {
this.orderTypeList = res.data;
});
this.orderTypeList = res.data
})
},
//
//
handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then((_) => {
this.download(
"/report/manager/member-report/member-resettle-achieve-export",
'/report/manager/member-report/member-resettle-achieve-export',
{ ...this.queryParams },
`${'伞下新增安置业绩'}${new Date().getTime()}.xlsx`
);
});
)
})
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.multipleSelection = val
},
reChongzhi() {
this.$refs.topMemberSelect.reset()
this.queryParams = {
pageNum: 1,
pageSize: 50,
thetimes: [],
};
this.getSearch();
thetimes: []
}
this.getSearch()
},
getSearch() {
this.loading = true
sta.getResettleAchieve(this.queryParams).then((res) => {
this.loading = false
if (res.code == 200) {
this.tableData = res.rows;
this.total = res.total;
this.tableData = res.rows
this.total = res.total
}
});
})
},
getCzNum() {
this.queryParams.pageNum = 1;
},
},
};
this.queryParams.pageNum = 1
}
}
}
</script>
<style lang="scss" scoped>
::v-deep .el-image-viewer__close {
right: 500px;
@ -469,4 +467,3 @@ export default {
}
}
</style>

View File

@ -2,36 +2,39 @@
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:top-list="topList"
:moren="moren"
></topBar>
/>
<div class="thetopbox">
<el-form label-width="100px">
<el-row>
<el-col :span="4">
<TopMemberSelect ref="topMemberSelect" @change="topMemberHandleChange" />
</el-col>
<el-col :span="4">
<el-form-item :label="'会员编号'" prop="memberCode">
<el-input clearable v-model="queryParams.memberCode"></el-input>
<el-input v-model="queryParams.memberCode" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'会员姓名'" prop="memberName">
<el-input clearable v-model="queryParams.memberName"></el-input>
<el-input v-model="queryParams.memberName" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'订单类型'" prop="orderType">
<el-select
v-model="queryParams.orderType"
clearable
:placeholder="'请选择'"
v-model="queryParams.orderType"
>
<el-option
v-for="item in orderTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -39,48 +42,48 @@
<el-col :span="4">
<el-form-item :label="'真实奖衔'" prop="pkAwards">
<el-select
v-model="queryParams.pkAwards"
clearable
:placeholder="'请选择'"
v-model="queryParams.pkAwards"
>
<el-option
v-for="item in awardsList"
:key="item.pkId"
:label="item.awardsName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属体系'" prop="pkVertex">
<el-select
v-model="queryParams.pkVertex"
clearable
:placeholder="'请选择'"
v-model="queryParams.pkVertex"
>
<el-option
v-for="item in vertexList"
:key="item.pkId"
:label="item.vertexName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属团队'" prop="pkTeamCode">
<el-select
v-model="queryParams.pkTeamCode"
clearable
:placeholder="'请选择'"
v-model="queryParams.pkTeamCode"
>
<el-option
v-for="item in memberTeamList"
:key="item.pkId"
:label="item.teamName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -104,15 +107,14 @@
<el-form-item :label="'订单日期'" prop="thetimes">
<el-date-picker
v-model="queryParams.thetimes"
@change="changeTime"
value-format="yyyy-MM-dd"
type="daterange"
:clearable="false"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
>
</el-date-picker>
@change="changeTime"
/>
</el-form-item>
</el-col>
<el-col :span="4">
@ -126,11 +128,9 @@
}
"
>
{{ '搜索' }}</el-button
>
{{ '搜索' }}</el-button>
<el-button class="my_reset" @click="reChongzhi">
{{ '重置' }}</el-button
>
{{ '重置' }}</el-button>
</div>
</el-col>
</el-row>
@ -140,21 +140,19 @@
<div class="maintop">
<div class="mainbtn">
<el-button size="small" class="thebtn1" @click="handleExport">
{{ '导出' }}</el-button
>
{{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
:data="tableData"
height="680px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
@selection-change="handleSelectionChange"
>
<el-table-column prop="colsele" type="selection" width="55">
</el-table-column>
<el-table-column prop="colsele" type="selection" width="55" />
<el-table-column
align="center"
@ -166,7 +164,7 @@
style="width: 44px; height: 44px; border-radius: 50%"
:src="scope.row.nationalFlag"
alt=""
/>
>
</template>
</el-table-column>
@ -175,74 +173,63 @@
prop="shortName"
:label="'国家'"
min-width="120px"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="memberCode"
:label="'会员编号'"
min-width="120px"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="memberName"
:label="'会员姓名'"
min-width="120px"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="phone"
:label="'联系方式'"
min-width="120px"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="awardsName"
:label="'真实奖衔'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="vertexName"
:label="'隶属体系'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="teamCodeName"
:label="'隶属团队'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="leftNewAddAmount"
:label="'左区新增金额'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="rightNewAddAmount"
:label="'右区新增金额'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="leftNewAddAchieve"
min-width="100px"
:label="'左区新增业绩' + `(PV)`"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="rightNewAddAchieve"
min-width="100px"
:label="'右区新增业绩' + `(PV)`"
>
</el-table-column>
/>
<!-- <el-table-column
min-width="120px"
align="center"
@ -262,35 +249,37 @@
/>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import * as sta from "@/api/statistics";
import * as log from "@/api/logistics";
import { getAwardsListChiose } from "@/api/level";
import { getcountryAllList } from "@/api/exchangerate";
import { getvertexValue, getmemberTeamList } from "@/api/financialCase";
import { isLocals, isLocalSymbol } from "@/utils/numberToCurrency";
<script>
import topBar from '@/components/topBar'
import * as sta from '@/api/statistics'
import * as log from '@/api/logistics'
import { getAwardsListChiose } from '@/api/level'
import { getcountryAllList } from '@/api/exchangerate'
import { getvertexValue, getmemberTeamList } from '@/api/financialCase'
import { isLocals, isLocalSymbol } from '@/utils/numberToCurrency'
import TopMemberSelect from '@/components/top-member-select/index.vue'
export default {
name: "UnderPlacementPerNew",
name: 'UnderPlacementPerNew',
components: {
topBar,
TopMemberSelect
},
data() {
return {
moren: "underPlacementPerNew",
moren: 'underPlacementPerNew',
topList: [
{
name: "伞下新増安置业绩(新)",
path: "underPlacementPerNew",
},
name: '伞下新増安置业绩(新)',
path: 'underPlacementPerNew'
}
],
tableData: [],
loading:false,
loading: false,
queryParams: {
pageNum: 1,
pageSize: 50,
thetimes: [],
thetimes: []
},
total: 0,
multipleSelection: [],
@ -298,105 +287,111 @@ export default {
memberTeamList: [],
vertexList: [],
countryList: [],
orderTypeList: [],
};
orderTypeList: []
}
},
created() {
this.getSearch();
this.getOthers();
var s1 = this.getStartTime();
var s2 = this.getEndTime();
this.queryParams.startPayTime = s1;
this.queryParams.endPayTime = s2;
this.queryParams.thetimes = [s1, s2];
this.getSearch()
this.getOthers()
var s1 = this.getStartTime()
var s2 = this.getEndTime()
this.queryParams.startPayTime = s1
this.queryParams.endPayTime = s2
this.queryParams.thetimes = [s1, s2]
},
methods: {
isLocalSymbol,
isLocals,
topMemberHandleChange(val) {
if (val) {
this.queryParams.memberCode = val
this.getSearch()
}
},
getStartTime() {
const date = new Date();
date.setDate(1); //
const year = date.getFullYear(); //
let month = date.getMonth() + 1; // 0-11+1
month = month >= 10 ? month : "0" + month; //
let day = date.getDate(); // setDate(1)
day = day >= 10 ? day : "0" + day; //
return year + "-" + month + "-" + day;
const date = new Date()
date.setDate(1) //
const year = date.getFullYear() //
let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : '0' + month //
let day = date.getDate() // setDate(1)
day = day >= 10 ? day : '0' + day //
return year + '-' + month + '-' + day
},
getEndTime() {
let date = new Date();
let year = date.getFullYear(); //
let month = date.getMonth() + 1; // 0-11+1
month = month >= 10 ? month : "0" + month; //
let day = date.getDate(); // setDate(1)
day = day >= 10 ? day : "0" + day; //
return year + "-" + month + "-" + day + " ";
const date = new Date()
const year = date.getFullYear() //
let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : '0' + month //
let day = date.getDate() // setDate(1)
day = day >= 10 ? day : '0' + day //
return year + '-' + month + '-' + day + ' '
},
changeTime(val) {
this.queryParams.startPayTime = val[0];
this.queryParams.endPayTime = val[1];
this.queryParams.startPayTime = val[0]
this.queryParams.endPayTime = val[1]
},
getOthers() {
getAwardsListChiose().then((res) => {
this.awardsList = res.rows;
});
this.awardsList = res.rows
})
getmemberTeamList().then((res) => {
this.memberTeamList = res.rows;
});
this.memberTeamList = res.rows
})
getvertexValue().then((res) => {
this.vertexList = res.data;
});
this.vertexList = res.data
})
getcountryAllList().then((res) => {
this.countryList = res.data;
});
this.countryList = res.data
})
//
log.getUnderAddOrderTypeNew().then((res) => {
this.orderTypeList = res.data;
});
this.orderTypeList = res.data
})
},
//
//
handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then((_) => {
this.download(
"/report/manager/member-report/member-resettle-achieve_up_export",
'/report/manager/member-report/member-resettle-achieve_up_export',
{ ...this.queryParams },
`伞下新増安置业绩(新)${new Date().getTime()}.xlsx`
);
});
)
})
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.multipleSelection = val
},
reChongzhi() {
this.$refs.topMemberSelect.reset()
this.queryParams = {
pageNum: 1,
pageSize: 50,
thetimes: [],
};
this.getSearch();
thetimes: []
}
this.getSearch()
},
getSearch() {
this.loading = true
sta.getResettleAchieveNew(this.queryParams).then((res) => {
this.loading = false
if (res.code == 200) {
this.tableData = res.rows;
this.total = res.total;
this.tableData = res.rows
this.total = res.total
}
});
})
},
getCzNum() {
this.queryParams.pageNum = 1;
},
},
};
this.queryParams.pageNum = 1
}
}
}
</script>
<style lang="scss" scoped>
::v-deep .el-image-viewer__close {
right: 500px;
@ -469,4 +464,3 @@ export default {
}
}
</style>