workDetail.axml 11 KB

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