| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-show="showSearch" |
| | | label-width="68px" |
| | | > |
| | | <el-form-item label="售后编号" prop="aftersaleSn"> |
| | | <el-input v-model="queryParams.aftersaleSn" placeholder="请输入售后编号" clearable @keyup.enter.native="handleQuery" style="width: 180px"/> |
| | | <el-input |
| | | v-model="queryParams.aftersaleSn" |
| | | placeholder="请输入售后编号" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | style="width: 180px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="订单编号" prop="orderId"> |
| | | <el-input v-model="queryParams.orderId" placeholder="请输入订单编号" clearable @keyup.enter.native="handleQuery" style="width: 160px"/> |
| | | <el-input |
| | | v-model="queryParams.orderId" |
| | | placeholder="请输入订单编号" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | style="width: 160px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="用户姓名" prop="cusName"> |
| | | <el-input v-model="queryParams.cusName" placeholder="请输入用户姓名" clearable @keyup.enter.native="handleQuery" style="width: 148px"/> |
| | | <el-input |
| | | v-model="queryParams.cusName" |
| | | placeholder="请输入用户姓名" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | style="width: 148px" |
| | | /> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="退款原因" prop="reason"> |
| | | <el-input v-model="queryParams.reason" placeholder="请输入退款原因" clearable @keyup.enter.native="handleQuery" /> |
| | | </el-form-item>--> |
| | | <el-form-item label="联系电话" prop="mobile"> |
| | | <el-input v-model="queryParams.mobile" placeholder="请输入联系电话" clearable @keyup.enter.native="handleQuery" style="width: 148px"/> |
| | | </el-form-item> |
| | | <el-input |
| | | v-model="queryParams.mobile" |
| | | placeholder="请输入联系电话" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | style="width: 148px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="售后时间" prop="createTimeList"> |
| | | <el-date-picker v-model="createTimeList" type="datetimerange" align="right" :picker-options="pickerOptions" |
| | | style="width: 260px" start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" |
| | | value-format="yyyy-MM-dd" @change="dateChangebirthday1"> |
| | | <el-date-picker |
| | | v-model="createTimeList" |
| | | type="datetimerange" |
| | | align="right" |
| | | :picker-options="pickerOptions" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :default-time="['00:00:00', '23:59:00']" |
| | | format="yyyy-MM-dd HH:mm" |
| | | value-format="yyyy-MM-dd HH:mm" |
| | | @change="dateChangebirthday1" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="操作时间" prop="handleTime"> |
| | |
| | | </el-date-picker> |
| | | </el-form-item> --> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handleQuery" |
| | | >搜索</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | |
| | | ></right-toolbar> |
| | | </el-row> --> |
| | | |
| | | <el-table border v-loading="loading" :data="aftersaleList" @selection-change="handleSelectionChange"> |
| | | <el-table |
| | | border |
| | | v-loading="loading" |
| | | :data="aftersaleList" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <!-- <el-table-column label="ID" align="center" prop="id" /> --> |
| | | <el-table-column label="售后编号" align="center" prop="aftersaleSn" /> |
| | |
| | | <!-- <el-table-column label="退款说明" align="center" prop="comment" /> --> |
| | | <el-table-column label="售后状态" align="center" prop="status"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.app_aftersale_status" :value="scope.row.status" /> |
| | | <dict-tag |
| | | :options="dict.type.app_aftersale_status" |
| | | :value="scope.row.status" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="售后时间" align="center" prop="handleTime" width="180"> |
| | | <el-table-column |
| | | label="售后时间" |
| | | align="center" |
| | | prop="handleTime" |
| | | width="180" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.handleTime, "{y}-{m}-{d}") }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <el-table-column |
| | | fixed="right" |
| | | label="操作" |
| | | align="center" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button size="small" type="success" @click="handleUpdate(scope.row)" v-hasPermi="['mall:aftersale:edit']" v-if="scope.row.status==1">通过 |
| | | <el-button |
| | | size="small" |
| | | type="success" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['mall:aftersale:edit']" |
| | | v-if="scope.row.status == 1" |
| | | >通过 |
| | | </el-button> |
| | | <el-button size="small" type="danger" @click="handleDelete(scope.row)" v-hasPermi="['mall:aftersale:remove']" v-if="scope.row.status==1">拒绝 |
| | | <el-button |
| | | size="small" |
| | | type="danger" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['mall:aftersale:remove']" |
| | | v-if="scope.row.status == 1" |
| | | >拒绝 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | </div> |
| | | |
| | | <!-- 添加或修改售后对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="1300px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px" :inline="true"> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="open" |
| | | width="1300px" |
| | | append-to-body |
| | | > |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | label-width="80px" |
| | | :inline="true" |
| | | > |
| | | <el-form-item label="售后编号" prop="aftersaleSn"> |
| | | <el-input v-model="form.aftersaleSn" placeholder="请输入售后编号" /> |
| | | </el-form-item> |
| | |
| | | /> |
| | | </el-form-item> --> |
| | | <el-form-item label="操作时间" prop="handleTime"> |
| | | <el-date-picker clearable v-model="form.handleTime" type="date" value-format="yyyy-MM-dd" |
| | | placeholder="请选择管理员操作时间"> |
| | | <el-date-picker |
| | | clearable |
| | | v-model="form.handleTime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请选择管理员操作时间" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | addAftersale, |
| | | updateAftersale, |
| | | } from "@/api/mall/aftersale"; |
| | | import { |
| | | getNumber, |
| | | hasReport, |
| | | getPdf, |
| | | getOrderList, |
| | | getNewDateList, |
| | | } from "@/api/hosp/order"; |
| | | import moment from "moment"; |
| | | |
| | | export default { |
| | | name: "Aftersale", |
| | | dicts: ['app_aftersale_status', ], |
| | | dicts: ["app_aftersale_status"], |
| | | |
| | | data() { |
| | | return { |
| | |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getNowTime() |
| | | this.getList(); |
| | | // this.getNowTime(); |
| | | |
| | | this.getdate(); |
| | | }, |
| | | methods: { |
| | | // / 处理默认选中当前日期 |
| | | getNowTime() { |
| | | getdate() { |
| | | getNewDateList().then((res) => { |
| | | this.createTimeList = [ |
| | | moment(res.data).format("YYYY-MM-DD 00:00:00"), |
| | | moment(res.data).format("YYYY-MM-DD 23:59:00") |
| | | ];; |
| | | this.getList(); |
| | | }); |
| | | }, |
| | | // / 处理默认选中当前日期 |
| | | getNowTime() { |
| | | var curDate = new Date().getTime(); |
| | | var dayNum = 7 * 24 * 3600 * 1000; |
| | | var threeDays = curDate - dayNum; |
| | |
| | | var d = time.getDate(); |
| | | // var h = time.getHours(); |
| | | // var mm = time.getMinutes(); |
| | | return ( |
| | | y + |
| | | "-" + |
| | | this.add0(m) + |
| | | "-" + |
| | | this.add0(d) |
| | | ); |
| | | return y + "-" + this.add0(m) + "-" + this.add0(d); |
| | | }, |
| | | dateChangebirthday1(val) { |
| | | if(val == null){ |
| | | this.createTimeList = [] |
| | | }else{ |
| | | if (val == null) { |
| | | this.createTimeList = []; |
| | | } else { |
| | | this.createTimeList = val; |
| | | } |
| | | }, |
| | |
| | | getList() { |
| | | this.loading = true; |
| | | if (this.createTimeList) { |
| | | this.queryParams.startTime = this.createTimeList[0] |
| | | this.queryParams.endTime = this.createTimeList[1] |
| | | this.queryParams.startTime = this.createTimeList[0]; |
| | | this.queryParams.endTime = this.createTimeList[1]; |
| | | } |
| | | listAftersale(this.queryParams).then((response) => { |
| | | this.aftersaleList = response.rows; |
| | | |
| | | |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | |
| | | orderPrice: row.amount, |
| | | refundAmount: row.amount, |
| | | refundType: 1, |
| | | } |
| | | agreeToRefund(data).then(res => { |
| | | }; |
| | | agreeToRefund(data).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("退款成功"); |
| | | this.getList() |
| | | this.getList(); |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | handleDelete(row) { |
| | | let data = { |
| | | id: row.id, |
| | | } |
| | | saleRefund(data).then(res => { |
| | | }; |
| | | saleRefund(data).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("已拒绝"); |
| | | this.getList() |
| | | this.getList(); |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | }, |
| | | }; |