add.wxml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. <view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;' hidden='{{!HiddenFieldEdit}}'>
  2. <view class="panelTop FlexRow">
  3. <view class="panelTopLeft FlexRow" catchtap="onSearch">
  4. <view class="add">+</view> 资料
  5. </view>
  6. <view class='panelTopRight FlexRow' catchtap='onGotoList' wx:if="{{UpdateType=='add' || UpdateType=='add2'}}">
  7. <image src='../images/universalpic_card_gray_26x26.png' class="universalpic_card_gray_26x26" />
  8. </view>
  9. </view>
  10. <view style='height:120rpx'></view>
  11. <view class="panelTitle FlexRow">
  12. <view class="panelTitle1">段落</view>
  13. </view>
  14. <block wx:for="{{[1,2,3]}}" wx:key="indexParent" wx:for-index="indexParent" wx:for-item="itemParent">
  15. <view class="lineWidthAll FlexRow" wx:if="{{indexParent>0}}">
  16. <view class="lineWidth750"></view>
  17. </view>
  18. <view class="panelItem FlexRow" bindtap='gotoAddItem' data-fieldid="{{itemParent}}">
  19. <view class="panelItem11 FlexColumn">
  20. <view class="number">{{itemParent}}</view>
  21. </view>
  22. <view class="panelItem21 FlexRow">
  23. <text class="textNull" wx:if="{{!Field[itemParent] || Field[itemParent].length==0}}">
  24. <block wx:if="{{itemParent==1}}">题目</block>
  25. <block wx:if="{{itemParent==2}}">答案</block>
  26. <block wx:if="{{itemParent==3}}">其它</block>
  27. </text>
  28. <block wx:for="{{Field[itemParent]}}" wx:key="index">
  29. <text class="textNormal" wx:if="{{item.Type=='normal'}}">{{item.Content}}</text>
  30. <text class="textNormal FlexRow" wx:if="{{item.Type=='line'}}">
  31. <block wx:for="{{item.Content}}" wx:key="contentIndex" wx:for-item="contentItem">
  32. <text wx:if="{{contentItem.key=='normal'}}">{{contentItem.value}}</text>
  33. <text class="textLine" wx:if="{{contentItem.key=='line'}}">{{contentItem.value}}</text>
  34. <text class="textHighlighter" wx:if="{{contentItem.key=='highlighter'}}">{{contentItem.value}}</text>
  35. </block>
  36. </text>
  37. <view class="sound FlexRow" wx:if="{{item.Type=='sound'}}">
  38. <image class="universalpic_read_mark_black_20x20" src='../images/universalpic_read_mark_black_20x20.png' />
  39. </view>
  40. <text class="textPinyin" wx:if="{{item.Type=='sound'}}">{{item.Content}}</text>
  41. <view class="panelRecorder FlexRow" wx:if="{{item.Type=='recorder'}}">
  42. <image class="universalpic_voicerecorder_transmit_black_44x34" src='../images/universalpic_voicerecorder_transmit_black_44x34.png' />
  43. </view>
  44. <image class="imageFree" mode="widthFix" wx:if="{{item.Type=='image'}}" src='{{item.Content}}' binderror="onBindError" />
  45. <view class="textBr" wx:if="{{item.Type=='br'}}"></view>
  46. <text class="textReturn" wx:if="{{item.Type=='return'}}"></text>
  47. </block>
  48. </view>
  49. </view>
  50. <block wx:if="{{Tags && Tags.length>0 && indexParent==0}}">
  51. <view class="panelTag FlexColumn">
  52. <view class="panelTag1">自动记号</view>
  53. <view class="lineWidthAll FlexRow">
  54. <view class="lineWidth640"></view>
  55. </view>
  56. <view class='panelTag1 FlexRow'>
  57. <block wx:for="{{Tags}}" wx:key="indexTag" wx:for-index="indexTag">
  58. <view class="panelTag2 FlexRow" bindtap='deleteItem' data-id="{{indexTag}}">
  59. <view class="tag1">{{item}}</view>
  60. <image src='../images/universalpic_del_gray_14x14.png' class="universalpic_del_gray_14x14" />
  61. </view>
  62. </block>
  63. </view>
  64. <view style='height:30rpx;'></view>
  65. </view>
  66. </block>
  67. </block>
  68. <view class='lineFooter'></view>
  69. <view class="panelTimePlan FlexRow" bindtap="showPracticeTime" wx:if="{{IsShowPracticeTimeStart}}">
  70. <view class="panelItem1 FlexRow">
  71. <image src='../images/universalpic_clock_gray_24x24.png' class="universalpic_clock_gray_24x24" />
  72. <view>练习时间</view>
  73. </view>
  74. <view class="panelItem2 FlexRow">
  75. <view class="panelTimePlan1">{{PracticeTimeStr2}}</view>
  76. <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
  77. </view>
  78. </view>
  79. <view class="panelTimePlan0 panelTimePlan FlexRow" bindtap="showPracticeTime" wx:if="{{!IsShowPracticeTimeStart}}">
  80. <view class="panelItem1 FlexRow">
  81. <image src='../images/universalpic_clock_white_24x24.png' class="universalpic_clock_gray_24x24" />
  82. <view>练习时间</view>
  83. </view>
  84. <view class="panelItem2 FlexRow">
  85. <view class="panelTimePlan2 panelTimePlan1">{{PracticeTimeStr2}}</view>
  86. <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
  87. </view>
  88. </view>
  89. <view style='height:300rpx;'></view>
  90. <view class='panelSave FlexRow'>
  91. <view class="panelSave1" bindtap="onPreview">
  92. 预览
  93. </view>
  94. <view class='panelSave2' bindtap="saveCard">
  95. 保存
  96. </view>
  97. </view>
  98. </view>
  99. <!-- 更多功能 -->
  100. <view wx:if="{{IsPracticeTime}}" class="numberContainer FlexColumn" style='height:{{Containnerheight}}rpx;'>
  101. <view class="numberContainerFooter1 FlexColumn">
  102. <view class='lineFooter'></view>
  103. <view class='numberContainerFooter101 FlexRow'>
  104. <image class="universalpic_bell_black_30x30" src='../images/universalpic_bell_black_30x30.png' />
  105. <view class='numberContainerFooter11 FlexColumn'>
  106. <view class='numberContainerFooter111'>调整练习时间</view>
  107. <view class='numberContainerFooter112 FlexRow'>
  108. <view class='numberContainerFooter1121' wx:for="{{PracticeTimeArr}}" wx:key="index" catchtap='onPracticeTime' data-value='{{item.Name}}'>{{item.Name}}</view>
  109. </view>
  110. </view>
  111. </view>
  112. </view>
  113. <view class='lineFooter'></view>
  114. <view class="numberContaineFooter FlexRow" catchtap='closePracticeTime'>
  115. <view>关闭</view>
  116. </view>
  117. </view>
  118. <!-- 字段编辑 -->
  119. <view class="addItem container FlexColumn" style='height:{{Containnerheight}}rpx;' hidden='{{HiddenFieldEdit || IsRecorder}}'>
  120. <view class="panelItemTag FlexRow">
  121. <view class='left FlexRow'>
  122. <view class="panelSaveTag1 FlexRow" bindtap="onSearchField">
  123. <view class="add">+</view> 资料
  124. </view>
  125. <view class="panelSaveTag2 panelSaveTag1 FlexRow" bindtap="addSymbol" data-id="{{LineSign}}" hidden="{{LineSign=='[/线]'}}">
  126. <image class="universalpic_underline_begin_gray_14x20" src='../images/universalpic_underline_begin_gray_14x20.png' />
  127. </view>
  128. <view class="panelSaveTag3 panelSaveTag1 FlexRow" bindtap="addSymbol" data-id="{{LineSign}}" hidden="{{LineSign=='[线]'}}">
  129. <image class="universalpic_underline_end_white_30x22" src='../images/universalpic_underline_end_white_30x22.png' />
  130. </view>
  131. <view class="panelSaveTag2 panelSaveTag1 FlexRow" bindtap="addSymbol" data-id="{{HighlighterSign}}" hidden="{{HighlighterSign=='[/光]'}}">
  132. <image class="universalpic_highlighter_begin_gray_24x20" src='../images/universalpic_highlighter_begin_gray_24x20.png' />
  133. </view>
  134. <view class="panelSaveTag3 panelSaveTag1 FlexRow" bindtap="addSymbol" data-id="{{HighlighterSign}}" hidden="{{HighlighterSign=='[光]'}}">
  135. <image class="universalpic_highlighter_begin_gray_24x20" src='../images/universalpic_highlighter_end_white_24x20.png' />
  136. </view>
  137. <view class="panelSaveTag2 panelSaveTag1 FlexRow" bindtap="addSymbol" data-id="{{SoundSign}}" hidden="{{SoundSign=='[/读]'}}">
  138. <image class="universalpic_read_begin_gray_20x20" src='../images/universalpic_read_begin_gray_20x20.png' />
  139. </view>
  140. <view class="panelSaveTag3 panelSaveTag1 FlexRow" bindtap="addSymbol" data-id="{{SoundSign}}" hidden="{{SoundSign=='[读]'}}">
  141. <image class="universalpic_read_end_white_38x22" src='../images/universalpic_read_end_white_38x22.png' />
  142. </view>
  143. <view class="panelSaveTag2 panelSaveTag1 FlexRow" catchtap="uploadImageField" wx:if="{{IsShow==1}}">
  144. <image class="universalpic_picture_gray_26x26" src='../images/universalpic_picture_gray_26x26.png' />
  145. </view>
  146. <view class="panelSaveTag2 panelSaveTag1 FlexRow" catchtap="recorderAccredit" wx:if="{{IsShow==1}}">
  147. <image class="universalpic_voicerecorder_normal_gray_21x26" src='../images/universalpic_voicerecorder_normal_gray_21x26.png' />
  148. </view>
  149. </view>
  150. <view class='right FlexRow'>
  151. <view class="clear" catchtap="clear">清空</view>
  152. </view>
  153. </view>
  154. <view class='lineFooter'></view>
  155. <view class='panelInput'>
  156. <textarea class="input" maxlength='-1' show-confirm-bar="true" value="{{FieldContent}}" focus="{{Focus}}" cursor="{{Cursor}}" bindinput="bindinputField" bindblur="onBindblur" bindfocus="onBindFocus" data-id='{{FieldNumber}}' />
  157. </view>
  158. <view class='lineFooter'></view>
  159. <view class='panelBtnItem FlexColumn'>
  160. <scroll-view scroll-x="true" class="panelBtnSmall" bindscroll="bindscrollHandler">
  161. <view class="btn0"></view>
  162. <!-- <view class="btn" bindtap="addSymbol" data-id="( )">( )</view>
  163. <view class="btn" bindtap="addSymbol" data-id="_____">_</view> -->
  164. <view class="btn" bindtap="addSymbol" wx:for="{{SymbolMain}}" wx:key="index" data-id="{{item.Name}}">{{item.Name}}</view>
  165. <view class="btn2 btn" bindtap="gotoSymbol">更多</view>
  166. </scroll-view>
  167. <view class='lineFooter'></view>
  168. <view class='panelBtn FlexRow'>
  169. <view class='text1' bindtap="closeAddItem" data-idsave="false">取消</view>
  170. <view class='line1'></view>
  171. <view class='text2 text1' bindtap="closeAddItem" data-idsave="true">确定</view>
  172. </view>
  173. <view class='lineFooter'></view>
  174. </view>
  175. </view>
  176. <!-- 录音功能 -->
  177. <view wx:if="{{IsRecorder}}" class="numberContainer FlexColumn" style='height:{{Containnerheight}}rpx;'>
  178. <view class='RecorderPanel2 FlexRow' wx:if="{{!FieldContent}}">
  179. <image class="edit_voicerecorder_illus" src='../images/edit_voicerecorder_illus.png' />
  180. </view>
  181. <view class="RecorderPanel3 FlexColumn" wx:if="{{FieldContent}}" style='height:{{Containnerheight-449}}rpx;'>
  182. <view class='RecorderPanel31 FlexColumn'>
  183. <text class='RecorderPanel311'>以下是段落中的内容\n可以把材料提前写入段落,方便照着录音</text>
  184. </view>
  185. <textarea class="RecorderPanel32" maxlength='-1' value="{{FieldContent}}" />
  186. </view>
  187. <view class='RecorderPanel1 FlexColumn'>
  188. <view class='RecorderPanel11 FlexRow'>
  189. <view class='RecorderPanel111 FlexRow'>
  190. <image class="universalpic_voicerecorder_black_30x30" src='../images/universalpic_voicerecorder_black_30x30.png' />
  191. <view class='RecorderPanel1111'>1分钟录音</view>
  192. </view>
  193. <view class='{{RecorderTimeCss}} RecorderPanel112'>{{RecorderTime}}</view>
  194. </view>
  195. <view class='btnRecorderStart' hover-start-time="50" hover-class="btnRecorderEnd" catchtouchstart='btnRecorderStart' catchtouchend='btnRecorderEnd' wx:if="{{!IsRecorderFinished}}">{{BtnRecorderName}}</view>
  196. <view class='RecorderPanel12 FlexRow' wx:if="{{IsRecorderFinished}}">
  197. <view class='btnRecorderStart2 btnRecorderStart' hover-class="btnRecorderEnd" catchtap='showRecorder'>重录</view>
  198. <view class='btnRecorderStart2 btnRecorderStart' hover-class="btnRecorderEnd" catchtap='btnRecorderPlay'>{{RecorderPlayName}}</view>
  199. <view class='btnRecorderStart3 btnRecorderStart' hover-class="btnRecorderEnd" catchtap='btnRecorderSave'>上传</view>
  200. </view>
  201. </view>
  202. <view class="numberContaineFooter2 numberContaineFooter FlexRow" catchtap='closeRecorder'>
  203. <view>退出录音</view>
  204. </view>
  205. </view>