my-requiredetail.vue 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. <template>
  2. <view class="contain">
  3. <uni-row>
  4. <view style="height: 20rpx;"></view>
  5. </uni-row>
  6. <uni-row>
  7. <uni-col :push="1">
  8. <view class="contain-item"><text class="contain-text">需求号:</text>{{item.requireId}}</view>
  9. </uni-col>
  10. </uni-row>
  11. <uni-row>
  12. <uni-col :push="1">
  13. <view class="contain-item"><text class="contain-text">学员ID:</text>{{item.uid}}</view>
  14. </uni-col>
  15. </uni-row>
  16. <uni-row>
  17. <uni-col :span="12" :push="1">
  18. <view class="contain-item"><text class="contain-text">学员:</text>{{item.name}}</view>
  19. </uni-col>
  20. <uni-col :span="12">
  21. <view><text class="contain-text">学员性别:</text>{{item.sex}}</view>
  22. </uni-col>
  23. </uni-row>
  24. <uni-row>
  25. <uni-col :push="1" :span="18">
  26. <view class="contain-item"><text class="contain-text">需求科目:</text>{{item.subjectBig}}/{{item.subjectSmall}}</view>
  27. </uni-col>
  28. <uni-col :span="6">
  29. <uni-fav :checked="collect" class="favBtn" :circle="true" bg-color="#dd524d"
  30. bg-color-checked="#007aff" fg-color="#ffffff" fg-color-checked="#ffffff" @click="collecting" />
  31. </uni-col>
  32. </uni-row>
  33. <uni-row>
  34. <view class="contain-item">
  35. <map :longitude="location[1]" :latitude="location[0]" :markers="marker" class="map"></map>
  36. </view>
  37. </uni-row>
  38. <uni-row>
  39. <uni-col :push="1">
  40. <view class="contain-item"><text class="contain-text">学员地址:</text>{{item.locationStr}}</view>
  41. </uni-col>
  42. </uni-row>
  43. <uni-row>
  44. <uni-col :push="1">
  45. <text class="contain-text">课程时间:</text>
  46. </uni-col>
  47. </uni-row>
  48. <view class="tr-container">
  49. <view class="tr_1">
  50. <text class="th_0" decode="true">&ensp;&ensp;&ensp;&ensp;</text>
  51. <text class="th_1">周一</text>
  52. <text class="th_1">周二</text>
  53. <text class="th_1">周三</text>
  54. <text class="th_1">周四</text>
  55. <text class="th_1">周五</text>
  56. <text class="th_1">周六</text>
  57. <text class="th_1">周日</text>
  58. </view>
  59. <view class="tr_2">
  60. <checkbox-group>
  61. <view class="th2_0">上午</view>
  62. <label v-for="item in timeAM" :key="item.value">
  63. <checkbox class="th2_1" :value="item.value" :checked="item.checked" disabled></checkbox>
  64. </label>
  65. </checkbox-group>
  66. </view>
  67. <view class="tr_2">
  68. <checkbox-group>
  69. <view class="th2_0">下午</view>
  70. <label v-for="item in timePM" :key="item.value">
  71. <checkbox class="th2_1" :value="item.value" :checked="item.checked" disabled></checkbox>
  72. </label>
  73. </checkbox-group>
  74. </view>
  75. <view class="tr_2">
  76. <checkbox-group>
  77. <view class="th2_0">晚上</view>
  78. <label v-for="item in timeEvening" :key="item.value">
  79. <checkbox class="th2_1" :value="item.value" :checked="item.checked" disabled></checkbox>
  80. </label>
  81. </checkbox-group>
  82. </view>
  83. </view>
  84. <uni-row>
  85. <uni-col :span="12" :push="1">
  86. <view class="contain-item"><text class="contain-text">教员类型:</text>{{item.teacherType}}</view>
  87. </uni-col>
  88. <uni-col :span="12">
  89. <view><text class="contain-text">学员学历:</text>{{item.teacherEdu}}</view>
  90. </uni-col>
  91. </uni-row>
  92. <uni-row>
  93. <uni-col :span="12" :push="1">
  94. <view class="contain-item"><text class="contain-text">教员性别:</text>{{item.teacherGender}}</view>
  95. </uni-col>
  96. <uni-col :span="12">
  97. <view><text class="contain-text">上课方式:</text>{{item.mode}}</view>
  98. </uni-col>
  99. </uni-row>
  100. <uni-row>
  101. <uni-col :span="12" :push="1">
  102. <view class="contain-item"><text class="contain-text">教员头像:</text>{{item.teacherProfilePhoto}}</view>
  103. </uni-col>
  104. <uni-col :span="12">
  105. <view><text class="contain-text">需求金额:</text>{{item.salary}}元</view>
  106. </uni-col>
  107. </uni-row>
  108. <uni-row>
  109. <uni-col :push="1">
  110. <view class="contain-item"><text class="contain-text">期望目标:</text>{{item.goal}}</view>
  111. </uni-col>
  112. </uni-row>
  113. <uni-row>
  114. <uni-col :push="1">
  115. <view class="contain-item"><text class="contain-text">额外要求:</text>{{item.teacherDemanded}}</view>
  116. </uni-col>
  117. </uni-row>
  118. </view>
  119. </template>
  120. <script>
  121. import { mapState } from 'vuex';
  122. export default {
  123. name: 'my-requiredetail',
  124. data() {
  125. return {
  126. };
  127. },
  128. props: {
  129. item: {
  130. type: Object
  131. },
  132. location: {
  133. type: Array
  134. },
  135. marker: {
  136. type: Array
  137. },
  138. timeAM: {
  139. type: Array
  140. },
  141. timePM: {
  142. type: Array
  143. },
  144. timeEvening: {
  145. type: Array
  146. },
  147. collect: {
  148. type: Boolean,
  149. default: false
  150. },
  151. isShowCollect: {
  152. type: Boolean,
  153. default: false
  154. }
  155. },
  156. methods: {
  157. // 点击收藏
  158. collecting() {
  159. // 触发外界通过 @click 绑定的 click 事件处理函数
  160. this.$emit('click')
  161. }
  162. },
  163. }
  164. </script>
  165. <style lang="scss" scoped>
  166. .contain {
  167. background-color: #FFF2CC;
  168. border-radius: 10%;
  169. .contain-item {
  170. margin-bottom: 20rpx;
  171. }
  172. .contain-text {
  173. font-weight: 700;
  174. color: #bbb;
  175. }
  176. .map {
  177. width: 100%;
  178. }
  179. }
  180. .tr-container{
  181. display: flex;
  182. position: relative;
  183. width: 96%;
  184. flex-direction: column;
  185. font-size: 26rpx;
  186. /* border: 1rpx solid gray; */
  187. margin: -10px 20rpx;
  188. margin-bottom: 20px;
  189. }
  190. .tr_1 {
  191. display: flex;
  192. position: relative;
  193. height: 80rpx;
  194. line-height: 80rpx;
  195. }
  196. .tr_2{
  197. display: block;
  198. height: 80rpx;
  199. line-height: 80rpx;
  200. }
  201. .th_0,
  202. .th_1,
  203. .th_2,
  204. .th2_0,
  205. .th2_1,
  206. .th2_2{
  207. width: 12%;
  208. height: 80rpx;
  209. line-height: 80rpx;
  210. border-right: 1rpx solid gray;
  211. border-bottom: 1rpx solid gray;
  212. text-align: center;
  213. }
  214. .th_0,
  215. .th_1,
  216. .th_2{
  217. border-top: 1rpx solid gray;
  218. }
  219. .th_0,
  220. .th2_0{
  221. border-left: 1rpx solid gray;
  222. }
  223. .th2_0{
  224. float: left;
  225. width: 12%;
  226. height: 80rpx;
  227. line-height: 80rpx;
  228. text-align: center;
  229. /* background-color: greenyellow; */
  230. }
  231. </style>