Bladeren bron

Merge remote-tracking branch 'origin/master'

ouyj 2 maanden geleden
bovenliggende
commit
cd9e32f6ba

+ 18 - 9
pages/index/index.uvue

@@ -634,11 +634,20 @@
 	const handleOverdueItemClick = (item: any, index: number): void => {
 		if (item == null) return
 		const orderItem = item as UTSJSONObject
+		const permit: string[] = orderItem['orderType'] == 2 ? ['gxt:maintenance:order:accept'] : ['gxt:repairOrder:accept']
+		const isPermit: boolean = checkPermi(permit)
 		try {
-			// 跳转到工单详情页
-			uni.navigateTo({
-				url: `/pages/order/detail/acceptIndex?id=${orderItem.id}&orderType=${orderItem.orderType}`
-			})
+			if(isPermit) {
+				// 跳转到工单接单页
+				uni.navigateTo({
+					url: `/pages/order/detail/acceptIndex?id=${orderItem['id']}&orderType=${orderItem['orderType']}`
+				})
+			} else {
+				// 跳转到工单详情页
+				uni.navigateTo({
+					url: `/pages/order/detail/index?id=${orderItem['id']}&orderType=${orderItem['orderType']}`
+				})
+			}
 		} catch (e) {
 			console.error('处理超时工单点击事件失败:', e)
 		}
@@ -837,7 +846,7 @@
 		// justify-content: space-around; /* 自动分配间距,避免挤压 */
 		align-items: center;
 		padding: 0 20rpx; // 可选:避免贴边
-		
+
 		.db-box {
 			background-color: #fff;
 			width: 216rpx;
@@ -849,13 +858,13 @@
 			border-radius: 5px;
 			padding: 30rpx 10rpx;   // 可选:增加内边距使内容不拥挤
 			position: relative;
-			
+
 			.db-text {
 				margin-top: 16rpx;   // 图标与文字间距
 				font-size: 24rpx;    // 建议用 rpx,10px 太小了
 				color: #333;
 			}
-			
+
 			.db-image{
 				width:100rpx;
 				height:100rpx;
@@ -879,14 +888,14 @@
 				box-sizing: border-box;  // 确保 padding 不影响整体尺寸
 				padding: 0 12rpx;
 				overflow: hidden;
-			
+
 				.count {
 					// line-height: 40rpx;
 					font-size: 26rpx;
 					// text-align: center;
 					color: #ffffff;
 				}
-			
+
 			}
 		}
 	}

+ 1 - 1
pages/order/detail/acceptIndex.uvue

@@ -602,7 +602,7 @@
                     flex: 1;
                     font-size: 28rpx;
                     color: #333333;
-                    text-align: right;
+                    text-align: left;
 
                     &.highlight {
                         color: #007aff;

+ 1 - 1
pages/order/detail/approveIndex.uvue

@@ -602,7 +602,7 @@
                     flex: 1;
                     font-size: 28rpx;
                     color: #333333;
-                    text-align: right;
+                    text-align: left;
 
                     &.highlight {
                         color: #007aff;

+ 20 - 3
pages/order/detail/index.uvue

@@ -68,7 +68,7 @@
 					    <text class="info-label">维保内容</text>
 					    <text class="info-value">{{ detailData.content ?? '' }}</text>
 					</view>
-					<view class="info-item" v-if="detailData.orderType == 1">
+					<!-- <view class="info-item" v-if="detailData.orderType == 1">
 					    <text class="info-label">故障代码</text>
 					    <text class="info-value">{{ detailData.faultCode ?? '' }}</text>
 					</view>
@@ -79,6 +79,24 @@
 					<view class="info-item" v-if="detailData.orderType == 1">
 					    <text class="info-label">故障描述</text>
 					    <text class="info-value">{{ detailData.faultDesc ?? '' }}</text>
+					</view> -->
+					<view class="info-item" v-if="detailData.orderType == 1">
+						<text class="info-label">故障代码</text>
+						<view class="info-value">
+							<text class="inner-text">{{ detailData.faultCode ?? '' }}</text>
+						</view>
+					</view>
+					<view class="info-item" v-if="detailData.orderType == 1">
+						<text class="info-label">故障条文</text>
+						<view class="info-value">
+							<text class="inner-text">{{ detailData.faultBarcode ?? '' }}</text>
+						</view>
+					</view>
+					<view class="info-item" v-if="detailData.orderType == 1">
+						<text class="info-label">故障描述</text>
+						<view class="info-value">
+							<text class="inner-text">{{ detailData.faultDesc ?? '' }}</text>
+						</view>
 					</view>
                 </view>
             </view>
@@ -734,8 +752,7 @@
                     flex: 1;
                     font-size: 28rpx;
                     color: #333333;
-                    text-align: right;
-
+					
                     &.highlight {
                         color: #007aff;
                         font-weight: bold;

+ 1 - 21
pages/order/detail/resetIndex.uvue

@@ -39,28 +39,8 @@
 					    <text class="info-label">接单时间</text>
 					    <text class="info-value">{{ acceptTime ?? '' }}</text>
 					</view>
-					<!-- <view class="info-item">
-					    <text class="info-label">挂起原因</text>
-					    <view class="form-picker" @click="showReasonPicker = true">
-					        <view class="picker-display">
-					            <text v-if="suspendReason" class="selected-value">{{ suspendReason }}</text>
-					            <text v-else class="placeholder">请选择挂起原因</text>
-					            <text class="arrow">▼</text>
-					        </view>
-					    </view>
-					</view> -->
                 </view>
             </view>
-			<!-- <view class="info-section">
-				<view class="section-title">
-					<text class="section-title-text">工作负责人</text>
-				</view>
-				<view class="info-card">
-					<view class="info-item">
-						<input class="input" type="text" placeholder="请输入工作负责人" v-model="teamLeaderName" />
-					</view>
-				</view>
-			</view> -->
 			<!-- 工作负责人选择 -->
 			<view class="info-section">
 			    <!-- <view class="section-title">
@@ -430,7 +410,7 @@
                     flex: 1;
                     font-size: 28rpx;
                     color: #333333;
-                    text-align: right;
+                    text-align: left;
 
                     &.highlight {
                         color: #007aff;

+ 2 - 2
pages/order/detail/restartIndex.uvue

@@ -46,7 +46,7 @@
 								    class="input-field"
 								    placeholder="请选择恢复运行时间"
 								    v-model="restartTime"
-									readonly
+									:disabled="true"
 								/>
 						    </view>
 						</view>
@@ -451,7 +451,7 @@
                     flex: 1;
                     font-size: 28rpx;
                     color: #333333;
-                    text-align: right;
+                    text-align: left;
 
                     &.highlight {
                         color: #007aff;

+ 1 - 1
pages/order/detail/resumeIndex.uvue

@@ -515,7 +515,7 @@
                     flex: 1;
                     font-size: 28rpx;
                     color: #333333;
-                    text-align: right;
+                    text-align: left;
 
                     &.highlight {
                         color: #007aff;

+ 1 - 1
pages/order/detail/returnIndex.uvue

@@ -445,7 +445,7 @@
                     flex: 1;
                     font-size: 28rpx;
                     color: #333333;
-                    text-align: right;
+                    text-align: left;
 
                     &.highlight {
                         color: #007aff;

+ 2 - 2
pages/order/detail/shutdownIndex.uvue

@@ -46,7 +46,7 @@
 								    class="input-field"
 								    placeholder="请选择停机时间"
 								    v-model="pauseTime"
-									readonly
+									:disabled="true"
 								/>
 						    </view>
 						</view>
@@ -380,7 +380,7 @@
                     flex: 1;
                     font-size: 28rpx;
                     color: #333333;
-                    text-align: right;
+                    text-align: left;
 
                     &.highlight {
                         color: #007aff;

+ 1 - 1
pages/order/detail/suspendIndex.uvue

@@ -592,7 +592,7 @@
                     flex: 1;
                     font-size: 28rpx;
                     color: #333333;
-                    text-align: right;
+                    text-align: left;
 
                     &.highlight {
                         color: #007aff;

+ 21 - 2
pages/order/detail/wbBackfillFinalize.uvue

@@ -63,6 +63,7 @@
 								    class="input-field"
 								    placeholder="请选择开始时间"
 								    v-model="realStartTime"
+									:disabled="true"
 								/>
                             </view>
                         </view>
@@ -79,6 +80,7 @@
 								    class="input-field"
 								    placeholder="请选择结束时间"
 								    v-model="realEndTime"
+									:disabled="true"
 								/>
                             </view>
                         </view>
@@ -95,6 +97,7 @@
                                 class="input-field"
                                 placeholder="请输入外委人员数"
                                 v-model="wwryNum"
+                                @input="onWwryNumInput"
                             />
                         </view>
                     </view>
@@ -110,6 +113,7 @@
                                 class="input-field"
                                 placeholder="请输入外来人员数"
                                 v-model="wlryNum"
+                                @input="onWlryNumInput"
                             />
                         </view>
                     </view>
@@ -354,6 +358,22 @@
         }
     };
 
+    // 外委人员数输入处理
+    const onWwryNumInput = (): void => {
+		let value = wwryNum.value;
+        // 移除非数字字符,包括负号和小数点
+        value = value.replace(/[^0-9]/g, '');
+        wwryNum.value = value;
+    };
+
+    // 外来人员数输入处理
+    const onWlryNumInput = (): void => {
+		let value = wlryNum.value;
+        // 移除非数字字符,包括负号和小数点
+        value = value.replace(/[^0-9]/g, '');
+        wlryNum.value = value;
+    };
+
     // 验证和提交
     const submitLoading = ref<boolean>(false)
 
@@ -528,7 +548,6 @@
             return false;
         }
 		
-		
 		// if (infoEntry.value == '2' && (workGroupMemberName.value == '' || selectedUsers.value.length == 0)) {
 		//     uni.showToast({
 		//         title: '请选择工作班成员',
@@ -798,7 +817,7 @@
                     flex: 1;
                     font-size: 28rpx;
                     color: #333333;
-                    text-align: right;
+                    text-align: left;
 
                     &.highlight {
                         color: #007aff;

+ 21 - 3
pages/order/detail/wbFinalize.uvue

@@ -110,7 +110,7 @@
 								    class="input-field"
 								    placeholder="请选择开始时间"
 								    v-model="realStartTime"
-									readonly
+									:disabled="true"
 								/>
                             </view>
                         </view>
@@ -127,7 +127,7 @@
 								    class="input-field"
 								    placeholder="请选择结束时间"
 								    v-model="realEndTime"
-									readonly
+									:disabled="true"
 								/>
                             </view>
                         </view>
@@ -144,6 +144,7 @@
                                 class="input-field"
                                 placeholder="请输入外委人员数"
                                 v-model="wwryNum"
+                                @input="onWwryNumInput"
                             />
                         </view>
                     </view>
@@ -159,6 +160,7 @@
                                 class="input-field"
                                 placeholder="请输入外来人员数"
                                 v-model="wlryNum"
+                                @input="onWlryNumInput"
                             />
                         </view>
                     </view>
@@ -553,6 +555,22 @@
         }
     };
 
+    // 外委人员数输入处理
+    const onWwryNumInput = (): void => {
+		let value = wwryNum.value;
+        // 移除非数字字符,包括负号和小数点
+        value = value.replace(/[^0-9]/g, '');
+        wwryNum.value = value;
+    };
+
+    // 外来人员数输入处理
+    const onWlryNumInput = (): void => {
+		let value = wlryNum.value;
+        // 移除非数字字符,包括负号和小数点
+        value = value.replace(/[^0-9]/g, '');
+        wlryNum.value = value;
+    };
+
     // 验证和提交
     const submitLoading = ref<boolean>(false)
 
@@ -1361,7 +1379,7 @@
                     flex: 1;
                     font-size: 28rpx;
                     color: #333333;
-                    text-align: right;
+                    text-align: left;
 
                     &.highlight {
                         color: #007aff;

+ 28 - 5
pages/order/detail/wxFinalize.uvue

@@ -122,7 +122,8 @@
 								    class="input-field"
 								    placeholder="请选择开始时间"
 								    v-model="realStartTime"
-									readonly
+									:disabled="true"
+									style="pointer-events: none;"
 								/>
                             </view>
                         </view>
@@ -139,8 +140,12 @@
 								    class="input-field"
 								    placeholder="请选择结束时间"
 								    v-model="realEndTime"
-									readonly
+									:disabled="true"
+									
 								/>
+								<!-- <text class="input-field">
+									{{ realEndTime != '' ? realEndTime : '请选择结束时间' }}
+								</text> -->
                             </view>
                         </view>
                     </view>
@@ -173,6 +178,7 @@
                                 class="input-field"
                                 placeholder="请输入外委人员数"
                                 v-model="wwryNum"
+                                @input="onWwryNumInput"
                             />
                         </view>
                     </view>
@@ -188,6 +194,7 @@
                                 class="input-field"
                                 placeholder="请输入外来人员数"
                                 v-model="wlryNum"
+                                @input="onWlryNumInput"
                             />
                         </view>
                     </view>
@@ -265,7 +272,7 @@
 
             <!-- 时间选择器弹窗 -->
 			<!-- Start Date Picker -->
-			<l-popup v-model="showStartTimePicker" position="bottom">
+			<l-popup v-model="showStartTimePicker" position="bottom" :safe-area-inset-bottom="true" :z-index="10000">
 				<l-date-time-picker
 					title="选择开始时间"
 					:mode="1 | 2 | 4 | 8 | 16"
@@ -279,7 +286,7 @@
 			</l-popup>
 
 			<!-- End Date Picker -->
-			<l-popup v-model="showEndTimePicker" position="bottom">
+			<l-popup v-model="showEndTimePicker" position="bottom" :safe-area-inset-bottom="true" :z-index="10000">
 				<l-date-time-picker
 					title="选择结束时间"
 					:mode="31"
@@ -650,6 +657,22 @@
         }
     };
 
+    // 外委人员数输入处理
+    const onWwryNumInput = (): void => {
+		let value = wwryNum.value;
+        // 移除非数字字符,包括负号和小数点
+        value = value.replace(/[^0-9]/g, '');
+        wwryNum.value = value;
+    };
+
+    // 外来人员数输入处理
+    const onWlryNumInput = (): void => {
+		let value = wlryNum.value;
+        // 移除非数字字符,包括负号和小数点
+        value = value.replace(/[^0-9]/g, '');
+        wlryNum.value = value;
+    };
+
     // 验证和提交
     const submitLoading = ref<boolean>(false)
 
@@ -1500,7 +1523,7 @@
                     flex: 1;
                     font-size: 28rpx;
                     color: #333333;
-                    text-align: right;
+                    text-align: left;
 
                     &.highlight {
                         color: #007aff;