|  |  |  | 
|---|
|  |  |  | <TableLayout :permissions="['business:goodsorder:query']"> | 
|---|
|  |  |  | <!-- 搜索表单 --> | 
|---|
|  |  |  | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> | 
|---|
|  |  |  | <el-form-item label="用户" prop="memberId"> | 
|---|
|  |  |  | <el-input v-model="searchForm.memberId" placeholder="请输入" @keypress.enter.native="search"></el-input> | 
|---|
|  |  |  | <el-form-item label="用户" prop="openid"> | 
|---|
|  |  |  | <el-input v-model="searchForm.openid" placeholder="请输入用户" @keypress.enter.native="search"></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="订单编号" prop="code"> | 
|---|
|  |  |  | <el-input v-model="searchForm.code" placeholder="请输入订单编号" @keypress.enter.native="search"></el-input> | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-form-item label="交易单号" prop="onlineOrderid"> | 
|---|
|  |  |  | <el-input v-model="searchForm.onlineOrderid" placeholder="请输入交易单号" @keypress.enter.native="search"></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="是否结算" prop="status"> | 
|---|
|  |  |  | <el-select v-model="searchForm.status" placeholder="请选择"> | 
|---|
|  |  |  | <el-form-item label="是否结算" prop="closeStatus"> | 
|---|
|  |  |  | <el-select v-model="searchForm.closeStatus" placeholder="请选择"> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | label="未结算" | 
|---|
|  |  |  | :value="1"> | 
|---|
|  |  |  | :value="0"> | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | label="已结算" | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-date-picker | 
|---|
|  |  |  | v-model="value1" | 
|---|
|  |  |  | type="daterange" | 
|---|
|  |  |  | @change="selectDate" | 
|---|
|  |  |  | range-separator="至" | 
|---|
|  |  |  | start-placeholder="开始日期" | 
|---|
|  |  |  | end-placeholder="结束日期"> | 
|---|
|  |  |  | </el-date-picker> | 
|---|
|  |  |  | end-placeholder="结束日期" | 
|---|
|  |  |  | format="yyyy-MM-dd" | 
|---|
|  |  |  | value-format="yyyy-MM-dd HH:mm:ss" | 
|---|
|  |  |  | ></el-date-picker> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- <el-form-item label="结算类型 0自动结算 1平台人工结算 2系统自动结算" prop="closeType"> | 
|---|
|  |  |  | <el-input v-model="searchForm.closeType" placeholder="请输入结算类型 0自动结算 1平台人工结算 2系统自动结算" @keypress.enter.native="search"></el-input> | 
|---|
|  |  |  | </el-form-item> --> | 
|---|
|  |  |  | <el-form-item label="订单类型" prop="bikeType"> | 
|---|
|  |  |  | <el-select v-model="searchForm.bikeType" placeholder="请选择"> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | label="单车类型" | 
|---|
|  |  |  | :value="3"> | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | label="电车类型" | 
|---|
|  |  |  | :value="4"> | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <section> | 
|---|
|  |  |  | <el-button type="primary" @click="search">搜索</el-button> | 
|---|
|  |  |  | <el-button @click="reset">重置</el-button> | 
|---|
|  |  |  | 
|---|
|  |  |  | stripe | 
|---|
|  |  |  | border | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-table-column prop="code" label="订单编号" min-width="130px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column prop="onlineOrderid" label="交易单号" min-width="180px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column prop="money" label="押金(元)" min-width="100px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column prop="payDate" label="交押金时间" min-width="140px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column prop="closeMoney" label="退押金(元)" min-width="100px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column prop="closeMoney" label="结算金额(元)" min-width="100px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column prop="closeDate" label="退款结算时间" min-width="140px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column prop="openid" label="用户" min-width="225px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column prop="id" label="订单编号" min-width="235px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column label="订单类型" min-width="100px" align="center"> | 
|---|
|  |  |  | <template slot-scope="{row}"> | 
|---|
|  |  |  | <span v-if="row.bikeType === 3">单车类型</span> | 
|---|
|  |  |  | <span v-if="row.bikeType === 4">电车类型</span> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column prop="onlineOrderid" label="交易单号" min-width="225px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column prop="money" label="押金(元)" min-width="80px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column prop="payDate" label="交押金时间" min-width="145px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column prop="refundMoney" label="退押金(元)" min-width="90px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column prop="discountMoney" label="优惠金额" min-width="90px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column prop="closeMoney" label="结算金额(元)" min-width="100px" align="center"> | 
|---|
|  |  |  | <template slot-scope="{row}"> | 
|---|
|  |  |  | <span v-if="row.closeMoney > row.money">{{row.money}}</span> | 
|---|
|  |  |  | <span v-else>{{row.closeMoney}}</span> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column prop="closeDate" label="结算时间" min-width="140px" align="center"></el-table-column> | 
|---|
|  |  |  | <el-table-column prop="refundDate" label="退款时间" min-width="140px" align="center"></el-table-column> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- <el-table-column prop="createDate" label="创建时间" min-width="100px"></el-table-column> | 
|---|
|  |  |  | 
|---|
|  |  |  | fixed="right" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="{row}"> | 
|---|
|  |  |  | <el-button type="text" @click="deleteById(row)">订单详情</el-button> | 
|---|
|  |  |  | <el-button type="text" @click="deleteById(row)">退款</el-button> | 
|---|
|  |  |  | <el-button type="text" @click="deleteById(row)" style="color: red">结算</el-button> | 
|---|
|  |  |  | <el-button type="text" @click="showDetail(row)">订单详情</el-button> | 
|---|
|  |  |  | <el-button type="text" @click="statement(row)" v-if="row.status != 4 && (row.memberRidesStatus > 1 || !row.memberRidesStatus)" style="color: red">结算</el-button> | 
|---|
|  |  |  | <el-button type="text" @click="refenMoney(row)"  v-if="row.status == 4 && (row.refundMoney < row.money)">退款</el-button> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | </el-table> | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </pagination> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <GoodsOrderDetail ref="goodsOrderDetail" /> | 
|---|
|  |  |  | <BackGoodsorderWindow ref="backGoodsorderWindow" @success="handlePageChange" /> | 
|---|
|  |  |  | </TableLayout> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | import BaseTable from '@/components/base/BaseTable' | 
|---|
|  |  |  | import TableLayout from '@/layouts/TableLayout' | 
|---|
|  |  |  | import Pagination from '@/components/common/Pagination' | 
|---|
|  |  |  | import GoodsOrderDetail from '@/components/business/goodsOrderDetail' | 
|---|
|  |  |  | import BackGoodsorderWindow from '@/components/business/backGoodsorderWindow' | 
|---|
|  |  |  | import { getDetail, getGoodsorderCanBanlanceDTO, closerGoodsorder } from '@/api/business/goodsorder' | 
|---|
|  |  |  | import dayjs from 'dayjs' | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | name: 'Goodsorder', | 
|---|
|  |  |  | extends: BaseTable, | 
|---|
|  |  |  | components: { TableLayout, Pagination }, | 
|---|
|  |  |  | components: { TableLayout, Pagination, GoodsOrderDetail, BackGoodsorderWindow }, | 
|---|
|  |  |  | data () { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | // 搜索 | 
|---|
|  |  |  | 
|---|
|  |  |  | isdeleted: '', | 
|---|
|  |  |  | info: '', | 
|---|
|  |  |  | code: '', | 
|---|
|  |  |  | memberId: '', | 
|---|
|  |  |  | openid: '', | 
|---|
|  |  |  | money: '', | 
|---|
|  |  |  | status: '', | 
|---|
|  |  |  | closeStatus: '', | 
|---|
|  |  |  | preOrderid: '', | 
|---|
|  |  |  | onlineOrderid: '', | 
|---|
|  |  |  | payStatus: '', | 
|---|
|  |  |  | payWay: '', | 
|---|
|  |  |  | payDate: '', | 
|---|
|  |  |  | type: '', | 
|---|
|  |  |  | type: 0, | 
|---|
|  |  |  | closeMoney: '', | 
|---|
|  |  |  | closeId: '', | 
|---|
|  |  |  | closeDate: '', | 
|---|
|  |  |  | closeInfo: '', | 
|---|
|  |  |  | closeUserId: '', | 
|---|
|  |  |  | closeType: '' | 
|---|
|  |  |  | startDate: '', | 
|---|
|  |  |  | endDate: '', | 
|---|
|  |  |  | bikeType: '' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | value1: [] | 
|---|
|  |  |  | value1: [new Date(), new Date()] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | created () { | 
|---|
|  |  |  | 
|---|
|  |  |  | 'field.id': 'id', | 
|---|
|  |  |  | 'field.main': 'id' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | this.searchForm.startDate = dayjs().format('YYYY-MM-DD') + ' 00:00:00' | 
|---|
|  |  |  | this.searchForm.endDate = dayjs().format('YYYY-MM-DD') + ' 23:59:59' | 
|---|
|  |  |  | this.search() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | reset() { | 
|---|
|  |  |  | this.value1 = [] | 
|---|
|  |  |  | this.searchForm.startDate = '' | 
|---|
|  |  |  | this.searchForm.endDate = '' | 
|---|
|  |  |  | this.$refs.searchForm.resetFields() | 
|---|
|  |  |  | this.search() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | selectDate(v) { | 
|---|
|  |  |  | this.searchForm.startDate = '' | 
|---|
|  |  |  | this.searchForm.endDate = '' | 
|---|
|  |  |  | if (v) { | 
|---|
|  |  |  | this.searchForm.startDate = v[0] | 
|---|
|  |  |  | this.searchForm.endDate = v[1] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.search() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | showDetail({id}) { | 
|---|
|  |  |  | getDetail(id) | 
|---|
|  |  |  | .then(res => { | 
|---|
|  |  |  | this.$refs.goodsOrderDetail.open('订单详情',res) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(err => { | 
|---|
|  |  |  | this.$tip.apiFailed(err) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | statement({id}) { | 
|---|
|  |  |  | this.$dialog.messageWaring('确定强制结算码?结算后订单自动完成', '强制结算') | 
|---|
|  |  |  | .then(() => { | 
|---|
|  |  |  | closerGoodsorder(id) | 
|---|
|  |  |  | .then(() => { | 
|---|
|  |  |  | this.$tip.apiSuccess('结算成功') | 
|---|
|  |  |  | this.search() | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(err => { | 
|---|
|  |  |  | this.$tip.apiFailed(err) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(() => {}) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | refenMoney({id}) { | 
|---|
|  |  |  | getGoodsorderCanBanlanceDTO({orderId:id}) | 
|---|
|  |  |  | .then(res => { | 
|---|
|  |  |  | this.$refs.backGoodsorderWindow.open('强制退款', {orderId:id, ...res}) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(err => { | 
|---|
|  |  |  | this.$tip.apiFailed(err) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|