feat: 页面配置调整
This commit is contained in:
		
							parent
							
								
									b7ea94963b
								
							
						
					
					
						commit
						8efffa4b94
					
				|  | @ -0,0 +1,49 @@ | ||||||
|  | import request from "@/utils/request"; | ||||||
|  | //使用说明
 | ||||||
|  | //  export const getList = data => request.get('/api/list', data, false)
 | ||||||
|  | //              页面调用名  请求参数       请求类型  接口地址         loading是否显示
 | ||||||
|  | /*页面中调用方法:(若无请求参数则留空,例:this.$api.getList()) | ||||||
|  | this.$api.getList(params).then(res => { | ||||||
|  | 	 | ||||||
|  | }) | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 巡检保洁接口 | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | // 根据日期获取计划
 | ||||||
|  | export const GetPlanByDate = (data) => | ||||||
|  |   request.get("/api/App/GetPlanByDate", data); | ||||||
|  | 
 | ||||||
|  | // 今日完成情况
 | ||||||
|  | export const TodayCompletion = (data) => | ||||||
|  |   request.post("/api/App/TodayCompletion", data); | ||||||
|  | 
 | ||||||
|  | // 获取计划区域列表
 | ||||||
|  | export const GetPlanInfoAreaList = (data) => | ||||||
|  |   request.post("/api/App/GetPlanInfoAreaList", data); | ||||||
|  | 
 | ||||||
|  | // 获取已完成计划区域详情
 | ||||||
|  | export const GetPlanInfoAre = (data) => | ||||||
|  |   request.post("/api/App/GetPlanInfoAre", data); | ||||||
|  | 
 | ||||||
|  | // 获取计划列表
 | ||||||
|  | export const GetPlanList = (data) => | ||||||
|  |   request.get("/api/App/GetPlanList", data); | ||||||
|  | 
 | ||||||
|  | // 获取单位信息
 | ||||||
|  | export const GetCompanyInformation = (data) => | ||||||
|  |   request.get("/api/App/GetCompanyInformation", data); | ||||||
|  | 
 | ||||||
|  | // 上报nfc异常
 | ||||||
|  | export const ReportingNFCDanger = (data) => | ||||||
|  |   request.post("/api/App/ReportingNFCDanger", data); | ||||||
|  | 
 | ||||||
|  | // 上传图片
 | ||||||
|  | export const UploadFiles = (data) => | ||||||
|  |   request.post("/api/App/UploadFiles", data); | ||||||
|  | 
 | ||||||
|  | // 上传
 | ||||||
|  | export const UploadArea = (data) => | ||||||
|  |   request.post("/api/App/UploadArea", data); | ||||||
|  | @ -2,7 +2,7 @@ let BASE_URL | ||||||
| //开发环境中
 | //开发环境中
 | ||||||
| if (process.env.NODE_ENV === 'development') { | if (process.env.NODE_ENV === 'development') { | ||||||
|   // 开发环境
 |   // 开发环境
 | ||||||
|   BASE_URL = 'https://mock.apifox.cn/m1/3553664-0-default'  //开发环境请求地址
 |   BASE_URL = 'http://10.30.2.228:8556'  //开发环境请求地址
 | ||||||
| } else { | } else { | ||||||
|   // 生产环境
 |   // 生产环境
 | ||||||
|   BASE_URL = 'https://mock.apifox.cn/m1/3553664-0-default'  //生成环境请求地址
 |   BASE_URL = 'https://mock.apifox.cn/m1/3553664-0-default'  //生成环境请求地址
 | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								main.js
								
								
								
								
							
							
						
						
									
										4
									
								
								main.js
								
								
								
								
							|  | @ -1,5 +1,7 @@ | ||||||
| import App from './App' | import App from './App' | ||||||
| import '@/utils/interceptor.js';//引入拦截
 | 
 | ||||||
|  | // 注释拦截
 | ||||||
|  | // import '@/utils/interceptor.js';//引入拦截
 | ||||||
| 
 | 
 | ||||||
| import Vue from 'vue' | import Vue from 'vue' | ||||||
| import uView from '@/uni_modules/uview-ui' | import uView from '@/uni_modules/uview-ui' | ||||||
|  |  | ||||||
|  | @ -57,6 +57,8 @@ | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script> | <script> | ||||||
|  | import { GetPlanInfoAreaList } from "@/api/apiList"; | ||||||
|  | 
 | ||||||
| export default { | export default { | ||||||
|   data() { |   data() { | ||||||
|     return { |     return { | ||||||
|  | @ -91,14 +93,35 @@ export default { | ||||||
|           value: 1, |           value: 1, | ||||||
|         }, |         }, | ||||||
|       ], |       ], | ||||||
|  | 
 | ||||||
|  |       paramsId: "", | ||||||
|     }; |     }; | ||||||
|   }, |   }, | ||||||
|   created() {}, | 
 | ||||||
|  |   onLoad(options) { | ||||||
|  |     this.paramsId = options.id; | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|  |   created() { | ||||||
|  |     this.getPlanInfoAreaList(); | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|   methods: { |   methods: { | ||||||
|     changeTab(i) { |     changeTab(i) { | ||||||
|       console.log(i); |       console.log(i); | ||||||
|       this.selectIdx = i; |       this.selectIdx = i; | ||||||
|     }, |     }, | ||||||
|  | 
 | ||||||
|  |     // 获取计划区域列表 | ||||||
|  |     async getPlanInfoAreaList() { | ||||||
|  |       const res = await GetPlanInfoAreaList({ | ||||||
|  |         id: this.paramsId, | ||||||
|  |         // isCompleted: false, | ||||||
|  |       }); | ||||||
|  |       if (res.succeed) { | ||||||
|  |         console.log("res...", res); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|   }, |   }, | ||||||
| }; | }; | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
|  | @ -1,11 +1,11 @@ | ||||||
| <template> | <template> | ||||||
|   <view class="content"> |   <view class="content"> | ||||||
|     <daySelect @dateChange="onDateChange" /> |     <daySelect @dateChange="onDateChange" /> | ||||||
|     <view v-show="isToday" class="task-info"> |     <view v-if="isToday" class="task-info"> | ||||||
|       <view class="title">今日任务</view> |       <view class="title">今日任务</view> | ||||||
|       <!-- 当日计划 点击跳转 --> |       <!-- 当日计划 点击跳转 --> | ||||||
|       <view class="task-list"> |       <view class="task-list"> | ||||||
|         <view class="task-item" @click="handleTaskClick"> |         <!-- <view class="task-item" > | ||||||
|           <view class="name-state"> |           <view class="name-state"> | ||||||
|             <view class="name">足球场休息室</view> |             <view class="name">足球场休息室</view> | ||||||
|             <u-tag text="已完成" type="success" border-color="transparent" /> |             <u-tag text="已完成" type="success" border-color="transparent" /> | ||||||
|  | @ -14,65 +14,97 @@ | ||||||
|           <view class="time"> |           <view class="time"> | ||||||
|             <u-tag text="9:00~12:00" type="info" border-color="transparent" /> |             <u-tag text="9:00~12:00" type="info" border-color="transparent" /> | ||||||
|           </view> |           </view> | ||||||
|         </view> |         </view> --> | ||||||
|         <view class="task-item"> | 
 | ||||||
|  |         <view | ||||||
|  |           class="task-item" | ||||||
|  |           v-for="item in planList" | ||||||
|  |           :key="item.id" | ||||||
|  |           @click="handleTaskClick(item)" | ||||||
|  |         > | ||||||
|           <view class="name-state"> |           <view class="name-state"> | ||||||
|             <view class="name">足球场休息室</view> |             <view class="name">{{ item.name }}</view> | ||||||
|             <u-tag text="已完成" type="success" border-color="transparent" /> |             <u-tag | ||||||
|  |               v-if="item.isCompleted == 0" | ||||||
|  |               text="待保洁" | ||||||
|  |               type="info" | ||||||
|  |               border-color="transparent" | ||||||
|  |             /> | ||||||
|  |             <u-tag | ||||||
|  |               v-else | ||||||
|  |               text="已完成" | ||||||
|  |               type="success" | ||||||
|  |               border-color="transparent" | ||||||
|  |             /> | ||||||
|           </view> |           </view> | ||||||
| 
 | 
 | ||||||
|           <view class="time"> |           <view class="time"> | ||||||
|             <u-tag text="9:00~12:00" type="info" border-color="transparent" /> |             <u-tag | ||||||
|  |               :text="item.beginTime + '~' + item.endTime" | ||||||
|  |               type="info" | ||||||
|  |               border-color="transparent" | ||||||
|  |             /> | ||||||
|           </view> |           </view> | ||||||
|         </view> |         </view> | ||||||
|       </view> |       </view> | ||||||
|     </view> |     </view> | ||||||
|     <view v-show="isToday" class="area-schedule"> |     <view v-if="isToday" class="area-schedule"> | ||||||
|       <view class="finish"> |       <view class="finish"> | ||||||
|         <view class="point"></view> |         <view class="point"></view> | ||||||
|         <view class="title">已保洁区域</view> |         <view class="title">已保洁区域</view> | ||||||
|         <view class="count-rate">26 <view class="total">/50</view> </view> |         <view class="count-rate"> | ||||||
|  |           {{ todayCompletion.completed }} | ||||||
|  |           <view class="total">/{{ todayCompletion.total }}</view> | ||||||
|  |         </view> | ||||||
|         <u-line-progress |         <u-line-progress | ||||||
|           height="10" |           height="10" | ||||||
|           class="schedule-line" |           class="schedule-line" | ||||||
|           :show-percent="false" |           :show-percent="false" | ||||||
|           active-color="#2979ff" |           active-color="#2979ff" | ||||||
|           :percent="70" |           :percent="(todayCompletion.completed / todayCompletion.total) * 100" | ||||||
|         ></u-line-progress> |         ></u-line-progress> | ||||||
|       </view> |       </view> | ||||||
|       <view class="unfinish"> |       <view class="unfinish"> | ||||||
|         <view class="point"></view> |         <view class="point"></view> | ||||||
|         <view class="title">已保洁区域</view> |         <view class="title">待保洁区域</view> | ||||||
|         <view class="count-rate">26 <view class="total">/50</view> </view> |         <view class="count-rate"> | ||||||
|  |           {{ todayCompletion.notCompleted }} | ||||||
|  |           <view class="total">/{{ todayCompletion.total }}</view> | ||||||
|  |         </view> | ||||||
|         <u-line-progress |         <u-line-progress | ||||||
|           height="10" |           height="10" | ||||||
|           class="schedule-line" |           class="schedule-line" | ||||||
|           :show-percent="false" |           :show-percent="false" | ||||||
|           active-color="#FC873D" |           active-color="#FC873D" | ||||||
|           :percent="70" |           :percent=" | ||||||
|  |             (todayCompletion.notCompleted / todayCompletion.total) * 100 | ||||||
|  |           " | ||||||
|         ></u-line-progress> |         ></u-line-progress> | ||||||
|       </view> |       </view> | ||||||
|     </view> |     </view> | ||||||
|  | 
 | ||||||
|     <!-- 非当日计划 仅展示 --> |     <!-- 非当日计划 仅展示 --> | ||||||
|     <view v-show="!isToday" class="cleaning-plan-box"> |     <view v-if="!isToday" class="cleaning-plan-box"> | ||||||
|       <view class="cleaning-plan"> |       <!-- <view class="cleaning-plan"> | ||||||
|         <view class="title">今日保洁计划名称</view> |         <view class="title">今日保洁计划名称</view> | ||||||
|         <view class="time"> |         <view class="time"> | ||||||
|           <view class="top">00:00:00</view> |           <view class="top">00:00:00</view> | ||||||
|           <view class="bottom">23:59:00</view> |           <view class="bottom">23:59:00</view> | ||||||
|         </view> |         </view> | ||||||
|       </view> |       </view> --> | ||||||
|       <view class="cleaning-plan"> |       <view class="cleaning-plan" v-for="item in planList" :key="item.id"> | ||||||
|         <view class="title">今日保洁计划名称</view> |         <view class="title">{{ item.name }}</view> | ||||||
|         <view class="time"> |         <view class="time"> | ||||||
|           <view class="top">00:00:00</view> |           <view class="top">{{ item.beginTime }}</view> | ||||||
|           <view class="bottom">23:59:00</view> |           <view class="bottom">{{ item.endTime }}</view> | ||||||
|         </view> |         </view> | ||||||
|       </view> |       </view> | ||||||
|     </view> |     </view> | ||||||
|   </view> |   </view> | ||||||
| </template> | </template> | ||||||
| <script> | <script> | ||||||
|  | import { GetPlanByDate, TodayCompletion } from "@/api/apiList"; | ||||||
|  | 
 | ||||||
| import { useRouter } from "@/utils/utils.js"; | import { useRouter } from "@/utils/utils.js"; | ||||||
| 
 | 
 | ||||||
| import daySelect from "@/components/daySelect/index.vue"; | import daySelect from "@/components/daySelect/index.vue"; | ||||||
|  | @ -85,24 +117,63 @@ export default { | ||||||
|     return { |     return { | ||||||
|       isToday: true, |       isToday: true, | ||||||
|       currentDate: "", |       currentDate: "", | ||||||
|  |       planList: [], | ||||||
|  |       // 今日完成情况 | ||||||
|  |       todayCompletion: { | ||||||
|  |         total: 0, | ||||||
|  |         completed: 0, | ||||||
|  |         notCompleted: 0, | ||||||
|  |       }, | ||||||
|     }; |     }; | ||||||
|   }, |   }, | ||||||
| 
 | 
 | ||||||
|  |   mounted() { | ||||||
|  |     this.getPlanByDate(); | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|   methods: { |   methods: { | ||||||
|     onDateChange({ date, isToday }) { |     onDateChange({ date, isToday }) { | ||||||
|       this.isToday = isToday; |       this.isToday = isToday; | ||||||
|       this.currentDate = date; |       this.currentDate = date; | ||||||
|  |       this.getPlanByDate(); | ||||||
|  | 
 | ||||||
|  |       if (isToday) { | ||||||
|  |         this.getTodayCompletion(); | ||||||
|  |       } | ||||||
|     }, |     }, | ||||||
|     handleTaskClick() { |     handleTaskClick(item) { | ||||||
|       useRouter("/pages/index/cleanPlan", {}, "navigateTo"); |       console.log(item); | ||||||
|  |        | ||||||
|  |       uni.navigateTo({ | ||||||
|  |         url: `/pages/index/cleanPlan?id=${item.id}`, | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     // 根据日期获取计划 | ||||||
|  |     async getPlanByDate() { | ||||||
|  |       this.planList = []; | ||||||
|  |       const res = await GetPlanByDate({ Date: this.currentDate }); | ||||||
|  |       if (res.succeed) { | ||||||
|  |         this.planList = res.data; | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     // 今日完成情况 | ||||||
|  |     async getTodayCompletion() { | ||||||
|  |       const res = await TodayCompletion(); | ||||||
|  |       if (res.succeed) { | ||||||
|  |         this.todayCompletion = { ...res.data }; | ||||||
|  |         this.todayCompletion.total = res.data.completed + res.data.notCompleted; | ||||||
|  |       } | ||||||
|     }, |     }, | ||||||
|   }, |   }, | ||||||
| }; | }; | ||||||
| </script> | </script> | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
| .content { | .content { | ||||||
|   height: 100vh; // 确保容器有明确高度 |   // height: 100vh; // 确保容器有明确高度 | ||||||
|   overflow: hidden; |   overflow: hidden; | ||||||
|  |   padding-bottom: 100rpx; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .task-info { | .task-info { | ||||||
|  | @ -128,6 +199,7 @@ export default { | ||||||
|         display: flex; |         display: flex; | ||||||
|         justify-content: space-between; |         justify-content: space-between; | ||||||
|         .name { |         .name { | ||||||
|  |           padding-left: 6rpx; | ||||||
|           position: relative; |           position: relative; | ||||||
|         } |         } | ||||||
|         .name::before { |         .name::before { | ||||||
|  |  | ||||||
|  | @ -16,7 +16,12 @@ | ||||||
|         /> |         /> | ||||||
|       </view> |       </view> | ||||||
| 
 | 
 | ||||||
|       <u-calendar v-model="showCalendar" mode="range" :max-date="maxDate" @change="changeDate"></u-calendar> |       <u-calendar | ||||||
|  |         v-model="showCalendar" | ||||||
|  |         mode="range" | ||||||
|  |         :max-date="maxDate" | ||||||
|  |         @change="changeDate" | ||||||
|  |       ></u-calendar> | ||||||
|     </u-navbar> |     </u-navbar> | ||||||
| 
 | 
 | ||||||
|     <view |     <view | ||||||
|  | @ -90,6 +95,8 @@ | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script> | <script> | ||||||
|  | import { GetPlanList } from "@/api/apiList"; | ||||||
|  | 
 | ||||||
| export default { | export default { | ||||||
|   data() { |   data() { | ||||||
|     return { |     return { | ||||||
|  | @ -111,7 +118,7 @@ export default { | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|     changeDate(e) { |     changeDate(e) { | ||||||
|       console.log('333',e); |       console.log("333", e); | ||||||
| 
 | 
 | ||||||
|       this.dateRange = e; |       this.dateRange = e; | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|  | @ -6,6 +6,11 @@ import {toast, clearStorageSync, getStorageSync, useRouter} from '@/utils/utils. | ||||||
| import systemConfig from '@/config/config.js'; | import systemConfig from '@/config/config.js'; | ||||||
| const manager = new RequestManager() | const manager = new RequestManager() | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | // 先写死调接口
 | ||||||
|  | uni.setStorageSync('token', 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9zaWQiOiIwOGRkNzFiZC01N2MxLTQ1YmMtODBiYS0xMjkzYjU4MTViMmEiLCJ1bmlxdWVfbmFtZSI6IuS_nea0gSIsInJvbGUiOiJVc2VyIiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvbW9iaWxlcGhvbmUiOiIxODE3NDAxMDU2MiIsImdyb3Vwc2lkIjoiNGIyZDk2NjItYTc2OC0wOGYyLWEwYzgtNzYyYjhjNzZkYTJhIiwibmJmIjoxNzQ0MTc1MjA2LCJleHAiOjE3NDQxNzg4MDYsImlhdCI6MTc0NDE3NTIwNn0.1qDnEAJH-bJlEr1wbwjTfqLY9xAyJKzf6bmLP6svUNo') | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| const baseRequest = async (url, method, data = {}, loading = true) =>{ | const baseRequest = async (url, method, data = {}, loading = true) =>{ | ||||||
| 	let requestId = manager.generateId(method, url, data) | 	let requestId = manager.generateId(method, url, data) | ||||||
| 	if(!requestId) { | 	if(!requestId) { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue