| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501 |
- <script>
- Vue.component('aggregateYzSupplyOperation', {
- props: {
- operationType:{
- type:Number|String,
- default:'',
- },
- operationOrder:{
- type:Object|String,
- default:{},
- },
- dialog_show:{
- type:Number,
- default:0,
- },
- },
- delimiters: ['[[', ']]'],
- data(){
- return{
- create_order_id:0,
- order_price:0,
- middleground_configuration_id:"",
- balance:0,//中台汇聚余额
- yz_supply_pay_order_show:false,
- rechargePrice:0,//充值金额
- rechargePriceCodeUrl:"",
- pay_sn:"",//充值订单号
- middleground_refund_form_k:0,
- middleground_refund_form_count:[],
- freight:[],
- technical_services_fee:[],
- middleground_refund_form:{
- order_item_id:[],
- amount:[],
- reason_type:[],
- reason:[],
- description:[],
- is_received:[],
- detail_images:[],
- refund_type:[],
- order_goods:[],
- is_syn:[],
- after_sales_type:[],
- freight:[],
- technical_services_fee:[],
- barter_sku_id:[],
- barter_num:[],
- refund_way:[],
- num:[],
- },
- middleground_refund_show:false,//同步中台售后弹窗
- }
- },
- watch:{
- dialog_show(val) {
- if (this.operationType == 'yz-supplier-create-order') {
- this.createOrder(this.operationOrder.id);
- } else if( this.operationType == 'yz-supplier-unlock-order') {
- this.unlockOrder(this.operationOrder.id);
- }else if( this.operationType == 'middleground-refund') {
- this.middlegroundRefund(this.operationOrder);
- }else if( this.operationType == 'refund-list') {
- this.seeRefund(this.operationOrder);
- }
-
- },
- },
- mounted: function(){
- },
- methods:{
- seeRefund(order){
- var link = '{!! yzWebFullUrl('plugin.yz-supply.admin.refund.index') !!}';
- window.location.href = link+"&order_searchs_string="+order.order_sn+"&order_searchs=third_order_sn"+"&middleground_configuration_id="+order.middleground_configuration_id
- },
- //获取售后数据
- middlegroundRefund(order){
- let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
- this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.refund.middleground-refund') !!}',{order_id:order['id']}).then(function (response) {
- console.log(response.data);
- if (response.data.result) {
- this.middleground_refund_form_k = 0;
- this.middleground_refund_form = response.data.data.refund;
- this.middleground_refund_form_count = response.data.data.count;
- this.freight = response.data.data.freight; //每个订单可退的最大运费
- this.technical_services_fee = response.data.data.technical_services_fee;//每个订单可退的最大技术服务费
- this.middleground_refund_form.middleground_configuration_id = response.data.data.middleground_configuration_id;
- this.middleground_refund_show = true;
- }
- else{
- this.$message({type: 'error',message: response.data.msg});
- }
- loading.close();
- },function (response) {
- this.$message({type: 'error',message: response.data.msg});
- loading.close();
- }
- );
- },
- //切换子订单售后
- middleground_refund_check(index){
- this.middleground_refund_form_k = index;
- },
- //同步售后到中台
- confirmSynRefund(){
- var middleground_refund_form = this.middleground_refund_form
- var freight = [];
- var technical_services_fee = [];
- var title = [];
- for (var i=0;i<middleground_refund_form['is_syn'].length;i++){
- if (middleground_refund_form['is_syn'][i] == 1){
- if (freight[middleground_refund_form['yz_order_id'][i]] == undefined){
- freight[middleground_refund_form['yz_order_id'][i]] = 0;
- }
- if (technical_services_fee[middleground_refund_form['yz_order_id'][i]] == undefined){
- technical_services_fee[middleground_refund_form['yz_order_id'][i]] = 0;
- }
- if (title[middleground_refund_form['yz_order_id'][i]] == undefined){
- title[middleground_refund_form['yz_order_id'][i]] = "";
- }
- title[middleground_refund_form['yz_order_id'][i]] += ",售后商品"+(i+1);
- freight[middleground_refund_form['yz_order_id'][i]] += parseInt(middleground_refund_form['freight'][i]*100)
- technical_services_fee[middleground_refund_form['yz_order_id'][i]] += parseInt(middleground_refund_form['technical_services_fee'][i]*100);
- if (freight[middleground_refund_form['yz_order_id'][i]]>this.freight[middleground_refund_form['yz_order_id'][i]]){
- this.$message({type: 'error',message: title[middleground_refund_form['yz_order_id'][i]]+"相加可退运费最大为"+(this.freight[middleground_refund_form['yz_order_id'][i]]/100).toFixed(2)});
- return false;
- }
- if (technical_services_fee[middleground_refund_form['yz_order_id'][i]]>this.technical_services_fee[middleground_refund_form['yz_order_id'][i]]){
- this.$message({type: 'error',message: title[middleground_refund_form['yz_order_id'][i]]+"相加可退技术服务费最大为"+(this.technical_services_fee[middleground_refund_form['yz_order_id'][i]]/100).toFixed(2)});
- return false;
- }
- }
- }
- this.$confirm('确认同步售后到中台?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {
- let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
- this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.refund.refund') !!}',{middleground_refund_form:middleground_refund_form}).then(function (response) {
- if (response.data.result) {
- this.middleground_refund_show = false;
- this.$message({type: 'success',message: '成功!'});
- this.getData(this.current_page)
- }
- else{
- this.$message({type: 'error',message: response.data.msg});
- }
- loading.close();
- },function (response) {
- this.$message({type: 'error',message: response.data.msg});
- loading.close();
- }
- );
- }).catch(() => {
- this.$message({type: 'info',message: '已取消'});
- });
- },
- createOrder(order_id) {
- this.create_order_id = order_id;
- let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
- this.$confirm('确认此订单提交到第三方吗?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {
- this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.order-vue-list.create-order') !!}',{order_id:order_id}).then(function (response) {
- if (response.data.result) {
- //代表需要支付
- if(response.data.data.code == 7 && response.data.data.data != undefined && response.data.data.data.code == 1){
- this.middleground_configuration_id = response.data.data.middleground_configuration_id;
- var order_price = 0
- for (i=0;i<response.data.data.data.order_price.length;i++){
- order_price += parseInt(response.data.data.data.order_price[i])
- }
- this.order_price = (order_price/100).toFixed(2);
- this.rechargePrice = this.order_price;
- this.getBalance()
- loading.close();
- this.$message({type: 'error',message: response.data.data.msg});
- return false;
- }
- if (response.data.data.length == 0){
- this.$message({type: 'success',message: '操作成功'});
- loading.close();
- this.$parent.getData(this.$parent.current_page)
- }else{
- loading.close();
- this.$message({type: 'error',message: response.data.data.msg});
- }
- console.log(response.data);
- } else{
- this.$message({type: 'error',message: response.data.msg});
- loading.close();
- }
- },function (response) {
- this.$message({type: 'error',message: response.data.msg});
- loading.close();
- }
- );
- }).catch(() => {
- this.$message({type: 'info',message: '已取消操作'});
- loading.close();
- });
- },
- //不需要确认框版本
- createOrder1(order_id) {
- this.create_order_id = order_id;
- let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
- this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.order-vue-list.create-order') !!}',{order_id:order_id}).then(function (response) {
- if (response.data.result) {
- //代表需要支付
- if(response.data.data.code == 7 && response.data.data.data != undefined && response.data.data.data.code == 1){
- this.middleground_configuration_id = response.data.data.middleground_configuration_id;
- var order_price = 0
- for (i=0;i<response.data.data.data.order_price.length;i++){
- order_price += parseInt(response.data.data.data.order_price[i])
- }
- this.order_price = (order_price/100).toFixed(2);
- this.rechargePrice = this.order_price;
- this.getBalance()
- loading.close();
- this.$message({type: 'error',message: response.data.data.msg});
- return false;
- }
- if (response.data.data.length == 0){
- this.$message({type: 'success',message: '操作成功'});
- loading.close();
- this.$parent.getData(this.$parent.current_page)
- }else{
- this.$message({type: 'error',message: response.data.data.msg});
- }
- console.log(response.data);
- } else{
- this.$message({type: 'error',message: response.data.msg});
- loading.close();
- }
- },function (response) {
- this.$message({type: 'error',message: response.data.msg});
- loading.close();
- }
- );
- },
- //获取中台汇聚余额
- getBalance(){
- this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.order-vue-list.get-balance') !!}',{middleground_configuration_id:this.middleground_configuration_id}).then(function (response) {
- if (response.data.result) {
- this.balance = response.data.data.price;
- this.yz_supply_pay_order_show = true;
- this.$message({type: 'success',message: '操作成功'});
- } else{
- this.$message({type: 'error',message: response.data.msg});
- }
- },function (response) {
- this.$message({type: 'error',message: response.data.msg});
- }
- );
- },
- getRechargeStatus(){
- this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.order-vue-list.get-recharge-status') !!}',{middleground_configuration_id:this.middleground_configuration_id,pay_sn:this.pay_sn}).then(function (response) {
- if (response.data.result) {
- console.log(response.data.data.data);
- //充值状态为0 充值弹窗显示,充值二维码存在 就一直轮询查询到充值成功为止
- if(response.data.data.data.pay_status == 0 ){
- if(this.yz_supply_pay_order_show != true || this.rechargePriceCodeUrl == ""){
- return;
- }
- setTimeout(() => {
- this.getRechargeStatus()
- }, 1000);
- return
- }
- this.yz_supply_pay_order_show = false;
- this.rechargePriceCodeUrl = "";
- this.createOrder1(this.create_order_id);
- this.$message({type: 'success',message: '充值成功'});
- } else{
- loading.close();
- this.$message({type: 'error',message: response.data.msg});
- }
- },function (response) {
- loading.close();
- this.$message({type: 'error',message: response.data.msg});
- }
- );
- },
- //充值
- yzSupplyRecharge(){
- if (this.rechargePrice <= 0){
- this.$message({type: 'error',message: "请输入充值金额"});
- return
- }
- this.rechargePriceCodeUrl = "";
- let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
- this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.order-vue-list.yz-supply-recharge-price') !!}',{middleground_configuration_id:this.middleground_configuration_id,recharge_price:this.rechargePrice}).then(function (response) {
- if (response.data.result) {
- this.rechargePriceCodeUrl = response.data.data.data.rd_Pic;
- this.pay_sn = response.data.data.data.r2_OrderNo;
- this.getRechargeStatus();
- console.log(response.data.data.data);
- loading.close();
- this.$message({type: 'success',message: '操作成功'});
- } else{
- loading.close();
- this.$message({type: 'error',message: response.data.msg});
- }
- },function (response) {
- loading.close();
- this.$message({type: 'error',message: response.data.msg});
- }
- );
- },
- unlockOrder(order_id) {
- let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
- this.$confirm('确认解锁订单?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {
- this.$http.post('{!! yzWebFullUrl('plugin.yz-supply.admin.order-vue-list.unlock-order') !!}',{order_id:order_id}).then(function (response) {
- if (response.data.result) {
- this.$message({type: 'success',message: '操作成功'});
- loading.close();
- this.$parent.getData(this.$parent.current_page)
- } else{
- this.$message({type: 'error',message: response.data.msg});
- loading.close();
- }
- },function (response) {
- this.$message({type: 'error',message: response.data.msg});
- loading.close();
- }
- );
- }).catch(() => {
- this.$message({type: 'info',message: '已取消操作'});
- loading.close();
- });
- },
- },
- template: `<div>
- <el-dialog :visible.sync="yz_supply_pay_order_show" width="750px" title="汇聚充值">
- <el-row style="margin-left: 15%;margin-bottom:15px; ">
- <el-input v-model="rechargePrice" placeholder="" style="width:70%;"></el-input>
- <el-button type="primary" @click="yzSupplyRecharge()">充值</el-button>
- </el-row>
- <div v-if="rechargePriceCodeUrl != ''" >
- <div style="display: flex;justify-content: center; margin-bottom: 10px;">
- <img :src="this.rechargePriceCodeUrl" alt="" style="width:150px;height:150px;border-radius: 5px;cursor: pointer;">
- </div>
- <p style="color: red;" align="center">*充值之后,自动提交本订单,请检查是否存在未自动提交订单</p>
- </div>
- <div style="height:300px;overflow:auto" id="close-order">
- <div style="background:#eff3f6;border-radius:8px;padding:20px 10px;color:#000;font-weight:500;line-height:36px;">
- <div style="font-size:16px;font-weight:600;color:#000">信息</div>
- <div>
- <div style="display:inline-block;width:150px;text-align:right;margin-right:30px">汇聚余额</div>
- <div style="display:inline-block;">[[balance?balance:0]]</div>
- </div>
- <div>
- <div style="display:inline-block;width:150px;text-align:right;margin-right:30px">订单金额</div>
- <div style="display:inline-block;">[[order_price?order_price:"获取失败"]]</div>
- </div>
- </div>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-button @click="yz_supply_pay_order_show = false">取 消</el-button>
- </span>
- </el-dialog>
- <el-dialog :visible.sync="middleground_refund_show" width="650px" title="同步售后到中台">
- <el-form ref="refund_pass_form" :model="middleground_refund_form">
- <span v-for="(item1,index1) in middleground_refund_form_count">
- <el-button v-if="index1 != middleground_refund_form_k" style="margin-left: 5px;" @click="middleground_refund_check(index1)">[[item1.title]]</el-button>
- <el-button v-else type="primary" style="margin-left: 5px;" @click="middleground_refund_check(index1)">[[item1.title]]</el-button>
- </span>
- <div v-if="middleground_refund_form.order_goods[middleground_refund_form_k]" class="vue-head">
- <div class="vue-main-title">
- <div class="vue-main-title-left"></div>
- <div class="vue-main-title-content">商品信息(仅为商城的商品信息)</div>
- </div>
- <div class="vue-main-form">
- <el-table :data="middleground_refund_form.order_goods[middleground_refund_form_k]" style="width: 100%">
- <el-table-column prop="goods_id" label="商品ID" width="100" align="center"></el-table-column>
- <el-table-column prop="" label="商品" width="60" align="center">
- <template slot-scope="scope">
- <img :src="scope.row.thumb" style="width:50px;height:50px;">
- </template>
- </el-table-column>
- <el-table-column prop="down_time" label="" min-width="180" align="left">
- <template slot-scope="scope">
- <div class="list-con-goods-title"
- style="color:#29BA9C;cursor: pointer;"
- @click="gotoGoods(scope.row.goods_id)">
- [[scope.row.title]]
- </div>
- <div class="list-con-goods-option">规格: [[scope.row.goods_option_title]]</div>
- <div class="list-con-goods-option">数量: [[scope.row.total]]</div>
- </template>
- </el-table-column>
- <el-table-column prop="down_time" label="商品价格" min-width="230" align="center">
- <template slot-scope="scope">
- <div>
- <div style="display:flex;justify-content: center;">
- <div style="flex:1;text-align:right">现价:</div>
- <div style="flex:1;text-align:left">¥[[scope.row.goods_price]]</div>
- </div>
- <div style="display:flex;justify-content: center;">
- <div style="flex:1;text-align:right">原价:</div>
- <div style="flex:1;text-align:left">¥[[scope.row.goods_market_price]]</div>
- </div>
- <div style="display:flex;justify-content: center;">
- <div style="flex:1;text-align:right">成本价:</div>
- <div style="flex:1;text-align:left">¥[[scope.row.goods_cost_price]]</div>
- </div>
- <div style="display:flex;justify-content: center;">
- <div style="flex:1;text-align:right">均摊支付:</div>
- <div style="flex:1;text-align:left">¥[[scope.row.payment_amount]]</div>
- </div>
- </div>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- <el-form-item label="是否同步到中台" prop="refund_type">
- <el-radio v-model.number="middleground_refund_form.is_syn[middleground_refund_form_k]" :label="1">是</el-radio>
- <el-radio v-model.number="middleground_refund_form.is_syn[middleground_refund_form_k]" :label="0">否</el-radio>
- </el-form-item>
- <el-form-item label="服务类型" prop="refund_type">
- <el-radio v-for="(item,value) in middleground_refund_form.after_sales_type[middleground_refund_form_k]" v-model.number="middleground_refund_form.refund_type[middleground_refund_form_k]" :label="value">[[item]]</el-radio>
- </el-form-item>
- <el-form-item label="换货商品规格" prop="refund_type" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] == 2">
- <el-radio v-for="(item,value) in middleground_refund_form.after_sales_goods_options[middleground_refund_form_k]" v-model.number="middleground_refund_form.barter_sku_id[middleground_refund_form_k]" :label="item.id">[[item.title]]</el-radio>
- </el-form-item>
- <el-form-item label="" prop="refund_type" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] == 2">
- 换货商品数量:
- <el-input v-model="middleground_refund_form.barter_num[middleground_refund_form_k]" placeholder="换货商品数量"></el-input>
- </el-form-item>
- <el-form-item label="货物状态" prop="is_received" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2">
- <el-radio v-model.number="middleground_refund_form.is_received[middleground_refund_form_k]" :label="1">已收到货</el-radio>
- <el-radio v-model.number="middleground_refund_form.is_received[middleground_refund_form_k]" :label="0">未收到货</el-radio>
- </el-form-item>
- <el-form-item label="" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2">
- 申请原因:
- <el-input v-model="middleground_refund_form.reason[middleground_refund_form_k]" :rows="3" type="textarea"></el-input>
- </el-form-item>
- <el-form-item label="退款方式" prop="refund_way" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2">
- <el-radio v-model.number="middleground_refund_form.refund_way[middleground_refund_form_k]" :label="0">自定义金额</el-radio>
- <el-radio v-model.number="middleground_refund_form.refund_way[middleground_refund_form_k]" :label="1">商品个数</el-radio>
- </el-form-item>
- <el-form-item label="" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2 && middleground_refund_form.refund_way[middleground_refund_form_k] == 0">
- 退款金额:
- <el-input v-model="middleground_refund_form.amount[middleground_refund_form_k]" placeholder="退款金额"></el-input>
- </el-form-item>
- <el-form-item label="" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2 && middleground_refund_form.refund_way[middleground_refund_form_k] == 1">
- 退款商品个数:
- <el-input v-model="middleground_refund_form.num[middleground_refund_form_k]" placeholder="退款商品个数"></el-input>
- </el-form-item>
- <el-form-item label="" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2 ">
- 退款运费金额:
- <el-input v-model="middleground_refund_form.freight[middleground_refund_form_k]" placeholder="退款金额"></el-input>
- </el-form-item>
- <el-form-item label="" v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2">
- 退款技术服务费金额:
- <el-input v-model="middleground_refund_form.technical_services_fee[middleground_refund_form_k]" max="" placeholder="退款金额"></el-input>
- </el-form-item>
- <el-form-item label="">
- <span v-if="middleground_refund_form.refund_type[middleground_refund_form_k] != 2">
- 退款说明:
- </span>
- <span v-else>
- 换货说明:
- </span>
- <el-input v-model="middleground_refund_form.description[middleground_refund_form_k]" :rows="3" type="textarea"></el-input>
- </el-form-item>
- </el-form>
- <span slot="footer" class="dialog-footer">
- <el-button @click="middleground_refund_show = false">取 消</el-button>
- <el-button type="primary" @click="confirmSynRefund()">确 认</el-button>
- </span>
- </el-dialog>
- </div> `,
-
- });
-
- </script>
|