为财务申请页面(accountLogApply.vue)添加了商家选择功能,使总后台管理员能够代表任意商家提交结算申请。
addons/admin/src/views/financial/accountLogApply.vue)<el-form-item label="选择商家:" prop="store_id" v-if="isSuperAdmin">
<el-select
v-model="applyForm.store_id"
placeholder="请选择商家"
filterable
remote
clearable
:remote-method="searchStores"
:loading="storeSearchLoading"
@change="handleStoreChange"
class="ele-fluid">
<el-option
v-for="item in storeOptions"
:key="item.id"
:label="`${item.name} (${item.phone}) - 余额: ¥${item.balance || 0}`"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
isSuperAdmin: 是否为超级管理员storeOptions: 商家选项列表storeSearchLoading: 搜索加载状态applyForm.store_id: 选中的商家IDcheckUserRole(): 检查用户角色,判断是否为超级管理员searchStores(query): 搜索商家列表handleStoreChange(storeId): 处理商家选择变化loadStoreInfoForMerchant(): 加载当前登录商家信息并自动设置 store_id(商家用户专用)checkUserRole() {
const user = this.user || {};
this.isSuperAdmin = !user.store_id || user.store_id === 0;
}
app/Services/Common/StoreService.php)在 getDataList() 方法中,为返回的商家列表添加余额信息:
// 添加余额信息
$item['balance'] = isset($item['member']['balance']) ? $item['member']['balance'] : 0;
/store/index参数:
page: 页码limit: 每页数量name: 商家名称(模糊搜索)status: 商家状态(1-已审核)返回数据:
{
"code": 0,
"msg": "操作成功",
"data": [
{
"id": 1,
"name": "商家名称",
"phone": "13800138000",
"real_name": "张三",
"user_id": 10,
"balance": 1000.00
}
],
"count": 100
}