【实训项目】“优品果园”-线上水果商城小程序

2023-10-15 12:45

本文主要是介绍【实训项目】“优品果园”-线上水果商城小程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.项目背景

随着现代人对消费水平的追求以及对食物安全的需要,无污染、产地直销的有机水果受到越来越多市民的喜欢。交易过程的简洁化是现代消费者的追求,产地直销也是近期流行的一种新型的交易模式。产地直销的交易模式使得交易过程更加简便快捷,也使消费也更透明化,有助于增加消费者对商家的信任和认可。有机食物又被誉为“朝阳产业”,具有良好的市场,同时,我们对安全食物的需要日益剧烈,对透明化消费的追求日益迫切,因此我们认为国内市场远景非常豁达。

2.项目目标

主要针对上班族以及中老年等人群,可以满足他们对于有机水果的需求,同时也满足其对于透明化消费的需求,以求达到双赢。

3.项目总体描述

3.1发展成果

我们的项目名称是“优品果源”,采用的是C2C模式。我们的程序包括了水果模板、新鲜到家、购物车和会员中心四个主要界面。

我们所设计的小程序主要是为消费者提供有机水果产地直销。在这个小程序里,我们会提供一定的经营产地,并为消费者提供产地全部信息,同时用户可以在线上对自己选择的产地进行实时观测,了解水果的长势,收货等全部过程,还也可以模拟体验农耕各项流程线上体验,(播种、施肥、浇水、除草、采摘)。

3.2功能描述

(1)用户注册

用户在使用“优品果源”时需要必须进行实名注册,包括姓名、年龄、性别、手机号、身份证号

(2)用户订单 包括

用户选择直销产地、购买水果等。

(3)交易中心

用户之间可以将多余的水果信息上传进行交易,也可以与农场之间进行交易。

(4)我的产地

提供一定的经营产地,并为消费提供产地全部信息,同时用户可以在线上对自己选择的产地进行实时观测,了解水果的长势,收货等全部过程。

(5)通知信息

后台会根据用户水果产地的生长情况,定时向客户发送提示信息; 资讯类信息,会根据季节实时发送一些水果种植信息,丰富地主的农耕经验,切实体验种植生活。

(6)客服中心

用户有任何问题可以咨询客服或者投诉商家。

4.项目成果

5.核心代码展示

<view class="goods marUpTop"><text class="total">共{{totalNum}}条</text><view class="good" wx:for="{{goods}}" wx:key="id" wx:for-item="good"><image class="image" src="{{good.icon}}"></image><text class="name" style='width:{{windowWidth - 80}}px;'>{{good.name}}</text></view><text class="bottomLoad" bindtap='bottomLoad' hidden='{{initLoadDataNum < pageSize}}'>{{bottomLoadMsg}}</text>
</view>
<view class="swiper-tab">  <view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">未开始({{notStartTotalNums}})</view>  <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">进行中({{progressTotalNums}})</view>  <view class="swiper-tab-list {{currentTab==2 ? 'on' : ''}}" data-current="2" bindtap="swichNav">已结束({{doneTotalNums}})</view>  
</view> <swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{winHeight - 40}}px;" bindchange="bindChange">  <swiper-item>  <scroll-view  style="height: {{winHeight - 80}}px;" scroll-y><view wx:for="{{notStartDatas}}" wx:for-item="notStart" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{notStart.id}}" ><image bindtap="toTaskDetail" src="/images/notStart.png" class="icon" data-taskId="{{notStart.id}}"></image><text bindtap="toTaskDetail" style="width:{{winWidth - 140}}px;" class="name" data-taskId="{{notStart.id}}">{{notStart.name}}</text><button open-type="share" data-taskId="{{notStart.id}}" data-hookName="{{notStart.userName}}" type='primary' style="background-color: #265a88;" class='btn invite'>邀请</button><form bindsubmit='del' report-submit data-taskId="{{notStart.id}}"><button form-type='submit' type='primary' style="background-color: red;" class='btn delete'>删除</button></form></view> </view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{notStartCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{notStartCurPage}}/{{notStartTotalPage}}</text><image class="page" bindtap='downPage' src="{{notStartCurPage == notStartTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item><swiper-item>  <scroll-view  style="height: {{winHeight - 80}}px;" scroll-y><view wx:for="{{progressDatas}}" wx:for-item="progress" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{progress.id}}" bindtap="toTaskDetail"><image src="/images/doing.png" class="icon" data-taskId="{{progress.id}}"></image><text class="name" style="width:{{winWidth - 140}}px;" data-taskId="{{progress.id}}">{{progress.name}}</text><progress class="progress" data-taskId="{{progress.id}}" activeColor="{{progress.activeColor}}" percent="{{progress.progress}}" show-info="true" active/></view></view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{progressCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{progressCurPage}}/{{progressTotalPage}}</text><image class="page" bindtap='downPage' src="{{progressCurPage == progressTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item>  <swiper-item>  <scroll-view  style="height: {{winHeight - 80}}px;" scroll-y><view wx:for="{{doneDatas}}" wx:for-item="done" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{done.id}}"><image src="/images/done.png" class="icon" data-taskId="{{done.id}}" bindtap="toTaskDetail"></image><text style="width:{{winWidth - 95}}px;" class="name" data-taskId="{{done.id}}" bindtap="toTaskDetail">{{done.name}}</text><form bindsubmit='del' report-submit data-taskId="{{done.id}}"><button form-type='submit' type='primary' style="background-color: red;" class='btn delete'>删除</button></form></view> </view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{doneCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{doneCurPage}}/{{doneTotalPage}}</text><image class="page" bindtap='downPage' src="{{doneCurPage == doneTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item>  
</swiper>
<template name="normal"><view class="content-msg">{{msg}}</view>
</template>
<template name="apv"><view class="content-msg apv"><view class="apv-title">审批提醒</view><view class="apv-content">{{msg}}</view><view class="apv-do" data-id="{{id}}" data-attValue="{{attValue}}" bindtap="detail"><text>审批</text><image class="right-image" src="/images/right.png"/></view></view>
</template>
<template name="end"><view class="msg-end" style='width:{{windowWidth - 70}}px;'><image class="end-image" src="/images/{{attValue.suc ? 'success.png' : 'failure.png'}}"></image><view style="width:{{windowWidth - 145}}px;" class="end-msg">{{msg}}<text style="color:#5D718D;" data-id="{{attValue.id}}" bindtap='endDetail'> [详情]</text></view></view>
</template><view wx:if="{{isRefresh}}" class="fresh"><image src="/images/timer.gif" class="timer"></image>
</view>
<scroll-view  style="height: {{windowHeight}}px;" scroll-y  bindscroll="scroll" scroll-into-view="msgId_{{scrollInitId}}" bindtouchstart="start" bindtouchend="end" bindscrolltolower="hiddenDownBtn"><view class="msg-item" wx:for="{{msgs}}" wx:for-item="msg" wx:key="id" id="msgId_{{msg.id}}"><view><image src="{{msg.icon}}" class="msg-icon"></image></view><view class="msg-content"><text class="name-time" decode="true">{{msg.sendName}} {{msg.createTime}}</text><block wx:if="{{msg.type == 1}}"><template is="apv" data="{{...msg}}"/></block><block wx:elif="{{msg.type == 2}}"><template is="end" data="{{...msg, windowWidth}}"/></block><block wx:else><template is="normal" data="{{...msg}}"/></block></view></view><form bindsubmit='jumpToUpUnRead' report-submit><button class="toUpUnRead" form-type='submit' hidden='{{upBtnHidden}}'>☝ <text>{{unReadNum}}</text>条未读</button></form><form bindsubmit='jumpToDownUnRead' report-submit><button class="toDownUnRead" form-type='submit' hidden='{{downBtnHidden}}'>︾ <text>{{downUnReadNum}}</text>条未读</button></form>
</scroll-view>
<view class="swiper-tab"><view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">进行中({{progressTotalNums}})</view>  <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">已结束({{doneTotalNums}})</view>  
</view> <swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{winHeight - 40}}px" bindchange="bindChange">  <swiper-item><scroll-view  style="height: {{winHeight - 80}}px;" scroll-y>  <view wx:for="{{progressDatas}}" wx:for-item="progress" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{progress.id}}" bindtap="toTaskDetail"><image src="/images/doing.png" class="icon" data-taskId="{{progress.id}}"></image><text class="name" style="width:{{winWidth - 140}}px;" data-taskId="{{progress.id}}">{{progress.name}}</text><progress class="progress" data-taskId="{{progress.id}}" activeColor="{{progress.activeColor}}" percent="{{progress.progress}}" show-info="true" active/></view></view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{progressCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{progressCurPage}}/{{progressTotalPage}}</text><image class="page" bindtap='downPage' src="{{progressCurPage == progressTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item>  <swiper-item>  <scroll-view  style="height: {{winHeight - 80}}px;" scroll-y><view wx:for="{{doneDatas}}" wx:for-item="done" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{done.id}}" bindtap="toTaskDetail"><image src="/images/done.png" class="icon" data-taskId="{{done.id}}"></image><text class="name" style="width:{{winWidth - 55}}px;" data-taskId="{{done.id}}">{{done.name}}</text></view> </view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{doneCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{doneCurPage}}/{{doneTotalPage}}</text><image class="page" bindtap='downPage' src="{{doneCurPage == doneTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item>  
</swiper>
<view class="layout-column marUpTop" style="padding: 5px 15px;">拉钩创建成功,邀请Ta和你拉钩吧。<button open-type="share" type='primary' style="background-color: #265a88;width:100%;" size='default' class='marUpTop'>邀请</button>
</view>
<form bindsubmit="formSubmit" report-submit><view class="layout-column marUpTop"><textarea class="desc border" placeholder="请描述反馈意见" name="content" maxlength="1000"/><view class="marTop border"><button type="primary" size="default" style="background-color: #265a88;" formType="submit" disabled='{{disableBtn}}'>提交</button></view><modal hidden="{{formMsgHidden}}" title="提示" confirm-text="去完善" no-cancel="true" bindcancel="cancel" bindconfirm="hiddenFromMsg">意见不能为空</modal></view>
</form>
<view class="goods marUpTop"><text class="total">共{{totalNum}}条</text><view class="good" wx:for="{{goods}}" wx:key="id" wx:for-item="good"><image class="image" src="{{good.icon}}"></image><text class="name" style='width:{{windowWidth - 80}}px;'>{{good.name}}</text></view><text class="bottomLoad" bindtap='bottomLoad' hidden='{{initLoadDataNum < pageSize}}'>{{bottomLoadMsg}}</text>
</view>
<view class="swiper-tab">  <view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">未开始({{notStartTotalNums}})</view>  <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">进行中({{progressTotalNums}})</view>  <view class="swiper-tab-list {{currentTab==2 ? 'on' : ''}}" data-current="2" bindtap="swichNav">已结束({{doneTotalNums}})</view>  
</view> <swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{winHeight - 40}}px;" bindchange="bindChange">  <swiper-item>  <scroll-view  style="height: {{winHeight - 80}}px;" scroll-y><view wx:for="{{notStartDatas}}" wx:for-item="notStart" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{notStart.id}}" ><image bindtap="toTaskDetail" src="/images/notStart.png" class="icon" data-taskId="{{notStart.id}}"></image><text bindtap="toTaskDetail" style="width:{{winWidth - 140}}px;" class="name" data-taskId="{{notStart.id}}">{{notStart.name}}</text><button open-type="share" data-taskId="{{notStart.id}}" data-hookName="{{notStart.userName}}" type='primary' style="background-color: #265a88;" class='btn invite'>邀请</button><form bindsubmit='del' report-submit data-taskId="{{notStart.id}}"><button form-type='submit' type='primary' style="background-color: red;" class='btn delete'>删除</button></form></view> </view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{notStartCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{notStartCurPage}}/{{notStartTotalPage}}</text><image class="page" bindtap='downPage' src="{{notStartCurPage == notStartTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item><swiper-item>  <scroll-view  style="height: {{winHeight - 80}}px;" scroll-y><view wx:for="{{progressDatas}}" wx:for-item="progress" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{progress.id}}" bindtap="toTaskDetail"><image src="/images/doing.png" class="icon" data-taskId="{{progress.id}}"></image><text class="name" style="width:{{winWidth - 140}}px;" data-taskId="{{progress.id}}">{{progress.name}}</text><progress class="progress" data-taskId="{{progress.id}}" activeColor="{{progress.activeColor}}" percent="{{progress.progress}}" show-info="true" active/></view></view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{progressCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{progressCurPage}}/{{progressTotalPage}}</text><image class="page" bindtap='downPage' src="{{progressCurPage == progressTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item>  <swiper-item>  <scroll-view  style="height: {{winHeight - 80}}px;" scroll-y><view wx:for="{{doneDatas}}" wx:for-item="done" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{done.id}}"><image src="/images/done.png" class="icon" data-taskId="{{done.id}}" bindtap="toTaskDetail"></image><text style="width:{{winWidth - 95}}px;" class="name" data-taskId="{{done.id}}" bindtap="toTaskDetail">{{done.name}}</text><form bindsubmit='del' report-submit data-taskId="{{done.id}}"><button form-type='submit' type='primary' style="background-color: red;" class='btn delete'>删除</button></form></view> </view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{doneCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{doneCurPage}}/{{doneTotalPage}}</text><image class="page" bindtap='downPage' src="{{doneCurPage == doneTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item>  
</swiper>
<template name="normal"><view class="content-msg">{{msg}}</view>
</template>
<template name="apv"><view class="content-msg apv"><view class="apv-title">审批提醒</view><view class="apv-content">{{msg}}</view><view class="apv-do" data-id="{{id}}" data-attValue="{{attValue}}" bindtap="detail"><text>审批</text><image class="right-image" src="/images/right.png"/></view></view>
</template>
<template name="end"><view class="msg-end" style='width:{{windowWidth - 70}}px;'><image class="end-image" src="/images/{{attValue.suc ? 'success.png' : 'failure.png'}}"></image><view style="width:{{windowWidth - 145}}px;" class="end-msg">{{msg}}<text style="color:#5D718D;" data-id="{{attValue.id}}" bindtap='endDetail'> [详情]</text></view></view>
</template><view wx:if="{{isRefresh}}" class="fresh"><image src="/images/timer.gif" class="timer"></image>
</view>
<scroll-view  style="height: {{windowHeight}}px;" scroll-y  bindscroll="scroll" scroll-into-view="msgId_{{scrollInitId}}" bindtouchstart="start" bindtouchend="end" bindscrolltolower="hiddenDownBtn"><view class="msg-item" wx:for="{{msgs}}" wx:for-item="msg" wx:key="id" id="msgId_{{msg.id}}"><view><image src="{{msg.icon}}" class="msg-icon"></image></view><view class="msg-content"><text class="name-time" decode="true">{{msg.sendName}} {{msg.createTime}}</text><block wx:if="{{msg.type == 1}}"><template is="apv" data="{{...msg}}"/></block><block wx:elif="{{msg.type == 2}}"><template is="end" data="{{...msg, windowWidth}}"/></block><block wx:else><template is="normal" data="{{...msg}}"/></block></view></view><form bindsubmit='jumpToUpUnRead' report-submit><button class="toUpUnRead" form-type='submit' hidden='{{upBtnHidden}}'>☝ <text>{{unReadNum}}</text>条未读</button></form><form bindsubmit='jumpToDownUnRead' report-submit><button class="toDownUnRead" form-type='submit' hidden='{{downBtnHidden}}'>︾ <text>{{downUnReadNum}}</text>条未读</button></form>
</scroll-view>
<view class="swiper-tab"><view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">进行中({{progressTotalNums}})</view>  <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">已结束({{doneTotalNums}})</view>  
</view> <swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{winHeight - 40}}px" bindchange="bindChange">  <swiper-item><scroll-view  style="height: {{winHeight - 80}}px;" scroll-y>  <view wx:for="{{progressDatas}}" wx:for-item="progress" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{progress.id}}" bindtap="toTaskDetail"><image src="/images/doing.png" class="icon" data-taskId="{{progress.id}}"></image><text class="name" style="width:{{winWidth - 140}}px;" data-taskId="{{progress.id}}">{{progress.name}}</text><progress class="progress" data-taskId="{{progress.id}}" activeColor="{{progress.activeColor}}" percent="{{progress.progress}}" show-info="true" active/></view></view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{progressCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{progressCurPage}}/{{progressTotalPage}}</text><image class="page" bindtap='downPage' src="{{progressCurPage == progressTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item>  <swiper-item>  <scroll-view  style="height: {{winHeight - 80}}px;" scroll-y><view wx:for="{{doneDatas}}" wx:for-item="done" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{done.id}}" bindtap="toTaskDetail"><image src="/images/done.png" class="icon" data-taskId="{{done.id}}"></image><text class="name" style="width:{{winWidth - 55}}px;" data-taskId="{{done.id}}">{{done.name}}</text></view> </view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{doneCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{doneCurPage}}/{{doneTotalPage}}</text><image class="page" bindtap='downPage' src="{{doneCurPage == doneTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item>  
</swiper>
<view class="layout-column marUpTop" style="padding: 5px 15px;">拉钩创建成功,邀请Ta和你拉钩吧。<button open-type="share" type='primary' style="background-color: #265a88;width:100%;" size='default' class='marUpTop'>邀请</button>
</view>
<form bindsubmit="formSubmit" report-submit><view class="layout-column marUpTop"><textarea class="desc border" placeholder="请描述反馈意见" name="content" maxlength="1000"/><view class="marTop border"><button type="primary" size="default" style="background-color: #265a88;" formType="submit" disabled='{{disableBtn}}'>提交</button></view><modal hidden="{{formMsgHidden}}" title="提示" confirm-text="去完善" no-cancel="true" bindcancel="cancel" bindconfirm="hiddenFromMsg">意见不能为空</modal></view>
</form>
<view class="goods marUpTop"><text class="total">共{{totalNum}}条</text><view class="good" wx:for="{{goods}}" wx:key="id" wx:for-item="good"><image class="image" src="{{good.icon}}"></image><text class="name" style='width:{{windowWidth - 80}}px;'>{{good.name}}</text></view><text class="bottomLoad" bindtap='bottomLoad' hidden='{{initLoadDataNum < pageSize}}'>{{bottomLoadMsg}}</text>
</view>
<view class="swiper-tab">  <view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">未开始({{notStartTotalNums}})</view>  <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">进行中({{progressTotalNums}})</view>  <view class="swiper-tab-list {{currentTab==2 ? 'on' : ''}}" data-current="2" bindtap="swichNav">已结束({{doneTotalNums}})</view>  
</view> <swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{winHeight - 40}}px;" bindchange="bindChange">  <swiper-item>  <scroll-view  style="height: {{winHeight - 80}}px;" scroll-y><view wx:for="{{notStartDatas}}" wx:for-item="notStart" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{notStart.id}}" ><image bindtap="toTaskDetail" src="/images/notStart.png" class="icon" data-taskId="{{notStart.id}}"></image><text bindtap="toTaskDetail" style="width:{{winWidth - 140}}px;" class="name" data-taskId="{{notStart.id}}">{{notStart.name}}</text><button open-type="share" data-taskId="{{notStart.id}}" data-hookName="{{notStart.userName}}" type='primary' style="background-color: #265a88;" class='btn invite'>邀请</button><form bindsubmit='del' report-submit data-taskId="{{notStart.id}}"><button form-type='submit' type='primary' style="background-color: red;" class='btn delete'>删除</button></form></view> </view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{notStartCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{notStartCurPage}}/{{notStartTotalPage}}</text><image class="page" bindtap='downPage' src="{{notStartCurPage == notStartTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item><swiper-item>  <scroll-view  style="height: {{winHeight - 80}}px;" scroll-y><view wx:for="{{progressDatas}}" wx:for-item="progress" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{progress.id}}" bindtap="toTaskDetail"><image src="/images/doing.png" class="icon" data-taskId="{{progress.id}}"></image><text class="name" style="width:{{winWidth - 140}}px;" data-taskId="{{progress.id}}">{{progress.name}}</text><progress class="progress" data-taskId="{{progress.id}}" activeColor="{{progress.activeColor}}" percent="{{progress.progress}}" show-info="true" active/></view></view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{progressCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{progressCurPage}}/{{progressTotalPage}}</text><image class="page" bindtap='downPage' src="{{progressCurPage == progressTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item>  <swiper-item>  <scroll-view  style="height: {{winHeight - 80}}px;" scroll-y><view wx:for="{{doneDatas}}" wx:for-item="done" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{done.id}}"><image src="/images/done.png" class="icon" data-taskId="{{done.id}}" bindtap="toTaskDetail"></image><text style="width:{{winWidth - 95}}px;" class="name" data-taskId="{{done.id}}" bindtap="toTaskDetail">{{done.name}}</text><form bindsubmit='del' report-submit data-taskId="{{done.id}}"><button form-type='submit' type='primary' style="background-color: red;" class='btn delete'>删除</button></form></view> </view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{doneCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{doneCurPage}}/{{doneTotalPage}}</text><image class="page" bindtap='downPage' src="{{doneCurPage == doneTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item>  
</swiper>
<template name="normal"><view class="content-msg">{{msg}}</view>
</template>
<template name="apv"><view class="content-msg apv"><view class="apv-title">审批提醒</view><view class="apv-content">{{msg}}</view><view class="apv-do" data-id="{{id}}" data-attValue="{{attValue}}" bindtap="detail"><text>审批</text><image class="right-image" src="/images/right.png"/></view></view>
</template>
<template name="end"><view class="msg-end" style='width:{{windowWidth - 70}}px;'><image class="end-image" src="/images/{{attValue.suc ? 'success.png' : 'failure.png'}}"></image><view style="width:{{windowWidth - 145}}px;" class="end-msg">{{msg}}<text style="color:#5D718D;" data-id="{{attValue.id}}" bindtap='endDetail'> [详情]</text></view></view>
</template><view wx:if="{{isRefresh}}" class="fresh"><image src="/images/timer.gif" class="timer"></image>
</view>
<scroll-view  style="height: {{windowHeight}}px;" scroll-y  bindscroll="scroll" scroll-into-view="msgId_{{scrollInitId}}" bindtouchstart="start" bindtouchend="end" bindscrolltolower="hiddenDownBtn"><view class="msg-item" wx:for="{{msgs}}" wx:for-item="msg" wx:key="id" id="msgId_{{msg.id}}"><view><image src="{{msg.icon}}" class="msg-icon"></image></view><view class="msg-content"><text class="name-time" decode="true">{{msg.sendName}} {{msg.createTime}}</text><block wx:if="{{msg.type == 1}}"><template is="apv" data="{{...msg}}"/></block><block wx:elif="{{msg.type == 2}}"><template is="end" data="{{...msg, windowWidth}}"/></block><block wx:else><template is="normal" data="{{...msg}}"/></block></view></view><form bindsubmit='jumpToUpUnRead' report-submit><button class="toUpUnRead" form-type='submit' hidden='{{upBtnHidden}}'>☝ <text>{{unReadNum}}</text>条未读</button></form><form bindsubmit='jumpToDownUnRead' report-submit><button class="toDownUnRead" form-type='submit' hidden='{{downBtnHidden}}'>︾ <text>{{downUnReadNum}}</text>条未读</button></form>
</scroll-view>
<view class="swiper-tab"><view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">进行中({{progressTotalNums}})</view>  <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">已结束({{doneTotalNums}})</view>  
</view> <swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{winHeight - 40}}px" bindchange="bindChange">  <swiper-item><scroll-view  style="height: {{winHeight - 80}}px;" scroll-y>  <view wx:for="{{progressDatas}}" wx:for-item="progress" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{progress.id}}" bindtap="toTaskDetail"><image src="/images/doing.png" class="icon" data-taskId="{{progress.id}}"></image><text class="name" style="width:{{winWidth - 140}}px;" data-taskId="{{progress.id}}">{{progress.name}}</text><progress class="progress" data-taskId="{{progress.id}}" activeColor="{{progress.activeColor}}" percent="{{progress.progress}}" show-info="true" active/></view></view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{progressCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{progressCurPage}}/{{progressTotalPage}}</text><image class="page" bindtap='downPage' src="{{progressCurPage == progressTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item>  <swiper-item>  <scroll-view  style="height: {{winHeight - 80}}px;" scroll-y><view wx:for="{{doneDatas}}" wx:for-item="done" wx:key="id" wx:for-index="index"><view class="list" style="background-color:{{index % 2 == 0 ? '#F6F6F6' : '#ffffff'}}" data-taskId="{{done.id}}" bindtap="toTaskDetail"><image src="/images/done.png" class="icon" data-taskId="{{done.id}}"></image><text class="name" style="width:{{winWidth - 55}}px;" data-taskId="{{done.id}}">{{done.name}}</text></view> </view></scroll-view><view class="pageCmp"><image class="page" bindtap='upPage' src="{{doneCurPage == 1 ? '/images/up-grey.png' : '/images/up.png'}}"/><text class="page-no">{{doneCurPage}}/{{doneTotalPage}}</text><image class="page" bindtap='downPage' src="{{doneCurPage == doneTotalPage ? '/images/down-grey.png' : '/images/down.png'}}"/></view></swiper-item>  
</swiper>
<view class="layout-column marUpTop" style="padding: 5px 15px;">拉钩创建成功,邀请Ta和你拉钩吧。<button open-type="share" type='primary' style="background-color: #265a88;width:100%;" size='default' class='marUpTop'>邀请</button>
</view>
<form bindsubmit="formSubmit" report-submit><view class="layout-column marUpTop"><textarea class="desc border" placeholder="请描述反馈意见" name="content" maxlength="1000"/><view class="marTop border"><button type="primary" size="default" style="background-color: #265a88;" formType="submit" disabled='{{disableBtn}}'>提交</button></view><modal hidden="{{formMsgHidden}}" title="提示" confirm-text="去完善" no-cancel="true" bindcancel="cancel" bindconfirm="hiddenFromMsg">意见不能为空</modal></view>
</form>

6.PPT展示

这篇关于【实训项目】“优品果园”-线上水果商城小程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/217801

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element