许成详 6 jaren geleden
bovenliggende
commit
b3510bfb00

+ 2
- 2
config/index.js Bestand weergeven

@@ -12,10 +12,10 @@ module.exports = {
12 12
     proxyTable: {
13 13
       '/api': {
14 14
         // target: 'https://dp.huiju360.com.cn/hj_operations',
15
-        target: 'http://localhost:8080', //wf
15
+        // target: 'http://localhost:8080', //wf
16 16
         // target: 'http://127.0.0.1:8080', 
17 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 19
         // target: 'http://dev.ycjcjy.com', //frp
20 20
         changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
21 21
         // pathRewrite: {

+ 126
- 0
src/pages/system/library/borrow/appointmentList.vue Bestand weergeven

@@ -0,0 +1,126 @@
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 Bestand weergeven

@@ -0,0 +1,142 @@
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 Bestand weergeven

@@ -144,6 +144,8 @@ import StockChange from './library/books/stockchange' // 图书编辑
144 144
 
145 145
 import BorrowManager from './library/borrow' // 借阅管理
146 146
 import BorrowBooks from './library/borrow/borrow' // 借阅管理
147
+import borrowList from './library/borrow/borrowList' // 借阅记录
148
+import appointmentList from './library/borrow/appointmentList' // 预约记录
147 149
 
148 150
 export default {
149 151
   router: [
@@ -709,7 +711,7 @@ export default {
709 711
           path: 'calendarList',
710 712
           name: 'calendarList',
711 713
           component: calendarList,
712
-          children:[]
714
+          children: []
713 715
         }]
714 716
       }, { // 健康管理
715 717
         path: 'healthManager',
@@ -755,18 +757,18 @@ export default {
755 757
           name: 'libraryList',
756 758
           component: LibraryList,
757 759
           children: []
758
-        },{ // 图书编辑
760
+        }, { // 图书编辑
759 761
           path: 'book/:id?',
760 762
           name: 'libraryEdit',
761 763
           component: LibraryEdit,
762 764
           children: []
763
-        },{ // 库存盘点
765
+        }, { // 库存盘点
764 766
           path: 'stock/:id',
765 767
           name: 'stockChange',
766 768
           component: StockChange,
767 769
           children: []
768 770
         }],
769
-      },{ // 借阅管理
771
+      }, { // 借阅管理
770 772
         path: 'borrow',
771 773
         name: 'borrow',
772 774
         component: BorrowManager,
@@ -775,6 +777,16 @@ export default {
775 777
           name: 'borrowBooks',
776 778
           component: BorrowBooks,
777 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 Bestand weergeven

@@ -1,5 +1,5 @@
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 4
 export default {
5 5
   namespaced: true,
@@ -50,7 +50,8 @@ export default {
50 50
         CaseId: '',
51 51
         OrgId: '1',
52 52
         Status: 1,
53
-        CreateDate: new Date()},
53
+        CreateDate: new Date()
54
+      },
54 55
     },
55 56
     stock: {
56 57
       list: [
@@ -79,68 +80,84 @@ export default {
79 80
     },
80 81
   },
81 82
   mutations: {
82
-    mergeTypeDetail(state, payload) {
83
+    mergeTypeDetail (state, payload) {
83 84
       state.type.detail = payload || {}
84 85
 
85 86
       if (payload && payload.BookTypeId) {
86 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 91
       state.detail = payload || {}
91 92
 
92 93
       if (payload && payload.BookId) {
93 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 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 116
       return new Promise((resolve, reject) => {
100 117
 
101 118
       })
102 119
     },
103
-    getTypeDetail({ commit }, payload) {
120
+    getTypeDetail ({ commit }, payload) {
104 121
       return new Promise((resolve, reject) => {
105 122
 
106 123
       })
107 124
     },
108
-    updateTypeDetail({ commit }, payload) {
125
+    updateTypeDetail ({ commit }, payload) {
109 126
       return new Promise((resolve, reject) => {
110 127
 
111 128
       })
112 129
     },
113
-    deleteType({ commit }, payload) {
130
+    deleteType ({ commit }, payload) {
114 131
       return new Promise((resolve, reject) => {
115 132
 
116 133
       })
117 134
     },
118
-    getBookList({ commit }, payload) {
135
+    getBookList ({ commit }, payload) {
119 136
       return new Promise((resolve, reject) => {
120 137
 
121 138
       })
122 139
     },
123
-    getBookDetail({ commit }, payload) {
140
+    getBookDetail ({ commit }, payload) {
124 141
       return new Promise((resolve, reject) => {
125 142
 
126 143
       })
127 144
     },
128
-    updateBookDetail({ commit }, payload) {
145
+    updateBookDetail ({ commit }, payload) {
129 146
       return new Promise((resolve, reject) => {
130 147
 
131 148
       })
132 149
     },
133
-    deleteBook({ commit }, payload) {
150
+    deleteBook ({ commit }, payload) {
134 151
       return new Promise((resolve, reject) => {
135 152
 
136 153
       })
137 154
     },
138
-    setBookRecommend({ commit }, payload) {
155
+    setBookRecommend ({ commit }, payload) {
139 156
       return new Promise((resolve, reject) => {
140 157
 
141 158
       })
142 159
     },
143
-    getStockList({ commit }, payload) {
160
+    getStockList ({ commit }, payload) {
144 161
       return new Promise((resolve, reject) => {
145 162
 
146 163
       })

+ 6
- 0
src/util/api.js Bestand weergeven

@@ -947,6 +947,12 @@ const $api = {
947 947
       method: 'get',
948 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 958
 export default $api