workDetail.axml 11 KB

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