zory vor 4 Wochen
Ursprung
Commit
4bc6365646

+ 2 - 2
src/views/manage/order/index/components/table.vue

@@ -11,7 +11,7 @@
                 {{ scope.row.shop?scope.row.shop.shop_name:'-' }}
             </template>
         </el-table-column>
-        <el-table-column label="下单用户" prop="openid" width="220"></el-table-column>
+        <el-table-column label="下单用户" prop="openid" width="240"></el-table-column>
         <el-table-column label="订单状态" prop="certificate_id" width="120">
             <template #default="scope">
                 {{ status[scope.row.status] }}
@@ -49,7 +49,7 @@
             </template>
         </el-table-column>
         <el-table-column label="取件号" prop="package_sn" width="120"></el-table-column>
-        <el-table-column label="失败原因" prop="money" width="220">
+        <el-table-column label="失败原因" prop="money" width="180">
             <template #default="scope">
                 {{ scope.row.reason?scope.row.reason:'-' }}
             </template>

+ 11 - 11
src/views/merchant/order/index/components/detail.vue

@@ -64,6 +64,17 @@
                 </el-descriptions>
                 <el-table :data="tableData" style="width: 100%" border class="mt10">
                     <el-table-column label="文件名" prop="name" width="260" fixed="left"></el-table-column>
+                    <el-table-column label="状态" prop="name">
+                        <template #default="scope">
+                            <span v-if="scope.row.status==0">转码中</span>
+                            <span v-if="scope.row.status==1">待打印</span>
+                            <span v-if="scope.row.status==2">打印中</span>
+                            <span v-if="scope.row.status==3">已打印</span>
+                            <span v-if="scope.row.status==4">退款中</span>
+                            <span v-if="scope.row.status==5">退款失败</span>
+                            <span v-if="scope.row.status==6">已退款</span>
+                        </template>
+                    </el-table-column>
                     <el-table-column label="页数" prop="page" align="center"></el-table-column>
                     <el-table-column label="纸张" prop="paper_size"></el-table-column>
                     <el-table-column label="颜色" prop="name">
@@ -92,17 +103,6 @@
                             {{ $TOOL.money(scope.row.money) }}
                         </template>
                     </el-table-column>
-                    <el-table-column label="状态" prop="name">
-                        <template #default="scope">
-                            <span v-if="scope.row.status==0">转码中</span>
-                            <span v-if="scope.row.status==1">待打印</span>
-                            <span v-if="scope.row.status==2">打印中</span>
-                            <span v-if="scope.row.status==3">已打印</span>
-                            <span v-if="scope.row.status==4">退款中</span>
-                            <span v-if="scope.row.status==5">退款失败</span>
-                            <span v-if="scope.row.status==6">已退款</span>
-                        </template>
-                    </el-table-column>
                     <el-table-column label="操作" width="120" align="right" fixed="right">
                         <template #default="scope">
                             <el-button-group>

+ 93 - 0
src/views/merchant/order/index/components/refund.vue

@@ -0,0 +1,93 @@
+<template>
+    <el-dialog :title="titleMap[mode]" v-model="visible" :width="500" destroy-on-close @closed="$emit('closed')" :close-on-click-modal="false" :close-on-press-escape="false">
+        <el-form ref="dialogForm" :model="submitData" :rules="rules" label-width="100px" label-position="top">
+            <el-form-item label="订单编号">
+                <el-input v-model="formData.order_sn" readonly disabled clearable placeholder="请输入"></el-input>
+                <div class="el-form-item-msg"></div>
+            </el-form-item>
+            <el-form-item label="订单总金额">
+                <el-input v-model="formData.money" readonly disabled clearable placeholder="请输入">
+                    <template #append>元</template>
+                </el-input>
+                <div class="el-form-item-msg"></div>
+            </el-form-item>
+            <el-form-item label="退款类型" prop="type">
+                <el-radio-group v-model="submitData.type">
+                    <el-radio-button :label="item.key" v-for="(item,index) in refundType" :key="index">{{ item.name }}</el-radio-button>
+                </el-radio-group>
+                <div class="el-form-item-msg"></div>
+            </el-form-item>
+            <el-form-item label="退款金额" prop="money" v-if="submitData.type==2">
+                <el-input v-model="submitData.money" clearable placeholder="请输入">
+                    <template #append>元</template>
+                </el-input>
+                <div class="el-form-item-msg">指定金额不能大于总金额</div>
+            </el-form-item>
+        </el-form>
+		<template #footer>
+			<el-button @click="visible=false" >取 消</el-button>
+			<el-button type="primary" :loading="isSaveing" @click="submit()">提交</el-button>
+		</template>
+    </el-dialog>
+</template>
+<script>
+export default {
+    components: {
+        
+    },
+    data(){
+        return {
+            refundType:[{key:1,name:"全额退款"},{key:2,name:"指定金额"}],
+            loading: false,
+            mode:"add",
+            titleMap:{
+                add:"订单退款",
+                edit:"订单退款"
+            },
+            visible: false,
+            isSaveing: false,
+            formData:{},
+            submitData:{
+                type:1
+            },
+            rules:{
+                type: [
+                    {required: true, message: '请选择'}
+                ],
+                money: [
+                    {required: true, message: '请输入'}
+                ],
+            },
+            category:[],
+            batchData:[],
+            type:1
+        }
+    },
+    methods: {
+        open(mode = 'add'){
+            this.mode = mode;
+            this.visible = true;
+            return this
+        },
+        //表单注入数据
+        setData(data){
+            this.formData = JSON.parse(JSON.stringify(data));
+            this.formData.money = this.$TOOL.money(this.formData.money)
+        },
+        async submit(){
+            var validate = await this.$refs.dialogForm.validate().catch(()=>{});
+            if(!validate){ return false }
+            this.isSaveing = true;
+            var resp = await this.$API.mDiscount.save.post(this.formData);
+            this.isSaveing = false;
+            if (resp.code == 0) {
+                return this.$message.error(resp.msg);
+            }
+            this.$message.success(resp.msg);
+            this.visible = false;
+            this.formData = {};
+            this.$emit("success");
+        }
+    }
+}
+</script>

+ 16 - 14
src/views/merchant/order/index/components/table.vue

@@ -6,7 +6,7 @@
                 {{scope.row.order_sn}}
             </template>
         </el-table-column>
-        <el-table-column label="下单用户" prop="openid" width="220"></el-table-column>
+        <el-table-column label="下单用户" prop="openid" width="240"></el-table-column>
         <el-table-column label="订单状态" prop="certificate_id" width="120">
             <template #default="scope">
                 {{ status[scope.row.status] }}
@@ -44,7 +44,7 @@
             </template>
         </el-table-column>
         <el-table-column label="取件号" prop="package_sn" width="120"></el-table-column>
-        <el-table-column label="失败原因" prop="money" width="220">
+        <el-table-column label="失败原因" prop="money" width="180">
             <template #default="scope">
                 {{ scope.row.reason?scope.row.reason:'-' }}
             </template>
@@ -79,20 +79,19 @@
         </el-table-column>
     </scTable>
     <formMain ref="formMain" @success="handleSuccess"></formMain>
+    <refundMain ref="refundMain" @success="handleSuccess"></refundMain>
 </template>
 
 <script>
 import formMain from "./detail";
+import refundMain from "./refund";
 export default {
     components: {
-        formMain
+        formMain,refundMain
     },
     props: {
         type: { type: String, default: "1" }
     },
-    components: {
-        formMain
-    },
     data(){
         return {
             colorData:['','彩色','黑白'],
@@ -122,14 +121,17 @@ export default {
             })
         },
         table_del(data){
-            this.$confirm("确定要对整笔订单进行退款吗","退款确认",{type: 'warning'}).then(async ()=>{
-                var resp = await this.$API.mOrder.refund.post({"id":data.id});
-                if (resp.code == 0) {
-                    return this.$message.error(resp.msg)
-                }
-                this.$message.success(resp.msg)
-                this.$refs.table.refresh()
-            }).catch(()=>{});
+            this.$nextTick(() => {
+                this.$refs.refundMain.open("edit").setData(data)
+            })
+            // this.$confirm("确定要对整笔订单进行退款吗","退款确认",{type: 'warning'}).then(async ()=>{
+            //     var resp = await this.$API.mOrder.refund.post({"id":data.id});
+            //     if (resp.code == 0) {
+            //         return this.$message.error(resp.msg)
+            //     }
+            //     this.$message.success(resp.msg)
+            //     this.$refs.table.refresh()
+            // }).catch(()=>{});
         },
         refresh(){
             this.$refs.table.refresh()