<template>
	<!-- 退款页、一键改价页、订单备注页、立即退款立即退货页 -->
  <view>
    <view class="priceChange" :class="[change === true ? 'on' : '',status == 2 && !isRefund?'goodsOn':'']">
			<!-- status == 0? orderInfo.refund_status === 1? "立即退款": "一键改价": "订单备注" -->
      <view class="priceTitle">
        {{
					status == 8?'退款原因': status == 0?"一键改价": status == 1?'订单备注': isRefund?'立即退款':'立即退货'
        }}
        <span class="iconfont icon-guanbi" @click="close"></span>
      </view>
			<!-- 一键改价 -->
      <view class="listChange" v-if="status == 0">
        <view
          class="item acea-row row-between-wrapper"
          v-if="orderInfo.refund_status === 0"
        >
          <view>商品总价(¥)</view>
          <view class="money">
            {{ orderInfo.total_price }}<span class="iconfont icon-suozi"></span>
          </view>
        </view>
        <view
          class="item acea-row row-between-wrapper"
          v-if="orderInfo.refund_status === 0"
        >
          <view>原始邮费(¥)</view>
          <view class="money">
            {{ orderInfo.pay_postage }}<span class="iconfont icon-suozi"></span>
          </view>
        </view>
        <view
          class="item acea-row row-between-wrapper"
          v-if="orderInfo.refund_status === 0"
        >
          <view>实际支付(¥)</view>
          <view class="money">
            <input
              type="text"
              v-model="price"
              :class="focus === true ? 'on' : ''"
              @focus="priceChange"
            />
          </view>
        </view>
      </view>
			<!-- 立即退款 -->
			<view class="listChange" v-if="status == 2">
			  <view v-if="isRefund"
			    class="item acea-row row-between-wrapper"
			  >
			    <view>实际支付(¥)</view>
			    <view class="money">
			      {{ orderInfo.pay_price }}<span class="iconfont icon-suozi"></span>
			    </view>
			  </view>
			  <view
				  v-if="isRefund"
			    class="item acea-row row-between-wrapper"
			  >
			    <view>退款金额(¥)</view>
			    <view class="money">
			      <input
			        type="text"
			        v-model="refund_price"
			        :class="focus === true ? 'on' : ''"
			        @focus="priceChange"
			      />
			    </view>
			  </view>
				<!-- <view class="title" v-if="!isRefund">同意退货退款</view> -->
			</view>
      <view class="listChange" v-if="status == 1">
        <textarea
          placeholder="请填写备注信息..."
          v-model="remark"
        ></textarea>
      </view>
			<view class="listChange" v-if="status == 8">
			  <textarea
			    placeholder="请填写退款原因..."
			    v-model="refuse_reason"
			  ></textarea>
			</view>
			<view class="modify" @click="refuse" v-if="status == 8">确认提交</view>
      <view class="modify" @click="save" v-if="status == 1 || status == 0">立即修改</view>
			<view class="modify" @click="save" v-if="status == 2 && isRefund">同意退款</view>
      <view
        class="modify1"
        @click="openRefund"
        v-if="status == 2 && isRefund"
      >
        拒绝退款
      </view>
			<view class="reGoods acea-row row-between-wrapper" v-if="status == 2 && !isRefund">
				<view class="bnt grey" @click="refuse">拒绝</view>
				<view class="bnt" @click="save">同意</view>
			</view>
			<slot name="bottom"></slot>
    </view>
    <view class="mask" @touchmove.prevent v-show="change === true"></view>
  </view>
</template>
<style lang="scss">
.mask{
	z-index: 99;
}
.priceChange .reGoods{
	padding: 0 25upx;
	margin-top: 50upx;
}
.priceChange .reGoods .bnt{width: 250upx;height:90upx;background-color:#2291f8;font-size:32upx;color:#fff;text-align: center;line-height: 90upx;
border-radius:45upx;}	
.priceChange .reGoods .bnt.grey{
	background-color:#eee;
	color:#312b2b;
}
.priceChange{position:fixed;width:580upx;height:670upx;background-color:#fff;border-radius:10upx;top:50%;left:50%;margin-left:-290upx;margin-top:-335upx;z-index:666;transition:all 0.3s ease-in-out 0s;transform: scale(0);opacity:0;}
.priceChange.on{opacity:1;transform: scale(1);}
.priceChange.goodsOn{height: 380upx;}
.priceChange .priceTitle{background:url("../../static/pricetitle.jpg") no-repeat;background-size:100% 100%;width:100%;height:160upx;border-radius:10upx 10upx 0 0;text-align:center;font-size:40upx;color:#fff;line-height:160upx;position:relative;}
.priceChange .priceTitle .iconfont{position:absolute;font-size:40upx;right:26upx;top:23upx;width:40upx;height:40upx;line-height:40upx;}
.priceChange .listChange{ width: 100%; padding:0 20rpx;}
.priceChange .listChange textarea{box-sizing: border-box;}
.priceChange .listChange .item{height:103upx;border-bottom:1px solid #e3e3e3;font-size:32upx;color:#333;}
.priceChange .listChange .title{
	font-size: 32rpx;
	text-align: center;
	margin-top: 52rpx;
}
.priceChange .listChange .item .money{color:#666;width:300upx;text-align:right;}
.priceChange .listChange .item .money .iconfont{font-size:32upx;margin-left:20upx;}
.priceChange .listChange .item .money input{width:100%;height:100%;text-align:right;color:#ccc;}
.priceChange .listChange .item .money input.on{color:#666;}
.priceChange .modify{font-size:32upx;color:#fff;width:490upx;height:90upx;text-align:center;line-height:90upx;border-radius:45upx;background-color:#2291f8;margin:53upx auto 0 auto;}
.priceChange .modify1{font-size:32upx;color:#312b2b;width:490upx;height:90upx;text-align:center;line-height:90upx;border-radius:45upx;background-color:#eee;margin:30upx auto 0 auto;}
.priceChange .listChange textarea {
  border: 1px solid #eee;
  width: 100%;
  height: 200upx;
  margin-top: 50upx;
  border-radius: 10upx;
  color: #333;
	padding: 10rpx 14rpx;
	box-sizing: border-box;
}
</style>
<script>
export default {
  name: "PriceChange",
  components: {},
  props: {
    change: {
			type: Boolean,
			default: false
		},
		orderInfo: {
			type: Object,
			default: () => {}
		},
    status: {
			type:String,
			default:""
		},
		isRefund: {
			type:Number||String,
			default:0
		}
  },
  data: function() {
    return {
      focus: false,
      price: 0,
      refund_price: 0,
      remark: "",
			refuse_reason:''
    };
  },
  watch: {
    orderInfo: function(nVal) {
      this.price = this.orderInfo.pay_price;
      this.refund_price = this.orderInfo.pay_price;
      this.remark = this.orderInfo.remark;
    }
  },
  mounted: function() {
	},
  methods: {
		openRefund(){
			this.$emit('statusChange','8');
		},
    priceChange: function() {
      this.focus = true;
    },
    close: function() {
      this.price = this.orderInfo.pay_price;
      this.$emit("closechange", false);
    },
    save: function() {
      let that = this;
      that.$emit("savePrice", {
        price: that.price,
        refund_price: that.refund_price,
        type: 1,
        remark: that.remark
      });
    },
    refuse: function() {
      let that = this;
      that.$emit("savePrice", {
        price: that.price,
        refund_price: that.refund_price,
        type: 2,
        remark: that.remark,
				refuse_reason:that.refuse_reason
      });
    }
  }
};
</script>
