批量按部门修改代理商的寄卖状态,用户状态
This commit is contained in:
@@ -40,3 +40,13 @@ export function rushBuyLbBuyAccount(data) {
|
||||
timeout: 120000
|
||||
})
|
||||
}
|
||||
|
||||
/** 模拟指定租户所有用户抢单 */
|
||||
export function rushBuyAllLbBuyAccount(params) {
|
||||
return request({
|
||||
url: '/lbBuyAccount/simulate-rush-buy_all',
|
||||
method: 'post',
|
||||
params,
|
||||
timeout: 120000
|
||||
})
|
||||
}
|
||||
|
||||
@@ -118,3 +118,25 @@ export function updateHxrAdminUserVipByUserIds(data) {
|
||||
skipResponseNormalize: true
|
||||
})
|
||||
}
|
||||
|
||||
/** 按用户 ID 列表批量修改「是否可寄卖 / 用户状态」(逐条调用第三方管理端,可能较慢) */
|
||||
export function updateHxrAdminUserResellStatusByUserIds(data) {
|
||||
return request({
|
||||
url: '/lbPurchaseApply/updateHxrAdminUserResellStatusByUserIds',
|
||||
method: 'post',
|
||||
data,
|
||||
timeout: 120000,
|
||||
skipResponseNormalize: true
|
||||
})
|
||||
}
|
||||
|
||||
/** 按 member_info 全部用户批量修改「是否可寄卖 / 用户状态」(不接收 id 列表,逐条调用第三方管理端,可能较慢) */
|
||||
export function updateHxrAdminUserResellStatusForAllMembers(data) {
|
||||
return request({
|
||||
url: '/lbPurchaseApply/updateHxrAdminUserResellStatusForAllMembers',
|
||||
method: 'post',
|
||||
data,
|
||||
timeout: 120000,
|
||||
skipResponseNormalize: true
|
||||
})
|
||||
}
|
||||
|
||||
36
src/api/member-info.js
Normal file
36
src/api/member-info.js
Normal file
@@ -0,0 +1,36 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/** 会员信息分页查询(member_info) */
|
||||
export function getMemberInfoList(params) {
|
||||
return request({
|
||||
url: '/memberInfo/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/** 新增会员信息 */
|
||||
export function addMemberInfo(data) {
|
||||
return request({
|
||||
url: '/memberInfo/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 编辑会员信息(须含 id) */
|
||||
export function updateMemberInfo(data) {
|
||||
return request({
|
||||
url: '/memberInfo/update',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/** 删除会员信息 */
|
||||
export function deleteMemberInfo(id) {
|
||||
return request({
|
||||
url: `/memberInfo/delete/${id}`,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
@@ -168,6 +168,31 @@
|
||||
>
|
||||
取消勾选
|
||||
</el-button>
|
||||
<el-button
|
||||
type="info"
|
||||
icon="el-icon-s-check"
|
||||
:disabled="!urgeTreeCheckedUserIds.length"
|
||||
@click="handleUrgeTreeSelectChildren"
|
||||
>
|
||||
选中所有的子
|
||||
</el-button>
|
||||
<el-button
|
||||
type="warning"
|
||||
icon="el-icon-edit-outline"
|
||||
:loading="urgeTreeStatusSubmitLoading"
|
||||
:disabled="!urgeTreeCheckedUserIds.length"
|
||||
@click="openUrgeTreeStatusDialog"
|
||||
>
|
||||
修改状态
|
||||
</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
icon="el-icon-set-up"
|
||||
:loading="urgeTreeAllStatusSubmitLoading"
|
||||
@click="openUrgeTreeAllStatusDialog"
|
||||
>
|
||||
全部修正状态
|
||||
</el-button>
|
||||
<span v-if="urgeTreeCheckedUserIds.length" class="urge-tree-selected-tip">
|
||||
已选 {{ urgeTreeCheckedUserIds.length }} 人
|
||||
</span>
|
||||
@@ -455,6 +480,94 @@
|
||||
<el-button type="primary" :loading="parentBindLoading" @click="confirmParentSelection">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
title="修改状态"
|
||||
:visible.sync="urgeTreeStatusDialogVisible"
|
||||
width="520px"
|
||||
@close="resetUrgeTreeStatusDialog"
|
||||
>
|
||||
<el-form label-width="120px">
|
||||
<el-form-item label="已选用户">
|
||||
<el-input :value="`${urgeTreeStatusSelectedUserIds.length} 人`" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="修改寄卖状态">
|
||||
<el-switch v-model="urgeTreeStatusForm.isResellEnabled" />
|
||||
<span class="urge-tree-status-tip">开启后批量修改「是否可以寄卖」</span>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="urgeTreeStatusForm.isResellEnabled" label="是否可寄卖" required>
|
||||
<el-select v-model="urgeTreeStatusForm.isResell" placeholder="请选择" style="width: 100%">
|
||||
<el-option label="可以寄卖" :value="1" />
|
||||
<el-option label="不可以寄卖" :value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改用户状态">
|
||||
<el-switch v-model="urgeTreeStatusForm.statusEnabled" />
|
||||
<span class="urge-tree-status-tip">开启后批量修改「用户状态」</span>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="urgeTreeStatusForm.statusEnabled" label="用户状态" required>
|
||||
<el-select v-model="urgeTreeStatusForm.status" placeholder="请选择" style="width: 100%">
|
||||
<el-option label="正常" :value="1" />
|
||||
<el-option label="停用" :value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="租户ID">
|
||||
<el-input :value="urgeTreeStatusTenantIdDisplay" disabled placeholder="未获取到租户ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="urgeTreeStatusDialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="urgeTreeStatusSubmitLoading" @click="handleConfirmUrgeTreeStatus">
|
||||
确定
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
title="全部修正状态"
|
||||
:visible.sync="urgeTreeAllStatusDialogVisible"
|
||||
width="520px"
|
||||
@close="resetUrgeTreeAllStatusDialog"
|
||||
>
|
||||
<el-form label-width="120px">
|
||||
<el-alert
|
||||
title="该操作将按 member_info 全部用户批量修改「是否可寄卖 / 用户状态」,逐条调用第三方管理端,可能耗时较长。"
|
||||
type="warning"
|
||||
:closable="false"
|
||||
show-icon
|
||||
style="margin-bottom: 16px"
|
||||
/>
|
||||
<el-form-item label="修改寄卖状态">
|
||||
<el-switch v-model="urgeTreeAllStatusForm.isResellEnabled" />
|
||||
<span class="urge-tree-status-tip">开启后批量修改「是否可以寄卖」</span>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="urgeTreeAllStatusForm.isResellEnabled" label="是否可寄卖" required>
|
||||
<el-select v-model="urgeTreeAllStatusForm.isResell" placeholder="请选择" style="width: 100%">
|
||||
<el-option label="可以寄卖" :value="1" />
|
||||
<el-option label="不可以寄卖" :value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改用户状态">
|
||||
<el-switch v-model="urgeTreeAllStatusForm.statusEnabled" />
|
||||
<span class="urge-tree-status-tip">开启后批量修改「用户状态」</span>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="urgeTreeAllStatusForm.statusEnabled" label="用户状态" required>
|
||||
<el-select v-model="urgeTreeAllStatusForm.status" placeholder="请选择" style="width: 100%">
|
||||
<el-option label="正常" :value="1" />
|
||||
<el-option label="停用" :value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="租户ID">
|
||||
<el-input :value="urgeTreeAllStatusTenantIdDisplay" disabled placeholder="未获取到租户ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="urgeTreeAllStatusDialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="urgeTreeAllStatusSubmitLoading" @click="handleConfirmUrgeTreeAllStatus">
|
||||
确定
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -471,6 +584,7 @@ import {
|
||||
syncLbDepartmentUserFromLbUser,
|
||||
updateLbDepartmentUser
|
||||
} from '@/api/lb-department-user'
|
||||
import { updateHxrAdminUserResellStatusByUserIds, updateHxrAdminUserResellStatusForAllMembers } from '@/api/lb-purchase-apply'
|
||||
import { getBusinessHeaders } from '@/utils/business-headers'
|
||||
|
||||
function getDefaultUrgeTreeQueryParams() {
|
||||
@@ -496,6 +610,25 @@ export default {
|
||||
urgeTreeFilterText: '',
|
||||
urgeTreeCheckedUserIds: [],
|
||||
urgeTreeSyncingChecks: false,
|
||||
urgeTreeStatusDialogVisible: false,
|
||||
urgeTreeStatusSubmitLoading: false,
|
||||
urgeTreeStatusSelectedUserIds: [],
|
||||
urgeTreeStatusTenantIdDisplay: '',
|
||||
urgeTreeStatusForm: {
|
||||
isResellEnabled: false,
|
||||
isResell: 1,
|
||||
statusEnabled: false,
|
||||
status: 1
|
||||
},
|
||||
urgeTreeAllStatusDialogVisible: false,
|
||||
urgeTreeAllStatusSubmitLoading: false,
|
||||
urgeTreeAllStatusTenantIdDisplay: '',
|
||||
urgeTreeAllStatusForm: {
|
||||
isResellEnabled: false,
|
||||
isResell: 1,
|
||||
statusEnabled: false,
|
||||
status: 1
|
||||
},
|
||||
urgeTreeQueryParams: getDefaultUrgeTreeQueryParams(),
|
||||
urgeTreeProps: {
|
||||
children: 'children',
|
||||
@@ -842,6 +975,60 @@ export default {
|
||||
this.urgeTreeSyncingChecks = false
|
||||
})
|
||||
},
|
||||
buildUrgeTreeNodeIndex(nodes, map = {}) {
|
||||
if (!nodes || !nodes.length) return map
|
||||
nodes.forEach((node) => {
|
||||
if (node.userId != null && node.userId !== '') {
|
||||
map[this.normalizeUrgeTreeUserId(node.userId)] = node
|
||||
}
|
||||
if (node.children && node.children.length) {
|
||||
this.buildUrgeTreeNodeIndex(node.children, map)
|
||||
}
|
||||
})
|
||||
return map
|
||||
},
|
||||
collectUrgeTreeDescendantUserIds(node, result = []) {
|
||||
const children = node && node.children
|
||||
if (!children || !children.length) return result
|
||||
children.forEach((child) => {
|
||||
if (child.userId != null && child.userId !== '') {
|
||||
result.push(child.userId)
|
||||
}
|
||||
this.collectUrgeTreeDescendantUserIds(child, result)
|
||||
})
|
||||
return result
|
||||
},
|
||||
handleUrgeTreeSelectChildren() {
|
||||
const tree = this.$refs.urgeTree
|
||||
if (!tree) return
|
||||
this.syncUrgeTreeCheckedFromTree()
|
||||
const checkedKeys = tree.getCheckedKeys()
|
||||
if (!checkedKeys.length) {
|
||||
this.$message.warning('请先勾选节点')
|
||||
return
|
||||
}
|
||||
const nodeIndex = this.buildUrgeTreeNodeIndex(this.urgeTreeData)
|
||||
const descendantIds = []
|
||||
checkedKeys.forEach((key) => {
|
||||
const node = nodeIndex[this.normalizeUrgeTreeUserId(key)]
|
||||
if (node) {
|
||||
this.collectUrgeTreeDescendantUserIds(node, descendantIds)
|
||||
}
|
||||
})
|
||||
const mergedKeys = [...new Set([...checkedKeys, ...descendantIds])]
|
||||
this.urgeTreeSyncingChecks = true
|
||||
tree.setCheckedKeys(mergedKeys)
|
||||
this.syncUrgeTreeCheckedFromTree()
|
||||
this.$nextTick(() => {
|
||||
this.urgeTreeSyncingChecks = false
|
||||
})
|
||||
const addedCount = mergedKeys.length - checkedKeys.length
|
||||
if (addedCount > 0) {
|
||||
this.$message.success(`已选中全部下级,新增 ${addedCount} 人,共 ${mergedKeys.length} 人`)
|
||||
} else {
|
||||
this.$message.info('所选节点没有可追加的下级节点')
|
||||
}
|
||||
},
|
||||
handleUrgeTreeExport() {
|
||||
const tenantId = this.getTenantIdFromBusinessHeaders()
|
||||
if (!tenantId) {
|
||||
@@ -877,6 +1064,165 @@ export default {
|
||||
this.urgeTreeExportLoading = false
|
||||
})
|
||||
},
|
||||
getDefaultUrgeTreeStatusForm() {
|
||||
return {
|
||||
isResellEnabled: false,
|
||||
isResell: 1,
|
||||
statusEnabled: false,
|
||||
status: 1
|
||||
}
|
||||
},
|
||||
openUrgeTreeStatusDialog() {
|
||||
this.syncUrgeTreeCheckedFromTree()
|
||||
const userIds = [...new Set(
|
||||
this.urgeTreeCheckedUserIds.filter((id) => id !== '' && id != null)
|
||||
)]
|
||||
if (!userIds.length) {
|
||||
this.$message.warning('请先勾选要修改状态的用户')
|
||||
return
|
||||
}
|
||||
this.urgeTreeStatusSelectedUserIds = userIds
|
||||
this.urgeTreeStatusTenantIdDisplay = this.getTenantIdFromBusinessHeaders()
|
||||
this.urgeTreeStatusForm = this.getDefaultUrgeTreeStatusForm()
|
||||
this.urgeTreeStatusDialogVisible = true
|
||||
},
|
||||
resetUrgeTreeStatusDialog() {
|
||||
this.urgeTreeStatusSubmitLoading = false
|
||||
this.urgeTreeStatusSelectedUserIds = []
|
||||
this.urgeTreeStatusTenantIdDisplay = ''
|
||||
this.urgeTreeStatusForm = this.getDefaultUrgeTreeStatusForm()
|
||||
},
|
||||
handleConfirmUrgeTreeStatus() {
|
||||
const tenantId = this.getTenantIdFromBusinessHeaders()
|
||||
if (!tenantId) {
|
||||
this.$message.error('未获取到租户ID,请先登录或配置业务请求头中的租户')
|
||||
return
|
||||
}
|
||||
const userIds = (this.urgeTreeStatusSelectedUserIds || [])
|
||||
.map((id) => Number(id))
|
||||
.filter((id) => !Number.isNaN(id))
|
||||
if (!userIds.length) {
|
||||
this.$message.warning('未选择有效用户,请关闭后重新勾选')
|
||||
return
|
||||
}
|
||||
const { isResellEnabled, isResell, statusEnabled, status } = this.urgeTreeStatusForm
|
||||
if (!isResellEnabled && !statusEnabled) {
|
||||
this.$message.warning('请至少开启一项要修改的状态(寄卖状态或用户状态)')
|
||||
return
|
||||
}
|
||||
if (isResellEnabled && isResell !== 0 && isResell !== 1) {
|
||||
this.$message.warning('请选择「是否可以寄卖」的值')
|
||||
return
|
||||
}
|
||||
if (statusEnabled && status !== 0 && status !== 1) {
|
||||
this.$message.warning('请选择「用户状态」的值')
|
||||
return
|
||||
}
|
||||
const payload = {
|
||||
tenantId,
|
||||
userIds,
|
||||
isResellEnabled: !!isResellEnabled,
|
||||
statusEnabled: !!statusEnabled
|
||||
}
|
||||
if (isResellEnabled) {
|
||||
payload.isResell = Number(isResell)
|
||||
}
|
||||
if (statusEnabled) {
|
||||
payload.status = Number(status)
|
||||
}
|
||||
this.urgeTreeStatusSubmitLoading = true
|
||||
updateHxrAdminUserResellStatusByUserIds(payload)
|
||||
.then((res) => {
|
||||
const ok = res && (res.success === true || res.code === 200 || res.code === 20000)
|
||||
if (ok) {
|
||||
this.$message.success((res && res.message) || '修改状态成功')
|
||||
this.urgeTreeStatusDialogVisible = false
|
||||
} else {
|
||||
this.$message.error((res && (res.message || res.msg)) || '修改状态失败')
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
// 错误提示由 @/utils/request 响应拦截器统一展示
|
||||
})
|
||||
.finally(() => {
|
||||
this.urgeTreeStatusSubmitLoading = false
|
||||
})
|
||||
},
|
||||
openUrgeTreeAllStatusDialog() {
|
||||
this.urgeTreeAllStatusTenantIdDisplay = this.getTenantIdFromBusinessHeaders()
|
||||
this.urgeTreeAllStatusForm = {
|
||||
isResellEnabled: false,
|
||||
isResell: 1,
|
||||
statusEnabled: false,
|
||||
status: 1
|
||||
}
|
||||
this.urgeTreeAllStatusDialogVisible = true
|
||||
},
|
||||
resetUrgeTreeAllStatusDialog() {
|
||||
this.urgeTreeAllStatusSubmitLoading = false
|
||||
this.urgeTreeAllStatusTenantIdDisplay = ''
|
||||
this.urgeTreeAllStatusForm = {
|
||||
isResellEnabled: false,
|
||||
isResell: 1,
|
||||
statusEnabled: false,
|
||||
status: 1
|
||||
}
|
||||
},
|
||||
handleConfirmUrgeTreeAllStatus() {
|
||||
const tenantId = this.getTenantIdFromBusinessHeaders()
|
||||
if (!tenantId) {
|
||||
this.$message.error('未获取到租户ID,请先登录或配置业务请求头中的租户')
|
||||
return
|
||||
}
|
||||
const { isResellEnabled, isResell, statusEnabled, status } = this.urgeTreeAllStatusForm
|
||||
if (!isResellEnabled && !statusEnabled) {
|
||||
this.$message.warning('请至少开启一项要修改的状态(寄卖状态或用户状态)')
|
||||
return
|
||||
}
|
||||
if (isResellEnabled && isResell !== 0 && isResell !== 1) {
|
||||
this.$message.warning('请选择「是否可以寄卖」的值')
|
||||
return
|
||||
}
|
||||
if (statusEnabled && status !== 0 && status !== 1) {
|
||||
this.$message.warning('请选择「用户状态」的值')
|
||||
return
|
||||
}
|
||||
const payload = {
|
||||
tenantId,
|
||||
isResellEnabled: !!isResellEnabled,
|
||||
statusEnabled: !!statusEnabled
|
||||
}
|
||||
if (isResellEnabled) {
|
||||
payload.isResell = Number(isResell)
|
||||
}
|
||||
if (statusEnabled) {
|
||||
payload.status = Number(status)
|
||||
}
|
||||
this.$confirm(
|
||||
'确认对 member_info 全部会员批量修正状态吗?该操作可能耗时较长。',
|
||||
'提示',
|
||||
{ confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }
|
||||
)
|
||||
.then(() => {
|
||||
this.urgeTreeAllStatusSubmitLoading = true
|
||||
return updateHxrAdminUserResellStatusForAllMembers(payload)
|
||||
})
|
||||
.then((res) => {
|
||||
const ok = res && (res.success === true || res.code === 200 || res.code === 20000)
|
||||
if (ok) {
|
||||
this.$message.success((res && res.message) || '全部修正状态成功')
|
||||
this.urgeTreeAllStatusDialogVisible = false
|
||||
} else {
|
||||
this.$message.error((res && (res.message || res.msg)) || '全部修正状态失败')
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
// 错误提示由 @/utils/request 响应拦截器统一展示
|
||||
})
|
||||
.finally(() => {
|
||||
this.urgeTreeAllStatusSubmitLoading = false
|
||||
})
|
||||
},
|
||||
buildSumTotalMoneyParams() {
|
||||
const tenantId = this.getTenantIdFromBusinessHeaders()
|
||||
const params = { tenantId }
|
||||
@@ -1222,6 +1568,12 @@ export default {
|
||||
color: #606266;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.urge-tree-status-tip {
|
||||
margin-left: 12px;
|
||||
color: #909399;
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
|
||||
.filter-container {
|
||||
|
||||
@@ -52,6 +52,14 @@
|
||||
</el-form-item>
|
||||
<el-form-item class="filter-form-query">
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">查询</el-button>
|
||||
<el-button
|
||||
type="success"
|
||||
icon="el-icon-magic-button"
|
||||
:loading="rushBuyAllLoading"
|
||||
@click="handleRushBuyAll"
|
||||
>
|
||||
全部抢单
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
@@ -145,7 +153,7 @@
|
||||
/>
|
||||
</el-card>
|
||||
|
||||
<el-dialog title="选择货物包开始时间" :visible.sync="rushBuyTimeDialogVisible" width="500px" top="20vh">
|
||||
<el-dialog :title="rushBuyMode === 'all' ? '全部抢单 - 选择货物包开始时间' : '选择货物包开始时间'" :visible.sync="rushBuyTimeDialogVisible" width="500px" top="20vh">
|
||||
<el-form label-width="120px">
|
||||
<el-form-item label="货物包开始时间">
|
||||
<el-date-picker
|
||||
@@ -159,7 +167,7 @@
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="rushBuyTimeDialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="rushBuyLoading" @click="handleConfirmRushBuyTime">确认</el-button>
|
||||
<el-button type="primary" :loading="rushBuyMode === 'all' ? rushBuyAllLoading : rushBuyLoading" @click="handleConfirmRushBuyTime">确认</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
@@ -314,6 +322,7 @@ import {
|
||||
addLbBuyAccount,
|
||||
deleteLbBuyAccount,
|
||||
getLbBuyAccountList,
|
||||
rushBuyAllLbBuyAccount,
|
||||
rushBuyLbBuyAccount,
|
||||
updateLbBuyAccount
|
||||
} from '@/api/lb-buy-account'
|
||||
@@ -354,6 +363,8 @@ export default {
|
||||
submitLoading: false,
|
||||
syncLoading: false,
|
||||
rushBuyLoading: false,
|
||||
rushBuyAllLoading: false,
|
||||
rushBuyMode: 'selected',
|
||||
tenantLoading: false,
|
||||
rushBuyTimeDialogVisible: false,
|
||||
rushBuyTime: '',
|
||||
@@ -502,6 +513,17 @@ export default {
|
||||
this.$message.warning('所选账号缺少有效 ID')
|
||||
return
|
||||
}
|
||||
this.rushBuyMode = 'selected'
|
||||
this.rushBuyTime = this.getYesterdayStart()
|
||||
this.rushBuyTimeDialogVisible = true
|
||||
},
|
||||
handleRushBuyAll() {
|
||||
const tenantId = (this.queryParams.tenantId || '').trim() || this.getTenantIdFromBusinessHeaders()
|
||||
if (!tenantId) {
|
||||
this.$message.error('未获取到租户ID,请先选择租户或配置业务请求头中的租户')
|
||||
return
|
||||
}
|
||||
this.rushBuyMode = 'all'
|
||||
this.rushBuyTime = this.getYesterdayStart()
|
||||
this.rushBuyTimeDialogVisible = true
|
||||
},
|
||||
@@ -510,6 +532,13 @@ export default {
|
||||
this.$message.warning('请选择货物包时间')
|
||||
return
|
||||
}
|
||||
if (this.rushBuyMode === 'all') {
|
||||
this.confirmRushBuyAll()
|
||||
return
|
||||
}
|
||||
this.confirmRushBuySelected()
|
||||
},
|
||||
confirmRushBuySelected() {
|
||||
const ids = this.multipleSelection.map((row) => row.id).filter(Boolean)
|
||||
const accountLabels = this.multipleSelection
|
||||
.map((row) => row.loginAccount || row.nickname || row.id)
|
||||
@@ -538,6 +567,34 @@ export default {
|
||||
this.rushBuyLoading = false
|
||||
})
|
||||
},
|
||||
confirmRushBuyAll() {
|
||||
const tenantId = (this.queryParams.tenantId || '').trim() || this.getTenantIdFromBusinessHeaders()
|
||||
this.$confirm(
|
||||
`确定对该租户所有用户发起全部抢单吗?\n租户ID:${tenantId}\n货物包开始时间:${this.rushBuyTime}`,
|
||||
'全部抢单',
|
||||
{
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}
|
||||
).then(() => {
|
||||
this.rushBuyAllLoading = true
|
||||
const params = { tenantId }
|
||||
if (this.rushBuyTime) params.goodsBeginTime = this.rushBuyTime
|
||||
return rushBuyAllLbBuyAccount(params)
|
||||
}).then((res) => {
|
||||
const isSuccess = res && (res.success === true || res.code === 200 || res.code === 20000)
|
||||
if (!isSuccess) {
|
||||
this.$message.error((res && res.message) || '全部抢单失败')
|
||||
return
|
||||
}
|
||||
this.$message.success((res && res.message) || '全部抢单完成')
|
||||
this.rushBuyTimeDialogVisible = false
|
||||
this.fetchList()
|
||||
}).catch(() => {}).finally(() => {
|
||||
this.rushBuyAllLoading = false
|
||||
})
|
||||
},
|
||||
handleTenantChange(tenantId) {
|
||||
const option = this.tenantOptions.find((item) => item.value === tenantId)
|
||||
if (option && option.tenantName) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user