_auditComparison.blade.php 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  1. <div class="modal fade" tabindex="-1" role="dialog" id="auditOrRecover">
  2. <div class="modal-dialog modal-xl modal-dialog-centered modal-dialog-scrollable">
  3. <div class="modal-content">
  4. <div class="modal-header">
  5. <button type="button" class="close" data-dismiss="modal">&times;</button>
  6. </div>
  7. <div class="modal-body">
  8. <div class="row" v-if="showAuditPiece.C">
  9. <label class="col-1 text-right h4"><span class="badge badge-success">新增</span></label>
  10. <label class="col-1 h3 text-success" style="bottom: 0.25rem">
  11. <span class="fa fa-long-arrow-right"></span>
  12. </label>
  13. <div class="col-10 border-bottom border-success">
  14. <div v-if="selectedAudit=='storage'" v-for="s in auditList.storage.C">
  15. <div><b>@{{ s.name }}</b><span class="text-muted">(@{{ s.counting_type }}-@{{ s.using_type }})</span></div>
  16. </div>
  17. <div v-if="selectedAudit=='operation'" v-for="s in auditList.operation.C">
  18. <div><b>@{{ s.name }}</b><span class="text-muted">(@{{ s.operation_type }}-@{{ s.strategy }})</span></div>
  19. </div>
  20. <div v-if="selectedAudit=='express'" v-for="s in auditList.express.C">
  21. <div><b>@{{ s.name }}</b></div>
  22. </div>
  23. <div v-if="selectedAudit=='logistic'" v-for="s in auditList.logistic.C">
  24. <div><b>@{{ s.name }}</b></div>
  25. </div>
  26. <div v-if="selectedAudit=='directLogistic'" v-for="s in auditList.directLogistic.C">
  27. <div><b>@{{ s.name }}</b><span class="text-muted">(起步:@{{ s.base_km }}KM)</span></div>
  28. </div>
  29. <div v-if="selectedAudit=='system'">
  30. <div>使用费:¥<b>@{{ auditList.system.C.usage_fee }}</b></div>
  31. </div>
  32. </div>
  33. </div>
  34. <div class="row" v-if="showAuditPiece.D">
  35. <label class="col-1 text-right h4"><span class="badge badge-danger">删除</span></label>
  36. <label class="col-1 h3 text-danger" style="bottom: 0.25rem">
  37. <span class="fa fa-long-arrow-right"></span>
  38. </label>
  39. <div class="col-10 border-bottom border-danger">
  40. <div v-if="selectedAudit=='storage'" v-for="s in auditList.storage.D">
  41. <table class="table table-sm">
  42. <tr class="text-center">
  43. <th>名称</th>
  44. <th>计费类型</th>
  45. <th>用仓类型</th>
  46. <th>最低起租面积</th>
  47. <th>减免类型</th>
  48. <th>减免值</th>
  49. <th>单位</th>
  50. <th>计时单位</th>
  51. <th>数量-单价</th>
  52. <th>税率</th>
  53. </tr>
  54. <tr>
  55. <td>@{{ s.name }}</td>
  56. <td>@{{ s.counting_type }}</td>
  57. <td>@{{ s.using_type }}</td>
  58. <td>@{{ s.minimum_area }}</td>
  59. <td>@{{ s.discount_type }}</td>
  60. <td>@{{ s.discount_value }}</td>
  61. <td>@{{ s.unit_id }}</td>
  62. <td>@{{ s.time_unit_id }}</td>
  63. <td>
  64. <div class="float-left small" v-if="s.amount_interval">
  65. <span v-for="(a,i) in s.amount_interval" v-if="i!=s.amount_interval.length-1">@{{ a }}-@{{ s.amount_interval[i+1] }}(@{{ s.price[i] }}元)<br></span>
  66. <span>@{{ s.amount_interval[s.amount_interval.length-1] }}&nbsp;+(@{{ s.price[s.amount_interval.length-1] }}元)<br></span>
  67. </div>
  68. <div v-else>
  69. @{{ s.price[0] }}元
  70. </div>
  71. </td>
  72. <td>@{{ s.tax_rate_id }}</td>
  73. </tr>
  74. </table>
  75. </div>
  76. <div v-if="selectedAudit=='operation'" v-for="s in auditList.operation.D">
  77. <table class="table table-sm">
  78. <tr>
  79. <th>名称</th>
  80. <th>作业类型</th>
  81. <th>策略</th>
  82. <th>特征</th>
  83. <th>按单价</th>
  84. <th>按单减免单价</th>
  85. <th>减免值</th>
  86. <th>类型</th>
  87. <th>附加费</th>
  88. <th>附加费单位</th>
  89. <th>封顶费</th>
  90. <th>备注</th>
  91. <th>税率</th>
  92. </tr>
  93. <tr>
  94. <td>@{{ s.name }}</td>
  95. <td>@{{ s.operation_type }}</td>
  96. <td>@{{ s.strategy }}</td>
  97. <td>@{{ s.feature }}</td>
  98. <td>@{{ s.total_price }}</td>
  99. <td>
  100. <div class="float-left small">
  101. <span v-for="(a,i) in s.total_discount_price">@{{ a }}元<br></span>
  102. </div>
  103. </td>
  104. <td>
  105. <div class="float-left small">
  106. <span v-for="(a,i) in s.discount_count" v-if="i!=s.discount_count.length-1">@{{ a }}-@{{ s.discount_count[i+1] }}<br></span>
  107. <span>@{{ s.discount_count[s.discount_count.length-1] }}&nbsp;+<br></span>
  108. </div>
  109. </td>
  110. <td>@{{ s.type_mark }}</td>
  111. <td>@{{ s.surcharge }}</td>
  112. <td>@{{ s.surcharge_unit_id }}</td>
  113. <td>@{{ s.max_fee }}</td>
  114. <td>@{{ s.remark }}</td>
  115. <td>@{{ s.tax_rate_id }}</td>
  116. </tr>
  117. </table>
  118. </div>
  119. <div v-if="selectedAudit=='express'" v-for="s in auditList.express.D">
  120. <table class="table table-sm">
  121. <tr>
  122. <th>名称</th>
  123. <th>首重</th>
  124. <th>续重</th>
  125. <th>数量-重量</th>
  126. <th>税率</th>
  127. </tr>
  128. <tr>
  129. <td>@{{ s.name }}</td>
  130. <td>@{{ s.initial_weight }}</td>
  131. <td>@{{ s.additional_weight }}</td>
  132. <td>
  133. <span v-for="(a,i) in s.amount_interval" v-if="i!=s.amount_interval.length-1">@{{ a }}-@{{ s.amount_interval[i+1] }}/单(
  134. <span v-for="(w,j) in s.weight_interval[i]" v-if="j!=s.weight_interval[i].length">@{{ w }}-@{{ s.weight_interval[i][j+1] }}/KG,</span>
  135. @{{ s.weight_interval[i][s.weight_interval[i].length-1] }}&nbsp;+/KG)<br></span>
  136. <span>@{{ s.amount_interval[s.amount_interval.length-1] }}&nbsp;+/单(
  137. <span v-for="(w,j) in s.weight_interval[s.amount_interval.length-1]" v-if="j!=s.weight_interval[s.amount_interval.length-1].length">@{{ w }}-@{{ s.weight_interval[s.amount_interval.length-1][j+1] }}/KG,</span>
  138. @{{ s.weight_interval[s.amount_interval.length-1][s.weight_interval[s.amount_interval.length-1].length-1] }}&nbsp;+/KG)<br></span>
  139. </td>
  140. <td>@{{ s.tax_rate_id }}</td>
  141. </tr>
  142. </table>
  143. </div>
  144. <div v-if="selectedAudit=='logistic'" v-for="s in auditList.logistic.D">
  145. <table class="table table-sm">
  146. <tr>
  147. <th>名称</th>
  148. <th>单位一</th>
  149. <th>单位一区间</th>
  150. <th>单位二</th>
  151. <th>单位二区间</th>
  152. <th>提货费</th>
  153. <th>燃油附加费</th>
  154. <th>服务费</th>
  155. <th>税率</th>
  156. </tr>
  157. <tr>
  158. <td>@{{ s.name }}</td>
  159. <td>@{{ s.unit_id }}</td>
  160. <td>
  161. <span class="small" v-for="u in s.unit_range">@{{ u }}<br></span>
  162. </td>
  163. <td>@{{ s.other_unit_id }}</td>
  164. <td>
  165. <span class="small" v-for="u in s.other_unit_range">@{{ u }}<br></span>
  166. </td>
  167. <td>@{{ s.pick_up_price }}</td>
  168. <td>@{{ s.fuel_price }}</td>
  169. <td>@{{ s.service_price }}</td>
  170. <td>@{{ s.tax_rate_id }}</td>
  171. </tr>
  172. </table>
  173. </div>
  174. <div v-if="selectedAudit=='directLogistic'" v-for="s in auditList.directLogistic.D">
  175. <table class="table table-sm">
  176. <tr>
  177. <th>名称</th>
  178. <th>起步公里数</th>
  179. <th>税率</th>
  180. </tr>
  181. <tr>
  182. <td>@{{ s.name }}</td>
  183. <td>@{{ s.base_km }}</td>
  184. <td>@{{ s.tax_rate_id }}</td>
  185. </tr>
  186. </table>
  187. </div>
  188. <div v-if="selectedAudit=='system'">
  189. <div>使用费:<b>@{{ auditList.system.D.usage_fee }}</b></div>
  190. <div>税率:<b>@{{ auditList.system.D.tax_rate_id }}</b></div>
  191. <div>计时单位:<b>@{{ poolMapping.units ? poolMapping.units[auditList.system.D.time_unit_id] : '' }}</b></div>
  192. </div>
  193. </div>
  194. </div>
  195. <div class="row" v-if="showAuditPiece.U">
  196. <label class="col-1 text-right h4"><span class="badge badge-primary">修改</span></label>
  197. <label class="col-1 h3 text-primary" style="bottom: 0.25rem">
  198. <span class="fa fa-long-arrow-right"></span>
  199. </label>
  200. <div class="col-10">
  201. <div v-if="selectedAudit=='storage'" v-for="s in auditList.storage.U">
  202. <table class="table table-sm">
  203. <tr>
  204. <th v-for="(val,key) in auditList.mapping.storage">@{{ val }}</th>
  205. </tr>
  206. <tr>
  207. <td v-for="(val,key) in auditList.mapping.storage" v-html="s[key]"></td>
  208. </tr>
  209. </table>
  210. </div>
  211. <div v-if="selectedAudit=='operation'" v-for="s in auditList.operation.U">
  212. <table class="table table-sm">
  213. <tr>
  214. <th v-for="(val,key) in auditList.mapping.operation" v-if="key!='child'">@{{ val }}</th>
  215. <th v-if="s.items.length>0" class="text-center">子项</th>
  216. </tr>
  217. <tr>
  218. <td v-for="(val,key) in auditList.mapping.operation" v-if="key!='child'" v-html="s[key]"></td>
  219. <td v-if="s.items.length>0">
  220. <table class="table table-sm">
  221. <tr><th v-for="(val,key) in auditList.mapping.operation.child">@{{ val }}</th></tr>
  222. <tr v-for="item in s.items" :class="item.operation=='C' ? 'bg-success' : (item.operation=='D' ? 'bg-danger' : '')">
  223. <td v-for="(val,key) in auditList.mapping.operation.child" v-html="item[key]"></td>
  224. </tr>
  225. </table>
  226. </td>
  227. </tr>
  228. </table>
  229. </div>
  230. <div v-if="selectedAudit=='express'" v-for="s in auditList.express.U">
  231. <table class="table table-sm">
  232. <tr>
  233. <th v-for="(val,key) in auditList.mapping.express" v-if="key!='child'">@{{ val }}</th>
  234. <th v-if="s.details.length>0" class="text-center">子项</th>
  235. </tr>
  236. <tr>
  237. <td v-for="(val,key) in auditList.mapping.express" v-if="key!='child'" v-html="s[key]"></td>
  238. <td v-if="s.details.length>0">
  239. <table class="table table-sm">
  240. <tr><th v-for="(val,key) in auditList.mapping.express.child">@{{ val }}</th></tr>
  241. <tr v-for="item in s.details" :class="item.operation=='C' ? 'bg-success' : (item.operation=='D' ? 'bg-danger' : '')">
  242. <td v-for="(val,key) in auditList.mapping.express.child" v-html="item[key]"></td>
  243. </tr>
  244. </table>
  245. </td>
  246. </tr>
  247. </table>
  248. </div>
  249. <div v-if="selectedAudit=='logistic'" v-for="s in auditList.logistic.U">
  250. <table class="table table-sm">
  251. <tr>
  252. <th v-for="(val,key) in auditList.mapping.logistic" v-if="key!='child'">@{{ val }}</th>
  253. <th v-if="s.details.length>0" class="text-center">子项</th>
  254. </tr>
  255. <tr>
  256. <td v-for="(val,key) in auditList.mapping.logistic" v-if="key!='child'" v-html="s[key]"></td>
  257. <td v-if="s.details.length>0">
  258. <table class="table table-sm">
  259. <tr><th v-for="(val,key) in auditList.mapping.logistic.child">@{{ val }}</th></tr>
  260. <tr v-for="item in s.details" :class="item.operation=='C' ? 'bg-success' : (item.operation=='D' ? 'bg-danger' : '')">
  261. <td v-for="(val,key) in auditList.mapping.logistic.child" v-html="item[key]"></td>
  262. </tr>
  263. </table>
  264. </td>
  265. </tr>
  266. </table>
  267. </div>
  268. <div v-if="selectedAudit=='directLogistic'" v-for="s in auditList.directLogistic.U">
  269. <table class="table table-sm">
  270. <tr>
  271. <th v-for="(val,key) in auditList.mapping.directLogistic" v-if="key!='child'">@{{ val }}</th>
  272. <th v-if="s.details.length>0" class="text-center">子项</th>
  273. </tr>
  274. <tr>
  275. <td v-for="(val,key) in auditList.mapping.directLogistic" v-if="key!='child'" v-html="s[key]"></td>
  276. <td v-if="s.details.length>0">
  277. <table class="table table-sm">
  278. <tr><th v-for="(val,key) in auditList.mapping.directLogistic.child">@{{ val }}</th></tr>
  279. <tr v-for="item in s.details" :class="item.operation=='C' ? 'bg-success' : (item.operation=='D' ? 'bg-danger' : '')">
  280. <td v-for="(val,key) in auditList.mapping.directLogistic.child" v-html="item[key]"></td>
  281. </tr>
  282. </table>
  283. </td>
  284. </tr>
  285. </table>
  286. </div>
  287. <div v-if="selectedAudit=='system'">
  288. <div v-if="auditList.system.H.usage_fee!=auditList.system.U.usage_fee">
  289. <div class="float-left">使用费:</div>
  290. <div class="float-left small text-secondary mt-1">@{{ auditList.system.H.usage_fee }}</div>
  291. <div class="float-left mt-1 mr-4">
  292. <span class="float-left fa fa-arrow-right text-info ml-2 mr-2"></span>
  293. <div class="float-left small text-primary font-weight-bold">@{{ auditList.system.U.usage_fee }}</div>
  294. </div>
  295. </div>
  296. <div v-if="auditList.system.H.time_unit_id!=auditList.system.U.time_unit_id">
  297. <div class="float-left">计时单位:</div>
  298. <div class="float-left small text-secondary mt-1">@{{ auditList.system.H.time_unit_id ? auditList.system.H.time_unit_id : '无' }}</div>
  299. <div class="float-left mt-1">
  300. <span class="float-left fa fa-arrow-right text-info ml-2 mr-2"></span>
  301. <div class="float-left small text-primary font-weight-bold">@{{ poolMapping.units ? poolMapping.units[auditList.system.D.time_unit_id] : '' }}</div>
  302. </div>
  303. </div>
  304. <div v-if="auditList.system.H.tax_rate_id!=auditList.system.U.tax_rate_id">
  305. <div class="float-left">税率:</div>
  306. <div class="float-left small text-secondary mt-1">@{{ auditList.system.H.tax_rate_id ? auditList.system.H.tax_rate_id : '无' }}</div>
  307. <div class="float-left mt-1">
  308. <span class="float-left fa fa-arrow-right text-info ml-2 mr-2"></span>
  309. <div class="float-left small text-primary font-weight-bold">@{{ auditList.system.U.tax_rate_id }}</div>
  310. </div>
  311. </div>
  312. </div>
  313. </div>
  314. </div>
  315. </div>
  316. <div class="modal-footer">
  317. <button @click="exeAuditOrRecoverModel()" class="float-right btn" :class="isAudit ? 'btn-success' : 'btn-danger'">
  318. <label v-if="isAudit">审核内容确认</label>
  319. <label v-else>回滚内容确认</label>
  320. </button>
  321. </div>
  322. </div>
  323. </div>
  324. </div>