许成详 6 years ago
parent
commit
b3510bfb00

+ 2
- 2
config/index.js View File

12
     proxyTable: {
12
     proxyTable: {
13
       '/api': {
13
       '/api': {
14
         // target: 'https://dp.huiju360.com.cn/hj_operations',
14
         // target: 'https://dp.huiju360.com.cn/hj_operations',
15
-        target: 'http://localhost:8080', //wf
15
+        // target: 'http://localhost:8080', //wf
16
         // target: 'http://127.0.0.1:8080', 
16
         // target: 'http://127.0.0.1:8080', 
17
         // target: 'http://192.168.0.11:8080', //ys
17
         // target: 'http://192.168.0.11:8080', //ys
18
-        // target: 'http://192.168.0.102:8080', //hyq
18
+        target: 'http://192.168.0.102:8080', //hyq
19
         // target: 'http://dev.ycjcjy.com', //frp
19
         // target: 'http://dev.ycjcjy.com', //frp
20
         changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
20
         changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
21
         // pathRewrite: {
21
         // pathRewrite: {

+ 126
- 0
src/pages/system/library/borrow/appointmentList.vue View File

1
+<template>
2
+  <div class="subPage">
3
+    <div class="system-table-search">
4
+      <div class="flex-h" style="align-items: flex-start;">
5
+        <div class="flex-item flex-h"></div>
6
+        <ul style="white-space: normal;">
7
+          <li style="margin-bottom: 15px;">
8
+            <el-input placeholder="请输入条形码" v-model="postData.BarCode"></el-input>
9
+          </li>
10
+          <li style="margin-bottom: 15px;">
11
+            <el-input placeholder="请输入图书名" v-model="postData.BookName"></el-input>
12
+          </li>
13
+          <li style="margin-bottom: 15px;">
14
+            <el-input placeholder="请输入用户名" v-model="postData.UserName"></el-input>
15
+          </li>
16
+          <li style="margin-bottom: 15px;">
17
+            <el-input placeholder="请输入手机号" v-model="postData.Tel"></el-input>
18
+          </li>
19
+          <li style="margin-bottom: 15px;">
20
+            <el-select v-model="CaseId" placeholder="请选择案场">
21
+              <el-option key="all" label="所有案场" value="all"></el-option>
22
+              <el-option
23
+                v-for="item in cases"
24
+                :key="item.CaseId"
25
+                :label="item.CaseName"
26
+                :value="item.CaseId"
27
+              ></el-option>
28
+            </el-select>
29
+          </li>
30
+        </ul>
31
+        <el-button type="primary" @click="search">搜索</el-button>
32
+      </div>
33
+      <div class="moreFilter"></div>
34
+    </div>
35
+    <div class="system-table-box">
36
+      <el-table :data="list" stripe style="width: 100%">
37
+        <el-table-column prop="GoodsName" label="案场"></el-table-column>
38
+        <el-table-column label="图片" width="300">
39
+          <template slot-scope="scope">
40
+            <img :src="((scope.row.Images || [])[0] || {}).ImgUrl" style="width:200px;">
41
+          </template>
42
+        </el-table-column>
43
+        <el-table-column prop="BarCode" label="条形码"></el-table-column>
44
+        <el-table-column prop="BookName" label="图书名"></el-table-column>
45
+        <el-table-column prop="UserName" label="用户名"></el-table-column>
46
+        <el-table-column prop="Tel" label="手机号"></el-table-column>
47
+        <el-table-column prop="xxDate" label="预约时间"></el-table-column>
48
+        <el-table-column prop="xxDate" label="保留时间"></el-table-column>
49
+        <el-table-column label="操作">
50
+          <template slot-scope="scope">
51
+            <el-button size="mini" type="warning">取消预约</el-button>
52
+          </template>
53
+        </el-table-column>
54
+      </el-table>
55
+      <el-pagination
56
+        @size-change="handleSizeChange"
57
+        @current-change="handleCurrentChange"
58
+        :current-page.sync="postData.page"
59
+        :page-size="postData.pagesize"
60
+        layout="prev, pager, next, jumper"
61
+        :total="total"
62
+      ></el-pagination>
63
+    </div>
64
+  </div>
65
+</template>
66
+
67
+<script>
68
+import { createNamespacedHelpers, mapState } from 'vuex'
69
+const { mapState: mapLibSate, mapActions: mapLibActions } = createNamespacedHelpers('library')
70
+export default {
71
+  name: 'borrowList',
72
+  data () {
73
+    return {
74
+      total: 1000,
75
+      postData: {
76
+        BarCode: '',
77
+        BookName: '',
78
+        UserName: '',
79
+        Tel: '',
80
+        Status: '',
81
+        CaseId: '',
82
+        page: 1,
83
+        pagesize: 10
84
+      },
85
+      statusList: [{
86
+        id: '',
87
+        value: ''
88
+      }],
89
+      list: []
90
+    }
91
+  },
92
+  created () {
93
+  },
94
+  computed: {
95
+    ...mapState({
96
+      cases: x => x.app.cases.list,
97
+      defaultCaseId: x => x.app.cases.default,
98
+      orgid: x => x.app.user.OrgId
99
+    }),
100
+    ...mapLibSate({
101
+    }),
102
+    CaseId: {
103
+      get () {
104
+        return this.postData.CaseId || this.defaultCaseId
105
+      },
106
+      set (val) {
107
+        this.postData.CaseId = val
108
+      }
109
+    }
110
+  },
111
+  methods: {
112
+    ...mapLibActions([]),
113
+    search () {
114
+
115
+    },
116
+    handleSizeChange (val) {
117
+      console.log(`每页 ${val} 条`)
118
+    },
119
+    handleCurrentChange (val) {
120
+    },
121
+  }
122
+}
123
+</script>
124
+
125
+<style lang="scss">
126
+</style>

+ 142
- 0
src/pages/system/library/borrow/borrowList.vue View File

1
+<template>
2
+  <div class="subPage">
3
+    <div class="system-table-search">
4
+      <div class="flex-h" style="align-items: flex-start;">
5
+        <div class="flex-item flex-h"></div>
6
+        <ul style="white-space: normal;">
7
+          <li style="margin-bottom: 15px;">
8
+            <el-input placeholder="请输入条形码" v-model="postData.barcode"></el-input>
9
+          </li>
10
+          <li style="margin-bottom: 15px;">
11
+            <el-input placeholder="请输入图书名" v-model="postData.bookname"></el-input>
12
+          </li>
13
+          <li style="margin-bottom: 15px;">
14
+            <el-input placeholder="请输入借阅人" v-model="postData.borrowername"></el-input>
15
+          </li>
16
+          <li style="margin-bottom: 15px;">
17
+            <el-input placeholder="请输入手机号" v-model="postData.tel"></el-input>
18
+          </li>
19
+          <li style="margin-bottom: 15px;">
20
+            <el-select v-model="CaseId" placeholder="请选择案场">
21
+              <el-option key="all" label="所有案场" value="all"></el-option>
22
+              <el-option
23
+                v-for="item in cases"
24
+                :key="item.CaseId"
25
+                :label="item.CaseName"
26
+                :value="item.CaseId"
27
+              ></el-option>
28
+            </el-select>
29
+          </li>
30
+          <li style="margin-bottom: 15px;">
31
+            <el-select v-model="postData.borrowstatus" placeholder="请选择状态">
32
+              <el-option
33
+                v-for="item in statusList"
34
+                :key="item.id"
35
+                :label="item.value"
36
+                :value="item.id"
37
+              ></el-option>
38
+            </el-select>
39
+          </li>
40
+        </ul>
41
+        <el-button type="primary" @click="search">搜索</el-button>
42
+      </div>
43
+      <div class="moreFilter"></div>
44
+    </div>
45
+    <div class="system-table-box">
46
+      <el-table :data="list" stripe style="width: 100%">
47
+        <el-table-column prop="GoodsName" label="案场"></el-table-column>
48
+        <el-table-column label="图片" width="300">
49
+          <template slot-scope="scope">
50
+            <img :src="((scope.row.Images || [])[0] || {}).ImgUrl" style="width:200px;">
51
+          </template>
52
+        </el-table-column>
53
+        <el-table-column prop="BarCode" label="条形码"></el-table-column>
54
+        <el-table-column prop="BookName" label="图书名"></el-table-column>
55
+        <el-table-column prop="BorrowerName" label="借阅人"></el-table-column>
56
+        <el-table-column prop="Tel" label="手机号"></el-table-column>
57
+        <el-table-column prop="CreateDate" label="借阅时间"></el-table-column>
58
+        <el-table-column prop="xxDate" label="规定归还时间"></el-table-column>
59
+        <el-table-column prop="xxDate" label="实际归还时间"></el-table-column>
60
+        <el-table-column prop="Status" label="状态"></el-table-column>
61
+      </el-table>
62
+      <el-pagination
63
+        @current-change="handleCurrentChange"
64
+        :current-page.sync="postData.page"
65
+        :page-size="postData.pagesize"
66
+        layout="prev, pager, next, jumper"
67
+        :total="total"
68
+      ></el-pagination>
69
+    </div>
70
+  </div>
71
+</template>
72
+
73
+<script>
74
+import { createNamespacedHelpers, mapState } from 'vuex'
75
+const { mapState: mapLibSate, mapActions: mapLibActions } = createNamespacedHelpers('library')
76
+export default {
77
+  name: 'borrowList',
78
+  data () {
79
+    return {
80
+      total: 1000,
81
+      postData: {
82
+        barcode: '',
83
+        bookname: '',
84
+        borrowername: '',
85
+        tel: '',
86
+        borrowstatus: '',
87
+        caseid: '',
88
+        page: 1,
89
+        pagesize: 10
90
+      },
91
+      statusList: [{
92
+        id: '',
93
+        value: ''
94
+      }]
95
+    }
96
+  },
97
+  created () {
98
+    this.getBorrowList({ ...this.postData }).then((res) => {
99
+      this.page = res.page
100
+      this.total = res.pagenum
101
+    })
102
+  },
103
+  computed: {
104
+    ...mapState({
105
+      cases: x => x.app.cases.list,
106
+      defaultCaseId: x => x.app.cases.default,
107
+      orgid: x => x.app.user.OrgId
108
+    }),
109
+    ...mapLibSate({
110
+      list: x => x.borrow.list
111
+    }),
112
+    CaseId: {
113
+      get () {
114
+        return this.postData.caseid || this.defaultCaseId
115
+      },
116
+      set (val) {
117
+        this.postData.caseid = val
118
+      }
119
+    }
120
+  },
121
+  methods: {
122
+    ...mapLibActions(['getBorrowList']),
123
+    search () {
124
+      this.page = 1
125
+      this.getBorrowList({ ...this.postData }).then((res) => {
126
+        this.page = res.page
127
+        this.total = res.pagenum
128
+      })
129
+    },
130
+    handleCurrentChange (val) {
131
+      this.postData.page = val
132
+      this.getBorrowList({ ...this.postData }).then((res) => {
133
+        this.page = res.page
134
+        this.total = res.pagenum
135
+      })
136
+    },
137
+  }
138
+}
139
+</script>
140
+
141
+<style lang="scss">
142
+</style>

+ 16
- 4
src/pages/system/page.js View File

144
 
144
 
145
 import BorrowManager from './library/borrow' // 借阅管理
145
 import BorrowManager from './library/borrow' // 借阅管理
146
 import BorrowBooks from './library/borrow/borrow' // 借阅管理
146
 import BorrowBooks from './library/borrow/borrow' // 借阅管理
147
+import borrowList from './library/borrow/borrowList' // 借阅记录
148
+import appointmentList from './library/borrow/appointmentList' // 预约记录
147
 
149
 
148
 export default {
150
 export default {
149
   router: [
151
   router: [
709
           path: 'calendarList',
711
           path: 'calendarList',
710
           name: 'calendarList',
712
           name: 'calendarList',
711
           component: calendarList,
713
           component: calendarList,
712
-          children:[]
714
+          children: []
713
         }]
715
         }]
714
       }, { // 健康管理
716
       }, { // 健康管理
715
         path: 'healthManager',
717
         path: 'healthManager',
755
           name: 'libraryList',
757
           name: 'libraryList',
756
           component: LibraryList,
758
           component: LibraryList,
757
           children: []
759
           children: []
758
-        },{ // 图书编辑
760
+        }, { // 图书编辑
759
           path: 'book/:id?',
761
           path: 'book/:id?',
760
           name: 'libraryEdit',
762
           name: 'libraryEdit',
761
           component: LibraryEdit,
763
           component: LibraryEdit,
762
           children: []
764
           children: []
763
-        },{ // 库存盘点
765
+        }, { // 库存盘点
764
           path: 'stock/:id',
766
           path: 'stock/:id',
765
           name: 'stockChange',
767
           name: 'stockChange',
766
           component: StockChange,
768
           component: StockChange,
767
           children: []
769
           children: []
768
         }],
770
         }],
769
-      },{ // 借阅管理
771
+      }, { // 借阅管理
770
         path: 'borrow',
772
         path: 'borrow',
771
         name: 'borrow',
773
         name: 'borrow',
772
         component: BorrowManager,
774
         component: BorrowManager,
775
           name: 'borrowBooks',
777
           name: 'borrowBooks',
776
           component: BorrowBooks,
778
           component: BorrowBooks,
777
           children: []
779
           children: []
780
+        }, { // 借阅记录
781
+          path: 'borrowList',
782
+          name: 'borrowList',
783
+          component: borrowList,
784
+          children: []
785
+        }, { // 预约记录
786
+          path: 'appointmentList',
787
+          name: 'appointmentList',
788
+          component: appointmentList,
789
+          children: []
778
         }]
790
         }]
779
       }]
791
       }]
780
     },
792
     },

+ 32
- 15
src/store/library/index.js View File

1
-// import ajax from '../../util/ajax'
2
-// import api from '../../util/api'
1
+import ajax from '../../util/ajax'
2
+import api from '../../util/api'
3
 
3
 
4
 export default {
4
 export default {
5
   namespaced: true,
5
   namespaced: true,
50
         CaseId: '',
50
         CaseId: '',
51
         OrgId: '1',
51
         OrgId: '1',
52
         Status: 1,
52
         Status: 1,
53
-        CreateDate: new Date()},
53
+        CreateDate: new Date()
54
+      },
54
     },
55
     },
55
     stock: {
56
     stock: {
56
       list: [
57
       list: [
79
     },
80
     },
80
   },
81
   },
81
   mutations: {
82
   mutations: {
82
-    mergeTypeDetail(state, payload) {
83
+    mergeTypeDetail (state, payload) {
83
       state.type.detail = payload || {}
84
       state.type.detail = payload || {}
84
 
85
 
85
       if (payload && payload.BookTypeId) {
86
       if (payload && payload.BookTypeId) {
86
         state.type.list = (state.type.list || []).map(x => x.BookTypeId === payload.BookTypeId ? payload : x)
87
         state.type.list = (state.type.list || []).map(x => x.BookTypeId === payload.BookTypeId ? payload : x)
87
       }
88
       }
88
     },
89
     },
89
-    mergeBookDetail(state, payload) {
90
+    mergeBookDetail (state, payload) {
90
       state.detail = payload || {}
91
       state.detail = payload || {}
91
 
92
 
92
       if (payload && payload.BookId) {
93
       if (payload && payload.BookId) {
93
         state.list = (state.list || []).map(x => x.BookId === payload.BookId ? payload : x)
94
         state.list = (state.list || []).map(x => x.BookId === payload.BookId ? payload : x)
94
       }
95
       }
95
     },
96
     },
97
+    setBorrowList (state, payload) { // 更新借阅记录
98
+      state.borrow.list = payload
99
+    }
96
   },
100
   },
97
   actions: {
101
   actions: {
98
-    getTypeList({ commit }, payload) {
102
+    getBorrowList ({ commit }, payload) { // 获取借阅记录
103
+      return new Promise((resolve, reject) => {
104
+        ajax(api.borrow.getBorrowList.url, {
105
+          method: api.borrow.getBorrowList.method,
106
+          queryData: {
107
+            ...payload,
108
+          }
109
+        }).then(res => {
110
+          commit('setBorrowList', res.list)
111
+          resolve(res)
112
+        }).catch(reject)
113
+      })
114
+    },
115
+    getTypeList ({ commit }, payload) {
99
       return new Promise((resolve, reject) => {
116
       return new Promise((resolve, reject) => {
100
 
117
 
101
       })
118
       })
102
     },
119
     },
103
-    getTypeDetail({ commit }, payload) {
120
+    getTypeDetail ({ commit }, payload) {
104
       return new Promise((resolve, reject) => {
121
       return new Promise((resolve, reject) => {
105
 
122
 
106
       })
123
       })
107
     },
124
     },
108
-    updateTypeDetail({ commit }, payload) {
125
+    updateTypeDetail ({ commit }, payload) {
109
       return new Promise((resolve, reject) => {
126
       return new Promise((resolve, reject) => {
110
 
127
 
111
       })
128
       })
112
     },
129
     },
113
-    deleteType({ commit }, payload) {
130
+    deleteType ({ commit }, payload) {
114
       return new Promise((resolve, reject) => {
131
       return new Promise((resolve, reject) => {
115
 
132
 
116
       })
133
       })
117
     },
134
     },
118
-    getBookList({ commit }, payload) {
135
+    getBookList ({ commit }, payload) {
119
       return new Promise((resolve, reject) => {
136
       return new Promise((resolve, reject) => {
120
 
137
 
121
       })
138
       })
122
     },
139
     },
123
-    getBookDetail({ commit }, payload) {
140
+    getBookDetail ({ commit }, payload) {
124
       return new Promise((resolve, reject) => {
141
       return new Promise((resolve, reject) => {
125
 
142
 
126
       })
143
       })
127
     },
144
     },
128
-    updateBookDetail({ commit }, payload) {
145
+    updateBookDetail ({ commit }, payload) {
129
       return new Promise((resolve, reject) => {
146
       return new Promise((resolve, reject) => {
130
 
147
 
131
       })
148
       })
132
     },
149
     },
133
-    deleteBook({ commit }, payload) {
150
+    deleteBook ({ commit }, payload) {
134
       return new Promise((resolve, reject) => {
151
       return new Promise((resolve, reject) => {
135
 
152
 
136
       })
153
       })
137
     },
154
     },
138
-    setBookRecommend({ commit }, payload) {
155
+    setBookRecommend ({ commit }, payload) {
139
       return new Promise((resolve, reject) => {
156
       return new Promise((resolve, reject) => {
140
 
157
 
141
       })
158
       })
142
     },
159
     },
143
-    getStockList({ commit }, payload) {
160
+    getStockList ({ commit }, payload) {
144
       return new Promise((resolve, reject) => {
161
       return new Promise((resolve, reject) => {
145
 
162
 
146
       })
163
       })

+ 6
- 0
src/util/api.js View File

947
       method: 'get',
947
       method: 'get',
948
       url: `${baseUrl}${common}/record`
948
       url: `${baseUrl}${common}/record`
949
     }
949
     }
950
+  },
951
+  borrow: {
952
+    getBorrowList: {
953
+      method: 'get',
954
+      url: `${baseUrl}${common}/book/record`
955
+    }
950
   }
956
   }
951
 }
957
 }
952
 export default $api
958
 export default $api