wage_details.vue 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  1. <template>
  2. <div class="ui inline form" id="wage-details">
  3. <h3>工资账单明细</h3>
  4. <div class="center1" style="padding:0 10px" v-if="item">
  5. <h4>
  6. <a href="#" @click="goDetail">{{item.job.title_count}}</a>
  7. 】{{item.time.month}}工资账单
  8. <span class="ui horizontal label">{{item.statusName}}</span>
  9. <span class="ui horizontal label" v-if="item.is_use_deposit=='1'">使用押金结算</span>
  10. </h4>
  11. <div class="hr" style="margin: 18px 0 10px"></div>
  12. <div style="display: flex">
  13. <div class="center1-1" style="flex: 1">
  14. <p class="font18 color0">
  15. <span class="font-weight">企业方</span>
  16. ({{item.company_info.nickname}})
  17. </p>
  18. <p class="font15 color2">
  19. <label class="label">实际费用</label>
  20. <b class="font24 color1">
  21. <span>¥</span>
  22. {{item.company.company_total_price}}
  23. </b>
  24. <template v-if="item.company_info">
  25. <img
  26. src="@/assets/img/vip_icon_premium.png"
  27. height="16"
  28. width="16"
  29. valign="middle"
  30. v-show="item.company_info.vip_type_id==3"
  31. >
  32. <img
  33. src="@/assets/img/vip_icon_com.png"
  34. height="16"
  35. width="16"
  36. valign="middle"
  37. v-show="item.company_info.vip_type_id==1"
  38. >
  39. </template>
  40. </p>
  41. <p class="font15 color2">
  42. <label class="label">本月工资</label>
  43. <b class="font16 color0">¥{{item.salary.base_salary}}</b>
  44. </p>
  45. <p class="font15 color2">
  46. <label class="label">平台服务费</label>
  47. <b class="font16 color0">¥{{item.company.company_service_fee}}</b>
  48. </p>
  49. <p class="font15 color2">
  50. <label class="label">应缴税费</label>
  51. <b class="font16 color0">¥{{item.company.company_tax}}</b>
  52. </p>
  53. <p class="font15 color2">
  54. <label class="label">托管押金</label>
  55. <b class="font16 color0">¥{{item.company.company_deposit_fee}}</b>
  56. </p>
  57. <p class="font15 color2">
  58. <label class="label">意向金抵扣</label>
  59. <b
  60. class="font16 color0"
  61. >¥{{item.company.company_earnest_cash>0?-item.company.company_earnest_cash:0}}</b>
  62. </p>
  63. <p class="font12 color2">
  64. <label class="label">托管金额</label>
  65. <span class>¥{{item.company.company_pay}}</span>
  66. </p>
  67. <div v-if="item.salary.return_money!=0">
  68. <p class="font12 color2">
  69. <label class="label">退还金额</label>
  70. <span class>¥{{item.salary.return_money}}</span>
  71. </p>
  72. </div>
  73. </div>
  74. <div
  75. class="center1-1"
  76. style="flex: 1;border-left: 1px solid rgba(0,0,0,.06);padding-left: 10px"
  77. >
  78. <p class="font18 color0">
  79. <span class="font-weight">开发者</span>
  80. ({{item.developer_info.nickname}})
  81. </p>
  82. <p class="font15 color2">
  83. <label class="label">实际工资</label>
  84. <b class="font24 color1">
  85. <span>¥</span>
  86. {{item.developer.person_price}}
  87. </b>
  88. <img
  89. src="@/assets/img/vip_icon.png"
  90. height="16"
  91. width="16"
  92. valign="middle"
  93. v-show="item.rate.person_service_fee_rate_reduce>0"
  94. >
  95. </p>
  96. <p class="font15 color2">
  97. <label class="label">本月工资</label>
  98. <b class="font16 color0">¥{{item.salary.base_salary}}</b>
  99. </p>
  100. <p class="font15 color2">
  101. <label class="label">平台服务费</label>
  102. <b
  103. class="font16 color0"
  104. >¥{{item.developer.person_service_fee}}</b>
  105. </p>
  106. <p class="font15 color2">
  107. <label class="label">应缴税费</label>
  108. <b
  109. class="font16 color0"
  110. >¥{{item.developer.person_total_tax>0?item.developer.person_total_tax:0}}</b>
  111. </p>
  112. </div>
  113. </div>
  114. <div class="hr" style="margin: 18px 0 10px"></div>
  115. <p class="font13 color0 font-weight">本月工资明细(合计¥{{item.salary.base_salary}})</p>
  116. <p class="font12 color2">
  117. <label class="label">每月薪资:</label>
  118. ¥{{item.salary.job_salary}} /月
  119. </p>
  120. <p class="font12 color2">
  121. <label class="label">工作周期:</label>
  122. {{item.time.start_time | dateFormat('YYYY-MM-DD')}} 至
  123. {{item.time.end_time | dateFormat('YYYY-MM-DD')}} ({{item.days}}天)
  124. </p>
  125. <span v-if="item.normal_days>0">
  126. <p class="font12 color2">
  127. <label class="label">正式工资:</label>
  128. ¥{{item.salary.normal_salary}}({{item.normal_days}}天)
  129. </p>
  130. </span>
  131. <span v-if="item.probation_days>0">
  132. <p class="font12 color2">
  133. <label class="label">试用工资:</label>
  134. ¥{{item.salary.probation_salary}}({{item.probation_days}}天,按月工资{{item.rate.probation_rate}}%结算)
  135. </p>
  136. </span>
  137. <p class="font12 color2">
  138. <label class="label">结算比例:</label>
  139. {{item.work_hour.work_rate}}%(工作工时:{{item.work_hour.worked_hours}}/{{item.work_hour.should_work_hours}})
  140. </p>
  141. <div v-if="item.salary.deduction_fee!=0">
  142. <p class="font12 color2">
  143. <label class="label">扣减工资:</label>
  144. ¥-{{item.salary.deduction_fee}}
  145. </p>
  146. </div>
  147. <div class="hr" style="margin: 18px 0 10px"></div>
  148. <p class="font13 color0 font-weight" style="margin-top: 20px">账单信息</p>
  149. <p class="font12 color2">
  150. <label class="label">创建时间:</label>
  151. {{item.time.create_time | dateFormat}}
  152. </p>
  153. <p class="font12 color2">
  154. <label class="label">托管时间:</label>
  155. <span v-if="item.status>=1">{{item.time.pay_time | dateFormat}}</span>
  156. <span v-else>--</span>
  157. </p>
  158. <p class="font12 color2">
  159. <label class="label">发薪时间:</label>
  160. <span v-if="item.status>=4">{{item.time.send_salary_time | dateFormat}}</span>
  161. <span v-else>--</span>
  162. </p>
  163. <p class="font12 color2">
  164. <label class="label">备注说明:</label>
  165. {{item.remark || '无'}}
  166. </p>
  167. <p class="font12 color2">
  168. <label class="label">费率明细:</label>
  169. 企业方:实际服务费率{{item.rate.company_service_fee_rate}}%(会员减免{{item.rate.company_service_fee_rate_reduce}}%),税率{{item.rate.company_tax_rate}}%;
  170. 开发者:实际服务费率{{item.rate.person_service_fee_rate}}%(会员减免{{item.rate.person_service_fee_rate_reduce}}%),税率{{item.rate.person_total_rate}}%;
  171. </p>
  172. </div>
  173. </div>
  174. </template>
  175. <script>
  176. // 现在环境是线上还是测试, 默认线上
  177. let env = ''
  178. export default {
  179. data() {
  180. return {
  181. job_id: '',
  182. period_id: '',
  183. item: null,
  184. }
  185. },
  186. filters: {
  187. /**
  188. * 格式化日期
  189. */
  190. dateFormat(val) {
  191. return new Date(Number(val) * 1000).toLocaleDateString()
  192. }
  193. },
  194. mounted() {
  195. this.job_id = this.$route.query.job_id
  196. this.period_id = this.$route.query.period_id
  197. this.getData()
  198. },
  199. methods: {
  200. goDetail() {
  201. return '/rooter/cloudjobitem/'+item.job_id
  202. },
  203. /**
  204. * 获取数据
  205. */
  206. async getData(i) {
  207. let res = await this.$post('/api/admin/job/get_job_period_detail', {
  208. job_id: this.job_id,
  209. period_id: this.period_id,
  210. is_cal_workrate: 1
  211. })
  212. if(!res.data) return
  213. this.item = res.data
  214. },
  215. }
  216. }
  217. </script>
  218. <style scoped>
  219. .font-weight,
  220. .font24 {
  221. font-weight: 600;
  222. }
  223. p {
  224. margin-bottom: 0;
  225. }
  226. .color0 {
  227. color: #222;
  228. }
  229. .color1 {
  230. color: #308eff;
  231. }
  232. .color2 {
  233. color: #999;
  234. }
  235. .font12 {
  236. font-size: 12px;
  237. }
  238. .font15 {
  239. font-size: 15px;
  240. }
  241. .font16 {
  242. font-size: 16px;
  243. }
  244. .font13 {
  245. font-size: 13px;
  246. }
  247. .font24 {
  248. font-size: 24px;
  249. }
  250. .center1 {
  251. padding: 10px;
  252. background-color: #fff;
  253. }
  254. .center1 p {
  255. line-height: 21px;
  256. }
  257. .center1 .center1-1 p {
  258. line-height: 30px;
  259. }
  260. .center2 {
  261. padding: 20px 10px;
  262. background-repeat: no-repeat;
  263. background-position: top;
  264. }
  265. .center2 p {
  266. line-height: 23px;
  267. }
  268. .hr {
  269. width: 100%;
  270. height: 1px;
  271. background-color: rgba(0, 0, 0, 0.06);
  272. }
  273. </style>