wangfei 6 år sedan
förälder
incheckning
7fd1699d18

+ 3
- 1
src/pages/system/library/books/detail.vue Visa fil

@@ -23,6 +23,7 @@
23 23
             ></el-option>
24 24
           </el-select>
25 25
         </el-form-item>
26
+        <div class="red-hint" style="margin-left:100px;">建议上传156*220尺寸的图片</div>
26 27
         <el-form-item label="图片" prop="BookImg">
27 28
           <el-upload
28 29
             class="avatar-uploader"
@@ -36,7 +37,7 @@
36 37
             <i v-else class="el-icon-plus avatar-uploader-icon"></i>
37 38
           </el-upload>
38 39
         </el-form-item>
39
-        <el-form-item label="书名" prop="BookName">
40
+        <el-form-item label="书名" prop="BookName">
40 41
           <el-input v-model="formData.BookName" :style="{ width: '200px' }"></el-input>
41 42
         </el-form-item>
42 43
         <el-form-item label="分类" prop="BookTypeId">
@@ -213,6 +214,7 @@ export default {
213 214
                 message: '更新或编辑成功',
214 215
                 type: 'success'
215 216
               })
217
+              this.$router.push({ name: 'libraryList' })
216 218
             })
217 219
             .catch(err => {
218 220
               this.$message({

+ 58
- 40
src/pages/system/library/books/list.vue Visa fil

@@ -1,31 +1,46 @@
1 1
 <template>
2 2
   <div class="subPage" :style="{ padding: '20px' }">
3
-    <div>
4
-      <el-form inline>
5
-        <el-form-item label="案场">
6
-          <el-select v-model="caseId" size="medium" placeholder="请选择案场">
7
-            <el-option
8
-              v-for="item in cases"
9
-              :key="item.CaseId"
10
-              :label="item.CaseName"
11
-              :value="item.CaseId"
12
-            ></el-option>
13
-          </el-select>
14
-        </el-form-item>
15
-        <el-form-item label="条码">
16
-          <el-input v-model="formData.bookBarcode"></el-input>
17
-        </el-form-item>
18
-        <el-form-item label="书名">
19
-          <el-input v-model="formData.bookName"></el-input>
20
-        </el-form-item>
21
-        <el-form-item :style="{ float: 'right' }">
22
-          <el-button type="primary" size="medium" @click="filterList">搜索</el-button>
23
-        </el-form-item>
24
-      </el-form>
3
+    <div class="system-table-search">
4
+      <div class="flex-h" style="align-items: flex-start;">
5
+        <div class="flex-item flex-h">
6
+          <el-button plain @click="editBook()" size="medium">图书录入</el-button>
7
+          <el-button plain @click="showBatchInput()" size="medium">批量导入</el-button>
8
+        </div>
9
+        <ul style="white-space: normal;">
10
+            <li style="margin-bottom: 15px;">
11
+              <el-select v-model="caseId" size="medium" placeholder="请选择案场">
12
+                <el-option
13
+                  v-for="item in cases"
14
+                  :key="item.CaseId"
15
+                  :label="item.CaseName"
16
+                  :value="item.CaseId"
17
+                ></el-option>
18
+              </el-select>
19
+            </li>
20
+            <li>
21
+              <el-input v-model="formData.bookBarcode" placeholder="请输入或扫描条码"></el-input>
22
+            </li>
23
+            <li>
24
+              <el-input v-model="formData.bookName" placeholder="请输入书名"></el-input>
25
+            </li>
26
+            <li>
27
+              <el-select v-model="formData.booktype" size="medium" placeholder="请选择分类">
28
+                <el-option label="所有分类" value=""></el-option>
29
+                <el-option
30
+                  v-for="item in types"
31
+                  :key="item.BookTypeId"
32
+                  :label="item.BookTypeName"
33
+                  :value="item.BookTypeId"
34
+                ></el-option>
35
+              </el-select>
36
+            </li>
37
+            <li>
38
+              <el-button type="primary" size="medium" @click="filterList">搜索</el-button>
39
+            </li>
40
+        </ul>
41
+      </div>
25 42
     </div>
26 43
     <div>
27
-      <el-button plain @click="editBook()" size="medium">图书录入</el-button>
28
-      <el-button plain @click="showBatchInput()" size="medium">批量导入</el-button>
29 44
       <div :style="{ margin: '10px 0' }">
30 45
         <el-table :data="list" border style="width: 100%">
31 46
           <el-table-column label="图片" width="128">
@@ -33,8 +48,8 @@
33 48
               <img width="64" :src="scope.row.BookImg + '?x-oss-process=style/compress-rotate'" alt>
34 49
             </template>
35 50
           </el-table-column>
36
-          <el-table-column prop="BookBarcode" label="条码"></el-table-column>
37
-          <el-table-column prop="BookName" label="书名"></el-table-column>
51
+          <el-table-column prop="BookBarcode" label="条码"></el-table-column>
52
+          <el-table-column prop="BookName" label="书名"></el-table-column>
38 53
           <el-table-column label="案场">
39 54
             <template slot-scope="scope">
40 55
               <span>{{ getCaseName(scope.row.CaseId) }}</span>
@@ -50,10 +65,10 @@
50 65
               <span>{{ formatPrice(scope.row.Price) }}</span>
51 66
             </template>
52 67
           </el-table-column>
53
-          <el-table-column prop="BorrowDays" label="借阅(天)"></el-table-column>
54
-          <el-table-column prop="InStock" label="总数量"></el-table-column>
55
-          <el-table-column prop="BorrowNum" label="借出"></el-table-column>
56
-          <el-table-column label="预约">
68
+          <el-table-column prop="BorrowDays" label="借阅时间" width="50"></el-table-column>
69
+          <el-table-column prop="InStock" label="总数量" width="50"></el-table-column>
70
+          <el-table-column prop="BorrowNum" label="借出" width="50"></el-table-column>
71
+          <el-table-column label="预约数量" width="50">
57 72
             <template slot-scope="scope">
58 73
               <span>{{ getReserveNum(scope.row) }}</span>
59 74
             </template>
@@ -63,16 +78,12 @@
63 78
               <span>{{ toolClass.dateFormat(scope.row.CreateDate) }}</span>
64 79
             </template>
65 80
           </el-table-column>
66
-          <el-table-column fixed="right" label="操作" width="150">
81
+          <el-table-column fixed="right" label="操作" width="350">
67 82
             <template slot-scope="scope">
68
-              <div>
69
-                <el-button type="text" @click="changeStock(scope.row)" size="small">盘点</el-button>
70
-                <el-button @click="setRecommend(scope.row)" type="text" size="small">{{ scope.row.IsRecommend === 1 ? '取消推荐' : '设为推荐' }}</el-button>
71
-              </div>
72
-              <div>
73
-                <el-button @click="editBook(scope.row)" type="text" size="small">编辑</el-button>
74
-                <el-button @click="removeBook(scope.row)" type="text" size="small">删除</el-button>
75
-              </div>
83
+                <el-button type="primary" @click="changeStock(scope.row)" size="small">库存盘点</el-button>
84
+                <el-button @click="setRecommend(scope.row)" type="warning" size="small">{{ scope.row.IsRecommend === 1 ? '取消推荐' : '设为推荐' }}</el-button>
85
+                <el-button @click="editBook(scope.row)" type="warning" size="small">编辑</el-button>
86
+                <el-button @click="removeBook(scope.row)" type="danger" size="small">删除</el-button>
76 87
             </template>
77 88
           </el-table-column>
78 89
         </el-table>
@@ -114,9 +125,11 @@ export default {
114 125
         caseId: '',
115 126
         bookBarcode: '',
116 127
         bookName: '',
128
+        booktype: '',
117 129
       },
118 130
       inputRef: undefined,
119 131
       showDialog: false,
132
+      load: true,
120 133
     }
121 134
   },
122 135
   computed: {
@@ -133,6 +146,9 @@ export default {
133 146
     }),
134 147
     caseId: {
135 148
       get() {
149
+        if (this.defaultCase !== '' && this.load) {
150
+          this.filterList()
151
+        }
136 152
         return this.formData.caseId || this.defaultCase
137 153
       },
138 154
       set(nv) {
@@ -172,6 +188,7 @@ export default {
172 188
 
173 189
     // 查询过滤
174 190
     filterList({ page = 0 } = {}) {
191
+      this.load = false
175 192
       const caseId = this.caseId || this.defaultCase
176 193
       if (!caseId) {
177 194
         this.$message({
@@ -188,7 +205,8 @@ export default {
188 205
         page,
189 206
         caseid: caseId,
190 207
         barcode: this.formData.bookBarcode,
191
-        name: this.formData.bookName
208
+        name: this.formData.bookName,
209
+        booktype: this.formData.booktype,
192 210
       }).then(({ list }) => {
193 211
         if (!list) {
194 212
           this.$message({

+ 8
- 7
src/pages/system/library/books/types/detail.vue Visa fil

@@ -11,7 +11,8 @@
11 11
           ></el-option>
12 12
         </el-select>
13 13
       </el-form-item>
14
-      <el-form-item label="图片" prop="BookTypeImg">
14
+      <div class="red-hint" style="margin-left:100px;">建议上传80*80尺寸的图片</div>
15
+      <el-form-item label="分类图片" prop="BookTypeImg">
15 16
         <el-upload
16 17
           class="avatar-uploader"
17 18
           action=""
@@ -24,7 +25,7 @@
24 25
           <i v-else class="el-icon-plus avatar-uploader-icon"></i>
25 26
         </el-upload>
26 27
       </el-form-item>
27
-      <el-form-item label="名称" prop="BookTypeName">
28
+      <el-form-item label="分类名称" prop="BookTypeName">
28 29
         <el-input v-model="formData.BookTypeName" :style="{ width: '200px' }"></el-input>
29 30
       </el-form-item>
30 31
       <el-form-item :style="{ paddingTop: '40px' }">
@@ -137,11 +138,11 @@ export default {
137 138
               })
138 139
             })
139 140
         } else {
140
-          this.$message({
141
-            showClose: true,
142
-            message: '表单填写错误',
143
-            type: 'error'
144
-          })
141
+          // this.$message({
142
+          //   showClose: true,
143
+          //   message: '表单填写错误',
144
+          //   type: 'error'
145
+          // })
145 146
           return false
146 147
         }
147 148
       })

+ 11
- 6
src/pages/system/library/books/types/list.vue Visa fil

@@ -25,22 +25,22 @@
25 25
     <div>
26 26
       <div :style="{ margin: '10px 0' }">
27 27
         <el-table :data="list" border style="width: 100%">
28
-          <el-table-column label="图片" width="128">
28
+          <el-table-column label="分类图片" width="128">
29 29
             <template slot-scope="scope">
30 30
               <img width="64" :src="scope.row.BookTypeImg + '?x-oss-process=style/compress-rotate'" alt>
31 31
             </template>
32 32
           </el-table-column>
33
-          <el-table-column prop="BookTypeName" label="名称"></el-table-column>
34
-          <el-table-column label="案场" width="200">
33
+          <el-table-column prop="BookTypeName" label="分类名称"></el-table-column>
34
+          <el-table-column label="所属案场" width="200">
35 35
             <template slot-scope="scope">
36 36
               <span>{{ getCaseName(scope.row.CaseId) }}</span>
37 37
             </template>
38 38
           </el-table-column>
39 39
           <el-table-column prop="Nums" label="图书数量"></el-table-column>
40
-          <el-table-column fixed="right" label="操作" width="150">
40
+          <el-table-column fixed="right" label="操作" width="200">
41 41
             <template slot-scope="scope">
42
-              <el-button @click="editType(scope.row)" type="text" size="small">编辑</el-button>
43
-              <el-button @click="removeType(scope.row)" type="text" size="small">删除</el-button>
42
+              <el-button @click="editType(scope.row)" type="warning" size="small">编辑</el-button>
43
+              <el-button @click="removeType(scope.row)" type="danger" size="small">删除</el-button>
44 44
             </template>
45 45
           </el-table-column>
46 46
         </el-table>
@@ -69,6 +69,7 @@ export default {
69 69
   data() {
70 70
     return {
71 71
       formData: { caseid: '' },
72
+      load: true,
72 73
     }
73 74
   },
74 75
   computed: {
@@ -84,6 +85,9 @@ export default {
84 85
     }),
85 86
     caseId: {
86 87
       get() {
88
+        if (this.defaultCase !== '' && this.load) {
89
+          this.filterList()
90
+        }
87 91
         return this.formData.caseid || this.defaultCase
88 92
       },
89 93
       set(nv) {
@@ -105,6 +109,7 @@ export default {
105 109
     }),
106 110
 
107 111
     filterList({ page = 0 } = {}) {
112
+      this.load = false
108 113
       const caseId = this.formData.caseid || this.defaultCase
109 114
       if (!caseId) {
110 115
         this.$message({

+ 10
- 10
src/pages/system/library/borrow/appointmentList.vue Visa fil

@@ -17,8 +17,8 @@
17 17
             <el-input placeholder="请输入手机号" v-model="postData.customerphone"></el-input>
18 18
           </li>
19 19
           <li style="margin-bottom: 15px;">
20
-            <el-select v-model="CaseId" placeholder="请选择案场">
21
-              <el-option key="all" label="所有案场" value="all"></el-option>
20
+            <el-select v-model="postData.caseid" placeholder="请选择案场">
21
+              <el-option key="all" label="所有案场" value=""></el-option>
22 22
               <el-option
23 23
                 v-for="item in cases"
24 24
                 :key="item.CaseId"
@@ -112,14 +112,14 @@ export default {
112 112
     ...mapLibSate({
113 113
       list: x => x.borrow.list
114 114
     }),
115
-    CaseId: {
116
-      get () {
117
-        return this.postData.caseid || this.defaultCaseId
118
-      },
119
-      set (val) {
120
-        this.postData.caseid = val
121
-      }
122
-    }
115
+    // CaseId: {
116
+    //   get () {
117
+    //     return this.postData.caseid || this.defaultCaseId
118
+    //   },
119
+    //   set (val) {
120
+    //     this.postData.caseid = val
121
+    //   }
122
+    // }
123 123
   },
124 124
   methods: {
125 125
     ...mapMutations({

+ 3
- 3
src/pages/system/library/borrow/bookreturn.vue Visa fil

@@ -49,13 +49,13 @@
49 49
         </el-table-column>
50 50
         <el-table-column fixed="right" label="操作" width="150">
51 51
           <template slot-scope="scope">
52
-            <el-button @click="isBookReturn(scope.row)" type="text" size="small">归还</el-button>
52
+            <el-button @click="isBookReturn(scope.row)" type="warning" size="small">归还</el-button>
53 53
           </template>
54 54
         </el-table-column>
55 55
       </el-table>
56 56
 
57
-      <div :style="{ paddingTop: '40px' }">
58
-        <el-button @click="cancel()">取消</el-button>
57
+      <div :style="{ marginTop: '40px', marginBottom: '40px' }">
58
+        <el-button @click="cancel()">返回</el-button>
59 59
       </div>
60 60
     </div>
61 61
   </div>

+ 12
- 3
src/pages/system/library/borrow/borrow.vue Visa fil

@@ -73,9 +73,9 @@
73 73
         <el-table-column prop="BorrowDays" label="规定借阅天数"></el-table-column>
74 74
       </el-table>
75 75
 
76
-      <div :style="{ paddingTop: '40px' }">
76
+      <div :style="{ marginTop: '40px', marginBottom: '40px' }">
77 77
         <el-button type="primary" @click="submit()">立即借阅</el-button>
78
-        <el-button @click="$router.back()">取消</el-button>
78
+        <el-button @click="cancel()">返回</el-button>
79 79
       </div>
80 80
     </div>
81 81
   </div>
@@ -132,7 +132,8 @@ export default {
132 132
       getBorrowHistory: 'getBorrowHistory',
133 133
       getList: 'getBookList',
134 134
       getTypeList: 'getTypeList',
135
-      borrowBooks: 'borrowBooks'
135
+      borrowBooks: 'borrowBooks',
136
+      setListNil: 'setListNil',
136 137
     }),
137 138
 
138 139
     nextStep() {
@@ -224,6 +225,10 @@ export default {
224 225
               message: '借阅成功',
225 226
               type: 'success'
226 227
             })
228
+            this.formData.barcode = ''
229
+            this.formData.name = ''
230
+            this.getBorrowHistory({ customerInfo: this.customerInfo })
231
+            this.setListNil()
227 232
           }).catch(err => {
228 233
             this.$message({
229 234
               showClose: true,
@@ -238,6 +243,10 @@ export default {
238 243
     getTypeName(id) {
239 244
       return (this.types.filter(x => x.BookTypeId === id)[0] || {}).BookTypeName
240 245
     },
246
+    cancel() {
247
+      this.customerInfo = ''
248
+      this.active = 0
249
+    }
241 250
   }
242 251
 }
243 252
 </script>

+ 11
- 11
src/pages/system/library/borrow/borrowList.vue Visa fil

@@ -17,8 +17,8 @@
17 17
             <el-input placeholder="请输入手机号" v-model="postData.customerphone"></el-input>
18 18
           </li>
19 19
           <li style="margin-bottom: 15px;">
20
-            <el-select v-model="CaseId" placeholder="请选择案场">
21
-              <el-option key="all" label="所有案场" value="all"></el-option>
20
+            <el-select v-model="postData.caseid" placeholder="请选择案场">
21
+              <el-option key="all" label="所有案场" value=""></el-option>
22 22
               <el-option
23 23
                 v-for="item in cases"
24 24
                 :key="item.CaseId"
@@ -103,7 +103,7 @@ export default {
103 103
         value: ''
104 104
       }, {
105 105
         id: '0',
106
-        value: '延期'
106
+        value: '逾期未还'
107 107
       }, {
108 108
         id: '1',
109 109
         value: '借阅中'
@@ -131,14 +131,14 @@ export default {
131 131
     ...mapLibSate({
132 132
       list: x => x.borrow.list
133 133
     }),
134
-    CaseId: {
135
-      get () {
136
-        return this.postData.caseid || this.defaultCaseId
137
-      },
138
-      set (val) {
139
-        this.postData.caseid = val
140
-      }
141
-    }
134
+    // CaseId: {
135
+    //   get () {
136
+    //     return this.postData.caseid || this.defaultCaseId
137
+    //   },
138
+    //   set (val) {
139
+    //     this.postData.caseid = val
140
+    //   }
141
+    // }
142 142
   },
143 143
   beforeRouteLeave (to, from, next) {
144 144
     this.resetStore('borrow.list')

+ 16
- 12
src/pages/system/page.js Visa fil

@@ -745,22 +745,26 @@ export default {
745 745
           path: 'type-manager',
746 746
           name: 'libraryType',
747 747
           component: LibraryTypeList,
748
-          children: []
749
-        }, { // 分类管理
750
-          path: 'type/:id?',
751
-          name: 'libraryTypeEdit',
752
-          component: LibraryTypeEdit,
753
-          children: []
748
+          children: [
749
+            { // 分类管理
750
+              path: 'type/:id?',
751
+              name: 'libraryTypeEdit',
752
+              component: LibraryTypeEdit,
753
+              children: []
754
+            }
755
+          ]
754 756
         }, { // 图书列表
755 757
           path: 'book-manage',
756 758
           name: 'libraryList',
757 759
           component: LibraryList,
758
-          children: []
759
-        }, { // 图书编辑
760
-          path: 'book/:id?',
761
-          name: 'libraryEdit',
762
-          component: LibraryEdit,
763
-          children: []
760
+          children: [
761
+            { // 图书编辑
762
+              path: 'book/:id?',
763
+              name: 'libraryEdit',
764
+              component: LibraryEdit,
765
+              children: []
766
+            }
767
+          ]
764 768
         }, { // 库存盘点
765 769
           path: 'stock/:id',
766 770
           name: 'stockChange',

+ 3
- 0
src/store/library/index.js Visa fil

@@ -326,6 +326,9 @@ export default {
326 326
         })
327 327
           .catch(({ message }) => reject(message))
328 328
       })
329
+    },
330
+    setListNil ({ commit }) {
331
+      commit('setBookList', {list: []})
329 332
     }
330 333
   },
331 334
 }