wangfei 6 лет назад
Родитель
Сommit
554fba99bb

+ 44
- 11
src/components/libraryListItem/index.vue Просмотреть файл

@@ -4,7 +4,7 @@
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
+      <span v-if="type === 1" :class="data.BorrowStatus=='0'?'active':''">{{myBookStatus}}</span>
8 8
     </div>
9 9
     <div class="flex-item">
10 10
       <div>
@@ -22,20 +22,23 @@
22 22
           </span>
23 23
         </div>
24 24
         <div v-if="type === 1" class="flex-h" style="margin-top: .06rem;">
25
-          <span class="flex-item">应还时间:{{data.ReturnDate}}</span>
25
+          <span class="flex-item">应还时间:{{toolClass.dateFormat(data.EndDate, 'yyyy-MM-dd')}}</span>
26 26
         </div>
27 27
         <div v-if="type === 1" class="flex-h">
28 28
           <span class="flex-item">{{data.CaseName}}</span>
29
-          <span>已归还</span>
30
-          <span>已逾期
31
-            <em>4</em>天
29
+          <span v-if="data.BorrowStatus=='3' || data.BorrowStatus=='2'">已归还</span>
30
+          <span v-if="data.BorrowStatus == '1'">已借阅
31
+            <em>{{borrowDay}}</em>天
32
+          </span>
33
+          <span v-if="data.BorrowStatus == '0'">已逾期
34
+            <em>{{lateDay}}</em>天
32 35
           </span>
33 36
         </div>
34 37
         <div v-if="type === 2" class="flex-h" style="margin-top: .06rem;">
35
-          <span class="flex-item">预约时间:{{data.appointmentDate}}</span>
38
+          <span class="flex-item">预约时间:{{toolClass.dateFormat(data.ReserveDate)}}</span>
36 39
         </div>
37 40
         <div v-if="type === 2" class="flex-h" style="margin-top: 0;">
38
-          <span class="flex-item">预约资格将保留至:2018-12-08</span>
41
+          <span class="flex-item">预约资格将保留至:{{toolClass.dateFormat(data.ReserveEndDate, 'yyyy-MM-dd')}}</span>
39 42
         </div>
40 43
         <div v-if="type === 2" class="flex-h" style="margin-top: 0;">
41 44
           <span class="flex-item">{{data.CaseName}}</span>
@@ -46,6 +49,7 @@
46 49
 </template>
47 50
 
48 51
 <script>
52
+import toolClass from '../../util/util'
49 53
 
50 54
 export default {
51 55
   name: '',
@@ -58,17 +62,46 @@ export default {
58 62
     bookStatus() {
59 63
       let status = '在线预约'
60 64
       switch(this.status) {
61
-        case 'reserve':
65
+        case '4':
62 66
           status = '已预约'
63 67
           break
64
-        case 'borrowed':
68
+        case '1':
65 69
           status = '借阅中'
66 70
           break
67
-        case 'late':
71
+        case '0':
68 72
           status = '借阅中'
69 73
           break
70 74
       }
71 75
       return status
76
+    },
77
+    myBookStatus() {
78
+      let status = ''
79
+      switch(this.data.BorrowStatus) {
80
+        case '4':
81
+          status = '已预约'
82
+          break
83
+        case '1':
84
+          status = '借阅中'
85
+          break
86
+        case '0':
87
+          status = '预期未还'
88
+          break
89
+        case '3':
90
+          status = '逾期归还'
91
+          break
92
+        case '2':
93
+          status = '已归还'
94
+          break
95
+      }
96
+      return status
97
+    },
98
+    lateDay() {
99
+      const nowdata = new Date()
100
+      return toolClass.diffDate(new Date(this.data.EndDate), nowdata)
101
+    },
102
+    borrowDay() {
103
+      const nowdata = new Date()
104
+      return toolClass.diffDate(new Date(this.data.BorrowDate), nowdata)
72 105
     }
73 106
   },
74 107
   components: {
@@ -77,7 +110,7 @@ export default {
77 110
   },
78 111
   methods: {
79 112
     appointmentBook (id) {
80
-      if(this.status == 'reserve' || this.status == 'borrowed' || this.status == 'late'){
113
+      if(this.status == '4' || this.status == '1' || this.status == '0'){
81 114
         return
82 115
       }
83 116
       this.$emit('appointmentBook', id)

+ 25
- 16
src/pages/user/library/borrowedRecord/index.vue Просмотреть файл

@@ -7,20 +7,20 @@
7 7
       normalColor="#666"
8 8
       @slideChange="slideChange"
9 9
     >
10
-      <div class="subMain" slot="slideTabH-borrowed">
10
+      <div class="subMain" slot="slideTabH-1">
11 11
         <div>
12 12
           <ul>
13
-            <li v-for="(item, index) in books.list" :key="index">
13
+            <li v-for="(item, index) in borrowBooks.list" :key="index">
14 14
               <libraryListItem :data="item" :type="1" @itemClick="borrowedRecordClick"></libraryListItem>
15 15
             </li>
16 16
           </ul>
17 17
         </div>
18 18
       </div>
19
-      <div class="subMain" slot="slideTabH-reserve">
19
+      <div class="subMain" slot="slideTabH-2">
20 20
         <div>
21 21
           <span>请在资格保留时间内至案场借阅图书,超出预约时间将取消预约资格</span>
22 22
           <ul>
23
-            <li v-for="(item, index) in books.list" :key="index">
23
+            <li v-for="(item, index) in reserveBooks.list" :key="index">
24 24
               <libraryListItem :data="item" :type="2"></libraryListItem>
25 25
             </li>
26 26
           </ul>
@@ -31,7 +31,7 @@
31 31
       <div class="borrowedRecordContent flex-h" @click="showDialog = false">
32 32
         <div class="img">
33 33
           <a>
34
-            <img src class="centerLabel" alt>
34
+            <img :src="currentItem.BookImg" class="centerLabel" alt>
35 35
           </a>
36 36
         </div>
37 37
         <div class="flex-item">
@@ -39,7 +39,7 @@
39 39
             <div>
40 40
               <span>状态值</span>
41 41
             </div>
42
-            <span class="title">书名</span>
42
+            <span class="title">{{currentItem.BookName}}</span>
43 43
             <span>借阅时间:</span>
44 44
             <span>应还时间:</span>
45 45
             <span>归还时间:</span>
@@ -58,20 +58,21 @@ const { mapState: mapBookState, mapActions: mapBookAction } = createNamespacedHe
58 58
 export default {
59 59
   data () {
60 60
     return {
61
-      tabList: [{ value: '借阅记录', id: 'borrowed' }, { value: '线上预约记录', id: 'reserve' }],
61
+      tabList: [{ value: '借阅记录', id: '1' }, { value: '线上预约记录', id: '2' }],
62 62
       showDialog: false,
63
-      status: 'borrowed',
63
+      status: '1',
64 64
       page: 1,
65 65
       pagesize: 10,
66
+      reserveBooks: {},
67
+      borrowBooks: {},
68
+      currentItem: {},
66 69
     }
67 70
   },
68 71
   created () {
69
-    this.getList()
72
+    this.getList('1')
73
+    this.getList('2')
70 74
   },
71 75
   computed: {
72
-    ...mapBookState({
73
-      books: x => x.minebooks,
74
-    })
75 76
   },
76 77
   components: {
77 78
     libraryListItem,
@@ -84,18 +85,26 @@ export default {
84 85
     slideChange (e) {
85 86
       if (this.status !== this.tabList[e].id) {
86 87
         this.status = this.tabList[e].id
87
-        this.page = 1
88
-        this.getList()
88
+        // this.page = 1
89
+        // this.getList()
89 90
       }
90 91
     },
91 92
     borrowedRecordClick (e) { // 借阅记录点击事件
93
+      this.currentItem = e
92 94
       this.showDialog = true
93 95
     },
94
-    getList () {
96
+    getList (status) {
97
+      const _that = this
95 98
       this.getMineBook({
96 99
         page: this.page,
97 100
         pagesize: this.pagesize,
98
-        status: this.status,
101
+        status: status == '1'?'1,3,2,0':'4',
102
+      }).then((res) => {
103
+        if(status == '1') {
104
+          _that.borrowBooks = res
105
+        } else {
106
+          _that.reserveBooks = res
107
+        }
99 108
       })
100 109
     }
101 110
   }

+ 2
- 1
src/store/book/index.js Просмотреть файл

@@ -65,7 +65,8 @@ export default {
65 65
         Ajax({
66 66
           ...api.library.getBookList,
67 67
           queryData: {
68
-            ...payload
68
+            ...payload,
69
+            showzero: '0',
69 70
           },
70 71
         }).then(res => {
71 72
           commit('updateBookList', res)

+ 7
- 0
src/util/util.js Просмотреть файл

@@ -116,6 +116,13 @@ const toolClass = {
116 116
     var time2 = date2.getFullYear()+"年"+ (date2.getMonth()+1) +"月"+date2.getDate()+"日";
117 117
     return time2;
118 118
   },
119
+  diffDate (begintime, endtime) {
120
+    var begintime_ms = Date.parse(begintime);
121
+    var endtime_ms = Date.parse(endtime); 
122
+    var date3=endtime_ms-begintime_ms
123
+    var days=Math.floor(date3/(24*3600*1000))
124
+    return days
125
+  },
119 126
 }
120 127
 
121 128
 export default toolClass