leaseToyOperation.blade.php 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <script>
  2. Vue.component('leaseToyOperation', {
  3. props: {
  4. operationType:{
  5. type:Number|String,
  6. default:'',
  7. },
  8. operationOrder:{
  9. type:Object|String,
  10. default:{},
  11. },
  12. dialog_show:{
  13. type:Number,
  14. default:0,
  15. },
  16. },
  17. delimiters: ['[[', ']]'],
  18. data(){
  19. return{
  20. lease_toy_return_verify_show:false,// 审核弹窗
  21. lease_toy_confirm_return_show:false,
  22. confirm_return:{
  23. return_pay_type_id:3,
  24. },
  25. lease_toy_order:{},
  26. }
  27. },
  28. watch:{
  29. dialog_show(val) {
  30. if (this.operationType == 'lease_toy_return_verify') {
  31. this.returnVerifyShow(this.operationOrder.id);
  32. } else if( this.operationType == 'lease_toy_confirm_return') {
  33. this.confirmReturn(this.operationOrder.id);
  34. }
  35. },
  36. },
  37. mounted: function(){
  38. },
  39. methods:{
  40. returnVerifyShow(id) {
  41. this.lease_toy_return_verify_show = true;
  42. },
  43. returnVerify(status_code) {
  44. console.log(status_code);
  45. let url = '';
  46. if (status_code == 'refuse') {
  47. url = "{!! yzWebFullUrl('plugin.lease-toy.admin.lease-return.refuse') !!}";
  48. } else if( status_code == 'waitSendBack') {
  49. url = "{!! yzWebFullUrl('plugin.lease-toy.admin.lease-return.waitSendBack') !!}";
  50. } else if (status_code == 'directPass') {
  51. url = "{!! yzWebFullUrl('plugin.lease-toy.admin.lease-return.directPass') !!}";
  52. }
  53. if (!url) {
  54. this.$message({type: 'success',message: '操作方法不存在!'+status_code});
  55. return false;
  56. }
  57. let loading = this.$loading({target:document.querySelector("#lease_toy_return_verify_show"),background: 'rgba(0, 0, 0, 0)'});
  58. this.$http.post(url,{order_id:this.operationOrder.id}).then(function (response) {
  59. if (response.data.result) {
  60. this.$message({type: 'success',message: '审核操作成功!'});
  61. }
  62. else{
  63. this.$message({type: 'error',message: response.data.msg});
  64. }
  65. loading.close();
  66. this.lease_toy_return_verify_show = false;
  67. this.$emit('search');
  68. },function (response) {
  69. this.$message({type: 'error',message: response.data.msg});
  70. loading.close();
  71. this.lease_toy_return_verify_show = false;
  72. })
  73. },
  74. confirmReturn(id) {
  75. let that = this;
  76. that.$http.post("{!! yzWebFullUrl('plugin.lease-toy.admin.lease-return.get-lease-toy-order') !!}", {order_id:id}).then(response => {
  77. console.log(response);
  78. if(response.data.result == 1){
  79. that.lease_toy_order = response.data.data;
  80. that.lease_toy_confirm_return_show = true;
  81. //console.log(that.lease_toy_order);
  82. } else{
  83. that.$message({type: 'error',message: response.data.msg});
  84. //that.$message.error(response.data.msg);
  85. }
  86. }),function(res){
  87. console.log(res);
  88. that.$message({type: 'error',message: '请求失败'});
  89. //that.$message.error(response.data.msg);
  90. };
  91. },
  92. confirmLeaseRefund() {
  93. let json = {
  94. order_id:this.operationOrder.id,
  95. return_pay_type_id:this.confirm_return.return_pay_type_id,
  96. return_deposit:this.lease_toy_order.deposit_total,
  97. be_overdue:this.confirm_return.be_overdue,
  98. be_damaged:this.confirm_return.be_damaged,
  99. explain:this.confirm_return.explain,
  100. };
  101. let loading = this.$loading({target:document.querySelector("#lease_toy_confirm_return_show"),background: 'rgba(0, 0, 0, 0)'});
  102. this.$http.post("{!! yzWebFullUrl('plugin.lease-toy.admin.lease-return.lease-refund') !!}", json).then(response => {
  103. console.log(response);
  104. if(response.data.result == 1){
  105. loading.close();
  106. this.lease_toy_confirm_return_show = false;
  107. this.$emit('search');
  108. } else{
  109. this.$message({type: 'error',message: response.data.msg});
  110. }
  111. }),function(res){
  112. console.log(res);
  113. this.$message({type: 'error',message: response.data.msg});
  114. };
  115. },
  116. },
  117. template: `
  118. <div>
  119. <!-- 审核弹窗 -->
  120. <el-dialog :visible.sync="lease_toy_return_verify_show" width="750px" title="处理归还申请">
  121. <div style="text-align:center;overflow:auto" id="lease_toy_return_verify_show">
  122. <el-button @click="returnVerify('refuse')">驳回申请</el-button>
  123. <el-button @click="returnVerify('waitSendBack')">通过申请(需客户寄回商品)</el-button>
  124. <el-button @click="returnVerify('directPass')">通过申请(无需客户寄回商品)</el-button>
  125. </div>
  126. <span slot="footer" class="dialog-footer">
  127. <el-button @click="lease_toy_return_verify_show = false">取 消</el-button>
  128. </span>
  129. </el-dialog>
  130. <!-- 确认归还 -->
  131. <el-dialog :visible.sync="lease_toy_confirm_return_show" center width="750px" title="租赁信息">
  132. <div style="overflow:auto" id="lease_toy_confirm_return_show">
  133. <el-form ref="confirm_return" :model="confirm_return" label-width="15%">
  134. <el-form-item label="预归还金额" prop="return_deposit">
  135. <el-input style="width: 50%" v-model="lease_toy_order.deposit_total" :disabled="true">
  136. <template slot="append">元</template>
  137. </el-input>
  138. <div style="font-size:12px;">最终归还押金 = 预归还押金([[lease_toy_order.deposit_total]]) - 逾期 - 破损</div>
  139. </el-form-item>
  140. <el-form-item label="逾期" prop="be_overdue">
  141. <el-input style="width: 50%" v-model="confirm_return.be_overdue">
  142. <template slot="append">元</template>
  143. </el-input>
  144. </el-form-item>
  145. <el-form-item label="破损" prop="be_damaged">
  146. <el-input style="width: 50%" v-model="confirm_return.be_damaged">
  147. <template slot="append">元</template>
  148. </el-input>
  149. </el-form-item>
  150. <el-form-item label="说明" prop="explain">
  151. <el-input type="textarea" v-model="confirm_return.explain"></el-input>
  152. </el-form-item>
  153. <el-form-item style="text-align: left;" label="退还方式" prop="return_pay_type_id">
  154. <el-radio-group style="margin-left: 10px" v-model="confirm_return.return_pay_type_id">
  155. <el-radio :label="3">余额</el-radio>
  156. <el-radio :label="-1">手动退款</el-radio>
  157. </el-radio-group>
  158. </el-form-item>
  159. </el-form>
  160. </div>
  161. <span slot="footer" class="dialog-footer">
  162. <el-button @click="lease_toy_confirm_return_show = false">取 消</el-button>
  163. <el-button type="primary" @click="confirmLeaseRefund">确认归还 </el-button>
  164. </span>
  165. </el-dialog>
  166. </div>
  167. `,
  168. });
  169. </script>