董国庆
2026-06-15 8c4c8a029de96640f64cef87f571459ed5233dce
路由新增
7个文件已修改
153 ■■■■■ 已修改文件
src/router/routes.static.ts 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/service/api/contentCenter.ts 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/evaluationTag/index.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/financeBill/index.vue 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/testDemo/operationWorkbench/list.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/testDemo/testPlanManagement/index.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userContent/contentCenter/agreementAuthorizationRecord.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/routes.static.ts
@@ -205,7 +205,7 @@
    icon: 'icon-park-outline:bill',
    menuType: 'page',
    componentPath: '/system/financeBill/index.vue',
    id: 204,
    id: 2026061528,
    keepAlive: true,
    pid: 2,
    fullScreen: true,
@@ -218,7 +218,7 @@
    icon: 'icon-park-outline:tag-one',
    menuType: 'page',
    componentPath: '/system/evaluationTag/index.vue',
    id: 205,
    id: 2026061531,
    keepAlive: true,
    pid: 2,
    fullScreen: true,
@@ -357,7 +357,7 @@
    icon: 'icon-park-outline:file-text',
    menuType: 'page',
    componentPath: '/userContent/contentCenter/agreementAuthorizationRecord.vue',
    id: 202642903,
    id: 2026061536,
    keepAlive: false,
    pid: 302,
    fullScreen: true,
@@ -840,7 +840,7 @@
    icon: 'icon-park-outline:pic',
    menuType: 'page',
    componentPath: '/assetManagement/vehicleManagement/vehicleMaterial/index.vue',
    id: 5014,
    id: 2026061538,
    keepAlive: false,
    pid: 501,
  },
@@ -1749,8 +1749,8 @@
    icon: 'icon-park-outline:list-view',
    menuType: 'page',
    componentPath: '/testDemo/testPlanManagement/index.vue',
    id: 2026052901,
    pid: 9,
    id: 2026061519,
    pid: 20260615,
  },
  {
    name: 'testPlanManagementAdd',
@@ -1760,8 +1760,8 @@
    icon: 'icon-park-outline:list-view',
    menuType: 'page',
    componentPath: '/testDemo/testPlanManagement/add.vue',
    id: 2026052902,
    pid: 9,
    id: 2026061512,
    pid: 20260615,
    hide: true,
    fullScreen: true,
    activeMenu: '/testDemo/testPlanManagement',
@@ -1774,11 +1774,22 @@
    icon: 'icon-park-outline:list-view',
    menuType: 'page',
    componentPath: '/testDemo/testPlanManagement/detail.vue',
    id: 2026052903,
    pid: 9,
    id: 2026061523,
    pid: 20260615,
    hide: true,
    fullScreen: true,
    activeMenu: '/testDemo/testPlanManagement',
  },
  {
    name: 'testDemo2.0',
    path: '/testDemo',
    title: '测试跑单demo2.0',
    requiresAuth: true,
    icon: 'icon-park-outline:analysis',
    menuType: 'dir',
    componentPath: null,
    id: 20260615,
    pid: null,
  },
  {
    name: 'testDemoOperationWorkbenchMap',
@@ -1788,9 +1799,9 @@
    icon: 'icon-park-outline:alarm',
    menuType: 'page',
    componentPath: '/testDemo/operationWorkbench/map.vue',
    id: 202642977,
    id: 2026061501,
    keepAlive: false,
    pid: 9,
    pid: 20260615,
    fullScreen: true,
  },
  {
@@ -1801,9 +1812,9 @@
    icon: 'icon-park-outline:alarm',
    menuType: 'page',
    componentPath: '/testDemo/operationWorkbench/list.vue',
    id: 202642978,
    id: 2026061502,
    keepAlive: true,
    pid: 9,
    pid: 20260615,
    hide: true,
    activeMenu: '/testDemo/operationWorkbench/map',
  },
src/service/api/contentCenter.ts
@@ -95,11 +95,11 @@
}
export function fetchAgreementAuthorizationRecordPageList(data: AgreementAuthorizationRecordPageParams) {
  return request.Post<Service.ResponseResult<Service.PageData<AgreementAuthorizationRecordItem>>>('/operation/api/v1/mini-program/agreementAuthorizationRecord/pageList', data)
  return request.Post<Service.ResponseResult<Service.PageData<AgreementAuthorizationRecordItem>>>('/operation/api/v1/agreementAuthorizationRecord/pageList', data)
}
export function exportAgreementAuthorizationRecord(data: AgreementAuthorizationRecordPageParams) {
  const method = request.Post('/operation/api/v1/mini-program/agreementAuthorizationRecord/exportExcel', data, { responseType: 'blob' })
  const method = request.Post('/operation/api/v1/agreementAuthorizationRecord/exportExcel', data, { responseType: 'blob' })
  method.meta = { ...method.meta, isBlob: true }
  return method
}
src/views/system/evaluationTag/index.vue
@@ -638,19 +638,30 @@
      title: '操作',
      key: 'actions',
      width: 120,
      render: row => h('div', { class: 'flex items-center' }, [
        h(NButton, {
          text: true,
          type: 'primary',
          onClick: () => handleEditTag(row),
        }, { default: () => '编辑' }),
        h(NButton, {
          text: true,
          type: 'primary',
          class: 'ml-12px',
          onClick: () => handleToggleStatus(row),
        }, { default: () => Number(row.status) === 1 ? '停用' : '启用' }),
      ]),
      render: row => (
        <div class="flex items-center">
          <div>
            <NButton
              text
              v-permission="2026061533"
              type="primary"
              onClick={() => handleEditTag(row)}
            >
              编辑
            </NButton>
          </div>
          <div class="ml-12px">
            <NButton
              text
              v-permission="2026061534"
              type="primary"
              onClick={() => handleToggleStatus(row)}
            >
              {Number(row.status) === 1 ? '停用' : '启用'}
            </NButton>
          </div>
        </div>
      ),
    },
  ]
})
@@ -770,7 +781,7 @@
            <n-card class="robotaxi-table-card" :bordered="false">
              <template #header>
                <div class="flex items-center justify-end">
                  <NButton type="primary" secondary @click="handleAddTag">
                  <NButton type="primary" v-permission="2026061532" secondary @click="handleAddTag">
                    新增
                  </NButton>
                </div>
@@ -814,7 +825,7 @@
        <NButton class="w-84px" @click="handleCancelChanges">
          取消
        </NButton>
        <NButton type="primary" class="w-84px" :loading="saving" @click="handleSave">
        <NButton v-permission="2026061535" type="primary" class="w-84px" :loading="saving" @click="handleSave">
          保存
        </NButton>
      </n-space>
src/views/system/financeBill/index.vue
@@ -104,7 +104,7 @@
    width: 60,
    fixed: 'right',
    render: row => (
      <NButton text type="primary" onClick={() => handleOpenDetail(row.id)}>
      <NButton text v-permission="2026061529" type="primary" onClick={() => handleOpenDetail(row.id)}>
        详情
      </NButton>
    ),
@@ -184,7 +184,7 @@
    <n-card class="flex-1 robotaxi-table-card" :bordered="false">
      <template #header>
        <div class="flex items-center justify-end">
          <NButton type="primary" secondary @click="handleManualPush">
          <NButton type="primary" v-permission="2026061530" secondary @click="handleManualPush">
            手动推送
          </NButton>
        </div>
src/views/testDemo/operationWorkbench/list.vue
@@ -880,7 +880,7 @@
}
function handlePointToDetail(row: any, type: 'detail' | 'edit') {
  if (type === 'detail' && !hasPermission('202642925'))
  if (type === 'detail' && !hasPermission('2026061509'))
    return
  const context = buildWorkbenchMapContext('point', type, row)
  workbenchStore.setListContext({
@@ -899,7 +899,7 @@
}
function handleStationToMap(row: any, type: 'detail' | 'edit') {
  if (type === 'detail' && !hasPermission('202642931'))
  if (type === 'detail' && !hasPermission('2026061515'))
    return
  const context = buildWorkbenchMapContext('station', type, row)
  workbenchStore.setListContext({
@@ -1262,6 +1262,13 @@
      }
    },
  })
}
function handleBatchExport() {
  if (activeTab.value === 'station') {
    handleStationBatchExport()
    return
  }
  handlePointBatchExport()
}
async function handlePointBatchExport() {
@@ -1923,10 +1930,10 @@
        render(row) {
          return (
            <NSpace>
              <NButton v-permission="202642921" text type="primary" onClick={() => handleFenceToDetail(row, 'edit')}>
              <NButton v-permission="2026061505" text type="primary" onClick={() => handleFenceToDetail(row, 'edit')}>
                编辑
              </NButton>
              <NButton v-permission="202642922" text type="primary" disabled={row.status !== 3} onClick={() => handleFenceCopy(row)}>
              <NButton v-permission="2026061506" text type="primary" disabled={row.status !== 3} onClick={() => handleFenceCopy(row)}>
                复制
              </NButton>
            </NSpace>
@@ -2072,17 +2079,17 @@
          const isEnabled = Number(row.status) === 2
          return (
            <NSpace wrap={false}>
              <NButton v-permission="202642930" text type="primary" onClick={() => handleStationToMap(row, 'edit')}>
              <NButton v-permission="2026061514" text type="primary" onClick={() => handleStationToMap(row, 'edit')}>
                编辑
              </NButton>
              {isEnabled
                ? (
                    <NButton v-permission="202642933" text type="primary" onClick={() => handleStationDisable(row)}>
                    <NButton v-permission="2026061517" text type="primary" onClick={() => handleStationDisable(row)}>
                      停用
                    </NButton>
                  )
                : (
                    <NButton v-permission="202642932" text type="primary" onClick={() => handleStationDelete(row)}>
                    <NButton v-permission="2026061516" text type="primary" onClick={() => handleStationDelete(row)}>
                      删除
                    </NButton>
                  )}
@@ -2237,7 +2244,7 @@
        return (
          <NSpace wrap={false}>
            <NButton
              v-permission="202642924"
              v-permission="2026061508"
              text
              type="primary"
              disabled={!canOperate}
@@ -2248,7 +2255,7 @@
            {isEnabled
              ? (
                  <NButton
                    v-permission="202642927"
                    v-permission="2026061511"
                    text
                    type="primary"
                    disabled={!canOperate}
@@ -2259,7 +2266,7 @@
                )
              : (
                  <NButton
                    v-permission="202642926"
                    v-permission="2026061510"
                    text
                    type="primary"
                    disabled={!canOperate}
@@ -2431,9 +2438,9 @@
                已选择{{ checkedRowKeys.length }}条记录
              </span>
              <NButton
                v-permission="202642928"
                v-permission="2026061512"
                :disabled="checkedRowKeys.length === 0"
                @click="handlePointBatchExport"
                @click="handleBatchExport"
              >
                批量导出
              </NButton>
@@ -2443,9 +2450,9 @@
                已选择 {{ checkedRowKeys.length }} 条记录
              </span>
              <NButton
                v-permission="202642934"
                v-permission="2026061518"
                :disabled="checkedRowKeys.length === 0"
                @click="handleStationBatchExport"
                @click="handleBatchExport"
              >
                批量导出
              </NButton>
@@ -2453,12 +2460,12 @@
          </n-flex>
          <n-flex align="center">
            <NButton v-permission="202642919" @click="handleBackToMap">
            <NButton v-permission="2026061503" @click="handleBackToMap">
              查看地图视图
            </NButton>
            <NButton
              v-if="activeTab === 'fence'"
              v-permission="202642920"
              v-permission="2026061504"
              type="primary"
              secondary
              @click="handleCreate"
@@ -2467,7 +2474,7 @@
            </NButton>
            <NButton
              v-else-if="activeTab === 'point'"
              v-permission="202642923"
              v-permission="2026061507"
              type="primary"
              secondary
              @click="handleCreate"
@@ -2482,7 +2489,7 @@
              <template #trigger>
                <span>
                  <NButton
                    v-permission="202642929"
                    v-permission="2026061513"
                    type="primary"
                    secondary
                    :disabled="!!stationCreateDisabledReason"
src/views/testDemo/testPlanManagement/index.vue
@@ -300,20 +300,20 @@
      const actions = []
      if (row.status === 1) { // 待下发
        actions.push(<NButton text type="primary" onClick={() => handleEdit(row)}>编辑</NButton>)
        actions.push(<NButton text type="primary" onClick={() => handleDelete(row)}>删除</NButton>)
        actions.push(<NButton text type="primary" onClick={() => handleEdit(row)} v-permission="2026061522">编辑</NButton>)
        actions.push(<NButton text type="primary" onClick={() => handleDelete(row)} v-permission="2026061524">删除</NButton>)
      }
      if (row.status === 2) { // 测试中
        actions.push(<NButton text type="primary" onClick={() => handleDetail(row)}>详情</NButton>)
        actions.push(<NButton text type="primary" onClick={() => handleInterrupt(row)}>中断测试</NButton>)
        actions.push(<NButton text type="primary" onClick={() => handleDetail(row)} v-permission="2026061523">详情</NButton>)
        actions.push(<NButton text type="primary" onClick={() => handleInterrupt(row)} v-permission="2026061525">中断测试</NButton>)
      }
      if (row.status === 3) { // 已暂停
        actions.push(<NButton text type="primary" onClick={() => handleDetail(row)}>详情</NButton>)
        actions.push(<NButton text type="primary" onClick={() => handleClose(row)}>关闭测试</NButton>)
        actions.push(<NButton text type="primary" onClick={() => handleContinue(row)}>继续测试</NButton>)
        actions.push(<NButton text type="primary" onClick={() => handleDetail(row)} v-permission="2026061523">详情</NButton>)
        actions.push(<NButton text type="primary" onClick={() => handleClose(row)} v-permission="2026061526">关闭测试</NButton>)
        actions.push(<NButton text type="primary" onClick={() => handleContinue(row)} v-permission="2026061527">继续测试</NButton>)
      }
      if (row.status === 4 || row.status === 5) { // 已完成 / 关闭测试
        actions.push(<NButton text type="primary" onClick={() => handleDetail(row)}>详情</NButton>)
        actions.push(<NButton text type="primary" onClick={() => handleDetail(row)} v-permission="2026061523">详情</NButton>)
      }
      return (
@@ -437,10 +437,10 @@
    >
      <template #header>
        <n-flex justify="space-between">
          <NButton @click="handleOpenOperationLog">
          <NButton @click="handleOpenOperationLog" v-permission="2026061521">
            操作日志
          </NButton>
          <NButton type="primary" secondary style="background-color: #E6F4FF; border-color: #7ABDFF; color: #0068FF;" @click="handleAdd">
          <NButton type="primary" v-permission="2026061520" secondary style="background-color: #E6F4FF; border-color: #7ABDFF; color: #0068FF;" @click="handleAdd">
            添加测试计划
          </NButton>
        </n-flex>
src/views/userContent/contentCenter/agreementAuthorizationRecord.vue
@@ -233,7 +233,7 @@
    <NCard class="flex-1 robotaxi-table-card" content-style="display: flex; flex-direction: column; flex: 1; min-height: 0;">
      <template #header>
        <n-flex justify="flex-end" align="center">
          <NButton @click="handleExport">
          <NButton @click="handleExport" v-permission="2026061537">
            导出
          </NButton>
        </n-flex>