web-zk-admin/src/views/information/specialBusiness/accessCode.vue

1351 lines
38 KiB
Vue
Raw Normal View History

2025-03-23 10:03:12 +08:00
<!--
* @Descripttion:
* @version:
* @Author: kBank
* @Date: 2022-10-24 15:45:01
-->
<template>
<div class="page">
<topBar
v-if="topList.length > 0"
2025-09-28 15:35:02 +08:00
:top-list="topList"
2025-03-23 10:03:12 +08:00
:moren="moren"
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
<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
v-model="select.sourceMemberCode"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="开始姓名">
<el-input
v-model="select.sourceMemberName"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="接入编号">
<el-input
v-model="select.targetMemberCode"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="接入姓名">
<el-input
v-model="select.targetMemberName"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="会员编号">
2025-09-28 15:35:02 +08:00
<el-input v-model="select.memberCode" clearable />
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="会员姓名">
2025-09-28 15:35:02 +08:00
<el-input v-model="select.memberName" clearable />
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="8">
2025-05-26 10:41:35 +08:00
<el-form-item :label="'创建日期'" prop="code">
2025-03-23 10:03:12 +08:00
<el-date-picker
v-model="creationTime"
type="daterange"
range-separator="——"
2025-05-26 10:41:35 +08:00
:start-placeholder="'开始时间'"
:end-placeholder="'结束日期'"
2025-03-23 10:03:12 +08:00
value-format="yyyy-MM-dd"
:unlink-panels="true"
2025-09-28 15:35:02 +08:00
@change="changeTime"
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="4">
<el-button type="primary" @click="getDataList">
2025-09-28 15:35:02 +08:00
{{ '搜索' }}</el-button>
2025-05-26 10:41:35 +08:00
<el-button type="" @click="reset"> {{ '重置' }}</el-button>
2025-03-23 10:03:12 +08:00
</el-col>
</el-row>
</el-form>
</div>
<div class="maintop">
<div class="mainbtn">
<el-button
v-hasButtons="['MissionAdd']"
2025-09-28 15:35:02 +08:00
size="small"
2025-03-23 10:03:12 +08:00
class="addBtn"
2025-09-28 15:35:02 +08:00
@click="openDig"
>{{ '添加' }}</el-button>
2025-03-23 10:03:12 +08:00
<el-button
size="small"
:disabled="selectData.length == 0"
style="background-color: #ffad41"
class="thebtn1"
2025-09-28 15:35:02 +08:00
@click="fixedData"
2025-03-23 10:03:12 +08:00
>
2025-09-28 15:35:02 +08:00
修改</el-button>
2025-03-23 10:03:12 +08:00
<el-button
size="small"
style="background-color: #c8161d"
class="thebtn1"
:disabled="selectData.length == 0"
2025-09-28 15:35:02 +08:00
@click="deleteTable"
>删除</el-button>
2025-03-23 10:03:12 +08:00
</div>
</div>
<div class="maintable">
<el-table
2025-09-28 15:35:02 +08:00
ref="multipleTable"
2025-03-23 10:03:12 +08:00
v-loading="loading"
2025-09-28 15:35:02 +08:00
:data="tableData"
2025-03-23 10:03:12 +08:00
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@select-all="onSelectAll"
@select="selected"
>
2025-09-28 15:35:02 +08:00
<el-table-column type="selection" width="55" />
2025-03-23 10:03:12 +08:00
<el-table-column
align="center"
prop="sourceMemberCode"
label="开始编号"
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
<el-table-column
align="center"
prop="sourceMemberName"
label="开始姓名"
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
<el-table-column
align="center"
prop="targetMemberCode"
label="接入编号"
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
<el-table-column
align="center"
prop="targetMemberName"
label="接入姓名"
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
<el-table-column align="center" prop="memberCode" label="会员编号">
<template slot-scope="scope">
<div
v-for="(item, index) in scope.row.cuMemberSwingNetDetailExtList"
:key="index"
>
{{ item.memberCode }}
</div>
</template>
</el-table-column>
<el-table-column align="center" prop="memberName" label="会员姓名">
<template slot-scope="scope">
<div
v-for="(item, index) in scope.row.cuMemberSwingNetDetailExtList"
:key="index"
>
{{ item.memberName }}
</div>
</template>
</el-table-column>
<el-table-column
align="center"
prop="targetMemberName"
label="接入部门"
>
<template slot-scope="scope">
<div
v-for="(item, index) in scope.row.cuMemberSwingNetDetailExtList"
:key="index"
>
{{ item.placeDeptVal }}
</div>
</template>
</el-table-column>
<el-table-column
align="center"
prop="firstAchieveRatio"
label="首购上传比例"
>
<template slot-scope="scope">
<div
v-for="(item, index) in scope.row.cuMemberSwingNetDetailExtList"
:key="index"
>
{{ item.firstAchieveRatio }}
</div>
</template>
</el-table-column>
<el-table-column
align="center"
prop="firstReachPoint"
label="首购奖金达标业绩"
>
<template slot-scope="scope">
<div
v-for="(item, index) in scope.row.cuMemberSwingNetDetailExtList"
:key="index"
>
{{ item.firstReachPoint }}
</div>
</template>
</el-table-column>
<el-table-column
align="center"
prop="repurchaseAchieveRatio"
label="复购上传比例"
>
<template slot-scope="scope">
<div
v-for="(item, index) in scope.row.cuMemberSwingNetDetailExtList"
:key="index"
>
{{ item.repurchaseAchieveRatio }}
</div>
</template>
</el-table-column>
<el-table-column
align="center"
prop="repurchaseReachPoint"
label="复购奖金达标业绩"
>
<template slot-scope="scope">
<div
v-for="(item, index) in scope.row.cuMemberSwingNetDetailExtList"
:key="index"
>
{{ item.repurchaseReachPoint }}
</div>
</template>
</el-table-column>
2025-09-28 15:35:02 +08:00
<el-table-column align="center" prop="creationTime" label="创建时间" />
2025-03-23 10:03:12 +08:00
<el-table-column align="center" prop="creationTime" label="操作">
<template slot-scope="scope">
<div
style="color: #ffad41; cursor: pointer"
@click="goodsDetails(scope.row)"
>
查看详情
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getDataList"
/>
<el-dialog
title="添加"
:visible.sync="addCode"
:close-on-click-modal="false"
width="30%"
center
:before-close="handleCloseCode"
>
<el-form ref="form" :rules="rules" :model="form" label-width="auto">
<el-row>
<el-col :span="12">
<el-form-item label="开始编号" prop="sourceMemberCode">
2025-09-28 15:35:02 +08:00
<el-input v-model="form.sourceMemberCode" clearable />
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开始姓名">
<el-input
2025-09-28 15:35:02 +08:00
v-model="form.sourceMemberName"
2025-03-23 10:03:12 +08:00
clearable
disabled
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="接入编号" prop="targetMemberCode">
2025-09-28 15:35:02 +08:00
<el-input v-model="form.targetMemberCode" clearable />
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="接入姓名">
<el-input
2025-09-28 15:35:02 +08:00
v-model="form.targetMemberName"
2025-03-23 10:03:12 +08:00
clearable
disabled
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
2025-05-26 10:41:35 +08:00
<el-button @click="handleCloseCode">{{ '取消' }}</el-button>
2025-03-23 10:03:12 +08:00
<el-button type="primary" @click="sureCode">{{
2025-05-26 10:41:35 +08:00
'确认'
2025-03-23 10:03:12 +08:00
}}</el-button>
</span>
</el-dialog>
<!-- 选择会员 -->
<el-dialog
title="选择会员"
:visible.sync="addList"
:close-on-click-modal="false"
width="30%"
center
:before-close="handleCloseList"
>
<div class="allTab">
<el-table
:data="digTable"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectList"
>
2025-09-28 15:35:02 +08:00
<el-table-column type="selection" width="55" />
<el-table-column align="center" prop="memberCode" label="会员编号" />
<el-table-column align="center" prop="memberName" label="会员姓名" />
2025-03-23 10:03:12 +08:00
</el-table>
</div>
<span slot="footer" class="dialog-footer">
2025-05-26 10:41:35 +08:00
<el-button @click="handleCloseList">{{ '取消' }}</el-button>
2025-03-23 10:03:12 +08:00
<el-button type="primary" @click="sureList">{{
2025-05-26 10:41:35 +08:00
'确认'
2025-03-23 10:03:12 +08:00
}}</el-button>
</span>
</el-dialog>
<!-- 新增 -->
<el-dialog
title="确认"
:visible.sync="addData"
:close-on-click-modal="false"
width="60%"
center
:before-close="handleCloseData"
>
<el-form ref="form" :rules="rules" :model="form" label-width="auto">
<el-row>
<el-col :span="12">
<el-form-item label="开始编号" prop="sourceMemberCode">
<el-input
2025-09-28 15:35:02 +08:00
v-model="form.sourceMemberCode"
2025-03-23 10:03:12 +08:00
clearable
disabled
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开始姓名">
<el-input
2025-09-28 15:35:02 +08:00
v-model="form.sourceMemberName"
2025-03-23 10:03:12 +08:00
clearable
disabled
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="接入编号" prop="targetMemberCode">
<el-input
2025-09-28 15:35:02 +08:00
v-model="form.targetMemberCode"
2025-03-23 10:03:12 +08:00
clearable
disabled
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="接入姓名">
<el-input
2025-09-28 15:35:02 +08:00
v-model="form.targetMemberName"
2025-03-23 10:03:12 +08:00
clearable
disabled
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="disFlex">
2025-09-28 15:35:02 +08:00
<el-button
size="small"
class="addBtn"
@click="toAddObj1"
>新增</el-button>
<el-button
size="small"
class="addBtn"
@click="changeAllData"
>批量操作</el-button>
2025-03-23 10:03:12 +08:00
</div>
<el-table
:data="selectRow"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
2025-09-28 15:35:02 +08:00
<el-table-column align="center" prop="memberCode" label="会员编号" />
<el-table-column align="center" prop="memberName" label="会员姓名" />
2025-03-23 10:03:12 +08:00
<el-table-column align="center" prop="placeDept" label="接入部门">
<template slot="header" slot-scope="scope">
<div>接入部门</div>
<el-select v-model="changeData.placeDept" clearable placeholder="">
<el-option
v-for="item in deptList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</template>
<template slot-scope="scope">
<el-select v-model="scope.row.placeDept" clearable placeholder="">
<el-option
v-for="item in deptList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</template>
</el-table-column>
<el-table-column
align="center"
prop="firstAchieveRatio"
label="首购上传比例"
>
<template slot="header" slot-scope="scope">
<div>首购上传比例</div>
<el-input
v-model="changeData.firstAchieveRatio"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</template>
<template slot-scope="scope">
<el-input
v-model="scope.row.firstAchieveRatio"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</template>
</el-table-column>
<el-table-column
align="center"
prop="repurchaseAchieveRatio"
label="复购上传比例"
>
<template slot="header" slot-scope="scope">
<div>复购上传比例</div>
<el-input
v-model="changeData.repurchaseAchieveRatio"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</template>
<template slot-scope="scope">
<el-input
v-model="scope.row.repurchaseAchieveRatio"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</template>
</el-table-column>
<el-table-column
align="center"
prop="firstReachPoint"
label="首购奖金达标业绩"
>
<template slot="header" slot-scope="scope">
<div>首购奖金达标业绩</div>
<!-- <el-select v-model="changeData.firstCalculate"
2025-05-26 10:41:35 +08:00
:placeholder="'请选择'">
2025-03-23 10:03:12 +08:00
<el-option v-for="item in yesNo"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select> -->
2025-09-28 15:35:02 +08:00
<el-input v-model="changeData.firstReachPoint" clearable />
2025-03-23 10:03:12 +08:00
</template>
<template slot-scope="scope">
2025-09-28 15:35:02 +08:00
<el-input v-model="scope.row.firstReachPoint" clearable />
2025-03-23 10:03:12 +08:00
</template>
<!-- <template slot-scope="scope">
<el-select v-model="scope.row.firstCalculate"
2025-05-26 10:41:35 +08:00
:placeholder="'请选择'">
2025-03-23 10:03:12 +08:00
<el-option v-for="item in yesNo"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template> -->
</el-table-column>
<el-table-column
align="center"
prop="repurchaseAchieveRatio"
label="复购奖金达标业绩"
>
<template slot="header" slot-scope="scope">
<div>复购奖金达标业绩</div>
<!-- <el-select v-model="changeData.repurchaseAchieveRatio"
2025-05-26 10:41:35 +08:00
:placeholder="'请选择'">
2025-03-23 10:03:12 +08:00
<el-option v-for="item in yesNo"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select> -->
<el-input
v-model="changeData.repurchaseReachPoint"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</template>
<template slot-scope="scope">
<el-input
v-model="scope.row.repurchaseReachPoint"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
<!-- <el-select v-model="scope.row.repurchaseCalculate"
2025-05-26 10:41:35 +08:00
:placeholder="'请选择'">
2025-03-23 10:03:12 +08:00
<el-option v-for="item in yesNo"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select> -->
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
2025-05-26 10:41:35 +08:00
<el-button @click="handleCloseData">{{ '取消' }}</el-button>
2025-03-23 10:03:12 +08:00
<el-button type="primary" @click="sureData">{{
2025-05-26 10:41:35 +08:00
'确认'
2025-03-23 10:03:12 +08:00
}}</el-button>
</span>
</el-dialog>
<!-- 修改 -->
<el-dialog
title="修改"
:visible.sync="addUp"
:close-on-click-modal="false"
width="60%"
center
:before-close="handleCloseUp"
>
<el-form ref="form" :rules="rules" :model="form" label-width="auto">
<el-row>
<el-col :span="12">
<el-form-item label="开始编号" prop="sourceMemberCode">
<el-input
2025-09-28 15:35:02 +08:00
v-model="upDataObj.sourceMemberCode"
2025-03-23 10:03:12 +08:00
clearable
disabled
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开始姓名">
<el-input
2025-09-28 15:35:02 +08:00
v-model="upDataObj.sourceMemberName"
2025-03-23 10:03:12 +08:00
clearable
disabled
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="接入编号" prop="targetMemberCode">
<el-input
2025-09-28 15:35:02 +08:00
v-model="upDataObj.targetMemberCode"
2025-03-23 10:03:12 +08:00
clearable
disabled
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="接入姓名">
<el-input
2025-09-28 15:35:02 +08:00
v-model="upDataObj.targetMemberName"
2025-03-23 10:03:12 +08:00
clearable
disabled
2025-09-28 15:35:02 +08:00
/>
2025-03-23 10:03:12 +08:00
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="disFlex">
2025-09-28 15:35:02 +08:00
<el-button
size="small"
class="addBtn"
@click="toAddObj"
>新增</el-button>
<el-button
size="small"
class="addBtn"
@click="changeAllData1"
>批量操作</el-button>
2025-03-23 10:03:12 +08:00
</div>
<el-table
:data="upDataObj.cuMemberSwingNetDetailExtList"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
2025-09-28 15:35:02 +08:00
<el-table-column align="center" prop="memberCode" label="会员编号" />
<el-table-column align="center" prop="memberName" label="会员姓名" />
2025-03-23 10:03:12 +08:00
<el-table-column
align="center"
prop="firstAchieveRatio"
label="接入部门"
>
<template slot="header" slot-scope="scope">
<div>接入部门</div>
<el-select v-model="changeData.placeDept" clearable placeholder="">
<el-option
v-for="item in deptList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</template>
<template slot-scope="scope">
<el-select v-model="scope.row.placeDept" clearable placeholder="">
<el-option
v-for="item in deptList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</template>
</el-table-column>
<el-table-column
align="center"
prop="firstAchieveRatio"
label="首购上传比例"
>
<template slot="header" slot-scope="scope">
<div>首购上传比例</div>
<el-input
v-model="changeData.firstAchieveRatio"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</template>
<template slot-scope="scope">
<el-input
v-model="scope.row.firstAchieveRatio"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</template>
</el-table-column>
<el-table-column
align="center"
prop="repurchaseAchieveRatio"
label="复购上传比例"
>
<template slot="header" slot-scope="scope">
<div>复购上传比例</div>
<el-input
v-model="changeData.repurchaseAchieveRatio"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</template>
<template slot-scope="scope">
<el-input
v-model="scope.row.repurchaseAchieveRatio"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</template>
</el-table-column>
<el-table-column
align="center"
prop="firstCalculate"
label="首购奖金达标业绩"
>
<template slot="header" slot-scope="scope">
<div>首购奖金达标业绩</div>
<!-- <el-select v-model="changeData.firstCalculate"
2025-05-26 10:41:35 +08:00
:placeholder="'请选择'">
2025-03-23 10:03:12 +08:00
<el-option v-for="item in yesNo"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select> -->
2025-09-28 15:35:02 +08:00
<el-input v-model="changeData.firstReachPoint" clearable />
2025-03-23 10:03:12 +08:00
</template>
<template slot-scope="scope">
<!-- <el-select v-model="scope.row.firstCalculate"
2025-05-26 10:41:35 +08:00
:placeholder="'请选择'">
2025-03-23 10:03:12 +08:00
<el-option v-for="item in yesNo"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select> -->
2025-09-28 15:35:02 +08:00
<el-input v-model="scope.row.firstReachPoint" clearable />
2025-03-23 10:03:12 +08:00
</template>
</el-table-column>
<el-table-column
align="center"
prop="repurchaseAchieveRatio"
label="复购奖金达标业绩"
>
<template slot="header" slot-scope="scope">
<div>复购奖金达标业绩</div>
<!-- <el-select v-model="changeData.repurchaseAchieveRatio"
2025-05-26 10:41:35 +08:00
:placeholder="'请选择'">
2025-03-23 10:03:12 +08:00
<el-option v-for="item in yesNo"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select> -->
<el-input
v-model="changeData.repurchaseReachPoint"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</template>
<template slot-scope="scope">
<!-- <el-select v-model="scope.row.repurchaseCalculate"
2025-05-26 10:41:35 +08:00
:placeholder="'请选择'">
2025-03-23 10:03:12 +08:00
<el-option v-for="item in yesNo"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select> -->
<el-input
v-model="scope.row.repurchaseReachPoint"
2025-09-28 15:35:02 +08:00
clearable
/>
2025-03-23 10:03:12 +08:00
</template>
</el-table-column>
<el-table-column
align="center"
prop="repurchaseAchieveRatio"
label="操作"
>
<template slot-scope="scope">
<div
style="color: #c8161d; font-size: 12px; cursor: pointer"
@click="delRow(scope.$index)"
>
删除
</div>
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
2025-05-26 10:41:35 +08:00
<el-button @click="handleCloseUp">{{ '取消' }}</el-button>
2025-03-23 10:03:12 +08:00
<el-button type="primary" @click="sureUp">{{
2025-05-26 10:41:35 +08:00
'确认'
2025-03-23 10:03:12 +08:00
}}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
2025-09-28 15:35:02 +08:00
import topBar from '@/components/topBar'
import * as api from '@/api/specialBusiness.js'
2025-03-23 10:03:12 +08:00
export default {
2025-09-28 15:35:02 +08:00
name: 'Bzpz',
2025-03-23 10:03:12 +08:00
components: {
2025-09-28 15:35:02 +08:00
topBar
2025-03-23 10:03:12 +08:00
},
data() {
return {
isAdd: false,
changeData: {},
addCode: false,
addData: false,
addList: false,
addUp: false,
selectRow: [],
rules: {
sourceMemberCode: [
2025-09-28 15:35:02 +08:00
{ required: true, validator: this.getName1, trigger: 'blur' }
2025-03-23 10:03:12 +08:00
],
targetMemberCode: [
2025-09-28 15:35:02 +08:00
{ required: true, validator: this.getName2, trigger: 'blur' }
]
2025-03-23 10:03:12 +08:00
},
digTable: [],
form: {},
select: {},
// 查询参数
queryParams: {
pageNum: 1,
2025-09-28 15:35:02 +08:00
pageSize: 50
2025-03-23 10:03:12 +08:00
},
2025-09-28 15:35:02 +08:00
addOrEdit: '',
2025-03-23 10:03:12 +08:00
total: 0,
dialogVisible: false,
tableData: [],
loading: false,
yesNo: [],
2025-09-28 15:35:02 +08:00
moren: 'accessCode',
2025-03-23 10:03:12 +08:00
topList: [
{
2025-06-08 15:32:44 +08:00
name: '空单注册',
2025-09-28 15:35:02 +08:00
path: 'emptyOrder',
changed: false
2025-03-23 10:03:12 +08:00
},
{
2025-06-08 15:32:44 +08:00
name: '修改直推',
2025-09-28 15:35:02 +08:00
path: 'modifyDirectpush',
changed: false
2025-03-23 10:03:12 +08:00
},
{
2025-06-08 15:32:44 +08:00
name: '修改安置',
2025-09-28 15:35:02 +08:00
path: 'modifyPlacement',
changed: false
2025-03-23 10:03:12 +08:00
},
{
2025-06-08 15:32:44 +08:00
name: '注水业绩',
2025-09-28 15:35:02 +08:00
path: 'waterPv',
changed: false
2025-03-23 10:03:12 +08:00
},
{
2025-06-08 15:32:44 +08:00
name: '修改编号',
2025-09-28 15:35:02 +08:00
path: 'modifyCode',
changed: false
2025-03-23 10:03:12 +08:00
},
{
2025-06-08 15:32:44 +08:00
name: '真实奖衔控制',
2025-09-28 15:35:02 +08:00
path: 'awardControl',
changed: false
2025-03-23 10:03:12 +08:00
},
{
2025-06-08 15:32:44 +08:00
name: '修改结算国家',
2025-09-28 15:35:02 +08:00
path: 'modifySettleCountry',
changed: false
2025-03-23 10:03:12 +08:00
},
{
2025-06-08 15:32:44 +08:00
name: '政策币业务',
2025-09-28 15:35:02 +08:00
path: 'policyMoney',
changed: false
2025-03-23 10:03:12 +08:00
},
{
2025-09-28 15:35:02 +08:00
name: '甩网配置',
path: 'accessCode',
changed: false
}
2025-03-23 10:03:12 +08:00
],
colSpanArr: [],
rowIndexArr: [],
2025-09-28 15:35:02 +08:00
selectData: '',
2025-03-23 10:03:12 +08:00
upDataObj: {},
deptList: [],
2025-09-28 15:35:02 +08:00
creationTime: []
}
2025-03-23 10:03:12 +08:00
},
mounted() {
// 获取列表
2025-09-28 15:35:02 +08:00
this.getDataList()
this.getData()
2025-03-23 10:03:12 +08:00
},
methods: {
goodsDetails(row) {
this.$router.push({
2025-09-28 15:35:02 +08:00
path: 'accessCodeDetails',
2025-03-23 10:03:12 +08:00
query: {
2025-09-28 15:35:02 +08:00
data: row.pkId
}
})
2025-03-23 10:03:12 +08:00
},
changeAllData() {
this.digTable.forEach((item) => {
if (
this.changeData.firstAchieveRatio ||
this.changeData.firstAchieveRatio == 0
) {
2025-09-28 15:35:02 +08:00
item.firstAchieveRatio = this.changeData.firstAchieveRatio
2025-03-23 10:03:12 +08:00
}
if (
this.changeData.repurchaseAchieveRatio ||
this.changeData.repurchaseAchieveRatio == 0
) {
2025-09-28 15:35:02 +08:00
item.repurchaseAchieveRatio = this.changeData.repurchaseAchieveRatio
2025-03-23 10:03:12 +08:00
}
if (
this.changeData.firstReachPoint ||
this.changeData.firstReachPoint == 0
) {
2025-09-28 15:35:02 +08:00
item.firstReachPoint = this.changeData.firstReachPoint
2025-03-23 10:03:12 +08:00
}
if (
this.changeData.repurchaseReachPoint ||
this.changeData.repurchaseReachPoint == 0
) {
2025-09-28 15:35:02 +08:00
item.repurchaseReachPoint = this.changeData.repurchaseReachPoint
2025-03-23 10:03:12 +08:00
}
2025-09-28 15:35:02 +08:00
this.$set(item, 'placeDept', this.changeData.placeDept)
})
2025-03-23 10:03:12 +08:00
},
changeAllData1() {
this.upDataObj.cuMemberSwingNetDetailExtList.forEach((item) => {
if (
this.changeData.firstAchieveRatio ||
this.changeData.firstAchieveRatio == 0
) {
2025-09-28 15:35:02 +08:00
item.firstAchieveRatio = this.changeData.firstAchieveRatio
2025-03-23 10:03:12 +08:00
}
if (
this.changeData.repurchaseAchieveRatio ||
this.changeData.repurchaseAchieveRatio == 0
) {
2025-09-28 15:35:02 +08:00
item.repurchaseAchieveRatio = this.changeData.repurchaseAchieveRatio
2025-03-23 10:03:12 +08:00
}
if (
this.changeData.firstReachPoint ||
this.changeData.firstReachPoint == 0
) {
2025-09-28 15:35:02 +08:00
item.firstReachPoint = this.changeData.firstReachPoint
2025-03-23 10:03:12 +08:00
}
if (
this.changeData.repurchaseReachPoint ||
this.changeData.repurchaseReachPoint == 0
) {
2025-09-28 15:35:02 +08:00
item.repurchaseReachPoint = this.changeData.repurchaseReachPoint
2025-03-23 10:03:12 +08:00
}
2025-09-28 15:35:02 +08:00
this.$set(item, 'placeDept', this.changeData.placeDept)
})
2025-03-23 10:03:12 +08:00
},
toAddObj() {
console.log(
2025-09-28 15:35:02 +08:00
'toAddObj',
2025-03-23 10:03:12 +08:00
this.upDataObj.targetMemberCode,
this.form.targetMemberCode
2025-09-28 15:35:02 +08:00
)
2025-03-23 10:03:12 +08:00
api
.queryMemberParent({
2025-09-28 15:35:02 +08:00
memberCode: this.upDataObj.targetMemberCode
2025-03-23 10:03:12 +08:00
})
.then((res) => {
if (res.code == 200) {
2025-09-28 15:35:02 +08:00
this.digTable = res.data
2025-03-23 10:03:12 +08:00
}
2025-09-28 15:35:02 +08:00
})
this.addList = true
2025-03-23 10:03:12 +08:00
// this.upDataObj.cuMemberSwingNetDetailExtList.push({
// firstAchieveRatio: '',
// firstCalculate: 0,
// memberCode: '',
// memberName: '',
// repurchaseAchieveRatio: '',
// repurchaseCalculate: 0,
// })
},
toAddObj1() {
2025-09-28 15:35:02 +08:00
console.log(123)
2025-03-23 10:03:12 +08:00
api
.queryMemberParent({
2025-09-28 15:35:02 +08:00
memberCode: this.form.targetMemberCode
2025-03-23 10:03:12 +08:00
})
.then((res) => {
if (res.code == 200) {
2025-09-28 15:35:02 +08:00
this.digTable = res.data
2025-03-23 10:03:12 +08:00
}
2025-09-28 15:35:02 +08:00
})
this.addList = true
2025-03-23 10:03:12 +08:00
},
delRow(index) {
2025-09-28 15:35:02 +08:00
this.upDataObj.cuMemberSwingNetDetailExtList.splice(index, 1)
2025-03-23 10:03:12 +08:00
},
getData() {
api.getEYesNoList().then((res) => {
2025-09-28 15:35:02 +08:00
this.yesNo = res.data
})
2025-03-23 10:03:12 +08:00
api.getPlacedeptList().then((res) => {
2025-09-28 15:35:02 +08:00
this.deptList = res.data
})
2025-03-23 10:03:12 +08:00
},
changeTime(val) {
2025-09-28 15:35:02 +08:00
this.select.startCreationTime = val ? val[0] : ''
this.select.endCreationTime = val ? val[1] : ''
2025-03-23 10:03:12 +08:00
},
getName1(rule, value, callback) {
if (!value) {
2025-09-28 15:35:02 +08:00
callback(new Error('请输入联系电话'))
2025-03-23 10:03:12 +08:00
} else {
api
.queryMember({
2025-09-28 15:35:02 +08:00
memberCode: value
2025-03-23 10:03:12 +08:00
})
.then((res) => {
if (res.code == 200) {
2025-09-28 15:35:02 +08:00
this.$set(this.form, 'sourceMemberName', res.data.memberName)
this.$set(this.form, 'pkSourceMember', res.data.pkId)
callback()
2025-03-23 10:03:12 +08:00
} else {
2025-09-28 15:35:02 +08:00
callback(new Error(res.msg))
2025-03-23 10:03:12 +08:00
}
2025-09-28 15:35:02 +08:00
})
2025-03-23 10:03:12 +08:00
}
},
getName2(rule, value, callback) {
if (!value) {
2025-09-28 15:35:02 +08:00
callback(new Error('请输入联系电话'))
2025-03-23 10:03:12 +08:00
} else {
api
.queryMember({
2025-09-28 15:35:02 +08:00
memberCode: value
2025-03-23 10:03:12 +08:00
})
.then((res) => {
if (res.code == 200) {
2025-09-28 15:35:02 +08:00
this.$set(this.form, 'targetMemberName', res.data.memberName)
this.$set(this.form, 'pkTargetMember', res.data.pkId)
callback()
2025-03-23 10:03:12 +08:00
} else {
2025-09-28 15:35:02 +08:00
callback(new Error(res.msg))
2025-03-23 10:03:12 +08:00
}
2025-09-28 15:35:02 +08:00
})
2025-03-23 10:03:12 +08:00
}
},
reset() {
2025-09-28 15:35:02 +08:00
this.select = {}
this.creationTime = []
this.getDataList()
2025-03-23 10:03:12 +08:00
},
// 点击修改
toFixed(id) {
this.$router.push({
2025-09-28 15:35:02 +08:00
path: 'missionDetails',
2025-03-23 10:03:12 +08:00
query: {
2025-09-28 15:35:02 +08:00
pkId: id
}
})
2025-03-23 10:03:12 +08:00
},
// 删除
handleDelete(id) {
2025-06-08 15:32:44 +08:00
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
2025-09-28 15:35:02 +08:00
type: 'warning'
2025-03-23 10:03:12 +08:00
}).then(() => {
api.missionDel(id).then((res) => {
2025-09-28 15:35:02 +08:00
this.getDataList()
})
})
2025-03-23 10:03:12 +08:00
},
handleClose() {
2025-09-28 15:35:02 +08:00
this.dialogVisible = false
this.$refs['form'].clearValidate()
this.$refs['form'].resetFields()
2025-03-23 10:03:12 +08:00
},
deleteTable() {
2025-09-28 15:35:02 +08:00
const pkId = this.selectData.pkId
2025-06-08 15:32:44 +08:00
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
2025-09-28 15:35:02 +08:00
type: 'warning'
2025-03-23 10:03:12 +08:00
}).then(() => {
api.deleteNet(pkId).then((res) => {
2025-09-28 15:35:02 +08:00
this.getDataList()
})
})
2025-03-23 10:03:12 +08:00
},
openDig() {
2025-09-28 15:35:02 +08:00
this.isAdd = true
this.addCode = true
2025-03-23 10:03:12 +08:00
},
handleCloseUp() {
2025-09-28 15:35:02 +08:00
this.changeData = {}
this.addUp = false
2025-03-23 10:03:12 +08:00
},
handleCloseCode() {
2025-09-28 15:35:02 +08:00
this.addCode = false
2025-03-23 10:03:12 +08:00
},
handleCloseList() {
2025-09-28 15:35:02 +08:00
this.addList = false
2025-03-23 10:03:12 +08:00
},
handleCloseData() {
2025-09-28 15:35:02 +08:00
this.changeData = {}
this.addData = false
2025-03-23 10:03:12 +08:00
},
handleSelectList(row) {
2025-09-28 15:35:02 +08:00
this.selectRow = row
2025-03-23 10:03:12 +08:00
},
// 选择会员确认
sureList() {
if (this.selectRow.length > 0) {
if (this.isAdd) {
2025-09-28 15:35:02 +08:00
this.addData = true
this.addList = false
2025-03-23 10:03:12 +08:00
} else {
this.upDataObj.cuMemberSwingNetDetailExtList.forEach(
(item, index) => {
this.selectRow = this.selectRow.filter((ctem) => {
2025-09-28 15:35:02 +08:00
return ctem.memberCode != item.memberCode
})
2025-03-23 10:03:12 +08:00
}
2025-09-28 15:35:02 +08:00
)
2025-03-23 10:03:12 +08:00
this.selectRow.forEach((item) => {
this.upDataObj.cuMemberSwingNetDetailExtList.push({
firstAchieveRatio: 0,
firstReachPoint: 0,
pkMember: item.pkId,
memberCode: item.memberCode,
memberName: item.memberName,
repurchaseAchieveRatio: 0,
repurchaseReachPoint: 0,
2025-09-28 15:35:02 +08:00
placeDept: 1
})
})
this.addList = false
2025-03-23 10:03:12 +08:00
}
} else {
this.$message({
2025-09-28 15:35:02 +08:00
message: '请选择',
type: 'warning'
})
2025-03-23 10:03:12 +08:00
}
},
// 修改
sureUp() {
api.saveNet(this.upDataObj).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
2025-09-28 15:35:02 +08:00
type: 'success'
})
this.addUp = false
this.getDataList()
2025-03-23 10:03:12 +08:00
}
2025-09-28 15:35:02 +08:00
})
2025-03-23 10:03:12 +08:00
},
// 提交确认
sureData() {
2025-09-28 15:35:02 +08:00
const arr = []
2025-03-23 10:03:12 +08:00
this.selectRow.forEach((item) => {
arr.push({
pkMember: item.pkId,
firstAchieveRatio: item.firstAchieveRatio,
repurchaseAchieveRatio: item.repurchaseAchieveRatio,
firstReachPoint: item.firstReachPoint,
repurchaseReachPoint: item.repurchaseReachPoint,
2025-09-28 15:35:02 +08:00
placeDept: item.placeDept
})
})
2025-03-23 10:03:12 +08:00
api
.saveNet(
Object.assign({}, this.form, { cuMemberSwingNetDetailExtList: arr })
)
.then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
2025-09-28 15:35:02 +08:00
type: 'success'
})
this.addData = false
this.getDataList()
2025-03-23 10:03:12 +08:00
}
2025-09-28 15:35:02 +08:00
})
2025-03-23 10:03:12 +08:00
},
// 输入编号query
sureCode() {
api
.queryMemberParent({
2025-09-28 15:35:02 +08:00
memberCode: this.form.targetMemberCode
2025-03-23 10:03:12 +08:00
})
.then((res) => {
if (res.code == 200) {
2025-09-28 15:35:02 +08:00
this.digTable = res.data
2025-03-23 10:03:12 +08:00
}
2025-09-28 15:35:02 +08:00
})
2025-03-23 10:03:12 +08:00
// this.addData = true
2025-09-28 15:35:02 +08:00
this.addList = true
this.addCode = false
2025-03-23 10:03:12 +08:00
},
// 修改弹框
fixedData() {
2025-09-28 15:35:02 +08:00
const pkId = this.selectData.pkId
2025-03-23 10:03:12 +08:00
api.queryNet({ pkId: pkId }).then((res) => {
2025-09-28 15:35:02 +08:00
this.upDataObj = res.rows[0]
this.addUp = true
this.isAdd = false
})
2025-03-23 10:03:12 +08:00
},
getDataList() {
2025-09-28 15:35:02 +08:00
this.loading = true
2025-03-23 10:03:12 +08:00
api
.queryNet(Object.assign({}, this.queryParams, this.select))
.then((res) => {
2025-09-28 15:35:02 +08:00
this.loading = false
this.tableData = res.rows
this.total = res.total
})
2025-03-23 10:03:12 +08:00
},
onSelectAll() {
2025-09-28 15:35:02 +08:00
this.$refs.multipleTable.clearSelection()
2025-03-23 10:03:12 +08:00
},
selected(selection, row) {
2025-09-28 15:35:02 +08:00
this.selectData = selection[0] || ''
2025-03-23 10:03:12 +08:00
// 清除 所有勾选项
2025-09-28 15:35:02 +08:00
this.$refs.multipleTable.clearSelection()
if (selection.length == 0) return
this.$refs.multipleTable.toggleRowSelection(row, true)
2025-03-23 10:03:12 +08:00
},
handleSelectionChange(val) {},
/** 导出按钮操作 */
handleExport() {
2025-06-08 15:32:44 +08:00
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
2025-09-28 15:35:02 +08:00
type: 'warning'
2025-03-23 10:03:12 +08:00
}).then((_) => {
this.download(
2025-09-28 15:35:02 +08:00
'/system/manage/ho-enterprise-mission/export',
2025-03-23 10:03:12 +08:00
Object.assign({}, this.queryParams, this.select),
2025-06-08 15:32:44 +08:00
`${'企业使命'}${new Date().getTime()}.xlsx`
2025-09-28 15:35:02 +08:00
)
})
2025-03-23 10:03:12 +08:00
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
2025-09-28 15:35:02 +08:00
return 'warning-row'
2025-03-23 10:03:12 +08:00
} else if (rowIndex % 2 == 0) {
2025-09-28 15:35:02 +08:00
return 'success-row'
2025-03-23 10:03:12 +08:00
}
2025-09-28 15:35:02 +08:00
return ''
}
}
}
2025-03-23 10:03:12 +08:00
</script>
<style scoped lang="scss">
::v-deep .el-table .warning-row {
background: #f9f9f9;
}
::v-deep .el-table .success-row {
background: #ffffff;
}
::v-deep .el-table thead {
color: #000000;
}
::v-deep .el-select {
width: 100%;
}
.uploadIcon ::v-deep .el-upload--picture-card {
display: none !important; /* 上传按钮隐藏 */
}
.page {
padding: 20px;
background: #f9f9f9;
font-size: 14px;
.main {
background: #ffffff;
border-radius: 8px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
.form_all {
padding: 0px 20px 0 20px;
// margin-bottom: 20px;
background: #fff;
border-radius: 8px;
}
.maintop {
display: flex;
padding: 0px 0px;
justify-content: space-between;
align-items: center;
background: #f8f8f8;
.mainbtn {
.thebtn1 {
background: #3181e5;
color: #ffffff;
}
.thebtn2 {
background: #ffad41;
color: #ffffff;
}
}
.maintitle {
font-size: 10px;
font-family: MicrosoftYaHei;
color: #999999;
}
}
}
.tem {
display: flex;
align-items: center;
justify-content: center;
img {
width: 28px;
height: 20px;
margin-right: 3px;
}
}
.isRed {
color: #ed1d25;
}
.isGreen {
color: #1ab62b;
}
.bgImg {
width: 48px;
height: 48px;
}
}
.openClose {
text-align: right;
margin-right: 10px;
color: #3181e5;
}
.dizhi {
::v-deep .el-cascader {
width: 100%;
}
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: auto;
}
::v-deep .el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: auto;
}
.form_all ::v-deep .el-input__suffix {
top: 0px !important;
}
.form_all ::v-deep .el-select .el-input .el-select__caret.is-reverse {
transform: translateY(0px) !important;
}
::v-deep .el-input__suffix {
top: -3px;
}
::v-deep .el-select .el-input__suffix {
top: 5px;
}
::v-deep .el-select .el-input .el-select__caret.is-reverse {
transform: translateY(-8px);
}
::v-deep .el-cascader .el-input__suffix {
top: 0px;
}
::v-deep .el-input__clear {
margin-bottom: 20px !important;
}
.disFlex {
display: flex;
align-items: center;
justify-content: space-between;
}
.allTab {
max-height: 600px;
overflow-y: auto;
}
</style>