fix: 限制客服编辑资料字段

This commit is contained in:
yml2213
2026-08-15 14:22:47 +08:00
parent 112a3272d2
commit 55a658b4fe
3 changed files with 15 additions and 4 deletions
@@ -328,7 +328,10 @@ router.put(
'/worker-platform/orders/:workOrderId',
requireAdminRoles(['admin', 'operator', 'support']),
createJsonHandler(
(req) => updateAdminWorkOrder(String(req.params.workOrderId || ''), req.body || {}),
(req) =>
updateAdminWorkOrder(String(req.params.workOrderId || ''), req.body || {}, {
canEditRequirementFields: req.adminSession?.role !== 'support',
}),
{
successMessage: '工单信息已保存',
errorMessage: '保存工单信息失败',
@@ -872,6 +872,7 @@ export async function createAdminMockWorkOrder(payload: JsonObject = {}) {
export async function updateAdminWorkOrder(
workOrderId: number | string,
payload: JsonObject = {},
options: { canEditRequirementFields?: boolean } = {},
) {
const workOrder = await getRequiredWorkOrder(workOrderId)
if (
@@ -893,7 +894,10 @@ export async function updateAdminWorkOrder(
})
}
const fields = normalizeRequirementFieldsFromPayload(payload)
const fields =
options.canEditRequirementFields === false
? resolveRequirementFields(workOrder)
: normalizeRequirementFieldsFromPayload(payload)
const rewardAmount =
payload.rewardAmount === undefined
? workOrder.reward_amount