目录

工作日志与问卷

一、工作日志

1.1工作日志

1.2创建/修改工作日志

1.3删除日志

二、问卷

2.1设计问卷

2.2填写问卷


工作日志与问卷

我负责工作日志和问卷相关的样式设计,与后端数据库的交互交由队长负责。

一、工作日志

1.1工作日志

左边包括时间、编辑与删除按钮,右部分包括标题和详细内容。

部分样式如下,及效果图。

<view class="main"><view class="log" v-for="(item,index) in userList" :key="index"><view><view class="time">{{item.time}}</view><view class="btn"><view class="edit-btn" @tap="editlog(item.id,item.title,item.details)">编辑</view><view class="delete-btn" @tap="deletelog(item.id)">删除</view></view></view><view class="log-content"><view class="title">{{item.title}}</view><view class="details">{{item.details}}</view></view></view>
</view>.log-content{margin-top: 20rpx;.title{padding-left: 10rpx;border-left: 3px solid $uni-color-success;font-size: 40rpx;font-weight: 600;}.details{margin-top:10rpx;padding-left: 10rpx;border-left: 3px dotted $uni-color-success;display: flex;align-items: center;padding-bottom: 20rpx;font-size: 34rpx;margin-right: 20rpx;text-indent:2em;border-bottom: 1px solid $uni-border-color;}
}

1.2创建/修改工作日志

通过右上角添加日志的按钮和每个日志左边的的编辑按钮,会向创建/修改日志传递不同参数,加载时据此展示不同界面:

onLoad:function(e){console.log(e);this.logid=e.logid;this.userid = e.userid;if(this.logid > 0){this.logTitle=e.logTitle;this.logContent=e.logContent;}
},

主界面用uni组件简单布置了标题和内容:

<view class="main" ><uni-forms labelPosition="top"><uni-forms-item label="标题"><uni-easyinput v-model="logTitle" placeholder="请输入标题" /></uni-forms-item><uni-forms-item label="内容" ><uni-easyinput type="textarea" v-model="logContent" placeholder="请输入内容" /></uni-forms-item></uni-forms><view class="logconfirm"><view class="confirm-btn" @tap="logconfirm">确 定</view></view>
</view>
.main{padding-top: 88rpx;padding-left: 20rpx;padding-right: 20rpx;.logconfirm{display: flex;justify-content: center;width: 100%;font-size: 40rpx;color:white;.confirm-btn{padding: 10rpx 20rpx 10rpx 20rpx;background-color: $uni-color-success;border-radius: 30rpx;}}
}

1.3删除日志

点击删除按钮弹出提示框,点击确认后调用相应函数进行删除。

<view><uni-popup ref="deleteConfirmAsk" type="dialog"><uni-popup-dialog type="error" cancelText="取消" confirmText="确认" content="确认删除?" @confirm="deleteConfirm"></uni-popup-dialog></uni-popup>
</view>deletelog:function(id){this.$refs.deleteConfirmAsk.open();this.logidToDel=id;},

二、问卷

2.1设计问卷

根据项目内对问卷数据的设计,在首行放置了三个按钮点击添加相应题型,并可以增加、删除题目和选项,其中选择题选项至少要有两个,故当选项数量不大于2时,选项的“删除”按钮不出现。

<view class="choose" v-if="item.type!='Input'"><view class="title"><view class="questionid" v-if="item.type=='Radio'">{{index+1}}(单选)</view><view class="questionid" v-if="item.type=='Checkbox'">{{index+1}}(多选)</view><input placeholder="请输入题目" class="quextiontext"  v-model="item.text"></input><view class="deletequestion" @tap="deletequestion(index)">删除</view></view><view class="options" v-for="(optionitem,optionindex) in item.optionList" :key="optionindex"><input :placeholder="'请输入选项'+(optionindex+1)+'描述'" class="optiontext" v-model="optionitem.text"></input><view class="addoption" v-if="optionindex==item.optionList.length-1" @tap="addoption(index)">新增</view><view class="deleteoption" v-if="item.optionList.length>2" @tap="deleteoption(index,optionindex)">删除</view></view>
</view>

2.2填写问卷

考虑到问卷填写者的便利性,新建一个网页项目用以填写问卷。调用了uniapp的radio、checkbox和textarea组件。

 <view class="content"><view class="box-bg"><uni-nav-bar shadow left-icon="left" title="问卷填写" /></view><view class="questionnaireName">{{name}}</view><view v-for="(item,index) in questions" :key="index"><view class="choose" v-if="item.type=='Radio'"><view class="title"><view class="questionid" >{{index+1}}(单选)</view><view class="quextiontext"><view>{{item.text}}</view></view></view><radio-group @change="radioChange($event,index)"><label class="uni-list-cell" v-for="(optionitem,optionindex) in item.options" :key="optionindex" ><view><radio :value="optionitem.text"/></view><view>{{optionitem.text}}</view></label></radio-group></view><view class="choose" v-if="item.type=='Checkbox'"><view class="title"><view class="questionid">{{index+1}}(多选)</view><view class="quextiontext"><view>{{item.text}}</view></view></view><view class="uni-list"><checkbox-group @change="checkboxChange($event,index)"><label class="uni-list-cell" v-for="(optionitem,optionindex) in item.options" :key="optionindex"><view><checkbox :value="optionitem.text"/></view><view>{{optionitem.text}}</view></label></checkbox-group></view></view><view class="input" v-if="item.type=='Input'"><view class="title"><view class="questionid">{{index+1}}(主观)</view><view class="quextiontext">{{item.text}}</view></view><view class="textarea"><textarea placeholder="请输入答案" @input="inputChange($event,index)"/></view></view></view><view class="submit-btn" @tap="confirmQ"><view class="text">提交</view></view></view>
radioChange: function(e,index) {this.questions[index].answer=[];let ans = {content:e.detail.value,}this.questions[index].answer.push(ans);
},
checkboxChange: function(e,index) {this.questions[index].answer=[];for(let i=0;i<e.detail.value.length;i++){let ans = {content:e.detail.value[i],}this.questions[index].answer.push(ans);}
},
inputChange:function(e,index){this.questions[index].answer=[];let ans = {content:e.detail.value,}this.questions[index].answer.push(ans);
},
.questionnaireName{font-size: 50rpx;padding:10rpx 40rpx 10rpx 40rpx;text-align: center;
}.choose{padding: 10rpx 10rpx 20rpx 10rpx;border: 2px solid $uni-border-color;margin:20rpx 20rpx 10rpx 20rpx;.title{.questionid{text-align: center;width:120rpx;}.quextiontext{text-indent:2em;margin-left: 20rpx;}     }.options{padding-left: 30rpx;margin-top: 10rpx;display: flex;.optionid{padding-right: 20rpx;}}
}
.checkbox-btn{justify-content: flex-start;
}
.input{padding: 10rpx 10rpx 20rpx 10rpx;border: 2px solid $uni-border-color;margin:20rpx 20rpx 10rpx 20rpx;.title{.questionid{text-align: center;width:120rpx;}.quextiontext{text-indent:2em;margin-left: 20rpx;}       }.textarea{margin:10rpx 20rpx 0rpx 20rpx;padding: 10rpx 10rpx 10rpx 10rpx;border: 1px solid $uni-border-color;}input{width:100%;border-bottom: 1px solid grey;}
}

创新实训——飞讯(十)相关推荐

  1. 山东大学软件学院创新实训——飞讯(十二)

    目录 一.目标概述 二.功能设计与实现 问卷首页 (1)界面设计 (2)功能实现 问卷详情页 (1)界面设计 (2)功能实现 问卷二维码 (1)界面设计 (2)功能实现 回答详情 (1)界面设计 (2 ...

  2. 山东大学软件学院创新实训——飞讯(四)

    目录 一.目标概述 二.腾讯云im第三方回调 二.回调分类 三.回调示例 1.请求url 2.请求包示例 3.应答包示例 四.回调的保存 1.分析 2.实体类 3.controller层 4.serv ...

  3. 山东大学软件学院创新实训——飞讯(一)

    目录 一.项目介绍 二.docker的安装 1.服务器的配置 2.安装需要的包 3.添加GPG密匙,并添加Docker-ce软件源 4.安装Docker-ce 5.测试运行 6.添加当前用户到 doc ...

  4. 山东大学软件学院创新实训——飞讯(六)

    目录 一.突如起来的变化及内部调整 二.uni-app的学习 三.uni-app的搭建 登录界面 (1)界面设计 (2)核心代码 注册界面 (1)界面设计 (2)核心代码 四.总结 一.突如起来的变化 ...

  5. 山东大学软件学院创新实训——飞讯(八)

    目录 一.目标概述 二.功能设计与实现 搜索好友 (1)界面设计 (2)功能实现 消息发送组件 (1)发送消息界面概览 (2)功能实现 三.总结 一.目标概述 经过前面对uniapp的学习和飞讯项目的 ...

  6. 创新实训——飞讯(一)

    一.项目简介 飞讯是一款为使小型团队作业更加便捷而设计的软件,包括单聊.群聊等功能.本人负责Windows端的开发. 二.第一周工作 采用QT开发,故第一周学习QT相关UI知识,包括可视化UI设计.代 ...

  7. 山东大学软件学院创新实训——飞讯(十)

    目录 一.目标概述 二.功能设计与实现 1.配置配置文件 2.编写后端代码 3.前端代码 三.总结 一.目标概述 这一次项目实施的目的是实现图片的上传和url的生成,因此,主要是前端上传图片代码和后端 ...

  8. 创新实训——飞讯(二)

    因计划调整缘故,可直接从(五)看起. 目录 一.设计登录.注册界面 二.实现登录注册功能 一.设计登录.注册界面 利用所学的QT知识,利用可视化设计了一个基础的界面: 由于QT窗口自带一个较为丑陋的边 ...

  9. 创新实训——飞讯(四)

    由于组内人员调动原因,组长找了一个可以实现web.小程序.Android.ios的跨平台运行的框架uni-app,考虑到便利性,移动端的制作很重要,且该框架可以实现较多运行方式,考虑到时间因素和经验因 ...

最新文章

  1. 详解Java中的注解
  2. Nun Heh Heh Aaaaaaaaaaa 字符串,dp
  3. mysql统计同一字段重复的个数
  4. c ++产生不同的随机数_C ++程序生成随机密码
  5. python编程代码执行漏洞_代码执行漏洞 - 安全先师的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. P4859 已经没有什么好害怕的了
  7. 2021新书—《Python机器学习算法与实战》
  8. 无法定位程序输入点K32Get Module File Name Ex于动态链接库KERNEL32.dll上 的错误解析
  9. Android系统-MTK_android12默认横屏
  10. 猜字游戏的各种玩法(附详细源码+演示结果),你都玩过吗?
  11. vue图片裁剪功能的实现
  12. Barefoot Networks进军白盒市场
  13. 自己开发的网页嵌入到飞书后不能右键进行复制粘贴的解决方案
  14. 最近计算机速度测试情况,WiFi速度测试测试测试互联网速度多少兆字节
  15. 无法搜索到对方电脑共享的文件
  16. AI大模型加持,生成式搜索来了!
  17. Python 常用的标准库以及第三方库
  18. ft232h引脚_FT1248开发笔记
  19. 哈工大计组大作业-RISC处理器设计
  20. java随堂练习06,编写猜字游戏

热门文章

  1. 自定义java Pageable分页对象
  2. 网页php如何判断登录手机串号_php判断手机段登录,以及phpcms手机PC双模板调用...
  3. 联讯证券宏观及固定收益高等剖析师
  4. Mac终端下出现bogon的解决方案
  5. 57岁大妈别样的套路,开超市竟然去卖袋子?这点子让人佩服!
  6. 超市3D无人收银机来了,别人刷脸买单,你还在傻傻排队吗?
  7. 危机公关的整个流程是怎样的?
  8. 苹果地图设置途经点_如何设置苹果地图以避免通行费和高速公路
  9. 必看!女生走路如何变得有气质
  10. visual studio——快速折叠所有代码和展开所有代码