Commit fa18d722f4a430c7ff55907dff0415bf2cbc5896

Authored by lichao
1 parent 7b6c1777

提交12-3

garbage-removal/src/pages/home-info/clean/company-detail/index.vue
@@ -2,23 +2,23 @@ @@ -2,23 +2,23 @@
2 <view class="company-container"> 2 <view class="company-container">
3 <view class="company-content-box"> 3 <view class="company-content-box">
4 <view class="company-content-header"> 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 <view class="company-content-right"> 10 <view class="company-content-right">
11 <view class="company-content-right-name"> 11 <view class="company-content-right-name">
12 {{ headerData.name }} 12 {{ headerData.name }}
13 </view> 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 </view> 22 </view>
23 </view> 23 </view>
24 <view class="company-content-base-data"> 24 <view class="company-content-base-data">
@@ -30,13 +30,9 @@ @@ -30,13 +30,9 @@
30 <view class="company-content-base-data-info-item-label"> 30 <view class="company-content-base-data-info-item-label">
31 {{ item.label }}: 31 {{ item.label }}:
32 </view> 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 {{ item.value }} 34 {{ item.value }}
35 </view> 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 </view> 36 </view>
41 </view> 37 </view>
42 </view> 38 </view>
@@ -45,7 +41,7 @@ @@ -45,7 +41,7 @@
45 <view class="company-content-car-info-sub-title">车牌号</view> 41 <view class="company-content-car-info-sub-title">车牌号</view>
46 <view class="company-content-car-info-car-list"> 42 <view class="company-content-car-info-car-list">
47 <view v-for="(item, index) in carList" :key="index" class="company-content-car-info-car-list-item"> 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 </view> 45 </view>
50 </view> 46 </view>
51 <view class="company-content-remark"> 47 <view class="company-content-remark">
@@ -101,12 +97,12 @@ import { onLoad } from &#39;@dcloudio/uni-app&#39;; @@ -101,12 +97,12 @@ import { onLoad } from &#39;@dcloudio/uni-app&#39;;
101 import { computed, ref } from 'vue'; 97 import { computed, ref } from 'vue';
102 const mainStore = useMainStore(); 98 const mainStore = useMainStore();
103 const userType = computed(() => mainStore.userType) 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 const customStyle = ref({ 101 const customStyle = ref({
106 fontSize: '30rpx', 102 fontSize: '30rpx',
107 lineHeight: '30rpx' 103 lineHeight: '30rpx'
108 }) 104 })
109 -const carList = ref() 105 +let carList = ref()
110 const companyInfo = ref() 106 const companyInfo = ref()
111 const tel = ref() 107 const tel = ref()
112 const userAddress = ref() 108 const userAddress = ref()
@@ -152,9 +148,9 @@ onLoad((options) =&gt; { @@ -152,9 +148,9 @@ onLoad((options) =&gt; {
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 const handleCleanGarbage = (companyObj, tel, userAddress) => { 156 const handleCleanGarbage = (companyObj, tel, userAddress) => {
@@ -182,12 +178,12 @@ const handlerClickJumpMap = () =&gt; { @@ -182,12 +178,12 @@ const handlerClickJumpMap = () =&gt; {
182 } 178 }
183 179
184 const initData = (baseData) => { 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 headerData.value.name = baseData.name; 187 headerData.value.name = baseData.name;
192 headerData.value.registrationArea = baseData.registrationArea; 188 headerData.value.registrationArea = baseData.registrationArea;
193 headerData.value.companyLogo = import.meta.env.VITE_BASE_URL + baseData.companyLogo; 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,10 +149,10 @@
149 <view class="image-group-title">{{ group.carName}}第 {{ group.index }} 趟</view> 149 <view class="image-group-title">{{ group.carName}}第 {{ group.index }} 趟</view>
150 <!-- 根据group.index与真实发车数比较显示状态 --> 150 <!-- 根据group.index与真实发车数比较显示状态 -->
151 <view class="car-status" :class="{ 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 </view> 156 </view>
157 </view> 157 </view>
158 <u-upload width="180" height="130" :fileList="group.images" name="3" multiple :maxCount="20" 158 <u-upload width="180" height="130" :fileList="group.images" name="3" multiple :maxCount="20"
@@ -193,6 +193,49 @@ const spaceStr = ref(&quot;&quot;) @@ -193,6 +193,49 @@ const spaceStr = ref(&quot;&quot;)
193 const qrCodeRef = ref() 193 const qrCodeRef = ref()
194 const qrCodeText = ref() 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 const createQrCodeLocal = (orderId) => { 239 const createQrCodeLocal = (orderId) => {
197 // 获取本地地址拼接订单id 240 // 获取本地地址拼接订单id
198 showUQRcode.value = true; 241 showUQRcode.value = true;
garbage-removal/src/pages/order-info/order-driver/detail/index.vue
@@ -154,10 +154,10 @@ @@ -154,10 +154,10 @@
154 <view class="image-group-title">{{ group.carName}}第 {{ group.index }} 趟</view> 154 <view class="image-group-title">{{ group.carName}}第 {{ group.index }} 趟</view>
155 <!-- 根据group.index与真实发车数比较显示状态 --> 155 <!-- 根据group.index与真实发车数比较显示状态 -->
156 <view class="car-status" :class="{ 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 </view> 161 </view>
162 </view> 162 </view>
163 <u-upload width="180" height="130" :fileList="group.images" name="3" multiple :maxCount="20" 163 <u-upload width="180" height="130" :fileList="group.images" name="3" multiple :maxCount="20"
@@ -259,6 +259,49 @@ const currentCancelName = ref(&quot;&quot;) @@ -259,6 +259,49 @@ const currentCancelName = ref(&quot;&quot;)
259 const qrCodeRef = ref() 259 const qrCodeRef = ref()
260 const qrCodeText = ref() 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 const createQrCodeLocal = (orderId) => { 306 const createQrCodeLocal = (orderId) => {
264 // 获取本地地址拼接订单id 307 // 获取本地地址拼接订单id
garbage-removal/src/pages/order-info/order-other/detail/index.vue
@@ -265,7 +265,7 @@ @@ -265,7 +265,7 @@
265 <view class="selector-wrapper"> 265 <view class="selector-wrapper">
266 <text class="selector-label">新增车辆:</text> 266 <text class="selector-label">新增车辆:</text>
267 <select v-model="selectedHandlerTels" class="handler-selector"> 267 <select v-model="selectedHandlerTels" class="handler-selector">
268 - <option value="">请选择分配人员</option> 268 + <option value="">请选择新增车型</option>
269 <option 269 <option
270 v-for="car in garCarTypeList" 270 v-for="car in garCarTypeList"
271 :key="car.garOrderCarType" 271 :key="car.garOrderCarType"
@@ -373,10 +373,10 @@ @@ -373,10 +373,10 @@
373 <view class="image-group-header"> 373 <view class="image-group-header">
374 <view class="image-group-title">{{ group.carName}}第 {{ group.index }} 趟</view> 374 <view class="image-group-title">{{ group.carName}}第 {{ group.index }} 趟</view>
375 <view class="car-status" :class="{ 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 </view> 380 </view>
381 </view> 381 </view>
382 <u-upload width="180" height="130" :fileList="group.images" name="3" multiple :maxCount="20" 382 <u-upload width="180" height="130" :fileList="group.images" name="3" multiple :maxCount="20"
@@ -396,15 +396,8 @@ @@ -396,15 +396,8 @@
396 <!-- 占位符 --> 396 <!-- 占位符 -->
397 <view class="order-detail-bottom"> 397 <view class="order-detail-bottom">
398 <view class="order-detail-bottom-box"> 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 <view class="button-group-wrap" v-if="dataGram.garOrderHandlerStatus === 0 && userType == '运输企业负责人' && dataGram.handleFlag && dataGram.garCancelFlag === 0"> 402 <view class="button-group-wrap" v-if="dataGram.garOrderHandlerStatus === 0 && userType == '运输企业负责人' && dataGram.handleFlag && dataGram.garCancelFlag === 0">
410 <u-button @click="handleOrderDispatchClick(orderId)" shape="square" color="#19a97c" text="分配驾驶员"></u-button> 403 <u-button @click="handleOrderDispatchClick(orderId)" shape="square" color="#19a97c" text="分配驾驶员"></u-button>
@@ -428,24 +421,32 @@ @@ -428,24 +421,32 @@
428 </view> 421 </view>
429 </view> 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 </view> 450 </view>
450 </view> 451 </view>
451 <u-action-sheet :closeOnClickOverlay="true" :closeOnClickAction="false" @actionSheetClose="handleClose" 452 <u-action-sheet :closeOnClickOverlay="true" :closeOnClickAction="false" @actionSheetClose="handleClose"
@@ -562,6 +563,50 @@ @@ -562,6 +563,50 @@
562 const driverAssigned = ref(false); // 添加这行,跟踪驾驶员是否已分配 563 const driverAssigned = ref(false); // 添加这行,跟踪驾驶员是否已分配
563 const disposalAssigned = ref(false); // 添加这行,跟踪处置场所是否已分配 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 const list = computed(() => { 610 const list = computed(() => {
566 let reason = [{ 611 let reason = [{
567 name: '订单信息填写有误', 612 name: '订单信息填写有误',
@@ -666,6 +711,10 @@ @@ -666,6 +711,10 @@
666 orderNo : orderNo.value, 711 orderNo : orderNo.value,
667 orderCarType :selectedHandlerTels.value 712 orderCarType :selectedHandlerTels.value
668 }; 713 };
  714 + if(selectedHandlerTels.value === ""){
  715 + uni.$u.toast(`请选择车型!`);
  716 + return;
  717 + }
669 insertRandomCopyByTypeAndOrderId(params).then(res => { 718 insertRandomCopyByTypeAndOrderId(params).then(res => {
670 if (res.data.success) { 719 if (res.data.success) {
671 uni.$u.toast(`添加成功!`); 720 uni.$u.toast(`添加成功!`);
@@ -1238,6 +1287,11 @@ const handleDriverDispatchConfirm = (val) =&gt; { @@ -1238,6 +1287,11 @@ const handleDriverDispatchConfirm = (val) =&gt; {
1238 (dataGram.value?.garEvaluateFlag === 1 && userType.value === '用户'); 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) =&gt; { @@ -1276,70 +1330,80 @@ const handleDriverDispatchConfirm = (val) =&gt; {
1276 margin-bottom: $custom-marin-bottom; 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 box-sizing: border-box; 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 display: flex; 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,7 +5,7 @@
5 <view class="page-box"> 5 <view class="page-box">
6 <view class="order" v-for="(item, index) in dataList" :key="index"> 6 <view class="order" v-for="(item, index) in dataList" :key="index">
7 <view class="top"> 7 <view class="top">
8 - <view class="left" @click="goDetail(item)"> 8 + <view class="left">
9 <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon> 9 <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon>
10 <view class="store">{{ item.garOrderCompanyName }}</view> 10 <view class="store">{{ item.garOrderCompanyName }}</view>
11 <u-icon name="arrow-right" color="rgb(203,203,203)" :size="26"></u-icon> 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,7 +5,7 @@
5 <view class="page-box"> 5 <view class="page-box">
6 <view class="order" v-for="(item, index) in dataList" :key="index"> 6 <view class="order" v-for="(item, index) in dataList" :key="index">
7 <view class="top"> 7 <view class="top">
8 - <view class="left" @click="goDetail(item)"> 8 + <view class="left">
9 <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon> 9 <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon>
10 <view class="store">{{ item.garOrderCompanyName }}</view> 10 <view class="store">{{ item.garOrderCompanyName }}</view>
11 <u-icon name="arrow-right" color="rgb(203,203,203)" :size="26"></u-icon> 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,7 +5,7 @@
5 <view class="page-box"> 5 <view class="page-box">
6 <view class="order" v-for="(item, index) in dataList" :key="index"> 6 <view class="order" v-for="(item, index) in dataList" :key="index">
7 <view class="top"> 7 <view class="top">
8 - <view class="left" @click="goDetail(item)"> 8 + <view class="left">
9 <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon> 9 <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon>
10 <view class="store">{{ item.garOrderCompanyName }}</view> 10 <view class="store">{{ item.garOrderCompanyName }}</view>
11 <u-icon name="arrow-right" color="rgb(203,203,203)" :size="26"></u-icon> 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,7 +5,7 @@
5 <view class="page-box"> 5 <view class="page-box">
6 <view class="order" v-for="(item, index) in dataList" :key="index"> 6 <view class="order" v-for="(item, index) in dataList" :key="index">
7 <view class="top"> 7 <view class="top">
8 - <view class="left" @click="goDetail(item)"> 8 + <view class="left">
9 <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon> 9 <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon>
10 <view class="store">{{ item.garOrderCompanyName }}</view> 10 <view class="store">{{ item.garOrderCompanyName }}</view>
11 <u-icon name="arrow-right" color="rgb(203,203,203)" :size="26"></u-icon> 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,7 +5,7 @@
5 <view class="page-box"> 5 <view class="page-box">
6 <view class="order" v-for="(item, index) in dataList" :key="index"> 6 <view class="order" v-for="(item, index) in dataList" :key="index">
7 <view class="top"> 7 <view class="top">
8 - <view class="left" @click="goDetail(item)"> 8 + <view class="left">
9 <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon> 9 <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon>
10 <view class="store">{{ item.garOrderCompanyName }}</view> 10 <view class="store">{{ item.garOrderCompanyName }}</view>
11 <u-icon name="arrow-right" color="rgb(203,203,203)" :size="26"></u-icon> 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,7 +5,7 @@
5 <view class="page-box"> 5 <view class="page-box">
6 <view class="order" v-for="(item, index) in dataList" :key="index"> 6 <view class="order" v-for="(item, index) in dataList" :key="index">
7 <view class="top"> 7 <view class="top">
8 - <view class="left" @click="goDetail(item)"> 8 + <view class="left">
9 <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon> 9 <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon>
10 <view class="store">{{ item.garOrderCompanyName }}</view> 10 <view class="store">{{ item.garOrderCompanyName }}</view>
11 <u-icon name="arrow-right" color="rgb(203,203,203)" :size="26"></u-icon> 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,10 +7,9 @@
7 <view style="display: flex; flex-direction: column; width: 100%;"> 7 <view style="display: flex; flex-direction: column; width: 100%;">
8 <view class="manager-info"> 8 <view class="manager-info">
9 <view class="manager-info-transport-company-name"> 9 <view class="manager-info-transport-company-name">
10 - <text>{{ userInfo.transportCompanyName }}</text> 10 + <text>{{ userInfo.transportCompanyName ? userInfo.transportCompanyName : userInfo.userName }}</text>
11 </view> 11 </view>
12 <view class="choose-type-item-text-right-label">{{ userInfo.userType }} 12 <view class="choose-type-item-text-right-label">{{ userInfo.userType }}
13 - <view>{{userNameMrthod(userInfo.userName)}}</view>  
14 </view> 13 </view>
15 14
16 </view> 15 </view>