zjxpcyc 6 yıl önce
ebeveyn
işleme
f063214a17

+ 18
- 16
src/pages/system/library/books/list.vue Dosyayı Görüntüle

@@ -13,10 +13,10 @@
13 13
           </el-select>
14 14
         </el-form-item>
15 15
         <el-form-item label="条码">
16
-          <el-input v-model="bookBarcode"></el-input>
16
+          <el-input v-model="formData.bookBarcode"></el-input>
17 17
         </el-form-item>
18 18
         <el-form-item label="书名">
19
-          <el-input v-model="bookName"></el-input>
19
+          <el-input v-model="formData.bookName"></el-input>
20 20
         </el-form-item>
21 21
         <el-form-item :style="{ float: 'right' }">
22 22
           <el-button type="primary" size="medium" @click="filterList">搜索</el-button>
@@ -30,7 +30,7 @@
30 30
         <el-table :data="list" border style="width: 100%">
31 31
           <el-table-column label="图片" width="128">
32 32
             <template slot-scope="scope">
33
-              <img width="64" :src="scope.row.BookImg" alt>
33
+              <img width="64" :src="scope.row.BookImg + '?x-oss-process=style/compress-rotate'" alt>
34 34
             </template>
35 35
           </el-table-column>
36 36
           <el-table-column prop="BookBarcode" label="条码"></el-table-column>
@@ -110,9 +110,11 @@ export default {
110 110
   name: 'bookList',
111 111
   data() {
112 112
     return {
113
-      caseId: '',
114
-      bookBarcode: '',
115
-      bookName: '',
113
+      formData: {
114
+        caseId: '',
115
+        bookBarcode: '',
116
+        bookName: '',
117
+      },
116 118
       inputRef: window.document.createElement('input'),
117 119
       showDialog: false,
118 120
     }
@@ -128,13 +130,13 @@ export default {
128 130
       page: s => s.page,
129 131
       pagenum: s => s.pagenum,
130 132
       types: s => s.type.list
131
-    })
132
-  },
133
-  watch: {
134
-    defaultCase(nv) {
135
-      if (nv && !this.caseId) {
136
-        this.caseId = nv
137
-        this.filterList()
133
+    }),
134
+    caseId: {
135
+      get() {
136
+        return this.formData.caseId || this.defaultCase
137
+      },
138
+      set(nv) {
139
+        this.formData.caseId = nv
138 140
       }
139 141
     },
140 142
   },
@@ -179,8 +181,8 @@ export default {
179 181
       this.getList({
180 182
         page,
181 183
         caseid: caseId,
182
-        barcode: this.bookBarcode,
183
-        name: this.bookName
184
+        barcode: this.formData.bookBarcode,
185
+        name: this.formData.bookName
184 186
       }).catch(err => {
185 187
         this.$message({
186 188
           showClose: true,
@@ -232,7 +234,6 @@ export default {
232 234
     // 设为/取消推荐
233 235
     setRecommend(book) {
234 236
       const tipMsg = book.IsRecommend === 1 ? '确定取消推荐?' : '确认设置为推荐?'
235
-      book.IsRecommend = Math.abs(book.IsRecommend - 1)
236 237
 
237 238
       this.$confirm(tipMsg, '提示', {
238 239
         confirmButtonText: '是',
@@ -240,6 +241,7 @@ export default {
240 241
         type: 'warning'
241 242
       })
242 243
         .then(() => {
244
+          book.IsRecommend = Math.abs(book.IsRecommend - 1)
243 245
           this.setBookRecommend(book)
244 246
             .then(() => {
245 247
               this.$message({

+ 20
- 13
src/pages/system/library/books/types/list.vue Dosyayı Görüntüle

@@ -23,7 +23,7 @@
23 23
         <el-table :data="list" border style="width: 100%">
24 24
           <el-table-column label="图片" width="128">
25 25
             <template slot-scope="scope">
26
-              <img width="64" :src="scope.row.BookTypeImg" alt>
26
+              <img width="64" :src="scope.row.BookTypeImg + '?x-oss-process=style/compress-rotate'" alt>
27 27
             </template>
28 28
           </el-table-column>
29 29
           <el-table-column prop="BookTypeName" label="名称"></el-table-column>
@@ -64,7 +64,7 @@ export default {
64 64
   name: 'bookTypeList',
65 65
   data() {
66 66
     return {
67
-      caseId: ''
67
+      formData: { caseid: '' },
68 68
     }
69 69
   },
70 70
   computed: {
@@ -77,15 +77,15 @@ export default {
77 77
       list: s => s.type.list,
78 78
       page: s => s.type.page,
79 79
       pagenum: s => s.type.pagenum,
80
-    })
81
-  },
82
-  watch: {
83
-    defaultCase(nv) {
84
-      if (nv && !this.caseId) {
85
-        this.caseId = nv
86
-        this.filterList()
87
-      }
88
-    },
80
+    }),
81
+    caseId: {
82
+      get() {
83
+        return this.formData.caseid || this.defaultCase
84
+      },
85
+      set(nv) {
86
+        this.formData.caseid = nv
87
+      },
88
+    }
89 89
   },
90 90
   beforeRouteLeave (to, from, next) {
91 91
     this.resetStore('type.list')
@@ -101,8 +101,15 @@ export default {
101 101
     }),
102 102
 
103 103
     filterList({ page = 0 } = {}) {
104
-      const caseId = this.caseId || this.defaultCase
105
-      if (!caseId) return
104
+      const caseId = this.formData.caseId || this.defaultCase
105
+      if (!caseId) {
106
+        this.$message({
107
+          showClose: true,
108
+          message: '请选择案场',
109
+          type: 'error'
110
+        })
111
+        return
112
+      }
106 113
 
107 114
       this.getList({
108 115
         page,

+ 10
- 3
src/pages/system/library/borrow/appointmentList.vue Dosyayı Görüntüle

@@ -37,9 +37,9 @@
37 37
         <el-table-column label="案场">
38 38
           <template slot-scope="scope">{{returnCaseName(scope.row.CaseId)}}</template>
39 39
         </el-table-column>
40
-        <el-table-column label="图片" width="300">
40
+        <el-table-column label="图片" width="128">
41 41
           <template slot-scope="scope">
42
-            <img :src="scope.row.BookImg" style="height: 150px;">
42
+            <img :src="scope.row.BookImg + '?x-oss-process=style/compress-rotate'" style="height: 64px;">
43 43
           </template>
44 44
         </el-table-column>
45 45
         <el-table-column prop="BookBarcode" label="条形码"></el-table-column>
@@ -71,7 +71,7 @@
71 71
 
72 72
 <script>
73 73
 import { createNamespacedHelpers, mapState } from 'vuex'
74
-const { mapState: mapLibSate, mapActions: mapLibActions } = createNamespacedHelpers('library')
74
+const { mapState: mapLibSate, mapActions: mapLibActions, mapMutations } = createNamespacedHelpers('library')
75 75
 export default {
76 76
   name: 'borrowList',
77 77
   data () {
@@ -99,6 +99,10 @@ export default {
99 99
       this.total = res.pagenum
100 100
     })
101 101
   },
102
+  beforeRouteLeave (to, from, next) {
103
+    this.resetStore('borrow.list')
104
+    next()
105
+  },
102 106
   computed: {
103 107
     ...mapState({
104 108
       cases: x => x.app.cases.list,
@@ -118,6 +122,9 @@ export default {
118 122
     }
119 123
   },
120 124
   methods: {
125
+    ...mapMutations({
126
+      resetStore: 'clearData',
127
+    }),
121 128
     ...mapLibActions(['getBorrowList', 'cancelBorrow']),
122 129
     cancel (id) {
123 130
       this.$confirm('确认取消预约?', '提示', {

+ 1
- 1
src/pages/system/library/borrow/bookreturn.vue Dosyayı Görüntüle

@@ -81,7 +81,7 @@ export default {
81 81
       orgid: x => x.app.user.OrgId
82 82
     }),
83 83
     ...mapLibSate({
84
-      list: s => s.list,
84
+      list: s => s.bookReturn.list,
85 85
       borrowHistory: s => s.borrow.history
86 86
     })
87 87
   },

+ 14
- 9
src/pages/system/library/borrow/borrow.vue Dosyayı Görüntüle

@@ -36,7 +36,7 @@
36 36
       <!-- 过滤条件 -->
37 37
       <el-form inline>
38 38
         <el-form-item label="案场">
39
-          <el-select v-model="formData.caseid" size="medium" placeholder="请选择案场">
39
+          <el-select v-model="caseId" size="medium" placeholder="请选择案场">
40 40
             <el-option
41 41
               v-for="item in cases"
42 42
               :key="item.CaseId"
@@ -105,13 +105,14 @@ export default {
105 105
       list: s => s.list,
106 106
       borrowHistory: s => s.borrow.history,
107 107
     }),
108
-  },
109
-  watch: {
110
-    defaultCase(nv) {
111
-      if (nv && !this.formData.caseid) {
112
-        this.formData.caseid = nv
113
-      }
114
-    }
108
+    caseId: {
109
+      get() {
110
+        return this.formData.caseid || this.defaultCase
111
+      },
112
+      set(val) {
113
+        this.formData.caseid = val
114
+      },
115
+    },
115 116
   },
116 117
   methods: {
117 118
     ...mapActions({
@@ -143,7 +144,7 @@ export default {
143 144
 
144 145
     search() {
145 146
       // 必须选案场
146
-      if (!this.formData.caseid) {
147
+      if (!this.formData.caseid && !this.defaultCase) {
147 148
         this.$message({
148 149
           showClose: true,
149 150
           message: '请选择案场',
@@ -153,6 +154,10 @@ export default {
153 154
         return
154 155
       }
155 156
 
157
+      if (!this.formData.caseid) {
158
+        this.formData.caseid = this.defaultCase
159
+      }
160
+
156 161
       // 先扫码或者输入图书名称
157 162
       if (!this.formData.barcode && !this.formData.name) {
158 163
         this.$message({

+ 10
- 3
src/pages/system/library/borrow/borrowList.vue Dosyayı Görüntüle

@@ -47,9 +47,9 @@
47 47
         <el-table-column label="案场">
48 48
           <template slot-scope="scope">{{returnCaseName(scope.row.CaseId)}}</template>
49 49
         </el-table-column>
50
-        <el-table-column label="图片" width="300">
50
+        <el-table-column label="图片" width="128">
51 51
           <template slot-scope="scope">
52
-            <img :src="scope.row.BookImg" style="height: 150px;">
52
+            <img :src="scope.row.BookImg + '?x-oss-process=style/compress-rotate'" style="height: 64px;">
53 53
           </template>
54 54
         </el-table-column>
55 55
         <el-table-column prop="BookBarcode" label="条形码"></el-table-column>
@@ -82,7 +82,7 @@
82 82
 
83 83
 <script>
84 84
 import { createNamespacedHelpers, mapState } from 'vuex'
85
-const { mapState: mapLibSate, mapActions: mapLibActions } = createNamespacedHelpers('library')
85
+const { mapState: mapLibSate, mapActions: mapLibActions, mapMutations } = createNamespacedHelpers('library')
86 86
 export default {
87 87
   name: 'borrowList',
88 88
   data () {
@@ -140,7 +140,14 @@ export default {
140 140
       }
141 141
     }
142 142
   },
143
+  beforeRouteLeave (to, from, next) {
144
+    this.resetStore('borrow.list')
145
+    next()
146
+  },
143 147
   methods: {
148
+    ...mapMutations({
149
+      resetStore: 'clearData',
150
+    }),
144 151
     ...mapLibActions(['getBorrowList']),
145 152
     search () {
146 153
       this.page = 1