From 4fabfe4dbd2eb28d07a4350597d314958cc1c281 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期四, 09 十月 2025 11:16:43 +0800 Subject: [PATCH] 优化 --- admin/src/views/combo/order.vue | 127 ++++++++++++++++++++++++++++++------------ 1 files changed, 91 insertions(+), 36 deletions(-) diff --git a/admin/src/views/combo/order.vue b/admin/src/views/combo/order.vue index c944ff7..bee9272 100644 --- a/admin/src/views/combo/order.vue +++ b/admin/src/views/combo/order.vue @@ -6,21 +6,40 @@ <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="140" show-overflow-tooltip> + <el-table-column prop="code" align="center" label="璁㈠崟缂栧彿" min-width="200" show-overflow-tooltip> <template scope="{row}"> - <span class="primaryColor pointer">{{ row.orderId }}</span> + <span @click="handleDetail(row.id)" class="primaryColor pointer">{{ row.code }}</span> </template> </el-table-column> - <el-table-column prop="" align="center" label="濂楅鍗�" min-width="120" show-overflow-tooltip /> - <el-table-column prop="" align="center" label="鍚堣(鍏�)" min-width="80" show-overflow-tooltip /> - <el-table-column prop="" align="center" label="瀹炰粯(鍏�)" min-width="80" show-overflow-tooltip /> - <el-table-column prop="" align="center" label="宸查��閲戦(鍏�)" min-width="100" show-overflow-tooltip /> - <el-table-column prop="" align="center" label="鐢ㄦ埛淇℃伅" min-width="120" show-overflow-tooltip /> - <el-table-column prop="" align="center" label="璁㈠崟鐘舵��" min-width="110" show-overflow-tooltip /> - <el-table-column label="鎿嶄綔" fixed="right" align="center" min-width="80" show-overflow-tooltip> + <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 @click="handleDetail(row.id)" v-permissions="['business:ywoutinboundrecord:query']" - class="primaryColor pointer">鏌ョ湅璇︽儏</span> + <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> @@ -28,7 +47,8 @@ <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> </div> <!-- --> - <OrderDetail v-if="isShowDetail" ref="OrderDetailRef" /> + <OrderDetail ref="OrderDetailRef" /> + <Refund ref="RefundRef" @success="getList" /> </div> </template> @@ -36,48 +56,61 @@ 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 + OrderDetail, + Refund }, data() { return { loading: false, - isShowDetail: false, queryFormConfig: { formItems: [ { - filed: 'orderId', + filed: 'id', type: 'input', label: '璁㈠崟缂栧彿', }, { - filed: 'name', + filed: 'discountName', type: 'input', label: '濂楅鍗�', placeholder: '璇疯緭鍏ュ崱鍚嶇О', }, { - filed: 'pay', + filed: 'payWay', type: 'select', label: '鏀粯鏂瑰紡', - options: [] + options: [ + { label: '寰俊', value: 0 }, + { label: '鏀粯瀹�', value: 1 }, + ] }, { - filed: 'status', + filed: 'payStatus', type: 'select', label: '璁㈠崟鐘舵��', - options: [] + options: [ + { label: '鏈敮浠�', value: 0 }, + { label: '宸叉敮浠�', value: 1 }, + ] }, { - filed: 'time', - type: 'date', + filed: 'selDate', + type: 'daterange', label: '鏀粯鏃堕棿', }, { - filed: 'username', + filed: 'openid', type: 'input', label: '鐢ㄦ埛淇℃伅', }, @@ -87,27 +120,46 @@ } }, created() { - // this.getList() + 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) { - getDetail(id) + comboOrderDetailPost({ id }) .then(res => { - this.$refs.OrderDetailRef.open('璁㈠崟璇︽儏', 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 - ywOutinboundEx({ - page: this.pagination.page, + 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: this.filters + model: { + ...filters, + type: 1 + }, }) .then(response => { this.download(response) @@ -129,21 +181,24 @@ 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 } - ywOutinboundPage({ + comboOrderPost({ model: { ...filters, - inOut: 0 + type: 1 }, - // sorts: [{ direction: 'DESC', property: 'param1' }], capacity: pagination.pageSize, - page: page, + page: pagination.page, }).then(res => { this.loading = false this.list = res.records || [] - this.list.forEach(item => { - item.typeName = this.StoreTypeOps[item.type].name - }) this.pagination.total = res.total || 0 }, () => { this.loading = false -- Gitblit v1.9.3