Bladeren bron

修复一些bug

Yannay 2 maanden geleden
bovenliggende
commit
ee316b2a24

+ 3 - 2
pages/clue/post/index.vue

@@ -50,10 +50,10 @@
50 50
 				</view>
51 51
 			</view>
52 52
 		</view>
53
-		<view class="sendOrder inquiry" @click.stop="handleInquiry(item)">
53
+		<!-- <view class="sendOrder inquiry" @click.stop="handleInquiry(item)">
54 54
 			<image src='/static/publicClue/inquiry.png' mode="aspectFit" class="sendOrder_img"></image>
55 55
 			<view>询价</view>
56
-		</view>
56
+		</view> -->
57 57
 		<view class="sendOrder" @click.stop="handleSendOrder(item)">
58 58
 			<image src='/static/publicClue/littlePlane.png' mode="aspectFit" class="sendOrder_img"></image>
59 59
 			<view>发单</view>
@@ -261,6 +261,7 @@ export default {
261 261
 			height: 20px;
262 262
 		}
263 263
 	}
264
+
264 265
 	.inquiry {
265 266
 		right: 140rpx;
266 267
 		color: #2563eb;

+ 24 - 7
pages/orderDetailNew/components/pageFour.vue

@@ -213,7 +213,7 @@
213 213
 
214 214
         <!-- 确认入库按钮 -->
215 215
         <div class="confirm-button-container">
216
-            <u-button type="success" @click="confirmWarehouseEntry" style="border-radius: 11px;">
216
+            <u-button class='next-btn' type="success" @click="confirmWarehouseEntry" style="border-radius: 11px;">
217 217
                 <u-icon name="checkmark-circle-fill" size="28rpx" color="#fff"></u-icon>
218 218
                 <text style="margin-left: 8rpx;">确认入库</text>
219 219
             </u-button>
@@ -221,7 +221,7 @@
221 221
 
222 222
         <!-- 组织选择 -->
223 223
         <u-picker :show="showOrgPicker" title="请选择组织" :columns="columnsOrgList" keyName="label"
224
-            @confirm="handleOrgConfirmOrg" @cancel='showOrgPicker = false'></u-picker>
224
+            @confirm="handleOrgConfirmOrg" @cancel=' showOrgPicker = false'></u-picker>
225 225
 
226 226
 
227 227
         <!-- 人员选择 -->
@@ -468,10 +468,10 @@ export default {
468 468
                 success: async (res) => {
469 469
                     if (res.confirm) {
470 470
                         //修改状态
471
-                        // await uni.$u.api.oderForm({
472
-                        //     status: "3",
473
-                        //     id: this.orderDetail.id,
474
-                        // });
471
+                        await uni.$u.api.oderForm({
472
+                            status: "3",
473
+                            id: this.orderDetail.id,
474
+                        });
475 475
 
476 476
                         await uni.$u.api.updateReceiptForm({
477 477
                             id: this.currentReceipt.id,
@@ -775,9 +775,12 @@ export default {
775 775
     white-space: nowrap;
776 776
 }
777 777
 
778
-
778
+::v-deep .u-form-item__body {
779
+    padding: 0;
780
+}
779 781
 
780 782
 // 图片上传样式
783
+
781 784
 .image-uploader {
782 785
     width: 100%;
783 786
     height: 65rpx;
@@ -1094,4 +1097,18 @@ export default {
1094 1097
 .delectBtn ::v-deep .u-button--mini {
1095 1098
     min-width: 20rpx !important;
1096 1099
 }
1100
+
1101
+
1102
+
1103
+.next-btn {
1104
+    position: fixed;
1105
+    bottom: 10rpx;
1106
+    left: 2.5%;
1107
+    width: 95%;
1108
+    height: 80rpx;
1109
+    line-height: 80rpx;
1110
+    text-align: center;
1111
+    @include font-styles($size: medium, $weight: bold, $color: #fff);
1112
+    border-radius: 0rpx 0rpx 20rpx 20rpx;
1113
+}
1097 1114
 </style>

+ 17 - 2
pages/orderDetailNew/components/pageOne.vue

@@ -91,7 +91,8 @@
91 91
             </view>
92 92
         </view>
93 93
 
94
-        <u-button @click="handleNextClick" type="primary" size="middle" style="border-radius: 20rpx;">下一步</u-button>
94
+        <u-button class='next-btn' @click="handleNextClick" type="primary" size="middle"
95
+            style="border-radius: 20rpx;">下一步</u-button>
95 96
 
96 97
     </view>
97 98
 </template>
@@ -510,7 +511,7 @@ export default {
510 511
 .connect-card {
511 512
     flex: 1;
512 513
     @include card;
513
-    padding: 30rpx;
514
+    padding: 10rpx;
514 515
     display: flex;
515 516
     flex-direction: column;
516 517
     align-items: center;
@@ -542,4 +543,18 @@ export default {
542 543
     border-radius: 50%;
543 544
     box-shadow: 0 0 4rpx rgba(255, 77, 79, 0.3);
544 545
 }
546
+
547
+
548
+
549
+.next-btn {
550
+    position: fixed;
551
+    bottom: 10rpx;
552
+    left: 2.5%;
553
+    width: 95%;
554
+    height: 80rpx;
555
+    line-height: 80rpx;
556
+    text-align: center;
557
+    @include font-styles($size: medium, $weight: bold, $color: #fff);
558
+    border-radius: 0rpx 0rpx 20rpx 20rpx;
559
+}
545 560
 </style>

+ 51 - 15
pages/orderDetailNew/components/pageThree.vue

@@ -11,7 +11,8 @@
11 11
                 </u-col>
12 12
                 <u-col span="5.8">
13 13
                     <view class="info-label">银行名称</view>
14
-                    <u-input v-model="paymentInfo.bankName" placeholder="请输入银行名称" class="info-input" />
14
+                    <u-input v-model="paymentInfo.bankName" placeholder="请输入银行名称" class="info-input"
15
+                        @input="handleBankNameInput" />
15 16
                 </u-col>
16 17
             </u-row>
17 18
             <!-- 银行账号单独一行 -->
@@ -89,20 +90,23 @@
89 90
                 </view>
90 91
             </view>
91 92
         </view>
92
-        <u-button @click="handleNextClick" type="primary" size="middle" style="border-radius: 20rpx;">下一步</u-button>
93
+        <u-button class='next-btn' @click="handleNextClick" type="primary" size="middle"
94
+            style="border-radius: 20rpx;">下一步</u-button>
93 95
 
94
-        <u-modal :show="unpaidModelShow" :title="'未收评级'" :showConfirmButton="false">
96
+        <u-modal showCancelButton showConfirmButton @confirm="confirmUnpaid" @cancel="unpaidModelShow = false"
97
+            :show="unpaidModelShow" :title="'未收评级'">
95 98
             <view class="modal-content">
96 99
                 <u-rate v-model="unpaidRating" :count="5" :size="50" active-color="#ff9500"></u-rate>
97
-                <u-button type="primary" size="large" @click="confirmUnpaid" style="margin-top: 40rpx;">确认未收</u-button>
100
+                <!-- <u-button type="primary" size="large" @click="confirmUnpaid" style="margin-top: 40rpx;">确认未收</u-button> -->
98 101
             </view>
99 102
         </u-modal>
100 103
 
101
-        <u-modal :show="followUpModelShow" :title="'填写跟进细节'" :showConfirmButton="false">
104
+        <u-modal showCancelButton showConfirmButton @confirm="confirmFollowUp" @cancel="followUpModelShow = false"
105
+            :show="followUpModelShow" :title="'填写跟进细节'">
102 106
             <view class="modal-content">
103 107
                 <u--textarea v-model="followUpNotes" placeholder="请输入情况" confirm-type="done"
104 108
                     style="width: 100%; margin-bottom: 30rpx;"></u--textarea>
105
-                <u-button type="primary" size="large" @click="confirmFollowUp">确认</u-button>
109
+                <!-- <u-button type="primary" size="large" @click="confirmFollowUp">确认</u-button> -->
106 110
             </view>
107 111
         </u-modal>
108 112
 
@@ -115,7 +119,7 @@
115 119
                 <view class="payment-info-section">
116 120
                     <view class="info-item">
117 121
                         <text class="info-label">收款姓名:</text>
118
-                        <text class="info-value">{{ paymentInfo.accountHolder || '未填写' }}</text>
122
+                        <text class="info-value">{{ paymentInfo.customName || '未填写' }}</text>
119 123
                     </view>
120 124
                     <view class="info-item">
121 125
                         <text class="info-label">开户银行:</text>
@@ -226,6 +230,13 @@ export default {
226 230
 
227 231
     methods: {
228 232
 
233
+        // 银行名称输入处理 - 只允许中文和英文
234
+        handleBankNameInput(value) {
235
+            console.log('银行名称输入处理', value)
236
+            //如果value包括数字则返回空字符串
237
+
238
+
239
+        },
229 240
 
230 241
 
231 242
 
@@ -355,6 +366,8 @@ export default {
355 366
 
356 367
         // 立即支付按钮点击事件
357 368
         async handlePayNowClick() {
369
+
370
+
358 371
             //保存
359 372
             await uni.$u.api.updateReceiptForm({
360 373
                 id: this.currentReceipt.id,
@@ -371,6 +384,16 @@ export default {
371 384
                 idCard: this.paymentInfo.idNumber || '',
372 385
             });
373 386
 
387
+            // 判断是否填写了支付信息
388
+            if (!this.paymentInfo.customName || !this.paymentInfo.bankName || !this.paymentInfo.bankAccount || !this.paymentInfo.idNumber) {
389
+                uni.$u.toast('请填写完整的支付信息');
390
+                return;
391
+            }
392
+            if (this.paymentAmount <= 0) {
393
+                uni.$u.toast('请填写正确的支付总额');
394
+                return;
395
+            }
396
+
374 397
             console.log('点击了立即支付按钮');
375 398
             this.payNowModelShow = true;
376 399
 
@@ -412,12 +435,13 @@ export default {
412 435
             });
413 436
 
414 437
             console.log('page3点击了下一步按钮', this.detailImages);
415
-            // this.$emit('handleNextClick', {
416
-            //     nowPage: 'formThree',
417
-            //     form: {
418
-            //         ...this.paymentInfo
419
-            //     }
420
-            // });
438
+
439
+            this.$emit('handleNextClick', {
440
+                nowPage: 'formThree',
441
+                form: {
442
+                    ...this.paymentInfo
443
+                }
444
+            });
421 445
         },
422 446
 
423 447
         // 确认未收按钮点击事件
@@ -691,7 +715,7 @@ export default {
691 715
     background-color: #f5f7fa;
692 716
     border: 2rpx solid #e5e7eb;
693 717
     border-radius: 12rpx;
694
-    padding: 24rpx 30rpx;
718
+    padding: 0rpx 30rpx;
695 719
     box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
696 720
     display: flex;
697 721
     align-items: center;
@@ -738,7 +762,7 @@ export default {
738 762
 .payment-button {
739 763
     flex: 1;
740 764
     border-radius: 12rpx;
741
-    padding: 24rpx 0;
765
+    padding: 5rpx 0;
742 766
     display: flex;
743 767
     flex-direction: column;
744 768
     align-items: center;
@@ -836,6 +860,18 @@ export default {
836 860
 .info-value {
837 861
     font-size: 28rpx;
838 862
     color: #333;
863
+}
839 864
 
865
+
866
+.next-btn {
867
+    position: fixed;
868
+    bottom: 10rpx;
869
+    left: 2.5%;
870
+    width: 95%;
871
+    height: 80rpx;
872
+    line-height: 80rpx;
873
+    text-align: center;
874
+    @include font-styles($size: medium, $weight: bold, $color: #fff);
875
+    border-radius: 0rpx 0rpx 20rpx 20rpx;
840 876
 }
841 877
 </style>

+ 16 - 1
pages/orderDetailNew/components/pageTwo.vue

@@ -122,7 +122,8 @@
122 122
             </view>
123 123
         </view>
124 124
 
125
-        <u-button @click="handleNextClick" type="primary" size="middle" style="border-radius: 20rpx;">下一步</u-button>
125
+        <u-button class='next-btn' @click="handleNextClick" type="primary" size="middle"
126
+            style="border-radius: 20rpx;">下一步</u-button>
126 127
     </view>
127 128
 </template>
128 129
 
@@ -1026,4 +1027,18 @@ u-checkbox {
1026 1027
 .price-input:focus {
1027 1028
     background-color: transparent;
1028 1029
 }
1030
+
1031
+
1032
+
1033
+.next-btn {
1034
+    position: fixed;
1035
+    bottom: 10rpx;
1036
+    left: 2.5%;
1037
+    width: 95%;
1038
+    height: 80rpx;
1039
+    line-height: 80rpx;
1040
+    text-align: center;
1041
+    @include font-styles($size: medium, $weight: bold, $color: #fff);
1042
+    border-radius: 0rpx 0rpx 20rpx 20rpx;
1043
+}
1029 1044
 </style>

+ 73 - 54
pages/orderForm/index.vue

@@ -19,11 +19,11 @@
19 19
 							<u--input v-model="form.model" placeholder="例如:CF小号" border="surround"></u--input>
20 20
 						</u-form-item>
21 21
 					</u-col>
22
-					 <u-col span="6">
23
-                        <u-form-item label="实价" prop="price">
22
+					<u-col span="6">
23
+						<u-form-item label="实价" prop="price">
24 24
 							<u--input v-model="form.price" placeholder="0.00" border="surround"></u--input>
25
-					</u-form-item>
26
-                    </u-col>
25
+						</u-form-item>
26
+					</u-col>
27 27
 				</u-row>
28 28
 
29 29
 				<u-row gutter="5" justify="space-between">
@@ -32,7 +32,7 @@
32 32
 							<u--input v-model="form.phone" placeholder="电话号" border="surround"></u--input>
33 33
 						</u-form-item>
34 34
 					</u-col>
35
-					 <u-col span="6">
35
+					<u-col span="6">
36 36
 						<u-form-item label="客户微信" prop="wechat">
37 37
 							<u--input v-model="form.wechat" placeholder="微信号" border="surround"></u--input>
38 38
 						</u-form-item>
@@ -44,11 +44,13 @@
44 44
 						<view>地址信息</view>
45 45
 					</view>
46 46
 					<u-form-item label="详细地址" prop="address" class='form_card'>
47
-						<pick-regions :defaultRegion="defaultRegion" @getRegion="handleGetRegion" clearable class="region-picker">
47
+						<pick-regions :defaultRegion="defaultRegion" @getRegion="handleGetRegion" clearable
48
+							class="region-picker">
48 49
 							<view>
49 50
 								<template v-if="form.province">
50
-									<u--input :value="form.province + '/' + form.city + '/' + form.area" placeholder="点击选择"
51
-										readonly suffixIcon="arrow-right" suffixIconStyle="color : #c0c4cc"></u--input>
51
+									<u--input :value="form.province + '/' + form.city + '/' + form.area"
52
+										placeholder="点击选择" readonly suffixIcon="arrow-right"
53
+										suffixIconStyle="color : #c0c4cc"></u--input>
52 54
 								</template>
53 55
 								<template v-else>
54 56
 									<u--input placeholder="点击选择" readonly suffixIcon="arrow-right"
@@ -57,7 +59,8 @@
57 59
 							</view>
58 60
 						</pick-regions>
59 61
 					</u-form-item>
60
-					<u--textarea v-model="form.address" placeholder="粘贴地址自动识别(例如:浙江省杭州市...)" confirmType="done" @blur="handleAddressBlur"></u--textarea>
62
+					<u--textarea v-model="form.address" placeholder="粘贴地址自动识别(例如:浙江省杭州市...)" confirmType="done"
63
+						@blur="handleAddressBlur"></u--textarea>
61 64
 				</view>
62 65
 				<u-form-item label="上门时间" prop="visitTime" class="visit_time_wrap">
63 66
 					<date-time-picker v-model="form.visitTime" :value-format="'YYYY-MM-DD HH:mm:ss'" :type="'datetime'">
@@ -86,7 +89,8 @@
86 89
 				</u-form-item>
87 90
 
88 91
 				<u-form-item label="备注信息" prop="remarks" class="remarks_wrap">
89
-					<u--textarea v-model="form.remarks" placeholder="填写线索来源、客户特殊要求等..." count confirmType="done"></u--textarea>
92
+					<u--textarea v-model="form.remarks" placeholder="填写线索来源、客户特殊要求等..." count
93
+						confirmType="done"></u--textarea>
90 94
 				</u-form-item>
91 95
 
92 96
 			</u--form>
@@ -145,7 +149,7 @@ export default {
145 149
 				address: '',
146 150
 				visitTime: '',
147 151
 				remarks: '',
148
-				category: '',
152
+				category: '1',
149 153
 				brand: '',
150 154
 				model: '',
151 155
 				price: '',
@@ -194,13 +198,13 @@ export default {
194 198
 				},
195 199
 				wechat: {
196 200
 					type: 'string',
197
-					required: true,
201
+					required: false,
198 202
 					message: '请输入客户微信',
199 203
 					trigger: ['blur', 'change']
200 204
 				},
201 205
 				phone: {
202 206
 					type: 'string',
203
-					required: true,
207
+					required: false,
204 208
 					message: '请输入联系电话',
205 209
 					trigger: ['blur', 'change']
206 210
 				},
@@ -260,17 +264,17 @@ export default {
260 264
 			this.form.province = provinceData.name;
261 265
 			this.form.city = cityData.name;
262 266
 			this.form.area = areaData.name;
263
-			
267
+
264 268
 			// 构建完整的地区信息
265 269
 			const regionText = this.form.province + this.form.city + this.form.area;
266
-			
270
+
267 271
 			// 检查当前地址内容是否为纯地区信息(没有具体街道等)
268
-			const isPureRegion = !this.form.address || 
269
-								this.form.address.trim() === '' ||
270
-								this.form.address.trim().includes(this.form.province) ||
271
-								this.form.address.trim().includes(this.form.city) ||
272
-								this.form.address.trim().includes(this.form.area);
273
-			
272
+			const isPureRegion = !this.form.address ||
273
+				this.form.address.trim() === '' ||
274
+				this.form.address.trim().includes(this.form.province) ||
275
+				this.form.address.trim().includes(this.form.city) ||
276
+				this.form.address.trim().includes(this.form.area);
277
+
274 278
 			// 如果是纯地区信息或者是空地址,则更新为选择的地区
275 279
 			if (isPureRegion) {
276 280
 				this.form.address = regionText;
@@ -435,90 +439,106 @@ export default {
435 439
 	padding: 10rpx;
436 440
 	/* 确保内容不会溢出 */
437 441
 	overflow: hidden;
438
-	.u-input--square{
442
+
443
+	.u-input--square {
439 444
 		border-radius: 20rpx;
440 445
 	}
446
+
441 447
 	.u-input--square:focus-within,
442 448
 	.u-input--square.u-input--focus {
443 449
 		border: 2rpx solid #2563eb !important;
444 450
 		background-color: #fff !important;
445 451
 	}
446 452
 }
447
-.brand_wrap{
448
-	::v-deep .u-form-item__body__right__content{
449
-		border:1px solid #dadbde;
450
-		padding:10rpx;
453
+
454
+.brand_wrap {
455
+	::v-deep .u-form-item__body__right__content {
456
+		border: 1px solid #dadbde;
457
+		padding: 10rpx;
451 458
 		border-radius: 20rpx;
452
-		.inputWrap{
453
-			border:none;
459
+
460
+		.inputWrap {
461
+			border: none;
454 462
 		}
455 463
 	}
456 464
 }
465
+
457 466
 .address_wrap {
458 467
 	border-radius: 20rpx;
459
-	padding:24rpx;
468
+	padding: 24rpx;
460 469
 	display: flex;
461 470
 	flex-direction: column;
462 471
 	background-color: #fff;
463 472
 	box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.05);
464 473
 	margin: 0 10rpx;
474
+
465 475
 	.address_title {
466 476
 		display: flex;
467 477
 		align-items: center;
468 478
 		background-color: #fff;
469 479
 		padding-bottom: 12rpx;
470
-		gap:16rpx;
471
-		font-size:26rpx;
480
+		gap: 16rpx;
481
+		font-size: 26rpx;
472 482
 		color: #6b7280;
473 483
 		font-weight: 600;
474 484
 	}
475
-	::v-deep .u-form-item{
476
-		margin-bottom:0 !important;
477
-		padding:0;
478
-		.u-input--square{
485
+
486
+	::v-deep .u-form-item {
487
+		margin-bottom: 0 !important;
488
+		padding: 0;
489
+
490
+		.u-input--square {
479 491
 			background-color: #f9fafb;
480 492
 		}
481 493
 	}
482
-	::v-deep .u-textarea--radius{
494
+
495
+	::v-deep .u-textarea--radius {
483 496
 		border-radius: 20rpx;
484 497
 	}
498
+
485 499
 	.region-picker {
486 500
 		width: 100%;
487 501
 	}
488
-	::v-deep .u-textarea{
502
+
503
+	::v-deep .u-textarea {
489 504
 		background-color: #f9fafb;
490 505
 	}
491 506
 }
492 507
 
493
-.visit_time_wrap{
494
-	::v-deep .uni-date-x{
508
+.visit_time_wrap {
509
+	::v-deep .uni-date-x {
495 510
 		border-radius: 10px;
496 511
 		padding: 8rpx 10rpx;
497
-		border:1px solid #dadbde;
512
+		border: 1px solid #dadbde;
498 513
 		background-color: #f8f9fa;
499 514
 	}
500 515
 }
501
-.category_wrap{
502
-	.category_select_wrap{
516
+
517
+.category_wrap {
518
+	.category_select_wrap {
503 519
 		border-radius: 20rpx;
504
-		border:1px solid #dadbde;
505
-		padding:6rpx;
506
-		width:100%;
507
-		::v-deep .ldSelectInput{
520
+		border: 1px solid #dadbde;
521
+		padding: 6rpx;
522
+		width: 100%;
523
+
524
+		::v-deep .ldSelectInput {
508 525
 			font-size: 28rpx !important;
509 526
 		}
510 527
 	}
528
+
511 529
 	.category_select_wrap:focus-within,
512 530
 	.category_select_wrap:focus {
513 531
 		border: 2rpx solid #2563eb !important;
514 532
 		background-color: #fff !important;
515 533
 	}
516 534
 }
517
-.remarks_wrap{
518
-	.u-textarea{
535
+
536
+.remarks_wrap {
537
+	.u-textarea {
519 538
 		background-color: #fff;
520 539
 	}
521
-	::v-deep .u-textarea--radius{
540
+
541
+	::v-deep .u-textarea--radius {
522 542
 		border-radius: 20rpx;
523 543
 	}
524 544
 }
@@ -536,9 +556,9 @@ export default {
536 556
 
537 557
 .u-button {
538 558
 	border-radius: 40rpx;
539
-	background-color:#2563eb;
540
-	border:none;
541
-	color:#fff;
559
+	background-color: #2563eb;
560
+	border: none;
561
+	color: #fff;
542 562
 	font-weight: 700;
543 563
 	font-size: 40rpx;
544 564
 	height: 100rpx;
@@ -596,8 +616,7 @@ export default {
596 616
 	opacity: 1;
597 617
 }
598 618
 
599
-.u-textarea{
619
+.u-textarea {
600 620
 	background-color: #f5f5f5;
601 621
 }
602
-
603 622
 </style>