Explorar el Código

Merge branch 'master' into develop

seimin hace 4 días
padre
commit
dd72727601

+ 20 - 3
components/bigScreen/bigScreen.vue

@@ -516,8 +516,15 @@
516 516
       },
517 517
       // 底部扫描
518 518
       Scanning(qrcodePrefix = '') {
519
-				// 标本码
520
-				// this.ScanningCommon('', '250529338897@_1');
519
+				// 起点科室-综合交接
520
+				// this.ScanningCommon('', '87bdf1c7-1514-4fa8-8fa4-07f37c06bec7');
521
+				// 起点科室-非综合交接
522
+				// this.ScanningCommon('', '5465456466546546565');
523
+				// 终点科室-综合交接
524
+				// this.ScanningCommon('', '7868686868688');
525
+				
526
+				// 发起中转配送
527
+				// this.ScanningCommon('', '05ae81fc-3f07-4b8a-bbcb-53c40ede7d3d');
521 528
 				
522 529
 				// 快捷建单-轮巡工单码
523 530
 				// this.ScanningCommon('', '3330ec8e-76eb-413e-b000-995f08d2ff96');
@@ -763,7 +770,17 @@
763 770
                           url: `/pages/medicalWaste/medicalWasteBind/medicalWasteBind?qrcode=${res.code}`,
764 771
                         });
765 772
                       }
766
-                    }
773
+											// 扫描中转交接码/终点科室-综合交接
774
+                    } else if(res.type == 'businessHandover'){
775
+                      uni.navigateTo({
776
+                        url: `/pages/transferConnect/transferConnect?data=${JSON.stringify(res)}`,
777
+                      });
778
+											// 扫描中转配送建单
779
+                    } else if(res.type == 'quickOrderBusinessHandover'){
780
+											uni.navigateTo({
781
+											  url: `/pages/transferDistribution/transferDistribution?data=${JSON.stringify(res)}`,
782
+											});
783
+										}
767 784
                   } else {
768 785
                     if(res.bigScanSpecialMsg){
769 786
                       uni.navigateTo({

+ 46 - 1
pages.json

@@ -818,7 +818,52 @@
818 818
         },
819 819
         "enablePullDownRefresh": true
820 820
       }
821
-    }
821
+    },
822
+		{
823
+		  "path": "pages/transferConnect/transferConnect",
824
+		  "style": {
825
+		    "h5": {
826
+		      "titleNView": false
827
+		    },
828
+		    "enablePullDownRefresh": false
829
+		  }
830
+		},
831
+		{
832
+		  "path": "pages/sponsorTask/sponsorTask",
833
+		  "style": {
834
+		    "h5": {
835
+		      "titleNView": false
836
+		    },
837
+		    "enablePullDownRefresh": false
838
+		  }
839
+		},
840
+		{
841
+		  "path": "pages/sponsorTaskBuild/sponsorTaskBuild",
842
+		  "style": {
843
+		    "h5": {
844
+		      "titleNView": false
845
+		    },
846
+		    "enablePullDownRefresh": false
847
+		  }
848
+		},
849
+		{
850
+		  "path": "pages/taskTypeSearch/taskTypeSearch",
851
+		  "style": {
852
+		    "h5": {
853
+		      "titleNView": false
854
+		    },
855
+		    "enablePullDownRefresh": false
856
+		  }
857
+		},
858
+		{
859
+		  "path": "pages/transferDistribution/transferDistribution",
860
+		  "style": {
861
+		    "h5": {
862
+		      "titleNView": false
863
+		    },
864
+		    "enablePullDownRefresh": false
865
+		  }
866
+		}
822 867
   ],
823 868
   "globalStyle": {
824 869
     "navigationBarTextStyle": "black",

+ 36 - 5
pages/otherCompleteOrder/otherCompleteOrder.vue

@@ -24,6 +24,12 @@
24 24
           </radio-group>
25 25
         </view>
26 26
       </view>
27
+			<view class="goWorkSelect history" v-if="digitalHandoverSwitch">
28
+			  <view class="goWorkSelect-head">请填写交接数量</view>
29
+			  <view class="goWorkSelect-list">
30
+					<input class="input-num" type="number" v-model="digitalNum">
31
+			  </view>
32
+			</view>
27 33
       <view class="goWorkSelect history" v-if="actionPhotoSwitch">
28 34
         <view class="goWorkSelect-head">您需要拍摄现场照片才可{{tips}}!</view>
29 35
         <view class="goWorkSelect-list">
@@ -70,6 +76,9 @@
70 76
         currentData: {}, //当前小扫描的工单对象
71 77
         orderId: undefined,
72 78
         order: {},
79
+				digitalNum:null,
80
+				// 数字交接
81
+				digitalHandoverSwitch: false,
73 82
         // 拍照动作开关
74 83
         actionPhotoSwitch: false,
75 84
         // 确认动作开关
@@ -88,7 +97,6 @@
88 97
       // 其他临床服务-运输过程-终点科室是否开通备注填写
89 98
       isOpenTransportationProcessRemarks(data, accountObj, funName){
90 99
         const tasktype = data.taskType;
91
-        console.log(tasktype, data);
92 100
         if(tasktype.associationType.value === 'other' && tasktype.carryingCourses[this.currentIndex].logSwitch && data.gdState.value == 5){
93 101
           uni.navigateTo({
94 102
             url: `../../pages/transportationProcessRemarks/transportationProcessRemarks?data=${data ? encodeURIComponent(JSON.stringify(data)) : ''}&accountObj=${accountObj ? encodeURIComponent(JSON.stringify(accountObj)) : ''}&currentCode=${this.currentCode}&funName=${funName}&actions=${this.actions ? encodeURIComponent(JSON.stringify(this.actions)) : ''}&imageValue=${this.imageValue ? encodeURIComponent(JSON.stringify(this.imageValue)) : ''}`
@@ -138,7 +146,6 @@
138 146
         }
139 147
         this.hosModels.disjunctor = false;
140 148
         let associationTypeValue = this.currentData.taskType.associationType.value;
141
-        console.log(associationTypeValue)
142 149
         if(this.actionPhotoSwitch && this.actionConfirmSwitch){
143 150
           this.isOpenTransportationProcessRemarks(this.currentData, data, 'uploadToOther');
144 151
         }else if(this.actionConfirmSwitch){
@@ -147,6 +154,9 @@
147 154
         }else if(this.actionPhotoSwitch){
148 155
           // 拍照
149 156
           this.isOpenTransportationProcessRemarks(this.currentData, data, 'uploadToOther');
157
+        }else if(this.digitalHandoverSwitch){
158
+          // 数字交接
159
+          this.isOpenTransportationProcessRemarks(this.currentData, data, 'nextDeptOrder_ss');
150 160
         }
151 161
       },
152 162
       // 填写交接人工号-取消
@@ -197,6 +207,15 @@
197 207
           });
198 208
           return;
199 209
         }
210
+				if(this.digitalHandoverSwitch && !this.digitalNum){
211
+				  uni.showToast({
212
+				    icon: "none",
213
+				  	title: '请填写交接数量',
214
+				  	duration: 2000
215
+				  });
216
+				  return;
217
+				}
218
+				
200 219
         uni.showLoading({
201 220
           title: "加载中",
202 221
           mask: true,
@@ -235,7 +254,10 @@
235 254
             }else if(this.actionPhotoSwitch){
236 255
               // 拍照
237 256
               this.isOpenTransportationProcessRemarks(data, accountObj, 'uploadToOther');
238
-            }
257
+            }else if(this.digitalHandoverSwitch){
258
+							// 数字交接
259
+							this.isOpenTransportationProcessRemarks(data, accountObj, 'nextDeptOrder_ss');
260
+						}
239 261
           } else if (result.state == '0000') {
240 262
             uni.hideLoading();
241 263
             this.showSelectAccount();
@@ -306,7 +328,7 @@
306 328
           value: i,
307 329
           name: v,
308 330
         }));
309
-        
331
+        this.digitalHandoverSwitch = options.taskType.carryingCourses[this.currentIndex].digitalHandover;
310 332
         this.actionPhotoSwitch = options.taskType.carryingCourses[this.currentIndex].actionPhotoSwitch;
311 333
         this.actionConfirmType = options.taskType.carryingCourses[this.currentIndex].actionConfirmType;
312 334
       }
@@ -431,7 +453,16 @@
431 453
 
432 454
         .goWorkSelect-list {
433 455
           padding: 16rpx;
434
-
456
+					
457
+					.input-num {
458
+					  height: 60rpx;
459
+					  border: 2rpx solid #E5E5E5;
460
+					  border-radius: 5rpx;
461
+					  // width: 100%;
462
+					  padding-left: 10rpx;
463
+					  // padding-right: 10rpx;
464
+					}
465
+					
435 466
           .goWorkSelect-item {
436 467
             height: 52rpx;
437 468
             display: flex;

+ 8 - 0
pages/receiptpage/receiptpage.vue

@@ -1741,6 +1741,10 @@
1741 1741
             this.content.push({
1742 1742
               text: "陪检闭环",
1743 1743
             });
1744
+          } else if (item.link === "sponsorTask") {
1745
+            this.content.push({
1746
+              text: "发起任务",
1747
+            });
1744 1748
           }
1745 1749
         });
1746 1750
       },
@@ -2213,6 +2217,10 @@
2213 2217
           uni.navigateTo({
2214 2218
             url: "/pages/patientInspectLog/patientInspectLogList",
2215 2219
           });
2220
+        } else if (e.item.text === "发起任务") {
2221
+          uni.navigateTo({
2222
+            url: "/pages/sponsorTask/sponsorTask",
2223
+          });
2216 2224
         }
2217 2225
       },
2218 2226
       //确定

+ 17 - 2
pages/scanning_all/scanning_all.vue

@@ -422,7 +422,7 @@
422 422
                 )}&model=${encodeURIComponent(JSON.stringify(res))}&accountObj=${encodeURIComponent(JSON.stringify(accountObj))}&deptId=${res.deptId}`,
423 423
                 });
424 424
               }
425
-            } else {
425
+            } else { //一键操作 走这里
426 426
               uni.navigateTo({
427 427
                 url: `../scanning_djEnd/scanning_djEnd?type=${
428 428
                 this.tabType
@@ -435,7 +435,22 @@
435 435
             }
436 436
           } else if (res.status == "0000") {
437 437
             this.showSelectAccount();
438
-          } else {
438
+          } else if (res.status == "2001") {
439
+						uni.navigateTo({
440
+						  url: `../otherCompleteOrder/otherCompleteOrder?orderId=${this.userId.ids[0]}&taskType=${res.workOrder.taskType ? encodeURIComponent(JSON.stringify(res.workOrder.taskType)) : ''}&order=${res.workOrder ? encodeURIComponent(JSON.stringify(res.workOrder)) : ''}`,
441
+						});
442
+          }else if (res.status == "2005") {
443
+            uni.showToast({
444
+              icon: "none",
445
+              title: res.info,
446
+            });
447
+						this.flag = true;
448
+						// setTimeout(_=>{
449
+						// 	uni.redirectTo({
450
+						// 		url:'/pages/receiptpage/receiptpage'
451
+						// 	})
452
+						// },1000)
453
+          }else {
439 454
             this.flag = true;
440 455
             uni.navigateTo({
441 456
               url: `../scanning_djEnd/scanning_djEnd?type=${this.tabType}&type1=${

+ 327 - 0
pages/sponsorTask/sponsorTask.vue

@@ -0,0 +1,327 @@
1
+<template>
2
+  <view class="HomeItem">
3
+    <view class="goWorkAll">
4
+			<view class="title">请选择要建单的任务类型</view>
5
+			<view class="goWorkSelect history">
6
+			  <view class="goWorkSelect-list" v-for="(item, i) in list" @click="itemClick(item)">
7
+					{{item.taskName}}
8
+				</view>
9
+			</view>
10
+    </view>
11
+    <view class="foot_btn_spe">
12
+      <view class="btn3" @click="goBack">返回</view>
13
+    </view>
14
+  </view>
15
+</template>
16
+
17
+<script>
18
+  import {
19
+    get,
20
+    post,
21
+    webHandle
22
+  } from "../../http/http.js";
23
+  export default {
24
+    data() {
25
+      return {
26
+				list:[],
27
+				hosId: uni.getStorageSync('userData').user.currentHospital.id,
28
+      };
29
+    },
30
+    methods: {
31
+      // 返回
32
+      goBack() {
33
+				uni.navigateTo({
34
+					url:'/pages/receiptpage/receiptpage'
35
+				})
36
+      },
37
+			itemClick(item){
38
+				uni.navigateTo({
39
+					url:'/pages/sponsorTaskBuild/sponsorTaskBuild?data=' + JSON.stringify(item)
40
+				})
41
+			},
42
+			getTaskType(){
43
+				uni.showLoading({
44
+				  title: "加载中",
45
+				  mask: true,
46
+				});
47
+				let postData= {
48
+					idx: 0,
49
+					sum: 9999,
50
+					taskType:{
51
+						hosIds: this.hosId,
52
+						simpleQuery: true
53
+					}
54
+				}
55
+				post("/configuration/fetchDataList/taskType", postData).then((res) => {
56
+					uni.hideLoading();
57
+				  if(res.status == 200){
58
+						let data = res.list.filter(i=>i.deliveryUserCreate && i.deliveryUserCreate==1)
59
+						this.list = data
60
+				  } else {
61
+				    uni.showToast({
62
+				      icon: "none",
63
+				      title: res.info || "接口获取数据失败!",
64
+				    });
65
+				  }
66
+				});
67
+			}
68
+    },
69
+    onLoad(options) {
70
+      this.getTaskType();
71
+      this.options = options;
72
+      if(options.order){
73
+        options.order = JSON.parse(options.order);
74
+        this.order = options.order;
75
+        if(this.order.gdState.value == 4){
76
+          this.currentIndex = 0;
77
+          this.tips = '确认到达';
78
+        }else if(this.order.gdState.value == 5){
79
+          this.currentIndex = 1;
80
+          this.tips = '完成工单';
81
+        }
82
+      }
83
+      if(options.orderId){
84
+        this.orderId = options.orderId;
85
+      }
86
+      if(options.taskType){
87
+        options.taskType = JSON.parse(options.taskType);
88
+        this.actionConfirmSwitch = options.taskType.carryingCourses[this.currentIndex].actionConfirmSwitch;
89
+        let actions = options.taskType.carryingCourses[this.currentIndex].actionRemarks || "";
90
+        this.actions = actions.split('$').map((v, i) => ({
91
+          value: i,
92
+          name: v,
93
+        }));
94
+        this.digitalHandoverSwitch = options.taskType.carryingCourses[this.currentIndex].digitalHandover;
95
+        this.actionPhotoSwitch = options.taskType.carryingCourses[this.currentIndex].actionPhotoSwitch;
96
+        this.actionConfirmType = options.taskType.carryingCourses[this.currentIndex].actionConfirmType;
97
+      }
98
+    },
99
+  };
100
+</script>
101
+
102
+<style lang="less" scoped>
103
+  .HomeItem {
104
+    .foot_btn_spe {
105
+      width: 100%;
106
+      position: fixed;
107
+      bottom: 30rpx;
108
+      left: 0;
109
+      line-height: 88rpx;
110
+      height: 88rpx;
111
+      text-align: center;
112
+      display: flex;
113
+      justify-content: space-between;
114
+      flex-wrap: wrap;
115
+    
116
+      &::after {
117
+        content: '';
118
+        flex: 1;
119
+      }
120
+    
121
+      view {
122
+        height: 88rpx;
123
+        width: 100%;
124
+        margin: 0 1%;
125
+        background-image: linear-gradient(to right, #72c172, #3bb197);
126
+        color: #fff;
127
+        border-radius: 8rpx;
128
+        font-size: 32rpx;
129
+        margin-top: 16rpx;
130
+      }
131
+    }
132
+
133
+    .login {
134
+      height: 420rpx;
135
+      padding: 0 32rpx;
136
+      padding-top: 164rpx;
137
+      position: relative;
138
+      z-index: 999;
139
+
140
+      .savePassword {
141
+        margin-top: 32rpx;
142
+      }
143
+
144
+      /deep/ uni-checkbox:not([disabled]) .uni-checkbox-input:hover {
145
+        border-color: #42b983 !important;
146
+      }
147
+
148
+      .login_input {
149
+        margin-top: 32rpx;
150
+        background-color: #ffffff;
151
+        height: 72rpx;
152
+        box-sizing: border-box;
153
+        padding: 16rpx;
154
+      }
155
+
156
+      .title {
157
+        font-size: 36rpx;
158
+        color: #42b983;
159
+        text-align: center;
160
+      }
161
+
162
+      .tips {
163
+        font-size: 28rpx;
164
+        color: red;
165
+        margin-top: 16rpx;
166
+      }
167
+
168
+      .page_item_btn {
169
+        height: 88rpx;
170
+        background-image: linear-gradient(to right, #72c172, #3bb197);
171
+        border-radius: 8rpx;
172
+        line-height: 88rpx;
173
+        color: #fff;
174
+        font-size: 36rpx;
175
+        font-weight: 700;
176
+        margin-top: 64rpx;
177
+        text-align: center;
178
+      }
179
+    }
180
+
181
+    //上班页面
182
+    .goWorkAll {
183
+      overflow-y: auto;
184
+      display: flex;
185
+      flex-direction: column;
186
+      justify-content: space-between;
187
+
188
+      /deep/ .uni-radio-input-checked {
189
+        background-color: #42b983 !important;
190
+        border-color: #42b983 !important;
191
+      }
192
+      /deep/ .uni-checkbox-input-checked {
193
+        color: #42b983 !important;
194
+      }
195
+			
196
+			.title{
197
+				text-align: center;
198
+				color: #64BD7B;
199
+				line-height: 80rpx;
200
+				border-bottom: 1rpx solid #E5E5E5;
201
+				position: absolute;
202
+				top: 0;
203
+				width: 100%;
204
+				height: 80rpx;
205
+				background: #fff;
206
+			}
207
+			
208
+      .goWorkSelect {
209
+        &.history {
210
+          height: 81vh;
211
+          overflow-y: auto;
212
+          margin-top: 80rpx;
213
+          padding-bottom: 16rpx;
214
+        }
215
+
216
+        &.combination {
217
+          .goWorkSelect-head {}
218
+
219
+          .goWorkSelect-list {}
220
+        }
221
+
222
+        .goWorkSelect-head {
223
+          font-size: 28rpx;
224
+          line-height: 80rpx;
225
+          border-bottom: 2rpx solid #E5E5E5;
226
+          text-align: center;
227
+        }
228
+
229
+        .goWorkSelect-list {
230
+          text-align: center;
231
+					line-height: 80rpx;
232
+					border-bottom: 1rpx solid #E5E5E5;
233
+					
234
+					.input-num {
235
+					  height: 60rpx;
236
+					  border: 2rpx solid #E5E5E5;
237
+					  border-radius: 5rpx;
238
+					  // width: 100%;
239
+					  padding-left: 10rpx;
240
+					  // padding-right: 10rpx;
241
+					}
242
+					
243
+          .goWorkSelect-item {
244
+            height: 52rpx;
245
+            display: flex;
246
+            align-items: center;
247
+            border-bottom: 2rpx solid #e5e9ed;
248
+            padding: 16rpx;
249
+
250
+            &.relative {
251
+              position: relative;
252
+
253
+              .picker {
254
+                position: absolute;
255
+                width: 100%;
256
+                padding-left: 64rpx;
257
+              }
258
+            }
259
+
260
+            button {
261
+              font-size: 32rpx;
262
+              height: 52rpx;
263
+              line-height: 52rpx;
264
+              margin: 0;
265
+              margin-left: 16rpx;
266
+              color: rgb(7, 134, 60);
267
+              font-weight: 700;
268
+            }
269
+          }
270
+        }
271
+      }
272
+    }
273
+
274
+    .goWork {
275
+      margin: 0 auto 48rpx;
276
+      width: 240rpx;
277
+      height: 240rpx;
278
+
279
+      .goWork_btn_E {
280
+        width: 100%;
281
+        height: 100%;
282
+        background: #bee1a7;
283
+        border-radius: 30%;
284
+
285
+        .goWork_btn_W {
286
+          width: 75%;
287
+          height: 75%;
288
+          background-image: linear-gradient(to right, #72c172, #3bb197);
289
+          border-radius: 30%;
290
+          margin: 0 auto;
291
+          position: relative;
292
+          top: 12.5%;
293
+          line-height: 180rpx;
294
+          color: #fff;
295
+          font-size: 36rpx;
296
+          text-align: center;
297
+        }
298
+      }
299
+    }
300
+
301
+    .goWork_text {
302
+      width: 100%;
303
+
304
+      view {
305
+        text-align: center;
306
+      }
307
+
308
+      .goWork_text-p {
309
+        font-size: 36rpx;
310
+        margin-bottom: 48rpx;
311
+      }
312
+    }
313
+
314
+    .botImg {
315
+      height: 600rpx;
316
+      width: 100%;
317
+      position: fixed;
318
+      bottom: 0;
319
+
320
+      .img {
321
+        height: 100%;
322
+        background: url("../../static/img/BG.png") no-repeat center center;
323
+        background-size: 100% 100%;
324
+      }
325
+    }
326
+  }
327
+</style>

+ 655 - 0
pages/sponsorTaskBuild/sponsorTaskBuild.vue

@@ -0,0 +1,655 @@
1
+<template>
2
+  <view class="HomeItem">
3
+    <view class="goWorkAll">
4
+			<view class="title">{{taskName}}</view>
5
+			<view class="goWorkSelect history">
6
+			  <view class="goWorkSelect-list">
7
+					<view class="list-title">申请科室:</view>
8
+					<view @click="searchDept('applyDept')" :class="applyDeptId ? 'black' : 'gray'">
9
+						{{applyDept}}
10
+					</view>
11
+					<text class="right-icon newicon newicon-weibiaoti2010104" @click="searchDept('applyDept')"></text>
12
+					<text class="toolbar-icon newicon newicon-saoma" @click="scan()"></text>
13
+				</view>
14
+				<view class="goWorkSelect-list">
15
+					<view class="list-title">起点科室:</view>
16
+					<view @click="searchDept('startDept')" :class="startDeptId ? 'black' : 'gray'">
17
+						{{startDept}}
18
+					</view>
19
+					<text v-if="startTarget==202 || startTarget==204 || startTarget==205" class="right-icon newicon newicon-weibiaoti2010104" @click="searchDept('startDept')"></text>
20
+				</view>
21
+				<view class="goWorkSelect-list">
22
+					<view class="list-title">终点科室:</view>
23
+					<view @click="searchDept('endDept')" :class="endDeptId ? 'black' : 'gray'">
24
+						{{endDept}}
25
+					</view>
26
+					<text v-if="endTarget==202 || endTarget==204 || endTarget==205" class="right-icon newicon newicon-weibiaoti2010104" @click="searchDept('endDept')"></text>
27
+				</view>
28
+				<view class="goWorkSelect-list besides" v-if="remarksSwitch==1">
29
+					<view class="list-title">备注信息:</view>
30
+					<textarea v-model="remark" :placeholder="remarksPrompts"/>
31
+				</view>
32
+			</view>
33
+    </view>
34
+    <view class="foot_btn_spe">
35
+			<view class="btn3" @click="submit">建单</view>
36
+      <view class="btn3" @click="goBack">返回</view>
37
+    </view>
38
+		
39
+		<uni-popup ref="alertDialog" type="dialog" :mask-click="false">
40
+			<uni-popup-dialog type="info" cancelText="取消" confirmText="确定" title="提示" :content="content" @confirm="dialogConfirm"
41
+				@close="dialogClose"></uni-popup-dialog>
42
+		</uni-popup>
43
+  </view>
44
+</template>
45
+
46
+<script>
47
+  import {
48
+    get,
49
+    post,
50
+    webHandle,
51
+		SM
52
+  } from "../../http/http.js";
53
+	
54
+  export default {
55
+    data() {
56
+      return {
57
+				list:[],
58
+				hosId: uni.getStorageSync('userData').user.currentHospital.id,
59
+				SMFlag:true,
60
+				applyDept:"请选择申请科室",
61
+				applyDeptId:null,
62
+				startDept:"请选择起点科室",
63
+				startDeptId:null,
64
+				endDept:"请选择终点科室",
65
+				endDeptId:null,
66
+				remark:null,
67
+				itemTaskType:null,
68
+				remarksSwitch:null,
69
+				remarksPrompts:null,
70
+				startTarget:null,
71
+				endTarget:null,
72
+				taskTypeData:null, //点击的任务类型数据
73
+				taskTypeId: null,
74
+				content:null,
75
+				tipsCreateOder:null
76
+      };
77
+    },
78
+    methods: {
79
+			// 清空缓存
80
+			setSess(){
81
+				uni.setStorageSync('applyDept', null)
82
+				uni.setStorageSync('taskStartDept', null)
83
+				uni.setStorageSync('taskEndDept', null)
84
+				uni.setStorageSync('sponsorTaskBuildData', null)
85
+			},
86
+      // 返回
87
+      goBack() {
88
+				this.setSess();
89
+				uni.navigateTo({
90
+					url:'/pages/sponsorTask/sponsorTask'
91
+				})
92
+      },
93
+			// 建单
94
+			submit(){
95
+				if(!this.applyDeptId){
96
+					uni.showToast({
97
+					  icon: 'none',
98
+					  title: '申请科室不能为空'
99
+					});
100
+					return
101
+				}
102
+				if(!this.startDeptId){
103
+					uni.showToast({
104
+					  icon: 'none',
105
+					  title: '起点科室不能为空'
106
+					});
107
+					return
108
+				}
109
+				if(!this.endDeptId){
110
+					uni.showToast({
111
+					  icon: 'none',
112
+					  title: '终点科室不能为空'
113
+					});
114
+					return
115
+				}
116
+				this.content = `您将前往【${this.startDept}】执行【${this.taskName}】,送往【${this.endDept}】,确定建单吗?`
117
+				this.$refs.alertDialog.open()
118
+			},
119
+			
120
+			// 确定中转
121
+			dialogConfirm(){
122
+				uni.showLoading({
123
+				  title: "加载中",
124
+				  mask: true,
125
+				});
126
+				let data = {
127
+					workOrder:{
128
+						tipsCreateOder: null,
129
+						worker:{
130
+							id: uni.getStorageSync('userData').user.id
131
+						},
132
+						createDept: this.applyDeptId,
133
+						startDept:{
134
+							id: this.startDeptId
135
+						},
136
+						endDepts:{
137
+							id: this.endDeptId
138
+						},
139
+						sourceId: 4,
140
+						workOrderRemark: this.remark,
141
+						taskType:{
142
+							id : this.taskTypeId
143
+						}
144
+					}
145
+				}
146
+				if(this.tipsCreateOder == 1){
147
+					data.tipsCreateOder = 1
148
+				}else{
149
+					data.tipsCreateOder = undefined
150
+				}
151
+				post("/api/startOrder", data).then((res2) => {
152
+				  uni.hideLoading();
153
+				  if (res2.status == 200) {
154
+						this.tipsCreateOder = null
155
+						uni.showToast({
156
+						  icon: 'none',
157
+						  title: '操作成功'
158
+						});
159
+						this.setSess()
160
+						setTimeout(_=>{
161
+							uni.redirectTo({
162
+								url:'/pages/receiptpage/receiptpage'
163
+							})
164
+						},1500)
165
+				  } else if(res2.status == 1000033){
166
+						this.tipsCreateOder = 1
167
+						this.content = res2.msg
168
+						this.$refs.alertDialog.close()
169
+						setTimeout(_=>{
170
+							this.$refs.alertDialog.open()
171
+						},500)
172
+				  } else {
173
+						uni.showToast({
174
+						  icon: 'none',
175
+						  title: res2.msg || '请求数据失败!'
176
+						});
177
+					}
178
+				});
179
+			},
180
+			// 取消
181
+			dialogClose(){
182
+				this.tipsCreateOder = null
183
+				this.$refs.alertDialog.close()
184
+			},
185
+			// 搜索科室
186
+			searchDept(type){
187
+				if(type=='startDept'){
188
+					if(this.startTarget==201 || this.startTarget==203){
189
+						return
190
+					}
191
+				}
192
+				if(type=='endDept'){
193
+					if(this.endTarget==201 || this.endTarget==203){
194
+						return
195
+					}
196
+				}
197
+				let data = {
198
+					applyDept:this.applyDept,
199
+					applyDeptId:this.applyDeptId,
200
+					startDept:this.startDept,
201
+					startDeptId:this.startDeptId,
202
+					endDept:this.endDept,
203
+					endDeptId:this.endDeptId,
204
+					remark:this.remark
205
+				}
206
+				uni.setStorageSync('sponsorTaskBuildData', JSON.stringify(data))
207
+				uni.navigateTo({
208
+				  url: `../taskTypeSearch/taskTypeSearch?type=${type}&startTarget=${this.startTarget}&endTarget=${this.endTarget}&taskTypeData=${JSON.stringify(this.taskTypeData)}&taskTypeId=${this.taskTypeId}&taskName=${this.taskName}`
209
+				});
210
+			},
211
+			// 扫描科室
212
+			scan(){
213
+				if (!this.SMFlag) {
214
+				  return;
215
+				}
216
+				this.SMFlag = false;
217
+				// let content = '87bdf1c7-1514-4fa8-8fa4-07f37c06bec7'
218
+				SM().then((content) => {
219
+					uni.showLoading({
220
+					  title: "加载中",
221
+					  mask: true,
222
+					});
223
+					let data = {
224
+						getDeptInfo: true,
225
+						content: content
226
+					}
227
+					post("/dept/scanning" , data).then((res2) => {
228
+						this.SMFlag = true;
229
+					  uni.hideLoading();
230
+					  if (res2.state == 200) {
231
+							this.applyDept = res2.data.dept
232
+							this.applyDeptId = res2.data.id
233
+							if(this.startTarget==201){
234
+								this.startDept = res2.data.dept
235
+								this.startDeptId = res2.data.id
236
+							}
237
+							if(this.endTarget==201){
238
+								this.endDept = res2.data.dept
239
+								this.endDeptId = res2.data.id
240
+							}
241
+					  } else {
242
+					    uni.showToast({
243
+					      icon: 'none',
244
+					      title: res2.msg || '请求数据失败!'
245
+					    });
246
+					  }
247
+					});
248
+				}).catch(err => {
249
+				  this.SMFlag = true;
250
+				});
251
+			},
252
+			getTaskType(id){
253
+				uni.showLoading({
254
+				  title: "加载中",
255
+				  mask: true,
256
+				});
257
+				let postData= {
258
+					taskTypeId: id
259
+				}
260
+				post("/ser/getdeptList", postData).then((res) => {
261
+					uni.hideLoading();
262
+				  this.taskTypeData = res
263
+					this.startTarget = this.taskTypeData.startStatus
264
+					this.endTarget = this.taskTypeData.endStatus
265
+					if(this.startTarget==203){
266
+						this.startDept = this.taskTypeData.startDept[0].dept
267
+						this.startDeptId = this.taskTypeData.startDept[0].id
268
+					}
269
+					if(this.endTarget==203){
270
+						this.endDept = this.taskTypeData.endDept[0].dept
271
+						this.endDeptId = this.taskTypeData.endDept[0].id
272
+					}
273
+					this.remarksSwitch = this.taskTypeData.taskType.remarksSwitch
274
+					this.remarksPrompts = this.taskTypeData.taskType.remarksPrompts
275
+				});
276
+			}
277
+    },
278
+		onUnload(){
279
+			this.setSess();
280
+		},
281
+		onShow(options){
282
+			
283
+		},
284
+    onLoad(options) {
285
+			console.log(111, options)
286
+			let sponsorTaskBuildData = uni.getStorageSync('sponsorTaskBuildData')
287
+			let applyDept = uni.getStorageSync('applyDept')
288
+			let taskStartDept = uni.getStorageSync('taskStartDept')
289
+			let taskEndDept = uni.getStorageSync('taskEndDept')
290
+			if(applyDept){
291
+				// 科室类型:201:默认发起科室
292
+				// 科室类型:202:固定科室范围
293
+				// 科室类型:203:固定科室
294
+				// 科室类型:204:自主填写
295
+				// 科室类型:205:固定科室类型
296
+				let data = JSON.parse(applyDept)
297
+				this.applyDept = data.dept
298
+				this.applyDeptId = data.id
299
+				if(options.startTarget){
300
+					this.startTarget = options.startTarget
301
+				}
302
+				if(options.endTarget){
303
+					this.endTarget = options.endTarget
304
+				}
305
+				console.log(456, this.startTarget)
306
+				if(this.startTarget==201){
307
+					this.startDept = data.dept
308
+					this.startDeptId = data.id
309
+				}
310
+				if(this.endTarget==201){
311
+					this.endDept = data.dept
312
+					this.endDeptId = data.id
313
+				}
314
+			}
315
+			 if (taskStartDept){
316
+				 let data = JSON.parse(taskStartDept)
317
+				 if(this.startTarget!=201){
318
+					 this.startDept = data.dept
319
+					 this.startDeptId = data.id
320
+				 }
321
+			}
322
+			 if (taskEndDept){
323
+				 let data = JSON.parse(taskEndDept)
324
+				 if(this.endTarget!=201){
325
+						this.endDept = data.dept
326
+						this.endDeptId = data.id
327
+				 }
328
+			}
329
+			// 之前有填写过数据-回显
330
+			if(sponsorTaskBuildData){
331
+				let data = JSON.parse(sponsorTaskBuildData)
332
+				console.log(777, data)
333
+				if(!applyDept){
334
+					if(data.applyDept){
335
+						this.applyDept = data.applyDept
336
+						this.applyDeptId = data.applyDeptId
337
+					}
338
+				}
339
+				
340
+				if(!taskStartDept){
341
+					if(data.startDept && this.startTarget!=201){
342
+						this.startDept = data.startDept
343
+						this.startDeptId = data.startDeptId
344
+					}
345
+				}
346
+				
347
+				if(!taskEndDept){
348
+					if(data.endDept && this.endTarget!=201){
349
+						this.endDept = data.endDept 
350
+						this.endDeptId = data.endDeptId 
351
+					}
352
+				}
353
+
354
+				if(data.remark){
355
+					this.remark = data.remark
356
+				}
357
+			}
358
+			
359
+      if(options.data){
360
+        options.data = JSON.parse(options.data);
361
+				this.getTaskType(options.data.id);
362
+				this.taskTypeId = options.data.id;
363
+				this.taskName = options.data.taskName;
364
+			}
365
+			
366
+			if(options.taskTypeId){
367
+				this.taskTypeId = options.taskTypeId;
368
+				this.taskName = options.taskName;
369
+				this.getTaskType(options.taskTypeId);
370
+			}
371
+    },
372
+  };
373
+</script>
374
+
375
+<style scoped>
376
+	/deep/ .uni-textarea-wrapper{
377
+	border: 1rpx solid #E5E5E5;
378
+	padding-left: 6rpx;
379
+}
380
+/deep/ .uni-textarea-placeholder{
381
+	padding: 6rpx;
382
+}
383
+/deep/ .uni-button-color{
384
+	color: #64BD7B;
385
+}
386
+</style>
387
+<style lang="less" scoped>
388
+	.black{
389
+		color: #000;
390
+		width: 400rpx;
391
+		// overflow:hidden;/*内容超出后隐藏*/
392
+		// text-overflow:ellipsis;/*超出内容显示为省略号*/
393
+		// white-space:nowrap;
394
+	}
395
+	.gray{
396
+		color: #7b7b7b;
397
+		width: 400rpx;
398
+		// overflow:hidden;/*内容超出后隐藏*/
399
+		// text-overflow:ellipsis;/*超出内容显示为省略号*/
400
+		// white-space:nowrap;
401
+	}
402
+  .HomeItem {
403
+    .foot_btn_spe {
404
+      width: 100%;
405
+      position: fixed;
406
+      bottom: 30rpx;
407
+      left: 0;
408
+      line-height: 88rpx;
409
+      height: 88rpx;
410
+      text-align: center;
411
+      display: flex;
412
+      justify-content: space-between;
413
+      flex-wrap: wrap;
414
+    
415
+      &::after {
416
+        content: '';
417
+        flex: 1;
418
+      }
419
+    
420
+      view {
421
+        height: 88rpx;
422
+        width: 48%;
423
+        margin: 0 1%;
424
+        background-image: linear-gradient(to right, #72c172, #3bb197);
425
+        color: #fff;
426
+        border-radius: 8rpx;
427
+        font-size: 32rpx;
428
+        margin-top: 16rpx;
429
+      }
430
+    }
431
+
432
+    .login {
433
+      height: 420rpx;
434
+      padding: 0 32rpx;
435
+      padding-top: 164rpx;
436
+      position: relative;
437
+      z-index: 999;
438
+
439
+      .savePassword {
440
+        margin-top: 32rpx;
441
+      }
442
+
443
+      /deep/ uni-checkbox:not([disabled]) .uni-checkbox-input:hover {
444
+        border-color: #42b983 !important;
445
+      }
446
+
447
+      .login_input {
448
+        margin-top: 32rpx;
449
+        background-color: #ffffff;
450
+        height: 72rpx;
451
+        box-sizing: border-box;
452
+        padding: 16rpx;
453
+      }
454
+
455
+      .title {
456
+        font-size: 36rpx;
457
+        color: #42b983;
458
+        text-align: center;
459
+      }
460
+
461
+      .tips {
462
+        font-size: 28rpx;
463
+        color: red;
464
+        margin-top: 16rpx;
465
+      }
466
+
467
+      .page_item_btn {
468
+        height: 88rpx;
469
+        background-image: linear-gradient(to right, #72c172, #3bb197);
470
+        border-radius: 8rpx;
471
+        line-height: 88rpx;
472
+        color: #fff;
473
+        font-size: 36rpx;
474
+        font-weight: 700;
475
+        margin-top: 64rpx;
476
+        text-align: center;
477
+      }
478
+    }
479
+
480
+    //上班页面
481
+    .goWorkAll {
482
+      overflow-y: auto;
483
+      display: flex;
484
+      flex-direction: column;
485
+      justify-content: space-between;
486
+
487
+      /deep/ .uni-radio-input-checked {
488
+        background-color: #42b983 !important;
489
+        border-color: #42b983 !important;
490
+      }
491
+      /deep/ .uni-checkbox-input-checked {
492
+        color: #42b983 !important;
493
+      }
494
+			
495
+			.title{
496
+				text-align: center;
497
+				color: #64BD7B;
498
+				line-height: 80rpx;
499
+				border-bottom: 1rpx solid #E5E5E5;
500
+			}
501
+			
502
+      .goWorkSelect {
503
+        &.history {
504
+          padding-bottom: 16rpx;
505
+        }
506
+
507
+        &.combination {
508
+          .goWorkSelect-head {}
509
+
510
+          .goWorkSelect-list {}
511
+        }
512
+
513
+        .goWorkSelect-head {
514
+          font-size: 28rpx;
515
+          line-height: 80rpx;
516
+          border-bottom: 2rpx solid #E5E5E5;
517
+          text-align: center;
518
+        }
519
+				
520
+				.besides{
521
+					align-items: start !important;
522
+				}
523
+				
524
+        .goWorkSelect-list {
525
+					display: flex;
526
+					flex-wrap: nowrap;
527
+					align-items: center;
528
+					padding: 20rpx;
529
+					border-bottom: 1rpx solid #E5E5E5;
530
+					position: relative;
531
+					
532
+					.list-title{
533
+						width: 180rpx;
534
+					}
535
+					
536
+					.input-sign{
537
+						user-select: none; 
538
+						pointer-events: none;
539
+					}
540
+					
541
+					.right-icon{
542
+						font-size: 38rpx !important;
543
+						margin: 0 40rpx 0 10rpx;
544
+						position: relative;
545
+						top: -2rpx;
546
+					}
547
+					
548
+					.toolbar-icon{
549
+						position: absolute;
550
+						right: 20rpx;
551
+					}
552
+					
553
+					.newicon{
554
+						font-size: 32rpx;
555
+						color: #b8b8b8;
556
+					}
557
+					
558
+					.input-num {
559
+					  height: 60rpx;
560
+					  border: 2rpx solid #E5E5E5;
561
+					  border-radius: 5rpx;
562
+					  // width: 100%;
563
+					  padding-left: 10rpx;
564
+					  // padding-right: 10rpx;
565
+					}
566
+					
567
+          .goWorkSelect-item {
568
+            height: 52rpx;
569
+            display: flex;
570
+            align-items: center;
571
+            border-bottom: 2rpx solid #e5e9ed;
572
+            padding: 16rpx;
573
+
574
+            &.relative {
575
+              position: relative;
576
+
577
+              .picker {
578
+                position: absolute;
579
+                width: 100%;
580
+                padding-left: 64rpx;
581
+              }
582
+            }
583
+
584
+            button {
585
+              font-size: 32rpx;
586
+              height: 52rpx;
587
+              line-height: 52rpx;
588
+              margin: 0;
589
+              margin-left: 16rpx;
590
+              color: rgb(7, 134, 60);
591
+              font-weight: 700;
592
+            }
593
+          }
594
+        }
595
+				
596
+				.goWorkSelect-list:last-child {
597
+					border-bottom: none;
598
+				}
599
+      }
600
+    }
601
+
602
+    .goWork {
603
+      margin: 0 auto 48rpx;
604
+      width: 240rpx;
605
+      height: 240rpx;
606
+
607
+      .goWork_btn_E {
608
+        width: 100%;
609
+        height: 100%;
610
+        background: #bee1a7;
611
+        border-radius: 30%;
612
+
613
+        .goWork_btn_W {
614
+          width: 75%;
615
+          height: 75%;
616
+          background-image: linear-gradient(to right, #72c172, #3bb197);
617
+          border-radius: 30%;
618
+          margin: 0 auto;
619
+          position: relative;
620
+          top: 12.5%;
621
+          line-height: 180rpx;
622
+          color: #fff;
623
+          font-size: 36rpx;
624
+          text-align: center;
625
+        }
626
+      }
627
+    }
628
+
629
+    .goWork_text {
630
+      width: 100%;
631
+
632
+      view {
633
+        text-align: center;
634
+      }
635
+
636
+      .goWork_text-p {
637
+        font-size: 36rpx;
638
+        margin-bottom: 48rpx;
639
+      }
640
+    }
641
+
642
+    .botImg {
643
+      height: 600rpx;
644
+      width: 100%;
645
+      position: fixed;
646
+      bottom: 0;
647
+
648
+      .img {
649
+        height: 100%;
650
+        background: url("../../static/img/BG.png") no-repeat center center;
651
+        background-size: 100% 100%;
652
+      }
653
+    }
654
+  }
655
+</style>

+ 429 - 0
pages/taskTypeSearch/taskTypeSearch.vue

@@ -0,0 +1,429 @@
1
+<template>
2
+	<view class="content">
3
+		<view class="search-keyword">
4
+			<view class="padding">
5
+				<uni-easyinput prefixIcon="search" v-model="key" :clearable="false" placeholder="请输入" @input="searchKey">
6
+				</uni-easyinput>
7
+			</view>
8
+			<scroll-view class="keyword-list-box" scroll-y>
9
+				<label v-for="(row, index) in dataList" :key="row.id" @click="itemClick(row)"
10
+					>
11
+					<view class="keyword-entry" :class="selectId == row.id ? 'selectStyle' : ''">
12
+						<view class="keyword-text">
13
+							{{row.dept}}
14
+						</view>
15
+					</view>
16
+				</label>
17
+			</scroll-view>
18
+		</view>
19
+		<view class="toolbar">
20
+			<view class="btn cancel" @click="determine('back')" hover-class="seimin-btn-hover">
21
+				取消
22
+			</view>
23
+			<view class="btn affirm" @click="determine('submit')" hover-class="seimin-btn-hover">
24
+				确定
25
+			</view>
26
+		</view>
27
+	</view>
28
+</template>
29
+
30
+<script>
31
+	import {
32
+		post,
33
+		webHandle
34
+	} from "../../http/http.js";
35
+	import debounce from 'lodash-es/debounce'
36
+	export default {
37
+		data() {
38
+			return {
39
+				key:null,
40
+				type: "", //进入该页面的类型
41
+				hosId: "",
42
+				dataList: [],
43
+				selectData: [],
44
+				allData:[],
45
+				gdId:null,
46
+				startTarget:null,
47
+				endTarget:null,
48
+				selectId:null,
49
+				taskTypeData:null,
50
+				taskTypeId:null,
51
+				taskName:null
52
+			};
53
+		},
54
+		onLoad(options) {
55
+			this.hosId = uni.getStorageSync("userData").user.currentHospital.id;
56
+			this.taskTypeData = JSON.parse(options.taskTypeData)
57
+			console.log(this.options, '777');
58
+			console.log(this.taskTypeData, '123');
59
+			this.taskTypeId = options.taskTypeId
60
+			this.taskName = options.taskName
61
+			this.type = options.type
62
+			// 科室类型:201:默认发起科室
63
+			// 科室类型:202:固定科室范围
64
+			// 科室类型:203:固定科室
65
+			// 科室类型:204:自主填写
66
+			// 科室类型:205:固定科室类型
67
+			this.startTarget = this.taskTypeData.startStatus
68
+			this.endTarget = this.taskTypeData.endStatus
69
+			this.gdId = options.id
70
+			if(options.type=='applyDept'){
71
+				this.getapplyDept()
72
+			}else if (options.type=='startDept'){
73
+				this.getStartDept()
74
+			}else if (options.type=='endDept'){
75
+				this.getEndDept()
76
+			}
77
+		},
78
+		methods: {
79
+			searchKey(e){
80
+				if(this.type=='applyDept'){
81
+					this.handleSearch1()
82
+				}else if (this.type=='startDept'){
83
+					this.handleSearch2()
84
+				}else if (this.type=='endDept'){
85
+					this.handleSearch3()
86
+				}
87
+			},
88
+			handleSearch1: debounce(function() {
89
+			  this.getapplyDept();
90
+			}, 500),
91
+			handleSearch2: debounce(function() {
92
+			  this.getStartDept();
93
+			}, 500),
94
+			handleSearch3: debounce(function() {
95
+			  this.getEndDept();
96
+			}, 500),
97
+			//获取申请科室
98
+			getapplyDept() {
99
+				let postData = {
100
+					idx: 0,
101
+					sum: 20,
102
+					department:{
103
+						searchType: 1,
104
+						hospital: {
105
+							id: this.hosId
106
+						},
107
+						dept: this.key
108
+					}
109
+				}
110
+				post("/simple/data/fetchDataList/department", postData).then((res) => {
111
+					this.dataList = res.list
112
+				})
113
+			},
114
+			//获取起点科室
115
+			getStartDept() {
116
+				// 科室类型:201:默认发起科室
117
+				// 科室类型:202:固定科室范围
118
+				// 科室类型:203:固定科室
119
+				// 科室类型:204:自主填写
120
+				// 科室类型:205:固定科室类型
121
+				if(this.startTarget == 204 || this.startTarget== 205){
122
+					let postData = {
123
+						idx: 0,
124
+						sum: 20,
125
+						department:{
126
+							searchType: 1,
127
+							cascadeHosId: this.hosId,
128
+							type:{
129
+								id: null
130
+							},
131
+							dept: this.key
132
+						}
133
+					}
134
+					if(this.startTarget == 204){
135
+						delete postData.department.type
136
+					}else{
137
+						postData.department.type.id = this.taskTypeData.startTypeId
138
+					}
139
+					post("/simple/data/fetchDataList/department", postData).then((res) => {
140
+						this.dataList = res.list
141
+					})
142
+				}else if(this.startTarget== 202){
143
+					if(this.key){
144
+						this.dataList = this.taskTypeData.startDept.filter(i=>i.dept.indexOf(this.key)!=-1)
145
+					}else{
146
+						this.dataList = this.taskTypeData.startDept
147
+					}
148
+				}else{
149
+					this.dataList = this.taskTypeData.startDept
150
+				}
151
+			},
152
+			// 获取终点科室
153
+			getEndDept(){
154
+				// 科室类型:201:默认发起科室
155
+				// 科室类型:202:固定科室范围
156
+				// 科室类型:203:固定科室
157
+				// 科室类型:204:自主填写
158
+				// 科室类型:205:固定科室类型
159
+				if(this.endTarget == 204 || this.endTarget== 205){
160
+					let postData = {
161
+						idx: 0,
162
+						sum: 20,
163
+						department:{
164
+							searchType: 1,
165
+							cascadeHosId: this.hosId,
166
+							type:{
167
+								id: null
168
+							},
169
+							dept: this.key
170
+						}
171
+					}
172
+					if(this.endTarget == 204){
173
+						delete postData.department.type
174
+					}else{
175
+						postData.department.type.id = this.taskTypeData.endTypeId
176
+					}
177
+					post("/simple/data/fetchDataList/department", postData).then((res) => {
178
+						this.dataList = res.list
179
+					})
180
+				}else if(this.endTarget== 202){
181
+					if(this.key){
182
+						this.dataList = this.taskTypeData.endDept.filter(i=>i.dept.indexOf(this.key)!=-1)
183
+					}else{
184
+						this.dataList = this.taskTypeData.endDept
185
+					}
186
+				}else{
187
+					this.dataList = this.taskTypeData.endDept
188
+				}
189
+			},
190
+			// 确认
191
+			determine(type) {
192
+				this.allData = this.selectData
193
+				if (type == 'back') {
194
+					uni.navigateBack({
195
+						delta: 1,
196
+					})
197
+				} else {
198
+					if(this.type=='applyDept'){
199
+						uni.setStorageSync('applyDept', JSON.stringify(this.allData))
200
+					}else if (this.type=='startDept'){
201
+						uni.setStorageSync('taskStartDept', JSON.stringify(this.allData))
202
+					}else if (this.type=='endDept'){
203
+						uni.setStorageSync('taskEndDept', JSON.stringify(this.allData))
204
+					}
205
+					uni.redirectTo ({
206
+						url: `../sponsorTaskBuild/sponsorTaskBuild?type=${this.type}&startTarget=${this.startTarget}&endTarget=${this.endTarget}&taskTypeId=${this.taskTypeId}&taskName=${this.taskName}`
207
+					});
208
+				}
209
+			},
210
+			// 选择楼栋
211
+			itemClick(item) {
212
+				this.selectData = item
213
+				this.selectId = item.id
214
+			}
215
+		},
216
+	};
217
+</script>
218
+<style scoped>
219
+	.is-input-border{
220
+		border-color: #eee !important
221
+	}
222
+</style>
223
+<style scoped lang="less">
224
+	view {
225
+		display: block;
226
+	}
227
+
228
+	.title {
229
+		padding: 30rpx;
230
+		font-size: 32rpx;
231
+		text-align: center;
232
+		font-weight: bold;
233
+	}
234
+
235
+	// 底部
236
+	.toolbar {
237
+		position: fixed;
238
+		left: 0;
239
+		right: 0;
240
+		bottom: 30rpx;
241
+		width: 96%;
242
+		margin-left: 2%;
243
+		z-index: 9999;
244
+		display: flex;
245
+		justify-content: space-between;
246
+		align-items: center;
247
+		box-sizing: border-box;
248
+
249
+		.btn {
250
+			width: 48%;
251
+			height: 88rpx;
252
+			line-height: 88rpx;
253
+			text-align: center;
254
+			border-radius: 10rpx;
255
+		}
256
+
257
+		.affirm {
258
+			background-color: #49B856;
259
+			color: #fff;
260
+		}
261
+
262
+		.cancel {
263
+			background-color: #AFAFAF;
264
+			color: #fff;
265
+		}
266
+	}
267
+
268
+	.search-box {
269
+		width: 95%;
270
+		background-color: rgb(242, 242, 242);
271
+		padding: 15upx 2.5%;
272
+		display: flex;
273
+		justify-content: space-between;
274
+		position: sticky;
275
+		top: 0;
276
+	}
277
+
278
+	.search-box .mSearch-input-box {
279
+		width: 100%;
280
+	}
281
+
282
+	.search-box .input-box {
283
+		width: 85%;
284
+		flex-shrink: 1;
285
+		display: flex;
286
+		justify-content: center;
287
+		align-items: center;
288
+	}
289
+
290
+	.search-box .search-btn {
291
+		width: 15%;
292
+		margin: 0 0 0 2%;
293
+		display: flex;
294
+		justify-content: center;
295
+		align-items: center;
296
+		flex-shrink: 0;
297
+		font-size: 28upx;
298
+		color: #fff;
299
+		background: linear-gradient(to right, #ff9801, #ff570a);
300
+		border-radius: 60upx;
301
+	}
302
+
303
+	.search-box .input-box>input {
304
+		width: 100%;
305
+		height: 60upx;
306
+		font-size: 32upx;
307
+		border: 0;
308
+		border-radius: 60upx;
309
+		-webkit-appearance: none;
310
+		-moz-appearance: none;
311
+		appearance: none;
312
+		padding: 0 3%;
313
+		margin: 0;
314
+		background-color: #ffffff;
315
+	}
316
+
317
+	.placeholder-class {
318
+		color: #9e9e9e;
319
+	}
320
+
321
+	.search-keyword {
322
+		width: 100%;
323
+		background-color: rgb(242, 242, 242);
324
+	}
325
+	
326
+	.padding{
327
+		// padding: 0 20rpx;
328
+	}
329
+	
330
+	.keyword-list-box {
331
+		height: calc(100vh - 220rpx);
332
+		padding-top: 10upx;
333
+		border-radius: 20upx 20upx 0 0;
334
+		background-color: #fff;
335
+	}
336
+
337
+	.selectStyle {
338
+		color: #49B856 !important;
339
+	}
340
+
341
+	.keyword-entry-tap {
342
+		background-color: #eee;
343
+	}
344
+
345
+	.keyword-entry {
346
+		width: 94%;
347
+		height: 80rpx;
348
+		margin: 0 3%;
349
+		font-size: 30rpx;
350
+		color: #333;
351
+		display: flex;
352
+		justify-content: center;
353
+		align-items: center;
354
+		border-bottom: solid 1rpx #DEDEDE;
355
+	}
356
+
357
+	.keyword-entry image {
358
+		width: 60upx;
359
+		height: 60upx;
360
+	}
361
+
362
+	.keyword-entry .keyword-text,
363
+	.keyword-entry .keyword-img {
364
+		height: 80upx;
365
+		display: flex;
366
+		align-items: center;
367
+	}
368
+
369
+	.keyword-entry .keyword-text {
370
+		// width: 90%;
371
+	}
372
+
373
+	.keyword-entry .keyword-img {
374
+		width: 10%;
375
+		justify-content: center;
376
+	}
377
+
378
+	.keyword-box {
379
+		height: calc(100vh - 110upx);
380
+		border-radius: 20upx 20upx 0 0;
381
+		background-color: #fff;
382
+	}
383
+
384
+	.keyword-box .keyword-block {
385
+		padding: 10upx 0;
386
+	}
387
+
388
+	.keyword-box .keyword-block .keyword-list-header {
389
+		width: 94%;
390
+		padding: 10upx 3%;
391
+		font-size: 27upx;
392
+		color: #333;
393
+		display: flex;
394
+		justify-content: space-between;
395
+	}
396
+
397
+	.keyword-box .keyword-block .keyword-list-header image {
398
+		width: 40upx;
399
+		height: 40upx;
400
+	}
401
+
402
+	.keyword-box .keyword-block .keyword {
403
+		width: 94%;
404
+		padding: 3px 3%;
405
+		display: flex;
406
+		flex-flow: wrap;
407
+		justify-content: flex-start;
408
+	}
409
+
410
+	.keyword-box .keyword-block .hide-hot-tis {
411
+		display: flex;
412
+		justify-content: center;
413
+		font-size: 28upx;
414
+		color: #6b6b6b;
415
+	}
416
+
417
+	.keyword-box .keyword-block .keyword>view {
418
+		display: flex;
419
+		justify-content: center;
420
+		align-items: center;
421
+		border-radius: 60upx;
422
+		padding: 0 20upx;
423
+		margin: 10upx 20upx 10upx 0;
424
+		height: 60upx;
425
+		font-size: 28upx;
426
+		background-color: rgb(242, 242, 242);
427
+		color: #6b6b6b;
428
+	}
429
+</style>

+ 494 - 0
pages/transferConnect/transferConnect.vue

@@ -0,0 +1,494 @@
1
+<template>
2
+  <view class="HomeItem">
3
+    <view class="goWorkAll">
4
+			<view class="title">{{optData.deptName}}-{{optData.handoverType.name}}</view>
5
+			<view class="goWorkSelect history">
6
+			  <view class="goWorkSelect-head">总数量:{{optData.totalNum}}</view>
7
+			  <view class="goWorkSelect-list" v-for="(item, i) in optData.data">
8
+					{{item.deptName}}: {{item.num}}
9
+				</view>
10
+			</view>
11
+    </view>
12
+    <view class="foot_btn_spe">
13
+      <view class="btn1" @click="submit()">{{optData.handoverType.value==1 ? '确认中转' : '确认交接'}}</view>
14
+      <view class="btn3" @click="goBack">取消</view>
15
+    </view>
16
+    <!-- 填写交接人工号弹窗 -->
17
+    <selectAccount v-if="hosModels.disjunctor" :disjunctor="hosModels.disjunctor" @ok="hosOk"
18
+      @cancel="hosCancel">
19
+    </selectAccount>
20
+		
21
+		<!-- 中转 -->
22
+		<uni-popup ref="alertDialog" type="dialog" :mask-click="false">
23
+			<uni-popup-dialog type="info" cancelText="取消" confirmText="确定" title="提示" content="您确认中转吗?" @confirm="dialogConfirm"
24
+				@close="dialogClose"></uni-popup-dialog>
25
+		</uni-popup>
26
+  </view>
27
+</template>
28
+
29
+<script>
30
+  import * as commonFun from '../../tools/commonFun.js';
31
+  import {
32
+    pathUrl
33
+  } from "../../tools/photograph.js";
34
+  import selectAccount from "../../components/selectAccount/selectAccount.vue";
35
+  import {
36
+    get,
37
+    post,
38
+    webHandle
39
+  } from "../../http/http.js";
40
+  export default {
41
+    components: {
42
+      selectAccount,
43
+    },
44
+    data() {
45
+      return {
46
+				list:[],
47
+				optData:null,
48
+        tips: '',
49
+        currentIndex: undefined,
50
+        // 填写交接人工号弹窗model
51
+        hosModels: {
52
+          disjunctor: false,
53
+        },
54
+        currentCode: '', //当前拍照使用的科室二维码
55
+        currentData: {}, //当前小扫描的工单对象
56
+        orderId: undefined,
57
+        order: {},
58
+				digitalNum:null,
59
+				// 数字交接
60
+				digitalHandoverSwitch: false,
61
+        // 拍照动作开关
62
+        actionPhotoSwitch: false,
63
+        // 确认动作开关
64
+        actionConfirmSwitch: false,
65
+        // 确认动作模式开关
66
+        actionConfirmType: false,
67
+        // 参数
68
+        options: {},
69
+        //动作列表
70
+        actions: [],
71
+        //图片列表
72
+        imageValue: [],
73
+      };
74
+    },
75
+    methods: {
76
+      // 其他临床服务-运输过程-终点科室是否开通备注填写
77
+      isOpenTransportationProcessRemarks(data, accountObj, funName){
78
+        const tasktype = data.taskType;
79
+        console.log(tasktype, data);
80
+        if(tasktype.associationType.value === 'other' && tasktype.carryingCourses[this.currentIndex].logSwitch && data.gdState.value == 5){
81
+          uni.navigateTo({
82
+            url: `../../pages/transportationProcessRemarks/transportationProcessRemarks?data=${data ? encodeURIComponent(JSON.stringify(data)) : ''}&accountObj=${accountObj ? encodeURIComponent(JSON.stringify(accountObj)) : ''}&currentCode=${this.currentCode}&funName=${funName}&actions=${this.actions ? encodeURIComponent(JSON.stringify(this.actions)) : ''}&imageValue=${this.imageValue ? encodeURIComponent(JSON.stringify(this.imageValue)) : ''}`
83
+          })
84
+        }else{
85
+          commonFun[funName](this, data, accountObj);
86
+        }
87
+      },
88
+      // 填写交接人工号-确认
89
+      hosOk(data) {
90
+        console.log(data);
91
+        const {
92
+          accountName,
93
+          account,
94
+          accountId
95
+        } = data;
96
+        if (!accountName && !account) {
97
+          //没有填写交接人
98
+          uni.showModal({
99
+            title: '提示',
100
+            content: "请填写交接人工号!",
101
+            showCancel: false,
102
+            success: function(res) {
103
+              if (res.confirm) {
104
+                console.log('用户点击确定');
105
+              } else if (res.cancel) {
106
+                console.log('用户点击取消');
107
+              }
108
+            }
109
+          });
110
+          return;
111
+        } else if (!accountName && account || accountName && !account) {
112
+          //没有填写交接人
113
+          uni.showModal({
114
+            title: '提示',
115
+            content: "请填写正确的交接人工号!",
116
+            showCancel: false,
117
+            success: function(res) {
118
+              if (res.confirm) {
119
+                console.log('用户点击确定');
120
+              } else if (res.cancel) {
121
+                console.log('用户点击取消');
122
+              }
123
+            }
124
+          });
125
+          return;
126
+        }
127
+				uni.showLoading({
128
+				  title: "加载中",
129
+				  mask: true,
130
+				});
131
+				let postData = {
132
+					ids: this.optData.orderIds,
133
+					handoverTypeValue: this.optData.handoverType.value,
134
+					deptId: this.optData.deptId,
135
+					handoverUserId: accountId
136
+				}
137
+        this.hosModels.disjunctor = false;
138
+        post("/business/confirmHandover", postData).then((res) => {
139
+					uni.hideLoading();
140
+          if(res.status == 200){
141
+            uni.showToast({
142
+              icon: "none",
143
+              title: "操作成功",
144
+            });
145
+            setTimeout(_=>{
146
+            	uni.redirectTo({
147
+            		url:'/pages/receiptpage/receiptpage'
148
+            	})
149
+            },1000)
150
+          } else {
151
+            uni.showToast({
152
+              icon: "none",
153
+              title: res.info || "接口获取数据失败!",
154
+            });
155
+          }
156
+        });
157
+      },
158
+      // 填写交接人工号-取消
159
+      hosCancel() {
160
+        this.hosModels.disjunctor = false;
161
+      },
162
+      // 填写交接人工号弹窗
163
+      showSelectAccount() {
164
+        this.hosModels = {
165
+          disjunctor: true,
166
+        }
167
+      },
168
+			// 确定中转
169
+			submit(){
170
+				// 1:中转 2:终点
171
+				if(this.optData.handoverType.value==1){
172
+					this.$refs.alertDialog.open()
173
+				}else{
174
+					if(this.optData.taskType.carryingCourses[1].handoverSwitch){
175
+						this.showSelectAccount();
176
+					}else{
177
+						this.$refs.alertDialog.open()
178
+					}
179
+				}
180
+			},
181
+			// 确定中转
182
+			dialogConfirm(){
183
+				uni.showLoading({
184
+				  title: "加载中",
185
+				  mask: true,
186
+				});
187
+				let url = null
188
+				let postData = {
189
+					ids: this.optData.orderIds,
190
+					handoverTypeValue: this.optData.handoverType.value,
191
+					deptId: this.optData.deptId
192
+				}
193
+				if(this.optData.handoverType.value==1){
194
+					url = post("/business/confirmHandover", postData)
195
+				}else{
196
+					url = post("/business/confirmHandover", postData)
197
+				}
198
+				url.then((res) => {
199
+				  if(res.status == 200){
200
+						uni.hideLoading();
201
+						this.$refs.alertDialog.close()
202
+				    uni.showToast({
203
+				      icon: "none",
204
+				      title: "操作成功",
205
+				    });
206
+				    setTimeout(_=>{
207
+				    	uni.redirectTo({
208
+				    		url:'/pages/receiptpage/receiptpage'
209
+				    	})
210
+				    },1000)
211
+				  } else {
212
+            uni.showToast({
213
+              icon: "none",
214
+              title: res.info || "接口获取数据失败!",
215
+            });
216
+          }
217
+				});
218
+			},
219
+			// 取消
220
+			dialogClose(){
221
+				this.$refs.alertDialog.close()
222
+			},
223
+      // 返回
224
+      goBack() {
225
+        uni.navigateBack();
226
+      },
227
+      // 选择动作
228
+      checkboxChange: function (e) {
229
+        let items = this.actions;
230
+        let values = [];
231
+        if(this.actionConfirmType == 1 || this.actionConfirmType == 2){
232
+          values = e.detail.value || [];
233
+        }else if(this.actionConfirmType == 3){
234
+          values = [e.detail.value];
235
+        }
236
+        for (let i = 0, lenI = items.length; i < lenI; ++i) {
237
+          const item = items[i]
238
+          if(values.includes(item.value)){
239
+            this.$set(item,'checked',true)
240
+          }else{
241
+            this.$set(item,'checked',false)
242
+          }
243
+        }
244
+      },
245
+      // 获取上传状态
246
+      selectFile(e) {
247
+        console.log('选择文件:', e)
248
+        this.imageValue = this.imageValue.concat(e.tempFiles);
249
+      },
250
+      
251
+      // 移除
252
+      deleteFile(e) {
253
+        console.log('移除:', e);
254
+      },
255
+    },
256
+    onLoad(options) {
257
+      this.options = options;
258
+      if(options.data){
259
+        this.optData = JSON.parse(options.data);
260
+				console.log(this.optData);
261
+      }
262
+    },
263
+  };
264
+</script>
265
+
266
+<style scoped>
267
+	/deep/ .uni-button-color{
268
+		color: #64BD7B;
269
+	}
270
+</style>
271
+<style lang="less" scoped>
272
+  .HomeItem {
273
+    .foot_btn_spe {
274
+      width: 100%;
275
+      position: fixed;
276
+      bottom: 30rpx;
277
+      left: 0;
278
+      line-height: 88rpx;
279
+      height: 88rpx;
280
+      text-align: center;
281
+      display: flex;
282
+      justify-content: space-between;
283
+      flex-wrap: wrap;
284
+    
285
+      &::after {
286
+        content: '';
287
+        flex: 1;
288
+      }
289
+    
290
+      view {
291
+        height: 88rpx;
292
+        width: 48%;
293
+        margin: 0 1%;
294
+        background-image: linear-gradient(to right, #72c172, #3bb197);
295
+        color: #fff;
296
+        border-radius: 8rpx;
297
+        font-size: 32rpx;
298
+        margin-top: 16rpx;
299
+      }
300
+    }
301
+
302
+    .login {
303
+      height: 420rpx;
304
+      padding: 0 32rpx;
305
+      padding-top: 164rpx;
306
+      position: relative;
307
+      z-index: 999;
308
+
309
+      .savePassword {
310
+        margin-top: 32rpx;
311
+      }
312
+
313
+      /deep/ uni-checkbox:not([disabled]) .uni-checkbox-input:hover {
314
+        border-color: #42b983 !important;
315
+      }
316
+
317
+      .login_input {
318
+        margin-top: 32rpx;
319
+        background-color: #ffffff;
320
+        height: 72rpx;
321
+        box-sizing: border-box;
322
+        padding: 16rpx;
323
+      }
324
+
325
+      .title {
326
+        font-size: 36rpx;
327
+        color: #42b983;
328
+        text-align: center;
329
+      }
330
+
331
+      .tips {
332
+        font-size: 28rpx;
333
+        color: red;
334
+        margin-top: 16rpx;
335
+      }
336
+
337
+      .page_item_btn {
338
+        height: 88rpx;
339
+        background-image: linear-gradient(to right, #72c172, #3bb197);
340
+        border-radius: 8rpx;
341
+        line-height: 88rpx;
342
+        color: #fff;
343
+        font-size: 36rpx;
344
+        font-weight: 700;
345
+        margin-top: 64rpx;
346
+        text-align: center;
347
+      }
348
+    }
349
+
350
+    //上班页面
351
+    .goWorkAll {
352
+      overflow-y: auto;
353
+      display: flex;
354
+      flex-direction: column;
355
+      justify-content: space-between;
356
+
357
+      /deep/ .uni-radio-input-checked {
358
+        background-color: #42b983 !important;
359
+        border-color: #42b983 !important;
360
+      }
361
+      /deep/ .uni-checkbox-input-checked {
362
+        color: #42b983 !important;
363
+      }
364
+			
365
+			.title{
366
+				text-align: center;
367
+				color: #64BD7B;
368
+				line-height: 80rpx;
369
+				border-bottom: 1rpx solid #E5E5E5;
370
+				position: absolute;
371
+				top: 0;
372
+				width: 100%;
373
+				height: 80rpx;
374
+				background: #fff;
375
+			}
376
+			
377
+      .goWorkSelect {
378
+        &.history {
379
+          height: 81vh;
380
+					overflow-y: auto;
381
+					margin-top: 80rpx;
382
+          padding-bottom: 16rpx;
383
+        }
384
+
385
+        &.combination {
386
+          .goWorkSelect-head {}
387
+
388
+          .goWorkSelect-list {}
389
+        }
390
+
391
+        .goWorkSelect-head {
392
+          font-size: 28rpx;
393
+          line-height: 80rpx;
394
+          border-bottom: 2rpx solid #E5E5E5;
395
+          text-align: center;
396
+        }
397
+
398
+        .goWorkSelect-list {
399
+          padding: 16rpx;
400
+					
401
+					.input-num {
402
+					  height: 60rpx;
403
+					  border: 2rpx solid #E5E5E5;
404
+					  border-radius: 5rpx;
405
+					  // width: 100%;
406
+					  padding-left: 10rpx;
407
+					  // padding-right: 10rpx;
408
+					}
409
+					
410
+          .goWorkSelect-item {
411
+            height: 52rpx;
412
+            display: flex;
413
+            align-items: center;
414
+            border-bottom: 2rpx solid #e5e9ed;
415
+            padding: 16rpx;
416
+
417
+            &.relative {
418
+              position: relative;
419
+
420
+              .picker {
421
+                position: absolute;
422
+                width: 100%;
423
+                padding-left: 64rpx;
424
+              }
425
+            }
426
+
427
+            button {
428
+              font-size: 32rpx;
429
+              height: 52rpx;
430
+              line-height: 52rpx;
431
+              margin: 0;
432
+              margin-left: 16rpx;
433
+              color: rgb(7, 134, 60);
434
+              font-weight: 700;
435
+            }
436
+          }
437
+        }
438
+      }
439
+    }
440
+
441
+    .goWork {
442
+      margin: 0 auto 48rpx;
443
+      width: 240rpx;
444
+      height: 240rpx;
445
+
446
+      .goWork_btn_E {
447
+        width: 100%;
448
+        height: 100%;
449
+        background: #bee1a7;
450
+        border-radius: 30%;
451
+
452
+        .goWork_btn_W {
453
+          width: 75%;
454
+          height: 75%;
455
+          background-image: linear-gradient(to right, #72c172, #3bb197);
456
+          border-radius: 30%;
457
+          margin: 0 auto;
458
+          position: relative;
459
+          top: 12.5%;
460
+          line-height: 180rpx;
461
+          color: #fff;
462
+          font-size: 36rpx;
463
+          text-align: center;
464
+        }
465
+      }
466
+    }
467
+
468
+    .goWork_text {
469
+      width: 100%;
470
+
471
+      view {
472
+        text-align: center;
473
+      }
474
+
475
+      .goWork_text-p {
476
+        font-size: 36rpx;
477
+        margin-bottom: 48rpx;
478
+      }
479
+    }
480
+
481
+    .botImg {
482
+      height: 600rpx;
483
+      width: 100%;
484
+      position: fixed;
485
+      bottom: 0;
486
+
487
+      .img {
488
+        height: 100%;
489
+        background: url("../../static/img/BG.png") no-repeat center center;
490
+        background-size: 100% 100%;
491
+      }
492
+    }
493
+  }
494
+</style>

+ 328 - 0
pages/transferDistribution/transferDistribution.vue

@@ -0,0 +1,328 @@
1
+<template>
2
+  <view class="HomeItem">
3
+    <view class="goWorkAll">
4
+			<view class="title">{{optData.quickOrderName}}-发起中转配送</view>
5
+			<view class="goWorkSelect history">
6
+			  <view class="goWorkSelect-head">总数量:{{optData.totalNum}}</view>
7
+			  <view class="goWorkSelect-list" v-for="(item, i) in optData.data">
8
+					{{item.deptName}}: {{item.num}}
9
+				</view>
10
+			</view>
11
+    </view>
12
+    <view class="foot_btn_spe" v-if="optData.totalNum>0">
13
+      <view class="btn1" @click="submit()">确认建单</view>
14
+      <view class="btn3" @click="goBack">取消</view>
15
+    </view>
16
+		<view class="foot_btn_spe" v-else>
17
+		  <view class="btn2" @click="goBack">返回</view>
18
+		</view>
19
+		
20
+		<!-- 确认建单 -->
21
+		<uni-popup ref="alertDialog" type="dialog" :mask-click="false">
22
+			<uni-popup-dialog type="info" cancelText="取消" confirmText="确定" title="提示" content="您确认建单吗?" @confirm="dialogConfirm"
23
+				@close="dialogClose"></uni-popup-dialog>
24
+		</uni-popup>
25
+  </view>
26
+</template>
27
+
28
+<script>
29
+  import {
30
+    get,
31
+    post,
32
+    webHandle
33
+  } from "../../http/http.js";
34
+  export default {
35
+    data() {
36
+      return {
37
+				list:[],
38
+				optData:null
39
+      };
40
+    },
41
+    methods: {
42
+			// 确定中转
43
+			submit(){
44
+				this.$refs.alertDialog.open()
45
+			},
46
+			// 确定中转
47
+			dialogConfirm(){
48
+				uni.showLoading({
49
+				  title: "加载中",
50
+				  mask: true,
51
+				});
52
+				let postData = {
53
+					businessIds: this.optData.businessIds,
54
+					quickOrderId: this.optData.quickOrderId
55
+				}
56
+				post("/business/createAndSign", postData).then((res) => {
57
+					uni.hideLoading();
58
+				  if(res.status == 200){
59
+						this.$refs.alertDialog.close()
60
+				    uni.showToast({
61
+				      icon: "none",
62
+				      title: "操作成功",
63
+				    });
64
+				    setTimeout(_=>{
65
+				    	uni.redirectTo({
66
+				    		url:'/pages/receiptpage/receiptpage'
67
+				    	})
68
+				    },1000)
69
+				  } else {
70
+            uni.showToast({
71
+              icon: "none",
72
+              title: res.info || "接口获取数据失败!",
73
+            });
74
+          }
75
+				});
76
+			},
77
+			// 取消
78
+			dialogClose(){
79
+				this.$refs.alertDialog.close()
80
+			},
81
+      // 返回
82
+      goBack() {
83
+        uni.navigateBack();
84
+      }
85
+    },
86
+    onLoad(options) {
87
+      this.options = options;
88
+      if(options.data){
89
+        this.optData = JSON.parse(options.data);
90
+				console.log(this.optData);
91
+      }
92
+    },
93
+  };
94
+</script>
95
+
96
+<style scoped>
97
+	/deep/ .uni-button-color{
98
+		color: #64BD7B;
99
+	}
100
+</style>
101
+<style lang="less" scoped>
102
+  .HomeItem {
103
+    .foot_btn_spe {
104
+      width: 100%;
105
+      position: fixed;
106
+      bottom: 30rpx;
107
+      left: 0;
108
+      line-height: 88rpx;
109
+      height: 88rpx;
110
+      text-align: center;
111
+      display: flex;
112
+      justify-content: space-between;
113
+      flex-wrap: wrap;
114
+    
115
+      &::after {
116
+        content: '';
117
+        flex: 1;
118
+      }
119
+			
120
+			.btn2{
121
+				width: 100% !important;
122
+			}
123
+			
124
+      view {
125
+        height: 88rpx;
126
+        width: 48%;
127
+        margin: 0 1%;
128
+        background-image: linear-gradient(to right, #72c172, #3bb197);
129
+        color: #fff;
130
+        border-radius: 8rpx;
131
+        font-size: 32rpx;
132
+        margin-top: 16rpx;
133
+      }
134
+    }
135
+
136
+    .login {
137
+      height: 420rpx;
138
+      padding: 0 32rpx;
139
+      padding-top: 164rpx;
140
+      position: relative;
141
+      z-index: 999;
142
+
143
+      .savePassword {
144
+        margin-top: 32rpx;
145
+      }
146
+
147
+      /deep/ uni-checkbox:not([disabled]) .uni-checkbox-input:hover {
148
+        border-color: #42b983 !important;
149
+      }
150
+
151
+      .login_input {
152
+        margin-top: 32rpx;
153
+        background-color: #ffffff;
154
+        height: 72rpx;
155
+        box-sizing: border-box;
156
+        padding: 16rpx;
157
+      }
158
+
159
+      .title {
160
+        font-size: 36rpx;
161
+        color: #42b983;
162
+        text-align: center;
163
+      }
164
+
165
+      .tips {
166
+        font-size: 28rpx;
167
+        color: red;
168
+        margin-top: 16rpx;
169
+      }
170
+
171
+      .page_item_btn {
172
+        height: 88rpx;
173
+        background-image: linear-gradient(to right, #72c172, #3bb197);
174
+        border-radius: 8rpx;
175
+        line-height: 88rpx;
176
+        color: #fff;
177
+        font-size: 36rpx;
178
+        font-weight: 700;
179
+        margin-top: 64rpx;
180
+        text-align: center;
181
+      }
182
+    }
183
+
184
+    //上班页面
185
+    .goWorkAll {
186
+      overflow-y: auto;
187
+      display: flex;
188
+      flex-direction: column;
189
+      justify-content: space-between;
190
+
191
+      /deep/ .uni-radio-input-checked {
192
+        background-color: #42b983 !important;
193
+        border-color: #42b983 !important;
194
+      }
195
+      /deep/ .uni-checkbox-input-checked {
196
+        color: #42b983 !important;
197
+      }
198
+			
199
+			.title{
200
+				text-align: center;
201
+				color: #64BD7B;
202
+				line-height: 80rpx;
203
+				border-bottom: 1rpx solid #E5E5E5;
204
+				position: absolute;
205
+				top: 0;
206
+				width: 100%;
207
+				height: 80rpx;
208
+				background: #fff;
209
+			}
210
+			
211
+      .goWorkSelect {
212
+        &.history {
213
+          height: 81vh;
214
+					overflow-y: auto;
215
+					margin-top: 80rpx;
216
+          padding-bottom: 16rpx;
217
+        }
218
+
219
+        &.combination {
220
+          .goWorkSelect-head {}
221
+
222
+          .goWorkSelect-list {}
223
+        }
224
+
225
+        .goWorkSelect-head {
226
+          font-size: 28rpx;
227
+          line-height: 80rpx;
228
+          border-bottom: 2rpx solid #E5E5E5;
229
+          text-align: center;
230
+        }
231
+
232
+        .goWorkSelect-list {
233
+          padding: 16rpx;
234
+					
235
+					.input-num {
236
+					  height: 60rpx;
237
+					  border: 2rpx solid #E5E5E5;
238
+					  border-radius: 5rpx;
239
+					  // width: 100%;
240
+					  padding-left: 10rpx;
241
+					  // padding-right: 10rpx;
242
+					}
243
+					
244
+          .goWorkSelect-item {
245
+            height: 52rpx;
246
+            display: flex;
247
+            align-items: center;
248
+            border-bottom: 2rpx solid #e5e9ed;
249
+            padding: 16rpx;
250
+
251
+            &.relative {
252
+              position: relative;
253
+
254
+              .picker {
255
+                position: absolute;
256
+                width: 100%;
257
+                padding-left: 64rpx;
258
+              }
259
+            }
260
+
261
+            button {
262
+              font-size: 32rpx;
263
+              height: 52rpx;
264
+              line-height: 52rpx;
265
+              margin: 0;
266
+              margin-left: 16rpx;
267
+              color: rgb(7, 134, 60);
268
+              font-weight: 700;
269
+            }
270
+          }
271
+        }
272
+      }
273
+    }
274
+
275
+    .goWork {
276
+      margin: 0 auto 48rpx;
277
+      width: 240rpx;
278
+      height: 240rpx;
279
+
280
+      .goWork_btn_E {
281
+        width: 100%;
282
+        height: 100%;
283
+        background: #bee1a7;
284
+        border-radius: 30%;
285
+
286
+        .goWork_btn_W {
287
+          width: 75%;
288
+          height: 75%;
289
+          background-image: linear-gradient(to right, #72c172, #3bb197);
290
+          border-radius: 30%;
291
+          margin: 0 auto;
292
+          position: relative;
293
+          top: 12.5%;
294
+          line-height: 180rpx;
295
+          color: #fff;
296
+          font-size: 36rpx;
297
+          text-align: center;
298
+        }
299
+      }
300
+    }
301
+
302
+    .goWork_text {
303
+      width: 100%;
304
+
305
+      view {
306
+        text-align: center;
307
+      }
308
+
309
+      .goWork_text-p {
310
+        font-size: 36rpx;
311
+        margin-bottom: 48rpx;
312
+      }
313
+    }
314
+
315
+    .botImg {
316
+      height: 600rpx;
317
+      width: 100%;
318
+      position: fixed;
319
+      bottom: 0;
320
+
321
+      .img {
322
+        height: 100%;
323
+        background: url("../../static/img/BG.png") no-repeat center center;
324
+        background-size: 100% 100%;
325
+      }
326
+    }
327
+  }
328
+</style>

+ 9 - 4
tools/commonFun.js

@@ -9,20 +9,25 @@ export function nextDeptOrder_ss(_this, data, accountObj) {
9 9
     mask: true,
10 10
   });
11 11
   _this.actions = _this.actions || [];
12
+	let handoverNum = _this.digitalNum
12 13
   console.log(_this.currentCode);
13
-  if (_this.currentCode) {
14
+  if (_this.currentCode || handoverNum) {
14 15
     // 动作
15 16
     let actions = _this.actions.filter(v => v.checked);
16 17
     let actionRemarks = actions.map(v => v.name).toString();
17
-    if(actionRemarks){
18
+		// 数字交接
19
+    if(actionRemarks || handoverNum){
18 20
       let postData = {
19 21
         orderId: data.id,
20 22
       };
21 23
       if(data.gdState.value == 4){
22
-        postData.actionStartRemarks = actionRemarks;
24
+        postData.actionStartRemarks = actionRemarks || null;
23 25
       }else if(data.gdState.value == 5){
24
-        postData.actionRemarks = actionRemarks;
26
+        postData.actionRemarks = actionRemarks || null;
25 27
       }
28
+			if(handoverNum){
29
+				postData.handoverNum = handoverNum;
30
+			}
26 31
       post("/workerOrder/addOtherRemarks", postData).then((result1) => {
27 32
         if(result1.state == 200){
28 33
           postWorkerOrder(_this, data, accountObj);