综述: 优化移动端摊位管理功能,移除权限配置模块

- 在移动端摊位列表页面中移除权限配置相关代码,简化界面
- 重新设计邀请摊主弹窗,增加操作类型选择(绑定市场经营者、创建新供货商、绑定已有供货商)
- 在移动端摊位创建页面中同样移除权限配置功能
- 更新大妈集市.rp原型文件内容
This commit is contained in:
linbin 2025-10-25 11:08:23 +08:00
parent 4fcb212c07
commit f7ca95a898
3 changed files with 101 additions and 242 deletions

View File

@ -630,73 +630,6 @@
<input type="password" class="form-input" id="modalPassword" placeholder="请输入密码">
</div>
</form>
<!-- 权限配置 -->
<div id="modalPermissionSection" style="display: none;">
<div class="permission-section">
<div class="permission-all">
<div class="checkbox-option">
<input type="checkbox" id="modalPermissionAll" onchange="toggleAllModalPermissions()">
<label for="modalPermissionAll"><strong>账号权限管理</strong></label>
</div>
</div>
<div class="permission-sub-items">
<div class="checkbox-option">
<input type="checkbox" class="modal-sub-permission" id="modalPerm1">
<label for="modalPerm1">订单权限管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="modal-sub-permission" id="modalPerm2">
<label for="modalPerm2">订单管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="modal-sub-permission" id="modalPerm3">
<label for="modalPerm3">商品管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="modal-sub-permission" id="modalPerm4">
<label for="modalPerm4">数据分析</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="modal-sub-permission" id="modalPerm5">
<label for="modalPerm5">内容管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="modal-sub-permission" id="modalPerm6">
<label for="modalPerm6">运营管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="modal-sub-permission" id="modalPerm7">
<label for="modalPerm7">银行卡管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="modal-sub-permission" id="modalPerm8">
<label for="modalPerm8">优惠券统计工具管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="modal-sub-permission" id="modalPerm9">
<label for="modalPerm9">营销工具管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="modal-sub-permission" id="modalPerm10">
<label for="modalPerm10">等级规则</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="modal-sub-permission" id="modalPerm11">
<label for="modalPerm11">会员营销工具管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="modal-sub-permission" id="modalPerm12">
<label for="modalPerm12">钱包管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="modal-sub-permission" id="modalPerm13">
<label for="modalPerm13">运营管理</label>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-cancel" onclick="closeBeneficiaryModal()">取消</button>
@ -715,18 +648,28 @@
<div class="modal-body">
<form id="inviteForm">
<div class="form-group">
<label class="form-label required">摊主姓名</label>
<input type="text" class="form-input" id="inviteBoothOwnerName" placeholder="请输入摊主姓名">
<label class="form-label required">操作类型</label>
<select class="form-select" id="inviteOperationType" onchange="handleInviteOperationTypeChange()">
<option value="">请选择操作类型</option>
<option value="bind_market_manager">绑定收益人是市场经营者</option>
<option value="create_supplier">创建新收益人(供货商)</option>
<option value="bind_existing_supplier">绑定已存在的供货商账号</option>
</select>
</div>
<div class="form-group">
<label class="form-label required">摊主账号</label>
<input type="text" class="form-input" id="inviteBoothOwnerPhone" placeholder="请输入手机号" maxlength="11">
<div class="form-group" id="inviteSupplierAccountGroup" style="display: none;">
<label class="form-label required">供货商手机</label>
<input type="tel" class="form-input" id="inviteSupplierAccount" placeholder="请输入供货商手机号" maxlength="11">
</div>
<div class="form-group">
<label class="form-label">备注</label>
<input type="text" class="form-input" id="inviteRemark" placeholder="请输入">
<div class="form-group" id="inviteSupplierNameGroup" style="display: none;">
<label class="form-label required">供货商账号名称</label>
<input type="text" class="form-input" id="inviteSupplierName" placeholder="请输入供货商账号名称">
</div>
<div class="form-group" id="inviteSupplierPasswordGroup" style="display: none;">
<label class="form-label required">密码</label>
<input type="password" class="form-input" id="invitePassword" placeholder="请输入密码">
</div>
</form>
</div>
@ -813,11 +756,6 @@
document.getElementById('modalSupplierAccountGroup').style.display = 'none';
document.getElementById('modalSupplierNameGroup').style.display = 'none';
document.getElementById('modalSupplierPasswordGroup').style.display = 'none';
document.getElementById('modalPermissionSection').style.display = 'none';
// 重置权限复选框
document.getElementById('modalPermissionAll').checked = false;
document.querySelectorAll('.modal-sub-permission').forEach(cb => cb.checked = false);
// 显示弹窗
document.getElementById('beneficiaryModal').classList.add('show');
@ -835,50 +773,25 @@
const supplierAccountGroup = document.getElementById('modalSupplierAccountGroup');
const supplierNameGroup = document.getElementById('modalSupplierNameGroup');
const supplierPasswordGroup = document.getElementById('modalSupplierPasswordGroup');
const permissionSection = document.getElementById('modalPermissionSection');
if (operationType === 'create_supplier') {
// 创建新收益人 - 显示手机号、账号名称和密码
supplierAccountGroup.style.display = 'block';
supplierNameGroup.style.display = 'block';
supplierPasswordGroup.style.display = 'block';
permissionSection.style.display = 'block';
} else if (operationType === 'bind_existing_supplier') {
// 绑定已存在的供货商 - 只显示手机号
supplierAccountGroup.style.display = 'block';
supplierNameGroup.style.display = 'none';
supplierPasswordGroup.style.display = 'none';
permissionSection.style.display = 'block';
} else {
// 绑定市场经营者 - 隐藏所有
supplierAccountGroup.style.display = 'none';
supplierNameGroup.style.display = 'none';
supplierPasswordGroup.style.display = 'none';
permissionSection.style.display = 'none';
}
}
// 切换所有权限
function toggleAllModalPermissions() {
const allCheckbox = document.getElementById('modalPermissionAll');
const subCheckboxes = document.querySelectorAll('.modal-sub-permission');
subCheckboxes.forEach(checkbox => {
checkbox.checked = allCheckbox.checked;
});
}
// 监听子权限变化
document.querySelectorAll('.modal-sub-permission').forEach(checkbox => {
checkbox.addEventListener('change', function() {
const allCheckbox = document.getElementById('modalPermissionAll');
const subCheckboxes = document.querySelectorAll('.modal-sub-permission');
const checkedCount = Array.from(subCheckboxes).filter(cb => cb.checked).length;
allCheckbox.checked = checkedCount === subCheckboxes.length;
});
});
// 保存收益人配置
function saveBeneficiary() {
const operationType = document.getElementById('modalOperationType').value;
@ -921,13 +834,6 @@
beneficiaryData.supplierAccount = supplierAccount;
beneficiaryData.supplierName = supplierName;
beneficiaryData.password = password;
// 获取权限配置
const permissions = [];
document.querySelectorAll('.modal-sub-permission:checked').forEach(checkbox => {
permissions.push(checkbox.nextElementSibling.textContent);
});
beneficiaryData.permissions = permissions;
}
// 绑定已存在的供货商
else if (operationType === 'bind_existing_supplier') {
@ -944,13 +850,6 @@
}
beneficiaryData.supplierAccount = supplierAccount;
// 获取权限配置
const permissions = [];
document.querySelectorAll('.modal-sub-permission:checked').forEach(checkbox => {
permissions.push(checkbox.nextElementSibling.textContent);
});
beneficiaryData.permissions = permissions;
}
console.log('保存收益人配置:', beneficiaryData);
@ -985,9 +884,13 @@
// 邀请摊主 - 打开弹窗
function openInviteModal() {
// 重置表单
document.getElementById('inviteBoothOwnerName').value = '';
document.getElementById('inviteBoothOwnerPhone').value = '';
document.getElementById('inviteRemark').value = '';
document.getElementById('inviteOperationType').value = '';
document.getElementById('inviteSupplierAccount').value = '';
document.getElementById('inviteSupplierName').value = '';
document.getElementById('invitePassword').value = '';
document.getElementById('inviteSupplierAccountGroup').style.display = 'none';
document.getElementById('inviteSupplierNameGroup').style.display = 'none';
document.getElementById('inviteSupplierPasswordGroup').style.display = 'none';
// 显示弹窗
document.getElementById('inviteModal').classList.add('show');
@ -998,34 +901,91 @@
document.getElementById('inviteModal').classList.remove('show');
}
// 处理邀请弹窗中的操作类型变化
function handleInviteOperationTypeChange() {
const operationType = document.getElementById('inviteOperationType').value;
const supplierAccountGroup = document.getElementById('inviteSupplierAccountGroup');
const supplierNameGroup = document.getElementById('inviteSupplierNameGroup');
const supplierPasswordGroup = document.getElementById('inviteSupplierPasswordGroup');
if (operationType === 'create_supplier') {
// 创建新收益人 - 显示手机号、账号名称和密码
supplierAccountGroup.style.display = 'block';
supplierNameGroup.style.display = 'block';
supplierPasswordGroup.style.display = 'block';
} else if (operationType === 'bind_existing_supplier') {
// 绑定已存在的供货商 - 只显示手机号
supplierAccountGroup.style.display = 'block';
supplierNameGroup.style.display = 'none';
supplierPasswordGroup.style.display = 'none';
} else {
// 绑定市场经营者 - 隐藏所有
supplierAccountGroup.style.display = 'none';
supplierNameGroup.style.display = 'none';
supplierPasswordGroup.style.display = 'none';
}
}
// 提交邀请
function submitInvite() {
const boothOwnerName = document.getElementById('inviteBoothOwnerName').value;
const boothOwnerPhone = document.getElementById('inviteBoothOwnerPhone').value;
const remark = document.getElementById('inviteRemark').value;
const operationType = document.getElementById('inviteOperationType').value;
// 验证
if (!boothOwnerName) {
alert('请输入摊主姓名');
return;
}
if (!boothOwnerPhone) {
alert('请输入摊主账号');
return;
}
if (!/^1[3-9]\d{9}$/.test(boothOwnerPhone)) {
alert('请输入正确的手机号');
if (!operationType) {
alert('请选择操作类型');
return;
}
const inviteData = {
boothOwnerName,
boothOwnerPhone,
remark
operationType: operationType
};
// 创建新收益人
if (operationType === 'create_supplier') {
const supplierAccount = document.getElementById('inviteSupplierAccount').value;
const supplierName = document.getElementById('inviteSupplierName').value;
const password = document.getElementById('invitePassword').value;
if (!supplierAccount) {
alert('请输入供货商手机号');
return;
}
if (!/^1[3-9]\d{9}$/.test(supplierAccount)) {
alert('请输入正确的手机号');
return;
}
if (!supplierName) {
alert('请输入供货商账号名称');
return;
}
if (!password) {
alert('请输入密码');
return;
}
inviteData.supplierAccount = supplierAccount;
inviteData.supplierName = supplierName;
inviteData.password = password;
}
// 绑定已存在的供货商
else if (operationType === 'bind_existing_supplier') {
const supplierAccount = document.getElementById('inviteSupplierAccount').value;
if (!supplierAccount) {
alert('请输入供货商手机号');
return;
}
if (!/^1[3-9]\d{9}$/.test(supplierAccount)) {
alert('请输入正确的手机号');
return;
}
inviteData.supplierAccount = supplierAccount;
}
console.log('邀请摊主数据:', inviteData);
// TODO: 调用后端API发送邀请

View File

@ -427,75 +427,6 @@
</div>
</div>
<!-- 权限配置 -->
<div class="form-section hidden" id="permissionSection">
<div class="section-title">权限配置</div>
<div class="permission-section">
<div class="permission-all">
<div class="checkbox-option">
<input type="checkbox" id="permissionAll" onchange="toggleAllPermissions()">
<label for="permissionAll"><strong>账号权限管理</strong></label>
</div>
</div>
<div class="permission-sub-items">
<div class="checkbox-option">
<input type="checkbox" class="sub-permission" id="perm1">
<label for="perm1">订单权限管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="sub-permission" id="perm2">
<label for="perm2">订单管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="sub-permission" id="perm3">
<label for="perm3">商品管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="sub-permission" id="perm4">
<label for="perm4">数据分析</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="sub-permission" id="perm5">
<label for="perm5">内容管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="sub-permission" id="perm6">
<label for="perm6">运营管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="sub-permission" id="perm7">
<label for="perm7">银行卡管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="sub-permission" id="perm8">
<label for="perm8">优惠券统计工具管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="sub-permission" id="perm9">
<label for="perm9">营销工具管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="sub-permission" id="perm10">
<label for="perm10">等级规则</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="sub-permission" id="perm11">
<label for="perm11">会员营销工具管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="sub-permission" id="perm12">
<label for="perm12">钱包管理</label>
</div>
<div class="checkbox-option">
<input type="checkbox" class="sub-permission" id="perm13">
<label for="perm13">运营管理</label>
</div>
</div>
</div>
</div>
<!-- 店铺基础信息 -->
<div class="form-section">
<div class="section-title">店铺基础信息</div>
@ -687,50 +618,25 @@
const supplierAccountGroup = document.getElementById('supplierAccountGroup');
const supplierNameGroup = document.getElementById('supplierNameGroup');
const supplierPasswordGroup = document.getElementById('supplierPasswordGroup');
const permissionSection = document.getElementById('permissionSection');
if (operationType === 'create_supplier') {
// 创建新收益人 - 显示手机号、账号名称和密码
supplierAccountGroup.classList.remove('hidden');
supplierNameGroup.classList.remove('hidden');
supplierPasswordGroup.classList.remove('hidden');
permissionSection.classList.remove('hidden');
} else if (operationType === 'bind_existing_supplier') {
// 绑定已存在的供货商 - 只显示手机号
supplierAccountGroup.classList.remove('hidden');
supplierNameGroup.classList.add('hidden');
supplierPasswordGroup.classList.add('hidden');
permissionSection.classList.remove('hidden');
} else {
// 绑定市场经营者 - 隐藏所有
supplierAccountGroup.classList.add('hidden');
supplierNameGroup.classList.add('hidden');
supplierPasswordGroup.classList.add('hidden');
permissionSection.classList.add('hidden');
}
}
// 切换所有权限
function toggleAllPermissions() {
const allCheckbox = document.getElementById('permissionAll');
const subCheckboxes = document.querySelectorAll('.sub-permission');
subCheckboxes.forEach(checkbox => {
checkbox.checked = allCheckbox.checked;
});
}
// 监听子权限变化
document.querySelectorAll('.sub-permission').forEach(checkbox => {
checkbox.addEventListener('change', function() {
const allCheckbox = document.getElementById('permissionAll');
const subCheckboxes = document.querySelectorAll('.sub-permission');
const checkedCount = Array.from(subCheckboxes).filter(cb => cb.checked).length;
allCheckbox.checked = checkedCount === subCheckboxes.length;
});
});
// 图片上传
function uploadImage(type) {
console.log('上传图片类型:', type);
@ -844,13 +750,6 @@
return;
}
// 获取权限配置
const permissions = [];
document.querySelectorAll('.sub-permission:checked').forEach(checkbox => {
permissions.push(checkbox.nextElementSibling.textContent);
});
formData.permissions = permissions;
console.log('提交的表单数据:', formData);
// TODO: 调用后端API提交表单

Binary file not shown.