.trae/skills/通用规范/SKILL.md
@@ -4,4 +4,6 @@ --- 1,如果有页面有table,那么需要给table设置空状态的插槽,参考src\views\businessOperations\geofenceManagement\index.vue 页面的插槽 2,如果有图片,并且图片的路径是变量而不是固定路径或固定地址,需要设置图片加载失败的默认图片@/assets/element-img/error-img.png。需要注意,图片可能有img和组件的nimage 2,如果有图片,需要判断图片的src, 如果src是相对路径或者绝对路径,或者固定的图片地址,则不需要更改, 如果src是变量,需要设置图片加载失败的默认图片@/assets/element-img/error-img.png。需要注意,图片可能有img和组件的nimage src/views/operations/attendance/address/index.vue
@@ -263,7 +263,13 @@ </template> <div class="flex-1 flex flex-col h-full"> <n-data-table class="flex-1" :columns="columns" :data="listData" :loading="loading" :bordered="false" flex-height :scroll-x="tableScrollX" :header-height="18" :row-height="18" /> flex-height :scroll-x="tableScrollX" :header-height="18" :row-height="18"> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :count="count" :page="pageParams.pageNum" :page-size="pageParams.pageSize" class="robotaxi-pagination mt-12px" @change="changePage" /> </div> src/views/operations/attendance/shift/index.vue
@@ -267,7 +267,13 @@ :scroll-x="tableScrollX" :header-height="18" :row-height="18" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :count="total" :page="pageParams.pageNum" src/views/operations/attendance/statistics/detail.vue
@@ -185,7 +185,13 @@ </template> <NSpace vertical :size="12"> <n-data-table :columns="columns" :data="detailList" :loading="loading" :bordered="false" :header-height="18" :row-height="18" :scroll-x="1500" /> :row-height="18" :scroll-x="1500"> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :count="total" :page="pageParams.pageNum" :page-size="pageParams.pageSize" @change="changePage" /> </NSpace> </n-card> src/views/operations/attendance/statistics/index.vue
@@ -223,7 +223,13 @@ :scroll-x="tableScrollX" :header-height="18" :row-height="18" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :count="total" :page="pageParams.pageNum" src/views/operations/message/index.vue
@@ -138,7 +138,13 @@ :bordered="false" :header-height="18" :row-height="18" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> </div> </n-card> src/views/operations/personnel/personnelManagement/components/PersonnelFormModal.vue
@@ -274,7 +274,7 @@ <img :src="uploadAvatarImg" class="avatar-trigger-img"> </div> <div v-else class="avatar-preview"> <img class="avatar-img" :src="avatarUrl"> <img class="avatar-img" :src="avatarUrl" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> <img class="avatar-delete" :src="deleteImg" @click.stop="handleRemove"> <img class="avatar-edit" :src="editImg" @click.stop="handleReupload"> </div> src/views/operations/personnel/personnelManagement/detail.vue
@@ -133,17 +133,17 @@ :src="personnelInfo.idCardFrontUrl" object-fit="cover" class="rounded-4px border border-[#E5E5E5]" fallback-src="/src/assets/element-img/error-img.png" /> <n-image width="213" height="120" v-if="personnelInfo.idCardBackUrl" :src="personnelInfo.idCardBackUrl" object-fit="cover" class="rounded-4px border border-[#E5E5E5]" fallback-src="/src/assets/element-img/error-img.png" /> </div> <div v-else class="text-14px text-[#919191]">-</div> </div> <div class="mb-16px"> @@ -151,12 +151,11 @@ <n-image width="213" height="120" v-if="personnelInfo.driverLicenseUrl" :src="personnelInfo.driverLicenseUrl" object-fit="cover" fallback-src="/src/assets/element-img/error-img.png" class="rounded-4px border border-[#E5E5E5]" /> <div v-else class="text-14px text-[#919191]">-</div> </div> <div> @@ -164,12 +163,11 @@ <n-image width="213" height="120" v-if="personnelInfo.noCriminalRecordUrl" :src="personnelInfo.noCriminalRecordUrl" object-fit="cover" class="rounded-4px border border-[#E5E5E5]" fallback-src="/src/assets/element-img/error-img.png" /> <div v-else class="text-14px text-[#919191]">-</div> </div> </n-card> src/views/operations/personnel/personnelManagement/index.vue
@@ -269,7 +269,7 @@ return ( <div class="flex items-center gap-2"> {avatarUrl ? ( <img src={avatarUrl} alt="头像" class="w-24px h-24px rounded-full object-cover" /> <img src={avatarUrl} alt="头像" class="w-24px h-24px rounded-full object-cover" onError={(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }} /> ) : row.sex === 1 ? ( <img src="/src/assets/element-img/avatar.png" class="w-24px h-24px rounded-full" alt="默认男头像" /> ) : ( @@ -456,7 +456,13 @@ :header-height="18" class="flex-1" :row-height="18" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :count="total" class="robotaxi-pagination mt-12px" :page="pageParams.pageNum" :page-size="pageParams.pageSize" @change="changePage" /> </div> </n-card> src/views/operations/taskOrder/taskOrderCenter/components/AddFormModal.vue
@@ -479,6 +479,7 @@ v-if="file.url" :src="file.url" class="image-thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > <div v-else class="image-thumb image-thumb--placeholder" /> <img src/views/operations/taskOrder/taskOrderCenter/components/RegularDetailModal.vue
@@ -155,7 +155,7 @@ > <div v-if="currentDetail" class="regular-detail"> <div class="vehicle-header"> <img :src="vehicleImage" class="vehicle-image"> <img :src="vehicleImage" class="vehicle-image" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> <div class="vehicle-text"> <div class="plate-number"> {{ currentDetail.plateNumber || "-" }} @@ -265,7 +265,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -280,7 +280,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -295,7 +295,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -312,7 +312,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -328,7 +328,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -393,7 +393,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -436,7 +436,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -477,7 +477,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -492,7 +492,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -507,7 +507,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -522,7 +522,7 @@ v-for="(item, idx) in getValidImageList(currentDetail.fogLight)" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -535,7 +535,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" /> </div> </div> --> @@ -552,7 +552,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" /> </div> </div> @@ -565,7 +565,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" /> </div> </div> @@ -578,7 +578,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" /> </div> </div> @@ -591,7 +591,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" /> </div> </div> --> @@ -607,7 +607,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" /> </div> </div> --> @@ -618,7 +618,7 @@ v-for="(item, idx) in getValidImageList(currentDetail.lostItems)" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" /> </div> </div> --> @@ -652,7 +652,7 @@ v-for="(item, idx) in getValidImageList(currentDetail.taskImage)" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -705,7 +705,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -744,7 +744,7 @@ )" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -784,7 +784,7 @@ v-for="(item, idx) in getValidImageList(currentDetail.taskImage)" :key="idx" :src="item.url" class="thumb" class="thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> src/views/operations/taskOrder/taskOrderCenter/components/detailModal.vue
@@ -224,7 +224,7 @@ <img v-if="getVehicleImage(formModel.accidentDetailVO.vehiclePictures)" :src="getVehicleImage(formModel.accidentDetailVO.vehiclePictures)" class="w-112px h-64px mr-16px accident-vehicle-image" class="w-112px h-64px mr-16px accident-vehicle-image" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > <div> <div class="plateNumber mb-8px"> @@ -257,7 +257,7 @@ v-for="(item, idx) in getValidImageList(formModel.accidentDetailVO.taskImage)" :key="idx" :src="item.url" class="w-56px h-56px accident-thumb" class="w-56px h-56px accident-thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -266,7 +266,7 @@ <img v-if="parseAvatarUrl(formModel.accidentDetailVO.reportUserAvatar)" :src="parseAvatarUrl(formModel.accidentDetailVO.reportUserAvatar)" class="w-40px h-40px accident-avatar" class="w-40px h-40px accident-avatar" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > <div class="flex-1 min-w-0"> <div class="label mb-4px"> @@ -333,7 +333,7 @@ v-for="(item, idx) in getValidImageList(formModel.accidentDetailVO.situationImage)" :key="idx" :src="item.url" class="w-56px h-56px accident-thumb" class="w-56px h-56px accident-thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -349,7 +349,7 @@ v-for="(item, idx) in getValidImageList(formModel.accidentDetailVO.disposalImage)" :key="idx" :src="item.url" class="w-56px h-56px accident-thumb" class="w-56px h-56px accident-thumb" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -358,7 +358,7 @@ <img v-if="parseAvatarUrl(formModel.accidentDetailVO.handleUserAvatar)" :src="parseAvatarUrl(formModel.accidentDetailVO.handleUserAvatar)" class="w-40px h-40px accident-avatar" class="w-40px h-40px accident-avatar" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > <div class="flex-1 min-w-0"> <div class="label mb-4px"> @@ -388,7 +388,7 @@ <div class="mb-16px flex items-center"> <img v-if="formModel.detectionDetailVO?.vehiclePictures" :src="formModel.detectionDetailVO.vehiclePictures" class="w-112px h-64px mr-16px" class="w-112px h-64px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > <div> <div class="plateNumber mb-8px"> @@ -455,7 +455,7 @@ <div class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.detectionDetailVO.sensorCleaningPicture)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" :src="item.url" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -466,7 +466,7 @@ <div class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.detectionDetailVO.interactiveScreenPicture)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" :src="item.url" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -477,7 +477,7 @@ <div class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.detectionDetailVO.helpButtonPicture)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" :src="item.url" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -488,7 +488,7 @@ <div class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.detectionDetailVO.paymentFunctionPicture)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" :src="item.url" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -499,7 +499,7 @@ <div class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.detectionDetailVO.systemCheckPicture)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" :src="item.url" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -521,7 +521,7 @@ <div class="mb-16px flex items-center"> <img v-if="formModel.chargingDetailVO?.vehiclePictures.url" :src="formModel.chargingDetailVO.vehiclePictures.url" class="w-112px h-64px mr-16px" class="w-112px h-64px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > <div> <div class="plateNumber mb-8px"> @@ -555,7 +555,7 @@ </div> <div class="imgs"> <div v-for="(item, idx) in JSON.parse(formModel.chargingDetailVO.startChargingPicture)" :key="idx"> <img v-if="item?.url" :src="item.url" class="w-56px h-56px mr-16px"> <img v-if="item?.url" :src="item.url" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </div> </div> @@ -575,7 +575,7 @@ </div> <div class="imgs"> <div v-for="(item, idx) in JSON.parse(formModel.chargingDetailVO.endChargingPicture)" :key="idx"> <img v-if="item?.url" :src="item.url" class="w-56px h-56px mr-16px"> <img v-if="item?.url" :src="item.url" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </div> </div> @@ -587,7 +587,7 @@ <div class="mb-16px flex items-center"> <img v-if="formModel.preparationDetailVO?.vehiclePictures" :src="formModel.preparationDetailVO.vehiclePictures" class="w-112px h-64px mr-16px" class="w-112px h-64px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > <div> <div class="plateNumber mb-8px"> @@ -619,7 +619,7 @@ <div v-if="formModel.preparationDetailVO.headLight" class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.preparationDetailVO.headLight)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -630,7 +630,7 @@ <div v-if="formModel.preparationDetailVO.turnSignal" class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.preparationDetailVO.turnSignal)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -641,7 +641,7 @@ <div v-if="formModel.preparationDetailVO.brakeLight" class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.preparationDetailVO.brakeLight)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -652,7 +652,7 @@ <div v-if="formModel.preparationDetailVO.fogLight" class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.preparationDetailVO.fogLight)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -663,7 +663,7 @@ <div v-if="formModel.preparationDetailVO.bodyEmblem" class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.preparationDetailVO.bodyEmblem)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -674,7 +674,7 @@ <div v-if="formModel.preparationDetailVO.cabinCleaning" class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.preparationDetailVO.cabinCleaning)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" :src="item.url" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -685,7 +685,7 @@ <div v-if="formModel.preparationDetailVO.lostItems" class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.preparationDetailVO.lostItems)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> <div class="label mt-8px"> @@ -710,7 +710,7 @@ <div class="mb-16px flex items-center"> <img v-if="formModel.cleanDetailVO?.vehiclePictures" :src="formModel.cleanDetailVO.vehiclePictures" class="w-112px h-64px mr-16px" class="w-112px h-64px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > <div> <div class="plateNumber mb-8px"> @@ -732,7 +732,7 @@ <div class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.cleanDetailVO.taskImage)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -754,7 +754,7 @@ <div class="mb-16px flex items-center"> <img v-if="formModel.repairDetailVO?.vehiclePictures" :src="formModel.repairDetailVO.vehiclePictures" class="w-112px h-64px mr-16px" class="w-112px h-64px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > <div> <div class="plateNumber mb-8px"> @@ -783,7 +783,7 @@ <div class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.repairDetailVO.startRepairPicture)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" :src="item.url" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -804,7 +804,7 @@ <div class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.repairDetailVO.repairMoneyDetail)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" :src="item.url" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> @@ -826,7 +826,7 @@ <div class="mb-16px flex items-center"> <img v-if="formModel.routineDetailVO?.vehiclePictures" :src="formModel.routineDetailVO.vehiclePictures" class="w-112px h-64px mr-16px" class="w-112px h-64px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > <div> <div class="plateNumber mb-8px"> @@ -851,7 +851,7 @@ <div class="imgs"> <img v-for="(item, idx) in JSON.parse(formModel.routineDetailVO.taskImage)" :key="idx" :src="item.url" class="w-56px h-56px mr-16px" class="w-56px h-56px mr-16px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }" > </div> </div> src/views/operations/taskOrder/taskOrderCenter/index.vue
@@ -559,7 +559,13 @@ :header-height="18" :row-height="18" :scroll-x="tableScrollX" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination class="robotaxi-pagination mt-12px" :count="total" src/views/service/review/personnel/index.vue
@@ -67,7 +67,7 @@ render: (row) => { return ( <div class="flex items-center gap-2"> {row.avatar && <img src={JSON.parse(row.avatar).url} alt="头像" class="w-24px h-24px rounded-full" />} {row.avatar && <img src={JSON.parse(row.avatar).url} alt="头像" class="w-24px h-24px rounded-full" onError={(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }} />} {!row.avatar && <div class="w-24px h-24px rounded-full flex justify-center" style="background-color: #F6F7FA;"> <img src="/src/assets/public/avater.png" class="w-17px h-21px" /> </div>} @@ -518,7 +518,13 @@ :bordered="false" :row-key="(row: any) => row.id" @update:checked-row-keys="handleCheck" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </NDataTable> <Pagination :count="count" :page="pagination.page" src/views/service/review/policyApplication/index.vue
@@ -416,7 +416,13 @@ :bordered="false" :row-key="(row: any) => row.id" @update:checked-row-keys="handleCheck" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :count="count" :page="pagination.page" src/views/service/ticket/feedback/index.vue
@@ -62,7 +62,7 @@ render: (row) => { return ( <div class="flex items-center gap-2"> {row.avatar && <img src={row.avatar} alt="头像" class="w-24px h-24px rounded-full" />} {row.avatar && <img src={row.avatar} alt="头像" class="w-24px h-24px rounded-full" onError={(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }} />} {!row.avatar && <div class="w-24px h-24px rounded-full flex justify-center" style="background-color: #F6F7FA;"> <img src="/src/assets/public/avater.png" class="w-17px h-21px" /> </div>} @@ -239,7 +239,13 @@ :scroll-x="1410" :bordered="false" :row-key="(row: any) => row.id" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :count="count" :page="pagination.page" @@ -257,6 +263,7 @@ v-for="(img, index) in previewImages" :key="index" :src="img" fallback-src="/src/assets/element-img/error-img.png" /> </n-image-group> </div> src/views/service/ticket/feedbackType/index.vue
@@ -203,7 +203,13 @@ :pagination="false" :bordered="false" :row-key="(row: FeedbackTypeItem) => row.id" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> </div> </n-card> src/views/service/ticket/workOrder/components/WorkOrderHandleModal.vue
@@ -259,6 +259,7 @@ width="100" height="100" class="rounded-lg" fallback-src="/src/assets/element-img/error-img.png" /> </div> </n-image-group> src/views/service/ticket/workOrder/detail.vue
@@ -358,6 +358,7 @@ :src="item.url" width="120" height="120" fallback-src="/src/assets/element-img/error-img.png" /> </div> </n-image-group> @@ -526,6 +527,7 @@ v-show="false" :src="previewUrl" :alt="previewName" fallback-src="/src/assets/element-img/error-img.png" /> <WorkOrderModal src/views/service/ticket/workOrder/index.vue
@@ -580,7 +580,13 @@ :loading="loading" :scroll-x="1600" :row-key="(row: WorkOrderItem) => row.id" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :count="count" :page="pagination.page" src/views/system/accountPermission/accountManagement/index.vue
@@ -514,7 +514,13 @@ flex-height :bordered="false" @update:checked-row-keys="handleCheck" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </NDataTable> <Pagination :count="count" :page="pageParams.pageNum" src/views/system/accountPermission/permissionGroup/index.vue
@@ -220,7 +220,13 @@ :loading="loading" :bordered="false" :scroll-x="1100" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :count="count" :page="pageParams.pageNum" src/views/system/appVersion/appVersionManage/index.vue
@@ -308,7 +308,13 @@ flex-height :header-height="18" :row-height="18" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :count="pagination.itemCount" :page="pagination.page" src/views/transaction/navigationAndRoutePlanning/index.vue
@@ -294,7 +294,13 @@ </template> <div class="flex-1 flex flex-col h-full"> <n-data-table class="flex-1" :columns="columns" :data="listData" :loading="loading" flex-height :bordered="false" :header-height="18" :row-height="18" /> :bordered="false" :header-height="18" :row-height="18"> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination class="robotaxi-pagination mt-12px" :count="count" :page-size="pageParams.pageSize" :page="pageParams.pageNum" @change="changePage" /> </div> src/views/transaction/order/evaluationRecord/index.vue
@@ -214,7 +214,13 @@ <n-card class="flex-1 robotaxi-table-card"> <div class="flex-1 flex flex-col h-full"> <n-data-table class="flex-1" :columns="columns" :data="listData" :loading="loading" flex-height :bordered="false" :header-height="18" :row-height="18" /> :bordered="false" :header-height="18" :row-height="18"> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination class="robotaxi-pagination mt-12px" :count="count" :page="pageParams.pageNum" :page-size="pageParams.pageSize" @change="changePage" /> </div> src/views/transaction/order/orderManagement/index.vue
@@ -594,7 +594,13 @@ <!-- table 区域 --> <n-data-table class="flex-1" :row-key="rowKey" :scroll-x="1950" :columns="columns" :data="listData" :loading="loading" flex-height :bordered="false" :header-height="18" :row-height="18" @update:checked-row-keys="handleCheck" /> @update:checked-row-keys="handleCheck"> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :count="count" :page="pageParams.pageNum" :page-size="pageParams.pageSize" class="robotaxi-pagination mt-12px" @change="changePage" /> </div> src/views/transaction/pricingManagement/index.vue
@@ -227,7 +227,13 @@ </template> <div class="flex-1 flex flex-col h-full"> <n-data-table class="flex-1" :columns="columns" :data="listData" :loading="loading" flex-height :bordered="false" :header-height="18" :row-height="18" /> :bordered="false" :header-height="18" :row-height="18"> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination class="robotaxi-pagination mt-12px" :count="count" :page-size="pageParams.pageSize" :page="pageParams.pageNum" @change="changePage" /> </div> src/views/transaction/transactionStrategy/index.vue
@@ -421,14 +421,26 @@ <n-form-item label="分单倾向配置" path="splitOrderPreference" required> </n-form-item> <div class=" w-[424px]"> <n-data-table :columns="columns" :data="data" :bordered="false"/> <n-data-table :columns="columns" :data="data" :bordered="false"> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> </div> </NSpace> <NSpace vertical :size="8"> <n-form-item label="订单价值权重配置" path="orderValueWeight" required> </n-form-item> <div class=" w-[424px]"> <n-data-table :columns="columns1" :data="data1" :bordered="false"/> <n-data-table :columns="columns1" :data="data1" :bordered="false"> <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> </div> </NSpace> </NSpace> src/views/userContent/active/coupon/BatchSendModal.vue
@@ -217,7 +217,13 @@ <div class="flex-1 overflow-hidden" style="min-height: 0;"> <!-- 表格区域 --> <n-data-table style="height: 100%;" flex-height v-model:checked-row-keys="checkedRowKeys" :columns="columns" :data="list" :loading="loading" :bordered="false" :row-key="(row) => row.id" :pagination="false" /> :bordered="false" :row-key="(row) => row.id" :pagination="false" > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> </div> <Pagination :count="total" :page="currentPage" :page-size="pageSize" style="margin-top: 12px; flex-shrink: 0;" src/views/userContent/active/coupon/index.vue
@@ -279,7 +279,13 @@ :bordered="false" flex-height :scroll-x="1280" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :count="total" :page="currentPage" src/views/userContent/banner/index.vue
@@ -399,7 +399,13 @@ flex-height :bordered="false" @update:checked-row-keys="handleCheck" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :count="totalCount" :page="searchForm.pageNum" src/views/userContent/contentCenter/components/ContentForm.vue
@@ -254,7 +254,7 @@ v-if="contentType === 'image' && formModel.images.length > 0 && formModel.images[0].url" class="phone-screen" > <img :src="formModel.images[0].url" alt="预览内容"> <img :src="formModel.images[0].url" alt="预览内容" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </div> </div> src/views/userContent/whitelistManagement/invitationCode/index.vue
@@ -427,7 +427,13 @@ :header-height="18" :row-height="18" :scroll-x="1400" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :count="count" :page-size="pageParams.pageSize" :page="pageParams.pageNum" class="robotaxi-pagination mt-12px" @change="changePage" /> </div> </n-card> src/views/userContent/whitelistManagement/whitelist/index.vue
@@ -503,7 +503,13 @@ v-model:checked-row-keys="selectedRowKeys" flex-height :bordered="false" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </n-data-table> <Pagination :key="paginationKey" :count="totalCount" :page="model.pageNum" :page-size="model.pageSize" class="robotaxi-pagination mt-12px" @change="changePage" /> </div> </n-card> src/views/userContent/whitelistManagement/whitelistLog/index.vue
@@ -262,7 +262,13 @@ :scroll-x="1110" :header-height="18" :row-height="18" /> > <template #empty> <div class="flex-center"> <img src="/src/assets/element-img/no-data.png" style="width:123px;height:125px" @error="(e: any) => { e.target.src = '/src/assets/element-img/error-img.png' }"> </div> </template> </NDataTable> <Pagination :count="count" :page="model.pageNum" :page-size="model.pageSize" class="robotaxi-pagination mt-12px" @change="changePage" /> </div> </NCard>