shish hai 1 ano
pai
achega
6fe9a97e52

+ 7 - 0
ghs/src/service/refund/index.js

@@ -10,5 +10,12 @@ export class RefundService extends BaseService {
 		});
 	}
 
+	detail(data){
+		return this.request({
+			url: '/detail',
+			params: data
+		});		
+	}
+
 }
 export default new RefundService();

+ 4 - 0
ghs/src/views/in/components/refund-record.vue

@@ -87,6 +87,7 @@ export default {
         },
 		init() {
 			this.showArea = true
+            this.refundInfo = []
 			if(this.app){
 				this.app.refresh({relateOrderSn:this.currentData.orderSn})
 			}
@@ -140,6 +141,9 @@ export default {
 				[ 'data-table' ],
 				['flex1', 'pagination']
 			])
+            .set('pagination', {
+                size:4
+            })
 			.done()
 			app.refresh({relateOrderSn:this.currentData.orderSn})
 		}

+ 2 - 2
ghs/src/views/order/components/begin-refund.vue

@@ -366,8 +366,8 @@ export default {
 }
 .refund-item-list{
 	display: flex;
-	padding-bottom: 30px;
-	padding-top: 30px;
+	padding-bottom:0px;
+	padding-top:0px;
 	.refund-label{
 		width: 200px;
 		color:black;

+ 114 - 32
ghs/src/views/order/components/refund-record.vue

@@ -1,6 +1,6 @@
 <template>
 	<div>
-		<el-drawer :visible.sync="showArea" size="55vw" :before-close="closeFn" custom-class="drawer-class" direction="ltr">
+		<el-drawer :visible.sync="showArea" size="50vw" :before-close="closeFn" custom-class="drawer-class" direction="ltr">
 			<div>
 				<div style="margin-left:10px;font-weight:bold;">售后记录</div>
                 <x-crud @load="onLoad">
@@ -14,23 +14,12 @@
                 </x-crud>
 			</div>
 
-            <div class="app-content" v-if="!$util.isEmpty(refundInfo)">
-                <div class="flex refund-item">
-                    <div class="refund-label">售后时间:</div>
-                    <div class="flex list" style="align-items: center;">
-                        <div class="flex" style="align-items: center;">{{refundInfo.addTime}}</div>
-                    </div>
-                </div>
-                <div class="flex refund-item">
-                    <div class="refund-label">售后单号:</div>
-                    <div class="flex list" style="align-items: center;">
-                        <div class="flex" style="align-items: center;">{{refundInfo.refundSn}}</div>
-                    </div>
-                </div>
+            <div class="app-content" v-if="!$util.isEmpty(info)">
+
                 <div class="flex refund-item">
                     <div class="refund-label">售后方式:</div>
-                    <div class="flex list">
-                        <div class="flex" >{{refundType==1?'退货并退款':'只退款'}}</div>
+                    <div class="flex list" style="align-items: center;">
+                        <div class="flex" style="align-items: center;">{{refundType==1?'退货并退款':'只退款'}}</div>
                     </div>
                 </div>
                 <div class="refund-item-list" v-if="refundType==1">
@@ -38,21 +27,79 @@
                     <div>
                         <div class="list" v-for="(res,i) in product" :key="i">
                         <div class="flex list-title" >
-                            {{res.name}} ¥{{res.unitPrice?parseFloat(res.unitPrice):0}}*{{res.num}}{{res.unitName}}=¥{{parseFloat(res.price)}}
+                            {{res.name}} ¥{{parseFloat(res.xhUnitPrice)}}x{{res.xhNum}}{{res.xhUnitName}}=¥{{parseFloat(res.xhPrice)}}
                         </div>
                     </div>
                     </div>
                 </div>
+
+                <div class="flex refund-item">
+                    <div class="refund-label">申请时间:</div>
+                    <div class="flex list" style="align-items: center;">
+                        <div class="flex" style="align-items: center;">{{ info.addTime ? info.addTime.substr(5,11):'' }}</div>
+                    </div>
+                </div>
+                <div class="flex refund-item">
+                    <div class="refund-label">售后原因:</div>
+                    <div class="flex list" style="align-items: center;">
+                        <div class="flex" style="align-items: center;">
+                            {{ info.cause == 0 ? '质量原因' : '多开错开'}} <span style="margin-left:20px;color:#3385FF;cursor: pointer;" @click="changeCause(info)">修改</span>
+                        </div>
+                    </div>
+                </div>
+                <div class="flex refund-item">
+                    <div class="refund-label">售后单号:</div>
+                    <div class="flex list" style="align-items: center;">
+                        <div class="flex" style="align-items: center;">{{info.orderSn}}</div>
+                    </div>
+                </div>
                 <div class="flex refund-item">
                     <div class="refund-label">售后金额:</div>
-                    <div class="list">¥{{refundPrice}}</div>
+                    <div class="list">
+                        ¥{{refundPrice}}
+                        <span style="margin-left:8px;font-size:16px;" v-if="Number(info.refundPackCost)>0">(含退打包费{{ info.refundPackCost?parseFloat(info.refundPackCost):0 }}元)</span>
+                        <span style="margin-left:8px;font-size:16px;" v-if="Number(info.refundSendCost)>0">(含退运费{{ info.refundSendCost?parseFloat(info.refundSendCost):0 }}元)</span>
+                    </div>
+                </div>
+                <div class=" refund-item">
+                    <div class="refund-label" style="color:red;font-weight:bold;">退款状态:</div>
+                    <div class="list" style="color:red;font-weight:bold;">{{ info.status==0?'待审核':info.status==1?'已通过':info.status==2?'已驳回':info.status==3 ? '已取消':'' }}</div>
+                </div>
+                <div class=" refund-item">
+                    <div class="refund-label">操作人员:</div>
+                    <div class="list">{{ info.shopAdminName||'' }}</div>
                 </div>
-                <div class=" refund-item" v-if="!$util.isEmpty(remark)">
+                <div class=" refund-item">
+                    <div class="refund-label" style="color:red;font-weight:bold;" v-if="!$util.isEmpty(info.rejectReason)">驳回原因:</div>
+                    <div class="list" style="color:red;font-weight:bold;">{{info.rejectReason?info.rejectReason:''}}</div>
+                </div>
+                <div class=" refund-item" v-if="!$util.isEmpty(info.remark)">
                     <div class="refund-label" style="color:red;font-weight:bold;">备注信息:</div>
-                    <div class="list" style="color:red;font-weight:bold;">{{remark}}</div>
+                    <div class="list" style="color:red;font-weight:bold;">{{info.remark?info.remark:''}}</div>
+                </div>
+
+                <div class=" refund-item" v-if="info.smallImgList && !$util.isEmpty(info.smallImgList)">
+                    <div class="refund-label" style="color:red;font-weight:bold;">售后图片:</div>
+                    <div class="list" style="color:red;font-weight:bold;">
+                        <span v-for="(itemImg, indexImg) in info.smallImgList" :key="indexImg">
+					        <img :src="itemImg" style="width:30px;height:30px;float:left;margin-left:9px;margin-bottom:4px;" />
+				        </span>
+                    </div>
                 </div>
-            </div>
 
+
+                <div style="margin-left:80px;margin-top:20px;">
+                    <el-button @click="closeFn" style="margin-left:120px;">关闭</el-button>
+
+                    <el-button @click="reject()" type="primary" style="margin-left:120px;" v-if="info.status==0">驳回</el-button>
+
+                    <el-popconfirm title="确认通过?" @confirm="pass(0)" @onConfirm="pass(0)" style="margin-left:180px;" v-if="info.status==0">
+                        <el-button type="primary" slot="reference">通过</el-button>
+                    </el-popconfirm>
+                </div>
+
+
+            </div>
 		</el-drawer>
 	</div>
 </template>
@@ -72,23 +119,55 @@ export default {
 			refundPrice:0,
 			refundType:1,
 			remark:'',
-            refundInfo:{}
+			info:[],
+			rejectReason:'',
+			from:0,
+			refundAmount:''
 		};
 	},
 	methods: {
-        getDetail(info){
-            this.$service.cgRefund.getRefundFullInfo({ id: info.id }).then(data => {
-                this.refundInfo = data.info
+        reject(){
+            this.$message.error('开发中')
+        },
+		pass(confirm){
+            this.$message.error('开发中')
+			// let that = this
+			// this.$util.confirmModal({content:'确认通过?'},() => {
+			// 	uni.showLoading({mask:true})
+			// 	passRefund({id: this.option.id,version:1,confirm:confirm}).then(res=>{
+			// 		uni.hideLoading()
+			// 		if(res.code == 1){
+			// 			if(res.data.error && res.data.error == 'notFirstApply'){
+			// 				that.$util.confirmModal({content:'本单第二次售后,确认要通过?'},() => {
+			// 					that.pass(1)
+			// 				})
+			// 			}else if(res.data.error && res.data.error == 'hasUnClearOrder'){
+			// 				that.needCancelRemind(res.data.clearId)
+			// 			}else{
+			// 				that.$msg('操作成功')
+			// 				that.init()
+			// 			}
+			// 		}
+			// 	})
+			// })
+		},
+        changeCause(info){
+            this.$message.error('开发中')
+        },
+        getDetail(ret){
+            this.$service.refund.detail({ id: ret.id }).then(data => {
 				this.product = data.itemList||[];
 				this.refundType = data.info.refundType||0;
-				this.refundPrice = data.info.refundPrice?parseFloat(data.info.refundPrice):0
-				this.remark = data.info.remark?data.info.remark:''
+				this.refundPrice = data.info.refundPrice ? parseFloat(data.info.refundPrice) : 0
+				this.remark = data.info.remark;
+				this.info = data.info
             })
         },
 		init() {
 			this.showArea = true
+            this.info = []
 			if(this.app){
-				this.app.refresh({relateOrderSn:this.currentData.orderSn})
+				this.app.refresh({orderSn:this.currentData.orderSn})
 			}
 		},
 		closeFn() {
@@ -96,7 +175,7 @@ export default {
 		},
 		onLoad({ ctx, app }) {
 			this.app = app;
-			ctx.service(this.$service.cgRefund)
+			ctx.service(this.$service.refund)
 			.set('table', {
 				columns: [
 					{
@@ -106,7 +185,7 @@ export default {
 					},
 					{
 						label: '单号',
-						prop: 'refundSn',
+						prop: 'orderSn',
 						align: 'center',
 					},
 					{
@@ -140,8 +219,11 @@ export default {
 				[ 'data-table' ],
 				['flex1', 'pagination']
 			])
+            .set('pagination', {
+                size:4
+            })
 			.done()
-			app.refresh({relateOrderSn:this.currentData.orderSn})
+			app.refresh({orderSn:this.currentData.orderSn})
 		}
 	}
 };
@@ -152,7 +234,7 @@ export default {
 }
 .app-content{
     height: calc(100vh - 30px * 2);
-    padding: 30px;
+    padding:0 10px 10px 30px;
     margin-left:100px;
     background: #FFFFFF;
     .radioBtn{

+ 2 - 1
ghs/src/views/order/list.vue

@@ -349,7 +349,8 @@ export default {
   methods: {
     doMore(cmd,data){
       if(cmd == 'cancel'){
-        //this.cancelOrder(data)
+        this.$message.error('开发中')
+        return false
       }
       if(cmd == 'refundRecord'){
         this.refundRecordData = data