begmoon 1 рік тому
батько
коміт
83f2115f8b
6 змінених файлів з 129 додано та 56 видалено
  1. BIN
      images/shanchu.png
  2. 65 2
      pages/upload/upload.js
  3. 1 1
      pages/upload/upload.json
  4. 41 36
      pages/upload/upload.wxml
  5. 21 17
      pages/upload/upload.wxss
  6. 1 0
      utils/api.js

BIN
images/shanchu.png


+ 65 - 2
pages/upload/upload.js

@@ -20,7 +20,8 @@ Page({
     cur:0,
     freshen:true,
     disable:false,
-    id:0
+    id:0,
+    images:[],
   },
 
   /**
@@ -87,6 +88,11 @@ Page({
       value: value
     })
   },
+  delToday(e){
+    this.setData({
+      today_fund: '',
+    })
+  },
   bindPickerChange(e){
     var i=this.data.cur;
     var v = e.target.dataset.name
@@ -181,6 +187,7 @@ Page({
         wx.showLoading({
           title: '正在上传',
         })
+    
         const tempFilePaths = res.tempFiles
         for (let i = 0; i < tempFilePaths.length; i++) {
           $api.upload(tempFilePaths[i].path, 'file').then(res => {
@@ -192,6 +199,9 @@ Page({
                 today_stock_img: today_stock_img
               })
               console.log(this.data.today_stock_img,22222222222)
+              if (i==0 && today_stock_img.length == 1){
+                  this.loadOcr(tempFilePaths[i].path,res.data.url)
+              }
             } else {
               wx.showToast({
                 title: '上传失败',
@@ -201,11 +211,65 @@ Page({
             .catch(err => {
               wx.hideLoading()
             })
+
         }
 
       }
     })
   },
+  loadOcr(path,url){
+    var _this = this
+
+    wx.getImageInfo({
+      src:path,
+      success:function(ires){
+        _this.loadImageOcr(url,ires.width < ires.height ? 'phone':'pc')
+      }
+    })
+  },
+
+  loadImageOcr(img_url,source){
+    var _this = this
+    var param = {
+      img_url:img_url.split('?')[0],
+      source:source,
+    }
+    console.log('img_url',param['img_url'])
+    console.log('source',param['source'])
+    $api.imageOcr(param).then(res => {
+      console.log('ocr',res)
+      if(res.data.code == 0){
+        _this.setData({
+          today_fund:res.data.data.today,
+          stock:res.data.data.list
+        })
+      }
+    })
+  },
+
+  startOcr(e){
+    var index = e.target.dataset.index;
+    var img_url = this.data.today_stock_img[index]
+    
+    console.log('startocr',img_url)
+    this.loadImageOcr(img_url,this.data.images[index].width < this.data.images[index].height ? 'phone':'pc')
+  },
+
+  imageLoad: function(e) {
+    var width=e.detail.width; //获取图片真实宽度
+    var height=e.detail.height;
+    
+    var image=this.data.images;
+    //将图片的datadata-index作为image对象的key,然后存储图片的宽高值
+    image[e.target.dataset.index]={
+      width:width,
+      height:height,
+    }
+    this.setData({
+    images:image
+    })
+  },
+
   del1(e) {
     var i = e.target.dataset.id;
     var today_stock_img = this.data.today_stock_img;
@@ -237,7 +301,6 @@ Page({
             title: '持仓金额单位为万'
           })
           return;
-          break;
         }
 
         stocks.push(slist[i])

+ 1 - 1
pages/upload/upload.json

@@ -1,3 +1,3 @@
 {
-  "navigationBarTitleText": "上传"
+  "navigationBarTitleText": "交作业"
 }

+ 41 - 36
pages/upload/upload.wxml

@@ -1,19 +1,42 @@
 <form bindtap="blur">
-    <view class="label" >持仓日期   {{stock_date}}</view>
-    <view class="note">交作业时间:15:00-15:30</view>
-    <navigator wx:if="{{role == 2}}" class="change" url="../change/change">今日有出入金?必须先点此处申报</navigator>
-    <view class="label">今日总资产<text class="note">(单位:万)</text>  </view>
+    <view class="label" >持仓日期 {{stock_date}}<text class="note">交作业时间:15:00-15:30</text></view>
+    
+    <navigator wx:if="{{role == 2}}" class="change" url="../change/change">今日有银证转帐?先在此申报,再来交作业</navigator>
+    <view class="label">账户截图<text class="note">必须包括:总资产-股票名-持股金额,<text style='color:#E90001;font-size: 22rpx'>禁止打码</text>,买卖点截图也欢迎提交</text></view>
+    <view wx:for='{{today_stock_img}}' class="stock_imgs">
+        <image  src="{{item}}" bindtap="prview" data-src="{{item}}" bindload="imageLoad" data-index="{{ index }}"></image>
+        <view class="edit">
+            <!-- <text>识别</text> -->
+            <text data-index="{{index}}" bind:tap="startOcr">识别</text>
+        </view>
+        <!-- <icon bindtap="del1" data-id='{{index}}' class="icon-small" type="cancel" size="25" style="margin-top: 0rpx;"></icon> -->
+        <view class="delete">
+          <image mode="aspectFit" style="display:inline-block;margin-top: 10rpx;width: 50rpx;height: 50rpx;" src="../../images/shanchu.png" bind:tap="del1"></image>
+        </view>
+        
+    </view>
+    <view  class="upload" bindtap="uploadImg">
+          <image mode="widthFix" src="../../images/img.png"></image>
+            上传图片
+    </view>
+    <view>
+    <text style="color:rgb(88, 88, 88);font-size:24rpx">注意:识别有误请手动修改,用手机同花顺或券商app截图,可提高准确率,默认识别第一张图</text>
+    </view>
+    <view class="label">今日总资产<text class="note">融资账户填净资产</text>  </view>
+    <view class="info">
     <input type='digit' value="{{today_fund}}" bindinput="fundChange1" placeholder="请输入总资产"></input>
-    <text style="color:red;font-weight:500">万</text>
-    <text style="color:rgb(128, 128, 128);font-size:24rpx">注意:1.融资账户填净资产 2.今日若有银证转账,请先去上面一栏进行申报除权,再来这里填资金进出后的总资产</text>
+    <text style="color:#E90001;font-size: 34rpx;">万</text>
+    <icon bindtap="delToday" style="margin-top:25rpx; margin-left: 10rpx;" class="icon-small" type="cancel" size="20"></icon>
+    </view>
+
     <!-- <block wx:if='{{!is_markt}}'> -->
-    <view class="label">今日持股<text class="note">(空仓请留空不填)</text></view>
+    <view class="label">今日持股<text class="note">空仓不填即可</text></view>
     <view class="info" wx:for='{{stock}}' >
       <input bindinput='stockSearch'   data-id='{{index}}'  value="{{item.name}}" placeholder="股票名称"></input>
       <input type='digit' bindinput="fundChange" data-id='{{index}}' value="{{item.fund}}" placeholder="持股金额"></input>
-      <text style="color:red;font-weight:500">万</text>    
+      <text style="color:#E90001;font-size: 34rpx;">万</text>    
       <view  style="width:17%;">
-        <icon bindtap="del" data-id='{{index}}' style="margin-top:20rpx;" class="icon-small" type="cancel" size="25"></icon>
+        <icon bindtap="del" data-id='{{index}}' style="margin-top:25rpx; margin-left: 10rpx;" class="icon-small" type="cancel" size="20"></icon>
       </view>
       
       <view class="stock_list" wx:if='{{stockList.length>0 && cur==index}}'>
@@ -22,38 +45,20 @@
     </view>
     <view bindtap="add" class="add"> + 添加持股</view>
     <!-- </block> -->
-    <view class="openmarket">  
-        开超市<text class="note">(持股超5支可选)</text>  
-        <switch color='#D94B24' checked="{{is_markt}}" bindchange="switch1Change" />
-    </view>
-    <view class="label">账户截图<text class="note">(需包括:净资产-股票名-持股金额,<text style='color:red;font-size: 22rpx'>请屏蔽</text>账户-开户名-股东代码等个人信息,分时买卖点截图也可选填)</text></view>
-    <view wx:for='{{today_stock_img}}' class="stock_imgs">
-        <image  src="{{item}}" bindtap="prview" data-src="{{item}}"></image>
-        <view class="edit">
-            <!-- <text>识别</text> -->
-            <text bindtap="del1" data-id='{{index}}'>删除</text>
-        </view>
-        <!-- <icon bindtap="del1" data-id='{{index}}' class="icon-small" type="cancel" size="25"></icon> -->
-    </view>
-    <view  class="upload" bindtap="uploadImg">
-          <image mode="widthFix" src="../../images/img.png"></image>
-            上传图片
-    </view>
-    <view class="label">今日反思</view>
-    <textarea value="{{experience}}" bindinput="expChange" placeholder='请填写'></textarea>
+    
+    <view class="label">交易日记<text class="note">记录成长点滴</text></view>
+    <textarea value="{{experience}}" bindinput="expChange" placeholder='记录...'></textarea>
     <view class="tips">
 
         <text>交作业须知:</text>
-        <text>1、今日有银证转账请先申报除权再交作业,单位是万!</text>
-        <text>2、为方便学习交流,选手每日持仓图系统内公开可见。</text>
-        <text>3、持仓图需包含总资产-持股名称-持股金额。</text>
-        <text>4、有特殊情况可不公布持股金额,但持股名称必须有。</text>
-        <text>5、连续3天未交作业,无特殊原因将被视为退赛。</text>
-        <text>6、重新归赛请联系顽主,并提交请假期间的银证转账记录。</text>
-        <text>7、数据提交有误可直接修改,再点击上传。</text>
+        <text>1、比赛期间银证转帐不能超过五次,每次须在系统申报。</text>
+        <text>2、被观众反应成绩异常的选手,比赛将提前验证帐户。</text>
+        <text>3、连续3天未交作业,无特殊原因将被视为退赛。</text>
+        <text>4、重新归赛请联系我们,提交请假期间的银证转账记录。</text>
+        <text>5、数据提交有误可直接修改,再点击上传。</text>
     </view>
     
-    <button wx:if="{{role == 2}}" disabled='{{disable}}'  bindtap="post">上传</button>
+    <button wx:if="{{role == 2}}" disabled='{{disable}}'  bindtap="post">提交</button>
     <!-- <button wx:else disabled>上传</button> -->
     
     <!-- <button wx:if='{{!change}}' disable='{{disable}}' bindtap="post">上传</button>

+ 21 - 17
pages/upload/upload.wxss

@@ -3,9 +3,9 @@ page{
   padding:0 32rpx 32rpx;
 }
 .label{
-  font-size: 28rpx;
+  font-size: 30rpx;
   font-weight: 500;
-  margin: 32rpx 0 16rpx;
+  margin: 32rpx 0 20rpx;
 }
 input,.picker,textarea{
   height: 88rpx;
@@ -13,7 +13,7 @@ input,.picker,textarea{
   border-radius: 8rpx;
   padding: 0 20rpx;
   font-size: 28rpx;
-  width: 87%;
+  width: 79%;
   border: 1px solid #E0E0E0;
   display: inline-block;
   vertical-align: middle;
@@ -78,19 +78,19 @@ picker{
 }
 .tips text{
   display: block;
-  color: #666;
+  color: #000000;
   font-size: 24rpx;
   line-height: 40rpx;
 }
 
 .change{
   /* background: #D94B24; */
-  color: #D94B24;
+  color: #E90001;
   /* width: 90%; */
   /* height: 88rpx; */
   /* line-height: 88rpx; */
   /* padding: 0; */
-  font-size: 28rpx;
+  font-size: 30rpx;
   /* border-radius: 8rpx; */
   /* margin-top: 50rpx; */
   /* text-align: center; */
@@ -115,13 +115,11 @@ form button:not([size='mini']){
   margin-bottom: 10rpx;
   z-index: 999;
 }
-.upload{
-  width: 220rpx;
-}
 .note{
-  font-size:22rpx;
+  font-size:24rpx;
   padding:10rpx 0rpx;
-  color:#999;
+  color:rgb(128, 128, 128);
+  margin-left: 10rpx;
 }
 .upload{
   width: 240rpx;
@@ -145,8 +143,8 @@ form button:not([size='mini']){
   height:240rpx;
   vertical-align: top;
   position: relative;
-  margin-right: 10rpx;
-  margin-bottom: 10rpx;
+  margin-right: 20rpx;
+  margin-bottom: 20rpx;
 }
 .stock_imgs icon{
   position: absolute;
@@ -155,24 +153,30 @@ form button:not([size='mini']){
 }
 .stock_imgs image{
   border-radius: 8rpx;
-  width:240rpx;height:240rpx;
+  width:240rpx;
+  height:240rpx;
+}
+.delete{
+  position: absolute;
+  right: -15rpx;
+  top: -30rpx;
 }
 .edit{
   text-align: center;
   position: absolute;
-  bottom: 2px;
+  bottom: 10rpx;
   left: 0;
   width: 100%;
 }
 .edit text{
   display: inline-block;
   color: #fff;
-  background: #D94B24;
+  background: #E90001;
   border-radius: 32rpx;
   width: 100rpx;
   line-height: 48rpx;
   text-align: center;
-  font-size: 28rpx;
+  font-size: 20rpx;
   margin: 0 2px;
 }
 .stock_list{

+ 1 - 0
utils/api.js

@@ -172,6 +172,7 @@ const API = {
   blackUser: (data) => request(POST, `/api/wx/v3/user/black`, data),
   getNbcomments: (data) => request(GET, `/api/wx/v3/stock/nbcomments/list`, data),
   getStockNbcomments: (data) => request(GET, `/api/wx/v3/stock/comments/list`, data),
+  imageOcr: (data) => request(POST, `/api/wx/v3/ai/ocr`, data),
   
 }; 
 module.exports = {