Browse Source

我的页面和标本列表页面开发完毕

seimin 2 years ago
parent
commit
abeb666eaf

+ 97 - 56
manifest.json

@@ -1,58 +1,99 @@
1 1
 {
2
-	"name" : "zy-pda",
3
-	"appid" : "__UNI__FEB1B1E",
4
-	"description": "",
5
-	"versionName": "1.0.0",
6
-	"versionCode": "100",
7
-	"transformPx": false,
8
-	"app-plus": { /* 5+App特有相关 */
9
-		"usingComponents": true,
10
-		"nvueCompiler": "uni-app",
11
-		"splashscreen": {
12
-			"alwaysShowBeforeRender": true,
13
-			"waiting": true,
14
-			"autoclose": true,
15
-			"delay": 0
16
-		},
17
-		"modules": { /* 模块配置 */
18
-
19
-		},
20
-		"distribute": { /* 应用发布信息 */
21
-			"android": { /* android打包配置 */
22
-				"permissions": [
23
-					"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
24
-					"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
25
-					"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
26
-					"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
27
-					"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
28
-					"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
29
-					"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
30
-					"<uses-permission android:name=\"android.permission.CAMERA\"/>",
31
-					"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
32
-					"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
33
-					"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
34
-					"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
35
-					"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
36
-					"<uses-feature android:name=\"android.hardware.camera\"/>",
37
-					"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
38
-				]
39
-			},
40
-			"ios": { /* ios打包配置 */
41
-
42
-			},
43
-			"sdkConfigs": { /* SDK配置 */
44
-
45
-			}
46
-		}
47
-	},
48
-	"quickapp": { /* 快应用特有相关 */
49
-
50
-	},
51
-	"mp-weixin": { /* 小程序特有相关 */
52
-		"appid": "",
53
-		"setting": {
54
-			"urlCheck": false
55
-		},
56
-		"usingComponents": true
57
-	}
2
+    "name" : "医疗服务中心转运系统",
3
+    "appid" : "__UNI__FEB1B1E",
4
+    "description" : "医疗服务中心转运系统",
5
+    "versionName" : "1.0.0",
6
+    "versionCode" : "100",
7
+    "transformPx" : false,
8
+    "app-plus" : {
9
+        /* 5+App特有相关 */
10
+        "usingComponents" : true,
11
+        "nvueCompiler" : "uni-app",
12
+        "splashscreen" : {
13
+            "alwaysShowBeforeRender" : true,
14
+            "waiting" : true,
15
+            "autoclose" : true,
16
+            "delay" : 0
17
+        },
18
+        "modules" : {},
19
+        /* 模块配置 */
20
+        "distribute" : {
21
+            /* 应用发布信息 */
22
+            "android" : {
23
+                /* android打包配置 */
24
+                "permissions" : [
25
+                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
26
+                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
27
+                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
28
+                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
29
+                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
30
+                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
31
+                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
32
+                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
33
+                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
34
+                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
35
+                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
36
+                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
37
+                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
38
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
39
+                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
40
+                ]
41
+            },
42
+            "ios" : {},
43
+            /* ios打包配置 */
44
+            "sdkConfigs" : {
45
+                "ad" : {}
46
+            },
47
+            "icons" : {
48
+                "android" : {
49
+                    "hdpi" : "unpackage/res/icons/72x72.png",
50
+                    "xhdpi" : "unpackage/res/icons/96x96.png",
51
+                    "xxhdpi" : "unpackage/res/icons/144x144.png",
52
+                    "xxxhdpi" : "unpackage/res/icons/192x192.png"
53
+                },
54
+                "ios" : {
55
+                    "appstore" : "unpackage/res/icons/1024x1024.png",
56
+                    "ipad" : {
57
+                        "app" : "unpackage/res/icons/76x76.png",
58
+                        "app@2x" : "unpackage/res/icons/152x152.png",
59
+                        "notification" : "unpackage/res/icons/20x20.png",
60
+                        "notification@2x" : "unpackage/res/icons/40x40.png",
61
+                        "proapp@2x" : "unpackage/res/icons/167x167.png",
62
+                        "settings" : "unpackage/res/icons/29x29.png",
63
+                        "settings@2x" : "unpackage/res/icons/58x58.png",
64
+                        "spotlight" : "unpackage/res/icons/40x40.png",
65
+                        "spotlight@2x" : "unpackage/res/icons/80x80.png"
66
+                    },
67
+                    "iphone" : {
68
+                        "app@2x" : "unpackage/res/icons/120x120.png",
69
+                        "app@3x" : "unpackage/res/icons/180x180.png",
70
+                        "notification@2x" : "unpackage/res/icons/40x40.png",
71
+                        "notification@3x" : "unpackage/res/icons/60x60.png",
72
+                        "settings@2x" : "unpackage/res/icons/58x58.png",
73
+                        "settings@3x" : "unpackage/res/icons/87x87.png",
74
+                        "spotlight@2x" : "unpackage/res/icons/80x80.png",
75
+                        "spotlight@3x" : "unpackage/res/icons/120x120.png"
76
+                    }
77
+                }
78
+            }
79
+        }
80
+    },
81
+    /* SDK配置 */
82
+    "quickapp" : {},
83
+    /* 快应用特有相关 */
84
+    "mp-weixin" : {
85
+        /* 小程序特有相关 */
86
+        "appid" : "",
87
+        "setting" : {
88
+            "urlCheck" : false
89
+        },
90
+        "usingComponents" : true
91
+    },
92
+    "h5" : {
93
+        "optimization" : {
94
+            "treeShaking" : {
95
+                "enable" : true
96
+            }
97
+        }
98
+    }
58 99
 }

+ 14 - 0
pages.json

@@ -122,10 +122,24 @@
122 122
     }, {
123 123
       "path": "pages/personalCenter/personalCenter",
124 124
       "style": {
125
+        "h5": {
126
+          "titleNView": false
127
+        },
125 128
         "navigationBarTitleText": "我的",
126 129
         "navigationBarBackgroundColor": "#2C2D31"
127 130
       }
128 131
 
132
+    }, {
133
+      "path": "pages/specimenList/specimenList",
134
+      "style": {
135
+        "h5": {
136
+          "titleNView": false
137
+        },
138
+        "navigationBarTitleText": "标本列表",
139
+        "navigationBarBackgroundColor": "#2C2D31",
140
+        "enablePullDownRefresh": true
141
+      }
142
+
129 143
     }
130 144
   ],
131 145
   "globalStyle": {

+ 2 - 5
pages/detail/detail.vue

@@ -324,8 +324,6 @@
324 324
 
325 325
 <style lang="scss" scoped>
326 326
   .orderDetail {
327
-    padding-bottom: 108rpx;
328
-
329 327
     // 头部
330 328
     .orderDetail_header {
331 329
       position: fixed;
@@ -357,16 +355,15 @@
357 355
     // tab
358 356
     // 工单详情
359 357
     .orderDetail_info {
360
-      padding: 108rpx 24rpx 0;
358
+      padding: 108rpx 24rpx;
361 359
 
362 360
       .orderDetail_infoItem {
363 361
         width: 702rpx;
364
-        height: calc(100vh - 340rpx);
365 362
         background-color: #fff;
366 363
         margin-top: 8rpx;
367 364
         border-radius: 8rpx;
368 365
         position: relative;
369
-        padding: 0 24rpx;
366
+        padding: 0 24rpx 24rpx;
370 367
         font-size: 32rpx;
371 368
         @include border;
372 369
         @include semicircle(#f9fafb, 82rpx);

+ 11 - 5
pages/index/index.vue

@@ -20,12 +20,12 @@
20 20
       <view class="collect_specimens">
21 21
         <view class="collect_icon"> 标 </view>
22 22
         <view class="collect_specimensNum">
23
-          <view class="urgent collect_row">
23
+          <view class="urgent collect_row" @click="gotoSpecimenList('urgent')">
24 24
             急标数量<text class="collect_num">{{
25 25
               urgentNum | specimenNum
26 26
             }}</text>
27 27
           </view>
28
-          <view class="ordinary collect_row">
28
+          <view class="ordinary collect_row" @click="gotoSpecimenList('ordinary')">
29 29
             普标数量<text class="collect_num">{{
30 30
               ordinaryNum | specimenNum
31 31
             }}</text>
@@ -79,7 +79,7 @@
79 79
     <seiminFooterNav></seiminFooterNav>
80 80
     <seiminModel ref="seiminModel"></seiminModel>
81 81
     <seiminPicker ref="sPicker" :title="pickerTitle" titleColor="#808080" titleFontSize="28rpx" confirmColor="#333"
82
-      confirmFontSize="38rpx" confirmFontWeight="500" itemFontSize="28rpx" @onClose="closePicker"
82
+      confirmFontSize="38rpx" confirmFontWeight="500" itemFontSize="32rpx" @onClose="closePicker"
83 83
       @onConfirm="confirmPicker" :pickerList="hospitalList">
84 84
     </seiminPicker>
85 85
   </view>
@@ -135,6 +135,12 @@
135 135
         "changeSearchDeptParams",
136 136
       ]),
137 137
       ...mapActions('system', ["vxSystem"]),
138
+      // 前往标本列表
139
+      gotoSpecimenList(type) {
140
+        uni.navigateTo({
141
+          url: `/pages/specimenList/specimenList?urgent=${type==='urgent'?1:0}`
142
+        })
143
+      },
138 144
       // 前往工单详情
139 145
       toDetail(id) {
140 146
         uni.navigateTo({
@@ -604,7 +610,7 @@
604 610
 
605 611
           .collect_row {
606 612
             height: 88rpx;
607
-            @include border($directive:bottom,$style:dashed);
613
+            @include border($directive:bottom, $style:dashed);
608 614
             @include flex(flex-start, center);
609 615
 
610 616
             &:last-of-type {
@@ -719,7 +725,7 @@
719 725
         .quick_other_header {
720 726
           height: 87rpx;
721 727
           padding: 0 27rpx;
722
-          @include border($directive:bottom,$style:dashed);
728
+          @include border($directive:bottom, $style:dashed);
723 729
           @include flex(space-between, center);
724 730
 
725 731
           .quick_other_header_title {

+ 3 - 4
pages/orderDetail/orderDetail.vue

@@ -587,7 +587,7 @@
587 587
 
588 588
 <style lang="scss" scoped>
589 589
   .orderDetail {
590
-    padding-bottom: 108rpx;
590
+    // padding-bottom: 108rpx;
591 591
 
592 592
     // 头部
593 593
     .orderDetail_header {
@@ -620,16 +620,15 @@
620 620
     // tab
621 621
     // 工单详情
622 622
     .orderDetail_info {
623
-      padding: 108rpx 24rpx 0;
623
+      padding: 108rpx 24rpx;
624 624
 
625 625
       .orderDetail_infoItem {
626 626
         width: 702rpx;
627
-        height: calc(100vh - 340rpx);
628 627
         background-color: #fff;
629 628
         margin-top: 8rpx;
630 629
         border-radius: 8rpx;
631 630
         position: relative;
632
-        padding: 0 24rpx;
631
+        padding: 0 24rpx 24rpx;
633 632
         font-size: 32rpx;
634 633
         @include border;
635 634
         @include semicircle(#f9fafb, 82rpx);

+ 1 - 1
pages/orderList/orderList.vue

@@ -84,7 +84,7 @@
84 84
     <seiminFooterNav></seiminFooterNav>
85 85
     <seiminModel ref="seiminModel"></seiminModel>
86 86
     <seiminPicker ref="sPicker" titleColor="#808080" titleFontSize="28rpx" confirmColor="#333" confirmFontSize="38rpx"
87
-      confirmFontWeight="500" itemFontSize="28rpx" @onClose="closePicker" @onConfirm="confirmPicker"
87
+      confirmFontWeight="500" itemFontSize="32rpx" @onClose="closePicker" @onConfirm="confirmPicker"
88 88
       :pickerList="pickerList">
89 89
     </seiminPicker>
90 90
   </view>

+ 1 - 2
pages/patientBuildConfirm/patientBuildConfirm.vue

@@ -391,12 +391,11 @@
391 391
 
392 392
       .orderDetail_infoItem {
393 393
         width: 702rpx;
394
-        height: calc(100vh - 240rpx);
395 394
         background-color: #fff;
396 395
         margin-top: 8rpx;
397 396
         border-radius: 8rpx;
398 397
         position: relative;
399
-        padding: 0 24rpx;
398
+        padding: 0 24rpx 24rpx;
400 399
         font-size: 32rpx;
401 400
         @include border;
402 401
         @include semicircle(#f9fafb, 82rpx);

+ 2 - 3
pages/patientDetail/patientDetail.vue

@@ -294,16 +294,15 @@
294 294
     // tab
295 295
     // 工单详情
296 296
     .orderDetail_info {
297
-      padding: 108rpx 24rpx 0;
297
+      padding: 108rpx 24rpx;
298 298
 
299 299
       .orderDetail_infoItem {
300 300
         width: 702rpx;
301
-        height: calc(100vh - 340rpx);
302 301
         background-color: #fff;
303 302
         margin-top: 8rpx;
304 303
         border-radius: 8rpx;
305 304
         position: relative;
306
-        padding: 0 24rpx;
305
+        padding: 0 24rpx 24rpx;
307 306
         font-size: 32rpx;
308 307
         @include border;
309 308
         @include semicircle(#f9fafb, 82rpx);

+ 7 - 7
pages/patientList/patientList.vue

@@ -39,7 +39,7 @@
39 39
     <seiminFooterNav></seiminFooterNav>
40 40
     <seiminModel ref="seiminModel"></seiminModel>
41 41
     <seiminPicker ref="sPicker" :title="pickerTitle" titleColor="#808080" titleFontSize="28rpx" confirmColor="#333"
42
-      confirmFontSize="38rpx" confirmFontWeight="500" itemFontSize="28rpx" @onClose="closePicker"
42
+      confirmFontSize="38rpx" confirmFontWeight="500" itemFontSize="32rpx" @onClose="closePicker"
43 43
       @onConfirm="confirmPicker" :pickerList="taskTypeList">
44 44
     </seiminPicker>
45 45
   </view>
@@ -162,14 +162,14 @@
162 162
                 key: 'dept',
163 163
                 value: {
164 164
                   startDept: {
165
-                    id: 9,
166
-                    dept: 'xxx',
167
-                    deptalias: 'xxxxxx'
165
+                    id: res.startDept,
166
+                    dept: res.startDeptName,
167
+                    deptalias: res.startDeptAlias
168 168
                   }, //待改
169 169
                   endDept: {
170
-                    id: 9,
171
-                    dept: 'xxx',
172
-                    deptalias: 'xxxxxx'
170
+                    id: res.startDept,
171
+                    dept: res.startDeptName,
172
+                    deptalias: res.startDeptAlias
173 173
                   }, //待改
174 174
                 }
175 175
               });

+ 1 - 1
pages/personalCenter/personalCenter.vue

@@ -33,7 +33,7 @@
33 33
     <seiminFooterNav></seiminFooterNav>
34 34
     <seiminModel ref="seiminModel"></seiminModel>
35 35
     <seiminPicker ref="sPicker" :title="pickerTitle" titleColor="#808080" titleFontSize="28rpx" confirmColor="#333"
36
-      confirmFontSize="38rpx" confirmFontWeight="500" itemFontSize="28rpx" @onClose="closePicker"
36
+      confirmFontSize="38rpx" confirmFontWeight="500" itemFontSize="32rpx" @onClose="closePicker"
37 37
       @onConfirm="confirmPicker" :pickerList="hospitalList">
38 38
     </seiminPicker>
39 39
   </view>

+ 1 - 1
pages/quickCreateOrder/quickCreateOrder.vue

@@ -66,7 +66,7 @@
66 66
     <seiminFooterBtn :btns="btns"></seiminFooterBtn>
67 67
     <seiminModel ref="seiminModel"></seiminModel>
68 68
     <seiminPicker ref="sPicker" :title="pickerTitle" titleColor="#808080" titleFontSize="28rpx" confirmColor="#333"
69
-      confirmFontSize="38rpx" confirmFontWeight="500" itemFontSize="28rpx" @onClose="closePicker"
69
+      confirmFontSize="38rpx" confirmFontWeight="500" itemFontSize="32rpx" @onClose="closePicker"
70 70
       @onConfirm="confirmPicker" :pickerList="deptList">
71 71
     </seiminPicker>
72 72
   </view>

+ 280 - 0
pages/specimenList/specimenList.vue

@@ -0,0 +1,280 @@
1
+<template>
2
+  <view class="specimenList">
3
+    <!-- 头部筛选 -->
4
+    <view class="orderList_header">
5
+      <view class="orderList_header_item" @click="openPicker('speStatus')">
6
+        <text class="orderList_header_itemText">{{selectedSpeState}}</text>
7
+        <text class="pda pda-xiala"></text>
8
+      </view>
9
+    </view>
10
+    <!-- 标本列表 -->
11
+    <view class="orderDetail_infoItem_item business business_specimen">
12
+      <view class="inspect_specimen">
13
+        <uni-table stripe emptyText="暂无更多数据">
14
+          <!-- 表头行 -->
15
+          <uni-tr class="th">
16
+            <uni-th align="center" width="68">标本类型</uni-th>
17
+            <uni-th align="center" width="71">标本编码</uni-th>
18
+            <uni-th align="center" width="66">状态</uni-th>
19
+            <uni-th align="center" width="71">科室</uni-th>
20
+          </uni-tr>
21
+          <!-- 表格数据行 -->
22
+          <uni-tr v-for="data in speList" :key="data.id" @click.native="toDetail(data.id,'specimen')">
23
+            <uni-td align="center">{{data.stype?data.stype.name:'暂无'}}</uni-td>
24
+            <uni-td align="center">{{data.scode || '暂无'}}</uni-td>
25
+            <uni-td align="center">{{data.speState?data.speState.name:'暂无'}}</uni-td>
26
+            <uni-td align="center" class="td" v-if="data.checkDept">
27
+              {{deptDisplay==2?data.checkDept.deptalias:data.checkDept.dept}}
28
+              <image class="urgent" v-if="data.urgent == 1" src="../../static/imgs/icon_ji.png" mode="widthFix">
29
+              </image>
30
+            </uni-td>
31
+            <uni-td align="center" class="td" v-else>
32
+              暂无
33
+              <image class="urgent" v-if="data.urgent == 1" src="../../static/imgs/icon_ji.png" mode="widthFix">
34
+              </image>
35
+            </uni-td>
36
+          </uni-tr>
37
+        </uni-table>
38
+      </view>
39
+    </view>
40
+    <seiminFooterBtn :btns="btns"></seiminFooterBtn>
41
+    <seiminPicker ref="sPicker" titleColor="#808080" titleFontSize="28rpx" confirmColor="#333" confirmFontSize="38rpx"
42
+      confirmFontWeight="500" itemFontSize="32rpx" @onClose="closePicker" @onConfirm="confirmPicker"
43
+      :pickerList="pickerList">
44
+    </seiminPicker>
45
+  </view>
46
+</template>
47
+
48
+<script>
49
+  import {
50
+    mapState,
51
+  } from "vuex";
52
+  import {
53
+    reqGetSpecimenWorkOrderDetails,
54
+  } from "../../request/api.js";
55
+  export default {
56
+    data() {
57
+      return {
58
+        speList: [], //标本列表
59
+        pickerList: [], //picker列表
60
+        type: '', //打开picker的类型,急或普查
61
+        // 当前筛选的急查或普查
62
+        selectedSpeState: '',
63
+        //急查或普查筛选列表
64
+        speStates: [{
65
+            value: 1,
66
+            label: '急查'
67
+          },
68
+          {
69
+            value: 0,
70
+            label: '普查'
71
+          },
72
+        ],
73
+        //底部按钮
74
+        btns: [{
75
+          name: "返回首页",
76
+          type: "primary",
77
+          click: () => {
78
+            uni.navigateTo({
79
+              url: "/pages/index/index",
80
+            });
81
+          },
82
+        }],
83
+      };
84
+    },
85
+    computed: {
86
+      ...mapState("login", ["loginInfo"]),
87
+      ...mapState("other", ["deptDisplay"]),
88
+    },
89
+    methods: {
90
+      // 跳转详情
91
+      toDetail(id, associationType) {
92
+        uni.navigateTo({
93
+          url: `/pages/detail/detail?id=${id}&associationType=${associationType}`
94
+        })
95
+      },
96
+      // 查询最新工单列表
97
+      queryWorkOrdersRequest(idxPlus = false) {
98
+        if (idxPlus) {
99
+          //累加
100
+          ++this.idx;
101
+        } else {
102
+          this.idx = 0;
103
+        }
104
+        console.log(this.speStates, this.selectedSpeState)
105
+        let postData = {
106
+          "deptId": this.loginInfo.user.dept.id,
107
+          "urgent": Number(this.speStates.find(v => v.label == this.selectedSpeState).value)
108
+        };
109
+        return reqGetSpecimenWorkOrderDetails(postData);
110
+      },
111
+      // 查询最新工单列表
112
+      queryWorkOrdersResponse(res, idxPlus = false) {
113
+        if (res.status == 200) {
114
+          res.data = res.data || [];
115
+          let speList = res.data;
116
+          if (idxPlus) {
117
+            //累加
118
+            this.speList = this.speList.concat(speList);
119
+          } else {
120
+            this.speList = speList;
121
+          }
122
+        } else {
123
+          this.$refs.seiminModel.show({
124
+            skin: "toast",
125
+            icon: "error",
126
+            content: res.msg || "获取数据失败",
127
+          });
128
+          throw new Error(res.msg || '获取数据失败');
129
+        }
130
+      },
131
+      // 查询最新列表(上拉)
132
+      reachBottom() {
133
+        //没有更多
134
+        uni.showToast({
135
+          icon: 'none',
136
+          title: '没有更多标本了'
137
+        })
138
+      },
139
+      // 获取页面数据
140
+      init() {
141
+        uni.showLoading({
142
+          title: "加载中",
143
+          mask: true,
144
+        });
145
+        Promise.all([
146
+          this.queryWorkOrdersRequest(), //查询最新工单列表
147
+        ]).then((values) => {
148
+          uni.hideLoading();
149
+          uni.stopPullDownRefresh();
150
+          this.queryWorkOrdersResponse(values[0]);
151
+        });
152
+      },
153
+      //关闭
154
+      closePicker() {
155
+        this.$refs.sPicker._close();
156
+      },
157
+      //打开
158
+      openPicker(type) {
159
+        this.type = type;
160
+        this.$refs.sPicker._open();
161
+        if (type === 'speStatus') {
162
+          //标本是急查或普查
163
+          this.pickerList = this.speStates;
164
+          let index = this.pickerList.findIndex(v => v.label === this.selectedSpeState);
165
+          let obj = this.pickerList.find(v => v.label === this.selectedSpeState);
166
+          this.$refs.sPicker._changeValue(index);
167
+          this.selectedSpeState = obj && obj.label;
168
+        }
169
+      },
170
+      //确定:接收子组件传来的参数
171
+      confirmPicker(checkedObj) {
172
+        if (this.type === 'speStatus') {
173
+          this.selectedSpeState = checkedObj.label;
174
+        }
175
+        let index = this.pickerList.findIndex(v => v.label === checkedObj.label);
176
+        this.$refs.sPicker._changeValue(index);
177
+        this.init();
178
+      },
179
+    },
180
+    onLoad(querParams) {
181
+      this.selectedSpeState = querParams.urgent == 1 ? '急查' : '普查';
182
+      this.init();
183
+    },
184
+    onPullDownRefresh() {
185
+      this.init();
186
+    },
187
+    onReachBottom() {
188
+      this.reachBottom();
189
+    },
190
+  }
191
+</script>
192
+
193
+<style lang="scss" scoped>
194
+  .specimenList {
195
+    padding-bottom: 108rpx;
196
+
197
+    // 头部筛选
198
+    .orderList_header {
199
+      height: 88rpx;
200
+      background-color: #fff;
201
+      position: fixed;
202
+      left: 0;
203
+      z-index: 99;
204
+      width: 100%;
205
+      @include border(bottom);
206
+      @include flex(center, center);
207
+
208
+      .orderList_header_item {
209
+        flex: 1;
210
+        height: 100%;
211
+        padding: 0 50rpx;
212
+        @include border(right);
213
+        @include flex(space-between, center);
214
+
215
+        &:last-of-type {
216
+          border-right: none;
217
+        }
218
+
219
+        .orderList_header_itemText {
220
+          color: #333;
221
+          font-size: 38rpx;
222
+        }
223
+      }
224
+
225
+      .pda-xiala {
226
+        color: #DDE1E5;
227
+      }
228
+    }
229
+
230
+    // 标本列表
231
+    .orderDetail_infoItem_item {
232
+      padding-top: 12rpx;
233
+      padding-bottom: 12rpx;
234
+      color: #333;
235
+      font-size: 30rpx;
236
+      flex: 1;
237
+      @include border(bottom);
238
+      @include flex(flex-start, stretch, column);
239
+
240
+      // 业务信息-标本
241
+      &.business_specimen {
242
+        padding-top: 116rpx;
243
+        font-size: 34rpx;
244
+
245
+        .th {
246
+          background-color: red;
247
+          @include btn_background;
248
+
249
+          th {
250
+            color: #fff;
251
+          }
252
+        }
253
+
254
+        .td {
255
+          position: relative;
256
+
257
+          .urgent {
258
+            width: 60rpx;
259
+            position: absolute !important;
260
+            right: 0;
261
+            top: 0;
262
+          }
263
+        }
264
+
265
+        .table--border {
266
+          border: none;
267
+        }
268
+
269
+        ::v-deep .uni-table {
270
+          min-width: 0;
271
+        }
272
+
273
+        ::v-deep .uni-table-td {
274
+          word-break: break-all;
275
+        }
276
+      }
277
+
278
+    }
279
+  }
280
+</style>

+ 8 - 0
request/api.js

@@ -159,3 +159,11 @@ export const reqBuild = (type, postData) =>
159 159
     data: postData,
160 160
     method: 'POST'
161 161
   });
162
+
163
+// 首页查询急标或普标列表
164
+export const reqGetSpecimenWorkOrderDetails = (postData) =>
165
+  request({
166
+    url: `/nurse/getSpecimenWorkOrderDetails`,
167
+    data: postData,
168
+    method: 'POST'
169
+  });

+ 1 - 1
request/config.js

@@ -12,7 +12,7 @@ const config = {
12 12
 // 后端服务地址
13 13
 const baseUrls = {
14 14
   // development: "http://192.168.3.108/service", //开发环境
15
-  development: "http://192.168.3.69/service", //开发环境
15
+  development: "http://localhost/service", //开发环境
16 16
   production: "http://192.168.3.108/service", //生产环境
17 17
 };
18 18
 config.baseUrl = baseUrls[process.env.NODE_ENV];

BIN
static/c1.png


BIN
static/c2.png


BIN
static/c3.png


BIN
static/c4.png


BIN
static/c5.png


BIN
static/c6.png


BIN
static/c7.png


BIN
static/c8.png


BIN
static/c9.png


+ 0 - 20
static/customicons.css

@@ -1,20 +0,0 @@
1
-@font-face {
2
-  font-family: "customicons"; /* Project id 2878519 */
3
-  src:url('/static/customicons.ttf') format('truetype');
4
-}
5
-
6
-.customicons {
7
-  font-family: "customicons" !important;
8
-}
9
-
10
-.youxi:before {
11
-  content: "\e60e";
12
-}
13
-
14
-.wenjian:before {
15
-  content: "\e60f";
16
-}
17
-
18
-.zhuanfa:before {
19
-  content: "\e610";
20
-}

BIN
static/customicons.ttf


BIN
static/logo.png


BIN
static/uni.png