feat(代理列表-->修改资料组件): 新增“允许提现”开关

This commit is contained in:
hzj 2026-03-20 14:35:50 +08:00
parent 2cb47b411f
commit 82b05d21ac
2 changed files with 410 additions and 206 deletions

View File

@ -1,6 +1,7 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div v-if="isQueryPermissions"> <div v-if="isQueryPermissions">
<!-- 搜索栏 -->
<div class="filter-container"> <div class="filter-container">
<div class="filter-item" style="width: 120px;"> <div class="filter-item" style="width: 120px;">
<sys-origin-permission-select <sys-origin-permission-select
@ -35,15 +36,21 @@
:value="item.value" :value="item.value"
/> />
</el-select> </el-select>
</div> </div>
<div class="filter-item"> <div class="filter-item">
<account-input v-model="listQuery.ownUserId" :sys-origin="listQuery.sysOrigin" placeholder="代理ID" /> <account-input
v-model="listQuery.ownUserId"
:sys-origin="listQuery.sysOrigin"
placeholder="代理ID"
/>
</div> </div>
<div class="filter-item"> <div class="filter-item">
<el-input v-model="listQuery.memberQuantityRange" placeholder="开始~结束成员数量" /> <el-input
v-model="listQuery.memberQuantityRange"
placeholder="开始~结束成员数量"
/>
</div> </div>
<div class="filter-item"> <div class="filter-item">
<el-date-picker <el-date-picker
@ -88,12 +95,15 @@
class="filter-item" class="filter-item"
type="primary" type="primary"
icon="el-icon-edit" icon="el-icon-edit"
@click="teamCreateVisible=true" @click="teamCreateVisible = true"
> >
新增 新增
</el-button> </el-button>
<el-button <el-button
v-if="(selectTableRow.length > 0) && buttonPermissions.includes('team:list:del')" v-if="
selectTableRow.length > 0 &&
buttonPermissions.includes('team:list:del')
"
class="filter-item" class="filter-item"
type="danger" type="danger"
icon="el-icon-delete" icon="el-icon-delete"
@ -104,6 +114,8 @@
删除 删除
</el-button> </el-button>
</div> </div>
<!-- 表单 -->
<el-table <el-table
ref="teamTable" ref="teamTable"
v-loading="listLoading" v-loading="listLoading"
@ -113,55 +125,141 @@
highlight-current-row highlight-current-row
@selection-change="selectTableChange" @selection-change="selectTableChange"
> >
<el-table-column type="index" width="50" label="No" /> <el-table-column type="index" width="50" label="No" />
<el-table-column type="selection" width="50" show-overflow-tooltip /> <el-table-column type="selection" width="50" show-overflow-tooltip />
<el-table-column label="代理" align="left" min-width="220" show-overflow-tooltip> <el-table-column
label="代理"
align="left"
min-width="220"
show-overflow-tooltip
>
<template slot-scope="scope"> <template slot-scope="scope">
<user-table-exhibit :size="scope.row.bdUserProfile ? 'mini' : 'small'" :user-profile="scope.row.ownUserProfile" :query-details="true" /> <user-table-exhibit
:size="scope.row.bdUserProfile ? 'mini' : 'small'"
:user-profile="scope.row.ownUserProfile"
:query-details="true"
/>
<div v-if="scope.row.bdUserProfile" class="attached"> <div v-if="scope.row.bdUserProfile" class="attached">
<user-table-exhibit size="mini" :user-profile="scope.row.bdUserProfile" :query-details="true" tag-name="BD" /> <user-table-exhibit
size="mini"
:user-profile="scope.row.bdUserProfile"
:query-details="true"
tag-name="BD"
/>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="信息" align="left" show-overflow-tooltip min-width="150"> <el-table-column
label="信息"
align="left"
show-overflow-tooltip
min-width="150"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div>成员: {{ (scope.row.teamProfile.counter || {}).memberQuantity }}/{{ (scope.row.teamProfile.setting || {}).maxMember }}</div> <div>
<div>状态: 成员:
<el-tag v-if="scope.row.teamProfile.status === 'AVAILABLE'" size="mini" type="success">正常</el-tag> {{ (scope.row.teamProfile.counter || {}).memberQuantity }}/{{
<el-tag v-if="scope.row.teamProfile.status === 'CLOSE'" size="mini" type="danger">关闭</el-tag> (scope.row.teamProfile.setting || {}).maxMember
}}
</div>
<div>
状态:
<el-tag
v-if="scope.row.teamProfile.status === 'AVAILABLE'"
size="mini"
type="success"
>正常</el-tag
>
<el-tag
v-if="scope.row.teamProfile.status === 'CLOSE'"
size="mini"
type="danger"
>关闭</el-tag
>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="left" show-overflow-tooltip min-width="100" prop="regionName" label="区域" /> <el-table-column
align="left"
show-overflow-tooltip
min-width="100"
prop="regionName"
label="区域"
/>
<el-table-column align="left" show-overflow-tooltip min-width="80" label="备注"> <el-table-column
align="left"
show-overflow-tooltip
min-width="80"
label="备注"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div> <el-link @click.native="editTeamRemark(scope.row)">{{ scope.row.teamProfile.remarks.length }}</el-link></div> <div>
<el-link @click.native="editTeamRemark(scope.row)">{{
scope.row.teamProfile.remarks.length
}}</el-link>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="创建人" align="left" show-overflow-tooltip min-width="220"> <el-table-column
label="创建人"
align="left"
show-overflow-tooltip
min-width="220"
>
<template slot-scope="scope"> <template slot-scope="scope">
<user-table-exhibit v-if="scope.row.createUserProfile" :user-profile="scope.row.createUserProfile" :query-details="true" :tag-name="scope.row.createUserBdRoles ? 'BD': ''" /> <user-table-exhibit
<div v-else-if="scope.row.createUserNickname" class="flex-l"> <avatar :name-avatar="scope.row.createUserNickname" /> <span style="margin-left: 10px;">{{ scope.row.createUserNickname }}</span></div> v-if="scope.row.createUserProfile"
:user-profile="scope.row.createUserProfile"
:query-details="true"
:tag-name="scope.row.createUserBdRoles ? 'BD' : ''"
/>
<div v-else-if="scope.row.createUserNickname" class="flex-l">
<avatar :name-avatar="scope.row.createUserNickname" />
<span style="margin-left: 10px;">{{
scope.row.createUserNickname
}}</span>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="修改人" align="left" show-overflow-tooltip min-width="220"> <el-table-column
label="修改人"
align="left"
show-overflow-tooltip
min-width="220"
>
<template slot-scope="scope"> <template slot-scope="scope">
<user-table-exhibit v-if="scope.row.updateUserProfile" :user-profile="scope.row.updateUserProfile" :query-details="true" :tag-name="scope.row.updateUserBdRoles ? 'BD': ''" /> <user-table-exhibit
<div v-else-if="scope.row.updateUserNickname" class="flex-l"> <avatar :name-avatar="scope.row.updateUserNickname" /> <span style="margin-left: 10px;">{{ scope.row.updateUserNickname }}</span></div> v-if="scope.row.updateUserProfile"
:user-profile="scope.row.updateUserProfile"
:query-details="true"
:tag-name="scope.row.updateUserBdRoles ? 'BD' : ''"
/>
<div v-else-if="scope.row.updateUserNickname" class="flex-l">
<avatar :name-avatar="scope.row.updateUserNickname" />
<span style="margin-left: 10px;">{{
scope.row.updateUserNickname
}}</span>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="时间" align="center" show-overflow-tooltip min-width="220"> <el-table-column
label="时间"
align="center"
show-overflow-tooltip
min-width="220"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div>创建: {{ scope.row.teamProfile.createTime | dateFormat }}</div> <div>创建: {{ scope.row.teamProfile.createTime | dateFormat }}</div>
<div>修改: {{ scope.row.teamProfile.updateTime | dateFormat }}</div> <div>修改: {{ scope.row.teamProfile.updateTime | dateFormat }}</div>
</template> </template>
</el-table-column> </el-table-column>
<!-- 操作 -->
<el-table-column fixed="right" label="操作" align="center" width="100"> <el-table-column fixed="right" label="操作" align="center" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-dropdown> <el-dropdown>
@ -169,45 +267,88 @@
<i class="el-icon-more" /> <i class="el-icon-more" />
</span> </span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="clickQueryTeamDetails(scope.row)">资料详情</el-dropdown-item> <el-dropdown-item
<el-dropdown-item v-if="buttonPermissions.includes('team:list:edit')" @click.native="editTeamProfile(scope.row)">修改资料</el-dropdown-item> @click.native="clickQueryTeamDetails(scope.row)"
<el-dropdown-item v-if="buttonPermissions.includes('team:list:bind:bd')" @click.native="clickBindBd(scope.row)">绑定BD</el-dropdown-item> >资料详情</el-dropdown-item
<el-dropdown-item v-if="buttonPermissions.includes('team:list:edit')" @click.native="editTeamRemark(scope.row)">备注信息</el-dropdown-item> >
<el-dropdown-item v-if="buttonPermissions.includes('team:list:edit')" @click.native="editTeamContact(scope.row)">联系方式</el-dropdown-item> <el-dropdown-item
v-if="buttonPermissions.includes('team:list:edit')"
@click.native="editTeamProfile(scope.row)"
>修改资料</el-dropdown-item
>
<el-dropdown-item
v-if="buttonPermissions.includes('team:list:bind:bd')"
@click.native="clickBindBd(scope.row)"
>绑定BD</el-dropdown-item
>
<el-dropdown-item
v-if="buttonPermissions.includes('team:list:edit')"
@click.native="editTeamRemark(scope.row)"
>备注信息</el-dropdown-item
>
<el-dropdown-item
v-if="buttonPermissions.includes('team:list:edit')"
@click.native="editTeamContact(scope.row)"
>联系方式</el-dropdown-item
>
<!-- <el-dropdown-item :disabled="statusChangeLoading" @click.native="clickChangeTeamStatus(scope.row)">状态变更</el-dropdown-item> --> <!-- <el-dropdown-item :disabled="statusChangeLoading" @click.native="clickChangeTeamStatus(scope.row)">状态变更</el-dropdown-item> -->
<el-dropdown-item v-if="buttonPermissions.includes('team:list:send:notice')" @click.native="handleNoticeSend(scope.row)">发送通知</el-dropdown-item> <el-dropdown-item
<el-dropdown-item v-if="buttonPermissions.includes('team:list:query:send:notice')" @click.native="handleNoticeList(scope.row)">通知记录</el-dropdown-item> v-if="buttonPermissions.includes('team:list:send:notice')"
@click.native="handleNoticeSend(scope.row)"
>发送通知</el-dropdown-item
>
<el-dropdown-item
v-if="
buttonPermissions.includes('team:list:query:send:notice')
"
@click.native="handleNoticeList(scope.row)"
>通知记录</el-dropdown-item
>
<!-- <el-dropdown-item>账单信息-未实现</el-dropdown-item> --> <!-- <el-dropdown-item>账单信息-未实现</el-dropdown-item> -->
<el-dropdown-item v-if="buttonPermissions.includes('team:list:query:apply')" @click.native="handleApplicationProcess(scope.row)">团队申请</el-dropdown-item> <el-dropdown-item
v-if="buttonPermissions.includes('team:list:query:apply')"
@click.native="handleApplicationProcess(scope.row)"
>团队申请</el-dropdown-item
>
<!-- <el-dropdown-item v-if="buttonPermissions.includes('team:list:query:approval')" @click.native="handleApplicationProcessApprova(scope.row)">审核日志</el-dropdown-item> --> <!-- <el-dropdown-item v-if="buttonPermissions.includes('team:list:query:approval')" @click.native="handleApplicationProcessApprova(scope.row)">审核日志</el-dropdown-item> -->
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 加载更多 -->
<div v-if="listQuery.lastId" class="load-more"> <div v-if="listQuery.lastId" class="load-more">
<span v-if="notData">已加载全部</span> <span v-if="notData">已加载全部</span>
<el-button v-else size="mini" :disabled="loadMoreLoading" :loading="loadMoreLoading" @click="clickLoadMore">加载更多</el-button> <el-button
v-else
size="mini"
:disabled="loadMoreLoading"
:loading="loadMoreLoading"
@click="clickLoadMore"
>加载更多</el-button
>
</div> </div>
<team-create <team-create
v-if="teamCreateVisible" v-if="teamCreateVisible"
:sys-origin="listQuery.sysOrigin" :sys-origin="listQuery.sysOrigin"
@success="teamCreateSuccess" @success="teamCreateSuccess"
@close="teamCreateVisible=false" @close="teamCreateVisible = false"
/> />
<!-- 修改资料组件 -->
<team-edit <team-edit
v-if="teamEditVisible" v-if="teamEditVisible"
:profile="thatRow.teamProfile" :profile="thatRow.teamProfile"
@success="teamEditSuccess" @success="teamEditSuccess"
@close="teamEditVisible=false" @close="teamEditVisible = false"
/> />
<team-remark <team-remark
v-if="teamRemarkVisible" v-if="teamRemarkVisible"
:profile="thatRow.teamProfile" :profile="thatRow.teamProfile"
@close="teamRemarkVisible=false" @close="teamRemarkVisible = false"
@addRemarks="addRemarks" @addRemarks="addRemarks"
@revemoRemarks="revemoRemarks" @revemoRemarks="revemoRemarks"
/> />
@ -215,7 +356,7 @@
<team-contact <team-contact
v-if="teamContactVisible" v-if="teamContactVisible"
:profile="thatRow.teamProfile" :profile="thatRow.teamProfile"
@close="teamContactVisible=false" @close="teamContactVisible = false"
@addContact="addContact" @addContact="addContact"
@revemoContact="revemoContact" @revemoContact="revemoContact"
/> />
@ -224,83 +365,103 @@
v-if="teamStatusVisible" v-if="teamStatusVisible"
:team-ids="changeTeamIds" :team-ids="changeTeamIds"
:status="changeTeamStatus" :status="changeTeamStatus"
@close="teamStatusVisible=false" @close="teamStatusVisible = false"
@success="teamStatusSuccess" @success="teamStatusSuccess"
/> />
<team-notice-send-drawer <team-notice-send-drawer
v-if="noticeSendVisible" v-if="noticeSendVisible"
:team-id="currentClickTeamId" :team-id="currentClickTeamId"
@close="noticeSendVisible=false" @close="noticeSendVisible = false"
/> />
<team-notice-list-drawer <team-notice-list-drawer
v-if="noticeListVisible" v-if="noticeListVisible"
:team-id="currentClickTeamId" :team-id="currentClickTeamId"
@close="noticeListVisible=false" @close="noticeListVisible = false"
/> />
<team-application-process-drawer <team-application-process-drawer
v-if="applicationProcessVisible" v-if="applicationProcessVisible"
:team-id="currentClickTeamId" :team-id="currentClickTeamId"
@close="applicationProcessVisible=false" @close="applicationProcessVisible = false"
/> />
<process-approval-drawer <process-approval-drawer
v-if="applicationProcessApprovaVisible" v-if="applicationProcessApprovaVisible"
:team-id="currentClickTeamId" :team-id="currentClickTeamId"
:sys-origin="currentClickSysOrigin" :sys-origin="currentClickSysOrigin"
@close="applicationProcessApprovaVisible=false" @close="applicationProcessApprovaVisible = false"
/> />
<team-details-drawer <team-details-drawer
v-if="teamDetailsDrawerVisible" v-if="teamDetailsDrawerVisible"
:team-id="thatRow.teamProfile.id" :team-id="thatRow.teamProfile.id"
@close="teamDetailsDrawerVisible=false" @close="teamDetailsDrawerVisible = false"
/> />
<team-switch-own <team-switch-own
v-if="teamSwitchOwnVisible" v-if="teamSwitchOwnVisible"
:profile="thatRow.teamProfile" :profile="thatRow.teamProfile"
@close="teamSwitchOwnVisible=false" @close="teamSwitchOwnVisible = false"
@success="teamSwitchSuccess" @success="teamSwitchSuccess"
/> />
<bind-bd <bind-bd
v-if="teamBindBdDrawerVisible" v-if="teamBindBdDrawerVisible"
:row="thatRow" :row="thatRow"
@close="teamBindBdDrawerVisible=false" @close="teamBindBdDrawerVisible = false"
/> />
</div> </div>
<div v-else v-loading.lock="listLoading" element-loading-background="#FFFFFF" element-loading-text="权限验证中..." style="text-align: center;"> <div
抱歉您无权查看请联系管理员开通查看权限 主播中心/代理列表:(team:list:query:all/team:list:query:self) v-else
v-loading.lock="listLoading"
element-loading-background="#FFFFFF"
element-loading-text="权限验证中..."
style="text-align: center;"
>
抱歉您无权查看请联系管理员开通查看权限
主播中心/代理列表:(team:list:query:all/team:list:query:self)
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { listTeamTable, delTeamBatch } from '@/api/team' import { listTeamTable, delTeamBatch } from "@/api/team";
import { pickerOptions } from '@/constant/el-const' import { pickerOptions } from "@/constant/el-const";
import { sysOriginPlatforms } from '@/constant/origin' import { sysOriginPlatforms } from "@/constant/origin";
import { teamStatus } from '@/constant/team-type' import { teamStatus } from "@/constant/team-type";
import TeamCreate from './../components/TeamCreate' import TeamCreate from "./../components/TeamCreate";
import TeamEdit from './team-edit' import TeamEdit from "./team-edit";
import TeamRemark from './team-remark' import TeamRemark from "./team-remark";
import TeamContact from './team-contact' import TeamContact from "./team-contact";
import TeamStatus from './team-status' import TeamStatus from "./team-status";
import TeamNoticeSendDrawer from './team-notice-send-drawer' import TeamNoticeSendDrawer from "./team-notice-send-drawer";
import TeamNoticeListDrawer from './team-notice-list-drawer' import TeamNoticeListDrawer from "./team-notice-list-drawer";
import TeamApplicationProcessDrawer from './team-application-process-drawer' import TeamApplicationProcessDrawer from "./team-application-process-drawer";
import ProcessApprovalDrawer from './../components/ProcessApprovalDrawer' import ProcessApprovalDrawer from "./../components/ProcessApprovalDrawer";
import TeamDetailsDrawer from './../components/TeamDetailsDrawer' import TeamDetailsDrawer from "./../components/TeamDetailsDrawer";
import TeamSwitchOwn from './team-switch-own' import TeamSwitchOwn from "./team-switch-own";
import BindBd from './bind-bd' import BindBd from "./bind-bd";
import { listMembers } from '@/api/team' import { listMembers } from "@/api/team";
import { mapGetters } from 'vuex' import { mapGetters } from "vuex";
export default { export default {
name: 'TeamTable', name: "TeamTable",
components: { TeamSwitchOwn, TeamDetailsDrawer, TeamEdit, TeamCreate, TeamRemark, TeamContact, TeamStatus, TeamNoticeSendDrawer, TeamNoticeListDrawer, TeamApplicationProcessDrawer, ProcessApprovalDrawer, BindBd }, components: {
TeamSwitchOwn,
TeamDetailsDrawer,
TeamEdit,
TeamCreate,
TeamRemark,
TeamContact,
TeamStatus,
TeamNoticeSendDrawer,
TeamNoticeListDrawer,
TeamApplicationProcessDrawer,
ProcessApprovalDrawer,
BindBd
},
data() { data() {
return { return {
teamBindBdDrawerVisible: false, teamBindBdDrawerVisible: false,
@ -321,39 +482,47 @@ export default {
applicationProcessVisible: false, applicationProcessVisible: false,
applicationProcessApprovaVisible: false, applicationProcessApprovaVisible: false,
changeTeamIds: [], changeTeamIds: [],
changeTeamStatus: '', changeTeamStatus: "",
teamStatus, teamStatus,
pickerOptions, pickerOptions,
currentClickTeamId: '', currentClickTeamId: "",
currentClickSysOrigin: '', currentClickSysOrigin: "",
listQuery: { listQuery: {
limit: 20, limit: 20,
id: '', id: "",
region: '', region: "",
sysOrigin: '', sysOrigin: "",
account: '', account: "",
ownUserId: '', ownUserId: "",
status: '', status: "",
lastId: '', lastId: "",
startTime: '', startTime: "",
endTime: '', endTime: "",
createUser: '', createUser: "",
memberQuantityRange: '' memberQuantityRange: ""
}, },
listLoading: false, listLoading: false,
list: [], list: [],
notData: false, notData: false,
loadMoreLoading: false, loadMoreLoading: false,
rangeDate: '', rangeDate: "",
selectTableRow: [], selectTableRow: [],
members: [], members: [],
searchLoading: false searchLoading: false
} };
}, },
computed: { computed: {
...mapGetters(['uid', 'buttonPermissions', 'permissionsSysOriginPlatforms', 'permissionsFirstSysOrigin']), ...mapGetters([
"uid",
"buttonPermissions",
"permissionsSysOriginPlatforms",
"permissionsFirstSysOrigin"
]),
isQueryPermissions() { isQueryPermissions() {
return this.buttonPermissions.includes('team:list:query:all') || this.buttonPermissions.includes('team:list:query:self') return (
this.buttonPermissions.includes("team:list:query:all") ||
this.buttonPermissions.includes("team:list:query:self")
);
} }
}, },
watch: { watch: {
@ -362,213 +531,228 @@ export default {
deep: true, deep: true,
handler(newVal) { handler(newVal) {
if (newVal && newVal.length > 0) { if (newVal && newVal.length > 0) {
this.listQuery.startTime = newVal[0] this.listQuery.startTime = newVal[0];
this.listQuery.endTime = newVal[1] this.listQuery.endTime = newVal[1];
return return;
} }
this.listQuery.startTime = '' this.listQuery.startTime = "";
this.listQuery.endTime = '' this.listQuery.endTime = "";
} }
}, },
buttonPermissions: { buttonPermissions: {
handler(newVal) { handler(newVal) {
this.backUserConditionVisible = newVal.includes('team:list:query:all') this.backUserConditionVisible = newVal.includes("team:list:query:all");
if (newVal.includes('team:list:query:self')) { if (newVal.includes("team:list:query:self")) {
if (newVal.includes('team:list:query:all')) { if (newVal.includes("team:list:query:all")) {
return return;
} }
this.listQuery.createUser = this.uid this.listQuery.createUser = this.uid;
this.renderData(true) this.renderData(true);
return return;
} }
}, },
immediate: true immediate: true
} }
}, },
created() { created() {
this.loadMembers() this.loadMembers();
}, },
methods: { methods: {
renderData(isReset, loadMore) { renderData(isReset, loadMore) {
const that = this const that = this;
if (!that.listQuery.sysOrigin) { if (!that.listQuery.sysOrigin) {
return return;
} }
if (isReset === true) { if (isReset === true) {
that.list = [] that.list = [];
that.notData = false that.notData = false;
that.listQuery.lastId = '' that.listQuery.lastId = "";
} }
that.loadMoreLoading = loadMore that.loadMoreLoading = loadMore;
that.listLoading = !that.loadMoreLoading that.listLoading = !that.loadMoreLoading;
listTeamTable(that.listQuery).then(res => { listTeamTable(that.listQuery)
that.listLoading = false .then(res => {
that.loadMoreLoading = false that.listLoading = false;
const { body } = res that.loadMoreLoading = false;
const list = body || [] const { body } = res;
that.notData = list.length <= 0 const list = body || [];
if (!that.notData) { that.notData = list.length <= 0;
that.list = that.list.concat(list) if (!that.notData) {
that.listQuery.lastId = that.list[that.list.length - 1].teamProfile.id that.list = that.list.concat(list);
} that.listQuery.lastId =
}).catch(er => { that.list[that.list.length - 1].teamProfile.id;
that.listLoading = false }
that.loadMoreLoading = false })
}) .catch(er => {
that.listLoading = false;
that.loadMoreLoading = false;
});
}, },
handleSearch() { handleSearch() {
this.renderData(true) this.renderData(true);
}, },
changeRegionSelectPolicy() { changeRegionSelectPolicy() {
this.handleSearch() this.handleSearch();
}, },
clickLoadMore() { clickLoadMore() {
const that = this const that = this;
that.loadMoreLoading = true that.loadMoreLoading = true;
that.renderData(false, true) that.renderData(false, true);
}, },
clickCloseTeamBatch() { clickCloseTeamBatch() {
const that = this const that = this;
if (this.statusChangeLoading) { if (this.statusChangeLoading) {
this.$opsMessage.warn('正在提交中!') this.$opsMessage.warn("正在提交中!");
return return;
} }
that.changeTeamIds = that.selectTableRow.map(item => item.teamProfile.id) that.changeTeamIds = that.selectTableRow.map(item => item.teamProfile.id);
that.changeTeamStatus = 'CLOSE' that.changeTeamStatus = "CLOSE";
// that.teamStatusVisible = true // that.teamStatusVisible = true
that.$confirm('系统将移除团队所有数据, 操作不可逆!!!! (主播工作/账单/团队信息/团队成员/BD关系等所有)', '提示', { that
confirmButtonText: '确定', .$confirm(
cancelButtonText: '取消', "系统将移除团队所有数据, 操作不可逆!!!! (主播工作/账单/团队信息/团队成员/BD关系等所有)",
type: 'warning' "提示",
}).then(() => { {
that.statusChangeLoading = true confirmButtonText: "确定",
delTeamBatch(that.changeTeamIds).then(res => { cancelButtonText: "取消",
that.statusChangeLoading = false type: "warning"
that.$opsMessage.success() }
that.renderData(true) )
}).catch(er => { .then(() => {
that.statusChangeLoading = false that.statusChangeLoading = true;
delTeamBatch(that.changeTeamIds)
.then(res => {
that.statusChangeLoading = false;
that.$opsMessage.success();
that.renderData(true);
})
.catch(er => {
that.statusChangeLoading = false;
});
}) })
}).catch(() => { .catch(() => {});
})
}, },
teamCreateSuccess() { teamCreateSuccess() {
this.$opsMessage.success() this.$opsMessage.success();
this.teamCreateVisible = false this.teamCreateVisible = false;
this.renderData(true) this.renderData(true);
}, },
clickSwitchTeamOwn(row) { clickSwitchTeamOwn(row) {
this.thatRow = row this.thatRow = row;
this.teamSwitchOwnVisible = true this.teamSwitchOwnVisible = true;
}, },
teamSwitchSuccess({ teamId, ownUserProfile }) { teamSwitchSuccess({ teamId, ownUserProfile }) {
this.thatRow.ownUserProfile = ownUserProfile this.thatRow.ownUserProfile = ownUserProfile;
}, },
clickQueryTeamDetails(row) { clickQueryTeamDetails(row) {
this.thatRow = row this.thatRow = row;
this.teamDetailsDrawerVisible = true this.teamDetailsDrawerVisible = true;
}, },
//
editTeamProfile(row) { editTeamProfile(row) {
this.thatRow = row this.thatRow = row;
this.teamEditVisible = true this.teamEditVisible = true;
}, },
editTeamRemark(row) { editTeamRemark(row) {
this.thatRow = row this.thatRow = row;
this.teamRemarkVisible = true this.teamRemarkVisible = true;
}, },
teamEditSuccess(form, selectRegion) { teamEditSuccess(form, selectRegion) {
this.thatRow.teamProfile = form this.thatRow.teamProfile = form;
if (selectRegion) { if (selectRegion) {
this.thatRow.regionName = selectRegion.regionName this.thatRow.regionName = selectRegion.regionName;
} }
this.$opsMessage.success() this.$opsMessage.success();
}, },
addRemarks(remarks) { addRemarks(remarks) {
this.thatRow.teamProfile.remarks.push(remarks) this.thatRow.teamProfile.remarks.push(remarks);
}, },
revemoRemarks(index) { revemoRemarks(index) {
this.thatRow.teamProfile.remarks.splice(index, 1) this.thatRow.teamProfile.remarks.splice(index, 1);
}, },
editTeamContact(row) { editTeamContact(row) {
this.thatRow = row this.thatRow = row;
this.teamContactVisible = true this.teamContactVisible = true;
}, },
addContact(contact) { addContact(contact) {
this.thatRow.teamProfile.contacts.push(contact) this.thatRow.teamProfile.contacts.push(contact);
}, },
revemoContact(index) { revemoContact(index) {
this.thatRow.teamProfile.contacts.splice(index, 1) this.thatRow.teamProfile.contacts.splice(index, 1);
}, },
handleNoticeSend(row) { handleNoticeSend(row) {
this.currentClickTeamId = row.teamProfile.id this.currentClickTeamId = row.teamProfile.id;
this.noticeSendVisible = true this.noticeSendVisible = true;
}, },
handleApplicationProcess(row) { handleApplicationProcess(row) {
this.currentClickTeamId = row.teamProfile.id this.currentClickTeamId = row.teamProfile.id;
this.applicationProcessVisible = true this.applicationProcessVisible = true;
}, },
handleApplicationProcessApprova(row) { handleApplicationProcessApprova(row) {
this.currentClickTeamId = row.teamProfile.id this.currentClickTeamId = row.teamProfile.id;
this.currentClickSysOrigin = row.teamProfile.sysOrigin this.currentClickSysOrigin = row.teamProfile.sysOrigin;
this.applicationProcessApprovaVisible = true this.applicationProcessApprovaVisible = true;
}, },
handleNoticeList(row) { handleNoticeList(row) {
this.currentClickTeamId = row.teamProfile.id this.currentClickTeamId = row.teamProfile.id;
this.noticeListVisible = true this.noticeListVisible = true;
}, },
teamStatusSuccess(form) { teamStatusSuccess(form) {
this.$opsMessage.success() this.$opsMessage.success();
this.$refs.teamTable.clearSelection() this.$refs.teamTable.clearSelection();
form.teamIds.forEach(teamId => { form.teamIds.forEach(teamId => {
const listSize = this.list.length const listSize = this.list.length;
for (let index = 0; index < listSize; index++) { for (let index = 0; index < listSize; index++) {
const row = this.list[index] const row = this.list[index];
if (row.teamProfile && row.teamProfile.id === teamId) { if (row.teamProfile && row.teamProfile.id === teamId) {
row.teamProfile.status = form.status row.teamProfile.status = form.status;
break break;
} }
} }
}) });
this.teamStatusVisible = false this.teamStatusVisible = false;
}, },
clickChangeTeamStatus(row) { clickChangeTeamStatus(row) {
if (this.statusChangeLoading) { if (this.statusChangeLoading) {
this.$opsMessage.warn('正在提交中!') this.$opsMessage.warn("正在提交中!");
return return;
} }
this.thatRow = row this.thatRow = row;
this.changeTeamIds = [row.teamProfile.id] this.changeTeamIds = [row.teamProfile.id];
this.changeTeamStatus = row.teamProfile.status this.changeTeamStatus = row.teamProfile.status;
this.teamStatusVisible = true this.teamStatusVisible = true;
}, },
selectTableChange(list) { selectTableChange(list) {
this.selectTableRow = list this.selectTableRow = list;
}, },
changeSysOrigin() { changeSysOrigin() {
this.$refs.regionSelectPolicy.clearValue() this.$refs.regionSelectPolicy.clearValue();
this.listQuery.region = '' this.listQuery.region = "";
}, },
onLoadPermissionSysOrigin(val) { onLoadPermissionSysOrigin(val) {
const that = this const that = this;
that.renderData(true) that.renderData(true);
}, },
clickBindBd(row) { clickBindBd(row) {
this.thatRow = row.teamProfile this.thatRow = row.teamProfile;
this.teamBindBdDrawerVisible = true this.teamBindBdDrawerVisible = true;
}, },
loadMembers() { loadMembers() {
const that = this const that = this;
that.listMemberLoading = true that.listMemberLoading = true;
listMembers().then(res => { listMembers()
const { body } = res .then(res => {
that.members = body const { body } = res;
that.listMemberLoading = false that.members = body;
}).catch(er => { that.listMemberLoading = false;
that.listMemberLoading = false })
}) .catch(er => {
that.listMemberLoading = false;
});
} }
} }
} };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.load-more { .load-more {

View File

@ -9,6 +9,7 @@
:append-to-body="true" :append-to-body="true"
custom-class="drawer-auto-layout" custom-class="drawer-auto-layout"
> >
<!-- 标题 -->
<div slot="title" class="flex-l"> <div slot="title" class="flex-l">
<sys-origin-icon :icon="profile.sysOrigin" size="18px" />&nbsp;团队资料 <sys-origin-icon :icon="profile.sysOrigin" size="18px" />&nbsp;团队资料
</div> </div>
@ -28,6 +29,7 @@
:rules="formRules" :rules="formRules"
label-width="80px" label-width="80px"
> >
<!-- 区域 -->
<el-form-item prop="region" label="区域"> <el-form-item prop="region" label="区域">
<select-system-region <select-system-region
ref="regionSelectPolicy" ref="regionSelectPolicy"
@ -38,11 +40,14 @@
@change="changeRegionSelectPolicy" @change="changeRegionSelectPolicy"
/> />
</el-form-item> </el-form-item>
<!-- 昵称 -->
<!-- <el-form-item prop="nickname" label="昵称"> <!-- <el-form-item prop="nickname" label="昵称">
<el-input v-model="form.nickname" placeholder="请输入团队昵称" maxlength="24" show-word-limit /> <el-input v-model="form.nickname" placeholder="请输入团队昵称" maxlength="24" show-word-limit />
</el-form-item> </el-form-item> -->
<el-form-item label="封面"> <!-- 封面 -->
<!-- <el-form-item label="封面">
<el-form-item prop="cover"> <el-form-item prop="cover">
<upload-image <upload-image
v-model="form.avatar" v-model="form.avatar"
@ -51,6 +56,7 @@
</el-form-item> </el-form-item>
</el-form-item> --> </el-form-item> -->
<!-- 国家 -->
<el-form-item label="国家" prop="country.countryId"> <el-form-item label="国家" prop="country.countryId">
<contry-select <contry-select
v-model="form.country.countryId" v-model="form.country.countryId"
@ -59,7 +65,10 @@
</el-form-item> </el-form-item>
<div style="padding: 10px 0px;"> <div style="padding: 10px 0px;">
<!-- 小标题 -->
<el-divider content-position="left">设置信息</el-divider> <el-divider content-position="left">设置信息</el-divider>
<!-- 成员数量 -->
<el-form-item prop="setting.maxMember" label="成员数量"> <el-form-item prop="setting.maxMember" label="成员数量">
<el-input <el-input
v-model="form.setting.maxMember" v-model="form.setting.maxMember"
@ -68,6 +77,8 @@
show-word-limit show-word-limit
/> />
</el-form-item> </el-form-item>
<!-- 开关代理接收主播工资 -->
<el-form-item <el-form-item
prop="setting.hostSalaryToAgent" prop="setting.hostSalaryToAgent"
label="代理接收主播工资" label="代理接收主播工资"
@ -78,6 +89,15 @@
:inactive-value="false" :inactive-value="false"
/> />
</el-form-item> </el-form-item>
<!-- 开关允许提现 -->
<el-form-item prop="setting.withdrawalEnabled" label="允许提现">
<el-switch
v-model="form.setting.withdrawalEnabled"
:active-value="true"
:inactive-value="false"
/>
</el-form-item>
</div> </div>
</el-form> </el-form>
</div> </div>