Commit fa18d722f4a430c7ff55907dff0415bf2cbc5896
1 parent
7b6c1777
提交12-3
Showing
11 changed files
with
272 additions
and
127 deletions
garbage-removal/src/pages/home-info/clean/company-detail/index.vue
| ... | ... | @@ -2,23 +2,23 @@ |
| 2 | 2 | <view class="company-container"> |
| 3 | 3 | <view class="company-content-box"> |
| 4 | 4 | <view class="company-content-header"> |
| 5 | - <view class="company-content-left"> | |
| 6 | - <up-image :show-loading="true" | |
| 7 | - :src="headerData.companyLogo ? headerData.companyLogo : '../../../../static/image/freecompress-swiper-2.jpg'" | |
| 8 | - width="150rpx" height="150rpx"></up-image> | |
| 9 | - </view> | |
| 5 | +<!-- <view class="company-content-left">--> | |
| 6 | +<!-- <up-image :show-loading="true"--> | |
| 7 | +<!-- :src="headerData.companyLogo ? headerData.companyLogo : '../../../../static/image/freecompress-swiper-2.jpg'"--> | |
| 8 | +<!-- width="150rpx" height="150rpx"></up-image>--> | |
| 9 | +<!-- </view>--> | |
| 10 | 10 | <view class="company-content-right"> |
| 11 | 11 | <view class="company-content-right-name"> |
| 12 | 12 | {{ headerData.name }} |
| 13 | 13 | </view> |
| 14 | - <view class="company-content-right-area"> | |
| 15 | - <view class="company-content-right-address"> | |
| 16 | - 注册区划:{{ headerData.registrationArea }} | |
| 17 | - </view> | |
| 18 | - <view class="company-content-right-button" @click="handlerClickJumpMap"> | |
| 19 | - 一键导航 | |
| 20 | - </view> | |
| 21 | - </view> | |
| 14 | +<!-- <view class="company-content-right-area">--> | |
| 15 | +<!-- <view class="company-content-right-address">--> | |
| 16 | +<!-- 注册区划:{{ headerData.registrationArea }}--> | |
| 17 | +<!-- </view>--> | |
| 18 | +<!-- <view class="company-content-right-button" @click="handlerClickJumpMap">--> | |
| 19 | +<!-- 一键导航--> | |
| 20 | +<!-- </view>--> | |
| 21 | +<!-- </view>--> | |
| 22 | 22 | </view> |
| 23 | 23 | </view> |
| 24 | 24 | <view class="company-content-base-data"> |
| ... | ... | @@ -30,13 +30,9 @@ |
| 30 | 30 | <view class="company-content-base-data-info-item-label"> |
| 31 | 31 | {{ item.label }}: |
| 32 | 32 | </view> |
| 33 | - <view v-if="item.label != '道路运输许可证'" class="company-content-base-data-info-item-txt"> | |
| 33 | + <view class="company-content-base-data-info-item-txt"> | |
| 34 | 34 | {{ item.value }} |
| 35 | 35 | </view> |
| 36 | - <view v-else-if="item.value" class="company-content-base-data-info-item-txt"> | |
| 37 | - <u-upload :fileList="[item.value]" name="3" multiple :maxCount="10" :previewFullImage="true" | |
| 38 | - :isReadOnly="true"></u-upload> | |
| 39 | - </view> | |
| 40 | 36 | </view> |
| 41 | 37 | </view> |
| 42 | 38 | </view> |
| ... | ... | @@ -45,7 +41,7 @@ |
| 45 | 41 | <view class="company-content-car-info-sub-title">车牌号</view> |
| 46 | 42 | <view class="company-content-car-info-car-list"> |
| 47 | 43 | <view v-for="(item, index) in carList" :key="index" class="company-content-car-info-car-list-item"> |
| 48 | -<!-- {{ item.carCode }}--> | |
| 44 | + {{ item.carCode }} | |
| 49 | 45 | </view> |
| 50 | 46 | </view> |
| 51 | 47 | <view class="company-content-remark"> |
| ... | ... | @@ -101,12 +97,12 @@ import { onLoad } from '@dcloudio/uni-app'; |
| 101 | 97 | import { computed, ref } from 'vue'; |
| 102 | 98 | const mainStore = useMainStore(); |
| 103 | 99 | const userType = computed(() => mainStore.userType) |
| 104 | -const baseDataList = ref([{ label: '法人' }, { label: '负责人' }, { label: '业务联系电话' }, { label: '道路运输许可证' }, { label: '核准有效期' }, { label: '注册地址' }]); | |
| 100 | +const baseDataList = ref([{ label: '法人' }, { label: '负责人' }, { label: '业务联系电话' }, { label: '注册地址' }]); | |
| 105 | 101 | const customStyle = ref({ |
| 106 | 102 | fontSize: '30rpx', |
| 107 | 103 | lineHeight: '30rpx' |
| 108 | 104 | }) |
| 109 | -const carList = ref() | |
| 105 | +let carList = ref() | |
| 110 | 106 | const companyInfo = ref() |
| 111 | 107 | const tel = ref() |
| 112 | 108 | const userAddress = ref() |
| ... | ... | @@ -152,9 +148,9 @@ onLoad((options) => { |
| 152 | 148 | }) |
| 153 | 149 | } |
| 154 | 150 | |
| 155 | - queryCarList({ companyId: companyId }).then(res => { | |
| 156 | - carList.value = res.data.rows | |
| 157 | - }) | |
| 151 | + // queryCarList({ companyId: companyId }).then(res => { | |
| 152 | + // carList.value = res.data.rows | |
| 153 | + // }) | |
| 158 | 154 | }) |
| 159 | 155 | |
| 160 | 156 | const handleCleanGarbage = (companyObj, tel, userAddress) => { |
| ... | ... | @@ -182,12 +178,12 @@ const handlerClickJumpMap = () => { |
| 182 | 178 | } |
| 183 | 179 | |
| 184 | 180 | const initData = (baseData) => { |
| 185 | - baseDataList.value[0].value = baseData.legalRepresentative | |
| 186 | - baseDataList.value[1].value = baseData.safetyManagerName | |
| 187 | - baseDataList.value[2].value = baseData.safetyManagerPhone | |
| 188 | - baseDataList.value[3].value = baseData.transportPermission | |
| 189 | - baseDataList.value[4].value = baseData.businessLicenseDate | |
| 190 | - baseDataList.value[5].value = baseData.officeAddress | |
| 181 | + console.log("数据" + JSON.stringify(baseData)) | |
| 182 | + baseDataList.value[0].value = baseData.corporation | |
| 183 | + baseDataList.value[1].value = baseData.safetyOfficer | |
| 184 | + baseDataList.value[2].value = baseData.servicePhone | |
| 185 | + baseDataList.value[3].value = baseData.officeAddress | |
| 186 | + carList = baseData.licensePlateNos.map(plate => ({ carCode: plate })); | |
| 191 | 187 | headerData.value.name = baseData.name; |
| 192 | 188 | headerData.value.registrationArea = baseData.registrationArea; |
| 193 | 189 | headerData.value.companyLogo = import.meta.env.VITE_BASE_URL + baseData.companyLogo; | ... | ... |
garbage-removal/src/pages/order-info/order-driver/detail/guest/index.vue
| ... | ... | @@ -149,10 +149,10 @@ |
| 149 | 149 | <view class="image-group-title">{{ group.carName}}第 {{ group.index }} 趟</view> |
| 150 | 150 | <!-- 根据group.index与真实发车数比较显示状态 --> |
| 151 | 151 | <view class="car-status" :class="{ |
| 152 | - 'in-transit': group.index < dataGram.garCarInfoList.length, | |
| 153 | - 'completed': group.index >= dataGram.garCarInfoList.length | |
| 154 | - }"> | |
| 155 | - {{ group.index < dataGram.garCarInfoList.length ? '已运完' : '已运完' }} | |
| 152 | + 'in-transit': isInTransit(group.index), | |
| 153 | + 'completed': isCompleted(group.index) | |
| 154 | + }"> | |
| 155 | + {{ getStatusText(group.index) }} | |
| 156 | 156 | </view> |
| 157 | 157 | </view> |
| 158 | 158 | <u-upload width="180" height="130" :fileList="group.images" name="3" multiple :maxCount="20" |
| ... | ... | @@ -193,6 +193,49 @@ const spaceStr = ref("") |
| 193 | 193 | const qrCodeRef = ref() |
| 194 | 194 | const qrCodeText = ref() |
| 195 | 195 | |
| 196 | +const isInTransit = (index) => { | |
| 197 | + // 如果订单已完成,所有趟次都不是"清运中" | |
| 198 | + if (dataGram.value.garOrderHandlerStatus === 3) { | |
| 199 | + return false; | |
| 200 | + } | |
| 201 | + | |
| 202 | + // 当前正在清运的趟次索引(从1开始) | |
| 203 | + const currentTransitIndex = putOnImagesGrouped.value.length; | |
| 204 | + | |
| 205 | + // 只有当前趟次是"清运中" | |
| 206 | + return index === currentTransitIndex; | |
| 207 | +}; | |
| 208 | + | |
| 209 | +const isCompleted = (index) => { | |
| 210 | + // 如果订单已完成,所有趟次都是"已运完" | |
| 211 | + if (dataGram.value.garOrderHandlerStatus === 3) { | |
| 212 | + return true; | |
| 213 | + } | |
| 214 | + | |
| 215 | + // 已完成的趟次索引小于当前正在清运的趟次索引 | |
| 216 | + const currentTransitIndex = putOnImagesGrouped.value.length; | |
| 217 | + | |
| 218 | + return index < currentTransitIndex; | |
| 219 | +}; | |
| 220 | + | |
| 221 | +const getStatusText = (index) => { | |
| 222 | + // 如果订单已完成,显示"已运完" | |
| 223 | + if (dataGram.value.garOrderHandlerStatus === 3) { | |
| 224 | + return '已运完'; | |
| 225 | + } | |
| 226 | + | |
| 227 | + // 当前正在清运的趟次索引(从1开始) | |
| 228 | + const currentTransitIndex = putOnImagesGrouped.value.length; | |
| 229 | + | |
| 230 | + if (index === currentTransitIndex) { | |
| 231 | + return '正在清运'; | |
| 232 | + } else if (index < currentTransitIndex) { | |
| 233 | + return '已运完'; | |
| 234 | + } else { | |
| 235 | + return '正在清运'; | |
| 236 | + } | |
| 237 | +}; | |
| 238 | + | |
| 196 | 239 | const createQrCodeLocal = (orderId) => { |
| 197 | 240 | // 获取本地地址拼接订单id |
| 198 | 241 | showUQRcode.value = true; | ... | ... |
garbage-removal/src/pages/order-info/order-driver/detail/index.vue
| ... | ... | @@ -154,10 +154,10 @@ |
| 154 | 154 | <view class="image-group-title">{{ group.carName}}第 {{ group.index }} 趟</view> |
| 155 | 155 | <!-- 根据group.index与真实发车数比较显示状态 --> |
| 156 | 156 | <view class="car-status" :class="{ |
| 157 | - 'in-transit': group.index < dataGram.garCarInfoList.length, | |
| 158 | - 'completed': group.index >= dataGram.garCarInfoList.length | |
| 159 | - }"> | |
| 160 | - {{ group.index < dataGram.garCarInfoList.length ? '已运完' : '已运完' }} | |
| 157 | + 'in-transit': isInTransit(group.index), | |
| 158 | + 'completed': isCompleted(group.index) | |
| 159 | + }"> | |
| 160 | + {{ getStatusText(group.index) }} | |
| 161 | 161 | </view> |
| 162 | 162 | </view> |
| 163 | 163 | <u-upload width="180" height="130" :fileList="group.images" name="3" multiple :maxCount="20" |
| ... | ... | @@ -259,6 +259,49 @@ const currentCancelName = ref("") |
| 259 | 259 | const qrCodeRef = ref() |
| 260 | 260 | const qrCodeText = ref() |
| 261 | 261 | |
| 262 | +const isInTransit = (index) => { | |
| 263 | + // 如果订单已完成,所有趟次都不是"清运中" | |
| 264 | + if (dataGram.value.garOrderHandlerStatus === 3) { | |
| 265 | + return false; | |
| 266 | + } | |
| 267 | + | |
| 268 | + // 当前正在清运的趟次索引(从1开始) | |
| 269 | + const currentTransitIndex = putOnImagesGrouped.value.length; | |
| 270 | + | |
| 271 | + // 只有当前趟次是"清运中" | |
| 272 | + return index === currentTransitIndex; | |
| 273 | +}; | |
| 274 | + | |
| 275 | +const isCompleted = (index) => { | |
| 276 | + // 如果订单已完成,所有趟次都是"已运完" | |
| 277 | + if (dataGram.value.garOrderHandlerStatus === 3) { | |
| 278 | + return true; | |
| 279 | + } | |
| 280 | + | |
| 281 | + // 已完成的趟次索引小于当前正在清运的趟次索引 | |
| 282 | + const currentTransitIndex = putOnImagesGrouped.value.length; | |
| 283 | + | |
| 284 | + return index < currentTransitIndex; | |
| 285 | +}; | |
| 286 | + | |
| 287 | +const getStatusText = (index) => { | |
| 288 | + // 如果订单已完成,显示"已运完" | |
| 289 | + if (dataGram.value.garOrderHandlerStatus === 3) { | |
| 290 | + return '已运完'; | |
| 291 | + } | |
| 292 | + | |
| 293 | + // 当前正在清运的趟次索引(从1开始) | |
| 294 | + const currentTransitIndex = putOnImagesGrouped.value.length; | |
| 295 | + | |
| 296 | + if (index === currentTransitIndex) { | |
| 297 | + return '正在清运'; | |
| 298 | + } else if (index < currentTransitIndex) { | |
| 299 | + return '已运完'; | |
| 300 | + } else { | |
| 301 | + return '正在清运'; | |
| 302 | + } | |
| 303 | +}; | |
| 304 | + | |
| 262 | 305 | // 创建二维码 |
| 263 | 306 | const createQrCodeLocal = (orderId) => { |
| 264 | 307 | // 获取本地地址拼接订单id | ... | ... |
garbage-removal/src/pages/order-info/order-other/detail/index.vue
| ... | ... | @@ -265,7 +265,7 @@ |
| 265 | 265 | <view class="selector-wrapper"> |
| 266 | 266 | <text class="selector-label">新增车辆:</text> |
| 267 | 267 | <select v-model="selectedHandlerTels" class="handler-selector"> |
| 268 | - <option value="">请选择分配人员</option> | |
| 268 | + <option value="">请选择新增车型</option> | |
| 269 | 269 | <option |
| 270 | 270 | v-for="car in garCarTypeList" |
| 271 | 271 | :key="car.garOrderCarType" |
| ... | ... | @@ -373,10 +373,10 @@ |
| 373 | 373 | <view class="image-group-header"> |
| 374 | 374 | <view class="image-group-title">{{ group.carName}}第 {{ group.index }} 趟</view> |
| 375 | 375 | <view class="car-status" :class="{ |
| 376 | - 'in-transit': group.index < dataGram.garCarInfoList.length, | |
| 377 | - 'completed': group.index >= dataGram.garCarInfoList.length | |
| 376 | + 'in-transit': isInTransit(group.index), | |
| 377 | + 'completed': isCompleted(group.index) | |
| 378 | 378 | }"> |
| 379 | - {{ group.index < dataGram.garCarInfoList.length ? '已运完' : '已运完' }} | |
| 379 | + {{ getStatusText(group.index) }} | |
| 380 | 380 | </view> |
| 381 | 381 | </view> |
| 382 | 382 | <u-upload width="180" height="130" :fileList="group.images" name="3" multiple :maxCount="20" |
| ... | ... | @@ -396,15 +396,8 @@ |
| 396 | 396 | <!-- 占位符 --> |
| 397 | 397 | <view class="order-detail-bottom"> |
| 398 | 398 | <view class="order-detail-bottom-box"> |
| 399 | - <view class="order-detail-bottom-left"> | |
| 400 | - <u-button | |
| 401 | - v-if="dataGram.garOrderHandlerStatus === 0 && userType == '运输企业负责人' && dataGram.garCancelFlag === 0" | |
| 402 | - @click="handleOderCancelClick()" shape="square" color="#19a97c" text="取消订单"></u-button> | |
| 403 | -<!-- <u-button--> | |
| 404 | -<!-- v-if="dataGram.garOrderScanHandlerFlag === 0 && userType == '用户' && dataGram.garOrderHandlerStatus != 3 && dataGram.garAskStatus != '1'"--> | |
| 405 | -<!-- @click="handlerUpdateOrderClick()" shape="square" color="#19a97c" text="修改车辆数"></u-button>--> | |
| 406 | - </view> | |
| 407 | - <view class="order-detail-bottom-center" v-show="showCenterButtons"> | |
| 399 | + <!-- 上方按钮行 --> | |
| 400 | + <view class="order-detail-top-buttons" v-show="showTopButtons"> | |
| 408 | 401 | <!-- 修改按钮组容器类名和结构 --> |
| 409 | 402 | <view class="button-group-wrap" v-if="dataGram.garOrderHandlerStatus === 0 && userType == '运输企业负责人' && dataGram.handleFlag && dataGram.garCancelFlag === 0"> |
| 410 | 403 | <u-button @click="handleOrderDispatchClick(orderId)" shape="square" color="#19a97c" text="分配驾驶员"></u-button> |
| ... | ... | @@ -428,24 +421,32 @@ |
| 428 | 421 | </view> |
| 429 | 422 | </view> |
| 430 | 423 | |
| 431 | - <view class="order-detail-bottom-right" v-show="showRightButtons"> | |
| 432 | - <u-button | |
| 433 | - v-if="dataGram.garOrderHandlerStatus === 0 && userType == '用户' && dataGram.garCancelFlag === 0" | |
| 434 | - @click="handleOderCancelClick()" shape="square" color="#19a97c" text="取消订单"></u-button> | |
| 435 | - <u-button @click="handleEvaluate(orderId, userType)" | |
| 436 | - v-if="dataGram.garEvaluateFlag === 0 && userType === '用户'" shape="square" color="#19a97c" | |
| 437 | - text="去评价"></u-button> | |
| 438 | - <u-button @click="handleEvaluateDetail(orderId, userType)" | |
| 439 | - v-if="dataGram.garHandlerEvaluateFlag === 0 && userType === '运输企业负责人' && dataGram.haveEvaluateOfClient==1" | |
| 440 | - shape="square" color="#19a97c" text="查看评价"></u-button> | |
| 441 | - <u-button @click="handleEvaluateDetail(orderId, userType)" | |
| 442 | - v-if="dataGram.garHandlerEvaluateFlag === 1 && userType === '运输企业负责人' && dataGram.haveEvaluateOfClient==1" | |
| 443 | - shape="square" color="#19a97c" text="查看评价"></u-button> | |
| 444 | - <u-button @click="handleEvaluateDetail(orderId, userType)" | |
| 445 | - v-if="dataGram.garEvaluateFlag === 1 && userType === '用户'" shape="square" color="#19a97c" | |
| 446 | - text="查看评价"></u-button> | |
| 447 | - </view> | |
| 424 | + <!-- 下方按钮行 --> | |
| 425 | + <view class="order-detail-bottom-buttons"> | |
| 426 | + <view class="cancel-button-container"> | |
| 427 | + <u-button | |
| 428 | + v-if="dataGram.garOrderHandlerStatus === 0 && userType == '运输企业负责人' && dataGram.garCancelFlag === 0" | |
| 429 | + @click="handleOderCancelClick()" shape="square" color="#19a97c" text="取消订单"></u-button> | |
| 430 | + <u-button | |
| 431 | + v-if="dataGram.garOrderHandlerStatus === 0 && userType == '用户' && dataGram.garCancelFlag === 0" | |
| 432 | + @click="handleOderCancelClick()" shape="square" color="#19a97c" text="取消订单"></u-button> | |
| 433 | + </view> | |
| 448 | 434 | |
| 435 | + <view class="evaluation-buttons-container" v-show="showRightButtons"> | |
| 436 | + <u-button @click="handleEvaluate(orderId, userType)" | |
| 437 | + v-if="dataGram.garEvaluateFlag === 0 && userType === '用户'" shape="square" color="#19a97c" | |
| 438 | + text="去评价"></u-button> | |
| 439 | + <u-button @click="handleEvaluateDetail(orderId, userType)" | |
| 440 | + v-if="dataGram.garHandlerEvaluateFlag === 0 && userType === '运输企业负责人' && dataGram.haveEvaluateOfClient==1" | |
| 441 | + shape="square" color="#19a97c" text="查看评价"></u-button> | |
| 442 | + <u-button @click="handleEvaluateDetail(orderId, userType)" | |
| 443 | + v-if="dataGram.garHandlerEvaluateFlag === 1 && userType === '运输企业负责人' && dataGram.haveEvaluateOfClient==1" | |
| 444 | + shape="square" color="#19a97c" text="查看评价"></u-button> | |
| 445 | + <u-button @click="handleEvaluateDetail(orderId, userType)" | |
| 446 | + v-if="dataGram.garEvaluateFlag === 1 && userType === '用户'" shape="square" color="#19a97c" | |
| 447 | + text="查看评价"></u-button> | |
| 448 | + </view> | |
| 449 | + </view> | |
| 449 | 450 | </view> |
| 450 | 451 | </view> |
| 451 | 452 | <u-action-sheet :closeOnClickOverlay="true" :closeOnClickAction="false" @actionSheetClose="handleClose" |
| ... | ... | @@ -562,6 +563,50 @@ |
| 562 | 563 | const driverAssigned = ref(false); // 添加这行,跟踪驾驶员是否已分配 |
| 563 | 564 | const disposalAssigned = ref(false); // 添加这行,跟踪处置场所是否已分配 |
| 564 | 565 | |
| 566 | + | |
| 567 | + const isInTransit = (index) => { | |
| 568 | + // 如果订单已完成,所有趟次都不是"清运中" | |
| 569 | + if (dataGram.value.garOrderHandlerStatus === 3) { | |
| 570 | + return false; | |
| 571 | + } | |
| 572 | + | |
| 573 | + // 当前正在清运的趟次索引(从1开始) | |
| 574 | + const currentTransitIndex = putOnImagesGrouped.value.length; | |
| 575 | + | |
| 576 | + // 只有当前趟次是"清运中" | |
| 577 | + return index === currentTransitIndex; | |
| 578 | + }; | |
| 579 | + | |
| 580 | + const isCompleted = (index) => { | |
| 581 | + // 如果订单已完成,所有趟次都是"已运完" | |
| 582 | + if (dataGram.value.garOrderHandlerStatus === 3) { | |
| 583 | + return true; | |
| 584 | + } | |
| 585 | + | |
| 586 | + // 已完成的趟次索引小于当前正在清运的趟次索引 | |
| 587 | + const currentTransitIndex = putOnImagesGrouped.value.length; | |
| 588 | + | |
| 589 | + return index < currentTransitIndex; | |
| 590 | + }; | |
| 591 | + | |
| 592 | + const getStatusText = (index) => { | |
| 593 | + // 如果订单已完成,显示"已运完" | |
| 594 | + if (dataGram.value.garOrderHandlerStatus === 3) { | |
| 595 | + return '已运完'; | |
| 596 | + } | |
| 597 | + | |
| 598 | + // 当前正在清运的趟次索引(从1开始) | |
| 599 | + const currentTransitIndex = putOnImagesGrouped.value.length; | |
| 600 | + | |
| 601 | + if (index === currentTransitIndex) { | |
| 602 | + return '正在清运'; | |
| 603 | + } else if (index < currentTransitIndex) { | |
| 604 | + return '已运完'; | |
| 605 | + } else { | |
| 606 | + return '正在清运'; | |
| 607 | + } | |
| 608 | + }; | |
| 609 | + | |
| 565 | 610 | const list = computed(() => { |
| 566 | 611 | let reason = [{ |
| 567 | 612 | name: '订单信息填写有误', |
| ... | ... | @@ -666,6 +711,10 @@ |
| 666 | 711 | orderNo : orderNo.value, |
| 667 | 712 | orderCarType :selectedHandlerTels.value |
| 668 | 713 | }; |
| 714 | + if(selectedHandlerTels.value === ""){ | |
| 715 | + uni.$u.toast(`请选择车型!`); | |
| 716 | + return; | |
| 717 | + } | |
| 669 | 718 | insertRandomCopyByTypeAndOrderId(params).then(res => { |
| 670 | 719 | if (res.data.success) { |
| 671 | 720 | uni.$u.toast(`添加成功!`); |
| ... | ... | @@ -1238,6 +1287,11 @@ const handleDriverDispatchConfirm = (val) => { |
| 1238 | 1287 | (dataGram.value?.garEvaluateFlag === 1 && userType.value === '用户'); |
| 1239 | 1288 | }); |
| 1240 | 1289 | |
| 1290 | + const showTopButtons = computed(() => { | |
| 1291 | + return (dataGram.value?.garOrderHandlerStatus === 0 && userType.value == '运输企业负责人' && dataGram.value?.handleFlag && dataGram.value?.garCancelFlag === 0) || | |
| 1292 | + (dataGram.value?.garOrderHandlerStatus === 1 && userType.value == '运输企业负责人' && !isAllTripsCompleted()) || | |
| 1293 | + (dataGram.value?.garOrderHandlerStatus === 1 && userType.value == '运输企业负责人' && isAllTripsCompleted()); | |
| 1294 | + }); | |
| 1241 | 1295 | /** |
| 1242 | 1296 | * 初始化信息 |
| 1243 | 1297 | */ |
| ... | ... | @@ -1276,70 +1330,80 @@ const handleDriverDispatchConfirm = (val) => { |
| 1276 | 1330 | margin-bottom: $custom-marin-bottom; |
| 1277 | 1331 | } |
| 1278 | 1332 | |
| 1279 | - .order-detail-bottom-box { | |
| 1280 | - height: $custom-bottom-height; | |
| 1281 | - padding: 50rpx; | |
| 1333 | + .order-detail-bottom { | |
| 1334 | + position: fixed; | |
| 1335 | + width: 100%; | |
| 1336 | + bottom: 0; | |
| 1337 | + left: 0; | |
| 1338 | + background-color: #fff; | |
| 1339 | + box-shadow: 0 -2rpx 10rpx rgba(0,0,0,0.05); | |
| 1340 | + padding: 20rpx $custom-page-padding; | |
| 1282 | 1341 | box-sizing: border-box; |
| 1283 | - display: flex; | |
| 1284 | - justify-content: space-between; | |
| 1285 | - align-items: center; | |
| 1286 | 1342 | |
| 1287 | - .order-detail-bottom-left { | |
| 1288 | - min-width: 200rpx; | |
| 1289 | - } | |
| 1290 | - | |
| 1291 | - .order-detail-bottom-center { | |
| 1292 | - flex: 1; | |
| 1343 | + .order-detail-bottom-box { | |
| 1293 | 1344 | display: flex; |
| 1294 | - justify-content: center; | |
| 1295 | - width: 100%; // 确保占满可用宽度 | |
| 1296 | - | |
| 1297 | - .button-group { | |
| 1298 | - display: flex; | |
| 1299 | - gap: 20rpx; | |
| 1300 | - flex-wrap: nowrap; | |
| 1345 | + flex-direction: column; | |
| 1346 | + gap: 20rpx; | |
| 1301 | 1347 | |
| 1302 | - u-button { | |
| 1303 | - white-space: nowrap; | |
| 1304 | - } | |
| 1305 | - } | |
| 1348 | + .order-detail-top-buttons { | |
| 1349 | + width: 100%; | |
| 1306 | 1350 | |
| 1307 | - // 修复重新分配按钮的样式(重点修改这里) | |
| 1308 | - .button-group-spread { | |
| 1309 | - display: flex; | |
| 1310 | - justify-content: space-between; // 两端对齐 | |
| 1311 | - align-items: center; // 垂直居中 | |
| 1312 | - width: 100%; // 占满父容器宽度 | |
| 1313 | - padding: 0; // 移除左右内边距,让按钮更贴边 | |
| 1314 | - gap: 40rpx; // 中间间距(可根据需要调整大小) | |
| 1315 | - | |
| 1316 | - .btn-left { | |
| 1317 | - margin-right: auto; // 强制靠左 | |
| 1351 | + .button-group-wrap, | |
| 1352 | + .button-group-spread { | |
| 1353 | + display: flex; | |
| 1354 | + gap: 20rpx; | |
| 1355 | + width: 100%; | |
| 1356 | + | |
| 1357 | + u-button { | |
| 1358 | + flex: 1; | |
| 1359 | + height: 72rpx; | |
| 1360 | + line-height: 72rpx; | |
| 1361 | + font-size: 26rpx; | |
| 1362 | + padding: 0 20rpx; | |
| 1363 | + border-radius: 36rpx; | |
| 1364 | + } | |
| 1318 | 1365 | } |
| 1319 | 1366 | |
| 1320 | - .btn-right { | |
| 1321 | - margin-left: auto; // 强制靠右 | |
| 1322 | - } | |
| 1367 | + .button-group-spread { | |
| 1368 | + justify-content: space-between; | |
| 1323 | 1369 | |
| 1324 | - u-button { | |
| 1325 | - min-width: 220rpx; // 固定最小宽度,确保按钮宽度一致 | |
| 1326 | - white-space: nowrap; | |
| 1327 | - padding: 0 30rpx; // 按钮内部左右 padding,让按钮更舒展 | |
| 1370 | + .btn-left, | |
| 1371 | + .btn-right { | |
| 1372 | + flex: 1; | |
| 1373 | + } | |
| 1328 | 1374 | } |
| 1329 | 1375 | } |
| 1330 | - } | |
| 1331 | 1376 | |
| 1332 | - .order-detail-bottom-right { | |
| 1333 | - min-width: 200rpx; | |
| 1334 | - display: flex; | |
| 1335 | - justify-content: flex-end; | |
| 1377 | + .order-detail-bottom-buttons { | |
| 1378 | + display: flex; | |
| 1379 | + flex-direction: column; | |
| 1380 | + width: 100%; | |
| 1381 | + gap: 20rpx; | |
| 1336 | 1382 | |
| 1337 | - u-button { | |
| 1338 | - margin-left: 20rpx; | |
| 1339 | - } | |
| 1383 | + .cancel-button-container { | |
| 1384 | + width: 100%; | |
| 1385 | + | |
| 1386 | + u-button { | |
| 1387 | + width: 100%; | |
| 1388 | + height: 72rpx; | |
| 1389 | + line-height: 72rpx; | |
| 1390 | + font-size: 26rpx; | |
| 1391 | + border-radius: 36rpx; | |
| 1392 | + } | |
| 1393 | + } | |
| 1340 | 1394 | |
| 1341 | - u-button:first-child { | |
| 1342 | - margin-left: 0; | |
| 1395 | + .evaluation-buttons-container { | |
| 1396 | + display: flex; | |
| 1397 | + gap: 20rpx; | |
| 1398 | + | |
| 1399 | + u-button { | |
| 1400 | + flex: 1; | |
| 1401 | + height: 72rpx; | |
| 1402 | + line-height: 72rpx; | |
| 1403 | + font-size: 26rpx; | |
| 1404 | + border-radius: 36rpx; | |
| 1405 | + } | |
| 1406 | + } | |
| 1343 | 1407 | } |
| 1344 | 1408 | } |
| 1345 | 1409 | } | ... | ... |
garbage-removal/src/pages/order/order-disposal/swiper-list-item/index.vue
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | <view class="page-box"> |
| 6 | 6 | <view class="order" v-for="(item, index) in dataList" :key="index"> |
| 7 | 7 | <view class="top"> |
| 8 | - <view class="left" @click="goDetail(item)"> | |
| 8 | + <view class="left"> | |
| 9 | 9 | <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon> |
| 10 | 10 | <view class="store">{{ item.garOrderCompanyName }}</view> |
| 11 | 11 | <u-icon name="arrow-right" color="rgb(203,203,203)" :size="26"></u-icon> | ... | ... |
garbage-removal/src/pages/order/order-driver/swiper-list-item/index.vue
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | <view class="page-box"> |
| 6 | 6 | <view class="order" v-for="(item, index) in dataList" :key="index"> |
| 7 | 7 | <view class="top"> |
| 8 | - <view class="left" @click="goDetail(item)"> | |
| 8 | + <view class="left"> | |
| 9 | 9 | <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon> |
| 10 | 10 | <view class="store">{{ item.garOrderCompanyName }}</view> |
| 11 | 11 | <u-icon name="arrow-right" color="rgb(203,203,203)" :size="26"></u-icon> | ... | ... |
garbage-removal/src/pages/order/order-other/swiper-list-item/index.vue
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | <view class="page-box"> |
| 6 | 6 | <view class="order" v-for="(item, index) in dataList" :key="index"> |
| 7 | 7 | <view class="top"> |
| 8 | - <view class="left" @click="goDetail(item)"> | |
| 8 | + <view class="left"> | |
| 9 | 9 | <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon> |
| 10 | 10 | <view class="store">{{ item.garOrderCompanyName }}</view> |
| 11 | 11 | <u-icon name="arrow-right" color="rgb(203,203,203)" :size="26"></u-icon> | ... | ... |
garbage-removal/src/pages/wode-info/wode-info-disposal-order/index.vue
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | <view class="page-box"> |
| 6 | 6 | <view class="order" v-for="(item, index) in dataList" :key="index"> |
| 7 | 7 | <view class="top"> |
| 8 | - <view class="left" @click="goDetail(item)"> | |
| 8 | + <view class="left"> | |
| 9 | 9 | <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon> |
| 10 | 10 | <view class="store">{{ item.garOrderCompanyName }}</view> |
| 11 | 11 | <u-icon name="arrow-right" color="rgb(203,203,203)" :size="26"></u-icon> | ... | ... |
garbage-removal/src/pages/wode-info/wode-info-driver-order/index.vue
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | <view class="page-box"> |
| 6 | 6 | <view class="order" v-for="(item, index) in dataList" :key="index"> |
| 7 | 7 | <view class="top"> |
| 8 | - <view class="left" @click="goDetail(item)"> | |
| 8 | + <view class="left"> | |
| 9 | 9 | <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon> |
| 10 | 10 | <view class="store">{{ item.garOrderCompanyName }}</view> |
| 11 | 11 | <u-icon name="arrow-right" color="rgb(203,203,203)" :size="26"></u-icon> | ... | ... |
garbage-removal/src/pages/wode-info/wode-info-other-order/index.vue
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | <view class="page-box"> |
| 6 | 6 | <view class="order" v-for="(item, index) in dataList" :key="index"> |
| 7 | 7 | <view class="top"> |
| 8 | - <view class="left" @click="goDetail(item)"> | |
| 8 | + <view class="left"> | |
| 9 | 9 | <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon> |
| 10 | 10 | <view class="store">{{ item.garOrderCompanyName }}</view> |
| 11 | 11 | <u-icon name="arrow-right" color="rgb(203,203,203)" :size="26"></u-icon> | ... | ... |
garbage-removal/src/pages/wode/index.vue
| ... | ... | @@ -7,10 +7,9 @@ |
| 7 | 7 | <view style="display: flex; flex-direction: column; width: 100%;"> |
| 8 | 8 | <view class="manager-info"> |
| 9 | 9 | <view class="manager-info-transport-company-name"> |
| 10 | - <text>{{ userInfo.transportCompanyName }}</text> | |
| 10 | + <text>{{ userInfo.transportCompanyName ? userInfo.transportCompanyName : userInfo.userName }}</text> | |
| 11 | 11 | </view> |
| 12 | 12 | <view class="choose-type-item-text-right-label">{{ userInfo.userType }} |
| 13 | - <view>{{userNameMrthod(userInfo.userName)}}</view> | |
| 14 | 13 | </view> |
| 15 | 14 | |
| 16 | 15 | </view> | ... | ... |