| <template> | 
|   <TableLayout :permissions="['business:goodsorder:query']"> | 
|     <!-- 搜索表单 --> | 
|     <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> | 
|       <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> | 
|       <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="closeStatus"> | 
|         <el-select v-model="searchForm.closeStatus" placeholder="请选择"> | 
|           <el-option | 
|             label="未结算" | 
|             :value="0"> | 
|           </el-option> | 
|           <el-option | 
|             label="已结算" | 
|             :value="1"> | 
|           </el-option> | 
|         </el-select> | 
|       </el-form-item> | 
|       <el-form-item label="支付时间" prop="payDate"> | 
|         <el-date-picker | 
|           v-model="value1" | 
|           type="daterange" | 
|           @change="selectDate" | 
|           range-separator="至" | 
|           start-placeholder="开始日期" | 
|           end-placeholder="结束日期" | 
|           format="yyyy-MM-dd" | 
|           value-format="yyyy-MM-dd HH:mm:ss" | 
|         ></el-date-picker> | 
|       </el-form-item> | 
|       <section> | 
|         <el-button type="primary" @click="search">搜索</el-button> | 
|         <el-button @click="reset">重置</el-button> | 
|       </section> | 
|     </el-form> | 
|     <!-- 表格和分页 --> | 
|     <template v-slot:table-wrap> | 
|       <ul class="toolbar"> | 
|         <li ><el-button type="primary" :loading="isWorking.export" v-permissions="['business:goodsorder:exportExcel']"  @click="exportExcel">导出</el-button></li> | 
|       </ul> | 
|       <el-table | 
|         v-loading="isWorking.search" | 
|         :data="tableData.list" | 
|         stripe | 
|         border | 
|       > | 
|         <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 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="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="refundDate" label="退款时间" min-width="140px" align="center"></el-table-column> | 
|   | 
|   | 
|         <!-- <el-table-column prop="createDate" label="创建时间" min-width="100px"></el-table-column> | 
|         <el-table-column prop="creator" label="创建人" min-width="100px"></el-table-column> | 
|         <el-table-column prop="editDate" label="编辑时间" min-width="100px"></el-table-column> | 
|         <el-table-column prop="editor" label="编辑人" min-width="100px"></el-table-column> | 
|         <el-table-column prop="isdeleted" label="是否已删除 0未删除 1已删除" min-width="100px"></el-table-column> | 
|         <el-table-column prop="info" label="备注" min-width="100px"></el-table-column> | 
|         <el-table-column prop="memberId" label="用户编码(关联member表)" min-width="100px"></el-table-column> | 
|         <el-table-column prop="money" label="交易金额" min-width="100px"></el-table-column> | 
|         <el-table-column prop="status" label="状态 0待支付 1已支付 2已取消 3支付失败 4已结算" min-width="100px"></el-table-column> | 
|         <el-table-column prop="preOrderid" label="交易预订单号" min-width="100px"></el-table-column> | 
|         <el-table-column prop="payStatus" label="支付状态 0待支付 1已支付 " min-width="100px"></el-table-column> | 
|         <el-table-column prop="payWay" label="支付方式 0微信 1支付宝" min-width="100px"></el-table-column> | 
|         <el-table-column prop="type" label="交易类型 0租车押金" min-width="100px"></el-table-column> | 
|         <el-table-column prop="closeId" label="结算退款单号(关联refund)" min-width="100px"></el-table-column> | 
|         <el-table-column prop="closeInfo" label="结算备注" min-width="100px"></el-table-column> | 
|         <el-table-column prop="closeUserId" label="结算操作人编码(关联system_user)" min-width="100px"></el-table-column> | 
|         <el-table-column prop="closeType" label="结算类型 0自动结算 1平台人工结算 2系统自动结算" min-width="100px"></el-table-column> --> | 
|         <el-table-column | 
|           label="操作" | 
|           min-width="120" | 
|           align="center" | 
|           fixed="right" | 
|         > | 
|           <template slot-scope="{row}"> | 
|             <el-button type="text" @click="showDetail(row)">订单详情</el-button> | 
|             <el-button type="text" @click="statement(row)" v-if="row.status != 4" style="color: red">结算</el-button> | 
|             <el-button type="text" @click="refenMoney(row)" v-else>退款</el-button> | 
|           </template> | 
|         </el-table-column> | 
|       </el-table> | 
|       <pagination | 
|         @size-change="handleSizeChange" | 
|         @current-change="handlePageChange" | 
|         :pagination="tableData.pagination" | 
|       > | 
|       </pagination> | 
|     </template> | 
|     <GoodsOrderDetail ref="goodsOrderDetail" /> | 
|     <BackGoodsorderWindow ref="backGoodsorderWindow" @success="handlePageChange" /> | 
|   </TableLayout> | 
| </template> | 
|   | 
| <script> | 
| 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 { formatDateTime } from '@/utils/util' | 
| export default { | 
|   name: 'Goodsorder', | 
|   extends: BaseTable, | 
|   components: { TableLayout, Pagination, GoodsOrderDetail, BackGoodsorderWindow }, | 
|   data () { | 
|     return { | 
|       // 搜索 | 
|       searchForm: { | 
|         id: '', | 
|         createDate: '', | 
|         creator: '', | 
|         editDate: '', | 
|         editor: '', | 
|         isdeleted: '', | 
|         info: '', | 
|         code: '', | 
|         openid: '', | 
|         money: '', | 
|         status: '', | 
|         closeStatus: '', | 
|         preOrderid: '', | 
|         onlineOrderid: '', | 
|         payStatus: '', | 
|         payWay: '', | 
|         payDate: '', | 
|         type: '', | 
|         closeMoney: '', | 
|         startDate: '', | 
|         endDate: '', | 
|          | 
|       }, | 
|       value1: [new Date(), new Date()] | 
|     } | 
|   }, | 
|   created () { | 
|     this.config({ | 
|       module: '订单信息表', | 
|       api: '/business/goodsorder', | 
|       'field.id': 'id', | 
|       'field.main': 'id' | 
|     }) | 
|     this.searchForm.startDate = formatDateTime(new Date(), 'yyyy-MM-dd') + ' 00:00:00' | 
|     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('结算成功') | 
|             }) | 
|             .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) | 
|         }) | 
|     } | 
|   } | 
| } | 
| </script> |