| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="main_app"> |
| | | <Breadcrumb /> |
| | | <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" /> |
| | | <div class="table_btns"> |
| | | <el-button type="primary" @click="handleEx()">导åº</el-button> |
| | | </div> |
| | | <el-table v-loading="loading" :data="list" stripe border> |
| | | <el-table-column prop="code" align="center" label="订åç¼å·" min-width="200" show-overflow-tooltip> |
| | | <template scope="{row}"> |
| | | <span @click="handleDetail(row.id)" class="primaryColor pointer">{{ row.code }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="discountName" align="center" label="å¥é¤å¡" min-width="120" show-overflow-tooltip /> |
| | | <el-table-column prop="money" align="center" label="å计(å
)" min-width="80" show-overflow-tooltip /> |
| | | <el-table-column prop="money" align="center" label="å®ä»(å
)" min-width="80" show-overflow-tooltip /> |
| | | <el-table-column prop="refundMoney" align="center" label="å·²ééé¢(å
)" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="openid" align="center" label="ç¨æ·ä¿¡æ¯" min-width="200" show-overflow-tooltip /> |
| | | <el-table-column prop="payWay" align="center" label="æ¯ä»æ¹å¼" min-width="80" show-overflow-tooltip> |
| | | <template v-slot="{ row }"> |
| | | <span v-if="row.payWay == 0">微信æ¯ä»</span> |
| | | <span v-if="row.payWay == 1">æ¯ä»å®</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="payWay" align="center" label="è®¢åæ¥æº" min-width="80" show-overflow-tooltip> |
| | | <template v-slot="{ row }"> |
| | | <span>å°ç¨åºç«¯</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="payWay" align="center" label="订åç¶æ" min-width="80" show-overflow-tooltip> |
| | | <template v-slot="{ row }"> |
| | | <span v-if="row.status == 0">æªæ¯ä»</span> |
| | | <span v-if="row.status == 1">å·²æ¯ä»</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="refundUserName" align="center" label="æä½äºº" min-width="80" show-overflow-tooltip /> |
| | | <el-table-column prop="createDate" align="center" label="å建æ¶é´" min-width="160" show-overflow-tooltip /> |
| | | <el-table-column label="æä½" fixed="right" align="center" min-width="120" show-overflow-tooltip> |
| | | <template v-slot="{ row }"> |
| | | <span @click="handleDetail(row.id)" class="primaryColor pointer">æ¥ç详æ
</span> |
| | | <span v-if="row.status == 1 && (row.refundMoney < row.money)" @click="handRefund(row.id)" |
| | | class="primaryColor pointer ml10">鿬¾</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="table_btns"> |
| | | <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> |
| | | </div> |
| | | <!-- --> |
| | | <OrderDetail ref="OrderDetailRef" /> |
| | | <Refund ref="RefundRef" @success="getList" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import BasePageTemp from '@/components/base/BasePageTemp' |
| | | import Breadcrumb from '@/layouts/Breadcrumb' |
| | | import OrderDetail from './components/OrderDetail.vue' |
| | | import Refund from './components/Refund' |
| | | import { |
| | | comboOrderPost, |
| | | comboListOrderEx, |
| | | comboOrderDetailPost |
| | | } from '@/api/business/combo.js' |
| | | import dayjs from 'dayjs' |
| | | export default { |
| | | extends: BasePageTemp, |
| | | components: { |
| | | Breadcrumb, |
| | | OrderDetail, |
| | | Refund |
| | | }, |
| | | data() { |
| | | return { |
| | | loading: false, |
| | | queryFormConfig: { |
| | | formItems: [ |
| | | { |
| | | filed: 'id', |
| | | type: 'input', |
| | | label: '订åç¼å·', |
| | | }, |
| | | { |
| | | filed: 'discountName', |
| | | type: 'input', |
| | | label: 'å¥é¤å¡', |
| | | placeholder: '请è¾å
¥å¡åç§°', |
| | | }, |
| | | { |
| | | filed: 'payWay', |
| | | type: 'select', |
| | | label: 'æ¯ä»æ¹å¼', |
| | | options: [ |
| | | { label: '微信', value: 0 }, |
| | | { label: 'æ¯ä»å®', value: 1 }, |
| | | ] |
| | | }, |
| | | { |
| | | filed: 'payStatus', |
| | | type: 'select', |
| | | label: '订åç¶æ', |
| | | options: [ |
| | | { label: 'æªæ¯ä»', value: 0 }, |
| | | { label: 'å·²æ¯ä»', value: 1 }, |
| | | ] |
| | | }, |
| | | { |
| | | filed: 'selDate', |
| | | type: 'daterange', |
| | | label: 'æ¯ä»æ¶é´', |
| | | }, |
| | | { |
| | | filed: 'openid', |
| | | type: 'input', |
| | | label: 'ç¨æ·ä¿¡æ¯', |
| | | }, |
| | | ], |
| | | online: true |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | let date = dayjs().format('YYYY-MM-DD') |
| | | this.$set(this.filters, 'selDate', [date, date]) |
| | | this.getList() |
| | | // this.initData() |
| | | }, |
| | | methods: { |
| | | handRefund(id) { |
| | | this.$refs.RefundRef.open(id) |
| | | }, |
| | | handleDetail(id) { |
| | | comboOrderDetailPost({ id }) |
| | | .then(res => { |
| | | if (res) { |
| | | this.$refs.OrderDetailRef.open('订å详æ
', res) |
| | | } |
| | | |
| | | }) |
| | | .catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | }, |
| | | handleEx() { |
| | | const { pagination, filters } = this |
| | | this.$dialog.exportConfirm('确认导åºåï¼') |
| | | .then(() => { |
| | | this.loading = true |
| | | if (filters.selDate && filters.selDate.length > 0) { |
| | | filters.startDate = filters.selDate[0] + ' 00:00:00' |
| | | filters.endDate = filters.selDate[1] + ' 00:00:00' |
| | | } else { |
| | | filters.startDate = null |
| | | filters.endDate = null |
| | | } |
| | | comboListOrderEx({ |
| | | page: 1, |
| | | capacity: 1000000, |
| | | model: { |
| | | ...filters, |
| | | type: 1 |
| | | }, |
| | | }) |
| | | .then(response => { |
| | | this.download(response) |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false |
| | | }) |
| | | }) |
| | | .catch(() => { }) |
| | | }, |
| | | initData() { |
| | | getStoreList({ capacity: 9999, page: 1, model: {} }).then(res => { |
| | | this.queryFormConfig.formItems[1].options = res.records || [] |
| | | }) |
| | | }, |
| | | getList(page) { |
| | | const { pagination, filters } = this |
| | | this.loading = true |
| | | if (filters.selDate && filters.selDate.length > 0) { |
| | | filters.startDate = filters.selDate[0] + ' 00:00:00' |
| | | filters.endDate = filters.selDate[1] + ' 00:00:00' |
| | | } else { |
| | | filters.startDate = null |
| | | filters.endDate = null |
| | | } |
| | | if (page) { pagination.page = page } |
| | | comboOrderPost({ |
| | | model: { |
| | | ...filters, |
| | | type: 1 |
| | | }, |
| | | capacity: pagination.pageSize, |
| | | page: pagination.page, |
| | | }).then(res => { |
| | | this.loading = false |
| | | this.list = res.records || [] |
| | | this.pagination.total = res.total || 0 |
| | | }, () => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style></style> |