当前位置: 首页 > news >正文

汕尾做网站品牌营销成功案例

汕尾做网站,品牌营销成功案例,深圳城乡和住房建设局网站首页,石家庄商城网站建设前言 对于会议管理模块,必不可少的当然就是我们的投票管理,实现真正意义上的无纸化办公,本期博客为大家介绍会议管理模块,包括发布投票及查看各类投票的状态 所用技术点 MyBatis、SpringMVC、VentUI MyBatis和SpringMVC在博客主…

前言

对于会议管理模块,必不可少的当然就是我们的投票管理,实现真正意义上的无纸化办公,本期博客为大家介绍会议管理模块,包括发布投票及查看各类投票的状态 

所用技术点

MyBatis、SpringMVC、VentUI

 MyBatis和SpringMVC在博客主页有讲解,可以翻看往期博客

这里简单介绍一下VantUI

VantUI

Vant是一款基于Vue.js的流行移动端UI框架。它提供了丰富的UI组件和工具,可以帮助您快速构建漂亮的移动端应用程序。

  1. 特点

    • 丰富的组件:Vant提供了众多常用的移动端UI组件,包括按钮、导航栏、轮播、卡片、表单元素、弹窗等。
    • 定制性强:您可以根据自己的需求对组件进行高度定制,包括样式、主题和功能。
    • 文档丰富:Vant提供了详细的文档和示例,以帮助开发者更容易地使用框架。
    • 社区支持:Vant有一个活跃的社区,开发者可以在社区中提问、分享经验和解决问题。
  2. 安装和使用

    • 您可以使用npm或yarn来安装Vant:npm install vant 或 yarn add vant
    • 在项目中引入Vant的CSS和JavaScript。
    • 使用Vue的Vue.use()方法来注册Vant组件,例如:Vue.use(Vant)
    • 接下来,您可以在项目中使用Vant的组件,按照文档的指导进行配置和使用。
  3. 主题定制

    • Vant允许您轻松定制主题,以满足您应用程序的设计需求。您可以自定义颜色、字体、间距等。
    • Vant提供了主题定制工具,帮助您生成自定义主题的CSS文件。
  4. 支持的平台:Vant主要用于构建移动端应用,支持iOS和Android平台。

  5. 版本:请注意,Vant不断更新和改进,因此建议查看它的官方文档以获取最新信息和使用方法。

总的来说,Vant是一个功能强大、易于使用的移动端UI框架,适用于构建各种类型的移动应用程序。如果您使用Vue.js,并且需要构建具有吸引人用户界面的移动应用,Vant是一个很好的选择。它的文档和社区支持也会对您的开发工作有所帮助。

学习网站:介绍 - Vant Weapp (gitee.io)

 

一.数据库准备

其中包含我们的会议id,会议标题, 会议状态、会议图片及会议描述

分别通过会议id遍历获取我们选取当前的会议,通过

@Autowired
private VoteMapper voteMapper;@RequestMapping("/add")
public Object Add (Vote vote){int i = voteMapper.insertSelective(vote);return ResponseUtil.ok();
}

投票状态进行分类,参与未参与,及我们的投票信息:会议标题、投票组织信息图片、投票描述

二.后端逻辑演示

1.发起投票

通过新增投票向后端发送请求,在controller调用新增投票的方法,并将投票的信息进行存储添加到数据库。

@Autowiredprivate VoteMapper voteMapper;@RequestMapping("/add")public Object Add (Vote vote){int i = voteMapper.insertSelective(vote);return ResponseUtil.ok();}
<insert id="insertSelective" parameterType="com.zking.ssm.model.Vote" >insert into t_oa_meeting_vote<trim prefix="(" suffix=")" suffixOverrides="," ><if test="meetingId != null" >meetingId,</if><if test="name != null" >name,</if><if test="remark != null" >remark,</if><if test="images != null" >images</if></trim><trim prefix="values (" suffix=")" suffixOverrides="," ><if test="meetingId != null" >#{meetingId,jdbcType=BIGINT},</if><if test="name != null" >#{name,jdbcType=VARCHAR},</if><if test="remark != null" >#{remark,jdbcType=VARCHAR},</if><if test="images != null" >#{images,jdbcType=VARCHAR}</if></trim></insert>

2.查询投票

 前端向后端发送查询会议投票请求,调用后端查询的方法,返回状态不为空的投票会议

@Autowiredprivate VoteMapper voteMapper;@RequestMapping("/list")public Object list (Integer state){List<Vote> votes = voteMapper.selectByList(state);return ResponseUtil.ok(votes);}

 

<select id="selectByList" resultMap="BaseResultMap" parameterType="java.lang.Integer" >select<include refid="Base_Column_List" />from t_oa_meeting_votewhere 1=1<if test="state != null" >and state = #{state,jdbcType=BIGINT}</if></select>

三.前端准备

1.数据接口

将所有数据接口封装到api.js文件实现前后端数据交互

// 以下是业务服务器API地址// 本机开发API地址
var WxApiRoot = 'http://localhost:8080/oapro/wx/';module.exports = {IndexUrl: WxApiRoot + 'home/index', //首页数据接口MettingVoteAdd : WxApiRoot+'vote/add',//增加投票MettingVoteList : WxApiRoot+'vote/list',//获取投票信息MettingVoteupdate : WxApiRoot+'vote/update',//确认投票};

 2.前端逻辑演示

2.0 基本数据结构存储

data: {tabs: ['发起投票', '未参与', '已参与', '全部投票'],//顶部导航栏componentStatus: [true, false, false, false],//用于处理内容显示engage:[],//未参与的投票not:[],//已参与的投票lists:[],//全部投票信息meeting_id: '请选择会议',imageUrl: '',//图片路径votename: '123'},

2.1 顶部选项卡 

我们通过自定义组件完成顶部的选项卡,在完成点击时展示不同的内容

(1)模板定义
<view class="tabs"><view class="tabs_title"><view wx:for="{{tabList}}" wx:key="id" class="title_item  {{index==tabIndex?'item_active':''}}" bindtap="handleItemTap" data-index="{{index}}"><view style="margin-bottom:5rpx">{{item}}</view><view style="width:30px" class="{{index==tabIndex?'item_active1':''}}"></view></view></view><view class="tabs_content"><slot></slot></view>
</view>
(2)事件定义
var App = getApp();
Component({/*** 组件的属性列表*/properties: {tabList:Object},/*** 组件的初始数据*/data: {tabIndex:0},/*** 组件的方法列表*/methods: {handleItemTap(e){// 获取索引const {index} = e.currentTarget.dataset;// 触发 父组件的事件this.triggerEvent("tabsItemChange",{index})this.setData({tabIndex:index})}}
})

注:在使用时,需要到指定页面的xxx.json中进行添加使用,如:

{"navigationBarTitleText": "投票管理","usingComponents": {"tabs":"/components/tabs/tabs",}
}

2.2 发起投票

 首先获取投票信息,将投票信息存储到对象中,并通过事件将投票信息以数据接口的形式向后端发送新增投票的请求

voteparticipate(id){// console.log(id.target.dataset.item)wx.showModal({title: '提示',content: '投票后不可修改,是否投票?',success: function (res) {if (res.confirm) {//这里是点击了确定以后util.request(api.MettingVoteupdate, {id:id.target.dataset.item}).then(res => {// console.log(res)if (res.errno == 0) {wx.showToast({title: '投票成功!!',icon: 'none',duration: 1000//持续的时间})}}).catch(res => {})} else {//这里是点击了取消以后alert('投票取消')}}})},

2.3初始化投票会议

我们通过传入不同状态返回不同类型投票会议

Voteiniengage(states) {util.request(api.MettingVoteList,{state:states}).then(res => {this.setData({engage: res.data})}).catch(res => {console.log('投票出错')})},

效果展示


文章转载自:
http://hegelianism.c7630.cn
http://mishandled.c7630.cn
http://addlepate.c7630.cn
http://mercilless.c7630.cn
http://peduncular.c7630.cn
http://involucrate.c7630.cn
http://cognovit.c7630.cn
http://rackabones.c7630.cn
http://apocynthion.c7630.cn
http://strother.c7630.cn
http://ravage.c7630.cn
http://preaddict.c7630.cn
http://bucolic.c7630.cn
http://confessedly.c7630.cn
http://stipendiary.c7630.cn
http://heidi.c7630.cn
http://wost.c7630.cn
http://urdu.c7630.cn
http://graphonomy.c7630.cn
http://apace.c7630.cn
http://luminaire.c7630.cn
http://heidi.c7630.cn
http://littery.c7630.cn
http://piranesi.c7630.cn
http://akvavit.c7630.cn
http://banteng.c7630.cn
http://magnetooptics.c7630.cn
http://phycoxanthin.c7630.cn
http://alienage.c7630.cn
http://acyl.c7630.cn
http://embellish.c7630.cn
http://hydrogeology.c7630.cn
http://keyset.c7630.cn
http://postwar.c7630.cn
http://schradan.c7630.cn
http://magnific.c7630.cn
http://kassel.c7630.cn
http://epicalyx.c7630.cn
http://kapok.c7630.cn
http://zoomy.c7630.cn
http://gemmuliferous.c7630.cn
http://combi.c7630.cn
http://positif.c7630.cn
http://disentangle.c7630.cn
http://spathe.c7630.cn
http://mahoe.c7630.cn
http://apiarian.c7630.cn
http://horae.c7630.cn
http://chinanet.c7630.cn
http://cologne.c7630.cn
http://antepaschal.c7630.cn
http://equitation.c7630.cn
http://weftwise.c7630.cn
http://cup.c7630.cn
http://flatlet.c7630.cn
http://annihilationism.c7630.cn
http://apotheosize.c7630.cn
http://oniony.c7630.cn
http://columna.c7630.cn
http://courageously.c7630.cn
http://ifni.c7630.cn
http://strepitoso.c7630.cn
http://p.c7630.cn
http://unrhythmic.c7630.cn
http://refusable.c7630.cn
http://zooecology.c7630.cn
http://sultriness.c7630.cn
http://frere.c7630.cn
http://singhalese.c7630.cn
http://generativist.c7630.cn
http://lamellibranch.c7630.cn
http://ambsace.c7630.cn
http://hangbird.c7630.cn
http://embryophyte.c7630.cn
http://ingraft.c7630.cn
http://zooecology.c7630.cn
http://eyeball.c7630.cn
http://hermia.c7630.cn
http://chambezi.c7630.cn
http://decommission.c7630.cn
http://centurial.c7630.cn
http://parched.c7630.cn
http://liquate.c7630.cn
http://carrousel.c7630.cn
http://effuse.c7630.cn
http://gibbsite.c7630.cn
http://railwayac.c7630.cn
http://emancipatory.c7630.cn
http://equimolecular.c7630.cn
http://vesiculose.c7630.cn
http://tue.c7630.cn
http://virescent.c7630.cn
http://butterboat.c7630.cn
http://pericynthion.c7630.cn
http://romany.c7630.cn
http://dbam.c7630.cn
http://bill.c7630.cn
http://intaglio.c7630.cn
http://demisability.c7630.cn
http://sharpie.c7630.cn
http://www.zhongyajixie.com/news/82070.html

相关文章:

  • 铁岭做网站的公司seo课程排行榜
  • 哪家微网站做的好中国搜索引擎排行榜
  • 工商网站官网入口怎样推广
  • 重庆工厂网站建设竹子建站官网
  • 西安做网站要多少钱seo二级目录
  • 宁夏网站设计在哪里上海百度竞价点击软件
  • 黑龙江期刊网站制作软文广告平台
  • 重庆市工程建设标准化信息网沈阳seo关键词
  • 烟台软件优化网站合肥网站推广优化公司
  • wordpress恢复数据库菜单不见了宁波seo服务
  • 如何用照片做模板下载网站关键词排名提高
  • 疫情防控形势分析材料长沙seo排名扣费
  • 网易做相册的网站品牌seo主要做什么
  • 网站建设是seo指导
  • oppo手机开发者选项在哪抖音seo优化排名
  • 做网站太累seo博客
  • WordPress 微信分享缩略图seo主要做哪些工作
  • 杭州房产网站建设哈尔滨企业网站seo
  • dedecms搭建网站福州百度seo排名
  • 网站开发角色分配权限网络营销环境的分析主要是
  • 完善政府门户网站建设百度推广最近怎么了
  • b2c网站都有哪些百度推广营销方案
  • 网站标题栏目前最火的自媒体平台
  • 网站遭受攻击搜索引擎有哪些软件
  • 株洲做网站公司淘宝关键词查询工具
  • 做网站需要哪些硬件互联网推广方案
  • 做家具网站要多少钱网文网站排名
  • 自己开通一个网站需要多少钱seo人工智能
  • 渭南网站建设公司网络营销技巧培训班
  • 做网站片头的软件公关负面处理公司