123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- <template>
- <div class="subPage">
- <div class="system-table-search">
- <div class="flex-h" style="align-items: flex-start;">
- <div class="flex-item flex-h"></div>
- <ul style="white-space: normal;">
- <li style="margin-bottom: 15px;">
- <el-input placeholder="请输入条形码" v-model="postData.barcode"></el-input>
- </li>
- <li style="margin-bottom: 15px;">
- <el-input placeholder="请输入图书名" v-model="postData.bookname"></el-input>
- </li>
- <li style="margin-bottom: 15px;">
- <el-input placeholder="请输入用户名" v-model="postData.customername"></el-input>
- </li>
- <li style="margin-bottom: 15px;">
- <el-input placeholder="请输入手机号" v-model="postData.customerphone"></el-input>
- </li>
- <li style="margin-bottom: 15px;">
- <el-select v-model="CaseId" placeholder="请选择案场">
- <el-option key="all" label="所有案场" value="all"></el-option>
- <el-option
- v-for="item in cases"
- :key="item.CaseId"
- :label="item.CaseName"
- :value="item.CaseId"
- ></el-option>
- </el-select>
- </li>
- </ul>
- <el-button type="primary" @click="search">搜索</el-button>
- </div>
- <div class="moreFilter"></div>
- </div>
- <div class="system-table-box">
- <el-table :data="list" stripe style="width: 100%">
- <el-table-column label="案场">
- <template slot-scope="scope">{{returnCaseName(scope.row.CaseId)}}</template>
- </el-table-column>
- <el-table-column label="图片" width="128">
- <template slot-scope="scope">
- <img :src="scope.row.BookImg + '?x-oss-process=style/compress-rotate'" style="height: 64px;">
- </template>
- </el-table-column>
- <el-table-column prop="BookBarcode" label="条形码"></el-table-column>
- <el-table-column prop="BookName" label="图书名"></el-table-column>
- <el-table-column prop="CustomerName" label="用户名"></el-table-column>
- <el-table-column prop="CustomerPhone" label="手机号"></el-table-column>
- <el-table-column label="预约时间">
- <template slot-scope="scope">{{toolClass.dateFormat(scope.row.ReserveDate)}}</template>
- </el-table-column>
- <el-table-column label="保留时间">
- <template slot-scope="scope">{{toolClass.dateFormat(scope.row.ReserveEndDate)}}</template>
- </el-table-column>
- <el-table-column label="操作">
- <template slot-scope="scope">
- <el-button size="mini" type="warning" @click="cancel(scope.row.BookBorrowRecordId)">取消预约</el-button>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination
- @current-change="handleCurrentChange"
- :current-page.sync="postData.page"
- :page-size="postData.pagesize"
- layout="prev, pager, next, jumper"
- :total="total"
- ></el-pagination>
- </div>
- </div>
- </template>
-
- <script>
- import { createNamespacedHelpers, mapState } from 'vuex'
- const { mapState: mapLibSate, mapActions: mapLibActions, mapMutations } = createNamespacedHelpers('library')
- export default {
- name: 'borrowList',
- data () {
- return {
- total: 1,
- postData: {
- barcode: '',
- bookname: '',
- customername: '',
- customerphone: '',
- borrowstatus: '4',
- caseid: '',
- page: 1,
- pagesize: 10
- },
- statusList: [{
- id: '',
- value: ''
- }]
- }
- },
- created () {
- this.getBorrowList({ ...this.postData }).then((res) => {
- this.page = res.page
- this.total = res.pagenum
- })
- },
- beforeRouteLeave (to, from, next) {
- this.resetStore('borrow.list')
- next()
- },
- computed: {
- ...mapState({
- cases: x => x.app.cases.list,
- defaultCaseId: x => x.app.cases.default,
- orgid: x => x.app.user.OrgId
- }),
- ...mapLibSate({
- list: x => x.borrow.list
- }),
- CaseId: {
- get () {
- return this.postData.caseid || this.defaultCaseId
- },
- set (val) {
- this.postData.caseid = val
- }
- }
- },
- methods: {
- ...mapMutations({
- resetStore: 'clearData',
- }),
- ...mapLibActions(['getBorrowList', 'cancelBorrow']),
- cancel (id) {
- this.$confirm('确认取消预约?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- this.cancelBorrow(id).then(() => {
- this.getBorrowList({ ...this.postData }).then((res) => {
- this.page = res.page
- this.total = res.pagenum
- })
- })
- })
- },
- search () {
- this.page = 1
- this.getBorrowList({ ...this.postData }).then((res) => {
- this.page = res.page
- this.total = res.pagenum
- })
- },
- handleCurrentChange (val) {
- this.postData.page = val
- this.getBorrowList({ ...this.postData }).then((res) => {
- this.page = res.page
- this.total = res.pagenum
- })
- },
- returnCaseName (id) {
- var name = ''
- this.cases.map((item) => {
- if (item.CaseId === id) name = item.CaseName
- })
- return name
- }
- }
- }
- </script>
-
- <style lang="scss">
- </style>
|