fix(主播成员): 删除主播接口的参数调整

This commit is contained in:
hzj 2025-11-11 18:10:56 +08:00
parent 64876ec4f7
commit 36d28f6416

View File

@ -14,7 +14,9 @@
:label="item.label"
:value="item.value"
>
<span style="float: left;"> <sys-origin-icon :icon="item.value" :desc="item.value" /></span>
<span style="float: left;">
<sys-origin-icon :icon="item.value" :desc="item.value"
/></span>
<span style="float: left;margin-left:10px">{{ item.label }}</span>
</el-option>
</el-select>
@ -36,10 +38,18 @@
</el-select>
<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 class="filter-item">
<account-input v-model="listQuery.memberId" :sys-origin="listQuery.sysOrigin" placeholder="成员ID" />
<account-input
v-model="listQuery.memberId"
:sys-origin="listQuery.sysOrigin"
placeholder="成员ID"
/>
</div>
<div class="filter-item">
<el-input v-model="listQuery.notActiveDays" placeholder="不活跃天数" />
@ -68,12 +78,12 @@
class="filter-item"
type="primary"
icon="el-icon-edit"
@click="teamMebmerAddVisible=true"
@click="teamMebmerAddVisible = true"
>
新增
</el-button>
<el-button
v-if="(selectTableRow.length > 0)"
v-if="selectTableRow.length > 0"
class="filter-item"
type="danger"
icon="el-icon-delete"
@ -93,7 +103,6 @@
highlight-current-row
@selection-change="selectTableChange"
>
<el-table-column type="index" width="50" label="No" />
<el-table-column
type="selection"
@ -101,28 +110,71 @@
show-overflow-tooltip
:selectable="tableSelectable"
/>
<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">
<user-table-exhibit :user-profile="scope.row.ownUserProfile" :query-details="true" />
<user-table-exhibit
:user-profile="scope.row.ownUserProfile"
:query-details="true"
/>
</template>
</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">
<user-table-exhibit :user-profile="scope.row.userProfile" :query-details="true" :show-sys-origin="true" :tag-name="memberRoleMap[scope.row.role].name" />
<user-table-exhibit
:user-profile="scope.row.userProfile"
:query-details="true"
:show-sys-origin="true"
:tag-name="memberRoleMap[scope.row.role].name"
/>
</template>
</el-table-column>
<el-table-column label="备注" prop="remarks" align="center" show-overflow-tooltip min-width="200" />
<el-table-column
label="备注"
prop="remarks"
align="center"
show-overflow-tooltip
min-width="200"
/>
<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">
<user-table-exhibit v-if="scope.row.createUserProfile" :user-profile="scope.row.createUserProfile" :query-details="true" />
<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>
<user-table-exhibit
v-if="scope.row.createUserProfile"
:user-profile="scope.row.createUserProfile"
:query-details="true"
/>
<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>
</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">
<div>创建: {{ scope.row.createTime | dateFormat }}</div>
<div>活跃: {{ scope.row.activeTime | dateFormat }}</div>
@ -135,10 +187,24 @@
<i class="el-icon-more" />
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-if="scope.row.role !== 'OWN'" @click.native="clickMemberTeamChange(scope.row)">更换团队</el-dropdown-item>
<el-dropdown-item v-if="scope.row.role !== 'OWN'" :disabled="delLoading" @click.native="clickRemoveMember(scope.row)">删除成员</el-dropdown-item>
<el-dropdown-item @click.native="clickEditMemberRemarks(scope.row)">修改备注</el-dropdown-item>
<el-dropdown-item @click.native="clickResetTarget(scope.row)">重置目标</el-dropdown-item>
<el-dropdown-item
v-if="scope.row.role !== 'OWN'"
@click.native="clickMemberTeamChange(scope.row)"
>更换团队</el-dropdown-item
>
<el-dropdown-item
v-if="scope.row.role !== 'OWN'"
:disabled="delLoading"
@click.native="clickRemoveMember(scope.row)"
>删除成员</el-dropdown-item
>
<el-dropdown-item
@click.native="clickEditMemberRemarks(scope.row)"
>修改备注</el-dropdown-item
>
<el-dropdown-item @click.native="clickResetTarget(scope.row)"
>重置目标</el-dropdown-item
>
</el-dropdown-menu>
</el-dropdown>
</template>
@ -146,60 +212,72 @@
</el-table>
<div v-if="listQuery.lastId" class="load-more">
<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>
<team-member-add
v-if="teamMebmerAddVisible"
:sys-origin="listQuery.sysOrigin"
@close="teamMebmerAddVisible=false"
@close="teamMebmerAddVisible = false"
@success="teamMebmerAddSuccess"
/>
<team-member-remark
v-if="teamMebmerRemarkVisible"
:row="thatRow"
@close="teamMebmerRemarkVisible=false"
@close="teamMebmerRemarkVisible = false"
@success="teamMebmerRemarkSuccess"
/>
<team-member-change
v-if="teamMemberChangeVisible"
:row="thatRow"
@close="teamMemberChangeVisible=false"
@close="teamMemberChangeVisible = false"
@success="teamMemberChangeSuccess"
/>
<team-details-drawer
v-if="teamDetailsDrawerVisible"
:team-id="thatRow.teamProfile.id"
@close="teamDetailsDrawerVisible=false"
@close="teamDetailsDrawerVisible = false"
/>
<team-member-target-reset
v-if="teamMemberTargetResetVisible"
:row="thatRow"
@close="teamMemberTargetResetVisible=false"
@close="teamMemberTargetResetVisible = false"
/>
</div>
</template>
<script>
import { listMemberTable, removeTeamMember } from '@/api/team'
import { pickerOptions } from '@/constant/el-const'
import { sysOriginPlatforms } from '@/constant/origin'
import { teamMemberRoles, teamMemberRoleMap } from '@/constant/team-type'
import { mapGetters } from 'vuex'
import { listMemberTable, removeTeamMember } from "@/api/team";
import { pickerOptions } from "@/constant/el-const";
import { sysOriginPlatforms } from "@/constant/origin";
import { teamMemberRoles, teamMemberRoleMap } from "@/constant/team-type";
import { mapGetters } from "vuex";
import TeamMemberAdd from './team-member-add'
import TeamMemberRemark from './team-member-remark'
import TeamMemberChange from './team-member-change'
import TeamMemberTargetReset from './team-member-target-reset'
import TeamDetailsDrawer from './../components/TeamDetailsDrawer'
import TeamMemberAdd from "./team-member-add";
import TeamMemberRemark from "./team-member-remark";
import TeamMemberChange from "./team-member-change";
import TeamMemberTargetReset from "./team-member-target-reset";
import TeamDetailsDrawer from "./../components/TeamDetailsDrawer";
export default {
components: { TeamMemberTargetReset, TeamMemberAdd, TeamMemberRemark, TeamMemberChange, TeamDetailsDrawer },
components: {
TeamMemberTargetReset,
TeamMemberAdd,
TeamMemberRemark,
TeamMemberChange,
TeamDetailsDrawer
},
data() {
return {
teamMemberTargetResetVisible: false,
@ -214,30 +292,30 @@ export default {
delLoading: false,
selectMemberIds: [],
pickerOptions,
cardTeamId: '',
cardSysOrigin: '',
cardTeamId: "",
cardSysOrigin: "",
listQuery: {
limit: 20,
teamId: '',
memberId: '',
sysOrigin: '',
role: '',
lastId: '',
startTime: '',
endTime: '',
notActiveDays: '',
ownUserId: ''
teamId: "",
memberId: "",
sysOrigin: "",
role: "",
lastId: "",
startTime: "",
endTime: "",
notActiveDays: "",
ownUserId: ""
},
listLoading: false,
list: [],
notData: false,
loadMoreLoading: false,
rangeDate: '',
rangeDate: "",
selectTableRow: []
}
};
},
computed: {
...mapGetters(['permissionsSysOriginPlatforms'])
...mapGetters(["permissionsSysOriginPlatforms"])
},
watch: {
rangeDate: {
@ -245,162 +323,174 @@ export default {
deep: true,
handler(newVal) {
if (newVal && newVal.length > 0) {
this.listQuery.startTime = newVal[0]
this.listQuery.endTime = newVal[1]
return
this.listQuery.startTime = newVal[0];
this.listQuery.endTime = newVal[1];
return;
}
this.listQuery.startTime = ''
this.listQuery.endTime = ''
this.listQuery.startTime = "";
this.listQuery.endTime = "";
}
}
},
created() {
const that = this
const querySystem = this.permissionsSysOriginPlatforms[0]
const that = this;
const querySystem = this.permissionsSysOriginPlatforms[0];
if (!querySystem) {
return
return;
}
that.listQuery.sysOrigin = querySystem.value
that.renderData()
that.listQuery.sysOrigin = querySystem.value;
that.renderData();
},
methods: {
renderData(isReset, loadMore) {
const that = this
const that = this;
if (isReset === true) {
that.list = []
that.notData = false
that.listQuery.lastId = ''
that.list = [];
that.notData = false;
that.listQuery.lastId = "";
}
that.loadMoreLoading = loadMore
that.listLoading = !loadMore
listMemberTable(that.listQuery).then(res => {
that.listLoading = false
that.loadMoreLoading = false
const { body } = res
const list = body || []
that.notData = list.length <= 0
if (!that.notData) {
that.list = that.list.concat(list)
that.listQuery.lastId = that.list[that.list.length - 1].id
}
}).catch(er => {
that.listLoading = false
that.loadMoreLoading = false
})
that.loadMoreLoading = loadMore;
that.listLoading = !loadMore;
listMemberTable(that.listQuery)
.then(res => {
that.listLoading = false;
that.loadMoreLoading = false;
const { body } = res;
const list = body || [];
that.notData = list.length <= 0;
if (!that.notData) {
that.list = that.list.concat(list);
that.listQuery.lastId = that.list[that.list.length - 1].id;
}
})
.catch(er => {
that.listLoading = false;
that.loadMoreLoading = false;
});
},
handleSearch() {
this.renderData(true)
this.renderData(true);
},
clickLoadMore() {
const that = this
that.loadMoreLoading = true
that.renderData(false, true)
const that = this;
that.loadMoreLoading = true;
that.renderData(false, true);
},
clickEditMemberRemarks(row) {
this.thatRow = row
this.teamMebmerRemarkVisible = true
this.thatRow = row;
this.teamMebmerRemarkVisible = true;
},
clickResetTarget(row) {
this.thatRow = row
this.teamMemberTargetResetVisible = true
this.thatRow = row;
this.teamMemberTargetResetVisible = true;
},
clickMemberTeamChange(row) {
this.thatRow = row
this.teamMemberChangeVisible = row
this.thatRow = row;
this.teamMemberChangeVisible = row;
},
clickRemoveMember(row, index) {
const that = this
const that = this;
if (that.delLoading) {
that.$opsMessage.warn('正在提交处理中!')
return
that.$opsMessage.warn("正在提交处理中!");
return;
}
that.$confirm('是否确认删除, 本期账单工作数据将会同步移除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that.delLoading = true
removeTeamMember({ ids: [row.id] }).then(res => {
that.$opsMessage.success()
that.delLoading = false
that.list.splice(index, 1)
that.listQuery.lastId = that.list[that.list.length - 1].id
this.$refs.teamTable.clearSelection()
that
.$confirm("是否确认删除, 本期账单工作数据将会同步移除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
}).catch(() => {
that.delLoading = false
})
.then(() => {
that.delLoading = true;
removeTeamMember({ ids: [row.id] }).then(res => {
that.$opsMessage.success();
that.delLoading = false;
that.list.splice(index, 1);
that.listQuery.lastId = that.list[that.list.length - 1].id;
this.$refs.teamTable.clearSelection();
});
})
.catch(() => {
that.delLoading = false;
});
},
//
clickRemoveMemberBatch() {
const that = this
const that = this;
if (that.delLoading) {
that.$opsMessage.warn('正在提交处理中!')
return
that.$opsMessage.warn("正在提交处理中!");
return;
}
that.selectMemberIds = that.selectTableRow.map(item => item.id)
that.$confirm('是否确认删除, 本期账单工作数据将会同步移除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that.delLoading = true
removeTeamMember({ ids: that.selectMemberIds }).then(res => {
that.$opsMessage.success()
that.delLoading = false
const processMemberIdStr = that.selectMemberIds.join(',')
const newList = []
that.list.forEach(row => {
if (processMemberIdStr.indexOf(row.id) < 0) {
newList.push(row)
}
})
that.list = newList
that.listQuery.lastId = that.list[that.list.length - 1].id
this.$refs.teamTable.clearSelection()
that.selectMemberIds = that.selectTableRow.map(
item => item.userProfile.id
);
that
.$confirm("是否确认删除, 本期账单工作数据将会同步移除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
}).catch(() => {
that.delLoading = false
})
.then(() => {
that.delLoading = true;
removeTeamMember({ ids: that.selectMemberIds }).then(res => {
that.$opsMessage.success();
that.delLoading = false;
const processMemberIdStr = that.selectMemberIds.join(",");
const newList = [];
that.list.forEach(row => {
if (processMemberIdStr.indexOf(row.id) < 0) {
newList.push(row);
}
});
that.list = newList;
that.listQuery.lastId = that.list[that.list.length - 1].id;
this.$refs.teamTable.clearSelection();
});
})
.catch(() => {
that.delLoading = false;
});
},
teamMebmerAddSuccess() {
this.$opsMessage.success()
this.teamMebmerAddVisible = false
this.renderData(true)
this.$opsMessage.success();
this.teamMebmerAddVisible = false;
this.renderData(true);
},
teamMebmerRemarkSuccess(form) {
this.$opsMessage.success()
this.teamMebmerRemarkVisible = false
this.thatRow.remarks = form.remarks
this.$opsMessage.success();
this.teamMebmerRemarkVisible = false;
this.thatRow.remarks = form.remarks;
},
teamMemberChangeSuccess(res) {
const that = this
that.$opsMessage.success()
const that = this;
that.$opsMessage.success();
if (res) {
const newList = []
const newList = [];
that.list.forEach(item => {
newList.push(item.id !== that.thatRow.id ? item : res)
})
that.list = newList
that.teamMemberChangeVisible = false
newList.push(item.id !== that.thatRow.id ? item : res);
});
that.list = newList;
that.teamMemberChangeVisible = false;
}
},
editTeamProfile(row) {
this.thatRow = row
this.teamEditVisible = true
this.thatRow = row;
this.teamEditVisible = true;
},
selectTableChange(list) {
this.selectTableRow = list
this.selectTableRow = list;
},
tableSelectable(row) {
return row.role !== 'OWN'
return row.role !== "OWN";
},
clickQueryTeamDetails(row) {
this.thatRow = row
this.teamDetailsDrawerVisible = true
this.thatRow = row;
this.teamDetailsDrawerVisible = true;
}
}
}
};
</script>
<style scoped lang="scss">
.load-more {