Merge origin/feat/deploy-1.0 into develop
[ai-coding] [黄星炤]
| | |
| | | // url: 'http://rt-api.deploy-test.xiaopeng.com', |
| | | }, |
| | | production: { |
| | | url: 'https://rt-admin.xiaopeng.com', |
| | | url: 'https://rt-admin.deploy-test.xiaopeng.com', |
| | | }, |
| | | } |
| | |
| | | menuType: 'page', |
| | | componentPath: '/testDemo/testPointManagement/index.vue', |
| | | id: 91, |
| | | keepAlive: true, |
| | | pid: 9, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/testDemo/geofenceManagement/index.vue', |
| | | id: 202642974, |
| | | keepAlive: true, |
| | | pid: 9, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/testDemo/specialPointManagement/index.vue', |
| | | id: 10, |
| | | keepAlive: true, |
| | | pid: 9, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/testDemo/testPlanList/index.vue', |
| | | id: 11, |
| | | keepAlive: true, |
| | | pid: 9, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/system/accountPermission/accountManagement/index.vue', |
| | | id: 2011, |
| | | keepAlive: false, |
| | | keepAlive: true, |
| | | pid: 201, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/businessOperations/cruise/parade-plan/index.vue', |
| | | id: 4072, |
| | | keepAlive: false, |
| | | keepAlive: true, |
| | | pid: 407, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/assetManagement/vehicleManagement/inventoryVehicle/index.vue', |
| | | id: 5011, |
| | | keepAlive: false, |
| | | keepAlive: true, |
| | | pid: 501, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/assetManagement/vehicleManagement/operatingVehicle/index.vue', |
| | | id: 5013, |
| | | keepAlive: false, |
| | | keepAlive: true, |
| | | pid: 501, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/assetManagement/fleetManagement/index.vue', |
| | | id: 502, |
| | | keepAlive: false, |
| | | keepAlive: true, |
| | | pid: 5, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/assetManagement/vehicleModel/index.vue', |
| | | id: 202642939, |
| | | keepAlive: false, |
| | | keepAlive: true, |
| | | pid: 5, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/transaction/order/orderManagement/index.vue', |
| | | id: 6011, |
| | | keepAlive: false, |
| | | keepAlive: true, |
| | | pid: 601, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/transaction/order/evaluationRecord/index.vue', |
| | | id: 6013, |
| | | keepAlive: false, |
| | | keepAlive: true, |
| | | pid: 601, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/transaction/pricingManagement/index.vue', |
| | | id: 602, |
| | | keepAlive: false, |
| | | keepAlive: true, |
| | | pid: 6, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/transaction/transactionStrategy/index.vue', |
| | | id: 605, |
| | | keepAlive: false, |
| | | keepAlive: true, |
| | | pid: 6, |
| | | fullScreen: true, |
| | | }, |
| | |
| | | menuType: 'page', |
| | | componentPath: '/operations/personnel/personnelManagement/index.vue', |
| | | id: 7011, |
| | | keepAlive: false, |
| | | keepAlive: true, |
| | | pid: 701, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/operations/personnel/safetyOfficerInfo/index.vue', |
| | | id: 7012, |
| | | keepAlive: false, |
| | | keepAlive: true, |
| | | pid: 701, |
| | | }, |
| | | { |
| | |
| | | menuType: 'page', |
| | | componentPath: '/operations/attendance/shift/index.vue', |
| | | id: 7024, |
| | | keepAlive: false, |
| | | keepAlive: true, |
| | | pid: 702, |
| | | }, |
| | | { |
| | |
| | | |
| | | // 编辑成功后刷新详情数据 |
| | | function handleFleetFormConfirm() { |
| | | window.sessionStorage.setItem('fleetManagementNeedRefresh', '1') |
| | | getFleetDetail() |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | window.$message.success(`成功添加 ${selectedVehicles.length} 辆车辆`) |
| | | window.sessionStorage.setItem('fleetManagementNeedRefresh', '1') |
| | | // 刷新车辆列表 |
| | | getVehicleList() |
| | | // 刷新车队详情(更新车辆数量) |
| | |
| | | const res = await removeVehicleFromFleet(fleetId.value, vehicleId) |
| | | if (res.code === 200) { |
| | | window.$message.success('移除成功') |
| | | window.sessionStorage.setItem('fleetManagementNeedRefresh', '1') |
| | | getVehicleList() |
| | | getFleetDetail() // 刷新车队详情(更新车辆数量) |
| | | } |
| | |
| | | } |
| | | |
| | | window.$message.success(`成功添加 ${selectedStaff.length} 名人员`) |
| | | window.sessionStorage.setItem('fleetManagementNeedRefresh', '1') |
| | | // 刷新人员列表 |
| | | getStaffList() |
| | | // 刷新车队详情(更新人员数量) |
| | |
| | | const res = await removeUserFromFleet(fleetId.value, userId) |
| | | if (res.code === 200) { |
| | | window.$message.success('移除成功') |
| | | window.sessionStorage.setItem('fleetManagementNeedRefresh', '1') |
| | | getStaffList() |
| | | getFleetDetail() // 刷新车队详情(更新人员数量) |
| | | } |
| | |
| | | <script setup lang="tsx"> |
| | | import type { DataTableColumns, FormInst } from 'naive-ui' |
| | | import { onActivated } from 'vue' |
| | | import { NButton, NSpace } from 'naive-ui' |
| | | import { useRoute, useRouter } from 'vue-router' |
| | | import { useBoolean } from '@/hooks' |
| | |
| | | handleUrlEdit() |
| | | }) |
| | | |
| | | onActivated(() => { |
| | | if (window.sessionStorage.getItem('fleetManagementNeedRefresh') === '1') { |
| | | window.sessionStorage.removeItem('fleetManagementNeedRefresh') |
| | | getFleetList() |
| | | } |
| | | }) |
| | | |
| | | function changePage(page: number, size: number) { |
| | | pageNum.value = page |
| | | pageSize.value = size |
| | |
| | | const { code } = isEditMode.value ? await editVehicle(params) : await addVehicle(params) |
| | | if (code === 200) { |
| | | window.$message.success(isEditMode.value ? '编辑车辆成功' : '新增车辆成功') |
| | | window.sessionStorage.setItem('inventoryVehicleNeedRefresh', '1') |
| | | if (route.query.source === 'operatingVehicle') { |
| | | window.sessionStorage.setItem('operatingVehicleNeedRefresh', '1') |
| | | } |
| | | // 返回列表页 |
| | | router.go(-1) |
| | | } |
| | |
| | | <script setup lang="tsx"> |
| | | import type { DataTableColumns, FormInst } from 'naive-ui' |
| | | import { NButton, NEllipsis, NSpace } from 'naive-ui' |
| | | import { watch } from 'vue' |
| | | import { onActivated, watch } from 'vue' |
| | | import { useRouter } from 'vue-router' |
| | | import dayjs from 'dayjs' |
| | | import { useBoolean } from '@/hooks' |
| | |
| | | consumeActionQuery() |
| | | }) |
| | | |
| | | onActivated(() => { |
| | | if (window.sessionStorage.getItem('inventoryVehicleNeedRefresh') === '1') { |
| | | window.sessionStorage.removeItem('inventoryVehicleNeedRefresh') |
| | | getVehicleList() |
| | | } |
| | | }) |
| | | |
| | | // watch( |
| | | // () => router.currentRoute.value.query, |
| | | // () => { |
| | |
| | | <script setup lang="tsx"> |
| | | import type { DataTableColumns, FormInst } from 'naive-ui' |
| | | import { onActivated } from 'vue' |
| | | import { NButton, NEllipsis, NSpace, NTag } from 'naive-ui' |
| | | import ConfirmDialog from '@/components/ConfirmDialog/index.vue' |
| | | import { useRouter } from 'vue-router' |
| | |
| | | getOperatingVehicleList() |
| | | }) |
| | | |
| | | onActivated(() => { |
| | | if (window.sessionStorage.getItem('operatingVehicleNeedRefresh') === '1') { |
| | | window.sessionStorage.removeItem('operatingVehicleNeedRefresh') |
| | | getOperatingVehicleList() |
| | | } |
| | | }) |
| | | |
| | | function changePage(page: number, size: number) { |
| | | pageParams.value.pageNum = page |
| | | pageParams.value.pageSize = size |
| | |
| | | }) |
| | | if (res.code === 200) { |
| | | message.success('保存成功') |
| | | window.sessionStorage.setItem('cruiseParadePlanNeedRefresh', '1') |
| | | router.replace({ name: 'patrolPlanDetail', params: { id: planId.value } }) |
| | | getDetail() |
| | | } |
| | |
| | | saveScheduling(params).then((res) => { |
| | | if (res.code === 200) { |
| | | window.$message.success('排班保存成功') |
| | | window.sessionStorage.setItem('operationsAttendancePlanNeedRefresh', '1') |
| | | getList() |
| | | } |
| | | }) |
| | |
| | | saveScheduling(params).then((res) => { |
| | | if (res.code === 200) { |
| | | window.$message.success('排班保存成功') |
| | | window.sessionStorage.setItem('operationsAttendancePlanNeedRefresh', '1') |
| | | getList() |
| | | } |
| | | }) |
| | |
| | | <script setup lang="ts"> |
| | | import { ref } from 'vue' |
| | | import { onActivated, ref } from 'vue' |
| | | import EditMonthModal from './components/EditMonthModal.vue' |
| | | import CopyScheduleModal from './components/CopyScheduleModal.vue' |
| | | import { exportScheduling, getSchedulingPageList, getShiftListNoPage } from '@/service/api/attendance' |
| | |
| | | getList() |
| | | }) |
| | | |
| | | onActivated(() => { |
| | | if (window.sessionStorage.getItem('operationsAttendancePlanNeedRefresh') === '1') { |
| | | window.sessionStorage.removeItem('operationsAttendancePlanNeedRefresh') |
| | | getList() |
| | | } |
| | | }) |
| | | |
| | | function changePage(page: number, size: number) { |
| | | pageParams.value.pageNum = page |
| | | pageParams.value.pageSize = size |
| | |
| | | if (res.code === 200) { |
| | | showFormModal.value = false |
| | | window.$message.success('编辑成功') |
| | | window.sessionStorage.setItem('personnelManagementNeedRefresh', '1') |
| | | getDetail() |
| | | } |
| | | }) |
| | |
| | | <script setup lang="tsx"> |
| | | import { computed, h, ref } from 'vue' |
| | | import { onActivated } from 'vue' |
| | | import { useBoolean, usePermission } from '@/hooks' |
| | | import { useRouter } from 'vue-router' |
| | | import type { DataTableColumns } from 'naive-ui' |
| | |
| | | getRoleList() |
| | | }) |
| | | |
| | | onActivated(() => { |
| | | if (window.sessionStorage.getItem('personnelManagementNeedRefresh') === '1') { |
| | | window.sessionStorage.removeItem('personnelManagementNeedRefresh') |
| | | getList() |
| | | } |
| | | }) |
| | | |
| | | function changePage(page: number, size: number) { |
| | | pageParams.value.pageNum = page |
| | | pageParams.value.pageSize = size |
| | |
| | | class="thumb" |
| | | @error="(e: any) => { e.target.src = 'https://huishou-1323682843.cos.ap-nanjing.myqcloud.com/images/9bed493b-a6aa-4ef6-ac10-7f67f5c6adc5.png' }" |
| | | /> |
| | | <template v-if="getValidImageList(currentDetail.endChargingPicture).length"> |
| | | <img |
| | | v-for="(item, idx) in getValidImageList( |
| | | currentDetail.endChargingPicture |
| | | )" |
| | | :key="idx" |
| | | :src="item.url" |
| | | class="thumb" |
| | | @error="(e: any) => { e.target.src = 'https://huishou-1323682843.cos.ap-nanjing.myqcloud.com/images/9bed493b-a6aa-4ef6-ac10-7f67f5c6adc5.png' }" |
| | | /> |
| | | </template> |
| | | </div> |
| | | </div> |
| | | <div class="flex mt-16px"> |
| | |
| | | </div> |
| | | <div class="mb-16px"> |
| | | <div class="label mb-4px"> |
| | | 交警判责图片 |
| | | </div> |
| | | <!-- <div class="value mb-8px"> |
| | | {{ formModel.accidentDetailVO.situationDescription }} |
| | | </div> --> |
| | | <div v-if="getValidImageList(formModel.accidentDetailVO.responsibleImage).length" class="imgs"> |
| | | <img |
| | | v-for="(item, idx) in getValidImageList(formModel.accidentDetailVO.responsibleImage)" |
| | | :key="idx" |
| | | :src="item.url" |
| | | class="w-56px h-56px accident-thumb" @error="(e: any) => { e.target.src = 'https://huishou-1323682843.cos.ap-nanjing.myqcloud.com/images/9bed493b-a6aa-4ef6-ac10-7f67f5c6adc5.png' }" |
| | | > |
| | | </div> |
| | | </div> |
| | | <div class="mb-16px"> |
| | | <div class="label mb-4px"> |
| | | 现场情况 |
| | | </div> |
| | | <div class="value mb-8px"> |
| | |
| | | if (code === 200) { |
| | | window.$message?.success(t('workOrder.detailPage.editSuccess')) |
| | | modalVisible.value = false |
| | | window.sessionStorage.setItem('workOrderNeedRefresh', '1') |
| | | getDetail() |
| | | } |
| | | else { |
| | |
| | | <script setup lang="tsx"> |
| | | import { computed, h, onMounted, ref } from 'vue' |
| | | import { onActivated } from 'vue' |
| | | import type { DataTableColumns } from 'naive-ui' |
| | | import { NButton, NTag } from 'naive-ui' |
| | | import { useRouter } from 'vue-router' |
| | |
| | | getWorkOrderList() |
| | | }) |
| | | |
| | | onActivated(() => { |
| | | if (window.sessionStorage.getItem('workOrderNeedRefresh') === '1') { |
| | | window.sessionStorage.removeItem('workOrderNeedRefresh') |
| | | getWorkOrderList() |
| | | } |
| | | }) |
| | | |
| | | const isProblemSourceSelectOpen = ref(false) |
| | | const isFeedbackTypeSelectOpen = ref(false) |
| | | const isPrioritySelectOpen = ref(false) |
| | |
| | | const res = await addRole(params) |
| | | if (res.code === 200) { |
| | | window.$message.success(t('roleManagement.modal.messages.addSuccess')) |
| | | window.sessionStorage.setItem('roleManagementNeedRefresh', '1') |
| | | emit('success') |
| | | closeModal() |
| | | } |
| | |
| | | }) |
| | | if (res.code === 200) { |
| | | window.$message.success(t('roleManagement.modal.messages.editSuccess')) |
| | | window.sessionStorage.setItem('roleManagementNeedRefresh', '1') |
| | | emit('success') |
| | | closeModal() |
| | | } |
| | |
| | | <script setup lang="tsx"> |
| | | import type { DataTableColumns } from 'naive-ui' |
| | | import { onActivated } from 'vue' |
| | | import { useBoolean } from '@/hooks' |
| | | import { deleteRole, fetchRolePage } from '@/service' |
| | | import { NButton } from 'naive-ui' |
| | |
| | | onMounted(() => { |
| | | getRoleList() |
| | | }) |
| | | |
| | | onActivated(() => { |
| | | if (window.sessionStorage.getItem('roleManagementNeedRefresh') === '1') { |
| | | window.sessionStorage.removeItem('roleManagementNeedRefresh') |
| | | getRoleList() |
| | | } |
| | | }) |
| | | </script> |
| | | |
| | | <template> |
| | |
| | | const { isSuccess } = await releaseAppVersion(params) |
| | | if (isSuccess) { |
| | | message.success('发布成功') |
| | | window.sessionStorage.setItem('appVersionManageNeedRefresh', '1') |
| | | router.back() |
| | | } |
| | | }) |
| | |
| | | <script setup lang="tsx"> |
| | | import { computed, onMounted, reactive, ref } from 'vue' |
| | | import { computed, onActivated, onMounted, reactive, ref } from 'vue' |
| | | import type { DataTableColumns, FormInst, FormRules, UploadFileInfo } from 'naive-ui' |
| | | import { NButton } from 'naive-ui' |
| | | import dayjs from 'dayjs' |
| | |
| | | onMounted(() => { |
| | | getData() |
| | | }) |
| | | |
| | | onActivated(() => { |
| | | if (window.sessionStorage.getItem('appVersionManageNeedRefresh') === '1') { |
| | | window.sessionStorage.removeItem('appVersionManageNeedRefresh') |
| | | getData() |
| | | } |
| | | }) |
| | | </script> |
| | | |
| | | <template> |
| | |
| | | const res = await editTestPlan(payload) |
| | | if (res.code === 200) { |
| | | message.success('保存成功') |
| | | window.sessionStorage.setItem('testPlanListNeedRefresh', '1') |
| | | router.back() |
| | | } |
| | | } |
| | |
| | | }) |
| | | if (res.code === 200) { |
| | | message.success('保存成功') |
| | | window.sessionStorage.setItem('testPlanListNeedRefresh', '1') |
| | | router.replace({ name: 'testPlanDetail', params: { id: planId.value } }) |
| | | getDetail() |
| | | } |
| | |
| | | <script setup lang="tsx"> |
| | | import type { DataTableColumns } from 'naive-ui' |
| | | import { NButton, NSpace, NTooltip } from 'naive-ui' |
| | | import { computed, onMounted, ref } from 'vue' |
| | | import { computed, onActivated, onMounted, ref } from 'vue' |
| | | import { useRouter } from 'vue-router' |
| | | import OperationLogModal from '@/components/custom/OperationLogModal.vue' |
| | | import Pagination from '@/components/common/Pagination.vue' |
| | |
| | | onMounted(() => { |
| | | getList() |
| | | }) |
| | | |
| | | onActivated(() => { |
| | | if (window.sessionStorage.getItem('testPlanListNeedRefresh') === '1') { |
| | | window.sessionStorage.removeItem('testPlanListNeedRefresh') |
| | | getList() |
| | | } |
| | | }) |
| | | </script> |
| | | |
| | | <template> |
| | |
| | | setPricing(params).then((res) => { |
| | | if (res.code === 200) { |
| | | window.$message.success('设置成功') |
| | | window.sessionStorage.setItem('pricingManagementNeedRefresh', '1') |
| | | handleCancel() |
| | | } |
| | | }).finally(() => { |
| | |
| | | <script setup lang="tsx"> |
| | | import type { DataTableColumns } from 'naive-ui' |
| | | import { onActivated } from 'vue' |
| | | import { useBoolean } from '@/hooks' |
| | | import { NButton, NSpace } from 'naive-ui' |
| | | import { deletePricing, getPricingList } from '@/service/api/transaction' |
| | |
| | | getList() |
| | | }) |
| | | |
| | | onActivated(() => { |
| | | if (window.sessionStorage.getItem('pricingManagementNeedRefresh') === '1') { |
| | | window.sessionStorage.removeItem('pricingManagementNeedRefresh') |
| | | getList() |
| | | } |
| | | }) |
| | | |
| | | function changePage(page: number, size: number) { |
| | | pageParams.value.pageNum = page |
| | | pageParams.value.pageSize = size |
| | |
| | | }) |
| | | if (res.code === 200) { |
| | | window.$message.success('保存成功') |
| | | window.sessionStorage.setItem('pricingManagementNeedRefresh', '1') |
| | | handleCancel() |
| | | } |
| | | } |