questionnaireFill.vue 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. <template>
  2. <view class="default_page adffc" :style="{'height':h+'px', 'padding-top':mt+'px'}">
  3. <cus-header title='填写问卷'></cus-header>
  4. <view class="top">
  5. <view class="top-title">{{'GW+MC PREILL36测评题库版本'}}</view>
  6. <view class="top-progress adfac">
  7. <view class="top-progress-text">测评进度</view>
  8. <view class="top-progress-box">
  9. <view class="top-progress-box-current" :style="{'width':(2/36*100)+'%'}"></view>
  10. </view>
  11. <view class="top-progress-num"><span>{{2}}</span>/{{36}}</view>
  12. </view>
  13. </view>
  14. <view class="memo adfac" v-if="type==='questionnaire'" @click="noticeShow=true">
  15. <text>问卷答题说明</text>
  16. <image :src="imgBase+'icon_memo.png'"></image>
  17. </view>
  18. <view class="list">
  19. <question-item v-for="(item,index) in list" :key="index" :item="item"></question-item>
  20. </view>
  21. <view class="bottom adfacjb">
  22. <view class="bottom-left adffcac" @click="teamShow=true" v-if="!type">
  23. <image :src="imgBase+'questionnaire_info.png'"></image>
  24. <text>团队信息</text>
  25. </view>
  26. <view class="bottom-left adfac" v-else-if="type==='questionnaire'">
  27. <view class="bottom-left-pre adffcac" @click="teamShow=true">
  28. <image :src="imgBase+'questionnaire_info.png'"></image>
  29. <text>团队信息</text>
  30. </view>
  31. <view class="bottom-left-pre adffcac" @click="userShow=true">
  32. <image :src="imgBase+'questionnaire_users.png'"></image>
  33. <text>团队人员</text>
  34. </view>
  35. </view>
  36. <view class="bottom-right" :class="{'questionnaire':type==='questionnaire'}" @click="confirmSubmit">提交问卷</view>
  37. </view>
  38. <cus-notice title="问卷答题说明" :show="noticeShow" :content="noticeContent"
  39. @close="noticeShow=false" @handleKnow="noticeShow=false"></cus-notice>
  40. <cus-team-info :show="teamShow" :teamInfo="teamInfo" @close="teamShow=false"></cus-team-info>
  41. <cus-team-user :show="userShow" :list="teamUserList" @close="userShow=false"></cus-team-user>
  42. </view>
  43. </template>
  44. <script>
  45. import QuestionItem from '@/components/QuestionItem/index3.vue'
  46. import CusNotice from '@/components/CusNotice/index.vue'
  47. import CusTeamInfo from '@/components/CusTeamInfo/index.vue'
  48. import CusTeamUser from '@/components/CusTeamUser/index.vue'
  49. export default {
  50. components:{ CusNotice, QuestionItem, CusTeamInfo, CusTeamUser },
  51. data(){
  52. return {
  53. type:'',
  54. questionnaireId:'',
  55. noticeShow:false,
  56. noticeContent:`问卷答题说明<br/><br/>问卷答题说明<br/><br/>问卷答题说明<br/><br/>问卷答题说明`,
  57. teamShow:false,
  58. userShow:false,
  59. teamUserList:[],
  60. list:[
  61. {
  62. question:'我们的团队成员可以清晰阐述团队的共享目的 We can collectively and clearly articulate our shared purpose',
  63. userAnswer:[
  64. {
  65. assessmentMethod:1,
  66. answer:'',
  67. questionOption:[
  68. { questionOption:'1-强烈不同意(Strongly disagree)' },
  69. { questionOption:'2-不同意(Disagree)' },
  70. { questionOption:'3-中立(Neutral)' },
  71. { questionOption:'4-同意(Agree)' },
  72. { questionOption:'5-完全同意(Totally agree)' }
  73. ]
  74. },
  75. {
  76. assessmentMethod:2,
  77. answer:'',
  78. questionOption:[
  79. { questionOption:'1-强烈不同意(Strongly disagree)' },
  80. { questionOption:'2-不同意(Disagree)' },
  81. { questionOption:'3-中立(Neutral)' },
  82. { questionOption:'4-同意(Agree)' },
  83. { questionOption:'5-完全同意(Totally agree)' }
  84. ]
  85. },
  86. ]
  87. }
  88. ],
  89. teamInfo:{
  90. aaa:'',
  91. bbb:'',
  92. ccc:'',
  93. ddd:'',
  94. eee:'',
  95. fff:'',
  96. ggg:'',
  97. hhh:'',
  98. iii:'',
  99. }
  100. }
  101. },
  102. onLoad(options) {
  103. this.type = options.type;
  104. this.questionnaireId = options.questionnaireId;
  105. },
  106. methods:{
  107. confirmSubmit(){
  108. let url = '/pagesPublish/questionnaireResult'
  109. if(this.type === 'questionnaire') url = '/pagesPublish/submitResult'
  110. uni.navigateTo({ url })
  111. }
  112. }
  113. }
  114. </script>
  115. <style scoped lang="scss">
  116. .default_page{
  117. padding: 0 0 192rpx;
  118. background: #FFFFFF;
  119. box-sizing: border-box;
  120. .top{
  121. padding: 40rpx 24rpx 50rpx;
  122. &-title{
  123. font-family: PingFang-SC, PingFang-SC;
  124. font-weight: bold;
  125. font-size: 40rpx;
  126. color: #002846;
  127. line-height: 51rpx;
  128. }
  129. &-progress{
  130. margin-top: 35rpx;
  131. &-text{
  132. font-family: PingFangSC, PingFang SC;
  133. font-weight: 400;
  134. font-size: 30rpx;
  135. color: #002846;
  136. line-height: 30rpx;
  137. }
  138. &-box{
  139. flex: 1;
  140. width: 100%;
  141. height: 14rpx;
  142. margin: 0 20rpx;
  143. background: #F0F2F8;
  144. border-radius: 8rpx;
  145. position: relative;
  146. &-current{
  147. height: 14rpx;
  148. background: #FFD750;
  149. border-radius: 8rpx;
  150. position: absolute;
  151. left: 0;
  152. top: 0;
  153. }
  154. }
  155. &-num{
  156. font-family: PingFangSC, PingFang SC;
  157. font-weight: 400;
  158. font-size: 26rpx;
  159. color: #667E90;
  160. line-height: 26rpx;
  161. span{
  162. font-size: 36rpx;
  163. color: #199C9C;
  164. line-height: 36rpx;
  165. }
  166. }
  167. }
  168. }
  169. .memo{
  170. margin: -20rpx 0 50rpx 24rpx;
  171. text{
  172. font-family: PingFangSC, PingFang SC;
  173. font-weight: 400;
  174. font-size: 24rpx;
  175. color: #BA9B31;
  176. line-height: 30rpx;
  177. }
  178. image{
  179. width: 24rpx;
  180. height: 24rpx;
  181. margin-left: 9rpx;
  182. }
  183. }
  184. .list{
  185. flex: 1;
  186. padding: 0 24rpx;
  187. overflow-y: auto;
  188. }
  189. .bottom{
  190. width: 100%;
  191. background: #FFFFFF;
  192. box-shadow: 0rpx -2rpx 6rpx 0rpx rgba(0,0,0,0.07);
  193. padding: 20rpx 40rpx 54rpx;
  194. box-sizing: border-box;
  195. position: fixed;
  196. left: 0;
  197. bottom: 0;
  198. z-index: 1000;
  199. &-left{
  200. image{
  201. width: 42rpx;
  202. height: 42rpx;
  203. }
  204. text{
  205. font-family: PingFangSC, PingFang SC;
  206. font-weight: 400;
  207. font-size: 24rpx;
  208. color: #536387;
  209. line-height: 40rpx;
  210. margin-top: 2rpx;
  211. }
  212. &-pre{
  213. &:last-child{
  214. margin-left: 40rpx;
  215. }
  216. }
  217. }
  218. &-right{
  219. width: 448rpx;
  220. height: 88rpx;
  221. background: linear-gradient( 90deg, #33A7A7 0%, #64BBBB 100%);;
  222. border-radius: 44rpx;
  223. font-family: PingFang-SC, PingFang-SC;
  224. font-weight: bold;
  225. font-size: 32rpx;
  226. color: #FFFFFF;
  227. line-height: 88rpx;
  228. text-align: center;
  229. letter-spacing: 2rpx;
  230. &.questionnaire{
  231. width: 383rpx;
  232. }
  233. }
  234. }
  235. }
  236. </style>