浏览代码

执行中列表可筛选

seimin 1 年之前
父节点
当前提交
576bfaab86
共有 1 个文件被更改,包括 170 次插入12 次删除
  1. 170 12
      pages/receiptpage/receiptpage.vue

+ 170 - 12
pages/receiptpage/receiptpage.vue

@@ -5,11 +5,11 @@
5 5
         :key="item.value" @click="clickHandler(item.label)">
6 6
         {{ item.label }}
7 7
         <text class="tab_num">( {{ item.num }} )</text>
8
-        <view class="more" v-if="item.label === '执行中'"></view>
9
-        <picker class="more_picker" v-if="item.label === '执行中'" @click.stop @change="execFilter($event)" :value="index"
8
+        <view class="more" v-if="item.label === '执行中'" @click.stop="execFilter"></view>
9
+        <!-- <picker class="more_picker" v-if="item.label === '执行中'" @click.stop @change="execFilter($event)" :value="index"
10 10
           :range="array" range-key="name">
11 11
           <view class="uni-input">{{ array[index].name }}</view>
12
-        </picker>
12
+        </picker> -->
13 13
       </view>
14 14
     </view>
15 15
     <view v-if="zxzData.length == 0" class="zwsj">
@@ -322,6 +322,40 @@
322 322
     <checkboxModal v-if="checkboxModels.disjunctor" :content="checkboxModels.content" :disjunctor="checkboxModels.disjunctor"
323 323
       @ok="checkboxOk" @cancel="checkboxCancel">
324 324
     </checkboxModal>
325
+    <!-- 执行中筛选 -->
326
+    <view class="execFilterMask" v-if="isShowExecFilter" @click="isShowExecFilter = false">
327
+      <view class="execFilter" @click.stop>
328
+        <view class="execFilterHeader">
329
+          全部筛选
330
+        </view>
331
+        <view class="execFilterBody">
332
+          <view class="execFilterItem">
333
+            <view class="execFilterItemHeader">
334
+              工单状态
335
+            </view>
336
+            <view class="execFilterItemBody">
337
+              <view class="execFilterItemBox" @click="currentId = item.id" :class="{active: item.id == currentId}" v-for="item in array" :key="item.id">
338
+                {{item.name}}
339
+              </view>
340
+            </view>
341
+          </view>
342
+          
343
+          <view class="execFilterItem">
344
+            <view class="execFilterItemHeader">
345
+              申请科室
346
+            </view>
347
+            <view class="execFilterItemBody">
348
+              <input class="deptName" v-model.trim="deptName" placeholder="请输入科室名称" placeholder-style="color:#cecece" />
349
+            </view>
350
+          </view>
351
+        </view>
352
+        
353
+        <view class="execFilterFooter">
354
+          <view class="btn" @click="execFilterReset()">重置</view>
355
+          <view class="btn" @click="execFilterOk()">完成</view>
356
+        </view>
357
+      </view>
358
+    </view>
325 359
   </view>
326 360
 </template>
327 361
 <script>
@@ -345,6 +379,9 @@
345 379
   export default {
346 380
     data() {
347 381
       return {
382
+        isShowExecFilter: false,
383
+        deptName: '',
384
+        currentId: 0,
348 385
         otherAssociationTypeId: null,
349 386
         hosId: uni.getStorageSync('userData').user.currentHospital.id,
350 387
         clinicalMultiplayerMode: 0,
@@ -790,19 +827,37 @@
790 827
         }
791 828
       },
792 829
       // 执行中筛选
793
-      execFilter({
794
-        detail: {
795
-          value
796
-        }
797
-      }) {
798
-        this.index = value;
799
-        this.arrayKey = this.array[value].id;
830
+      // execFilter({
831
+      //   detail: {
832
+      //     value
833
+      //   }
834
+      // }) {
835
+      //   this.index = value;
836
+      //   this.arrayKey = this.array[value].id;
837
+      //   this.zxzData = [];
838
+      //   this.totalNum = -1;
839
+      //   this.idx = 0;
840
+      //   this.selectedLabelSlots = "执行中";
841
+      //   this.executingOrders(0);
842
+      // },
843
+      // 执行中筛选
844
+      execFilter() {
845
+        this.isShowExecFilter = true;
846
+      },
847
+      // 执行中确定
848
+      execFilterOk() {
849
+        this.isShowExecFilter = false;
800 850
         this.zxzData = [];
801 851
         this.totalNum = -1;
802 852
         this.idx = 0;
803 853
         this.selectedLabelSlots = "执行中";
804 854
         this.executingOrders(0);
805 855
       },
856
+      // 执行中重置
857
+      execFilterReset() {
858
+        this.currentId = 0;
859
+        this.deptName = '';
860
+      },
806 861
       // 大扫描筛选
807 862
       execFilterBigScreen({
808 863
         detail: {
@@ -1486,11 +1541,24 @@
1486 1541
           idx,
1487 1542
           sum: 20,
1488 1543
         };
1489
-        if (this.arrayKey) {
1490
-          data.keyWord = this.arrayKey;
1544
+        
1545
+        // if (this.arrayKey) {
1546
+        //   data.keyWord = this.arrayKey;
1547
+        // } else {
1548
+        //   delete data.keyWord;
1549
+        // }
1550
+        if (this.currentId) {
1551
+          data.keyWord = this.currentId;
1491 1552
         } else {
1492 1553
           delete data.keyWord;
1493 1554
         }
1555
+        
1556
+        if (this.deptName) {
1557
+          data.deptName = this.deptName;
1558
+        } else {
1559
+          delete data.deptName;
1560
+        }
1561
+        
1494 1562
         uni.showLoading({
1495 1563
           title: "加载中",
1496 1564
           mask: true,
@@ -1749,6 +1817,96 @@
1749 1817
     height: 100%;
1750 1818
     position: relative;
1751 1819
     
1820
+    .execFilterMask{
1821
+      position: fixed;
1822
+      top: 0;
1823
+      right: 0;
1824
+      bottom: 0;
1825
+      left: 0;
1826
+      z-index: 9999;
1827
+      background-color: rgba(0, 0, 0, 0.5);
1828
+      display: flex;
1829
+      flex-direction: column;
1830
+      justify-content: flex-end;      
1831
+      
1832
+      .execFilter{
1833
+        position: relative;
1834
+        background-color: #fff;
1835
+        height: 90vh;
1836
+        border-radius: 100rpx 100rpx 0 0;
1837
+        
1838
+        .execFilterHeader{
1839
+          height: 100rpx;
1840
+          display: flex;
1841
+          justify-content: center;
1842
+          align-items: center;
1843
+          border-bottom: 2rpx solid #ccc;
1844
+        }
1845
+        
1846
+        .execFilterBody{
1847
+          .execFilterItem{
1848
+            padding: 40rpx;
1849
+            border-bottom: 2rpx dashed #ccc;
1850
+            &:last-of-type{
1851
+              border-bottom: none;
1852
+            }
1853
+            .execFilterItemHeader{}
1854
+            .execFilterItemBody{
1855
+              display: flex;
1856
+              flex-wrap: wrap;
1857
+              padding: 40rpx 0 0;
1858
+              justify-content: space-between;
1859
+              text-align: left;
1860
+              
1861
+              .execFilterItemBox{
1862
+                width: 200rpx;
1863
+                height: 80rpx;
1864
+                text-align: center;
1865
+                line-height: 80rpx;
1866
+                background-color: #f6f6f6;
1867
+                margin-bottom: 20rpx;
1868
+                border-radius: 80rpx;
1869
+                &.active{
1870
+                  color: #fff;
1871
+                  background-color: #49b856;
1872
+                }
1873
+              }
1874
+              
1875
+              .deptName {
1876
+                height: 80rpx;
1877
+                background-color: #f6f6f6;
1878
+                border-radius: 20rpx;
1879
+                padding: 0 20rpx;
1880
+              }
1881
+            }
1882
+          }
1883
+        }
1884
+        
1885
+        .execFilterFooter {
1886
+          position: absolute;
1887
+          bottom: 0;
1888
+          right: 0;
1889
+          left: 0;
1890
+          line-height: 66rpx;
1891
+          height: 100rpx;
1892
+          display: flex;
1893
+          justify-content: space-between;
1894
+        
1895
+          .btn {
1896
+            height: 66rpx;
1897
+            flex: 1;
1898
+            margin: 0 1%;
1899
+            background-image: linear-gradient(to right, #72c172, #3bb197);
1900
+            color: #fff;
1901
+            border-radius: 8rpx;
1902
+            font-size: 28rpx;
1903
+            margin-top: 16rpx;
1904
+            text-align: center;
1905
+          }
1906
+        }
1907
+      }
1908
+    }
1909
+    
1752 1910
     .more {
1753 1911
       position: absolute;
1754 1912
       right: 20rpx;