| src/views/assetManagement/ruleConfig/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/assetManagement/vehicleManagement/operatingVehicle/detail.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/operations/taskOrder/taskOrderCenter/components/AddFormModal.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/operations/taskOrder/taskOrderCenter/components/detailModal.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/operations/taskOrder/taskOrderCenter/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/assetManagement/ruleConfig/index.vue
@@ -346,7 +346,7 @@ { label: '一级', value: 0 }, { label: '二级', value: 1 }, { label: '三级', value: 2 }, { label: '四级', value: 3 }, // { label: '四级', value: 3 }, ] function renderUrgencyLabel(option: { label: string, value: number }) { @@ -622,14 +622,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-form-item> </n-gi> @@ -645,14 +645,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-form-item> </n-gi> @@ -705,14 +705,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> <!-- Unit selection is already present --> </n-input-group> </n-form-item> @@ -740,7 +740,7 @@ src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> > </div> </template> </n-form-item> @@ -765,14 +765,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-form-item> </n-gi> @@ -811,14 +811,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-form-item> </n-gi> @@ -834,14 +834,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-form-item> </n-gi> @@ -878,14 +878,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-input-group> </n-form-item> @@ -907,14 +907,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-form-item> </n-gi> @@ -930,14 +930,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-form-item> </n-gi> @@ -966,15 +966,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-input-group> </n-form-item> @@ -996,14 +995,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-form-item> </n-gi> @@ -1019,14 +1018,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-form-item> </n-gi> @@ -1089,14 +1088,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-form-item> </n-gi> @@ -1112,14 +1111,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-form-item> </n-gi> @@ -1153,14 +1152,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-form-item> </n-gi> src/views/assetManagement/vehicleManagement/operatingVehicle/detail.vue
@@ -136,37 +136,46 @@ const chargingColumns = [ { title: '序号', key: 'index', align: 'left' as const, width: 80, render: (row: any, index: number) => (chargingPage.value.pageNum - 1) * chargingPage.value.pageSize + index + 1 }, { title: '记录时间', key: 'operationTime', align: 'left' as const, width: 180, render: (row: any) => row.operationTime ? dayjs(row.operationTime).format('YYYY/MM/DD HH:mm:ss') : '-' }, { title: '充电前剩余电量', key: 'startRemainingBattery', align: 'left' as const, width: 160, render: (row: any) =>( { title: '充电前剩余电量', key: 'startRemainingBattery', align: 'left' as const, width: 160, render: (row: any) => ( <div class="flex items-center gap-4px"> <n-image src="/src/assets/element-img/power.png" style="width:25px;height:12px" /> <span style="color:#E85050;font-size: 11px;">{row.startRemainingBattery ?? "0"} km</span> </div> ) }, <n-image src="/src/assets/element-img/power.png" style="width:25px;height:12px" /> <span style="color:#E85050;font-size: 11px;"> {row.startRemainingBattery ?? '0'} {' '} km </span> </div> ) }, { title: '图片', key: 'startChargingPicture', align: 'left' as const, width: 140, render: (row: any) => renderImageCell(row.startChargingPicture) }, { title: '充电后剩余电量', key: 'endRemainingBattery', align: 'left' as const, width: 160, render: (row: any) => ( row.endRemainingBattery ? <div class="flex items-center gap-4px"> <n-image src="/src/assets/element-img/powered.png" style="width:25px;height:12px" /> <span style="color:#06B752;font-size: 11px;">{row.endRemainingBattery ?? "0"} km</span> </div> : '-' ) }, { title: '充电后剩余电量', key: 'endRemainingBattery', align: 'left' as const, width: 160, render: (row: any) => ( row.endRemainingBattery ? ( <div class="flex items-center gap-4px"> <n-image src="/src/assets/element-img/powered.png" style="width:25px;height:12px" /> <span style="color:#06B752;font-size: 11px;"> {row.endRemainingBattery ?? '0'} {' '} km </span> </div> ) : '-' ) }, { title: '图片', key: 'endChargingPicture', align: 'left' as const, width: 140, render: (row: any) => renderImageCell(row.endChargingPicture) }, { title: '充电时间', key: 'chargingTime', align: 'left' as const, width: 240, render: (row: any) => ( <span>{row.startTime ? dayjs(row.startTime).format('YYYY/MM/DD HH:mm:ss') : '-'} <span style="color: rgb(23, 31, 38,.8);"> 至 </span> {row.endTime ? dayjs(row.endTime).format('YYYY/MM/DD HH:mm:ss') : '-'} </span> ) }, ( <span> {row.startTime ? dayjs(row.startTime).format('YYYY/MM/DD HH:mm:ss') : '-'} <span style="color: rgb(23, 31, 38,.8);"> 至 </span> {row.endTime ? dayjs(row.endTime).format('YYYY/MM/DD HH:mm:ss') : '-'} </span> ) }, { title: '操作人', key: 'operator', align: 'left' as const, width: 180, render: (row: any) => [row.operatorStartName, row.operatorEndName].filter(Boolean).join(' / ') || '-' }, { title: '操作', @@ -209,9 +218,11 @@ { title: '序号', key: 'index', align: 'left' as const, width: 80, render: (row: any, index: number) => (maintenancePage.value.pageNum - 1) * maintenancePage.value.pageSize + index + 1 }, { title: '维修原因', key: 'repairReason', align: 'left' as const, width: 180 }, { title: '停运时间', key: 'repairTime', align: 'left' as const, width: 240, render: (row: any) => ( <span>{row.startTime ? dayjs(row.startTime).format('YYYY/MM/DD') : '-'} <span style="color: rgb(23, 31, 38,.8);"> 至 </span> {row.endTime ? dayjs(row.endTime).format('YYYY/MM/DD') : '-'} </span> <span> {row.startTime ? dayjs(row.startTime).format('YYYY/MM/DD') : '-'} <span style="color: rgb(23, 31, 38,.8);"> 至 </span> {row.endTime ? dayjs(row.endTime).format('YYYY/MM/DD') : '-'} </span> ) }, { title: '维修总费用', key: 'repairMoney', align: 'left' as const, width: 140, render: (row: any) => (row.repairMoney != null ? `¥${row.repairMoney}` : '-') }, { title: '送修人', key: 'operatorStartName', align: 'left' as const, width: 120 }, @@ -247,7 +258,7 @@ 0: { type: 'error', text: '一级' }, 1: { type: 'warning', text: '二级' }, 2: { type: 'info', text: '三级' }, 3: { type: 'success', text: '四级' }, // 3: { type: 'success', text: '四级' }, } const urgency = urgencyMap[row.taskUrgencyLevel] return urgency ? <NTag type={urgency.type} size="small" bordered={false}>{urgency.text}</NTag> : '-' @@ -762,7 +773,7 @@ {urls.map((u: string, idx: number) => ( <NImage key={idx} src={u || "https://huishou-1323682843.cos.ap-nanjing.myqcloud.com/images/9bed493b-a6aa-4ef6-ac10-7f67f5c6adc5.png"} src={u || 'https://huishou-1323682843.cos.ap-nanjing.myqcloud.com/images/9bed493b-a6aa-4ef6-ac10-7f67f5c6adc5.png'} width={40} height={40} object-fit="cover" @@ -1344,7 +1355,7 @@ class="collapse-icon" :class="{ 'is-collapsed': !isVehicleInfoExpanded }" @click="toggleVehicleInfo" /> > <span class="header-title">车辆信息</span> </div> <div @@ -1386,7 +1397,7 @@ e.target.src = defaultImage; } " /> > </div> <!-- 基础信息 --> @@ -1399,8 +1410,7 @@ class="status-chip" :class="vehicleTag.cls" @click="handleStatusClick" >{{ vehicleTag.text }}</span > >{{ vehicleTag.text }}</span> <span class="status-chip" :class="operatingTag.cls">{{ operatingTag.text }}</span> @@ -1410,9 +1420,7 @@ vehicleDetail.color || "白色" }}</span> <span class="basic-separator">|</span> <span class="basic-value" >VIN{{ ` ${vehicleDetail.vinCode}` }}</span > <span class="basic-value">VIN{{ ` ${vehicleDetail.vinCode}` }}</span> </div> </div> </div> @@ -1444,8 +1452,8 @@ <span class="detail-value">{{ vehicleDetail.inspectionExpireDate ? dayjs(vehicleDetail.inspectionExpireDate).format( "YYYY/MM/DD" ) "YYYY/MM/DD", ) : "-" }}</span> </div> @@ -1461,8 +1469,8 @@ <span class="detail-value">{{ vehicleDetail.insuranceExpireDate ? dayjs(vehicleDetail.insuranceExpireDate).format( "YYYY/MM/DD" ) "YYYY/MM/DD", ) : "-" }}</span> </div> @@ -1575,7 +1583,7 @@ <img src="/src/assets/element-img/no-data.png" style="width: 123px; height: 125px" /> > </div> </template> </NDataTable> @@ -1660,7 +1668,7 @@ <img src="/src/assets/element-img/no-data.png" style="width: 123px; height: 125px" /> > </div> </template> </NDataTable> @@ -1741,7 +1749,7 @@ <img src="/src/assets/element-img/no-data.png" style="width: 123px; height: 125px" /> > </div> </template> </NDataTable> @@ -1823,7 +1831,7 @@ <img src="/src/assets/element-img/no-data.png" style="width: 123px; height: 125px" /> > </div> </template> </NDataTable> @@ -1904,7 +1912,7 @@ <img src="/src/assets/element-img/no-data.png" style="width: 123px; height: 125px" /> > </div> </template> </NDataTable> @@ -1997,7 +2005,7 @@ <img src="/src/assets/element-img/no-data.png" style="width: 123px; height: 125px" /> > </div> </template> </NDataTable> @@ -2044,7 +2052,7 @@ :class="{ 'arrow-icon--open': isTaskTypeOpen }" style="width: 16px; height: 16px" alt="arrow" /> > </template> </NSelect> </NFormItem> @@ -2066,7 +2074,7 @@ }" style="width: 16px; height: 16px" alt="arrow" /> > </template> </NSelect> </NFormItem> @@ -2090,7 +2098,7 @@ :class="{ 'arrow-icon--open': isTaskErrorIdOpen }" style="width: 16px; height: 16px" alt="arrow" /> > </template> </NCascader> </NFormItem> @@ -2140,7 +2148,7 @@ <img src="/src/assets/element-img/no-data.png" style="width: 123px; height: 125px" /> > </div> </template> </NDataTable> src/views/operations/taskOrder/taskOrderCenter/components/AddFormModal.vue
@@ -430,9 +430,9 @@ <n-radio-button :value="2"> 三级 </n-radio-button> <n-radio-button :value="3"> <!-- <n-radio-button :value="3"> 四级 </n-radio-button> </n-radio-button> --> </n-radio-group> </n-form-item> @@ -452,14 +452,14 @@ > </template> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" /> </div> </template> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width: 50%" alt="no-data" > </div> </template> </n-select> </n-form-item> </div> src/views/operations/taskOrder/taskOrderCenter/components/detailModal.vue
@@ -44,7 +44,7 @@ { label: '一级', value: 0, type: 'error' }, { label: '二级', value: 1, type: 'error' }, { label: '三级', value: 2, type: 'error' }, { label: '四级', value: 3, type: 'warning' }, // { label: '四级', value: 3, type: 'warning' }, ] const statusOptions = [ { label: '待到达', value: 0, type: 'default' }, src/views/operations/taskOrder/taskOrderCenter/index.vue
@@ -73,7 +73,7 @@ { label: '一级', value: 0, type: 'error' }, { label: '二级', value: 1, type: 'error' }, { label: '三级', value: 2, type: 'error' }, { label: '四级', value: 3, type: 'warning' }, // { label: '四级', value: 3, type: 'warning' }, ] const statusOptions = [ { label: '待到达', value: 0, type: 'default' }, @@ -389,9 +389,10 @@ async function handleDetail(row: any) { const res = await getTaskOrderDetail(row.id) if (res.code === 200) { if (row.taskCategory === 2) if (row.taskCategory === 2) { accidentDetailModalRef.value.openModal(res.data, row.id) else{ } else { routineDetailModalRef.value.openModal(res.data, row.id) } } @@ -565,8 +566,12 @@ </n-form-item> </n-gi> <template #action> <NButton @click="handleResetSearch"> 重置 </NButton> <NButton type="primary" @click="handleSearch"> 查询 </NButton> <NButton @click="handleResetSearch"> 重置 </NButton> <NButton type="primary" @click="handleSearch"> 查询 </NButton> </template> </SearchPanel> </n-form> @@ -575,7 +580,9 @@ <n-card class="flex-1 robotaxi-table-card"> <template #header> <n-flex justify="flex-end"> <NButton v-permission="7051" @click="handleExport"> 导出 </NButton> <NButton v-permission="7051" @click="handleExport"> 导出 </NButton> <NButton v-permission="7052" type="primary" @@ -604,7 +611,7 @@ src="/src/assets/element-img/no-data.png" style="width: 123px; height: 125px" @error="(e: any) => { e.target.src = 'https://huishou-1323682843.cos.ap-nanjing.myqcloud.com/images/9bed493b-a6aa-4ef6-ac10-7f67f5c6adc5.png' }" /> > </div> </template> </n-data-table>