upload.js 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. // pages/upload/upload.js
  2. const app = getApp()
  3. const $api = require('../../utils/api.js').API;
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. open:true,
  10. stock_date:'',
  11. stock:[{name:'',fund:''}],
  12. stockList:[],
  13. today_stock_img:[],
  14. value:[-1],
  15. is_markt:0,
  16. today_fund:'',
  17. change:0,
  18. experience:'',
  19. cur:0,
  20. freshen:true,
  21. disable:false
  22. },
  23. /**
  24. * 生命周期函数--监听页面加载
  25. */
  26. onShow(){
  27. if (!this.data.freshen) {
  28. return;
  29. }
  30. $api.getCurrecord().then(res=>{
  31. if (!res.data.data.id){return}
  32. let stock = res.data.data.today_stock
  33. this.setData({
  34. stock: stock.length > 0 ? stock : [{ name: '', fund: '' }],
  35. today_stock_img: res.data.data.today_stock_img,
  36. today_fund: res.data.data.today_fund,
  37. is_markt: res.data.data.is_markt,
  38. change: 1,
  39. experience: res.data.data.experience
  40. })
  41. })
  42. },
  43. onLoad: function (options) {
  44. var y=new Date().getFullYear()
  45. var m=Number(new Date().getMonth() + 1)
  46. var d = new Date().getDate()
  47. m=m>9?m:'0'+m;
  48. d=d>9?d:'0'+d
  49. this.setData({
  50. stock_date:y+'-'+m+'-'+d
  51. })
  52. $api.getAuthinfo().then(res=>{
  53. this.setData({
  54. role: res.data.data.role,
  55. need_fill: res.data.data.need_fill,
  56. })
  57. })
  58. },
  59. /**添加持股 */
  60. add(){
  61. var stock = this.data.stock;
  62. var value=this.data.value;
  63. stock.push({ name: '', fund: '' })
  64. value.push(-1)
  65. this.setData({
  66. stock: stock,
  67. value: value
  68. })
  69. },
  70. del(e){
  71. var i = e.target.dataset.id;
  72. var stock = this.data.stock;
  73. var value = this.data.value;
  74. stock.splice(i,1)
  75. value.splice(i,1)
  76. this.setData({
  77. stock: stock,
  78. value: value
  79. })
  80. },
  81. bindPickerChange(e){
  82. var i=this.data.cur;
  83. var v = e.target.dataset.name
  84. var stock=this.data.stock;
  85. stock[i].name = v
  86. this.setData({
  87. stock: stock
  88. })
  89. setTimeout(()=>{
  90. this.setData({
  91. stockList: []
  92. },50)
  93. })
  94. return;
  95. },
  96. stockSearch(e){
  97. if (e.detail.value == ''){
  98. this.setData({
  99. stockList: []
  100. })
  101. return
  102. }
  103. var i = e.target.dataset.id;
  104. var v = e.detail.value
  105. var stock = this.data.stock;
  106. stock[i].name = v;
  107. this.setData({
  108. stock: stock
  109. })
  110. $api.searchStock({ name: e.detail.value}).then(res=>{
  111. this.setData({
  112. stockList:res.data.data,
  113. cur:e.target.dataset.id
  114. })
  115. })
  116. },
  117. blur(){
  118. // console.log(233)
  119. this.setData({
  120. stockList: []
  121. })
  122. },
  123. nameChange(e){
  124. console.log(e)
  125. var i = e.target.dataset.id;
  126. var v = e.detail.value
  127. var stock = this.data.stock;
  128. stock[i].name = v;
  129. this.setData({
  130. stock: stock
  131. })
  132. },
  133. fundChange(e){
  134. var i = e.target.dataset.id;
  135. var v = e.detail.value
  136. var stock = this.data.stock;
  137. if (v.split('.').length > 1 && v.split('.')[1].length > 4) {
  138. v = Math.floor(Number(v) * 10000) / 10000
  139. }
  140. stock[i].fund = v;
  141. this.setData({
  142. stock: stock
  143. })
  144. },
  145. fundChange1(e) {
  146. var v = e.detail.value
  147. if (v.split('.').length > 1 && v.split('.')[1].length > 4){
  148. v = Math.floor(Number(v)*10000)/10000
  149. }
  150. this.setData({
  151. today_fund: v
  152. })
  153. },
  154. expChange(e){
  155. var v = e.detail.value
  156. this.setData({
  157. experience: v
  158. })
  159. },
  160. switch1Change(e){
  161. this.setData({
  162. is_markt: Number(e.detail.value)
  163. })
  164. },
  165. uploadImg() {
  166. var today_stock_img = this.data.today_stock_img;
  167. wx.chooseImage({
  168. success: res => {
  169. wx.showLoading({
  170. title: '正在上传',
  171. })
  172. const tempFilePaths = res.tempFiles
  173. for (let i = 0; i < tempFilePaths.length; i++) {
  174. $api.upload(tempFilePaths[i].path, 'file').then(res => {
  175. wx.hideLoading()
  176. if (res.code == 0) {
  177. today_stock_img.push(res.data.url)
  178. this.setData({
  179. today_stock_img: today_stock_img
  180. })
  181. } else {
  182. wx.showToast({
  183. title: '上传失败',
  184. })
  185. }
  186. })
  187. .catch(err => {
  188. wx.hideLoading()
  189. })
  190. }
  191. }
  192. })
  193. },
  194. del1(e) {
  195. var i = e.target.dataset.id;
  196. var today_stock_img = this.data.today_stock_img;
  197. today_stock_img.splice(i, 1)
  198. this.setData({
  199. today_stock_img: today_stock_img
  200. })
  201. },
  202. prview(e){
  203. var src = e.target.dataset.src;
  204. wx.previewImage({
  205. current: src, // 当前显示图片的http链接
  206. urls: [src] // 需要预览的图片http链接列表
  207. })
  208. },
  209. post(){
  210. if (this.data.role == 1) {
  211. wx.showToast({
  212. icon: 'none',
  213. title: '游客不能提交作业'
  214. })
  215. return
  216. }
  217. if (!this.data.need_fill) {
  218. var parm = {
  219. stock_date: this.data.stock_date,
  220. today_stock: this.data.stock,
  221. is_markt: this.data.is_markt,
  222. today_stock_img: this.data.today_stock_img,
  223. today_fund: Number(this.data.today_fund),
  224. experience: this.data.experience
  225. }
  226. if (!parm.today_fund) {
  227. wx.showToast({
  228. icon: 'none',
  229. title: '请输入今日净资产'
  230. })
  231. return
  232. }
  233. if (!parm.is_markt) {
  234. // for (let i = 0; i < parm.today_stock.length;i++){
  235. // if (!parm.today_stock[i].name || !parm.today_stock[i].fund) {
  236. // wx.showToast({
  237. // icon: 'none',
  238. // title: '请选择股票并输入资金额'
  239. // })
  240. // return;
  241. // break;
  242. // }
  243. // }
  244. } else {
  245. parm.today_stock = []
  246. }
  247. if (parm.today_stock_img.length <= 0) {
  248. wx.showToast({
  249. icon: 'none',
  250. title: '请上传截图'
  251. })
  252. return
  253. }
  254. wx.showLoading({
  255. title: '正在提交',
  256. })
  257. this.setData({
  258. disable: true
  259. })
  260. $api.updateRecord(parm).then(res => {
  261. wx.hideLoading()
  262. wx.showToast({
  263. title: '提交成功',
  264. })
  265. this.setData({
  266. freshen: true,
  267. })
  268. setTimeout(() => {
  269. this.setData({
  270. stock: [{ label: '', name: '', code: '', fund: '' }],
  271. stockList: [],
  272. today_stock_img: [],
  273. value: [-1],
  274. is_markt: 0,
  275. today_fund: '',
  276. disable: false
  277. })
  278. wx.switchTab({
  279. url: '../index/index',
  280. })
  281. }, 200)
  282. })
  283. }else{
  284. this.setData({
  285. show:1
  286. })
  287. }
  288. },
  289. fundchange(e) {
  290. this.setData({
  291. init_fund: e.detail.value
  292. })
  293. },
  294. save() {
  295. if (!this.data.init_fund) {
  296. wx.showToast({
  297. icon: 'none',
  298. title: '请输入初始资金',
  299. })
  300. return;
  301. }
  302. $api.initfund({ init_fund: this.data.init_fund }).then(res => {
  303. wx.showToast({
  304. title: '提交成功',
  305. })
  306. this.setData({
  307. show: 0,
  308. need_fill:0,
  309. init_fund:''
  310. })
  311. // this.getUserData()
  312. })
  313. },
  314. /**
  315. * 生命周期函数--监听页面初次渲染完成
  316. */
  317. onReady: function () {
  318. },
  319. /**
  320. * 生命周期函数--监听页面隐藏
  321. */
  322. onHide: function () {
  323. },
  324. /**
  325. * 生命周期函数--监听页面卸载
  326. */
  327. onUnload: function () {
  328. },
  329. /**
  330. * 页面相关事件处理函数--监听用户下拉动作
  331. */
  332. onPullDownRefresh: function () {
  333. },
  334. /**
  335. * 页面上拉触底事件的处理函数
  336. */
  337. onReachBottom: function () {
  338. },
  339. /**
  340. * 用户点击右上角分享
  341. */
  342. onShareAppMessage: function () {
  343. }
  344. })