upload.html 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title></title>
  8. <!-- 引入样式 -->
  9. <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
  10. <!-- 引入组件库 -->
  11. <script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
  12. </head>
  13. <style>
  14. *{
  15. padding: 0;
  16. margin: 0;
  17. box-sizing: border-box;
  18. }
  19. #upload{
  20. width: 500px;
  21. max-width: 100%;
  22. min-height: 100vh;
  23. margin: auto;
  24. background: url(bg.png) no-repeat;
  25. background-size: 100%;
  26. background-color: #FF7716;
  27. padding: 10px;
  28. }
  29. .form{
  30. width: 100%;
  31. margin-top: 34vh;
  32. background: #fff;
  33. border-radius: 8px;
  34. padding: 20px 10px;
  35. }
  36. .del{
  37. font-size: 20px;
  38. }
  39. input{
  40. padding: 0 10px !important;
  41. }
  42. .el-input-group__append{
  43. padding: 0 5px;
  44. }
  45. .el-form-item__label{
  46. color: #333;
  47. font-size: 14px;
  48. font-weight: 500;
  49. padding: 0 !important;
  50. }
  51. .el-button--danger{
  52. background-color: #FF5151;
  53. border-top: #FF5151;
  54. height: 44px;
  55. border-radius: 8px;
  56. }
  57. .tips{
  58. font-size: 12px;
  59. color: #666;
  60. line-height: 24px;
  61. }
  62. </style>
  63. <body>
  64. <div id="upload">
  65. <!-- <h1>数据上传</h1> -->
  66. <el-form class="form" ref="form" label-position='top' :model="form" :rules="rules">
  67. <el-form-item label="" style="margin-bottom: 0;">
  68. <span style="font-weight: 500;">赛事名称 &nbsp;&nbsp;{{form.name}}</span>
  69. </el-form-item>
  70. <el-form-item label="" prop="stock_date" style="margin-bottom: 10px;">
  71. <span style="font-weight: 500;">持仓日期 &nbsp;&nbsp;{{form.stock_date}}</span>
  72. </el-form-item>
  73. <el-form-item label="用户代码" prop="usercode">
  74. <el-input v-model="form.usercode"></el-input>
  75. </el-form-item>
  76. <el-form-item label="今日资产" prop="today_fund">
  77. <el-input clearable v-model="form.today_fund" placeholder="请输入今日资产">
  78. <template slot="append">万元</template>
  79. </el-input>
  80. </el-form-item>
  81. <el-form-item label="股票名称" prop="today_stock">
  82. <div v-for="(item,index) in form.today_stock" :key='index' style="margin-bottom:5px;width:100%;">
  83. <el-input style="width:45%;display:inline-block" v-model="item.name" placeholder="名称/代码" :disabled="form.is_markt==true"></el-input>
  84. &nbsp;<el-input style="width:40%" clearable v-model="item.fund" placeholder="资金" :disabled="form.is_markt==true">
  85. <template slot="append">万元</template>
  86. </el-input>
  87. <i @click="form.today_stock.splice(index,1)" style="margin-top:5px;" class="el-icon-circle-close del"></i>
  88. </div>
  89. </el-form-item>
  90. <el-form-item>
  91. <el-button @click="addCode" type="danger" size="small">新增代码</el-button><br>
  92. </el-form-item>
  93. <el-form-item>
  94. 开超市 <el-switch active-color="#13ce66" v-model="form.is_markt"> </el-switch>
  95. </el-form-item>
  96. <el-form-item label="股票截图" prop="today_stock_img">
  97. <div class="imgs" v-for="(item,index) in form.today_stock_img" :key='index'>
  98. <img width="150" :src="item" alt="">
  99. <i @click="form.today_stock_img.splice(index,1)" class="el-icon-circle-close del"></i>
  100. </div>
  101. <img v-if='form.today_stock_img.length == 0' width="110" src="upload.png" alt="">
  102. <el-upload
  103. class="upload-demo"
  104. :show-file-list ='false'
  105. :on-success="handleSuccess"
  106. action="https://test.scxjc.club/api/wx/player/record/topic/uploadfile">
  107. <el-button size="small" type="danger">上传图片</el-button>
  108. </el-upload>
  109. </el-form-item>
  110. <el-form-item>
  111. <div class="tips">
  112. 交作业须知:<br>
  113. 1、当天下午收盘后30分钟内交作业,逾期不候,如空仓无操作可提前交。 <br>
  114. 2、当天有资金进出和其它特殊情况,请联系副主编QQ修改调整。 <br>
  115. 3、当天持股太多,超过六支以上,可以选择开超市。 <br>
  116. 4、帐户截图需包括:净资产-持股名称-持股金额,可多张图片,以备查验核对。 <br>
  117. 5、帐户截图请屏蔽:股东帐户-开户名-股东代码等个人信息。 <br>
  118. 6、比赛每日仅公布前三选手交割单,其余不公开,请放心提交。
  119. </div>
  120. </el-form-item>
  121. <el-form-item style="text-align:center;">
  122. <el-button style="width: 80%;" type="danger" @click="submitForm">确 定</el-button>
  123. </el-form-item>
  124. </el-form>
  125. </div>
  126. <script src="https://unpkg.com/vue/dist/vue.js"></script>
  127. <script src="https://unpkg.com/element-ui/lib/index.js"></script>
  128. <script>
  129. var app = new Vue({
  130. el: '#upload',
  131. data: {
  132. form:{
  133. today_stock_img:[],
  134. today_stock:[{code: "", name:"",fund:''}],
  135. stock_date:'',
  136. name:'',
  137. is_markt:0
  138. },
  139. rules:{
  140. usercode: [
  141. { required: true, message: '请输入用户代码', trigger: 'blur' }
  142. ],
  143. today_fund: [
  144. { required: true, message: '请输入今日资产', trigger: 'blur' }
  145. ],
  146. today_stock_img: [
  147. { required: true, message: '请输入股票截图', trigger: 'blur' }
  148. ],
  149. }
  150. },
  151. methods:{
  152. handleSuccess(res, file) {
  153. this.form.today_stock_img.push(res.data.url);
  154. },
  155. getNowDate(){
  156. var y=new Date().getFullYear()
  157. var m=Number(new Date().getMonth() + 1)
  158. var d = new Date().getDate()
  159. m=m>9?m:'0'+m;
  160. d=d>9?d:'0'+d
  161. this.form.stock_date=y+'-'+m+'-'+d
  162. },
  163. addCode(){
  164. this.form.today_stock.push({code: "", name:"",fund:''})
  165. },
  166. submitForm() {
  167. var form={...this.form}
  168. form.is_markt=Number(form.is_markt)
  169. this.$refs["form"].validate(valid => {
  170. if (valid) {
  171. if(!this.form.is_markt){
  172. if(this.form.today_stock.length<=0){
  173. this.$message('请添加股票');
  174. return
  175. }else{
  176. if((!this.form.today_stock[0].name || !this.form.today_stock[0].fund) && !this.form.is_markt){
  177. this.$message('请选择股票并输入资金额');
  178. return
  179. }
  180. }
  181. }
  182. $.ajax({
  183. type: 'POST',
  184. url: 'https://test.scxjc.club/api/wx/player/record/topic',
  185. data: JSON.stringify(this.form),
  186. contentType: "application/json",
  187. dataType: 'json',
  188. success:res=>{
  189. if(res.data.code != 0){
  190. this.$message(res.data.message);
  191. return
  192. }
  193. this.$message({
  194. message: '上传成功',
  195. type: 'success'
  196. });
  197. setTimeout(()=>{
  198. window.location.href=window.location.href
  199. },500)
  200. },
  201. });
  202. }
  203. });
  204. },
  205. },
  206. created(){
  207. this.getNowDate()
  208. var id=window.location.search.split('=')[1]
  209. $.get('https://test.scxjc.club/api/wx/player/record/topic/match',{id:id},(res=>{
  210. var match=res.data.match
  211. this.form.name=match.name
  212. this.form.match_id=match.id
  213. }))
  214. }
  215. })
  216. </script>
  217. </body>
  218. </html>