learningProcess.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. <template>
  2. <!-- 学习流程 -->
  3. <view class="myComRoot df fdc xxlc-body">
  4. <view class="topTitle-box df jcc">
  5. <view class="topTitle-box2 df fdr">
  6. <view class="topTitle df fdr aic" v-for="(title,titleI) in titleList" :key="titleI">
  7. <view class="df fdc aic" @click="onClick_title(titleI)">
  8. <view class="df topTitle-icon">
  9. <img :src="titleI<=checkedIndex?title.icon_checked:title.icon_unchecked"></img>
  10. </view>
  11. <view :class="'topTitle-text-'+(titleI<=checkedIndex?'checked':'unchecked')">{{title.text}}</view>
  12. </view>
  13. <view class="topTitle-line" v-show="titleI!=titleList.length-1">
  14. <img :src="titleI<checkedIndex?titleLine_checked:titleLine_unchecked"></img>
  15. </view>
  16. </view>
  17. </view>
  18. </view>
  19. <view class="xxlc-line"></view>
  20. <view class="xxlc-content df fdc aic">
  21. <view class="xxlc-content-title">流程步骤</view>
  22. <!-- 内容 -->
  23. <view class="df fdc">
  24. <view class="xxlc-content-box" v-for="(data,dataI) in data_XXLC[checkedIndex].content" :key="dataI">
  25. <view class="xxlc-content-box2">
  26. <view class="xxlc-content-box3" v-for="(content,contentI) in data" :key="contentI">
  27. <!-- 文字 -->
  28. <view v-show="content.type=='text'">
  29. <text v-for="(text,textI) in content.textList" :key="textI" :class="'xxlc-text-'+text.textType">
  30. {{text.text}}
  31. </text>
  32. </view>
  33. <!-- 图片 -->
  34. <view class="xxlc-pic df jcc" v-show="content.type=='pic'">
  35. <img :src="content.src"></img>
  36. </view>
  37. </view>
  38. </view>
  39. </view>
  40. </view>
  41. </view>
  42. <view class="xxlc-btn-box df fdr jcc">
  43. <view class="xxlc-btn df jcc aic" v-show="checkedIndex>0" @click="onClick_last">上一模块</view>
  44. <view class="xxlc-btn df jcc aic xxlc-btn2" v-show="checkedIndex<data_XXLC.length-1" @click="onClick_next">下一模块</view>
  45. <view class="xxlc-btn df jcc aic xxlc-btn2" v-show="checkedIndex==data_XXLC.length-1" @click="onClick_ksxx">开始学习</view>
  46. </view>
  47. </view>
  48. </template>
  49. <script>
  50. import TopMenu from '../../components/topMenu.vue'
  51. export default {
  52. components: {
  53. TopMenu,
  54. },
  55. onLoad() {
  56. },
  57. data() {
  58. return {
  59. checkedIndex: 0,
  60. //以下为静态
  61. titleList: [{
  62. "icon_checked": require("../../assets/learning/icon_xxlc_01_01.png"),
  63. "icon_unchecked": require("../../assets/learning/icon_xxlc_01_02.png"),
  64. "text": "原理认知"
  65. },
  66. {
  67. "icon_checked": require("../../assets/learning/icon_xxlc_02_01.png"),
  68. "icon_unchecked": require("../../assets/learning/icon_xxlc_02_02.png"),
  69. "text": "实景勘察"
  70. },
  71. {
  72. "icon_checked": require("../../assets/learning/icon_xxlc_03_01.png"),
  73. "icon_unchecked": require("../../assets/learning/icon_xxlc_03_02.png"),
  74. "text": "虚拟技术搭建"
  75. },
  76. {
  77. "icon_checked": require("../../assets/learning/icon_xxlc_04_01.png"),
  78. "icon_unchecked": require("../../assets/learning/icon_xxlc_04_02.png"),
  79. "text": "虚拟艺术创作"
  80. },
  81. {
  82. "icon_checked": require("../../assets/learning/icon_xxlc_05_01.png"),
  83. "icon_unchecked": require("../../assets/learning/icon_xxlc_05_02.png"),
  84. "text": "虚拟资源库建设"
  85. },
  86. ],
  87. titleLine_checked: require("../../assets/learning/pic_xxlc_01_01.png"),
  88. titleLine_unchecked: require("../../assets/learning/pic_xxlc_01_02.png"),
  89. data_XXLC: [
  90. myData_XXLC_YLRZ,
  91. myData_XXLC_SJKC,
  92. myData_XXLC_XNJSDJ,
  93. myData_XXLC_XNYSCZ,
  94. myData_XXLC_XNZYKJS
  95. ]
  96. }
  97. },
  98. methods: {
  99. onClick_last(){
  100. this.checkedIndex--;
  101. },
  102. onClick_next(){
  103. this.checkedIndex++;
  104. },
  105. onClick_ksxx(){
  106. this.$emit("onClick_ksxx")
  107. },
  108. onClick_title(titleI){
  109. this.checkedIndex=titleI;
  110. }
  111. }
  112. }
  113. </script>
  114. <style lang="scss">
  115. .xxlc-body {
  116. margin-top: px2vw(11);
  117. width: 100%;
  118. height: 100%;
  119. background: #FFFFFF;
  120. box-shadow: px2vw(3) 0px px2vw(6) 0px rgba(0, 0, 0, 0.1);
  121. }
  122. .topTitle-box {
  123. width: 100%;
  124. }
  125. .topTitle-box2 {
  126. // margin-left: px2vw(240);
  127. margin-top: px2vw(39);
  128. }
  129. .topTitle-line {
  130. margin-left: px2vw(40);
  131. margin-right: px2vw(40);
  132. }
  133. .topTitle-line img {
  134. width: px2vw(132);
  135. }
  136. .topTitle-icon img {
  137. width: px2vw(76);
  138. }
  139. .xxlc-line {
  140. height: px2vw(1);
  141. background: #DDDDDD;
  142. margin-top: px2vw(51);
  143. }
  144. .xxlc-content-title {
  145. font-size: px2vw(30);
  146. font-weight: 500;
  147. color: #EA252C;
  148. line-height: px2vw(42);
  149. margin-top: px2vw(55);
  150. }
  151. .xxlc-content-box {
  152. width: px2vw(1080);
  153. border: 1px solid #979797;
  154. margin-top: px2vw(30);
  155. }
  156. .xxlc-content-box2 {
  157. margin: px2vw(50) px2vw(60) px2vw(50) px2vw(60);
  158. }
  159. .xxlc-text-nor {
  160. font-size: px2vw(24);
  161. color: #020202;
  162. line-height: px2vw(31);
  163. }
  164. .xxlc-btn-box {
  165. margin-top: px2vw(40);
  166. }
  167. .xxlc-btn {
  168. width: px2vw(200);
  169. height: px2vw(58);
  170. background: #EA252C;
  171. border-radius: px2vw(8);
  172. font-size: px2vw(24);
  173. color: #FFFFFF;
  174. line-height: px2vw(31);
  175. }
  176. .xxlc-btn2 {
  177. margin-left: px2vw(30);
  178. margin-bottom: px2vw(72);
  179. }
  180. .xxlc-pic{
  181. margin-top: px2vw(30);
  182. }
  183. .xxlc-pic img{
  184. max-width: 100%;
  185. }
  186. .topTitle-text-checked{
  187. font-size: px2vw(24);
  188. color: #EA252C;
  189. margin-top: px2vw(5);
  190. }
  191. .topTitle-text-unchecked{
  192. font-size: px2vw(24);
  193. color: #B3B3B3;
  194. margin-top: px2vw(5);
  195. }
  196. </style>