|
@@ -18,21 +18,31 @@
|
|
|
@size-change="sizeChange"
|
|
|
@refresh-change="refreshChange"
|
|
|
@on-load="onLoad">
|
|
|
- <template slot="menuLeft">
|
|
|
- <el-button type="danger"
|
|
|
- size="small"
|
|
|
- icon="el-icon-delete"
|
|
|
- plain
|
|
|
- v-if="permission.aftersales_delete"
|
|
|
- @click="handleDelete">删 除
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
+<!-- <template slot="menuLeft">-->
|
|
|
+<!-- <el-button type="danger"-->
|
|
|
+<!-- size="small"-->
|
|
|
+<!-- icon="el-icon-delete"-->
|
|
|
+<!-- plain-->
|
|
|
+<!-- v-if="permission.aftersales_delete"-->
|
|
|
+<!-- @click="handleDelete">删 除-->
|
|
|
+<!-- </el-button>-->
|
|
|
+<!-- </template>-->
|
|
|
+
|
|
|
+ <template slot-scope="scope" slot="menu">
|
|
|
+ <el-button
|
|
|
+ v-if="scope.row.refundState == 0"
|
|
|
+ type="text"
|
|
|
+ size="small"
|
|
|
+ @click="refund(scope.row)"
|
|
|
+ >退款
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
</avue-crud>
|
|
|
</basic-container>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import {getList, getDetail, add, update, remove} from "@/api/finance/aftersales";
|
|
|
+ import {getList, getDetail, add, update, remove, refund} from "@/api/finance/aftersales";
|
|
|
import {mapGetters} from "vuex";
|
|
|
|
|
|
export default {
|
|
@@ -56,7 +66,10 @@
|
|
|
border: true,
|
|
|
index: true,
|
|
|
viewBtn: true,
|
|
|
- selection: true,
|
|
|
+ addBtn: false,
|
|
|
+ editBtn: false,
|
|
|
+ delBtn: false,
|
|
|
+ selection: false,
|
|
|
dialogClickModal: false,
|
|
|
column: [
|
|
|
{
|
|
@@ -90,22 +103,28 @@
|
|
|
}]
|
|
|
},
|
|
|
{
|
|
|
- label: "售后状态 0-处理中 1-完成 2-关闭",
|
|
|
+ label: "售后状态",
|
|
|
prop: "status",
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: "请输入售后状态 0-处理中 1-完成 2-关闭",
|
|
|
- trigger: "blur"
|
|
|
- }]
|
|
|
+ type: "select",
|
|
|
+ search: true,
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/getEnumDict?enumName=AfterSalesStatusEnum",
|
|
|
+ props: {
|
|
|
+ label: "name",
|
|
|
+ value: "value"
|
|
|
+ },
|
|
|
+ dataType: "number",
|
|
|
},
|
|
|
{
|
|
|
- label: "退款状态 1-已退款 0-未退款",
|
|
|
+ label: "退款状态",
|
|
|
prop: "refundState",
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: "请输入退款状态 1-已退款 0-未退款",
|
|
|
- trigger: "blur"
|
|
|
- }]
|
|
|
+ type: "select",
|
|
|
+ search: true,
|
|
|
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=refund_status",
|
|
|
+ props: {
|
|
|
+ label: "dictValue",
|
|
|
+ value: "dictKey"
|
|
|
+ },
|
|
|
+ dataType: "number",
|
|
|
},
|
|
|
]
|
|
|
},
|
|
@@ -239,7 +258,31 @@
|
|
|
this.loading = false;
|
|
|
this.selectionClear();
|
|
|
});
|
|
|
- }
|
|
|
+ },
|
|
|
+ refund(row) {
|
|
|
+ this.$confirm("确定对该订单退款?", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(() => {
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: '退款中...',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(0, 0, 0, 0.7)'
|
|
|
+ });
|
|
|
+ refund(row.orderId, row.id).then(res => {
|
|
|
+ loading.close();
|
|
|
+ this.$message({
|
|
|
+ type: "success",
|
|
|
+ message: "退款成功!"
|
|
|
+ });
|
|
|
+ this.refreshChange();
|
|
|
+ }).catch(() => {
|
|
|
+ loading.close();
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
</script>
|