From 634e2994bc4020a06d7116f44a83702a0e423a22 Mon Sep 17 00:00:00 2001
From: Houjie <714924425@qq.com>
Date: 星期三, 09 七月 2025 09:29:14 +0800
Subject: [PATCH] 点检历史 维修历史,周报历史,相关图标

---
 static/home/128/icon_historicalMaintenance.png        |    0 
 pages/historicalInspection/historicalInspection.vue   |  368 ++++++++++++++++++++
 static/home/128/repair.png                            |    0 
 common/service/config.service.js                      |    6 
 static/home/128/baoxiu.png                            |    0 
 static/404.png                                        |    0 
 static/home/128/historicalRepair.png                  |    0 
 pages/historicalRepair/historicalRepair.vue           |  326 ++++++++++++++++++
 static/icn_erro.png                                   |    0 
 manifest.json                                         |   24 
 static/home/128/icon_historicalInspection.png         |    0 
 static/home/128/todo.png                              |    0 
 pages/historicalMaintenance/historicalMaintenance.vue |  342 +++++++++++++++++++
 static/home/128/todoManger.png                        |    0 
 14 files changed, 1,051 insertions(+), 15 deletions(-)

diff --git a/common/service/config.service.js b/common/service/config.service.js
index fdbb5e3..9cc8b0c 100644
--- a/common/service/config.service.js
+++ b/common/service/config.service.js
@@ -1,9 +1,9 @@
-let BASE_URL = ''
+let BASE_URL = 'http://192.168.1.68:9918/jeecg-boot'
 if (process.env.NODE_ENV == 'development') {
 	
-    BASE_URL = '/jeecg-boot' // 寮�鍙戠幆澧�
+    BASE_URL = 'http://192.168.1.68:9918/jeecg-boot' // 寮�鍙戠幆澧�
 } else {
-	BASE_URL = '/jeecg-boot' // 鐢熶骇鐜
+	BASE_URL = 'http://192.168.1.68:9918/jeecg-boot' // 鐢熶骇鐜
 }
 let staticDomainURL ='/sys/common/static';
 let staticURL ='http://125.76.225.53:8086/jeecg-boot/sys/common/static/';
diff --git a/manifest.json b/manifest.json
index 38aed47..03fa220 100644
--- a/manifest.json
+++ b/manifest.json
@@ -85,18 +85,18 @@
             "mode" : "hash",
             "base" : "/h5/"
         },
-        "devServer" : {
-            "port" : "8866",
-            "https" : false,
-            "proxy" : {
-                /**閰嶇疆鏈嶅姟鍣ㄨ矾寰�**/
-                "/jeecg-boot" : {
-                    "target" : "http://houjie.xalxzn.com:8866", // 鐩爣鏈嶅姟鍣�
-                    "changeOrigin" : true,
-					 "secure": false
-                }
-            }
-        },
+      //   "devServer" : {
+      //       "port" : "8866",
+      //       "https" : false,
+      //       "proxy" : {
+      //           /**閰嶇疆鏈嶅姟鍣ㄨ矾寰�**/
+      //           "/jeecg-boot" : {
+      //               "target" : "http://houjie.xalxzn.com:8866", 
+      //               "changeOrigin" : true,
+					 // "secure": false
+      //           }
+      //       }
+      //   },
         "optimization" : {
             "treeShaking" : {
                 "enable" : false
diff --git a/pages/historicalInspection/historicalInspection.vue b/pages/historicalInspection/historicalInspection.vue
new file mode 100644
index 0000000..fee575f
--- /dev/null
+++ b/pages/historicalInspection/historicalInspection.vue
@@ -0,0 +1,368 @@
+<template>
+	<view class="container">
+		<cu-custom :bgColor="NavBarColor" :isBack="true" backRouterName="productionTask">
+			<block slot="backText">杩斿洖</block>
+			<block slot="content">鍘嗗彶鐐规</block>
+			<block slot="right">
+				<view @click="search">
+					<image class="search" src="/static/icon/sear.png" style="width: 25px; height: 25px;" alt="" />
+				</view>
+			</block>
+		</cu-custom>
+
+		<view style="width: 100%;">
+			<uni-popup ref="popup" background-color="#fff" :type="type">
+				<view class="popupView">
+					<!-- 鍩虹琛ㄥ崟鏍¢獙 -->
+					<uni-forms ref="form" :modelValue="formData" validate-trigger="bind" err-show-type="undertext">
+						<uni-group title="" top="0">
+							<uni-forms-item name="orderNum" label="宸ュ崟鍙�:">
+								<uni-easyinput type="text" v-model="formData.orderNum" placeholder="璇疯緭鍏ラ鏂欑敵璇峰崟鍙锋绱�" />
+							</uni-forms-item>
+							<uni-forms-item name="name" label="璁惧缂栧彿:">
+								<zxz-uni-data-select :localdata="equipmentList" dataKey="text"
+									field="value as value, text as text, title as label" dataValue="value"
+									emptyTips="鏆傛棤鏁版嵁" :multiple="false" :filterable='true' @change="changeEquipmentList"
+									placeholder="璇烽�夋嫨璁惧缂栧彿:" :clear='true' />
+							</uni-forms-item>
+							<uni-forms-item name="name" label="鐐规鐘舵��:">
+								<zxz-uni-data-select :localdata="inspectionStatusList" dataKey="text"
+									field="value as value, text as text, title as label" dataValue="value"
+									emptyTips="鏆傛棤鏁版嵁" :multiple="false" :filterable='true' @change="changeInspectionStatus"
+									placeholder="璇烽�夋嫨璁惧缂栧彿:" :clear='true' />
+							</uni-forms-item>
+						</uni-group>
+					</uni-forms>
+					<view class="flex">
+
+						<view
+							class="cuIcon-search flex-sub bg-blue padding-sm margin-xs margin-left-lg margin-right-lg text-sm text-center"
+							@click="getSera">鏌ヨ
+						</view>
+						<view
+							class="cuIcon-refresh flex-sub bg-white solids padding-sm margin-xs radius text-sm text-center margin-left-lg margin-right-lg"
+							@click="resetTask">閲嶇疆</view>
+					</view>
+
+				</view>
+			</uni-popup>
+		</view>
+
+		<view class="container">
+
+			<mescroll-uni ref="mescrollRef" @init="mescrollInit" :top="top" @down="downCallback" @up="upCallback">
+				<!-- 鍒楄〃淇℃伅寮�濮� -->
+				<view class="content">
+					<uni-card margin="10px" spacing="1px" v-for="(item,index) in msgList" :key="index"
+						@click="onClickProductionTask(item)">
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">宸ュ崟鍙�:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs   text-bold  radius text-right">
+								{{item.orderNum}}
+							</view>
+						</view>
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">璁惧缂栧彿:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs text-green    radius text-right">
+								{{item.equipmentCode}}
+							</view>
+						</view>
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">鏍囧噯鍚嶇О:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs     radius text-right">
+								{{item.standardId_dictText}}
+							</view>
+						</view>
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">鐐规鐘舵��:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs  text-bold text-red   radius text-right">
+								{{item.inspectionStatus_dictText}}
+							</view>
+						</view>
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">鐐规鏃ユ湡:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs   text-blue   radius text-right">
+								{{item.inspectionDate}}
+							</view>
+						</view>
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">鐐规杩囨湡鏃ユ湡:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs   text-blue   radius text-right">
+								{{item.expirationTime}}
+							</view>
+						</view>
+
+
+						
+					</uni-card>
+				</view>
+
+			</mescroll-uni>
+		</view>
+	</view>
+</template>
+
+<script>
+	import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
+	export default {
+		mixins: [MescrollMixin], // 浣跨敤mixin
+		data() {
+			return {
+				equipmentList: [],
+				type: 'top',
+				scrollLeft: 0,
+				inspectionStatusList:[],
+				formData: {
+					num: '',
+					orderNum: '',
+					inspectionStatus:''
+				},
+				NavBarColor: this.NavBarColor,
+				activeColor: '#5277A6',
+				url: {
+					stallList: "eam/eamInspectionOrder/list",
+					getEquipmentList: 'eam/equipment/list',
+					inspectionStatus:"/sys/dict/getDictItems/inspection_status"
+				},
+				upOption: {
+					page: {
+						num: 0, // 褰撳墠椤电爜,榛樿0,鍥炶皟涔嬪墠浼氬姞1,鍗砪allback(page)浼氫粠1寮�濮�
+						size: 10 // 姣忛〉鏁版嵁鐨勬暟閲�
+					},
+					noMoreSize: 4, //濡傛灉鍒楄〃宸叉棤鏁版嵁,鍙缃垪琛ㄧ殑鎬绘暟閲忚澶т簬鍗婇〉鎵嶆樉绀烘棤鏇村鏁版嵁;閬垮厤鍒楄〃鏁版嵁杩囧皯(姣斿鍙湁涓�鏉℃暟鎹�),鏄剧ず鏃犳洿澶氭暟鎹細涓嶅ソ鐪�; 榛樿5
+					empty: {
+						tip: '~ 鏆傛棤鏁版嵁 ~', // 鎻愮ず
+					},
+					loading: '',
+					text: '鍏ㄩ儴',
+					isShowNoMore: false,
+					textNoMore: '鎴戞槸鏈夊簳绾跨殑 >_<'
+				},
+				styles: {
+					color: '#2979FF',
+					borderColor: '#2979FF'
+				},
+				msgList: [], //鍒楄〃鏁版嵁
+				announcement1: [],
+				msg1Count: 0,
+				msg2Count: 0,
+				msg1Title: "",
+				equipmentId: ''
+			}
+		},
+		computed: {
+			top() {
+				return this.CustomBar * 2 + 50
+			},
+			style() {
+				var StatusBar = this.StatusBar;
+				var CustomBar = this.CustomBar;
+				var style = `height:${CustomBar}px;padding-top:${StatusBar}px;`;
+				return style
+			},
+		},
+
+
+		onShow() {
+			if (this.mescroll) {
+				this.mescroll.resetUpScroll()
+			}
+		},
+		onLoad: function(options) {},
+		created() {
+			this.getEquipment()
+			this.getInspectionStatusList()
+		},
+		methods: {
+			/**
+			 * 鐐规鐘舵��
+			 */
+			getInspectionStatusList() {
+				this.$http.get(this.url.inspectionStatus).then(res => {
+					//璁剧疆鍒楄〃鏁版嵁
+					if (res.data.success) {
+						console.log(res)
+						this.inspectionStatusList = res.data.result
+					}
+				}).catch(() => {
+					//鑱旂綉澶辫触, 缁撴潫鍔犺浇
+				})
+			
+			},
+			changeInspectionStatus(e) {
+				this.formData.inspectionStatus = e.value;
+			},
+			
+			
+			getEquipment() {
+				this.$http.get(this.url.getEquipmentList, {
+					params: {
+						pageNo: 1,
+						pageSize: 9999,
+						order: 'desc',
+						column: 'createTime'
+
+					},
+
+				}).then(res => {
+					//璁剧疆鍒楄〃鏁版嵁
+					if (res.data.success) {
+						this.equipmentList = res.data.result.records
+					} else {
+						uni.showToast({
+							icon: "error",
+							title: res.data.message,
+							duration: 2000
+						});
+
+					}
+				}).catch(() => {
+					this.$tip.error("鑱旂綉澶辫触")
+				})
+			},
+			changeEquipmentList(e) {
+				console.log(e.id)
+				this.formData.num = e.id;
+			},
+			
+			/**
+			 * @param {Object} item
+			 * 璇︽儏椤甸潰
+			 */
+			onClickProductionTask(item, flag = 'task', from = 'detils') {
+				let url = '/pages/ToDoList/ToDoListCheckSure/ToDoListCheckSure';
+				uni.navigateTo({
+					url: `${url}?item=${encodeURIComponent(JSON.stringify(item))}&flag=${flag}&from=${from}`
+				});
+			},
+			// onClickProductionTask(item) {
+
+			// 	uni.navigateTo({
+			// 		url: '/pages/checkList/checkListDetils/checkListDetils?item=' +
+			// 			encodeURIComponent(JSON.stringify(item))
+
+			// 	})
+
+			// },
+
+			search() {
+				this.$refs.popup.open();
+			},
+			upCallback(page) {
+				// 纭繚 equipmentId 濮嬬粓浣滀负鍙傛暟浼犻�掞紝鍊间负鏈夋晥瀛楃涓叉垨绌哄瓧绗︿覆
+				const params = {
+					pageNo: page.num,
+					pageSize: page.size,
+					order: 'desc',
+					column: 'createTime'
+
+				};
+
+				this.$http.get(this.url.stallList, {
+						params
+					})
+					.then(res => {
+						if (!res.data.success) {
+							throw new Error('鑾峰彇鏁版嵁澶辫触: ' + res.data.message);
+						}
+
+						const records = res.data.result.records || [];
+						const total = res.data.result.total || 0;
+
+						// 鏇存柊娑堟伅璁℃暟鍜屾爣棰�
+						this.msg1Count = total;
+						this.msg1Title = `閫氱煡(${total})`;
+
+						// 鏇存柊鍒楄〃鏁版嵁
+						this.msgList = page.num === 1 ? [...records] : [...this.msgList, ...records];
+
+						// 缁撴潫鍔犺浇鐘舵��
+						this.mescroll.endSuccess(records.length);
+						console.log('璇锋眰鎴愬姛', res.data);
+					})
+					.catch(error => {
+						console.error('璇锋眰澶辫触', error);
+						this.mescroll.endErr();
+					});
+			},
+
+			resetTask() {
+				this.formData.orderNum = ''
+				this.formData.num = ''
+				this.$refs.popup.close();
+				this.mescroll.resetUpScroll()
+
+			},
+			/* 妫�绱� */
+			getSera() {
+				this.$refs.popup.close();
+				this.msgList = [];
+				this.$http.get(this.url.stallList, {
+					params: {
+						pageNo: 1,
+						pageSize: 999,
+						order: "desc",
+						column: "createTime",
+						equipmentId: this.formData.num,
+						orderNum: this.formData.orderNum,
+						inspectionStatus:this.formData.inspectionStatus
+
+					}
+				}).then(res => {
+					//鑱旂綉鎴愬姛鐨勫洖璋�,闅愯棌涓嬫媺鍒锋柊鍜屼笂鎷夊姞杞界殑鐘舵��;
+
+					this.announcement1 = res.data.result.records
+					this.mescroll.endSuccess(this.announcement1.length);
+					console.log("url", res)
+					//璁剧疆鍒楄〃鏁版嵁
+					if (res.data.success) {
+						console.log("res", res.data)
+						this.msg1Count = res.data.result.total
+						this.msg1Title = "閫氱煡(" + res.data.result.total + ")";
+						for (let annItem of this.announcement1) {
+							this.msgList.push(annItem)
+						}
+					}
+					if (page.num == 1) {
+						this.msgList = []; //濡傛灉鏄涓�椤甸渶鎵嬪姩鍒剁┖鍒楄〃
+						this.msgList = this.msgList.concat(this.announcement1); //杩藉姞鏂版暟鎹�
+					}
+
+				}).catch(() => {
+					//鑱旂綉澶辫触, 缁撴潫鍔犺浇
+					this.mescroll.endErr();
+				})
+			},
+
+
+			mescrollInit(mescroll) {
+				console.log('mescrollInit')
+				this.mescroll = mescroll;
+			},
+		},
+
+	}
+</script>
+
+<style>
+	.is-hover {
+		color: rgba(255, 255, 255, 0.6);
+		background-color: #55aaff;
+		border-color: #55aaff;
+	}
+
+
+
+	.content {
+		margin-top: 5px;
+	}
+
+	.content scroll-view {
+		scrollIndicator: "none"
+	}
+
+	.popupView {
+		margin-top: 85px;
+		height: auto;
+	}
+</style>
\ No newline at end of file
diff --git a/pages/historicalMaintenance/historicalMaintenance.vue b/pages/historicalMaintenance/historicalMaintenance.vue
new file mode 100644
index 0000000..4b03758
--- /dev/null
+++ b/pages/historicalMaintenance/historicalMaintenance.vue
@@ -0,0 +1,342 @@
+<template>
+	<view class="container">
+		<cu-custom :bgColor="NavBarColor" :isBack="true" backRouterName="productionTask">
+			<block slot="backText">杩斿洖</block>
+			<block slot="content">鍘嗗彶淇濆吇</block>
+			<block slot="right">
+				<view @click="search">
+					<image class="search" src="/static/icon/sear.png" style="width: 25px; height: 25px;" alt="" />
+				</view>
+			</block>
+		</cu-custom>
+
+		<view style="width: 100%;">
+			<uni-popup ref="popup" background-color="#fff" :type="type">
+				<view class="popupView">
+					<!-- 鍩虹琛ㄥ崟鏍¢獙 -->
+					<uni-forms ref="form" :modelValue="formData" validate-trigger="bind" err-show-type="undertext">
+						<uni-group title="" top="0">
+							<uni-forms-item name="orderNum" label="宸ュ崟鍙�:">
+								<uni-easyinput type="text" v-model="formData.orderNum" placeholder="璇疯緭鍏ラ鏂欑敵璇峰崟鍙锋绱�" />
+							</uni-forms-item>
+							<uni-forms-item name="name" label="鎶芥鏍囪:">
+								<uni-data-select v-model="formData.InspectionFlagName"
+									:localdata="formData.randomInspectionFlagList"
+									@change="changehandlingInspectionFlag" placeholder="璇烽�夋嫨" />
+							</uni-forms-item>
+							<uni-forms-item name="name" label="淇濆吇鐘舵��:">
+								<uni-data-select v-model="formData.maintenanceStatus" :localdata="maintenanceStatusList"
+									@change="changeMaintenanceStatus" placeholder="璇烽�夋嫨" />
+							</uni-forms-item>
+						</uni-group>
+					</uni-forms>
+					<view class="flex">
+
+						<view
+							class="cuIcon-search flex-sub bg-blue padding-sm margin-xs margin-left-lg margin-right-lg text-sm text-center"
+							@click="getSera">鏌ヨ
+						</view>
+						<view
+							class="cuIcon-refresh flex-sub bg-white solids padding-sm margin-xs radius text-sm text-center margin-left-lg margin-right-lg"
+							@click="resetTask">閲嶇疆</view>
+					</view>
+
+				</view>
+			</uni-popup>
+		</view>
+
+		<view class="container">
+
+			<mescroll-uni ref="mescrollRef" @init="mescrollInit" :top="top" @down="downCallback" @up="upCallback">
+				<!-- 鍒楄〃淇℃伅寮�濮� -->
+				<view class="content">
+					<uni-card margin="10px" spacing="1px" v-for="(item,index) in msgList" :key="index"
+						@click="onClickProductionTask(item)">
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">宸ュ崟鍙�:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs   text-bold  radius text-right">
+								{{item.orderNum}}
+							</view>
+						</view>
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">璁惧缂栧彿:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs     radius text-right">
+								{{item.equipmentCode}}
+							</view>
+						</view>
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">璁惧缂栧彿:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs     radius text-right">
+								{{item.equipmentName}}
+							</view>
+						</view>
+
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">淇濆吇鐘舵��:</view>
+							<view
+								class="flex-sub bg-white padding-xs margin-xs  text-bold  text-green   radius text-right">
+								{{item.maintenanceStatus_dictText}}
+							</view>
+						</view>
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">瀹夎浣嶇疆:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs     radius text-right">
+								{{item.installationPosition}}
+							</view>
+						</view>
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">鏍囧噯鍚嶇О:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs     radius text-right">
+								{{item.standardId_dictText}}
+							</view>
+						</view>
+
+						<!-- <view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">鎶芥鏍囪:</view>
+							<view  v-if="item.randomInspectionFlag =='1'"  class="flex-sub bg-white padding-xs margin-xs     radius text-right">
+								宸叉娊妫�
+							</view>
+							<view  v-else  class="flex-sub bg-white padding-xs margin-xs     radius text-right">
+								鏈娊妫�
+							</view>
+						</view> -->
+
+					</uni-card>
+				</view>
+
+			</mescroll-uni>
+		</view>
+	</view>
+</template>
+
+<script>
+	import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
+	export default {
+		mixins: [MescrollMixin], // 浣跨敤mixin
+		data() {
+			return {
+				type: 'top',
+				scrollLeft: 0,
+				maintenanceStatusList: '',
+				formData: {
+					orderNum: '',
+					maintenanceStatus: '',
+					InspectionFlagName: '',
+					randomInspectionFlagList: [{
+							text: "鍚�",
+							value: '0'
+						},
+						{
+							text: "鏄�",
+							value: '1'
+						}
+					]
+				},
+				NavBarColor: this.NavBarColor,
+				activeColor: '#5277A6',
+				url: {
+
+					stallList: "/eam/weekMaintenanceOrder/list",
+					collect: "eam/weekMaintenanceOrder/collect",
+					maintenanceStatus: 'sys/dict/getDictItems/week_maintenance_status'
+				},
+
+				upOption: {
+					page: {
+						num: 0, // 褰撳墠椤电爜,榛樿0,鍥炶皟涔嬪墠浼氬姞1,鍗砪allback(page)浼氫粠1寮�濮�
+						size: 10 // 姣忛〉鏁版嵁鐨勬暟閲�
+					},
+					noMoreSize: 4, //濡傛灉鍒楄〃宸叉棤鏁版嵁,鍙缃垪琛ㄧ殑鎬绘暟閲忚澶т簬鍗婇〉鎵嶆樉绀烘棤鏇村鏁版嵁;閬垮厤鍒楄〃鏁版嵁杩囧皯(姣斿鍙湁涓�鏉℃暟鎹�),鏄剧ず鏃犳洿澶氭暟鎹細涓嶅ソ鐪�; 榛樿5
+					empty: {
+						tip: '~ 鏆傛棤鏁版嵁 ~', // 鎻愮ず
+					},
+					loading: '',
+					text: '鍏ㄩ儴',
+					isShowNoMore: false,
+					textNoMore: '鎴戞槸鏈夊簳绾跨殑 >_<'
+				},
+				styles: {
+					color: '#2979FF',
+					borderColor: '#2979FF'
+				},
+				msgList: [], //鍒楄〃鏁版嵁
+				announcement1: [],
+				msg1Count: 0,
+				msg2Count: 0,
+				msg1Title: "",
+				equipmentId: ''
+			}
+		},
+		computed: {
+			top() {
+				return this.CustomBar * 2 + 50
+			},
+			style() {
+				var StatusBar = this.StatusBar;
+				var CustomBar = this.CustomBar;
+				var style = `height:${CustomBar}px;padding-top:${StatusBar}px;`;
+				return style
+			},
+		},
+
+
+		onShow() {
+			if (this.mescroll) {
+				this.mescroll.resetUpScroll()
+			}
+		},
+		onLoad: function(options) {},
+		created() {
+			this.getMaintenanceStatus();
+		},
+		methods: {
+
+			/**
+			 * 淇濆吇鍒嗙被鍒楄〃浜嬩欢
+			 */
+			getMaintenanceStatus() {
+				this.$http.get(this.url.maintenanceStatus).then(res => {
+					//璁剧疆鍒楄〃鏁版嵁
+					if (res.data.success) {
+						console.log(res)
+						this.maintenanceStatusList = res.data.result
+					}
+				}).catch(() => {
+					//鑱旂綉澶辫触, 缁撴潫鍔犺浇
+				})
+
+			},
+			changeMaintenanceStatus(e) {
+				this.formData.maintenanceStatus = e;
+			},
+			changehandlingInspectionFlag(e) {
+				this.formData.InspectionFlagName = e;
+			},
+
+			/**
+			 * @param {Object} item
+			 * 璇︽儏椤甸潰
+			 */
+			onClickProductionTask(item, flag = 'task', from = 'detils') {
+				let url = '/pages/ToDoList/ToDoBaoZhouSure/ToDoBaoZhouSure';
+				uni.navigateTo({
+					url: `${url}?item=${encodeURIComponent(JSON.stringify(item))}&flag=${flag}&from=${from}`
+				});
+			},
+
+			search() {
+				this.$refs.popup.open();
+			},
+			upCallback(page) {
+				this.$http.get(this.url.stallList, {
+					params: {
+						pageNo: page.num,
+						pageSize: page.size,
+						order: 'desc',
+						column: 'createTime'
+					},
+
+				}).then(res => {
+					this.announcement1 = res.data.result.records
+					this.mescroll.endSuccess(this.announcement1.length);
+					console.log("url", res)
+					//璁剧疆鍒楄〃鏁版嵁
+					if (res.data.success) {
+						console.log("res", res.data)
+						this.msg1Count = res.data.result.total
+						this.msg1Title = "閫氱煡(" + res.data.result.total + ")";
+						for (let annItem of this.announcement1) {
+							this.msgList.push(annItem)
+						}
+					}
+					if (page.num == 1) {
+						this.msgList = []; //濡傛灉鏄涓�椤甸渶鎵嬪姩鍒剁┖鍒楄〃
+						this.msgList = this.msgList.concat(this.announcement1); //杩藉姞鏂版暟鎹�
+					}
+
+				}).catch(() => {
+					//鑱旂綉澶辫触, 缁撴潫鍔犺浇
+					this.mescroll.endErr();
+				})
+
+			},
+
+
+			resetTask() {
+				this.formData.orderNum = ''
+				this.formData.randomInspectionFlag = ''
+				this.$refs.popup.close();
+				this.mescroll.resetUpScroll()
+
+			},
+			/* 妫�绱� */
+			getSera() {
+				this.$refs.popup.close();
+				this.msgList = [];
+
+				this.$http.get(this.url.stallList, {
+					params: {
+						pageNo: 1,
+						pageSize: 999,
+						order: "desc",
+						column: "createTime",
+						orderNum: this.formData.orderNum,
+						maintenanceStatus: this.formData.maintenanceStatus,
+						randomInspectionFlag: this.formData.InspectionFlagName
+					}
+				}).then(res => {
+					//鑱旂綉鎴愬姛鐨勫洖璋�,闅愯棌涓嬫媺鍒锋柊鍜屼笂鎷夊姞杞界殑鐘舵��;
+					this.announcement1 = res.data.result.records
+					this.mescroll.endSuccess(this.announcement1.length);
+					console.log("url", res)
+					//璁剧疆鍒楄〃鏁版嵁
+					if (res.data.success) {
+						console.log("res", res.data)
+						this.msg1Count = res.data.result.total
+						this.msg1Title = "閫氱煡(" + res.data.result.total + ")";
+						for (let annItem of this.announcement1) {
+							this.msgList.push(annItem)
+						}
+					}
+					if (page.num == 1) {
+						this.msgList = []; //濡傛灉鏄涓�椤甸渶鎵嬪姩鍒剁┖鍒楄〃
+						this.msgList = this.msgList.concat(this.announcement1); //杩藉姞鏂版暟鎹�
+					}
+
+				}).catch(() => {
+					//鑱旂綉澶辫触, 缁撴潫鍔犺浇
+					this.mescroll.endErr();
+				})
+			},
+
+			mescrollInit(mescroll) {
+				console.log('mescrollInit')
+				this.mescroll = mescroll;
+			},
+		},
+
+	}
+</script>
+
+<style>
+	.is-hover {
+		color: rgba(255, 255, 255, 0.6);
+		background-color: #55aaff;
+		border-color: #55aaff;
+	}
+
+
+
+	.content {
+		margin-top: 5px;
+	}
+
+	.content scroll-view {
+		scrollIndicator: "none"
+	}
+
+	.popupView {
+		margin-top: 85px;
+		height: auto;
+	}
+</style>
\ No newline at end of file
diff --git a/pages/historicalRepair/historicalRepair.vue b/pages/historicalRepair/historicalRepair.vue
new file mode 100644
index 0000000..bb7fd85
--- /dev/null
+++ b/pages/historicalRepair/historicalRepair.vue
@@ -0,0 +1,326 @@
+<template>
+	<view class="container">
+		<cu-custom :bgColor="NavBarColor" :isBack="true" backRouterName="productionTask">
+			<block slot="backText">杩斿洖</block>
+			<block slot="content">鍘嗗彶缁翠慨</block>
+			<block slot="right">
+				<view @click="search">
+					<image class="search" src="/static/icon/sear.png" style="width: 25px; height: 25px;" alt="" />
+				</view>
+			</block>
+		</cu-custom>
+
+		<view style="width: 100%;">
+			<uni-popup ref="popup" background-color="#fff" :type="type">
+				<view class="popupView">
+					<!-- 鍩虹琛ㄥ崟鏍¢獙 -->
+					<uni-forms ref="form" :modelValue="formData" validate-trigger="bind" err-show-type="undertext">
+						<uni-group title="" top="0">
+							<uni-forms-item name="numbers" label="宸ュ崟鍙�:">
+								<uni-easyinput type="text" v-model="formData.num" placeholder="璇疯緭鍏ュ伐鍗曞彿妫�绱�" />
+							</uni-forms-item>
+							<uni-forms-item name="name" label="缁翠慨鐘舵��:">
+								<uni-data-select v-model="formData.repairStatus" :localdata="repairStatusList"
+									@change="changeRepairStatus" placeholder="璇烽�夋嫨" />
+							</uni-forms-item>
+						</uni-group>
+					</uni-forms>
+					<view class="flex">
+
+						<view
+							class="cuIcon-search flex-sub bg-blue padding-sm margin-xs margin-left-lg margin-right-lg text-sm text-center"
+							@click="getSera">鏌ヨ
+						</view>
+						<view
+							class="cuIcon-refresh flex-sub bg-white solids padding-sm margin-xs radius text-sm text-center margin-left-lg margin-right-lg"
+							@click="resetTask">閲嶇疆</view>
+					</view>
+
+				</view>
+			</uni-popup>
+		</view>
+		<view class="container">
+			<mescroll-uni ref="mescrollRef" @init="mescrollInit" :top="top" @down="downCallback" @up="upCallback">
+				<!-- 鍒楄〃淇℃伅寮�濮� -->
+				<view class="content">
+					<uni-card margin="10px" spacing="1px" v-for="(item,index) in msgList" :key="index"
+						@click="onClickProductionTask(item)">
+
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">宸ュ崟鍙�:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs   text-bold  radius text-right">
+								{{item.repairCode}}
+							</view>
+						</view>
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">璁惧缂栧彿:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs   text-bold  radius text-right">
+								{{item.equipmentCode}}
+							</view>
+						</view>
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">璁惧鍚嶇О:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs   text-bold  radius text-right">
+								{{item.equipmentName}}
+							</view>
+						</view>
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">瀹夎浣嶇疆:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs   text-blue   radius text-right">
+								{{item.installationPosition}}
+							</view>
+						</view>
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">缁翠慨鐘舵��:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs    text-green   radius text-right">
+								{{item.repairStatus_dictText}}
+							</view>
+						</view>
+						<view class="flex">
+							<view class="flex-sub text-light bg-white padding-xs margin-xs radius">缁翠慨寮�濮嬫椂闂�:</view>
+							<view class="flex-sub bg-white padding-xs margin-xs   text-blue   radius text-right">
+								{{item.actualStartTime}}
+							</view>
+						</view>
+					</uni-card>
+				</view>
+
+			</mescroll-uni>
+		</view>
+	</view>
+</template>
+
+<script>
+	import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
+	export default {
+		mixins: [MescrollMixin], // 浣跨敤mixin
+		data() {
+			return {
+				type: 'top',
+				scrollLeft: 0,
+				formData: {
+					num: '',
+					repairStatus: [],
+					partNumNameModel: ''
+				},
+				repairStatusList: [],
+				NavBarColor: this.NavBarColor,
+				activeColor: '#5277A6',
+				url: {
+					stallList: "/eam/eamRepairOrder/list",
+					add: '/eam/eamRepairOrder/add',
+					repairStatus: 'sys/dict/getDictItems/report_repair_status'
+				},
+
+				upOption: {
+					page: {
+						num: 0, // 褰撳墠椤电爜,榛樿0,鍥炶皟涔嬪墠浼氬姞1,鍗砪allback(page)浼氫粠1寮�濮�
+						size: 10 // 姣忛〉鏁版嵁鐨勬暟閲�
+					},
+					noMoreSize: 4, //濡傛灉鍒楄〃宸叉棤鏁版嵁,鍙缃垪琛ㄧ殑鎬绘暟閲忚澶т簬鍗婇〉鎵嶆樉绀烘棤鏇村鏁版嵁;閬垮厤鍒楄〃鏁版嵁杩囧皯(姣斿鍙湁涓�鏉℃暟鎹�),鏄剧ず鏃犳洿澶氭暟鎹細涓嶅ソ鐪�; 榛樿5
+					empty: {
+						tip: '~ 鏆傛棤鏁版嵁 ~', // 鎻愮ず
+					},
+					loading: '',
+					text: '鍏ㄩ儴',
+					isShowNoMore: false,
+					textNoMore: '鎴戞槸鏈夊簳绾跨殑 >_<'
+				},
+				styles: {
+					color: '#2979FF',
+					borderColor: '#2979FF'
+				},
+				msgList: [], //鍒楄〃鏁版嵁
+				announcement1: [],
+				msg1Count: 0,
+				msg2Count: 0,
+				msg1Title: "",
+				equipmentId: ''
+			}
+		},
+		mounted() {
+			console.log('浠� store 鑾峰彇鐨� auth:', this.$store.getters.getAuth)
+		},
+		computed: {
+			authList() {
+				return this.$store.getters.getAuth || []
+			},
+			top() {
+				return this.CustomBar * 2 + 50
+			},
+			style() {
+				var StatusBar = this.StatusBar;
+				var CustomBar = this.CustomBar;
+				var style = `height:${CustomBar}px;padding-top:${StatusBar}px;`;
+				return style
+			},
+		},
+		onShow() {
+			if (this.mescroll) {
+				this.mescroll.resetUpScroll()
+			}
+		},
+		onLoad: function(options) {
+			this.equipmentId = options.equipmentId ?
+				decodeURIComponent(options.equipmentId) :
+				'';
+		},
+		created() {
+			this.getRepairStatus()
+		},
+		methods: {
+			/**
+			 * 淇濆吇鍒嗙被鍒楄〃浜嬩欢
+			 */
+			getRepairStatus() {
+				this.$http.get(this.url.repairStatus).then(res => {
+					//璁剧疆鍒楄〃鏁版嵁
+					if (res.data.success) {
+						console.log(res)
+						this.repairStatusList = res.data.result
+					}
+				}).catch(() => {
+					//鑱旂綉澶辫触, 缁撴潫鍔犺浇
+				})
+
+			},
+			changeRepairStatus(e) {
+				this.formData.repairStatus = e;
+			},
+			/**
+			 * @param {Object} code鎸夐挳鏉冮檺
+			 */
+			authIncludes(code) {
+				return this.authList.some(auth => auth.action === code)
+			},
+			/**
+			 * @param {Object} item
+			 * 璇︽儏椤甸潰
+			 */
+			onClickProductionTask(item, flag = 'task', from = 'detils') {
+				let url = '/pages/ToDoList/ToDoSpareParts/ToDoSpareParts';
+				uni.navigateTo({
+					url: `${url}?item=${encodeURIComponent(JSON.stringify(item))}&flag=${flag}&from=${from}`
+				});
+			},
+			search() {
+				this.$refs.popup.open();
+			},
+
+
+			upCallback(page) {
+				this.$http.get(this.url.stallList, {
+					params: {
+						pageNo: page.num,
+						pageSize: page.size,
+						order: 'desc',
+						column: 'createTime'
+					},
+
+				}).then(res => {
+					this.announcement1 = res.data.result.records
+					this.mescroll.endSuccess(this.announcement1.length);
+					console.log("url", res)
+					//璁剧疆鍒楄〃鏁版嵁
+					if (res.data.success) {
+						console.log("res", res.data)
+						this.msg1Count = res.data.result.total
+						this.msg1Title = "閫氱煡(" + res.data.result.total + ")";
+						for (let annItem of this.announcement1) {
+							this.msgList.push(annItem)
+						}
+					}
+					if (page.num == 1) {
+						this.msgList = []; //濡傛灉鏄涓�椤甸渶鎵嬪姩鍒剁┖鍒楄〃
+						this.msgList = this.msgList.concat(this.announcement1); //杩藉姞鏂版暟鎹�
+					}
+
+				}).catch(() => {
+					//鑱旂綉澶辫触, 缁撴潫鍔犺浇
+					this.mescroll.endErr();
+				})
+
+			},
+
+
+			resetTask() {
+				this.formData.num = ''
+				this.formData.partNumNameModel = ''
+				this.$refs.popup.close();
+				this.mescroll.resetUpScroll()
+
+			},
+			/* 妫�绱� */
+			getSera() {
+				this.$refs.popup.close();
+				let keyword = this.TabCur
+				this.msgList = [];
+
+
+				this.$http.get(this.url.stallList, {
+					params: {
+						pageNo: 1,
+						pageSize: 999,
+						order: "desc",
+						column: "createTime",
+						num: this.formData.num,
+						repairStatus:this.formData.repairStatus
+					}
+				}).then(res => {
+					//鑱旂綉鎴愬姛鐨勫洖璋�,闅愯棌涓嬫媺鍒锋柊鍜屼笂鎷夊姞杞界殑鐘舵��;
+
+					this.announcement1 = res.data.result.records
+					this.mescroll.endSuccess(this.announcement1.length);
+					console.log("url", res)
+					//璁剧疆鍒楄〃鏁版嵁
+					if (res.data.success) {
+						console.log("res", res.data)
+						this.msg1Count = res.data.result.total
+						this.msg1Title = "閫氱煡(" + res.data.result.total + ")";
+						for (let annItem of this.announcement1) {
+							this.msgList.push(annItem)
+						}
+					}
+					if (page.num == 1) {
+						this.msgList = []; //濡傛灉鏄涓�椤甸渶鎵嬪姩鍒剁┖鍒楄〃
+						this.msgList = this.msgList.concat(this.announcement1); //杩藉姞鏂版暟鎹�
+					}
+
+				}).catch(() => {
+					//鑱旂綉澶辫触, 缁撴潫鍔犺浇
+					this.mescroll.endErr();
+				})
+			},
+
+
+			mescrollInit(mescroll) {
+				console.log('mescrollInit')
+				this.mescroll = mescroll;
+			},
+		},
+
+	}
+</script>
+
+<style>
+	.is-hover {
+		color: rgba(255, 255, 255, 0.6);
+		background-color: #55aaff;
+		border-color: #55aaff;
+	}
+
+
+
+	.content {
+		margin-top: 5px;
+	}
+
+	.content scroll-view {
+		scrollIndicator: "none"
+	}
+
+	.popupView {
+		margin-top: 85px;
+		height: auto;
+	}
+</style>
\ No newline at end of file
diff --git a/static/404.png b/static/404.png
new file mode 100644
index 0000000..f39ba8a
--- /dev/null
+++ b/static/404.png
Binary files differ
diff --git a/static/home/128/baoxiu.png b/static/home/128/baoxiu.png
new file mode 100644
index 0000000..413fe71
--- /dev/null
+++ b/static/home/128/baoxiu.png
Binary files differ
diff --git a/static/home/128/historicalRepair.png b/static/home/128/historicalRepair.png
new file mode 100644
index 0000000..b402b24
--- /dev/null
+++ b/static/home/128/historicalRepair.png
Binary files differ
diff --git a/static/home/128/icon_historicalInspection.png b/static/home/128/icon_historicalInspection.png
new file mode 100644
index 0000000..bad1ecc
--- /dev/null
+++ b/static/home/128/icon_historicalInspection.png
Binary files differ
diff --git a/static/home/128/icon_historicalMaintenance.png b/static/home/128/icon_historicalMaintenance.png
new file mode 100644
index 0000000..00f7086
--- /dev/null
+++ b/static/home/128/icon_historicalMaintenance.png
Binary files differ
diff --git a/static/home/128/repair.png b/static/home/128/repair.png
new file mode 100644
index 0000000..eee0281
--- /dev/null
+++ b/static/home/128/repair.png
Binary files differ
diff --git a/static/home/128/todo.png b/static/home/128/todo.png
new file mode 100644
index 0000000..54c52b8
--- /dev/null
+++ b/static/home/128/todo.png
Binary files differ
diff --git a/static/home/128/todoManger.png b/static/home/128/todoManger.png
new file mode 100644
index 0000000..0b797f9
--- /dev/null
+++ b/static/home/128/todoManger.png
Binary files differ
diff --git a/static/icn_erro.png b/static/icn_erro.png
new file mode 100644
index 0000000..499f1e4
--- /dev/null
+++ b/static/icn_erro.png
Binary files differ

--
Gitblit v1.9.3