Commit 328547074b5d3bc277cb01134847ccbc4615ad9d
1 parent
38584a8d
feat: 初步修改
Showing
24 changed files
with
487 additions
and
961 deletions
garbage-removal/src/apis/company.js
| @@ -19,3 +19,12 @@ export async function queryEnterpriseList(params) { | @@ -19,3 +19,12 @@ export async function queryEnterpriseList(params) { | ||
| 19 | {params:params} | 19 | {params:params} |
| 20 | ); | 20 | ); |
| 21 | } | 21 | } |
| 22 | + | ||
| 23 | +/** | ||
| 24 | + * @method 企业详情 | ||
| 25 | + */ | ||
| 26 | +export async function queryEnterpriseById(id) { | ||
| 27 | + return await request.get( | ||
| 28 | + `/unit/enterprise/${id}` | ||
| 29 | + ); | ||
| 30 | +} |
garbage-removal/src/pages.json
| @@ -45,7 +45,7 @@ | @@ -45,7 +45,7 @@ | ||
| 45 | "enablePullDownRefresh": false | 45 | "enablePullDownRefresh": false |
| 46 | } | 46 | } |
| 47 | },{ | 47 | },{ |
| 48 | - "path": "pages/order/detail/index", | 48 | + "path": "pages/order/other-home/detail/index", |
| 49 | "style": { | 49 | "style": { |
| 50 | "navigationBarTitleText": "派单详情", | 50 | "navigationBarTitleText": "派单详情", |
| 51 | "navigationBarTextStyle": "white", | 51 | "navigationBarTextStyle": "white", |
| @@ -53,7 +53,7 @@ | @@ -53,7 +53,7 @@ | ||
| 53 | "enablePullDownRefresh": false | 53 | "enablePullDownRefresh": false |
| 54 | } | 54 | } |
| 55 | },{ | 55 | },{ |
| 56 | - "path": "pages/order/success/index", | 56 | + "path": "pages/order/other-home/success/index", |
| 57 | "style": { | 57 | "style": { |
| 58 | "navigationBarTitleText": "完成派单", | 58 | "navigationBarTitleText": "完成派单", |
| 59 | "navigationBarTextStyle": "white", | 59 | "navigationBarTextStyle": "white", |
| @@ -61,7 +61,7 @@ | @@ -61,7 +61,7 @@ | ||
| 61 | "enablePullDownRefresh": false | 61 | "enablePullDownRefresh": false |
| 62 | } | 62 | } |
| 63 | },{ | 63 | },{ |
| 64 | - "path": "pages/order/guest/index", | 64 | + "path": "pages/order/other-home/guest/index", |
| 65 | "style": { | 65 | "style": { |
| 66 | "navigationBarTitleText": "详情", | 66 | "navigationBarTitleText": "详情", |
| 67 | "navigationBarTextStyle": "white", | 67 | "navigationBarTextStyle": "white", |
| @@ -69,7 +69,7 @@ | @@ -69,7 +69,7 @@ | ||
| 69 | "enablePullDownRefresh": false | 69 | "enablePullDownRefresh": false |
| 70 | } | 70 | } |
| 71 | },{ | 71 | },{ |
| 72 | - "path": "pages/order/upload/index", | 72 | + "path": "pages/order/other-home/upload/index", |
| 73 | "style": { | 73 | "style": { |
| 74 | "navigationBarTitleText": "上传照片", | 74 | "navigationBarTitleText": "上传照片", |
| 75 | "navigationBarTextStyle": "white", | 75 | "navigationBarTextStyle": "white", |
| @@ -77,7 +77,7 @@ | @@ -77,7 +77,7 @@ | ||
| 77 | "enablePullDownRefresh": false | 77 | "enablePullDownRefresh": false |
| 78 | } | 78 | } |
| 79 | },{ | 79 | },{ |
| 80 | - "path": "pages/order/evaluate-info/index", | 80 | + "path": "pages/order/other-home/evaluate-info/index", |
| 81 | "style": { | 81 | "style": { |
| 82 | "navigationBarTitleText": "评价详情", | 82 | "navigationBarTitleText": "评价详情", |
| 83 | "navigationBarTextStyle": "white", | 83 | "navigationBarTextStyle": "white", |
| @@ -85,7 +85,7 @@ | @@ -85,7 +85,7 @@ | ||
| 85 | "enablePullDownRefresh": false | 85 | "enablePullDownRefresh": false |
| 86 | } | 86 | } |
| 87 | },{ | 87 | },{ |
| 88 | - "path": "pages/order/evaluate/index", | 88 | + "path": "pages/order/other-home/evaluate/index", |
| 89 | "style": { | 89 | "style": { |
| 90 | "navigationBarTitleText": "写评价", | 90 | "navigationBarTitleText": "写评价", |
| 91 | "navigationBarTextStyle": "white", | 91 | "navigationBarTextStyle": "white", |
garbage-removal/src/pages/home/clean/company-detail/index.vue
| @@ -93,6 +93,7 @@ | @@ -93,6 +93,7 @@ | ||
| 93 | 93 | ||
| 94 | <script setup> | 94 | <script setup> |
| 95 | import { queryCarList } from '@/apis/carinfo.js'; | 95 | import { queryCarList } from '@/apis/carinfo.js'; |
| 96 | +import { queryEnterpriseById } from '@/apis/company.js'; | ||
| 96 | import { onLoad } from '@dcloudio/uni-app'; | 97 | import { onLoad } from '@dcloudio/uni-app'; |
| 97 | import { ref } from 'vue'; | 98 | import { ref } from 'vue'; |
| 98 | const baseDataList = ref([{ label: '法人' }, { label: '负责人' }, { label: '业务联系电话' }, { label: '道路运输许可证' }, { label: '核准有效期' }, { label: '注册地址' }]); | 99 | const baseDataList = ref([{ label: '法人' }, { label: '负责人' }, { label: '业务联系电话' }, { label: '道路运输许可证' }, { label: '核准有效期' }, { label: '注册地址' }]); |
| @@ -130,11 +131,23 @@ const handleContactClick = (val) => { | @@ -130,11 +131,23 @@ const handleContactClick = (val) => { | ||
| 130 | }).catch(err => { }); | 131 | }).catch(err => { }); |
| 131 | } | 132 | } |
| 132 | onLoad((options) => { | 133 | onLoad((options) => { |
| 133 | - companyInfo.value = JSON.parse(options.companyObj); | ||
| 134 | - userAddress.value = JSON.parse(options.userAddress); | ||
| 135 | - tel.value = options.tel; | ||
| 136 | - initData(companyInfo.value); | ||
| 137 | - queryCarList({ companyId: companyInfo.value.id }).then(res => { | 134 | + let companyId; |
| 135 | + if (options.companyObj && options.userAddress && options.tel) { | ||
| 136 | + companyInfo.value = JSON.parse(options.companyObj); | ||
| 137 | + userAddress.value = JSON.parse(options.userAddress); | ||
| 138 | + tel.value = options.tel; | ||
| 139 | + initData(companyInfo.value); | ||
| 140 | + companyId = companyInfo.value.id | ||
| 141 | + } | ||
| 142 | + if (options.companyId) { | ||
| 143 | + companyId = options.companyId | ||
| 144 | + queryEnterpriseById(companyId).then(res => { | ||
| 145 | + companyInfo.value = res.data.data | ||
| 146 | + initData(companyInfo.value); | ||
| 147 | + }) | ||
| 148 | + } | ||
| 149 | + | ||
| 150 | + queryCarList({ companyId: companyId }).then(res => { | ||
| 138 | carList.value = res.data.rows | 151 | carList.value = res.data.rows |
| 139 | }) | 152 | }) |
| 140 | }) | 153 | }) |
| @@ -161,7 +174,6 @@ const handlerClickJumpMap = () => { | @@ -161,7 +174,6 @@ const handlerClickJumpMap = () => { | ||
| 161 | } | 174 | } |
| 162 | } | 175 | } |
| 163 | }) | 176 | }) |
| 164 | - console.log('跳转定位到公司位置'); | ||
| 165 | } | 177 | } |
| 166 | 178 | ||
| 167 | const initData = (baseData) => { | 179 | const initData = (baseData) => { |
garbage-removal/src/pages/home/clean/index-back.vue deleted
100644 → 0
| 1 | -<template> | ||
| 2 | - <view class="mask-box"> | ||
| 3 | - <liu-delivery-time :isMask="true" :change="changeTime" ref="chooseTime" title="请选择预约时间"></liu-delivery-time> | ||
| 4 | - <u-picker closeOnClickOverlay :show="carTypeShowFlag" :columns="candidates" :itemHeight="100" | ||
| 5 | - @confirm="handlePickerCarInfoConfirm" @cancel="handleCarInfoClick(false)" | ||
| 6 | - @close="handleCarInfoClick(false)"></u-picker> | ||
| 7 | - <u-picker closeOnClickOverlay :show="garbageTypeShowFlag" :columns="garbageTypeList" :itemHeight="100" | ||
| 8 | - @confirm="handlePickerGarbageTypeConfirm" @close="handleGarbageTypeClick(false)" | ||
| 9 | - @cancel="handleGarbageTypeClick(false)"></u-picker> | ||
| 10 | - <u-popup :zIndex="10074" closeOnClickOverlay :show="carPopupShowFlag" :round="10" @close="handlePopupClick(false)" | ||
| 11 | - @open="handlePopupClick(true)"> | ||
| 12 | - <view class="company-clean-container-car-popup"> | ||
| 13 | - <!-- 主要内容 --> | ||
| 14 | - <view class="company-clean-container-car-popup-content"> | ||
| 15 | - <view class="company-clean-container-car-popup-content-title"> | ||
| 16 | - <view style="text-align: center;"> | ||
| 17 | - 车辆类型 | ||
| 18 | - </view> | ||
| 19 | - </view> | ||
| 20 | - <view class="company-clean-container-car-popup-content-box"> | ||
| 21 | - <view class="company-clean-container-car-popup-content-box-item" v-for="(item, index) in garCarInfoList" | ||
| 22 | - :key="index"> | ||
| 23 | - <view class="company-clean-container-car-popup-content-box-item-text"> | ||
| 24 | - {{ item.garOrderCarType }} | ||
| 25 | - </view> | ||
| 26 | - <view class="company-clean-container-car-popup-content-box-item-number" hover-class="hoverClickStyle"> | ||
| 27 | - <u-number-box :min="0" :max="9999" integer buttonSize="46" :inputWidth="100" | ||
| 28 | - v-model="garCarInfoList[item.garOrderCarType].garOrderCarNumber" :disabledInput="true"></u-number-box> | ||
| 29 | - </view> | ||
| 30 | - </view> | ||
| 31 | - | ||
| 32 | - </view> | ||
| 33 | - </view> | ||
| 34 | - <!-- 占位盒子 --> | ||
| 35 | - <view class="company-clean-container-car-popup-button-safe"> | ||
| 36 | - | ||
| 37 | - </view> | ||
| 38 | - </view> | ||
| 39 | - </u-popup> | ||
| 40 | - </view> | ||
| 41 | - <view class="company-clean-container"> | ||
| 42 | - <view class="company-clean-container-box"> | ||
| 43 | - <view class="company-clean-container-header"> | ||
| 44 | - <view class="company-clean-container-header-address"> | ||
| 45 | - {{ userAddress.garUserAddress }}{{ userAddress.garRemark }} | ||
| 46 | - </view> | ||
| 47 | - <view class="company-clean-container-header-base-info"> | ||
| 48 | - {{ userAddress.garUserContactName }} {{ userAddress.garUserContactTel }} | ||
| 49 | - </view> | ||
| 50 | - <view @click.stop="handleTimeChoose" class="company-clean-container-header-reservation"> | ||
| 51 | - <view class="company-clean-container-header-reservation-left"> | ||
| 52 | - <text style="color: red;">*</text> <u-icon name="calendar" size="40"></u-icon>预约时间 | ||
| 53 | - </view> | ||
| 54 | - <view class="company-clean-container-header-reservation-right"> | ||
| 55 | - <text style="margin-right: 10rpx;">{{ dayTime ? dayTime : "请选择时间" }}</text> <u-icon name="arrow-right" | ||
| 56 | - size="25"></u-icon> | ||
| 57 | - </view> | ||
| 58 | - </view> | ||
| 59 | - </view> | ||
| 60 | - <view class="company-clean-container-car-main"> | ||
| 61 | - <view class="company-clean-container-car-main-content"> | ||
| 62 | - <view v-if="paramFrom.carType" class="company-clean-container-car-main-content-type"> | ||
| 63 | - <text class="company-clean-container-car-main-content-type-price-area"><text | ||
| 64 | - style="color: red;">*</text>车辆类型:</text> | ||
| 65 | - <!-- <uni-combox label="" :candidates="candidates" placeholder="请选择运输车辆类型" | ||
| 66 | - v-model="paramFrom.carType"></uni-combox> --> | ||
| 67 | - <view class="" hover-class="hoverClickStyle" @click.stop="handleCarInfoClick(true)"> | ||
| 68 | - <u--input color="#909399" border="none" style="pointer-events:none" :modelValue="paramFrom.carType" | ||
| 69 | - type="text" placeholder-class="line" readonly /> | ||
| 70 | - </view> | ||
| 71 | - </view> | ||
| 72 | - <view class="company-clean-container-car-main-content-type"> | ||
| 73 | - <text class="company-clean-container-car-main-content-type-price-area"><text | ||
| 74 | - style="color: red;">*</text>垃圾类型:</text> | ||
| 75 | - <view hover-class="hoverClickStyle" @click.stop="handleGarbageTypeClick(true)"> | ||
| 76 | - <u--input color="#909399" border="none" style="pointer-events:none" :modelValue="paramFrom.garbageType" | ||
| 77 | - type="text" placeholder-class="line" readonly /> | ||
| 78 | - </view> | ||
| 79 | - </view> | ||
| 80 | - <view class="company-clean-container-car-main-content-img"> | ||
| 81 | - <image class="company-clean-container-car-main-content-img" :src="carFront" /> | ||
| 82 | - </view> | ||
| 83 | - <view class="company-clean-container-car-main-content-remark"> | ||
| 84 | - {{ garCarTransportInfo }} | ||
| 85 | - </view> | ||
| 86 | - | ||
| 87 | - <view v-if="paramFrom.carType" class="company-clean-container-car-main-content-number"> | ||
| 88 | - <view class="company-clean-container-car-main-content-number-txt"> | ||
| 89 | - <text style="color: red;">*</text>协商车辆数量: | ||
| 90 | - </view> | ||
| 91 | - <view class="company-clean-container-car-main-content-number-button"> | ||
| 92 | - <u-number-box :min="0" :max="9999" integer buttonSize="46" :inputWidth="100" | ||
| 93 | - v-model="garCarInfoList[paramFrom.carType].garOrderCarNumber"></u-number-box> | ||
| 94 | - </view> | ||
| 95 | - </view> | ||
| 96 | - <view class="company-clean-container-car-main-content-prompt"> | ||
| 97 | - 温馨提示:垃圾类型不符合,企业有权拒绝清运。 | ||
| 98 | - </view> | ||
| 99 | - </view> | ||
| 100 | - </view> | ||
| 101 | - <view class="company-clean-container-site-image-info"> | ||
| 102 | - <view class="company-clean-container-site-image-info-remark"> | ||
| 103 | - <text style="color: red;">*</text>现场照片(最多上传10张) | ||
| 104 | - </view> | ||
| 105 | - <view class="company-clean-container-site-image-info-img"> | ||
| 106 | - <u-upload width="200" height="150" :fileList="fileList" @afterRead="afterRead" @delete="deletePic" name="3" | ||
| 107 | - multiple :maxCount="10" :previewFullImage="true"></u-upload> | ||
| 108 | - </view> | ||
| 109 | - <view class="company-clean-container-site-image-info-input-remark"> | ||
| 110 | - 填写备注 | ||
| 111 | - </view> | ||
| 112 | - <view class="company-clean-container-site-image-info-input-remark-box"> | ||
| 113 | - <u--textarea v-model="paramFrom.remark" placeholder="请输入内容"></u--textarea> | ||
| 114 | - </view> | ||
| 115 | - </view> | ||
| 116 | - <view class="company-clean-container-site-image-info-sure-button"> | ||
| 117 | - <view class="company-clean-container-site-image-info-sure-button-radio"> | ||
| 118 | - <view @click="changeAgree"> | ||
| 119 | - <u-checkbox-group v-model="paramFrom.sureReadFlag" placement="row"> | ||
| 120 | - <u-checkbox activeColor="#5ac725" :customStyle="{ marginBottom: '0px', marginTop: '1px' }" size="25" | ||
| 121 | - labelSize="25" shape="square" :key="0" :name="true" :labelDisabled="true" | ||
| 122 | - labelColor="#909399"></u-checkbox> | ||
| 123 | - </u-checkbox-group> | ||
| 124 | - </view> | ||
| 125 | - <view> | ||
| 126 | - 本人已确认信息真实有效,并将上述信息告知市容环境卫生主管部门。 | ||
| 127 | - </view> | ||
| 128 | - </view> | ||
| 129 | - </view> | ||
| 130 | - </view> | ||
| 131 | - <view class="company-clean-bottom" style="z-index: 10074;"> | ||
| 132 | - <movable-area v-if="!carPopupShowFlag" ref="movableAreaElement" class="movableArea"> | ||
| 133 | - <movable-view class="movableView" :x="x" :y="y" direction="all" @change="onChange"> | ||
| 134 | - <view class="company-clean-call-box-container"> | ||
| 135 | - <u-icon @click="handleContactClick(tel)" name="phone-fill" color="#ffffff" size="50"></u-icon> | ||
| 136 | - </view> | ||
| 137 | - </movable-view> | ||
| 138 | - </movable-area> | ||
| 139 | - <view class="company-clean-bottom-box"> | ||
| 140 | - <view class="company-clean-bottom-left"> | ||
| 141 | - <view class="company-clean-bottom-left-icon"> | ||
| 142 | - <u-icon @click="carPopupShowFlag = true" :stop="true" size="50" name="car-fill"></u-icon> | ||
| 143 | - </view> | ||
| 144 | - <view class="company-clean-bottom-left-number"> | ||
| 145 | - <up-badge :type="type" max="99" :value="garCarNumberCount"></up-badge> | ||
| 146 | - </view> | ||
| 147 | - </view> | ||
| 148 | - <view class="company-clean-bottom-right"> | ||
| 149 | - <u-button @click="handleOderSure" shape="square" color="#a9e08f" text="立即派单"></u-button> | ||
| 150 | - </view> | ||
| 151 | - </view> | ||
| 152 | - </view> | ||
| 153 | - </view> | ||
| 154 | -</template> | ||
| 155 | - | ||
| 156 | -<script setup> | ||
| 157 | -import { queryCarList } from '@/apis/carinfo.js'; | ||
| 158 | -import { uploadFilePromise } from '@/apis/common.js'; | ||
| 159 | -import { saveOrder } from '@/apis/order.js'; | ||
| 160 | -import liuDeliveryTime from "@/components/liu-delivery-time/liu-delivery-time.vue"; | ||
| 161 | -import { useMainStore } from '@/stores/index.js'; | ||
| 162 | -import { onLoad } from '@dcloudio/uni-app'; | ||
| 163 | -import { computed, getCurrentInstance, nextTick, ref, watch } from 'vue'; | ||
| 164 | -const { proxy } = getCurrentInstance(); | ||
| 165 | - | ||
| 166 | -const store = useMainStore(); | ||
| 167 | -const userType = computed(() => store.userType) | ||
| 168 | -const x = ref(5) | ||
| 169 | -const y = ref() | ||
| 170 | -const movableAreaElement = ref() | ||
| 171 | -const companyObj = ref() | ||
| 172 | -const tel = ref() | ||
| 173 | -const carTypeShowFlag = ref(false) | ||
| 174 | -const garbageTypeShowFlag = ref(false) | ||
| 175 | -const carPopupShowFlag = ref(false) | ||
| 176 | -const userAddress = ref({ | ||
| 177 | - garUserContactName: "", | ||
| 178 | - garUserContactTel: "", | ||
| 179 | - garRemark: "", | ||
| 180 | - garUserAddress: "", | ||
| 181 | - garCoordinate: "", | ||
| 182 | - garLongitude: "", | ||
| 183 | - garLatitude: "", | ||
| 184 | -}) | ||
| 185 | -// 车辆信息 | ||
| 186 | -const garCarInfoList = ref({}) | ||
| 187 | -const garCarLabelInfoList = ref({}) | ||
| 188 | -const garCarLabelInfoNow = ref() | ||
| 189 | -const garCarTransportInfo = computed(() => { | ||
| 190 | - try { | ||
| 191 | - let carInfo = garCarLabelInfoNow.value | ||
| 192 | - let lengthWidthHeight = carInfo.lengthWidthHeight.split(";"); | ||
| 193 | - let boxLength = lengthWidthHeight[0]; // 箱子的长度(单位:米) | ||
| 194 | - let boxWidth = lengthWidthHeight[1]; // 箱子的宽度(单位:米) | ||
| 195 | - let boxHeight = lengthWidthHeight[2]; // 箱子的高度(单位:米) | ||
| 196 | - | ||
| 197 | - let bagLength = 0.75; // 袋子的长度(单位:米) | ||
| 198 | - let bagWidth = 0.45; // 袋子的宽度(单位:米) | ||
| 199 | - let bagHeight = 0.22; // 袋子的高度(单位:米) | ||
| 200 | - | ||
| 201 | - let boxVolume = boxLength * boxWidth * boxHeight; // 箱子的体积(单位:立方米) | ||
| 202 | - let bagVolume = bagLength * bagWidth * bagHeight; // 袋子的体积(单位:立方米) | ||
| 203 | - | ||
| 204 | - let bagCount = Math.floor(boxVolume / bagVolume); // 箱子可以容纳的袋子数量(向下取整) | ||
| 205 | - | ||
| 206 | - return `箱体长${boxLength}m宽${boxWidth}m高${boxHeight}m,最多课容纳约${bagCount}袋袋装修垃圾(75cm * 45cm每袋)。` | ||
| 207 | - } catch (error) { | ||
| 208 | - return "符合装修垃圾运输管理规范的新型环保智能装修垃圾运输车。" | ||
| 209 | - } | ||
| 210 | - | ||
| 211 | -}) | ||
| 212 | -// 车辆数量 | ||
| 213 | -const garCarNumberCount = computed(() => { | ||
| 214 | - let count = 0; | ||
| 215 | - if (garCarInfoList.value) { | ||
| 216 | - for (const key in garCarInfoList.value) { | ||
| 217 | - const element = garCarInfoList.value[key]; | ||
| 218 | - count = typeof element.garOrderCarNumber === 'number' ? count + element.garOrderCarNumber : count; | ||
| 219 | - console.log(element.garOrderCarNumber instanceof Number); | ||
| 220 | - } | ||
| 221 | - } | ||
| 222 | - console.log(count); | ||
| 223 | - return count; | ||
| 224 | -}) | ||
| 225 | -const garbageTypeList = ref([["装修垃圾", "建筑垃圾"]]) | ||
| 226 | -const paramFrom = ref({ | ||
| 227 | - carNumber: 0, | ||
| 228 | - remark: "", | ||
| 229 | - sureReadFlag: [], | ||
| 230 | - carType: "", | ||
| 231 | - garbageType: "装修垃圾" | ||
| 232 | -}) | ||
| 233 | -const dayTime = ref() | ||
| 234 | - | ||
| 235 | -const chooseTime = ref() | ||
| 236 | -const fileList = ref([]) | ||
| 237 | -const candidates = ref([]) | ||
| 238 | -const handleTimeChoose = () => { | ||
| 239 | - chooseTime.value.open(); | ||
| 240 | -} | ||
| 241 | - | ||
| 242 | -const changeTime = (e) => { | ||
| 243 | - dayTime.value = e.value | ||
| 244 | -} | ||
| 245 | -const changeAgree = (e) => { | ||
| 246 | - // paramFrom.value.sureReadFlag = e | ||
| 247 | - paramFrom.value.sureReadFlag[0] = !paramFrom.value.sureReadFlag[0] | ||
| 248 | -} | ||
| 249 | -const onChange = (e) => { | ||
| 250 | - // console.log(e); | ||
| 251 | -} | ||
| 252 | - | ||
| 253 | -const handlePopupClick = (val) => { | ||
| 254 | - carPopupShowFlag.value = val | ||
| 255 | -} | ||
| 256 | - | ||
| 257 | -/** | ||
| 258 | - * 初始化信息 | ||
| 259 | - */ | ||
| 260 | -onLoad((options) => { | ||
| 261 | - companyObj.value = JSON.parse(options.companyObj); | ||
| 262 | - tel.value = options.tel; | ||
| 263 | - userAddress.value = JSON.parse(options.userAddress); | ||
| 264 | - queryCarList({ companyId: companyObj.value.id }).then(res => { | ||
| 265 | - // 设置车辆类型 | ||
| 266 | - candidates.value = [[...new Set(res.data.rows | ||
| 267 | - .filter(item => item.containerVolume) | ||
| 268 | - .map(item => { | ||
| 269 | - garCarLabelInfoList.value[item.containerVolume + "方车"] = item | ||
| 270 | - return item.containerVolume + "方车" | ||
| 271 | - })) | ||
| 272 | - ]]; | ||
| 273 | - // 设置初始车辆数量 | ||
| 274 | - candidates.value[0].forEach((item, index) => { | ||
| 275 | - garCarInfoList.value[item] = { | ||
| 276 | - garOrderCarNumber: 0, | ||
| 277 | - garOrderCarType: item | ||
| 278 | - } | ||
| 279 | - }) | ||
| 280 | - // 设置默认车辆 | ||
| 281 | - paramFrom.value.carType = candidates.value[0][0]; | ||
| 282 | - garCarLabelInfoNow.value = garCarLabelInfoList.value[paramFrom.value.carType] | ||
| 283 | - }) | ||
| 284 | -}) | ||
| 285 | - | ||
| 286 | - | ||
| 287 | -const handleCarInfoClick = (val) => { | ||
| 288 | - carTypeShowFlag.value = val | ||
| 289 | -} | ||
| 290 | -const handleGarbageTypeClick = (val) => { | ||
| 291 | - garbageTypeShowFlag.value = val | ||
| 292 | -} | ||
| 293 | -/** | ||
| 294 | - * 拨打电话回调 | ||
| 295 | - */ | ||
| 296 | -const handleContactClick = (val) => { | ||
| 297 | - uni.makePhoneCall({ phoneNumber: val }).then(res => { | ||
| 298 | - }).catch(err => { }); | ||
| 299 | -} | ||
| 300 | - | ||
| 301 | -// 删除图片 | ||
| 302 | -const deletePic = (event) => { | ||
| 303 | - fileList.value.splice(event.index, 1); | ||
| 304 | -}; | ||
| 305 | - | ||
| 306 | -// 新增图片 | ||
| 307 | -const afterRead = async (event) => { | ||
| 308 | - // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式 | ||
| 309 | - let lists = [].concat(event.file); | ||
| 310 | - let fileListLen = fileList.value.length; | ||
| 311 | - lists.map((item) => { | ||
| 312 | - fileList.value.push({ | ||
| 313 | - ...item, | ||
| 314 | - status: 'uploading', | ||
| 315 | - message: '上传中', | ||
| 316 | - }); | ||
| 317 | - }); | ||
| 318 | - for (let i = 0; i < lists.length; i++) { | ||
| 319 | - let requestPath = import.meta.env.VITE_BASE_URL + import.meta.env.VITE_BASE_FILE_UPLOAD_PREFIX; | ||
| 320 | - const result = await uploadFilePromise(requestPath, lists[i].url); | ||
| 321 | - let item = fileList.value[fileListLen]; | ||
| 322 | - fileList.value.splice(fileListLen, 1, { | ||
| 323 | - ...item, | ||
| 324 | - status: 'success', | ||
| 325 | - message: '', | ||
| 326 | - url: result.data.fileName, | ||
| 327 | - }); | ||
| 328 | - fileListLen++; | ||
| 329 | - } | ||
| 330 | -}; | ||
| 331 | - | ||
| 332 | - | ||
| 333 | -const handlePickerGarbageTypeConfirm = (e) => { | ||
| 334 | - paramFrom.value.garbageType = e.value | ||
| 335 | - garbageTypeShowFlag.value = false | ||
| 336 | -} | ||
| 337 | -const handlePickerCarInfoConfirm = (e) => { | ||
| 338 | - paramFrom.value.carType = e.value | ||
| 339 | - garCarLabelInfoNow.value = garCarLabelInfoList.value[paramFrom.value.carType] | ||
| 340 | - carTypeShowFlag.value = false | ||
| 341 | - console.log(garCarLabelInfoNow.value); | ||
| 342 | -} | ||
| 343 | - | ||
| 344 | -/** | ||
| 345 | - * 处理下单 | ||
| 346 | - */ | ||
| 347 | -const handleOderSure = () => { | ||
| 348 | - let garCarInfos = []; | ||
| 349 | - for (const key in garCarInfoList.value) { | ||
| 350 | - garCarInfos.push(garCarInfoList.value[key]) | ||
| 351 | - } | ||
| 352 | - | ||
| 353 | - let params = { | ||
| 354 | - /** | ||
| 355 | - * 派单地址 | ||
| 356 | - */ | ||
| 357 | - garOrderAddress: userAddress.value.garUserAddress, | ||
| 358 | - | ||
| 359 | - /** | ||
| 360 | - * 派单详细地址 | ||
| 361 | - */ | ||
| 362 | - garOrderAddressDetails: userAddress.value.garRemark, | ||
| 363 | - | ||
| 364 | - /** | ||
| 365 | - * 派单姓名 | ||
| 366 | - */ | ||
| 367 | - garOrderContactName: userAddress.value.garUserContactName, | ||
| 368 | - garCarInfoList: garCarInfos, | ||
| 369 | - | ||
| 370 | - /** | ||
| 371 | - * 垃圾类型 | ||
| 372 | - */ | ||
| 373 | - garOrderTrashType: paramFrom.value.garbageType, | ||
| 374 | - | ||
| 375 | - /** | ||
| 376 | - * 派单人电话 | ||
| 377 | - */ | ||
| 378 | - garOrderContactTel: userAddress.value.garUserContactTel, | ||
| 379 | - | ||
| 380 | - /** | ||
| 381 | - * 承接经营单位 | ||
| 382 | - */ | ||
| 383 | - garOrderCompanyId: companyObj.value.id, | ||
| 384 | - | ||
| 385 | - /** | ||
| 386 | - * 公司名称 | ||
| 387 | - */ | ||
| 388 | - garOrderCompanyName: companyObj.value.name, | ||
| 389 | - | ||
| 390 | - /** | ||
| 391 | - * 公司负责人电话 | ||
| 392 | - */ | ||
| 393 | - garOrderCompanyTel: companyObj.value.servicePhone, | ||
| 394 | - | ||
| 395 | - /** | ||
| 396 | - * 约定时间 | ||
| 397 | - */ | ||
| 398 | - garOrderAgreementTime: dayTime.value, | ||
| 399 | - /** | ||
| 400 | - * 备注 | ||
| 401 | - */ | ||
| 402 | - garRemark: paramFrom.value.remark, | ||
| 403 | - /** | ||
| 404 | - * 图片列表 | ||
| 405 | - */ | ||
| 406 | - imageUrls: fileList.value.map(item => item.url), | ||
| 407 | - garLongitude: userAddress.value.garLongitude, | ||
| 408 | - garLatitude: userAddress.value.garLatitude, | ||
| 409 | - garCoordinate: userAddress.value.garCoordinate, | ||
| 410 | - } | ||
| 411 | - if (!validateParams(params)) { | ||
| 412 | - return; | ||
| 413 | - } | ||
| 414 | - | ||
| 415 | - saveOrder(params).then(res => { | ||
| 416 | - // TODO 派单详情 | ||
| 417 | - if (res.data.success) { | ||
| 418 | - if (userType.value === "运输驾驶员") { | ||
| 419 | - uni.$u.toast("派单成功,请切换成且角色查看派单详情") | ||
| 420 | - setTimeout(() => { | ||
| 421 | - uni.$u.route({ | ||
| 422 | - type: 'navigateBack', | ||
| 423 | - url: `pages/home/index`, | ||
| 424 | - }) | ||
| 425 | - }, 300) | ||
| 426 | - } else { | ||
| 427 | - uni.$u.route({ | ||
| 428 | - type: "redirect", | ||
| 429 | - url: `pages/order/detail/index`, | ||
| 430 | - params: { | ||
| 431 | - orderId: res.data.data | ||
| 432 | - } | ||
| 433 | - }) | ||
| 434 | - uni.$u.toast(res.data.msg) | ||
| 435 | - } | ||
| 436 | - | ||
| 437 | - } | ||
| 438 | - }) | ||
| 439 | -} | ||
| 440 | - | ||
| 441 | - | ||
| 442 | -/** | ||
| 443 | - * 校验参数 | ||
| 444 | - * @param {Object} params | ||
| 445 | - */ | ||
| 446 | -const validateParams = (params) => { | ||
| 447 | - if (!paramFrom.value.sureReadFlag[0]) { | ||
| 448 | - jumpPrompt('请勾选"本人已确认信息真实有效,并将上诉信息告知市容环境卫生主管部门"') | ||
| 449 | - return false; | ||
| 450 | - } | ||
| 451 | - for (const key in params) { | ||
| 452 | - if (!params[key] && key != "garRemark") { | ||
| 453 | - switch (key) { | ||
| 454 | - case "garOrderAgreementTime": | ||
| 455 | - jumpPrompt('请选择预约时间') | ||
| 456 | - break; | ||
| 457 | - | ||
| 458 | - } | ||
| 459 | - return false; | ||
| 460 | - } | ||
| 461 | - if (key === "garCarInfoList") { | ||
| 462 | - let count = 0; | ||
| 463 | - params[key].forEach(item => { | ||
| 464 | - count += item.garOrderCarNumber; | ||
| 465 | - }) | ||
| 466 | - if (count === 0) { | ||
| 467 | - jumpPrompt('请添加车辆数量') | ||
| 468 | - return false; | ||
| 469 | - } | ||
| 470 | - } | ||
| 471 | - | ||
| 472 | - if (key == "imageUrls") { | ||
| 473 | - if (params[key].length == 0) { | ||
| 474 | - jumpPrompt('请上传现场图片') | ||
| 475 | - return false; | ||
| 476 | - } | ||
| 477 | - if (!validateImage(params[key])) { | ||
| 478 | - uni.$u.toast('请等待图片上传完毕') | ||
| 479 | - return false; | ||
| 480 | - } | ||
| 481 | - } | ||
| 482 | - } | ||
| 483 | - return true; | ||
| 484 | -} | ||
| 485 | - | ||
| 486 | -const jumpPrompt = (msg) => { | ||
| 487 | - uni.showModal({ | ||
| 488 | - title: '提示', | ||
| 489 | - content: msg, | ||
| 490 | - showCancel: false, | ||
| 491 | - success: function (res) { | ||
| 492 | - if (res.confirm) { | ||
| 493 | - } else if (res.cancel) { | ||
| 494 | - } | ||
| 495 | - } | ||
| 496 | - }); | ||
| 497 | -} | ||
| 498 | -const validateImage = (fileList) => { | ||
| 499 | - for (let index = 0; index < fileList.length; index++) { | ||
| 500 | - const str = fileList[index]; | ||
| 501 | - if (!str.startsWith("/profile/upload")) { | ||
| 502 | - return false; | ||
| 503 | - } | ||
| 504 | - } | ||
| 505 | - return true; | ||
| 506 | -} | ||
| 507 | - | ||
| 508 | - | ||
| 509 | -// 开始执行一次 | ||
| 510 | -watch(carPopupShowFlag, (val) => { | ||
| 511 | - // console.log(val); | ||
| 512 | - // carPopupShowFlag.value = val | ||
| 513 | - if (!val) { | ||
| 514 | - setTimeout(() => { | ||
| 515 | - nextTick(() => { | ||
| 516 | - let areaHeight; | ||
| 517 | - // select中的参数就如css选择器一样选择元素 | ||
| 518 | - let movableArea = uni.createSelectorQuery().in(proxy).select(".movableArea"); | ||
| 519 | - movableArea.boundingClientRect(function (data) { | ||
| 520 | - // data - 包含元素的高度等信息 | ||
| 521 | - areaHeight = data.height; | ||
| 522 | - y.value = areaHeight > 40 ? (areaHeight - 40) : areaHeight; | ||
| 523 | - }).exec(function (res) { | ||
| 524 | - // 注意:exec方法必须执行,即便什么也不做,否则不会获取到任何数据 | ||
| 525 | - }) | ||
| 526 | - }) | ||
| 527 | - }, 0); | ||
| 528 | - } | ||
| 529 | -}, { | ||
| 530 | - immediate: true | ||
| 531 | -}) | ||
| 532 | - | ||
| 533 | -</script> | ||
| 534 | - | ||
| 535 | -<style lang="scss" scoped> | ||
| 536 | -$custom-marin-bottom: 20rpx; | ||
| 537 | -$custom-page-padding: 20rpx; | ||
| 538 | -$custom-border-radio: 20rpx; | ||
| 539 | -$custom-bottom-height: 200rpx; | ||
| 540 | - | ||
| 541 | - | ||
| 542 | -.company-clean-container { | ||
| 543 | - height: 100%; | ||
| 544 | - width: 100%; | ||
| 545 | - background-color: $u-info-light; | ||
| 546 | - box-sizing: border-box; | ||
| 547 | - overflow-y: scroll; | ||
| 548 | - | ||
| 549 | - | ||
| 550 | - .company-clean-container-box { | ||
| 551 | - height: 100%; | ||
| 552 | - width: 100%; | ||
| 553 | - padding: $custom-page-padding; | ||
| 554 | - box-sizing: border-box; | ||
| 555 | - | ||
| 556 | - .company-clean-container-header { | ||
| 557 | - padding: $custom-page-padding; | ||
| 558 | - box-sizing: border-box; | ||
| 559 | - background-color: #ffffff; | ||
| 560 | - border-radius: $custom-border-radio; | ||
| 561 | - margin-bottom: $custom-marin-bottom; | ||
| 562 | - | ||
| 563 | - .company-clean-container-header-address { | ||
| 564 | - font-size: 30rpx; | ||
| 565 | - font-weight: bold; | ||
| 566 | - color: $u-main-color; | ||
| 567 | - } | ||
| 568 | - | ||
| 569 | - .company-clean-container-header-base-info { | ||
| 570 | - font-size: 25rpx; | ||
| 571 | - color: $u-info; | ||
| 572 | - line-height: 80rpx; | ||
| 573 | - } | ||
| 574 | - | ||
| 575 | - .company-clean-container-header-reservation { | ||
| 576 | - display: flex; | ||
| 577 | - justify-content: space-between; | ||
| 578 | - font-size: 25rpx; | ||
| 579 | - @include handleClick; | ||
| 580 | - | ||
| 581 | - .company-clean-container-header-reservation-left { | ||
| 582 | - display: flex; | ||
| 583 | - align-items: center; | ||
| 584 | - color: $u-content-color; | ||
| 585 | - } | ||
| 586 | - | ||
| 587 | - .company-clean-container-header-reservation-right { | ||
| 588 | - display: flex; | ||
| 589 | - align-items: center; | ||
| 590 | - color: $u-content-color; | ||
| 591 | - } | ||
| 592 | - } | ||
| 593 | - | ||
| 594 | - | ||
| 595 | - } | ||
| 596 | - | ||
| 597 | - .company-clean-container-car-main { | ||
| 598 | - padding: $custom-page-padding; | ||
| 599 | - border-radius: $custom-border-radio; | ||
| 600 | - box-sizing: border-box; | ||
| 601 | - background-color: #ffffff; | ||
| 602 | - margin-bottom: $custom-marin-bottom; | ||
| 603 | - | ||
| 604 | - .company-clean-container-car-main-title { | ||
| 605 | - font-size: 30rpx; | ||
| 606 | - font-weight: bold; | ||
| 607 | - color: #a9e08f; | ||
| 608 | - display: flex; | ||
| 609 | - justify-content: center; | ||
| 610 | - } | ||
| 611 | - | ||
| 612 | - .company-clean-container-car-main-content { | ||
| 613 | - width: 100%; | ||
| 614 | - display: flex; | ||
| 615 | - flex-direction: column; | ||
| 616 | - justify-content: center; | ||
| 617 | - | ||
| 618 | - .company-clean-container-car-main-content-img { | ||
| 619 | - width: 600rpx; | ||
| 620 | - height: 400rpx; | ||
| 621 | - | ||
| 622 | - .company-clean-container-car-main-content-img { | ||
| 623 | - width: 600rpx; | ||
| 624 | - height: 400rpx; | ||
| 625 | - } | ||
| 626 | - } | ||
| 627 | - | ||
| 628 | - .company-clean-container-car-main-content-remark { | ||
| 629 | - color: $u-tips-color; | ||
| 630 | - font-size: 23rpx; | ||
| 631 | - line-height: 30rpx; | ||
| 632 | - padding: $custom-page-padding; | ||
| 633 | - background-color: $u-info-light; | ||
| 634 | - word-break: break-all; | ||
| 635 | - } | ||
| 636 | - | ||
| 637 | - .company-clean-container-car-main-content-type { | ||
| 638 | - margin-top: $custom-marin-bottom; | ||
| 639 | - margin-bottom: $custom-marin-bottom; | ||
| 640 | - display: flex; | ||
| 641 | - justify-content: space-between; | ||
| 642 | - border-radius: $custom-border-radio; | ||
| 643 | - // background-color: $u-info-light; | ||
| 644 | - box-sizing: border-box; | ||
| 645 | - | ||
| 646 | - .company-clean-container-car-main-content-type-price-area { | ||
| 647 | - display: flex; | ||
| 648 | - justify-content: flex-start; | ||
| 649 | - align-items: center; | ||
| 650 | - color: $u-info; | ||
| 651 | - white-space: nowrap; | ||
| 652 | - } | ||
| 653 | - } | ||
| 654 | - | ||
| 655 | - .company-clean-container-car-main-content-number { | ||
| 656 | - display: flex; | ||
| 657 | - justify-content: space-between; | ||
| 658 | - font-size: 28rpx; | ||
| 659 | - color: $u-tips-color; | ||
| 660 | - font-weight: small; | ||
| 661 | - align-items: center; | ||
| 662 | - | ||
| 663 | - .company-clean-container-car-main-content-number-txt { | ||
| 664 | - line-height: 80rpx; | ||
| 665 | - } | ||
| 666 | - | ||
| 667 | - .company-clean-container-car-main-content-number-button {} | ||
| 668 | - } | ||
| 669 | - } | ||
| 670 | - | ||
| 671 | - | ||
| 672 | - } | ||
| 673 | - | ||
| 674 | - .company-clean-container-car-main-content-prompt { | ||
| 675 | - color: $u-tips-color; | ||
| 676 | - font-size: 23rpx; | ||
| 677 | - line-height: 30rpx; | ||
| 678 | - padding: $custom-page-padding; | ||
| 679 | - word-break: break-all; | ||
| 680 | - text-align: center; | ||
| 681 | - } | ||
| 682 | - | ||
| 683 | - .company-clean-container-site-image-info { | ||
| 684 | - padding: $custom-page-padding; | ||
| 685 | - background-color: #ffffff; | ||
| 686 | - border-radius: $custom-border-radio; | ||
| 687 | - color: $u-info; | ||
| 688 | - font-size: 28rpx; | ||
| 689 | - margin-bottom: $custom-marin-bottom; | ||
| 690 | - | ||
| 691 | - .company-clean-container-site-image-info-remark { | ||
| 692 | - line-height: 80rpx; | ||
| 693 | - | ||
| 694 | - } | ||
| 695 | - | ||
| 696 | - .company-clean-container-site-image-info-img {} | ||
| 697 | - | ||
| 698 | - .company-clean-container-site-image-info-input-remark { | ||
| 699 | - line-height: 80rpx; | ||
| 700 | - } | ||
| 701 | - | ||
| 702 | - .company-clean-container-site-image-info-input-remark-box {} | ||
| 703 | - } | ||
| 704 | - | ||
| 705 | - .company-clean-container-site-image-info-sure-button { | ||
| 706 | - padding-bottom: $custom-bottom-height; | ||
| 707 | - font-size: 28rpx; | ||
| 708 | - | ||
| 709 | - .company-clean-container-site-image-info-sure-button-radio { | ||
| 710 | - padding: $custom-page-padding; | ||
| 711 | - box-sizing: border-box; | ||
| 712 | - display: flex; | ||
| 713 | - // flex-flow: row wrap; | ||
| 714 | - font-size: 25rpx; | ||
| 715 | - color: $u-info; | ||
| 716 | - } | ||
| 717 | - } | ||
| 718 | - } | ||
| 719 | - | ||
| 720 | - .company-clean-bottom { | ||
| 721 | - position: absolute; | ||
| 722 | - width: 100%; | ||
| 723 | - // height: 100%; | ||
| 724 | - bottom: 0; | ||
| 725 | - left: 0; | ||
| 726 | - // 阴影 | ||
| 727 | - box-shadow: 0 0 10rpx 0 rgba(0, 0, 0, 0.1); | ||
| 728 | - | ||
| 729 | - .movableArea { | ||
| 730 | - pointer-events: none; | ||
| 731 | - position: fixed; | ||
| 732 | - left: 0; | ||
| 733 | - top: 0; | ||
| 734 | - width: 100%; | ||
| 735 | - height: calc(100% - $custom-bottom-height); | ||
| 736 | - // z-index: 99; | ||
| 737 | - | ||
| 738 | - .movableView { | ||
| 739 | - pointer-events: auto; | ||
| 740 | - min-height: 60rpx; | ||
| 741 | - min-width: 60rpx; | ||
| 742 | - | ||
| 743 | - .company-clean-call-box-container { | ||
| 744 | - min-height: 60rpx; | ||
| 745 | - min-width: 60rpx; | ||
| 746 | - display: flex; | ||
| 747 | - align-items: center; | ||
| 748 | - justify-content: center; | ||
| 749 | - background-color: #a9e08f; | ||
| 750 | - border-radius: 100%; | ||
| 751 | - } | ||
| 752 | - } | ||
| 753 | - } | ||
| 754 | - | ||
| 755 | - .company-clean-bottom-box { | ||
| 756 | - height: $custom-bottom-height; | ||
| 757 | - background-color: #ffffff; | ||
| 758 | - padding: 50rpx; | ||
| 759 | - box-sizing: border-box; | ||
| 760 | - display: flex; | ||
| 761 | - justify-content: space-between; | ||
| 762 | - align-items: center; | ||
| 763 | - | ||
| 764 | - .company-clean-bottom-left { | ||
| 765 | - display: flex; | ||
| 766 | - | ||
| 767 | - .company-clean-bottom-left-icon { | ||
| 768 | - transform: rotateY(180deg); | ||
| 769 | - } | ||
| 770 | - | ||
| 771 | - } | ||
| 772 | - | ||
| 773 | - .company-clean-bottom-right { | ||
| 774 | - min-width: 200rpx; | ||
| 775 | - } | ||
| 776 | - } | ||
| 777 | - | ||
| 778 | - } | ||
| 779 | - | ||
| 780 | - | ||
| 781 | - | ||
| 782 | -} | ||
| 783 | - | ||
| 784 | -.hoverClickStyle { | ||
| 785 | - @include handleClick; | ||
| 786 | -} | ||
| 787 | - | ||
| 788 | -// 弹出框 | ||
| 789 | -.company-clean-container-car-popup { | ||
| 790 | - min-height: 450rpx; | ||
| 791 | - padding: $custom-page-padding; | ||
| 792 | - box-sizing: border-box; | ||
| 793 | - | ||
| 794 | - .company-clean-container-car-popup-content { | ||
| 795 | - font-size: 28rpx; | ||
| 796 | - | ||
| 797 | - .company-clean-container-car-popup-content-box { | ||
| 798 | - box-sizing: border-box; | ||
| 799 | - padding: $custom-page-padding; | ||
| 800 | - border: 2rpx solid #a9e08f; | ||
| 801 | - border-radius: 10rpx; | ||
| 802 | - | ||
| 803 | - .company-clean-container-car-popup-content-box-item { | ||
| 804 | - display: flex; | ||
| 805 | - align-items: center; | ||
| 806 | - justify-content: space-between; | ||
| 807 | - margin: 20rpx 0; | ||
| 808 | - box-sizing: border-box; | ||
| 809 | - | ||
| 810 | - .company-clean-container-car-popup-content-box-item-text {} | ||
| 811 | - | ||
| 812 | - .company-clean-container-car-popup-content-box-item-number {} | ||
| 813 | - } | ||
| 814 | - } | ||
| 815 | - | ||
| 816 | - .company-clean-container-car-popup-content-title { | ||
| 817 | - color: $u-main-color; | ||
| 818 | - box-sizing: border-box; | ||
| 819 | - margin-bottom: 20rpx; | ||
| 820 | - font-size: 30rpx; | ||
| 821 | - font-weight: bold; | ||
| 822 | - } | ||
| 823 | - } | ||
| 824 | - | ||
| 825 | - .company-clean-container-car-popup-button-safe { | ||
| 826 | - width: 100%; | ||
| 827 | - height: $custom-bottom-height; | ||
| 828 | - } | ||
| 829 | -} | ||
| 830 | -</style> |
garbage-removal/src/pages/home/clean/index.vue
| @@ -182,6 +182,7 @@ | @@ -182,6 +182,7 @@ | ||
| 182 | </template> | 182 | </template> |
| 183 | 183 | ||
| 184 | <script setup> | 184 | <script setup> |
| 185 | +import { queryAddress } from '@/apis/address.js'; | ||
| 185 | import { queryCarList } from '@/apis/carinfo.js'; | 186 | import { queryCarList } from '@/apis/carinfo.js'; |
| 186 | import { uploadFilePromise } from '@/apis/common.js'; | 187 | import { uploadFilePromise } from '@/apis/common.js'; |
| 187 | import { saveOrder } from '@/apis/order.js'; | 188 | import { saveOrder } from '@/apis/order.js'; |
| @@ -296,7 +297,21 @@ const handlePopupClick = (val) => { | @@ -296,7 +297,21 @@ const handlePopupClick = (val) => { | ||
| 296 | onLoad((options) => { | 297 | onLoad((options) => { |
| 297 | companyObj.value = JSON.parse(options.companyObj); | 298 | companyObj.value = JSON.parse(options.companyObj); |
| 298 | tel.value = options.tel; | 299 | tel.value = options.tel; |
| 299 | - userAddress.value = JSON.parse(options.userAddress); | 300 | + if (options.userAddress == 'undefined') { |
| 301 | + queryAddress('CURRENT').then(res => { | ||
| 302 | + try { | ||
| 303 | + if (res.data.data && res.data.data[0]) { | ||
| 304 | + console.log(res); | ||
| 305 | + userAddress.value = res.data.data[0] ? res.data.data[0] : {} | ||
| 306 | + console.log(userAddress.value); | ||
| 307 | + } | ||
| 308 | + } catch (error) { | ||
| 309 | + userAddress.value = {}; | ||
| 310 | + } | ||
| 311 | + }) | ||
| 312 | + } else { | ||
| 313 | + userAddress.value = JSON.parse(options.userAddress); | ||
| 314 | + } | ||
| 300 | queryCarList({ companyId: companyObj.value.id }).then(res => { | 315 | queryCarList({ companyId: companyObj.value.id }).then(res => { |
| 301 | // 设置车辆类型 | 316 | // 设置车辆类型 |
| 302 | candidates.value = [[...new Set(res.data.rows | 317 | candidates.value = [[...new Set(res.data.rows |
| @@ -453,6 +468,7 @@ const handleOderSure = () => { | @@ -453,6 +468,7 @@ const handleOderSure = () => { | ||
| 453 | garInCarStore: paramFrom.value.garInCarStore | 468 | garInCarStore: paramFrom.value.garInCarStore |
| 454 | } | 469 | } |
| 455 | if (!validateParams(params)) { | 470 | if (!validateParams(params)) { |
| 471 | + console.log("未通过", params); | ||
| 456 | return; | 472 | return; |
| 457 | } | 473 | } |
| 458 | 474 | ||
| @@ -470,7 +486,7 @@ const handleOderSure = () => { | @@ -470,7 +486,7 @@ const handleOderSure = () => { | ||
| 470 | } else { | 486 | } else { |
| 471 | uni.$u.route({ | 487 | uni.$u.route({ |
| 472 | type: "redirect", | 488 | type: "redirect", |
| 473 | - url: `pages/order/detail/index`, | 489 | + url: `pages/order/other-home/detail/index`, |
| 474 | params: { | 490 | params: { |
| 475 | orderId: res.data.data | 491 | orderId: res.data.data |
| 476 | } | 492 | } |
garbage-removal/src/pages/home/clean/scroll-text.vue deleted
100644 → 0
| 1 | -<template> | ||
| 2 | - <view class="car-type-list-box" :style="activeStyle"> | ||
| 3 | - <span v-for="(item, index) in candidates[0]" :key="index">{{ item }}</span> | ||
| 4 | - | ||
| 5 | - </view> | ||
| 6 | -</template> | ||
| 7 | - | ||
| 8 | -<script setup> | ||
| 9 | -import { getCurrentInstance, onMounted, ref } from "vue"; | ||
| 10 | -const { proxy } = getCurrentInstance(); | ||
| 11 | -const activeStyle = ref({ | ||
| 12 | - height: '100rpx', | ||
| 13 | - display: 'flex', | ||
| 14 | - justifyContent: 'center', | ||
| 15 | - alignItems: 'center', | ||
| 16 | - flexDirection: 'column', | ||
| 17 | - overflowY: 'auto', | ||
| 18 | -}) | ||
| 19 | -// uniapp 限制不能直接获取操作dom只能通过动态绑定style修改样式 | ||
| 20 | -const props = defineProps({ | ||
| 21 | - candidates: { | ||
| 22 | - type: Array, | ||
| 23 | - required: true, | ||
| 24 | - default: () => [] | ||
| 25 | - } | ||
| 26 | -}) | ||
| 27 | -const columns = ref(props.candidates[0]) | ||
| 28 | -onMounted(() => { | ||
| 29 | - // carTypeBox.value.style.height = minHeight.value + 'rpx'; | ||
| 30 | - | ||
| 31 | - | ||
| 32 | -}) | ||
| 33 | -</script> | ||
| 34 | - | ||
| 35 | -<style lang="scss" scoped></style> |
garbage-removal/src/pages/login/index.vue
| @@ -44,7 +44,7 @@ import { userLogin } from "@/apis/user.js"; | @@ -44,7 +44,7 @@ import { userLogin } from "@/apis/user.js"; | ||
| 44 | export default { | 44 | export default { |
| 45 | data() { | 45 | data() { |
| 46 | return { | 46 | return { |
| 47 | - tel: '13222222222', | 47 | + tel: '18966667777', |
| 48 | agree: [] | 48 | agree: [] |
| 49 | } | 49 | } |
| 50 | }, | 50 | }, |
garbage-removal/src/pages/order/handler-home/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <z-paging-swiper> | ||
| 3 | + <template v-slot:top> | ||
| 4 | + <u-tabs lineWidth="40" lineColor="#ffffff" lineHeight="6" | ||
| 5 | + :activeStyle="{ 'color': '#ffffff', 'font-weight': 'bolder' }" :inactiveStyle="{ color: '#ffffff' }" | ||
| 6 | + ref="uTabsElement" :list="list" :current="current" @change="tabsChange" :scrollable="false"></u-tabs> | ||
| 7 | + </template> | ||
| 8 | + <swiper class="swiper" :current="swiperCurrent" @translation="translation" @animationfinish="animationfinish"> | ||
| 9 | + <swiper-item class="swiper-item" v-for="(item, index) in list" :key="index"> | ||
| 10 | + <swiper-list-item :tabIndex="index" :currentIndex="swiperCurrent"></swiper-list-item> | ||
| 11 | + </swiper-item> | ||
| 12 | + </swiper> | ||
| 13 | + </z-paging-swiper> | ||
| 14 | +</template> | ||
| 15 | + | ||
| 16 | +<script setup> | ||
| 17 | +import { ref } from 'vue'; | ||
| 18 | +import swiperListItem from './swiper-list-item/index.vue'; | ||
| 19 | +const list = ref([{ name: '待清运' }, { name: '清运中' }, { name: '全部' }, { name: '已完成' }]) | ||
| 20 | +const current = ref(0); | ||
| 21 | +const swiperCurrent = ref(0); | ||
| 22 | +const uTabsElement = ref(); | ||
| 23 | +uni.setNavigationBarTitle({ | ||
| 24 | + title: "处理场所" | ||
| 25 | +}) | ||
| 26 | +const tabsChange = (el) => { | ||
| 27 | + swiperCurrent.value = Number(el.index) | ||
| 28 | +} | ||
| 29 | +const animationfinish = (e) => { | ||
| 30 | + current.value = e.detail.current | ||
| 31 | + swiperCurrent.value = e.detail.current | ||
| 32 | +} | ||
| 33 | +const translation = (e) => { | ||
| 34 | + uTabsElement.value.setDx(e.detail.dx) | ||
| 35 | +} | ||
| 36 | +</script> | ||
| 37 | +<style lang="scss" scoped> | ||
| 38 | +::v-deep .u-tabs__wrapper__scroll-view { | ||
| 39 | + background-color: #53c21d; | ||
| 40 | +} | ||
| 41 | + | ||
| 42 | +.swiper { | ||
| 43 | + height: 100%; | ||
| 44 | + background: linear-gradient(to bottom, $u-success-dark, $u-bg-color, $u-bg-color, $u-bg-color, $u-bg-color, $u-bg-color, $u-bg-color); | ||
| 45 | +} | ||
| 46 | +</style> |
garbage-removal/src/pages/order/handler-home/swiper-list-item/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view class="content-container"> | ||
| 3 | + <z-paging ref="paging" :fixed="false" v-model="dataList" :auto="false" @query="queryList"> | ||
| 4 | + <empty-view slot:empty></empty-view> | ||
| 5 | + <view class="page-box"> | ||
| 6 | + <view class="order" v-for="(item, index) in dataList" :key="index"> | ||
| 7 | + <view class="top"> | ||
| 8 | + <view class="left"> | ||
| 9 | + <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon> | ||
| 10 | + <view class="store">{{ item.garOrderCompanyName }}</view> | ||
| 11 | + <u-icon name="arrow-right" color="rgb(203,203,203)" :size="26"></u-icon> | ||
| 12 | + </view> | ||
| 13 | + <view style="display: flex;align-items: center;"> | ||
| 14 | + <text v-if="item.garOrderHandlerStatus != 3 && item.garOrderStatus === 3 && userType === '运输驾驶员'" | ||
| 15 | + style="font-size: small;color: #f56c6c;">派单已经完成了。</text> | ||
| 16 | + <view v-if="item.garOrderHandlerStatus === 0 && item.garCancelFlag === 0" class="right">待清运 </view> | ||
| 17 | + <view v-if="item.garOrderHandlerStatus === 1 && item.garCancelFlag === 0" class="right">清运中 </view> | ||
| 18 | + <view v-if="item.garOrderHandlerStatus === 3 && userType === '运输驾驶员'" class="right">已完成 </view> | ||
| 19 | + </view> | ||
| 20 | + </view> | ||
| 21 | + <view class="item" @click="handleClick(item.garOrderId)"> | ||
| 22 | + <view class="left"> | ||
| 23 | + <image :src="item.goodsUrl" mode="aspectFill"></image> | ||
| 24 | + </view> | ||
| 25 | + <view class="content"> | ||
| 26 | + <view class="title u-line-2">{{ item.garOrderAddress + item.garOrderAddressDetails }}</view> | ||
| 27 | + <view class="type">垃圾类型: {{ item.garOrderTrashType }}</view> | ||
| 28 | + <view class="delivery-time">预约时间 {{ item.garOrderAgreementTime }}</view> | ||
| 29 | + </view> | ||
| 30 | + </view> | ||
| 31 | + </view> | ||
| 32 | + </view> | ||
| 33 | + </z-paging> | ||
| 34 | + </view> | ||
| 35 | +</template> | ||
| 36 | + | ||
| 37 | +<script setup> | ||
| 38 | +import { queryOrderList } from "@/apis/order.js"; | ||
| 39 | +import { useMainStore } from '@/stores/index.js'; | ||
| 40 | +import { onShow } from "@dcloudio/uni-app"; | ||
| 41 | +import { computed, ref, watch } from 'vue'; | ||
| 42 | +const props = defineProps({ | ||
| 43 | + tabIndex: { | ||
| 44 | + type: Number | ||
| 45 | + }, | ||
| 46 | + currentIndex: { | ||
| 47 | + type: Number | ||
| 48 | + } | ||
| 49 | +}) | ||
| 50 | + | ||
| 51 | +const store = useMainStore(); | ||
| 52 | +const userType = computed(() => store.userType) | ||
| 53 | +const dataList = ref([]); | ||
| 54 | +const paging = ref(null); | ||
| 55 | +const firstLoaded = ref(false) | ||
| 56 | + | ||
| 57 | +const handleClick = (orderId) => { | ||
| 58 | + uni.$u.route({ | ||
| 59 | + url: `pages/order/other-home/detail/index`, | ||
| 60 | + params: { | ||
| 61 | + orderId: orderId | ||
| 62 | + } | ||
| 63 | + }) | ||
| 64 | +} | ||
| 65 | + | ||
| 66 | +// list集合 | ||
| 67 | +const queryList = (pageNo, pageSize) => { | ||
| 68 | + //这里的pageNo和pageSize会自动计算好,直接传给服务器即可 | ||
| 69 | + //这里的请求只是演示,请替换成自己的项目的网络请求,并在网络请求回调中通过paging.value.complete(请求回来的数组)将请求结果传给z-paging | ||
| 70 | + //request.queryList({ pageNo, pageSize }).then(res => { | ||
| 71 | + //请勿在网络请求回调中给dataList赋值!!只需要调用complete就可以了 | ||
| 72 | + queryOrderList({ type: props.tabIndex, pageNo, pageSize }).then((res) => { | ||
| 73 | + paging.value.complete([ | ||
| 74 | + { | ||
| 75 | + garOrderId: 1, | ||
| 76 | + garOrderAddress: '广东省广州市天河区', | ||
| 77 | + garOrderAddressDetails: '天河北路168号', | ||
| 78 | + garOrderTrashType: '可回收垃圾', | ||
| 79 | + garOrderAgreementTime: '2022-08-01 10:00', | ||
| 80 | + garOrderHandlerStatus: 0, | ||
| 81 | + garCancelFlag: 0, | ||
| 82 | + garOrderStatus: 0, | ||
| 83 | + goodsUrl: 'https://cdn.uviewui.com/uview/swiper/1.jpg' | ||
| 84 | + }, | ||
| 85 | + { | ||
| 86 | + garOrderId: 2, | ||
| 87 | + garOrderAddress: '广东省广州市天河区', | ||
| 88 | + garOrderAddressDetails: '天河北路168号', | ||
| 89 | + garOrderTrashType: '可回收垃圾', | ||
| 90 | + garOrderAgreementTime: '2022-08-01 10:00', | ||
| 91 | + garOrderHandlerStatus: 0, | ||
| 92 | + garCancelFlag: 0, | ||
| 93 | + garOrderStatus: 0, | ||
| 94 | + goodsUrl: 'https://cdn.uviewui.com/uview/swiper/2.jpg' | ||
| 95 | + } | ||
| 96 | + ]); | ||
| 97 | + firstLoaded.value = true | ||
| 98 | + }).catch(res => { | ||
| 99 | + //如果请求失败写paging.value.complete(false),会自动展示错误页面 | ||
| 100 | + //注意,每次都需要在catch中写这句话很麻烦,z-paging提供了方案可以全局统一处理 | ||
| 101 | + //在底层的网络请求抛出异常时,写uni.$emit('z-paging-error-emit');即可 | ||
| 102 | + paging.value.complete(false); | ||
| 103 | + }) | ||
| 104 | +} | ||
| 105 | + | ||
| 106 | +onShow(() => { | ||
| 107 | + if (props.currentIndex == props.tabIndex) { | ||
| 108 | + if (firstLoaded.value) { | ||
| 109 | + setTimeout(() => { | ||
| 110 | + paging.value.reload(); | ||
| 111 | + }, 50); | ||
| 112 | + } | ||
| 113 | + } | ||
| 114 | +}) | ||
| 115 | + | ||
| 116 | +// 重写load的方法,自动刷新 | ||
| 117 | +watch(() => props.currentIndex, (val1, val2) => { | ||
| 118 | + if (props.currentIndex == props.tabIndex) { | ||
| 119 | + if (!firstLoaded.value) { | ||
| 120 | + setTimeout(() => { | ||
| 121 | + paging.value.reload(); | ||
| 122 | + }, 50); | ||
| 123 | + } | ||
| 124 | + } | ||
| 125 | +}, { immediate: true }) | ||
| 126 | +</script> | ||
| 127 | + | ||
| 128 | +<style lang="scss" scoped> | ||
| 129 | +.content-container { | ||
| 130 | + height: 100%; | ||
| 131 | + | ||
| 132 | + .order { | ||
| 133 | + width: 90%; | ||
| 134 | + background-color: #ffffff; | ||
| 135 | + margin: 20rpx auto; | ||
| 136 | + border-radius: 20rpx; | ||
| 137 | + box-sizing: border-box; | ||
| 138 | + padding: 20rpx; | ||
| 139 | + font-size: 28rpx; | ||
| 140 | + | ||
| 141 | + &:active { | ||
| 142 | + background-color: #f3f4f6; | ||
| 143 | + opacity: 0.8; | ||
| 144 | + transition: opacity 0.3s; | ||
| 145 | + -webkit-transition: opacity 0.3s; | ||
| 146 | + -moz-transition: opacity 0.3s; | ||
| 147 | + -ms-transition: opacity 0.3s; | ||
| 148 | + } | ||
| 149 | + | ||
| 150 | + .top { | ||
| 151 | + display: flex; | ||
| 152 | + justify-content: space-between; | ||
| 153 | + | ||
| 154 | + .left { | ||
| 155 | + display: flex; | ||
| 156 | + align-items: center; | ||
| 157 | + | ||
| 158 | + .store { | ||
| 159 | + margin: 0 10rpx; | ||
| 160 | + font-size: 32rpx; | ||
| 161 | + font-weight: bold; | ||
| 162 | + } | ||
| 163 | + } | ||
| 164 | + } | ||
| 165 | + | ||
| 166 | + .item { | ||
| 167 | + display: flex; | ||
| 168 | + align-items: center; | ||
| 169 | + margin: 20rpx 0 0; | ||
| 170 | + | ||
| 171 | + .left { | ||
| 172 | + margin-right: 20rpx; | ||
| 173 | + | ||
| 174 | + image { | ||
| 175 | + width: 100rpx; | ||
| 176 | + height: 100rpx; | ||
| 177 | + border-radius: 10rpx; | ||
| 178 | + } | ||
| 179 | + } | ||
| 180 | + | ||
| 181 | + .content { | ||
| 182 | + | ||
| 183 | + .title { | ||
| 184 | + font-size: 28rpx; | ||
| 185 | + line-height: 50rpx; | ||
| 186 | + } | ||
| 187 | + | ||
| 188 | + .type { | ||
| 189 | + margin: 10rpx 0; | ||
| 190 | + font-size: 24rpx; | ||
| 191 | + color: $u-tips-color; | ||
| 192 | + } | ||
| 193 | + | ||
| 194 | + .delivery-time { | ||
| 195 | + color: #e5d001; | ||
| 196 | + font-size: 24rpx; | ||
| 197 | + } | ||
| 198 | + } | ||
| 199 | + | ||
| 200 | + | ||
| 201 | + } | ||
| 202 | + | ||
| 203 | + .total { | ||
| 204 | + margin-top: 20rpx; | ||
| 205 | + text-align: right; | ||
| 206 | + font-size: 24rpx; | ||
| 207 | + | ||
| 208 | + .total-price { | ||
| 209 | + font-size: 32rpx; | ||
| 210 | + } | ||
| 211 | + } | ||
| 212 | + | ||
| 213 | + .bottom { | ||
| 214 | + display: flex; | ||
| 215 | + margin-top: 20rpx; | ||
| 216 | + padding: 0 10rpx; | ||
| 217 | + justify-content: space-between; | ||
| 218 | + align-items: center; | ||
| 219 | + | ||
| 220 | + .btn { | ||
| 221 | + line-height: 52rpx; | ||
| 222 | + width: 160rpx; | ||
| 223 | + border-radius: 26rpx; | ||
| 224 | + border: 2rpx solid $u-border-color; | ||
| 225 | + font-size: 26rpx; | ||
| 226 | + text-align: center; | ||
| 227 | + color: $u-info-dark; | ||
| 228 | + } | ||
| 229 | + | ||
| 230 | + .btn--hover { | ||
| 231 | + background-color: $u-success-light; | ||
| 232 | + } | ||
| 233 | + | ||
| 234 | + .evaluate { | ||
| 235 | + color: $u-warning-dark; | ||
| 236 | + border-color: $u-warning-dark; | ||
| 237 | + } | ||
| 238 | + } | ||
| 239 | + } | ||
| 240 | + | ||
| 241 | + .centre { | ||
| 242 | + text-align: center; | ||
| 243 | + margin: 200rpx auto; | ||
| 244 | + font-size: 32rpx; | ||
| 245 | + | ||
| 246 | + image { | ||
| 247 | + width: 164rpx; | ||
| 248 | + height: 164rpx; | ||
| 249 | + border-radius: 50%; | ||
| 250 | + margin-bottom: 20rpx; | ||
| 251 | + } | ||
| 252 | + | ||
| 253 | + .tips { | ||
| 254 | + font-size: 24rpx; | ||
| 255 | + color: #999999; | ||
| 256 | + margin-top: 20rpx; | ||
| 257 | + } | ||
| 258 | + | ||
| 259 | + .btn { | ||
| 260 | + margin: 80rpx auto; | ||
| 261 | + width: 200rpx; | ||
| 262 | + border-radius: 32rpx; | ||
| 263 | + line-height: 64rpx; | ||
| 264 | + color: #ffffff; | ||
| 265 | + font-size: 26rpx; | ||
| 266 | + background: linear-gradient(270deg, rgba(249, 116, 90, 1) 0%, rgba(255, 158, 1, 1) 100%); | ||
| 267 | + } | ||
| 268 | + } | ||
| 269 | +} | ||
| 270 | +</style> |
garbage-removal/src/pages/order/index.vue
| 1 | <template> | 1 | <template> |
| 2 | - <z-paging-swiper> | ||
| 3 | - <template v-slot:top> | ||
| 4 | - <u-tabs lineWidth="40" lineColor="#ffffff" lineHeight="6" | ||
| 5 | - :activeStyle="{ 'color': '#ffffff', 'font-weight': 'bolder' }" :inactiveStyle="{ color: '#ffffff' }" | ||
| 6 | - ref="uTabsElement" :list="list" :current="current" @change="tabsChange" :scrollable="false"></u-tabs> | ||
| 7 | - </template> | ||
| 8 | - <swiper class="swiper" :current="swiperCurrent" @translation="translation" @animationfinish="animationfinish"> | ||
| 9 | - <swiper-item class="swiper-item" v-for="(item, index) in list" :key="index"> | ||
| 10 | - <swiper-list-item :tabIndex="index" :currentIndex="swiperCurrent"></swiper-list-item> | ||
| 11 | - </swiper-item> | ||
| 12 | - </swiper> | ||
| 13 | - </z-paging-swiper> | 2 | + <view class="container" style="width: 100%;height: 100%;"> |
| 3 | + <other-home v-if="userType != '处理场所负责人'"></other-home> | ||
| 4 | + <handler-home v-else></handler-home> | ||
| 5 | + </view> | ||
| 14 | </template> | 6 | </template> |
| 15 | <script setup> | 7 | <script setup> |
| 16 | -import { ref } from 'vue'; | ||
| 17 | -import swiperListItem from './swiper-list-item/index.vue'; | ||
| 18 | -const list = ref([{ name: '待清运' }, { name: '清运中' }, { name: '全部' }, { name: '已完成' }]) | ||
| 19 | -const current = ref(0); | ||
| 20 | -const swiperCurrent = ref(0) | ||
| 21 | -const uTabsElement = ref() | ||
| 22 | -const tabsChange = (el) => { | ||
| 23 | - swiperCurrent.value = Number(el.index) | ||
| 24 | -} | ||
| 25 | -const animationfinish = (e) => { | ||
| 26 | - current.value = e.detail.current | ||
| 27 | - swiperCurrent.value = e.detail.current | ||
| 28 | -} | ||
| 29 | -const translation = (e) => { | ||
| 30 | - uTabsElement.value.setDx(e.detail.dx) | ||
| 31 | -} | 8 | +import { useMainStore } from "@/stores/index.js"; |
| 9 | +import { computed } from 'vue'; | ||
| 10 | +import handlerHome from "./handler-home/index.vue"; | ||
| 11 | +import otherHome from "./other-home/index.vue"; | ||
| 12 | +const mainStore = useMainStore() | ||
| 13 | +const userType = computed(() => mainStore.userType) | ||
| 14 | +console.log(userType.value); | ||
| 32 | </script> | 15 | </script> |
| 33 | -<style lang="scss" scoped> | ||
| 34 | -::v-deep .u-tabs__wrapper__scroll-view { | ||
| 35 | - background-color: #53c21d; | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | -.swiper { | ||
| 39 | - height: 100%; | ||
| 40 | - background: linear-gradient(to bottom, $u-success-dark, $u-bg-color, $u-bg-color, $u-bg-color, $u-bg-color, $u-bg-color, $u-bg-color); | ||
| 41 | -} | ||
| 42 | -</style> | 16 | +<style lang="scss" scoped></style> |
garbage-removal/src/pages/order/detail/index.vue renamed to garbage-removal/src/pages/order/other-home/detail/index.vue
| @@ -292,7 +292,7 @@ const createQrCodeLocal = (orderId) => { | @@ -292,7 +292,7 @@ const createQrCodeLocal = (orderId) => { | ||
| 292 | const protocol = window.location.protocol; | 292 | const protocol = window.location.protocol; |
| 293 | const localAddress = `${protocol}//${hostname}:${port}`; | 293 | const localAddress = `${protocol}//${hostname}:${port}`; |
| 294 | // const localAddress = `http://localhost:5173`; | 294 | // const localAddress = `http://localhost:5173`; |
| 295 | - qrCodeText.value = localAddress + "/pages/order/guest/index?orderId=" + orderId; | 295 | + qrCodeText.value = localAddress + "/pages/order/other-home/guest/index?orderId=" + orderId; |
| 296 | console.log(qrCodeRef.value); | 296 | console.log(qrCodeRef.value); |
| 297 | } | 297 | } |
| 298 | // 获取二维码 | 298 | // 获取二维码 |
| @@ -341,7 +341,7 @@ const handleClose = (e) => { | @@ -341,7 +341,7 @@ const handleClose = (e) => { | ||
| 341 | cancelShow.value = false | 341 | cancelShow.value = false |
| 342 | } | 342 | } |
| 343 | const handleEvaluateDetail = (orderId, userType) => { | 343 | const handleEvaluateDetail = (orderId, userType) => { |
| 344 | - uni.$u.route(`pages/order/evaluate-info/index`, | 344 | + uni.$u.route(`pages/order/other-home/evaluate-info/index`, |
| 345 | { orderId: orderId, userType: userType }) | 345 | { orderId: orderId, userType: userType }) |
| 346 | } | 346 | } |
| 347 | const selectClick = (index) => { | 347 | const selectClick = (index) => { |
| @@ -446,7 +446,7 @@ const handleSubmitSuccess = (orderId) => { | @@ -446,7 +446,7 @@ const handleSubmitSuccess = (orderId) => { | ||
| 446 | 446 | ||
| 447 | } | 447 | } |
| 448 | const handleEvaluate = (orderId, userType) => { | 448 | const handleEvaluate = (orderId, userType) => { |
| 449 | - uni.$u.route(`pages/order/evaluate/index?orderId=${orderId}&userType=${userType}`) | 449 | + uni.$u.route(`pages/order/other-home/evaluate/index?orderId=${orderId}&userType=${userType}`) |
| 450 | } | 450 | } |
| 451 | 451 | ||
| 452 | // 接收派单 | 452 | // 接收派单 |
| @@ -526,7 +526,7 @@ const cleanStatus = (status) => { | @@ -526,7 +526,7 @@ const cleanStatus = (status) => { | ||
| 526 | * @param {string} putType | 526 | * @param {string} putType |
| 527 | */ | 527 | */ |
| 528 | const handleUploadImage = (orderId, putType) => { | 528 | const handleUploadImage = (orderId, putType) => { |
| 529 | - uni.$u.route(`pages/order/upload/index?orderId=${orderId}`) | 529 | + uni.$u.route(`pages/order/other-home/upload/index?orderId=${orderId}`) |
| 530 | } | 530 | } |
| 531 | 531 | ||
| 532 | 532 |
garbage-removal/src/pages/order/evaluate-info/index.vue renamed to garbage-removal/src/pages/order/other-home/evaluate-info/index.vue
garbage-removal/src/pages/order/evaluate/index.vue renamed to garbage-removal/src/pages/order/other-home/evaluate/index.vue
garbage-removal/src/pages/order/guest/index.vue renamed to garbage-removal/src/pages/order/other-home/guest/index.vue
garbage-removal/src/pages/order/other-home/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <z-paging-swiper> | ||
| 3 | + <template v-slot:top> | ||
| 4 | + <u-tabs lineWidth="40" lineColor="#ffffff" lineHeight="6" | ||
| 5 | + :activeStyle="{ 'color': '#ffffff', 'font-weight': 'bolder' }" :inactiveStyle="{ color: '#ffffff' }" | ||
| 6 | + ref="uTabsElement" :list="list" :current="current" @change="tabsChange" :scrollable="false"></u-tabs> | ||
| 7 | + </template> | ||
| 8 | + <swiper class="swiper" :current="swiperCurrent" @translation="translation" @animationfinish="animationfinish"> | ||
| 9 | + <swiper-item class="swiper-item" v-for="(item, index) in list" :key="index"> | ||
| 10 | + <swiper-list-item :tabIndex="index" :currentIndex="swiperCurrent"></swiper-list-item> | ||
| 11 | + </swiper-item> | ||
| 12 | + </swiper> | ||
| 13 | + </z-paging-swiper> | ||
| 14 | +</template> | ||
| 15 | +<script setup> | ||
| 16 | +import { ref } from 'vue'; | ||
| 17 | +import swiperListItem from './swiper-list-item/index.vue'; | ||
| 18 | +const list = ref([{ name: '待清运' }, { name: '清运中' }, { name: '全部' }, { name: '已完成' }]) | ||
| 19 | +const current = ref(0); | ||
| 20 | +const swiperCurrent = ref(0) | ||
| 21 | +const uTabsElement = ref() | ||
| 22 | +const tabsChange = (el) => { | ||
| 23 | + swiperCurrent.value = Number(el.index) | ||
| 24 | +} | ||
| 25 | +const animationfinish = (e) => { | ||
| 26 | + current.value = e.detail.current | ||
| 27 | + swiperCurrent.value = e.detail.current | ||
| 28 | +} | ||
| 29 | +const translation = (e) => { | ||
| 30 | + uTabsElement.value.setDx(e.detail.dx) | ||
| 31 | +} | ||
| 32 | +</script> | ||
| 33 | +<style lang="scss" scoped> | ||
| 34 | +::v-deep .u-tabs__wrapper__scroll-view { | ||
| 35 | + background-color: #53c21d; | ||
| 36 | +} | ||
| 37 | + | ||
| 38 | +.swiper { | ||
| 39 | + height: 100%; | ||
| 40 | + background: linear-gradient(to bottom, $u-success-dark, $u-bg-color, $u-bg-color, $u-bg-color, $u-bg-color, $u-bg-color, $u-bg-color); | ||
| 41 | +} | ||
| 42 | +</style> |
garbage-removal/src/pages/order/success/index.vue renamed to garbage-removal/src/pages/order/other-home/success/index.vue
garbage-removal/src/pages/order/swiper-list-item/index.vue renamed to garbage-removal/src/pages/order/other-home/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"> | 8 | + <view class="left" @click="goDetail(item)"> |
| 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> |
| @@ -49,7 +49,8 @@ | @@ -49,7 +49,8 @@ | ||
| 49 | <view class="more"> | 49 | <view class="more"> |
| 50 | <!-- <u-icon name="more-dot-fill" color="rgb(203,203,203)"></u-icon> --> | 50 | <!-- <u-icon name="more-dot-fill" color="rgb(203,203,203)"></u-icon> --> |
| 51 | </view> | 51 | </view> |
| 52 | - <view hover-class="btn-hover" class="logistics btn" @click="handleUserEvaluate(item.garOrderId, userType)">去评价 | 52 | + <view hover-class="btn-hover" class="logistics btn" @click="handleUserEvaluate(item.garOrderId, userType)"> |
| 53 | + 去评价 | ||
| 53 | </view> | 54 | </view> |
| 54 | </view> | 55 | </view> |
| 55 | <!-- 公司对用户评价 --> | 56 | <!-- 公司对用户评价 --> |
| @@ -58,7 +59,8 @@ | @@ -58,7 +59,8 @@ | ||
| 58 | <view class="more"> | 59 | <view class="more"> |
| 59 | <!-- <u-icon name="more-dot-fill" color="rgb(203,203,203)"></u-icon> --> | 60 | <!-- <u-icon name="more-dot-fill" color="rgb(203,203,203)"></u-icon> --> |
| 60 | </view> | 61 | </view> |
| 61 | - <view hover-class="btn-hover" class="logistics btn" @click="handleUserEvaluate(item.garOrderId, userType)">去评价 | 62 | + <view hover-class="btn-hover" class="logistics btn" @click="handleUserEvaluate(item.garOrderId, userType)"> |
| 63 | + 去评价 | ||
| 62 | </view> | 64 | </view> |
| 63 | </view> | 65 | </view> |
| 64 | </view> | 66 | </view> |
| @@ -124,6 +126,16 @@ const handleClose = (e) => { | @@ -124,6 +126,16 @@ const handleClose = (e) => { | ||
| 124 | cancelShow.value = false | 126 | cancelShow.value = false |
| 125 | } | 127 | } |
| 126 | 128 | ||
| 129 | +/** | ||
| 130 | + * 跳转公司详情 | ||
| 131 | + * @param {*} val | ||
| 132 | + */ | ||
| 133 | +const goDetail = (val) => { | ||
| 134 | + uni.$u.route({ | ||
| 135 | + url: `pages/home/clean/company-detail/index?companyId=${val.garOrderCompanyId}`, | ||
| 136 | + }) | ||
| 137 | +} | ||
| 138 | + | ||
| 127 | const selectClick = (index) => { | 139 | const selectClick = (index) => { |
| 128 | currentCancelName.value = index.name; | 140 | currentCancelName.value = index.name; |
| 129 | } | 141 | } |
| @@ -154,7 +166,7 @@ const submitFunction = (otherReason) => { | @@ -154,7 +166,7 @@ const submitFunction = (otherReason) => { | ||
| 154 | } | 166 | } |
| 155 | const handleClick = (orderId) => { | 167 | const handleClick = (orderId) => { |
| 156 | uni.$u.route({ | 168 | uni.$u.route({ |
| 157 | - url: `pages/order/detail/index`, | 169 | + url: `pages/order/other-home/detail/index`, |
| 158 | params: { | 170 | params: { |
| 159 | orderId: orderId | 171 | orderId: orderId |
| 160 | } | 172 | } |
| @@ -166,7 +178,7 @@ const handleClick = (orderId) => { | @@ -166,7 +178,7 @@ const handleClick = (orderId) => { | ||
| 166 | * @param {*} orderId | 178 | * @param {*} orderId |
| 167 | */ | 179 | */ |
| 168 | const handleUserEvaluate = (orderId, userType) => { | 180 | const handleUserEvaluate = (orderId, userType) => { |
| 169 | - uni.$u.route(`pages/order/evaluate/index?orderId=${orderId}&userType=${userType}`) | 181 | + uni.$u.route(`pages/order/other-home/evaluate/index?orderId=${orderId}&userType=${userType}`) |
| 170 | } | 182 | } |
| 171 | // list集合 | 183 | // list集合 |
| 172 | const queryList = (pageNo, pageSize) => { | 184 | const queryList = (pageNo, pageSize) => { |
| @@ -247,14 +259,15 @@ watch(() => props.currentIndex, (val1, val2) => { | @@ -247,14 +259,15 @@ watch(() => props.currentIndex, (val1, val2) => { | ||
| 247 | 259 | ||
| 248 | .item { | 260 | .item { |
| 249 | display: flex; | 261 | display: flex; |
| 262 | + align-items: center; | ||
| 250 | margin: 20rpx 0 0; | 263 | margin: 20rpx 0 0; |
| 251 | 264 | ||
| 252 | .left { | 265 | .left { |
| 253 | margin-right: 20rpx; | 266 | margin-right: 20rpx; |
| 254 | 267 | ||
| 255 | image { | 268 | image { |
| 256 | - width: 200rpx; | ||
| 257 | - height: 200rpx; | 269 | + width: 160rpx; |
| 270 | + height: 160rpx; | ||
| 258 | border-radius: 10rpx; | 271 | border-radius: 10rpx; |
| 259 | } | 272 | } |
| 260 | } | 273 | } |
garbage-removal/src/pages/order/upload/index.vue renamed to garbage-removal/src/pages/order/other-home/upload/index.vue
| @@ -85,7 +85,7 @@ const handleSubmit = (id, type) => { | @@ -85,7 +85,7 @@ const handleSubmit = (id, type) => { | ||
| 85 | setTimeout(() => { | 85 | setTimeout(() => { |
| 86 | uni.$u.route({ | 86 | uni.$u.route({ |
| 87 | type: 'navigateBack', | 87 | type: 'navigateBack', |
| 88 | - url: `pages/order/detail/index`, | 88 | + url: `pages/order/other-home/detail/index`, |
| 89 | }) | 89 | }) |
| 90 | }, 300) | 90 | }, 300) |
| 91 | } | 91 | } |
garbage-removal/src/pages/wode/choose/index.vue
| @@ -43,47 +43,50 @@ | @@ -43,47 +43,50 @@ | ||
| 43 | 43 | ||
| 44 | <script setup> | 44 | <script setup> |
| 45 | import { updateUserInfo } from "@/apis/user.js"; | 45 | import { updateUserInfo } from "@/apis/user.js"; |
| 46 | +import driverImage from "@/static/image/driver.png"; | ||
| 47 | +import handleImage from "@/static/image/handler.png"; | ||
| 48 | +import managerImage from "@/static/image/manager.png"; | ||
| 49 | +import userImage from "@/static/image/user.png"; | ||
| 46 | import { useMainStore } from '@/stores/index.js'; | 50 | import { useMainStore } from '@/stores/index.js'; |
| 47 | import { setRequestToken } from '@/utils/request/request.js'; | 51 | import { setRequestToken } from '@/utils/request/request.js'; |
| 48 | import { onLoad } from "@dcloudio/uni-app"; | 52 | import { onLoad } from "@dcloudio/uni-app"; |
| 49 | import { ref } from 'vue'; | 53 | import { ref } from 'vue'; |
| 50 | const userType = ref('') | 54 | const userType = ref('') |
| 51 | -const imageBase = "data:image/jpeg;base64,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"; | ||
| 52 | const store = useMainStore(); | 55 | const store = useMainStore(); |
| 53 | const typeList = ref([{ | 56 | const typeList = ref([{ |
| 54 | - label: "居民用户", | 57 | + label: "用户", |
| 55 | info: '下单清运', | 58 | info: '下单清运', |
| 56 | - image: imageBase, | 59 | + image: userImage, |
| 57 | order: 999, | 60 | order: 999, |
| 58 | classStyle: 'choose-type-item-top-back-sky', | 61 | classStyle: 'choose-type-item-top-back-sky', |
| 59 | isNow: false, | 62 | isNow: false, |
| 60 | isExit: true, | 63 | isExit: true, |
| 61 | }, { | 64 | }, { |
| 62 | - label: "处理场所", | ||
| 63 | - info: '负责现场指导', | ||
| 64 | - company: '长沙xxxx', | ||
| 65 | - image: imageBase, | 65 | + label: "运输企业负责人", |
| 66 | + info: '负责订单处理', | ||
| 67 | + company: '', | ||
| 68 | + image: managerImage, | ||
| 66 | isExit: false, | 69 | isExit: false, |
| 67 | - classStyle: 'choose-type-item-top-back-pink', | ||
| 68 | - order: 3, | 70 | + classStyle: 'choose-type-item-top-back-sun', |
| 71 | + order: 1, | ||
| 69 | isNow: false, | 72 | isNow: false, |
| 70 | }, { | 73 | }, { |
| 71 | - label: "运输驾驶员", | 74 | + label: "清运车辆驾驶员", |
| 72 | info: '负责垃圾清运', | 75 | info: '负责垃圾清运', |
| 73 | - company: '长沙xxxx', | ||
| 74 | - image: imageBase, | 76 | + company: '', |
| 77 | + image: driverImage, | ||
| 75 | isExit: false, | 78 | isExit: false, |
| 76 | classStyle: 'choose-type-item-top-back-blue', | 79 | classStyle: 'choose-type-item-top-back-blue', |
| 77 | order: 2, | 80 | order: 2, |
| 78 | isNow: false, | 81 | isNow: false, |
| 79 | }, { | 82 | }, { |
| 80 | - label: "企业负责人", | ||
| 81 | - info: '负责订单处理', | ||
| 82 | - company: '长沙xxxx', | ||
| 83 | - image: imageBase, | 83 | + label: "处理场所负责人", |
| 84 | + info: '负责现场指导', | ||
| 85 | + company: '', | ||
| 86 | + image: handleImage, | ||
| 84 | isExit: false, | 87 | isExit: false, |
| 85 | - classStyle: 'choose-type-item-top-back-sun', | ||
| 86 | - order: 1, | 88 | + classStyle: 'choose-type-item-top-back-pink', |
| 89 | + order: 3, | ||
| 87 | isNow: false, | 90 | isNow: false, |
| 88 | }]) | 91 | }]) |
| 89 | const unitInfo = ref([]) | 92 | const unitInfo = ref([]) |
| @@ -130,6 +133,7 @@ onLoad((options) => { | @@ -130,6 +133,7 @@ onLoad((options) => { | ||
| 130 | } | 133 | } |
| 131 | let order = 999; | 134 | let order = 999; |
| 132 | let index = 0; | 135 | let index = 0; |
| 136 | + let company = ""; | ||
| 133 | // typeList优先级最高的设置isNow 为 true | 137 | // typeList优先级最高的设置isNow 为 true |
| 134 | if (loginInfo.length > 1) { | 138 | if (loginInfo.length > 1) { |
| 135 | typeList.value.forEach((item, i) => { | 139 | typeList.value.forEach((item, i) => { |
| @@ -138,13 +142,17 @@ onLoad((options) => { | @@ -138,13 +142,17 @@ onLoad((options) => { | ||
| 138 | if (item.order < order) { | 142 | if (item.order < order) { |
| 139 | order = item.order; | 143 | order = item.order; |
| 140 | index = i; | 144 | index = i; |
| 145 | + company = unitInfo.value[item.label].transportCompanyName; | ||
| 141 | } | 146 | } |
| 142 | } | 147 | } |
| 143 | }) | 148 | }) |
| 144 | typeList.value[index].isNow = true | 149 | typeList.value[index].isNow = true |
| 150 | + typeList.value[index].company = company | ||
| 151 | + userType.value = typeList.value[index].label | ||
| 152 | + } else { | ||
| 153 | + typeList.value[index].isNow = true | ||
| 145 | userType.value = typeList.value[index].label | 154 | userType.value = typeList.value[index].label |
| 146 | } | 155 | } |
| 147 | - console.log(typeList.value, "typeList.value"); | ||
| 148 | }) | 156 | }) |
| 149 | </script> | 157 | </script> |
| 150 | 158 | ||
| @@ -197,20 +205,21 @@ onLoad((options) => { | @@ -197,20 +205,21 @@ onLoad((options) => { | ||
| 197 | box-sizing: border-box; | 205 | box-sizing: border-box; |
| 198 | padding: 30rpx; | 206 | padding: 30rpx; |
| 199 | border-radius: 15rpx 15rpx 5rpx 5rpx; | 207 | border-radius: 15rpx 15rpx 5rpx 5rpx; |
| 200 | - box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.1); | 208 | + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); |
| 201 | 209 | ||
| 202 | .choose-type-item-image { | 210 | .choose-type-item-image { |
| 203 | - width: 140rpx; | ||
| 204 | - height: 170rpx; | 211 | + width: 160rpx; |
| 212 | + height: 180rpx; | ||
| 205 | border-radius: 50%; | 213 | border-radius: 50%; |
| 206 | display: flex; | 214 | display: flex; |
| 207 | align-items: center; | 215 | align-items: center; |
| 208 | justify-content: flex-start; | 216 | justify-content: flex-start; |
| 209 | - margin-right: 20rpx; | 217 | + margin-right: 50rpx; |
| 210 | 218 | ||
| 211 | image { | 219 | image { |
| 212 | width: 100%; | 220 | width: 100%; |
| 213 | height: 100%; | 221 | height: 100%; |
| 222 | + background-size: 100% 100%; | ||
| 214 | } | 223 | } |
| 215 | } | 224 | } |
| 216 | 225 | ||
| @@ -274,28 +283,28 @@ onLoad((options) => { | @@ -274,28 +283,28 @@ onLoad((options) => { | ||
| 274 | } | 283 | } |
| 275 | 284 | ||
| 276 | .itemActive { | 285 | .itemActive { |
| 277 | - animation: overScroll 0.5s forwards ease-in-out; | 286 | + animation: overScroll 0.8s forwards ease-in-out; |
| 278 | } | 287 | } |
| 279 | 288 | ||
| 280 | @keyframes overScroll { | 289 | @keyframes overScroll { |
| 281 | 0% { | 290 | 0% { |
| 282 | - transform: translateY(8rpx); | 291 | + transform: translateY(6rpx); |
| 283 | } | 292 | } |
| 284 | 293 | ||
| 285 | 20% { | 294 | 20% { |
| 286 | - transform: translateY(-4rpx); | 295 | + transform: translateY(-2rpx); |
| 287 | } | 296 | } |
| 288 | 297 | ||
| 289 | 40% { | 298 | 40% { |
| 290 | - transform: translateY(8rpx); | 299 | + transform: translateY(6rpx); |
| 291 | } | 300 | } |
| 292 | 301 | ||
| 293 | 60% { | 302 | 60% { |
| 294 | - transform: translateY(-4rpx); | 303 | + transform: translateY(-2rpx); |
| 295 | } | 304 | } |
| 296 | 305 | ||
| 297 | 80% { | 306 | 80% { |
| 298 | - transform: translateY(8rpx); | 307 | + transform: translateY(6rpx); |
| 299 | } | 308 | } |
| 300 | 309 | ||
| 301 | 100% { | 310 | 100% { |
garbage-removal/src/static/image/driver.png
0 → 100644
544 KB
garbage-removal/src/static/image/handler.png
0 → 100644
44.2 KB
garbage-removal/src/static/image/manager.png
0 → 100644
14.6 KB
garbage-removal/src/static/image/user.png
0 → 100644
15.8 KB
garbage-removal/src/utils/request/request.js
| @@ -72,7 +72,7 @@ instance.interceptors.response.use((response) => { | @@ -72,7 +72,7 @@ instance.interceptors.response.use((response) => { | ||
| 72 | reSetLoginStatus(); | 72 | reSetLoginStatus(); |
| 73 | } else { | 73 | } else { |
| 74 | uni.showToast({ | 74 | uni.showToast({ |
| 75 | - title: response.data.message, | 75 | + title: response.data.msg, |
| 76 | icon: "none", | 76 | icon: "none", |
| 77 | }); | 77 | }); |
| 78 | } | 78 | } |
| @@ -148,7 +148,7 @@ const handleGet = (config) => { | @@ -148,7 +148,7 @@ const handleGet = (config) => { | ||
| 148 | } | 148 | } |
| 149 | config.url += strUrl; | 149 | config.url += strUrl; |
| 150 | config.params = ""; | 150 | config.params = ""; |
| 151 | - if (config.url.startsWith("/order/webDetail/")) { | 151 | + if (config.url.startsWith("/order/other-home/webDetail/")) { |
| 152 | config.headers["Authorization"] = ""; | 152 | config.headers["Authorization"] = ""; |
| 153 | } | 153 | } |
| 154 | } | 154 | } |