workDetail.axml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. <view>
  2. <view class="header margin-bottom">
  3. <view class="header-top flex-box flex-v-ce margin-bottom">
  4. <view class="flex-box flex-v-ce flex-1 ">
  5. <img-box name="{{dataDetail.employee_name}}" a:if="{{dataDetail.employee_name}}" imgUrl="{{dataDetail.img_url}}"
  6. height="90rpx" width="90rpx" fSize="28rpx"></img-box>
  7. <view class="top-left">
  8. <view class="name">{{dataDetail.employee_name}}</view>
  9. <view a:if="{{dataDetail.dept_list[0]}}">{{dataDetail.dept_list[0].dept_name}}</view>
  10. <view a:else>暂无部门</view>
  11. </view>
  12. </view>
  13. <view class="top-right">
  14. <view>{{dataDetail.point_config.base_point}}</view>
  15. <view>{{dataDetail.pt_name}}</view>
  16. </view>
  17. <view class="top-right" a:if="{{dataDetail.status == 4}}">
  18. <view>{{dataDetail.point_config.review_point}}</view>
  19. <view>最终分</view>
  20. </view>
  21. </view>
  22. <view class="header-main blue" style="text-align:right;padding-top:30rpx" a:if="{{dataDetail.reviews.length>0}}" catchTap="openReview">查看审批记录</view>
  23. <view class="header-main">
  24. <view class="flex-box">
  25. <view class="laber">任务内容</view>
  26. <view class="flex-1">{{dataDetail.task_name}}</view>
  27. </view>
  28. <view class="flex-box flex-v-ce" a:if="{{dataDetail.task_remark}}">
  29. <view class="laber">任务备注</view>
  30. <view class="flex-1">{{dataDetail.task_remark}}</view>
  31. </view>
  32. <view class="flex-box" a:if="{{dataDetail.task_file_list.length>0}}">
  33. <view class="laber"></view>
  34. <view class="flex-1 flex-box flex-v-ce imgs">
  35. <image mode="scaleToFill" data-index="{{index}}" a:for="{{dataDetail.task_file_list}}" data-item="{{dataDetail.task_file_list}}"
  36. src="{{item}}" catchTap="showImg" />
  37. </view>
  38. </view>
  39. <view class="flex-box flex-v-ce">
  40. <view class="laber">积分种类</view>
  41. <view class="flex-1">{{dataDetail.pt_name}}</view>
  42. </view>
  43. <view class="flex-box flex-v-ce">
  44. <view class="laber">任务积分</view>
  45. <view class="flex-1">
  46. {{dataDetail.point_config.base_point}}
  47. {{dataDetail.pt_name}}
  48. </view>
  49. </view>
  50. <view class="flex-box flex-v-ce">
  51. <view class="laber">审批人</view>
  52. <view class="flex-1">{{dataDetail.reviewer_name}}</view>
  53. </view>
  54. <view class="flex-box flex-v-ce">
  55. <view class="laber">发布人</view>
  56. <view class="flex-1">{{dataDetail.publisher_name}}</view>
  57. </view>
  58. <view class="flex-box flex-v-ce">
  59. <view class="laber">发布时间</view>
  60. <view class="flex-1">{{dataDetail.create_time}}
  61. </view>
  62. </view>
  63. <view class="flex-box flex-v-ce">
  64. <view class="laber">截止时间</view>
  65. <view class="flex-1">{{dataDetail.expire_time}}
  66. <text style="padding-left: 10px;" class="red" a:if="{{dataDetail.expire_day > 0}}">逾期{{dataDetail.expire_day}}天</text>
  67. </view>
  68. </view>
  69. <view class="flex-box flex-v-ce" a:if="{{dataDetail.complete_task.time}}">
  70. <view class="laber">完成时间</view>
  71. <view class="flex-1">{{dataDetail.complete_task.time}}
  72. </view>
  73. </view>
  74. <view class="flex-box flex-v-ce" a:if="{{dataDetail.complete_task.remark}}">
  75. <view class="laber">完成备注</view>
  76. <view class="flex-1">{{dataDetail.complete_task.remark}}</view>
  77. </view>
  78. <view class="flex-box" a:if="{{dataDetail.complete_task.files.length>0}}">
  79. <view class="laber"></view>
  80. <view class="flex-1 flex-box flex-v-ce imgs">
  81. <image mode="scaleToFill" data-index="{{index}}" a:for="{{dataDetail.complete_task.files}}" data-item="{{dataDetail.complete_task.files}}"
  82. src="{{item}}" catchTap="showImg" />
  83. </view>
  84. </view>
  85. <view class="flex-box flex-v-ce" a:if="{{dataDetail.point_config.ahead_award_point}}">
  86. <view class="laber">提前奖分</view>
  87. <view class="flex-1">{{dataDetail.point_config.ahead_award_point}}B分/天</view>
  88. </view>
  89. <view class="flex-box flex-v-ce" a:if="{{dataDetail.point_config.timeout_deduction_point}}">
  90. <view class="laber">逾期扣分</view>
  91. <view class="flex-1">{{dataDetail.point_config.timeout_deduction_point}}B分/天</view>
  92. </view>
  93. </view>
  94. <view class="main margin-bottom">
  95. <block a:if="{{dataDetail.source_type!=10}}">
  96. <view class="mian-title border-bottom" a:if="{{dataDetail.point_config&&dataDetail.point_config.item_info}}">规则依据
  97. <text>此事件打分参考以下积分规则</text>
  98. </view>
  99. <view class="header-main" a:if="{{dataDetail.point_config&&dataDetail.point_config.item_info}}">
  100. <view class="flex-box flex-v-ce" a:if="{{dataDetail.point_config.rule_info.name}}">
  101. <view class="laber">规则分类</view>
  102. <view class="flex-1">{{dataDetail.point_config.rule_info.name }}</view>
  103. </view>
  104. <view class="flex-box" a:if="{{dataDetail.point_config.item_info&&dataDetail.point_config.item_info.remark}}">
  105. <view class="laber">积分规则</view>
  106. <view class="flex-1">{{dataDetail.point_config.item_info.remark}}</view>
  107. </view>
  108. <view class="flex-box flex-v-ce" a:if="{{dataDetail.point_config.item_info.min_point}}">
  109. <view class="laber">规则积分</view>
  110. <view class="flex-1">
  111. <text a:if="{{dataDetail.point_config.item_info.range_type == 1}}">{{ dataDetail.point_config.item_info.min_point }}</text>
  112. <text a:if="{{dataDetail.point_config.item_info.range_type == 2}}">{{ dataDetail.point_config.item_info.min_point }} ~ {{ dataDetail.point_config.item_info.max_point }}</text>
  113. <text>{{dataDetail.pt_name}}</text>
  114. </view>
  115. </view>
  116. </view>
  117. </block>
  118. </view>
  119. </view>
  120. <view class="main border-bottom">
  121. <view class="flex-box flex-v-ce titles">
  122. <view class="title flex-1">任务进度</view>
  123. <view class="blue" style="font-size:28rpx" catchTap="openSchedule" a:if="{{dataDetail.employee_id ==userId && dataDetail.status == 1 && dataDetail.progress != 100}}">更新进度</view>
  124. </view>
  125. <view class="slider">
  126. <slider value="{{dataDetail.progress}}" disabled="true" onChange="slider4change" min="0" max="100" show-value></slider>
  127. </view>
  128. </view>
  129. <view class="footer">
  130. <view class="flex-box flex-v-ce selectItems">
  131. <view data-index="1" class="{{activeIndex == 1? 'active':''}} flex-1" catchTap="activeItem">工作记录</view>
  132. <view data-index="2" class="{{activeIndex == 2? 'active':''}} flex-1" catchTap="activeItem">记分记录</view>
  133. <view a:if="{{activeIndex == 1}}" class="flex-box-end flex-2 blue ji">
  134. <text style="padding-right:24rpx" catchTap="openJyt" a:if="{{dataDetail.employee_id==userId&&dataDetail.status<3}}">+记一条工作记录</text>
  135. </view>
  136. <view a:if="{{activeIndex == 2}}" class="flex-box-end flex-2 blue ji">
  137. <text style="padding-right:24rpx" catchTap="openJf" a:if="{{keepTheScore}}">记分</text>
  138. </view>
  139. </view>
  140. <view a:if="{{activeIndex == 1}}" style="margin-bottom:0.8rem">
  141. <view class="flex-box gc_item" a:for="{{process}}" a:if="{{item.recorder_id==dataDetail.employee_id}}">
  142. <view class="flex-box flex-1">
  143. <img-box name="{{item.recorder}}" imgUrl="{{item.img_url}}" height="90rpx" width="90rpx" fSize="28rpx"></img-box>
  144. <view class="top-left flex-1">
  145. <view class="flex-box flex-v-ce">
  146. <view class="fontColorC flex-1">{{item.recorder}}</view>
  147. <view style="font-size:28rpx">{{item.time}}</view>
  148. </view>
  149. <view style="color:#222;margin-right:80rpx;word-break: break-all;">{{item.remark}}</view>
  150. </view>
  151. <view class="delete" a:if="{{item.recorder_id==userId&&dataDetail.status<3}}">
  152. <image mode="scaleToFill" data-index="{{index}}" src="../../../image/delete.png" class="img" catchTap="deleteItem"></image>
  153. </view>
  154. </view>
  155. </view>
  156. <view class="flex-box-v flex-center-center noTask" a:if="{{dataDetail.gc.length==0}}">
  157. <image mode="scaleToFill" src="../../../image/noTask.png" />
  158. <text style="font-size:24rpx">暂无工作记录</text>
  159. </view>
  160. </view>
  161. <view a:else style="margin-bottom:0.8rem">
  162. <view class="sum" a:if="{{total&&total>0}}">合计 +{{total}}</view>
  163. <view class="sum" a:if="{{total&&total<0}}">合计 {{total}}</view>
  164. <view class="flex-box gc_item" a:for="{{process}}" a:if="{{item.point!=0}}">
  165. <view class="flex-box flex-1">
  166. <img-box name="{{item.recorder}}" imgUrl="{{item.img_url}}" height="90rpx" width="90rpx" fSize="28rpx"></img-box>
  167. <view class="top-left flex-1">
  168. <view class="flex-box flex-v-ce">
  169. <view class="fontColorC flex-1">{{item.recorder}}</view>
  170. <view style="font-size:28rpx">{{item.time}}</view>
  171. </view>
  172. <view a:if="{{item.point*1 > 0}}" style="margin-bottom:10rpx;">+{{item.point}}</view>
  173. <view a:if="{{item.point*1 < 0}}" style="margin-bottom:10rpx;">{{item.point}}</view>
  174. <view style="color:#222;margin-right:80rpx;word-break: break-all;">{{item.remark}}</view>
  175. </view>
  176. <view class="delete" a:if="{{item.recorder_id==userId&&dataDetail.status<3}}">
  177. <image mode="scaleToFill" data-index="{{index}}" src="../../../image/delete.png" class="img" catchTap="deleteItem"></image>
  178. </view>
  179. </view>
  180. </view>
  181. <view class="flex-box-v flex-center-center noTask" a:if="{{dataDetail.jf.length==0}}">
  182. <image mode="scaleToFill" src="../../../image/noTask.png" />
  183. <text style="font-size:24rpx">暂无积分记录</text>
  184. </view>
  185. </view>
  186. </view>
  187. <view class="btn-area" style="margin-top:28rpx;" a:if="{{(dataDetail.reviewer_id == userId && dataDetail.status == 2)||(dataDetail.employee_id == userId && dataDetail.status == 1)}}">
  188. <!-- <button type="default" loading="{{disabled}}" a:if="{{dataDetail.reviewer_id == userId && dataDetail.status == 2&&!isNot}}"
  189. class="defBtn" disabled="{{disabled}}" catchTap="openWc">去审批</button> -->
  190. <button type="default" loading="{{disabled}}" a:if="{{dataDetail.employee_id == userId && dataDetail.status == 1}}" class="defBtn"
  191. disabled="{{disabled}}" catchTap="openPerform">完成</button>
  192. </view>
  193. <view class="pop-up" a:if="{{isPublisher}}">
  194. <picker onChange="bindPickerChange" value="{{index}}" range="{{array}}">
  195. <image class="img2" mode="scaleToFill" src="../../../image/Bj.png" />
  196. </picker>
  197. </view>
  198. </view>