artificial_payment_add.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <template>
  2. <div class="mainContainer">
  3. <div class="pform-head">
  4. <h3>申请人工充值</h3>
  5. </div>
  6. <div class="pform-body">
  7. <el-form label-width="100px">
  8. <el-form-item label="充值用户" prop="uid">
  9. <el-input v-model="form.uid" placeholder="请输入用户uid"></el-input>
  10. </el-form-item>
  11. <el-form-item label="订单名称" prop="productTitle">
  12. <el-input v-model="form.product_title" placeholder="充值+渠道,入充值工行,充值PayPal,充值数字货币"></el-input>
  13. </el-form-item>
  14. <el-form-item label="订单金额" prop="price">
  15. <el-input v-model="form.price" placeholder="请输入实际金额"></el-input>
  16. </el-form-item>
  17. <el-form-item label="打款证明">
  18. <span style="position: relative;width: 148px;height: 148px;overflow: hidden;display: inline-block">
  19. <el-upload
  20. action="/upload_image"
  21. list-type="picture-card"
  22. :file-list="form.banner_img_list"
  23. :on-remove="del_banner_img"
  24. :on-success="handleBannerSuccess"
  25. >
  26. <i class="el-icon-plus"></i>
  27. </el-upload>
  28. </span>
  29. </el-form-item>
  30. <el-form-item label="备注" prop="price">
  31. <el-input v-model="form.remark" placeholder="备注"></el-input>
  32. </el-form-item>
  33. </el-form>
  34. <div slot="footer" style="margin-top: 60px;">
  35. <el-button type="primary" style="margin-left: 100px;" @click="submitForm">保存并提交审核</el-button>
  36. </div>
  37. </div>
  38. </div>
  39. </template>
  40. <script>
  41. export default {
  42. data() {
  43. return {
  44. form:{
  45. product_title:'',
  46. uid:'',
  47. price:'',
  48. remark:'',
  49. private_comment:'',
  50. banner_img_list:[],
  51. }
  52. }
  53. },
  54. computed: {
  55. },
  56. mounted() {
  57. },
  58. methods: {
  59. handleChange(e) {
  60. const files = e.target.files;
  61. if (!files) {
  62. return;
  63. }
  64. const file = files[0];
  65. console.log(file);
  66. const formData = new FormData();
  67. formData.append("file", file);
  68. formData.append("original_filename", file.name);
  69. console.log(formData);
  70. this.$axios
  71. .$post("/upload_image", formData, {
  72. headers: { "Content-Type": "multipart/form-data" }
  73. })
  74. .then(res => {
  75. console.log(res);
  76. const index = this.myQuillEditor.selection.savedRange.index;
  77. this.myQuillEditor.insertEmbed(index, "image", res.filename);
  78. });
  79. },
  80. async submitForm() {
  81. var data = this.form;
  82. var res = await this.$post("/api/admin/order/createPayment", data);
  83. if (res && res.status === 1) {
  84. this.form = {
  85. product_title:'',
  86. uid:'',
  87. price:'',
  88. private_comment:'',
  89. }
  90. this.$message.success('提交保存成功')
  91. }
  92. },
  93. async handleBannerSuccess(res, file){
  94. let filename=res.filename;
  95. var info={"name": "1.png", "url": filename};
  96. this.form.banner_img_list.push(info);
  97. this.form.private_comment = filename;
  98. },
  99. async del_banner_img(){
  100. this.form.banner_img_list=[];
  101. this.form.private_comment ="";
  102. },
  103. }
  104. };
  105. </script>
  106. <style>
  107. .pform-head{
  108. text-align: center;
  109. }
  110. .pform-body{
  111. margin: 20px 200px;
  112. }
  113. .editer {
  114. width: 100%;
  115. height: 400px;
  116. padding: 0 0 50px;
  117. }
  118. </style>