Commit d1cb44617638c3a6d394abb0216ce2d5f8365bd6

Authored by liujun001
1 parent 789ce9cb

下单车辆信息展示修改

garbage-removal/src/pages/home-info/clean/index.vue
@@ -30,50 +30,43 @@ @@ -30,50 +30,43 @@
30 </view> 30 </view>
31 </view> 31 </view>
32 </view> 32 </view>
  33 +
33 <view class="company-clean-container-car-main"> 34 <view class="company-clean-container-car-main">
34 <view class="company-clean-container-car-main-content"> 35 <view class="company-clean-container-car-main-content">
35 - <view v-if="paramFrom.carType" class="company-clean-container-car-main-content-type"> 36 + <view class="company-clean-container-car-main-content-type">
36 <view class="company-clean-container-car-main-content-type-price-area"> 37 <view class="company-clean-container-car-main-content-type-price-area">
37 <text style="color: red;">*</text>车辆信息: 38 <text style="color: red;">*</text>车辆信息:
38 </view> 39 </view>
39 - <view style=" width:100%;display:flex; color:#909399; align-items: center;">  
40 - <myPiker :parentValue="paramFrom.carType" @change="handlePickerCarInfoConfirm"  
41 - :modelValue="paramFrom.carType" :array="candidates" :title="'车辆信息'">  
42 - </myPiker>  
43 - </view>  
44 </view> 40 </view>
45 - <view class="company-clean-container-car-main-content-img">  
46 - <image class="company-clean-container-car-main-content-img" :src="carFront" /> 41 +
  42 + <view>
  43 + <swiper style="height: 588rpx;" @change="onChangeSwiper" indicator-dots circular >
  44 + <swiper-item v-for="(car,index) in garCarInfoList" :key="index" >
  45 + <view style="font-size: 16px;text-align: center;"><text>{{car.carType}}</text></view>
  46 + <view><image :src="combinationImagePath(car)" ></image></view>
  47 + <view><text style="color:#909399;font-size: 14px;">{{car.remark}}</text></view>
  48 + </swiper-item>
  49 + </swiper>
47 </view> 50 </view>
48 - <view class="company-clean-container-car-main-content-remark" style="margin: 20rpx 0; font-size: 23rpx;">  
49 - {{ garCarTransportInfo }} 51 +
  52 + <view class="company-clean-container-car-main-content-type">
  53 + <view class="company-clean-container-car-main-content-type-price-area">
  54 + <text style="color: red;">*</text>车辆容积:
  55 + </view>
  56 + <view style=" width:100%;display:flex; color:#909399; align-items: center;">
  57 + <text>{{containerVolume}} 方</text>
  58 + </view>
50 </view> 59 </view>
51 - <view class=" company-clean-container-car-main-content">  
52 - <view class="company-clean-container-car-popup">  
53 - <!-- 主要内容 -->  
54 - <view class="company-clean-container-car-popup-content">  
55 - <view class="company-clean-container-car-popup-content-title">  
56 - <view style="text-align: left;">  
57 - <text style="color: red;">*</text>车辆选择:  
58 - </view>  
59 - </view>  
60 - <view class="company-clean-container-car-popup-content-box">  
61 - <view class="company-clean-container-car-popup-content-box-item"  
62 - v-for="(item, index) in garCarInfoList" :key="index">  
63 - <view class="company-clean-container-car-popup-content-box-item-text">  
64 - {{ item.garOrderCarType }}  
65 - </view>  
66 - <view class="company-clean-container-car-popup-content-box-item-number"  
67 - hover-class="hoverClickStyle">  
68 - <u-number-box :min="0" :max="9999" integer buttonSize="46" :inputWidth="100"  
69 - v-model="garCarInfoList[item.garOrderCarType].garOrderCarNumber"  
70 - :disabledInput="true"></u-number-box>  
71 - </view>  
72 - </view>  
73 - </view>  
74 - </view> 60 +
  61 + <view class="company-clean-container-car-main-content-type">
  62 + <view class="company-clean-container-car-main-content-type-price-area">
  63 + <text style="color: red;">*</text>添加车辆数量:
  64 + </view>
  65 + <view style=" width:100%;display:flex; color:#909399; align-items: center;">
  66 + <u-number-box :min="0" :max="9999" integer buttonSize="46" :inputWidth="100" :disabledInput="true" v-model="carNumber[swiperIndex]" @change="numberBoxChange"></u-number-box>
75 </view> 67 </view>
76 </view> 68 </view>
  69 +
77 <view class="company-clean-container-car-main-content-type"> 70 <view class="company-clean-container-car-main-content-type">
78 <view class="company-clean-container-car-main-content-type-price-area"> 71 <view class="company-clean-container-car-main-content-type-price-area">
79 <text style="color: red;">*</text>垃圾类型: 72 <text style="color: red;">*</text>垃圾类型:
@@ -204,37 +197,11 @@ const isCallBtn = ref(false); @@ -204,37 +197,11 @@ const isCallBtn = ref(false);
204 const garCarInfoList = ref({}) 197 const garCarInfoList = ref({})
205 const garCarLabelInfoList = ref({}) 198 const garCarLabelInfoList = ref({})
206 const garCarLabelInfoNow = ref() 199 const garCarLabelInfoNow = ref()
207 -const garCarTransportInfo = computed(() => {  
208 - try {  
209 - let carInfo = garCarLabelInfoNow.value  
210 - let lengthWidthHeight = carInfo.lengthWidthHeight.split(";");  
211 - let boxLength = lengthWidthHeight[0]; // 箱子的长度(单位:米)  
212 - let boxWidth = lengthWidthHeight[1]; // 箱子的宽度(单位:米)  
213 - let boxHeight = lengthWidthHeight[2]; // 箱子的高度(单位:米)  
214 - let bagLength = 0.75; // 袋子的长度(单位:米)  
215 - let bagWidth = 0.45; // 袋子的宽度(单位:米)  
216 - let bagHeight = 0.16; // 袋子的高度(单位:米)  
217 -  
218 - let boxVolume = boxLength * boxWidth * boxHeight; // 箱子的体积(单位:立方米)  
219 - let bagVolume = bagLength * bagWidth * bagHeight; // 袋子的体积(单位:立方米)  
220 -  
221 - let bagCount = Math.floor(boxVolume / bagVolume); // 箱子可以容纳的袋子数量(向下取整)  
222 - return `箱体长${boxLength}m宽${boxWidth}m高${boxHeight}m,最多课容纳约${bagCount}袋袋装修垃圾(${bagLength * 100}cm * ${bagWidth * 100}cm每袋)。`  
223 - } catch (error) {  
224 - return "符合装修垃圾运输管理规范的专用运输车辆。"  
225 - }  
226 -}) 200 +const swiperIndex =ref(0)
  201 +const containerVolume=ref("")
  202 +const carNumber=ref([]);
227 // 车辆数量 203 // 车辆数量
228 -const garCarNumberCount = computed(() => {  
229 - let count = 0;  
230 - if (garCarInfoList.value) {  
231 - for (const key in garCarInfoList.value) {  
232 - const element = garCarInfoList.value[key];  
233 - count = typeof element.garOrderCarNumber === 'number' ? count + element.garOrderCarNumber : count;  
234 - }  
235 - }  
236 - return count;  
237 -}) 204 +const garCarNumberCount = ref()
238 const garbageTypeList = ref(["装修垃圾", "建筑垃圾"]) 205 const garbageTypeList = ref(["装修垃圾", "建筑垃圾"])
239 const paramFrom = ref({ 206 const paramFrom = ref({
240 carNumber: 0, 207 carNumber: 0,
@@ -268,6 +235,27 @@ const changeAgree = (e) =&gt; { @@ -268,6 +235,27 @@ const changeAgree = (e) =&gt; {
268 const onChange = (e) => { 235 const onChange = (e) => {
269 } 236 }
270 237
  238 +const onChangeSwiper=(e)=>{
  239 + swiperIndex.value = e.detail.current;
  240 + containerVolume.value = garCarInfoList.value[e.detail.current].containerVolume;
  241 +}
  242 +
  243 +const numberBoxChange=(value)=>{
  244 + garCarInfoList.value[swiperIndex.value].garOrderCarNumber=value.value;
  245 + carNumber.value[swiperIndex.value]=value.value;
  246 + if(!garCarNumberCount.value){
  247 + garCarNumberCount.value=0;
  248 + }
  249 + let va = 0;
  250 + console.log(garCarInfoList.value[swiperIndex.value].garOrderCarNumber);
  251 + carNumber.value.forEach(function(item,index,arr){
  252 + if(item){
  253 + va = va+item;
  254 + }
  255 + })
  256 +
  257 + garCarNumberCount.value = va;
  258 +}
271 /** 259 /**
272 * 初始化信息 260 * 初始化信息
273 */ 261 */
@@ -275,6 +263,11 @@ onLoad((options) =&gt; { @@ -275,6 +263,11 @@ onLoad((options) =&gt; {
275 initOptions(options); 263 initOptions(options);
276 }) 264 })
277 265
  266 +
  267 +const combinationImagePath=(car)=>{
  268 + return import.meta.env.VITE_BASE_URL+"/"+car.carLeft;
  269 +}
  270 +
278 const initOptions = async (options) => { 271 const initOptions = async (options) => {
279 companyObj.value = JSON.parse(options.companyObj); 272 companyObj.value = JSON.parse(options.companyObj);
280 tel.value = options.tel; 273 tel.value = options.tel;
@@ -298,24 +291,9 @@ const initOptions = async (options) =&gt; { @@ -298,24 +291,9 @@ const initOptions = async (options) =&gt; {
298 return 291 return
299 } 292 }
300 queryCarList({ companyId: companyObj.value.id }).then(res => { 293 queryCarList({ companyId: companyObj.value.id }).then(res => {
301 - // 设置车辆类型  
302 - candidates.value = [...new Set(res.data.rows  
303 - .filter(item => item.containerVolume)  
304 - .map(item => {  
305 - garCarLabelInfoList.value[item.containerVolume + "方车"] = item  
306 - return item.containerVolume + "方车"  
307 - }))  
308 - ];  
309 - // 设置初始车辆数量  
310 - candidates.value.forEach((item, index) => {  
311 - garCarInfoList.value[item] = {  
312 - garOrderCarNumber: 0,  
313 - garOrderCarType: item  
314 - }  
315 - })  
316 - // 设置默认车辆  
317 - paramFrom.value.carType = candidates.value[0];  
318 - garCarLabelInfoNow.value = garCarLabelInfoList.value[paramFrom.value.carType] 294 +
  295 + garCarInfoList.value=res.data.rows;
  296 +
319 }) 297 })
320 } 298 }
321 299
@@ -386,7 +364,10 @@ const orderClick = ref(true) @@ -386,7 +364,10 @@ const orderClick = ref(true)
386 const handleOderSure = async () => { 364 const handleOderSure = async () => {
387 let garCarInfos = []; 365 let garCarInfos = [];
388 for (const key in garCarInfoList.value) { 366 for (const key in garCarInfoList.value) {
389 - garCarInfos.push(garCarInfoList.value[key]) 367 + if(garCarInfoList.value[key]&& garCarInfoList.value[key].garOrderCarNumber && garCarInfoList.value[key].garOrderCarNumber>0){
  368 + garCarInfos.push(garCarInfoList.value[key]);
  369 + }
  370 +
390 } 371 }
391 372
392 let params = { 373 let params = {