许成详 пре 6 година
родитељ
комит
a66255d598

+ 49
- 9
src/components/libraryListItem/index.vue Прегледај датотеку

@@ -1,25 +1,45 @@
1 1
 <template>
2
-  <div class="libraryListItem flex-h">
2
+  <div class="libraryListItem flex-h" @click="itemClick(data)">
3 3
     <div class="img">
4 4
       <a>
5 5
         <img :src="data.BookImg" class="centerLabel cover" alt>
6 6
       </a>
7
+      <span v-if="type === 1" class="active">状态值</span>
7 8
     </div>
8 9
     <div class="flex-item">
9 10
       <div>
10 11
         <span>{{data.BookName}}</span>
11
-        <h5>{{data.BookDescription}}</h5>
12
-        <div class="flex-h" style="margin-top: .06rem;">
12
+        <h5 v-if="!type">{{data.BookDescription}}</h5>
13
+        <div v-if="!type" class="flex-h" style="margin-top: .06rem;">
13 14
           <span class="flex-item">{{data.Author}} 著</span>
14 15
           <span class="status" @click="appointmentBook(data.BookId)">{{data.Status}}</span>
15 16
         </div>
16
-        <div class="flex-h">
17
+        <div v-if="!type" class="flex-h">
17 18
           <span class="flex-item">{{data.Publisher}}</span>
18 19
           <span>
19 20
             剩余可借
20 21
             <em>{{data.LeftNum}}</em>本
21 22
           </span>
22 23
         </div>
24
+        <div v-if="type === 1" class="flex-h" style="margin-top: .06rem;">
25
+          <span class="flex-item">应还时间:{{data.ReturnDate}}</span>
26
+        </div>
27
+        <div v-if="type === 1" class="flex-h">
28
+          <span class="flex-item">{{data.CaseName}}</span>
29
+          <span>已归还</span>
30
+          <span>已逾期
31
+            <em>4</em>天
32
+          </span>
33
+        </div>
34
+        <div v-if="type === 2" class="flex-h" style="margin-top: .06rem;">
35
+          <span class="flex-item">预约时间:{{data.appointmentDate}}</span>
36
+        </div>
37
+        <div v-if="type === 2" class="flex-h" style="margin-top: 0;">
38
+          <span class="flex-item">预约资格将保留至:2018-12-08</span>
39
+        </div>
40
+        <div v-if="type === 2" class="flex-h" style="margin-top: 0;">
41
+          <span class="flex-item">{{data.CaseName}}</span>
42
+        </div>
23 43
       </div>
24 44
     </div>
25 45
   </div>
@@ -29,7 +49,7 @@
29 49
 
30 50
 export default {
31 51
   name: '',
32
-  props: ['data'],
52
+  props: ['data', 'type'],
33 53
   data () {
34 54
     return {
35 55
     }
@@ -43,6 +63,9 @@ export default {
43 63
   methods: {
44 64
     appointmentBook (id) {
45 65
       this.$emit('appointmentBook', id)
66
+    },
67
+    itemClick (target) {
68
+      this.$emit('itemClick', target)
46 69
     }
47 70
   }
48 71
 }
@@ -53,12 +76,12 @@ export default {
53 76
 .libraryListItem {
54 77
   width: 100%;
55 78
   position: relative;
56
-  overflow: hidden;
79
+  overflow: visible;
57 80
   align-items: center;
58 81
   .img {
59 82
     width: 0.78rem;
60 83
     position: relative;
61
-    overflow: hidden;
84
+    overflow: visible;
62 85
     a {
63 86
       width: 100%;
64 87
       display: block;
@@ -68,6 +91,23 @@ export default {
68 91
       padding-bottom: 143.5%;
69 92
       background: #eee;
70 93
       border-radius: 0.03rem;
94
+      z-index: 1;
95
+    }
96
+    > span {
97
+      display: inline-block;
98
+      position: absolute;
99
+      left: -0.1rem;
100
+      bottom: 0.2rem;
101
+      z-index: 2;
102
+      font-size: 0.12rem;
103
+      color: #fff;
104
+      background: #333;
105
+      line-height: 0.25rem;
106
+      border-radius: 0.25rem;
107
+      padding: 0 0.15rem;
108
+      &.active{
109
+        background: #fc5534;
110
+      }
71 111
     }
72 112
   }
73 113
   > div.flex-item {
@@ -89,9 +129,9 @@ export default {
89 129
         max-height: 0.43rem;
90 130
       }
91 131
       > h5 {
92
-        font-size: .12rem;
132
+        font-size: 0.11rem;
93 133
         color: #ccc;
94
-        line-height: .16rem;
134
+        line-height: 0.16rem;
95 135
         font-weight: normal;
96 136
         overflow: hidden;
97 137
         text-overflow: ellipsis;

+ 2
- 2
src/components/slideTabH/index.vue Прегледај датотеку

@@ -148,12 +148,12 @@ export default {
148 148
     }
149 149
     .activeLine {
150 150
       height: 0.02rem;
151
-      background: #f9064b;
151
+      background: #fc6243;
152 152
       position: absolute;
153 153
       left: 0;
154 154
       bottom: -.02rem;
155 155
       z-index: 1000;
156
-      box-shadow: 0 0 .1rem .01rem rgba(249, 6, 75, 0.9);
156
+      box-shadow: 0 0 .1rem .01rem rgba(252, 98, 67, 0.9);
157 157
     }
158 158
   }
159 159
   > .flex-item {

+ 25
- 4
src/pages/user/library/borrowedRecord/index.vue Прегледај датотеку

@@ -11,21 +11,27 @@
11 11
         <div>
12 12
           <ul>
13 13
             <li v-for="(item, index) in borrowedRecordList" :key="index">
14
-              <libraryListItem :data="item"></libraryListItem>
14
+              <libraryListItem :data="item" :type="1" @itemClick="borrowedRecordClick"></libraryListItem>
15 15
             </li>
16 16
           </ul>
17 17
         </div>
18 18
       </div>
19 19
       <div class="subMain" slot="slideTabH-2">
20 20
         <div>
21
+          <span>请在资格保留时间内至案场借阅图书,超出预约时间将取消预约资格</span>
21 22
           <ul>
22 23
             <li v-for="(item, index) in appointmentList" :key="index">
23
-              <libraryListItem :data="item"></libraryListItem>
24
+              <libraryListItem :data="item" :type="2"></libraryListItem>
24 25
             </li>
25 26
           </ul>
26 27
         </div>
27 28
       </div>
28 29
     </slideTabH>
30
+    <van-dialog v-model="showDialog" :show-confirm-button="false">
31
+      <div class="borrowedRecordContent" @click="showDialog = false">
32
+        1
33
+      </div>
34
+    </van-dialog>
29 35
   </div>
30 36
 </template>
31 37
 
@@ -39,7 +45,7 @@ export default {
39 45
   data () {
40 46
     return {
41 47
       tabList: [{ value: '借阅记录', id: '1' }, { value: '线上预约记录', id: '2' }],
42
-      showAppointmentDialog: false
48
+      showDialog: false
43 49
     }
44 50
   },
45 51
   created () {
@@ -69,7 +75,10 @@ export default {
69 75
     slideChange (e) {
70 76
       if (e === 1 && !this.appointmentList.length) {
71 77
       }
72
-    }
78
+    },
79
+    borrowedRecordClick (e) { // 借阅记录点击事件
80
+      this.showDialog = true
81
+    },
73 82
   }
74 83
 }
75 84
 </script>
@@ -88,6 +97,18 @@ export default {
88 97
       width: 100%;
89 98
       position: relative;
90 99
       overflow: hidden;
100
+      > span {
101
+        width: 100%;
102
+        display: block;
103
+        white-space: nowrap;
104
+        overflow: hidden;
105
+        font-size: 0.1rem;
106
+        background: #fdecec;
107
+        color: #fc6243;
108
+        line-height: 0.24rem;
109
+        text-indent: 0.15rem;
110
+        padding-top: 0.02rem;
111
+      }
91 112
       > ul {
92 113
         padding: 0 0.16rem;
93 114
         margin-bottom: 0.1rem;

+ 12
- 5
src/store/library/index.js Прегледај датотеку

@@ -3,6 +3,7 @@ import api from '../../util/api'
3 3
 
4 4
 var booksData = [],
5 5
   recordData = [],
6
+  appointmentListData = [],
6 7
   aTarget = {
7 8
     BookImg: '',
8 9
     BookName: '书名',
@@ -18,14 +19,20 @@ var booksData = [],
18 19
     BookName: '书名',
19 20
     id: '',
20 21
     Status: '状态',
21
-    Author: '作者',
22
-    Publisher: '出版社',
23
-    LeftNum: '10',
24
-    BookDescription: '描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述'
22
+    ReturnDate: '2018-08-02',
23
+    CaseName: '案场名称'
24
+  },
25
+  cTarget = {
26
+    BookImg: '',
27
+    BookName: '书名',
28
+    id: '',
29
+    appointmentDate: '2018-08-02 12:00:00',
30
+    CaseName: '案场名称'
25 31
   }
26 32
 for (var n = 0; n < 10; n++) {
27 33
   booksData.push(aTarget)
28 34
   recordData.push(bTarget)
35
+  appointmentListData.push(cTarget)
29 36
 }
30 37
 
31 38
 export default {
@@ -69,7 +76,7 @@ export default {
69 76
     bookTypeList: booksData, // 分类书籍列表
70 77
     searchBooksList: booksData, // 搜索书籍列表
71 78
     borrowedRecordList: recordData, // 借阅记录列表
72
-    appointmentList: recordData // 线上预约列表
79
+    appointmentList: appointmentListData // 线上预约列表
73 80
   },
74 81
   mutations: {
75 82
     setIndexSearchKey (state, data) { // 赋值图书首页搜索关键词