y595705120 4 éve
szülő
commit
801f1ff6aa

+ 18 - 6
app.js

@@ -49,18 +49,20 @@ App({
     }
   },
   // 微信登入
-  doLogin: function( cb ){
+  doLogin: function( cb, info ={} ){
     let that = this
     wx.login({
       success: res => {
         if (res.code) {
-          let param = { code: res.code };
+          let param =  Object.assign({ code: res.code }, info);
           //发起网络请求
           util.http("/base/wxLogin", param, (errCode, data) => {
             if( errCode == 0){
-              let {user, token} = data
+              let {user, token,expiresAt} = data
               user.token = token;
+              user.expiresAt = expiresAt;
               this.globalData.userInfo = user
+              console.log("login_ok_u", user)
               wx.setStorageSync("@yunyuanqu", user)
               cb&&cb( user )
             }else{
@@ -77,7 +79,16 @@ App({
   checkLogin:function( cb ){
     let info = this.globalData.userInfo;
     if (!info.token){
-      this.doLogin( cb )
+      let cacheUser = wx.getStorageSync("@yunyuanqu");
+      console.log("cacheUser", cacheUser)
+      if( !cacheUser || cacheUser.expiresAt < Date.now() ){
+        wx.navigateTo({
+          url: '/pages/login/login',
+        })
+      }else{
+        this.globalData.userInfo = cacheUser
+        cb&&cb( cacheUser  )
+      }
     }else{
       cb&&cb( info )
     }
@@ -148,8 +159,8 @@ App({
   identifyUser(){
     this.globalData.userInfo.identify=1
   },
-  getMakerInfo( cb ){
-    if( this.globalData.maker.id ){
+  getMakerInfo( cb, noCache ){
+    if( !noCache && this.globalData.maker.id ){
       cb&&cb( this.globalData.maker);
     }else{
       util.http( '/wx/getMakerInfo', {}, (err,res)=>{
@@ -173,6 +184,7 @@ App({
   },
   globalData: {
     taskTab:0,
+    signUrl:"https://yyq2.oss-cn-shanghai.aliyuncs.com/pdf/sign.jpg",
     action: false,
     userInfo: {},
     location: {},

+ 11 - 7
app.json

@@ -1,20 +1,24 @@
 {
   "pages": [
     "pages/index/index",
-    "pages/task/lyg/index",
-    "pages/task/submit/subtask",
+    "pages/task/supply/index",
     
-    "pages/tool/sign/signature",
-    "pages/tool/agree/agree",
-    "pages/me/index",
     "pages/login/login",
+
+    "pages/me/index",
     "pages/task/info/info",
+    "pages/task/info/b2bInfo",
+    
+    "pages/tool/sign/signature",
+    "pages/task/lyg/index",
+    "pages/task/submit/subtask",
+    "pages/tool/agree/agree",
+  
     "pages/user/info/index",
     "pages/tool/identify/index",
-    
     "pages/task/trade/index",
     "pages/task/demand/index",
-    "pages/task/supply/index",
+    
     "pages/task/confirm/index",
     "pages/task/finish/index",
     "pages/tool/band/band",

BIN
img/logo.png


BIN
img/yz.png


+ 0 - 3
pages/index/index.js

@@ -31,9 +31,6 @@ Page({
       cb && cb()
     });
   },
-  onShow: function(){
-    this.data.info.id || this.loadData( );
-  },
   gotoIdentify:()=>{
     wx.navigateTo({
       url: '/pages/tool/identify/index',

+ 6 - 8
pages/login/login.js

@@ -5,15 +5,13 @@ Page({
     StatusBar: app.globalData.StatusBar,
     CustomBar: app.globalData.CustomBar,
   },
-  login( ){
+  login( e ){
     wx.setStorageSync("@yunyuanqu", {})
-    app.doLogin( (res)=>{
-      wx.navigateBack({
-        delta: 1,
-      })
-    })
+    app.doLogin( this.loginOk, e.detail.userInfo||{})
   },
-  onLoad: function (options) {
-
+  loginOk( res ){
+    wx.navigateBack({
+      delta: 1,
+    })
   }
 })

+ 6 - 5
pages/login/login.wxml

@@ -1,14 +1,15 @@
 
-<view class='container' style="margin-top: {{CustomBar}}px;">
+<view class='container' style="padding-top: {{CustomBar}}px;" class="bg-white">
   <view class='userinfo'>
     <view class='userinfo-avatar' >
-      <open-data type="userAvatarUrl"></open-data>
+      <image src="../../img/logo.png" mode="widthFix"/>
     </view>
     <view class='userinfo-name'>
-      <open-data type="userNickName"></open-data>
+      <span>欢迎来到云园区</span>
     </view>
-    <button class="cu-btn bg-green tc fc mt20" bindtap="login" >
-      点击登入
+
+    <button class='cu-btn bg-green margin-top-xl' open-type="getUserInfo" bindgetuserinfo="login">
+      微信登录
     </button>
   </view>
   

+ 2 - 1
pages/login/login.wxss

@@ -2,8 +2,9 @@
   position: relative;
   width: 100%;
   background: #fff;
+  height: 100vh;
   text-align: center;
-  padding: 30rpx 0;
+  padding: 100rpx 0;
 }
 .userinfo .userinfo-avatar {
   overflow: hidden;

+ 28 - 0
pages/task/demand/index.js

@@ -5,6 +5,7 @@ Page({
     StatusBar: app.globalData.StatusBar,
     CustomBar: app.globalData.CustomBar,
     loadModal:false,
+    userInfo:{},
     from:0,
     size:6,
     list:[
@@ -16,6 +17,17 @@ Page({
   onLoad: function ( ) {
     app.checkLogin( ()=>{
       this.loadData()
+      this.getuserInfo()
+    } )
+  },
+  search(e){
+    let {name} = e.detail.value;
+    this.setData({name})
+    this.getTaskList( 0 )
+  },
+  getuserInfo( cb ){
+    app.getMakerInfo( (userInfo)=>{
+      this.setData({userInfo})
     } )
   },
   onReachBottom: function () {
@@ -27,6 +39,22 @@ Page({
     }
     this.getTaskList(newFrom, wx.stopPullDownRefresh);
   },
+  bidTask: function( e ){
+    let index = e.currentTarget.dataset.index;
+    let item = this.data.list[index]
+    util.http("/wx/applyWxB2B", {id:item.id}, (err, res) =>{
+      if( err != 0) return;
+      item.target_id = this.data.userInfo.ID
+      this.setData({ list: this.data.list})
+      util.showSuccess("抢单子成功");
+    })
+  },
+  goDetail(e){
+    let id = e.currentTarget.dataset.id;
+    wx.navigateTo({
+      url: `/pages/task/info/b2bInfo?id=${id}`,
+    })
+  },
   getTaskList: function( newFrom, cb){
     let param = { from: newFrom, size:this.data.size }
     let list = this.data.list

+ 29 - 3
pages/task/demand/index.wxml

@@ -3,12 +3,27 @@
   <view slot="content">需求大厅</view>
 </cu-custom>
 
+
+<form bindsubmit="search" class='bg-white' >
+  <view class="cu-bar bg-white search fixed" style="top:{{CustomBar}}px;">
+    <view class="search-form round">
+      <text class="cuIcon-search"></text>
+      <input type="text" placeholder="输入产品名称" name="name" value="{{name}}"></input>
+    </view>
+    <view class="action">
+      <button class="cu-btn bg-gradual-green shadow-blur round" form-type="submit">搜索</button>
+    </view>
+  </view>
+</form>
+<view class='cu-tabbar-height'></view>
+
+
 <scroll-view scroll-y class="scrollPage">
   <view class="tark-list" wx:for="{{list}}" wx:key="id" wx:for-index="index">
-    <view class="cu-list menu-avatar">
-      <view class="cu-item">
+    <view class="cu-list menu-avatar" >
+      <view class="cu-item" >
         <view class="cu-avatar round lg">需</view>
-        <view class="content flex-sub">
+        <view class="content flex-sub" bindtap="goDetail" data-id="{{item.id}}">
           <view>{{item.product}}</view>
           <view class="text-gray text-sm flex justify-between">
             企业:{{item.company}}
@@ -40,6 +55,17 @@
           <view class="fl w100">联系电话 : </view>
           <text class="text-blue">{{item.phone}}</text>
         </view>
+        <view class="margin-top-sm">
+          <button type="text" class="text-red bg-white" wx:if="{{!userInfo.identify}}" >
+            还未实名认证
+          </button>
+          <button type="text" class="text-blue bg-white" wx:elif="{{item.target_id==0}}" bindtap="bidTask" data-index="{{index}}" >
+            抢单
+          </button>
+          <button type="text" class="text-green bg-white" wx:else >
+            交易中
+          </button>
+        </view>
         
       </view>
     </view>

+ 0 - 64
pages/task/index.js

@@ -1,64 +0,0 @@
-const app = getApp();
-const util = require("../../util/util.js")
-Page({
-  data: {
-    StatusBar: app.globalData.StatusBar,
-    CustomBar: app.globalData.CustomBar,
-    loadModal:false,
-    from:0,
-    size:6,
-    list:[
-    ]
-  },
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad: function ( ) {
-    app.checkLogin( ()=>{
-      this.loadData()
-    } )
-  },
-  bidTask: function( e ){
-    let index = e.currentTarget.dataset.index;
-    let item = this.data.list[index]
-    util.http("/wx/applyWxTask", {id:item.id}, (err, res) =>{
-      if( err != 0) return;
-      item.is_bid = 1
-      this.setData({ list: this.data.list})
-      util.showMsg("抢单子成功");
-    })
-  },
-  onShow: function(e){
-    this.getTaskList(0)
-  },
-  onReachBottom: function () {
-    var that = this
-    let newFrom = that.data.from
-    if (newFrom == -1) {
-      wx.stopPullDownRefresh();
-      return;
-    }
-    this.getTaskList(newFrom, wx.stopPullDownRefresh);
-  },
-  getTaskList: function( newFrom, cb){
-    let param = { from: newFrom, size:this.data.size }
-    let list = this.data.list
-    let that = this
-    util.http("/wx/getWxTaskList", param, function (err, res) {
-      if( err != 0) return;
-      if (newFrom == 0) list = [];
-      let newlist = res.list.map( item =>{
-        item.bid_end_at = item.bid_end_at.substr(0,10);
-        return item
-      });
-      that.setData({
-        from: res.from || -1,
-        list: list.concat(newlist)
-      })
-      cb && cb()
-    });
-  },
-  loadData :function( ){
-    this.getTaskList(0)
-  },
-})

+ 0 - 49
pages/task/index.wxml

@@ -1,49 +0,0 @@
-<cu-custom isBack="{{true}}">
-  <view slot="backText">返回</view>
-  <view slot="content">任务中心</view>
-</cu-custom>
-
-<scroll-view scroll-y class="scrollPage">
-  <view class="tark-list" wx:for="{{list}}" wx:key="id" wx:for-index="index">
-    <view class="cu-list menu-avatar">
-      <view class="cu-item">
-        <view class="cu-avatar round lg" style="background-image:url(/img/1.png);"></view>
-        <view class="content flex-sub">
-          <view>{{item.title}}</view>
-          <view class="text-gray text-sm flex justify-between">
-            {{item.company}}
-          </view>
-        </view>
-      </view>
-      <!-- 任务详情 -->
-      <view class="padding text-grey bg-white">
-        <view class="text-cut">
-          <view class="fl w100">任务编号 : </view>
-          <text class="text-blue">{{item.id}}</text>
-        </view>
-        <view class="margin-top-sm">
-          <view class="fl w100">预算金额 : </view>
-          <text class="text-blue">¥{{item.budget_fee/100}}元</text>
-        </view>
-        <view class="margin-top-sm">
-          <view class="fl w100">结束时间 : </view>
-          <text class="text-blue">{{item.bid_end_at}}</text>
-        </view>
-      </view>
-      <!-- 按钮 -->
-      <view data-index="{{index}}" bindtap="bidTask">
-        <button type="text" class="text-blue bg-white" wx:if="{{item.is_bid==0}}">
-          抢单
-        </button>
-        <button type="text" class="text-gray bg-white" wx:else>
-          已经抢过
-        </button>
-      </view>
-    </view>
-  </view>
-  <view class='cu-tabbar-height'></view>
-</scroll-view>
-<view class='cu-load load-modal' wx:if="{{loadModal}}">
-  <view class='cuIcon-emojifill text-orange'></view>
-  <view class='gray-text'>加载中...</view>
-</view>

+ 0 - 10
pages/task/index.wxss

@@ -1,10 +0,0 @@
-
-
-.w100{ width: 180rpx;}
-
-.tark-list{
-  border-radius: 20rpx;
-  margin-top:16rpx;
-  padding-left: 20rpx;
-  padding-right: 20rpx;
-}

+ 29 - 0
pages/task/info/b2bInfo.js

@@ -0,0 +1,29 @@
+// pages/user/info/index.js
+const app = getApp();
+const util = require("../../../util/util.js")
+Page({
+  data: {
+    info:{}
+  },
+  onLoad: function (options) {
+    console.log(options)
+    let id = +options.id||100044;
+    util.http('/wx/getWxB2BInfo', {id}, (err,res)=>{
+      if( err != 0) return;
+      console.log( "res", res)
+      this.setData({info: res})
+    })
+  },
+  previewImage: function (e) {
+    var current = e.target.dataset.src;
+    wx.previewImage({
+      current: current, 
+      urls: [current]
+    })
+  },
+  gotoSign(){
+    wx.navigateTo({
+      url: '/pages/tool/sign/signature',
+    })
+  }
+})

+ 0 - 0
pages/task/index.json → pages/task/info/b2bInfo.json


+ 98 - 0
pages/task/info/b2bInfo.wxml

@@ -0,0 +1,98 @@
+<cu-custom isBack="{{true}}">
+  <view slot="backText">返回</view>
+  <view slot="content">B2B详情</view>
+</cu-custom>
+
+<view class="cu-list menu" style="margin-top:{{StatusBar}}px;">
+  <view class="cu-form-group">
+    <view class="title solids-right"> 产品名称</view>
+    <input  class="ml20" value="{{info.product}}" disabled></input>
+  </view>
+  <view class="cu-form-group">
+    <view class="title solids-right">发布企业</view>
+    <input  class="ml20" value="{{info.company}}" disabled></input>
+  </view>
+
+  <view class="cu-form-group">
+    <view class="title solids-right">发布类型</view>
+    <input  class="ml20" value="{{info.supply?'供应':'需求'}}" disabled></input>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.fee}}">
+    <view class="title solids-right">交易金额</view>
+    <input  class="ml20" value="{{info.fee/100}}元" disabled></input>
+  </view>
+
+  <view class="cu-form-group">
+    <view class="title solids-right">产品单价</view>
+    <input  class="ml20" value="{{info.unit_fee||'面谈'}}" disabled></input>
+  </view>
+
+  <view class="cu-form-group">
+    <view class="title solids-right">产品单位</view>
+    <input  class="ml20" value="{{info.unit}}" disabled></input>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.target}}">
+    <view class="title solids-right">接单人员</view>
+    <input class="ml20" value="{{info.target}}" disabled></input>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.contact}}">
+    <view class="title solids-right">联 系 人</view>
+    <input class="ml20" value="{{info.contact}}" disabled></input>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.phone}}">
+    <view class="title solids-right">联系方式</view>
+    <input class="ml20" value="{{info.phone}}" disabled></input>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.maker}}">
+    <view class="title solids-right">联系电话</view>
+    <input class="ml20" value="{{info.phone}}" disabled></input>
+  </view>
+
+  <view class="cu-form-group">
+    <view class="title solids-right">是否完成</view>
+    <input class="ml20" value="{{info.finish?'是':'否'}}" disabled></input>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.publish_at}}">
+    <view class="title solids-right">发布时间</view>
+    <input class="ml20" value="{{info.publish_at}}" disabled></input>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.invoice_img}}">
+    <view class="title solids-right">查看发票</view>
+    <button type="primary" class="text-left ml20" bindtap="" wx:if="{{info.invoice_img}}" 
+        data-src="{{info.invoice_img}}"  bindtap="previewImage"> 点击查看 </button>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.pay_img}}">
+    <view class="title solids-right">转账截图</view>
+    <button type="primary" class="text-left ml20" bindtap="" wx:if="{{info.pay_img}}" 
+        data-src="{{info.pay_img}}"  bindtap="previewImage"> 点击查看 </button>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.deliver_img}}">
+    <view class="title solids-right">物流截图</view>
+    <button type="primary" class="text-left ml20 p20" bindtap="" wx:if="{{info.deliver_img}}" 
+        data-src="{{info.deliver_img}}"  bindtap="previewImage"> 点击查看 </button>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.contract_img}}">
+    <view class="title solids-right">合同图片</view>
+    <button type="primary" class="text-left ml20 m20" bindtap="" wx:if="{{info.contract_img}}" 
+        data-src="{{info.contract_img}}"  bindtap="previewImage"> 点击查看 </button>
+  </view>
+  
+
+  <view class="cu-form-group" wx:if="{{info.maker}}">
+    <view class="title">任务详情</view>
+  </view>
+
+  <view class="cu-form-group">
+    <rich-text  nodes="{{info.content}}"></rich-text>
+  </view>
+</view>

+ 4 - 0
pages/task/info/b2bInfo.wxss

@@ -0,0 +1,4 @@
+/* pages/task/info/b2bInfo.wxss */
+.title{
+  min-width: 150rpx;
+}

+ 35 - 0
pages/task/info/info.wxml

@@ -58,6 +58,41 @@
     <input class="ml20" value="{{info.created_at}}" disabled></input>
   </view>
 
+  <view class="cu-form-group" wx:if="{{info.deliver_img}}">
+    <view class="title solids-right">交付截图</view>
+    <button type="primary" class="text-left ml20" bindtap="" wx:if="{{info.deliver_img}}" 
+        data-src="{{info.deliver_img}}"  bindtap="previewImage"> 点击查看 </button>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.contract_img}}">
+    <view class="title solids-right">合同图片</view>
+    <button type="primary" class="text-left ml20" bindtap="" wx:if="{{info.contract_img}}" 
+        data-src="{{info.contract_img}}"  bindtap="previewImage"> 点击查看 </button>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.invoice_img}}">
+    <view class="title solids-right">查看发票</view>
+    <button type="primary" class="text-left ml20" bindtap="" wx:if="{{info.invoice_img}}" 
+        data-src="{{info.invoice_img}}"  bindtap="previewImage"> 点击查看 </button>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.logistics_img}}">
+    <view class="title solids-right">物流截图</view>
+    <button type="primary" class="text-left ml20" bindtap="" wx:if="{{info.logistics_img}}" 
+        data-src="{{info.logistics_img}}"  bindtap="previewImage"> 点击查看 </button>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.pay_img}}">
+    <view class="title solids-right">转账截图</view>
+    <button type="primary" class="text-left ml20" bindtap="" wx:if="{{info.pay_img}}" 
+        data-src="{{info.pay_img}}"  bindtap="previewImage"> 点击查看 </button>
+  </view>
+
+  <view class="cu-form-group" wx:if="{{info.maker_pay_img}}">
+    <view class="title solids-right">创客转账截图</view>
+    <button type="primary" class="text-left ml20" bindtap="" wx:if="{{info.maker_pay_img}}" 
+        data-src="{{info.maker_pay_img}}"  bindtap="previewImage"> 点击查看 </button>
+  </view>
 
 
   <view class="cu-form-group" wx:if="{{info.maker}}">

+ 3 - 1
pages/task/info/info.wxss

@@ -1 +1,3 @@
-/* pages/task/info/info.wxss */
+.title{
+  min-width: 150rpx;
+}

+ 1 - 1
pages/task/lyg/index.js

@@ -114,7 +114,7 @@ Page({
     this.getTaskList(0)
   },
   goDetail(e){
-    let id = e.target.dataset.id;
+    let id = e.currentTarget.dataset.id;
     wx.navigateTo({
       url: `/pages/task/info/info?id=${id}`,
     })

+ 14 - 7
pages/task/lyg/index.wxml

@@ -27,13 +27,19 @@
           <view class="text-left">任务编号 : 
             <text class="text-blue">{{item.id}}</text>
           </view>
-          <view class="text-left margin-top-sm">预算金额 : 
-            <text class="text-blue">¥{{item.budget_fee/100}}元</text>
+
+          <view class="text-left margin-top-sm" wx:if="{{TabCur>1}}">
+            <text>交易金额:</text>
+            <text class="text-blue">{{item.fee/100}}元</text>
+          </view>
+          <view class="text-left margin-top-sm" wx:else>
+            <text>预算金额 : </text>
+            <text class="text-blue">{{item.budget_fee/100}}元</text>
           </view>
 
-          <view class="text-left margin-top-sm" wx:if="{{item.confirm>0 && item.fee}}">实际金额 : 
+          <!-- <view class="text-left margin-top-sm" wx:if="{{item.confirm>0 && item.fee}}">实际金额 : 
             <text class="text-blue">¥{{item.fee/100}}元</text>
-          </view>
+          </view> -->
 
           <view class="text-left margin-top-sm">任务分类 : 
             <text class="text-blue">{{item.category}}</text>
@@ -54,9 +60,10 @@
 
           <!-- 待交付 -->
           <view data-index="{{index}}" wx:if="{{TabCur==1}}" class="margin-top-sm">
-            <button class="cu-btn bg-blue " style="margin-right:30rpx;" wx:if="{{item.deliver_img}}" 
-                data-src="{{item.deliver_img}}" bindtap="previewImage">查看交付</button>
-            <button class="cu-btn bg-blue" data-index="{{index}}" bindtap="uplodImg">任务交付</button>
+
+            <button class="cu-btn bg-blue" wx:if="{{item.deliver_img}}"  data-index="{{index}}" bindtap="uplodImg">重新交付</button>
+            <button class="cu-btn bg-blue" wx:else  data-index="{{index}}" bindtap="uplodImg">任务交付</button>
+
           </view>
  
           <!-- 未接任务 -->

+ 22 - 4
pages/task/supply/index.js

@@ -7,6 +7,7 @@ Page({
     loadModal:false,
     from:0,
     size:6,
+    name:'',
     list:[
     ]
   },
@@ -16,16 +17,22 @@ Page({
   onLoad: function ( ) {
     app.checkLogin( ()=>{
       this.loadData()
+      this.getuserInfo()
+    } )
+  },
+  getuserInfo( cb ){
+    app.getMakerInfo( (userInfo)=>{
+      this.setData({userInfo})
     } )
   },
   bidTask: function( e ){
     let index = e.currentTarget.dataset.index;
     let item = this.data.list[index]
-    util.http("/wx/applyWxTask", {id:item.id}, (err, res) =>{
+    util.http("/wx/applyWxB2B", {id:item.id}, (err, res) =>{
       if( err != 0) return;
-      item.is_bid = 1
+      item.target_id = this.data.userInfo.ID
       this.setData({ list: this.data.list})
-      util.showMsg("抢单子成功");
+      util.showSuccess("抢单子成功");
     })
   },
   onReachBottom: function () {
@@ -37,8 +44,19 @@ Page({
     }
     this.getTaskList(newFrom, wx.stopPullDownRefresh);
   },
+  goDetail(e){
+    let id = e.currentTarget.dataset.id;
+    wx.navigateTo({
+      url: `/pages/task/info/b2bInfo?id=${id}`,
+    })
+  },
+  search(e){
+    let {name} = e.detail.value;
+    this.setData({name})
+    this.getTaskList( 0 )
+  },
   getTaskList: function( newFrom, cb){
-    let param = { from: newFrom, size:this.data.size }
+    let param = { from: newFrom, size:this.data.size,name: this.data.name}
     let list = this.data.list
     let that = this
     

+ 25 - 10
pages/task/supply/index.wxml

@@ -3,19 +3,22 @@
   <view slot="content">供应大厅</view>
 </cu-custom>
 
-<!-- <view class="cu-bar bg-white search fixed" style="top:{{CustomBar}}px;">
-  <view class="search-form round">
-    <text class="cuIcon-search"></text>
-    <input type="text" placeholder="输入搜索的关键词" confirm-type="search"></input>
-  </view>
-  <view class="action">
-    <button class="cu-btn bg-gradual-green shadow-blur round">搜索</button>
+<form bindsubmit="search" class='bg-white' >
+  <view class="cu-bar bg-white search fixed" style="top:{{CustomBar}}px;">
+    <view class="search-form round">
+      <text class="cuIcon-search"></text>
+      <input type="text" placeholder="输入产品名称" name="name" value="{{name}}"></input>
+    </view>
+    <view class="action">
+      <button class="cu-btn bg-gradual-green shadow-blur round" form-type="submit">搜索</button>
+    </view>
   </view>
-</view> -->
+</form>
+<view class='cu-tabbar-height'></view>
 
-<scroll-view scroll-y class="scrollPage" style="top:{{CustomBar}}px;">
+<scroll-view scroll-y class="scrollPage">
   <view class="tark-list" wx:for="{{list}}" wx:key="id" wx:for-index="index">
-    <view class="cu-list menu-avatar">
+    <view class="cu-list menu-avatar" bindtap="goDetail" data-id="{{item.id}}">
       <view class="cu-item">
         <view class="cu-avatar round lg">供</view>
         <view class="content flex-sub">
@@ -51,6 +54,18 @@
           <view class="fl w100">联系电话 : </view>
           <text class="text-blue">{{item.phone}}</text>
         </view>
+
+        <view class="margin-top-sm">
+          <button type="text" class="text-red bg-white" wx:if="{{!userInfo.identify}}" >
+            还未实名认证
+          </button>
+          <button type="text" class="text-blue bg-white" wx:elif="{{item.target_id==0}}" bindtap="bidTask" data-index="{{index}}" >
+            抢单
+          </button>
+          <button type="text" class="text-green bg-white" wx:else >
+            交易中
+          </button>
+        </view>
       </view>
     </view>
   </view>

+ 6 - 0
pages/task/trade/index.js

@@ -27,6 +27,12 @@ Page({
     }
     this.getTaskList(newFrom, wx.stopPullDownRefresh);
   },
+  goDetail(e){
+    let id = e.currentTarget.dataset.id;
+    wx.navigateTo({
+      url: `/pages/task/info/b2bInfo?id=${id}`,
+    })
+  },
   getTaskList: function( newFrom, cb){
     let param = { from: newFrom, size:this.data.size }
     let list = this.data.list

+ 1 - 1
pages/task/trade/index.wxml

@@ -5,7 +5,7 @@
 
 <scroll-view scroll-y class="scrollPage">
   <view class="tark-list" wx:for="{{list}}" wx:key="id" wx:for-index="index">
-    <view class="cu-list menu-avatar">
+    <view class="cu-list menu-avatar" bindtap="goDetail" data-id="{{item.id}}">
       <!-- 任务详情 -->
       <view class="padding text-grey bg-white">
         <view class="text-cut">

+ 12 - 6
pages/tool/agree/agree.js

@@ -1,11 +1,16 @@
-const signUrl="https://yyq2.oss-cn-shanghai.aliyuncs.com/pdf/sign.jpg"
+const app = getApp();
 Page({
   data:{
     currentTime:10,
+    prevUrl:'',
   },
   onLoad:function(options){
-    // 页面初始化 options为页面跳转所带来的参数
-    this.shartTick()
+    app.getMakerInfo(  res =>{
+      this.setData( {prevUrl: res.contract_img })
+      if( !res.contract_img ){
+        this.shartTick()
+      }
+    })    
   },
   onReady:function(){
     // 页面渲染完成
@@ -17,9 +22,10 @@ Page({
     })
   },
   preview(){
-      wx.previewImage({
-        urls: ["https://yyq2.oss-cn-shanghai.aliyuncs.com/pdf/sign.jpg"], //预览图片 数组
-      })
+    let previewUrl =this.data.prevUrl||app.globalData.signUrl;
+    wx.previewImage({
+      urls: [previewUrl], //预览图片 数组
+    })
   },
   shartTick:function(){
     let currentTime= 10

+ 6 - 2
pages/tool/agree/agree.wxml

@@ -1,9 +1,13 @@
 <cu-custom isBack="{{true}}">
   <view slot="backText">返回</view>
-  <view slot="content">服务条款</view>
+  <view slot="content">电子合同</view>
 </cu-custom>
 
-<view class="container">
+<view wx:if="{{prevUrl}}">
+  <image src="{{prevUrl}}" style="width:100%" mode="widthFix" bindtap="preview"></image>
+  <button type="primary" bindtap="gotoSign">重新签名</button>
+</view>
+<view class="container" wx:else>
   <image src="https://yyq2.oss-cn-shanghai.aliyuncs.com/pdf/sign.jpg" mode="widthFix" style="width:100%" bindtap="preview">
   </image>
   <view style="padding:20rpx">

+ 6 - 1
pages/tool/sign/signature.js

@@ -398,6 +398,7 @@ Page({
     let method='/maker/addContractImg';
     util.http( method, {url}, (err,res)=>{
       if( err!= 0 ) return;
+      this.setData({prevUrl:url})
       util.showSuccess("合同签约成功")
     })
   },
@@ -449,7 +450,8 @@ Page({
     })
   },
   previewSign(e){
-    let url= "https://yyq2.oss-cn-shanghai.aliyuncs.com/pdf/sign.jpg"
+    let url= this.data.prevUrl||app.globalData.signUrl;
+    console.log("previewSign", url)
     wx.previewImage({
       urls: [url], //预览图片 数组
     })
@@ -477,6 +479,9 @@ Page({
    * 生命周期函数--监听页面加载
    */
   onLoad: function (options) {
+    app.getMakerInfo(  res =>{
+      this.setData( {prevUrl: res.contract_img })
+    })
     let canvasName = this.data.canvasName
     let ctx = wx.createCanvasContext(canvasName)
     this.setData({

+ 1 - 1
pages/tool/sign/signature.wxml

@@ -18,7 +18,7 @@
     </canvas>
   </view>
   <view class="handRight" >
-    <view class="handTitle"  bindtap="previewSign" >电子合同</view>
+    <view class="handTitle"  bindtap="previewSign" >合同预览</view>
   </view>
 </view>
 

+ 2 - 2
pages/user/info/index.js

@@ -10,7 +10,7 @@ Page({
     app.getMakerInfo(  res =>{
       Object.assign( info, res )
       this.setData( {info })
-    })
+    }, true);
   },
   previewImage: function (e) {
     var current = e.target.dataset.src;
@@ -21,7 +21,7 @@ Page({
   },
   gotoSign(){
     wx.navigateTo({
-      url: '/pages/tool/sign/signature',
+      url: '/pages/tool/agree/agree',
     })
   }
 })

+ 3 - 0
push.bat

@@ -0,0 +1,3 @@
+git add -A
+git commit -m 'normal'
+git push origin master

+ 4 - 38
util/util.js

@@ -2,8 +2,8 @@ var env = 'development';
 const md5 = require('./md5.js');
 var wiki = require('./wiki.js');
 var location = require('./location.js');
-// const baseUrl = "https://edu.ndjsxh.cn:8443/api"
-const baseUrl = "http://localhost:8888"
+const baseUrl = "https://edu.ndjsxh.cn:8443/api"
+// const baseUrl = "http://localhost:8888"
 
 const formatTime = date => {
   const year = date.getFullYear()
@@ -77,9 +77,8 @@ var showModel = (title, content) => {
 var http = (method, data, fun) => {
     let header = { 'content-type': 'application/json'}
     let authDB = wx.getStorageSync("@yunyuanqu");
-    let user_id = authDB&&authDB.ID||0;
+    let user_id = authDB&&authDB.id||authDB.ID||0;
     let token=authDB&&authDB.token||''
-    console.log( "authDB", authDB)
     if( user_id && token ){
       header['x-token'] = token
       header['x-user-id']= user_id
@@ -115,42 +114,9 @@ var http = (method, data, fun) => {
     }
   })
 }
-var uploadFile = (tempFilePaths, fun) =>{
-    let authDB = wx.getStorageSync("@yunyuanqu");
-    let user_id = authDB&&authDB.ID||0;
-    let token=authDB&&authDB.token||''
-    let header={}
-    if( user_id && token ){
-      header['x-token'] = token
-      header['x-user-id']= user_id
-    }
-    wx.uploadFile({
-      url: `${baseUrl}/wx/upload`,
-      filePath: tempFilePaths,
-      name: "file",
-      header:header,
-      success: function (res) {
-        if( res.statusCode === 200){
-          let { code, data, msg} = JSON.parse(res.data)
-          console.log( code, data, msg )
-          if( code == 0 ){
-            fun&&fun(code, data)
-          }else{
-            fun&&fun(code, msg)
-          }  
-        }else{
-          fun&&fun(404, "请求异常")
-        }
-      },
-      fail: function (res) {
-        fun&&fun(404, "" );
-      }
-    })
-}
-
 var uploadFile = (tempFilePaths, fun, sign) =>{
     let authDB = wx.getStorageSync("@yunyuanqu");
-    let user_id = authDB&&authDB.ID||0;
+    let user_id = authDB&&authDB.id||authDB.ID||0;
     let token=authDB&&authDB.token||''
     let header={}
     if( user_id && token ){