upload.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  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. },
  53. /**添加持股 */
  54. add(){
  55. var stock = this.data.stock;
  56. var value=this.data.value;
  57. stock.push({ name: '', fund: '' })
  58. value.push(-1)
  59. this.setData({
  60. stock: stock,
  61. value: value
  62. })
  63. },
  64. del(e){
  65. var i = e.target.dataset.id;
  66. var stock = this.data.stock;
  67. var value = this.data.value;
  68. stock.splice(i,1)
  69. value.splice(i,1)
  70. this.setData({
  71. stock: stock,
  72. value: value
  73. })
  74. },
  75. bindPickerChange(e){
  76. var i=this.data.cur;
  77. var v = e.target.dataset.name
  78. var stock=this.data.stock;
  79. stock[i].name = v
  80. this.setData({
  81. stock: stock
  82. })
  83. setTimeout(()=>{
  84. this.setData({
  85. stockList: []
  86. },50)
  87. })
  88. return;
  89. },
  90. stockSearch(e){
  91. if (e.detail.value == ''){
  92. this.setData({
  93. stockList: []
  94. })
  95. return
  96. }
  97. var i = e.target.dataset.id;
  98. var v = e.detail.value
  99. var stock = this.data.stock;
  100. stock[i].name = v;
  101. this.setData({
  102. stock: stock
  103. })
  104. $api.searchStock({ name: e.detail.value}).then(res=>{
  105. this.setData({
  106. stockList:res.data.data,
  107. cur:e.target.dataset.id
  108. })
  109. })
  110. },
  111. blur(){
  112. // console.log(233)
  113. this.setData({
  114. stockList: []
  115. })
  116. },
  117. nameChange(e){
  118. console.log(e)
  119. var i = e.target.dataset.id;
  120. var v = e.detail.value
  121. var stock = this.data.stock;
  122. stock[i].name = v;
  123. this.setData({
  124. stock: stock
  125. })
  126. },
  127. fundChange(e){
  128. var i = e.target.dataset.id;
  129. var v = e.detail.value
  130. var stock = this.data.stock;
  131. if (v.split('.').length > 1 && v.split('.')[1].length > 4) {
  132. v = Math.floor(Number(v) * 10000) / 10000
  133. }
  134. stock[i].fund = v;
  135. this.setData({
  136. stock: stock
  137. })
  138. },
  139. fundChange1(e) {
  140. var v = e.detail.value
  141. if (v.split('.').length > 1 && v.split('.')[1].length > 4){
  142. v = Math.floor(Number(v)*10000)/10000
  143. }
  144. this.setData({
  145. today_fund: v
  146. })
  147. },
  148. expChange(e){
  149. var v = e.detail.value
  150. this.setData({
  151. experience: v
  152. })
  153. },
  154. switch1Change(e){
  155. this.setData({
  156. is_markt: Number(e.detail.value)
  157. })
  158. },
  159. uploadImg() {
  160. var today_stock_img = this.data.today_stock_img;
  161. wx.chooseImage({
  162. success: res => {
  163. wx.showLoading({
  164. title: '正在上传',
  165. })
  166. const tempFilePaths = res.tempFiles
  167. for (let i = 0; i < tempFilePaths.length; i++) {
  168. $api.upload(tempFilePaths[i].path, 'file').then(res => {
  169. wx.hideLoading()
  170. if (res.code == 0) {
  171. today_stock_img.push(res.data.url)
  172. this.setData({
  173. today_stock_img: today_stock_img
  174. })
  175. } else {
  176. wx.showToast({
  177. title: '上传失败',
  178. })
  179. }
  180. })
  181. .catch(err => {
  182. wx.hideLoading()
  183. })
  184. }
  185. }
  186. })
  187. },
  188. del1(e) {
  189. var i = e.target.dataset.id;
  190. var today_stock_img = this.data.today_stock_img;
  191. today_stock_img.splice(i, 1)
  192. this.setData({
  193. today_stock_img: today_stock_img
  194. })
  195. },
  196. prview(e){
  197. var src = e.target.dataset.src;
  198. wx.previewImage({
  199. current: src, // 当前显示图片的http链接
  200. urls: [src] // 需要预览的图片http链接列表
  201. })
  202. },
  203. post(){
  204. var parm={
  205. stock_date: this.data.stock_date,
  206. today_stock:this.data.stock,
  207. is_markt: this.data.is_markt,
  208. today_stock_img: this.data.today_stock_img,
  209. today_fund: Number(this.data.today_fund),
  210. experience: this.data.experience
  211. }
  212. if (!parm.today_fund){
  213. wx.showToast({
  214. icon: 'none',
  215. title: '请输入今日净资产'
  216. })
  217. return
  218. }
  219. if (!parm.is_markt){
  220. // for (let i = 0; i < parm.today_stock.length;i++){
  221. // if (!parm.today_stock[i].name || !parm.today_stock[i].fund) {
  222. // wx.showToast({
  223. // icon: 'none',
  224. // title: '请选择股票并输入资金额'
  225. // })
  226. // return;
  227. // break;
  228. // }
  229. // }
  230. }else{
  231. parm.today_stock = []
  232. }
  233. if (parm.today_stock_img.length<=0) {
  234. wx.showToast({
  235. icon: 'none',
  236. title: '请上传截图'
  237. })
  238. return
  239. }
  240. wx.showLoading({
  241. title: '正在提交',
  242. })
  243. this.setData({
  244. disable:true
  245. })
  246. $api.updateRecord(parm).then(res=>{
  247. wx.hideLoading()
  248. wx.showToast({
  249. title: '提交成功',
  250. })
  251. this.setData({
  252. freshen: true,
  253. })
  254. setTimeout(() => {
  255. this.setData({
  256. stock: [{ label: '', name: '', code: '', fund: '' }],
  257. stockList: [],
  258. today_stock_img: [],
  259. value: [-1],
  260. is_markt: 0,
  261. today_fund: '',
  262. disable: false
  263. })
  264. wx.switchTab({
  265. url: '../index/index',
  266. })
  267. }, 200)
  268. })
  269. },
  270. /**
  271. * 生命周期函数--监听页面初次渲染完成
  272. */
  273. onReady: function () {
  274. },
  275. /**
  276. * 生命周期函数--监听页面隐藏
  277. */
  278. onHide: function () {
  279. },
  280. /**
  281. * 生命周期函数--监听页面卸载
  282. */
  283. onUnload: function () {
  284. },
  285. /**
  286. * 页面相关事件处理函数--监听用户下拉动作
  287. */
  288. onPullDownRefresh: function () {
  289. },
  290. /**
  291. * 页面上拉触底事件的处理函数
  292. */
  293. onReachBottom: function () {
  294. },
  295. /**
  296. * 用户点击右上角分享
  297. */
  298. onShareAppMessage: function () {
  299. }
  300. })