让凭证数组与套餐作废任务进入可联调状态
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 7m52s

Constraint: 后端订单套餐作废接口使用 /api/admin/order-package-invalidate-tasks,上传
  purpose 只能使用 attachment。
  Rejected: 继续提交逗号拼接凭证字符串 | 新提交路径必须使用 string[],历史字符串只做读取归一化。
  Confidence: high
  Scope-risk: broad
  Directive: 新增订单套餐作废权限时需同时配置菜单 URL 与
  order_package_invalidate_task:create/detail 按钮权限。
  Tested: bun run build;development 真实后端联调上传、创建、列表、详情通过;复机接口未触发。
  Not-tested: 未逐一手工覆盖所有历史凭证数据、全部角色权限组合和所有文件扩展名预览
This commit is contained in:
2026-06-23 09:50:12 +08:00
parent ebf9739f06
commit 0c3065f970
71 changed files with 4264 additions and 240 deletions

View File

@@ -91,7 +91,7 @@
<ElFormItem label="所在地区" prop="region">
<ElCascader
v-model="form.region"
:options="regionData"
:options="regionData as CascaderOption[]"
placeholder="请选择省/市/区"
clearable
filterable
@@ -206,7 +206,7 @@
import { RoutesAlias } from '@/router/routesAlias'
import { EnterpriseService, ShopService } from '@/api/modules'
import { ElMessage, ElSwitch, ElCascader } from 'element-plus'
import type { FormInstance, FormRules } from 'element-plus'
import type { CascaderOption, CascaderValue, FormInstance, FormRules } from 'element-plus'
import type { EnterpriseItem } from '@/types/api'
import type { SearchFormItem } from '@/types'
import { useCheckedColumns } from '@/composables/useCheckedColumns'
@@ -649,11 +649,12 @@
}
// 处理地区选择变化
const handleRegionChange = (value: string[]) => {
if (value && value.length === 3) {
form.province = value[0]
form.city = value[1]
form.district = value[2]
const handleRegionChange = (value: CascaderValue | null | undefined) => {
const region = Array.isArray(value) ? value.map(String) : []
if (region.length === 3) {
form.province = region[0]
form.city = region[1]
form.district = region[2]
} else {
form.province = ''
form.city = ''