Browse Source

工单统计

wkyy 1 năm trước cách đây
mục cha
commit
0d35d55005

+ 10 - 0
apis/pagejs/workOrder.js

@@ -1,5 +1,15 @@
 import request from '@/apis/utils/request'
 
+// 工单统计-按状态统计我的工单
+export function rptByStatus(data) {
+	var url='/mobile/workOrder/rptByStatus';
+	return request({
+		method: 'post',
+		data: data,
+		url: url
+	})
+}
+
 // 工单-用户取消工单
 export function usClose(data) {
 	var url='/mobile/workOrder/usClose';

+ 1 - 1
pages/statistics/statistics.vue

@@ -282,7 +282,7 @@
 								<!-- <img src="../../assets/img/powerFactor.svg" alt="" /> -->
 							</view>
 							<view class="text">
-								{{item.remoteMonitorRecord.averPowerFactor}}
+								{{item.remoteMonitorRecord.averPowerFactor.toFixed(2)}}
 							</view>
 						</view>
 						<view class="infos-item">

+ 3 - 3
pages/workOrderManagement/workOrderDetails.vue

@@ -65,15 +65,15 @@
 						<image v-for="item in picList" class="img" :src="item" mode=""></image>
 					</view>
 				</view>
-				<view class="content-item" v-if="detail.status != 'created'">
+				<view class="content-item" v-if="detail.repairAccepter != null">
 					<view class="item-title">
 						运维专员
 					</view>
 					<view class="item-value">
 						<view class="photo">
-							<image class="photo-img" src="@/assets/img/photo@x1.png" mode=""></image>
+							<image class="photo-img" src="@/assets/img/默认头像.png" mode=""></image>
 						</view>
-						郭群 15500001111
+						{{detail.repairAccepter}} {{detail.repairContacter}}
 						<image class="img" src="@/assets/img/riFill-phone-fill.svg" mode=""></image>
 					</view>
 				</view>

+ 26 - 5
pages/workOrderManagement/workOrderManagement.vue

@@ -100,10 +100,11 @@
 						已关闭
 					</view>
 					<view class="btn">
-						<button class="close" @click="closeShow=true" v-if="item.status == 'created'">关闭</button>
+						<button class="close" @click="closePopupShow(item)" v-if="item.status == 'created'">关闭</button>
 						<button class="reminder" @click="reminderShow=true" v-if="item.status == 'created'">催单</button>
 						<button class="resolved" v-if="item.status == 'dispatched'">确认解决</button>
-						<button class="view" v-if="item.status == 'ended' || item.status == 'closed'">查看详情</button>
+						<button class="view" v-if="item.status == 'ended' || item.status == 'closed'"
+							@click="gotoUrl('/pages/workOrderManagement/workOrderDetails?id='+item.id)">查看详情</button>
 					</view>
 				</view>
 			</view>
@@ -166,6 +167,7 @@
 		},
 		data() {
 			return {
+				workOrderId: '', //工单id
 				classificationIndex: 0, //分类
 				classificationList: [
 					{value: '0', name: '全部'},
@@ -198,6 +200,11 @@
 			}
 		},
 		methods: {
+			//打开关闭原因
+			closePopupShow(item) {
+				this.closeShow = true;
+				this.workOrderId = item.id;
+			},
 			//催单
 			reminderClick() {
 				this.reminderShow = false;
@@ -237,14 +244,28 @@
 					})
 				})
 			},
+			//选择关闭原因
 			reasonClick(item,index) {
 				this.current = index;
 			},
+			//关闭工单
 			closeWorkOrder() {
-				uni.navigateTo({
-					url: '/pages/workOrderManagement/workOrderDetails'
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				API_workOrder.usClose({id: this.workOrderId}).then((res) => {
+					uni.hideLoading();
+					this.closeShow = false;
+					uni.navigateTo({
+						url: '/pages/workOrderManagement/workOrderDetails?id='+this.workOrderId
+					})
+				}).catch(error => {
+					uni.showToast({
+						title: error,
+						icon: "none"
+					})
 				})
-				this.closeShow = false;
 			},
 			toWorkOrderMap() {
 				uni.navigateTo({

+ 50 - 11
pages/workOrderManagement/workOrderStatistics.vue

@@ -5,17 +5,9 @@
 		<view class="main">
 			<!-- 标签 -->
 			<view class="tabs">
-				<view class="tabs-item item-checked">
-					当天
-				</view>
-				<view class="tabs-item">
-					一周
-				</view>
-				<view class="tabs-item">
-					当天
-				</view>
-				<view class="tabs-item">
-					自定义
+				<view class="tabs-item" v-for="(item,index) in tabsList" :key="index"
+					:class="tabsIndex==index ? 'item-checked' : ''" @click="tabsClick(item,index)">
+					{{item}}
 				</view>
 			</view>
 			<!-- 数据统计 -->
@@ -125,20 +117,67 @@
 
 <script>
 	import * as echarts from 'echarts';
+	import {
+		parseUnixTime,
+		beforeTimeStamp,
+		getWeek
+	} from '@/apis/utils'
 
 	export default {
 		data() {
 			return {
+				workForm: {
+					qkey: '',
+					startDate: '',
+					endDate: ''
+				}, //工单数据查询
+				today: '', //当天
+				weekStart: '', //一周
+				weekEnd: '',
+				monthStart: '', //一月
+				monthEnd: '',
+				show: false,
+				tabsList: ['当天','一周','一月','自定义'], //时间标签list
+				tabsIndex: 0,
 				myChart: null,
 				background: {
 					backgroundColor: '#1677FF'
 				}
 			}
 		},
+		onLoad() {
+			this.today = parseUnixTime(new Date(), '{y}-{m}-{d}');
+			
+			const today = new Date();
+			const firstDay = new Date(today.setDate(today.getDate() - today.getDay() + 1));
+			const lastDay = new Date(today.setDate(today.getDate() - today.getDay() + 7));
+			this.weekStart = parseUnixTime(firstDay, '{y}-{m}-{d}');
+			this.weekEnd = parseUnixTime(lastDay, '{y}-{m}-{d}');
+			
+			console.log('当天:'+this.today+'\n'+'一周:'+this.weekStart+'至'+this.weekEnd+'\n'
+				+'一月:'+this.monthStart+'至'+this.monthEnd)
+		},
 		onReady() {
 			this.getBarCharts();
 		},
 		methods: {
+			//选择时间
+			tabsClick(item,index) {
+				this.tabsIndex = index;
+				if(index == 0) {
+					this.workForm.startDate = this.today;
+					this.workForm.endDate = this.today;
+				} else if(index == 1) {
+					this.workForm.startDate = this.weekStart;
+					this.workForm.endDate = this.weekEnd;
+				} else if(index == 2) {
+					this.workForm.startDate = this.monthStart;
+					this.workForm.endDate = this.monthEnd;
+				} else {
+					this.show = true;
+				}
+			},
+			//每月工单数量图
 			getBarCharts(list) {
 				if (!this.myChart) {
 					this.myChart = echarts.init(document.getElementById('barEcharts'), null, {