outward_detail.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486
  1. <style>
  2. body.is-dialog .outward-detail-wrap {
  3. margin: 0;
  4. padding: 12px 14px 0;
  5. max-width: 100%;
  6. box-sizing: border-box;
  7. }
  8. .outward-detail-head {
  9. margin-bottom: 10px;
  10. font-size: 13px;
  11. color: #666;
  12. line-height: 1.6;
  13. }
  14. .outward-detail-head strong {
  15. color: #333;
  16. }
  17. .outward-detail-table-wrap,
  18. .outward-confirm-process-wrap {
  19. /* 不在表格区域内部纵向滚动,由弹窗页面整体滚动 */
  20. overflow-x: auto;
  21. overflow-y: visible;
  22. max-height: none;
  23. -webkit-overflow-scrolling: touch;
  24. margin-bottom: 12px;
  25. border: 1px solid #e5e5e5;
  26. }
  27. .outward-confirm-company-wrap {
  28. overflow-x: auto;
  29. overflow-y: visible;
  30. max-height: none;
  31. -webkit-overflow-scrolling: touch;
  32. margin-bottom: 12px;
  33. border: 1px solid #e5e5e5;
  34. }
  35. .outward-detail-table-wrap {
  36. max-height: none;
  37. border: 0;
  38. }
  39. .outward-detail-table {
  40. table-layout: fixed;
  41. width: 100%;
  42. min-width: 1320px;
  43. margin-bottom: 0;
  44. }
  45. .outward-confirm-process-table,
  46. .outward-confirm-company-table {
  47. margin: 0;
  48. font-size: 12px;
  49. table-layout: fixed;
  50. width: 100%;
  51. min-width: 1100px;
  52. }
  53. .outward-confirm-process-table th:nth-child(3),
  54. .outward-confirm-process-table td.outward-process-name,
  55. .outward-confirm-company-table td.outward-process-name {
  56. white-space: nowrap;
  57. }
  58. .outward-detail-table > thead > tr > th,
  59. .outward-detail-table > tbody > tr > td,
  60. .outward-confirm-process-table th,
  61. .outward-confirm-process-table td,
  62. .outward-confirm-company-table th,
  63. .outward-confirm-company-table td {
  64. vertical-align: middle;
  65. word-wrap: break-word;
  66. word-break: break-word;
  67. white-space: normal;
  68. line-height: 1.45;
  69. padding: 6px 8px;
  70. }
  71. .outward-confirm-process-table th,
  72. .outward-confirm-company-table th {
  73. background: #f5f5f5;
  74. font-weight: 600;
  75. white-space: nowrap;
  76. border: 1px solid #ddd !important;
  77. }
  78. .outward-confirm-process-table td,
  79. .outward-confirm-company-table td {
  80. border: 1px solid #ddd !important;
  81. }
  82. .outward-detail-table > thead > tr > th {
  83. font-weight: 600;
  84. white-space: nowrap;
  85. background: #f5f5f5;
  86. border: 1px solid #ddd !important;
  87. }
  88. .outward-detail-table > tbody > tr > td {
  89. border: 1px solid #ddd !important;
  90. }
  91. .outward-detail-table .col-title {
  92. white-space: normal;
  93. }
  94. .outward-detail-table .col-amount,
  95. .outward-detail-table .col-delivery {
  96. text-align: center;
  97. white-space: nowrap;
  98. }
  99. .outward-detail-table .col-sn,
  100. .outward-detail-table .col-time {
  101. white-space: nowrap;
  102. }
  103. .outward-confirm-block-title {
  104. margin: 0 0 6px;
  105. font-weight: 600;
  106. font-size: 13px;
  107. color: #333;
  108. }
  109. .outward-confirm-meta-row {
  110. display: flex;
  111. align-items: center;
  112. flex-wrap: wrap;
  113. gap: 6px 12px;
  114. margin: 0 0 10px;
  115. font-size: 13px;
  116. line-height: 1.5;
  117. }
  118. .outward-confirm-deadline-row {
  119. display: flex;
  120. align-items: center;
  121. flex-wrap: wrap;
  122. gap: 10px 20px;
  123. margin: 0 0 10px;
  124. font-size: 13px;
  125. }
  126. .outward-confirm-deadline-item {
  127. display: flex;
  128. flex-wrap: wrap;
  129. align-items: center;
  130. gap: 8px 10px;
  131. }
  132. .outward-confirm-deadline-row .deadline-label {
  133. font-weight: 600;
  134. color: #333;
  135. white-space: nowrap;
  136. margin: 0;
  137. }
  138. .outward-confirm-delivery-deadline-input {
  139. width: 148px;
  140. min-width: 132px;
  141. height: 32px;
  142. padding: 4px 8px;
  143. font-size: 13px;
  144. }
  145. .outward-confirm-deadline-wrap.procuremen-sys-rq-split .procuremen-sys-rq-fields {
  146. display: flex;
  147. flex-wrap: wrap;
  148. align-items: center;
  149. gap: 8px;
  150. }
  151. .outward-confirm-deadline-wrap.procuremen-sys-rq-split .procuremen-sys-rq-date {
  152. width: 148px;
  153. min-width: 132px;
  154. height: 32px;
  155. padding: 4px 8px;
  156. font-size: 13px;
  157. }
  158. .outward-confirm-deadline-wrap.procuremen-sys-rq-split .procuremen-sys-rq-time-group {
  159. display: inline-flex;
  160. align-items: center;
  161. gap: 4px;
  162. }
  163. .outward-confirm-deadline-wrap.procuremen-sys-rq-split .procuremen-sys-rq-hour,
  164. .outward-confirm-deadline-wrap.procuremen-sys-rq-split .procuremen-sys-rq-minute {
  165. width: 62px;
  166. height: 32px;
  167. padding: 4px 6px;
  168. font-size: 13px;
  169. }
  170. .outward-confirm-deadline-wrap.procuremen-sys-rq-split .procuremen-sys-rq-colon {
  171. color: #666;
  172. font-weight: 600;
  173. line-height: 32px;
  174. }
  175. .outward-confirm-deadline-wrap.procuremen-sys-rq-split.is-readonly .procuremen-sys-rq-date,
  176. .outward-confirm-deadline-wrap.procuremen-sys-rq-split.is-readonly .procuremen-sys-rq-hour,
  177. .outward-confirm-deadline-wrap.procuremen-sys-rq-split.is-readonly .procuremen-sys-rq-minute {
  178. background-color: #f5f5f5;
  179. color: #333;
  180. cursor: default;
  181. pointer-events: none;
  182. box-shadow: none;
  183. }
  184. .outward-confirm-company-table.outward-confirm-readonly tbody tr {
  185. cursor: default;
  186. }
  187. .outward-confirm-company-table.outward-confirm-readonly .pod-company-pick-cb {
  188. pointer-events: none;
  189. cursor: default;
  190. }
  191. .outward-confirm-company-table.outward-confirm-readonly label {
  192. cursor: default;
  193. }
  194. .outward-confirm-company-table td label {
  195. margin: 0;
  196. font-weight: normal;
  197. cursor: pointer;
  198. }
  199. .outward-confirm-company-table tbody tr {
  200. cursor: pointer;
  201. }
  202. .outward-confirm-company-table td.outward-quote-empty {
  203. color: #e67e22;
  204. }
  205. .outward-confirm-quote-cell {
  206. font-size: 12px;
  207. line-height: 1.55;
  208. }
  209. .outward-confirm-quote-item {
  210. padding: 4px 0;
  211. }
  212. .outward-confirm-quote-item + .outward-confirm-quote-item {
  213. margin-top: 6px;
  214. padding-top: 6px;
  215. border-top: 1px dashed #e8e8e8;
  216. }
  217. .outward-confirm-quote-item div {
  218. margin: 0;
  219. }
  220. .outward-detail-wrap .audit-notify-tip {
  221. margin: 0 0 10px;
  222. padding: 8px 12px;
  223. font-size: 12px;
  224. line-height: 1.65;
  225. color: #8a6d3b;
  226. background: #fcf8e3;
  227. border: 1px solid #faebcc;
  228. border-radius: 3px;
  229. }
  230. .outward-detail-wrap .audit-score-rule-tip {
  231. margin: 0 0 8px;
  232. padding: 6px 10px;
  233. font-size: 12px;
  234. line-height: 1.5;
  235. color: #31708f;
  236. background: #f0f7fb;
  237. border: 1px solid #d9edf7;
  238. border-radius: 3px;
  239. }
  240. .outward-detail-wrap .audit-score-rule-tip strong {
  241. color: #245269;
  242. }
  243. .btn.procuremen-btn-slate {
  244. color: #fff !important;
  245. background-color: #4b5573 !important;
  246. border-color: #3e4659 !important;
  247. }
  248. .btn.procuremen-btn-slate:hover,
  249. .btn.procuremen-btn-slate:focus,
  250. .btn.procuremen-btn-slate:active {
  251. color: #fff !important;
  252. background-color: #3f485f !important;
  253. border-color: #353c4c !important;
  254. }
  255. </style>
  256. <div class="panel panel-default panel-intro outward-detail-wrap outward-confirm-readonly" style="border:0;box-shadow:none;"
  257. data-scydgy-id="{$scydgyId|htmlentities}"
  258. data-purchase-order-id="{$purchaseOrderId|default=0}"
  259. data-confirm-process-count="{$confirmProcessCount|default=1}"
  260. data-required-sids="{$requiredSidListJson|htmlentities}"
  261. data-all-details-by-sid="{$allDetailsBySidJson|htmlentities}">
  262. <div style="display:none;">{:token()}</div>
  263. {if $showPurchaseConfirm}
  264. {if $processDisplayRows}
  265. <div class="outward-confirm-process-wrap">
  266. <table class="table table-bordered table-condensed outward-confirm-process-table">
  267. <colgroup>
  268. <col style="width:100px"/>
  269. <col style="width:26%"/>
  270. <col style="width:120px"/>
  271. <col style="width:80px"/>
  272. <col style="width:72px"/>
  273. <col style="width:72px"/>
  274. <col style="width:72px"/>
  275. <col style="width:80px"/>
  276. <col/>
  277. </colgroup>
  278. <thead>
  279. <tr>
  280. <th class="text-center">订单号</th>
  281. <th>印件名称</th>
  282. <th>工序名称</th>
  283. <th class="text-center">单位</th>
  284. <th class="text-center">工作量</th>
  285. <th class="text-center">本次数量</th>
  286. <th class="text-center">最高限价</th>
  287. <th class="text-center">订法</th>
  288. <th>备注</th>
  289. </tr>
  290. </thead>
  291. <tbody>
  292. {volist name="processDisplayRows" id="pr"}
  293. <tr>
  294. {if $pr.show_order_cells}
  295. <td class="text-center"{if condition="$pr.order_rowspan gt 1"} rowspan="{$pr.order_rowspan}"{/if}>{$pr.CCYDH|default=''}</td>
  296. <td{if condition="$pr.order_rowspan gt 1"} rowspan="{$pr.order_rowspan}"{/if}>{$pr.CYJMC|default=''}</td>
  297. {/if}
  298. <td class="outward-process-name">{$pr.CGYMC|default=''}</td>
  299. <td class="text-center">{$pr.CDW|default=''}</td>
  300. <td class="text-center">{$pr.NGZL|default=''}</td>
  301. <td class="text-center">{$pr.This_quantity|default=''}</td>
  302. <td class="text-center">{$pr.ceilingPrice|default=''}</td>
  303. <td class="text-center">{$pr.CDF|default=''}</td>
  304. <td>{$pr.MBZ|default=''}</td>
  305. </tr>
  306. {/volist}
  307. </tbody>
  308. </table>
  309. </div>
  310. {/if}
  311. <div class="outward-confirm-deadline-row">
  312. <div class="outward-confirm-deadline-item">
  313. <label class="deadline-label">招标截止日期:</label>
  314. <div class="outward-confirm-deadline-wrap procuremen-sys-rq-split is-readonly" id="outward-confirm-sys-rq-wrap" title="仅查看,不可修改">
  315. <input type="hidden" id="outward-confirm-sys-rq" name="sys_rq" value="{$sysRq|default=''|htmlentities}"/>
  316. <div class="procuremen-sys-rq-fields">
  317. <input type="date" class="form-control procuremen-sys-rq-date" title="招标截止日期" readonly="readonly" disabled="disabled" tabindex="-1"/>
  318. <div class="procuremen-sys-rq-time-group">
  319. <select class="form-control procuremen-sys-rq-hour" title="时" disabled="disabled" tabindex="-1"></select>
  320. <span class="procuremen-sys-rq-colon">:</span>
  321. <select class="form-control procuremen-sys-rq-minute" title="分" disabled="disabled" tabindex="-1"></select>
  322. </div>
  323. </div>
  324. </div>
  325. </div>
  326. <div class="outward-confirm-deadline-item">
  327. <label class="deadline-label">交货截止日期:</label>
  328. <input type="text" class="form-control outward-confirm-delivery-deadline-input" value="{$deliveryDeadline|default=''|htmlentities}" title="交货截止日期" readonly="readonly" disabled="disabled" tabindex="-1" placeholder=""/>
  329. </div>
  330. </div>
  331. <p class="audit-notify-tip">
  332. 审批通过:将向中标供应商发送「已通过」短信、向未中标供应商发送「未通过」短信。
  333. </p>
  334. {if !empty($bidOpenVerified)}
  335. <p class="audit-score-rule-tip">
  336. <i class="fa fa-info-circle"></i>
  337. <strong>评分规则:</strong>{$supplierScoreRuleText|default='(总分)=(商务/技术得分×50%)+(价格得分);价格得分=(最低单价合计/本供应商单价合计)×50%×100'|htmlentities}
  338. </p>
  339. {/if}
  340. <p class="outward-confirm-block-title">供应商({$confirmPickCount|default=0} 家)</p>
  341. <div class="outward-confirm-company-wrap">
  342. <table class="table table-bordered table-condensed outward-confirm-company-table outward-confirm-readonly">
  343. <thead>
  344. <tr>
  345. <th class="text-center" style="width:52px;">选定</th>
  346. <th style="min-width:140px;">供应商名称</th>
  347. <th style="width:88px;">姓名</th>
  348. <th style="min-width:160px;">邮箱</th>
  349. <th style="width:120px;">手机号</th>
  350. <th class="text-center" style="width:56px;">排名</th>
  351. <th class="text-center" style="width:88px;">商务/技术得分</th>
  352. <th class="text-center" style="width:80px;" title="价格得分=(最低单价合计/本供应商单价合计)×价格权重%×100">价格得分</th>
  353. <th class="text-center" style="width:72px;">总分</th>
  354. <th style="width:120px;">工序名称</th>
  355. <th class="text-center" style="width:112px;">单价</th>
  356. <th class="text-center" style="width:88px;">预估工期</th>
  357. <th class="text-center" style="width:118px;">交货日期</th>
  358. <th class="text-center" style="width:100px;">小计</th>
  359. <th class="text-center" style="width:148px;">操作时间</th>
  360. </tr>
  361. </thead>
  362. <tbody>
  363. {volist name="confirmPickGroups" id="co" key="k"}
  364. {volist name="co.pick_lines" id="ql" key="lk"}
  365. <tr class="outward-confirm-supplier-row" data-supplier-idx="{$k-1}">
  366. {if $lk == 1}
  367. <td class="text-center"{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;">
  368. <label>
  369. <input type="checkbox" class="pod-company-pick-cb" name="pod_company_pick[]" value="{$k-1}" disabled="disabled" tabindex="-1"
  370. data-detail-picks="{$co.detail_picks_json|htmlentities}"
  371. {if condition="$pickedCompanyName neq '' && $pickedCompanyName eq $co.name"} checked="checked"{/if}/>
  372. </label>
  373. </td>
  374. <td{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;">{$co.name|default=''|htmlentities}</td>
  375. <td{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;">{$co.username|default=''|htmlentities}</td>
  376. <td{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;">{:htmlentities(mask_email(isset($co['email']) ? $co['email'] : ''))}</td>
  377. <td{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;">{:htmlentities(mask_phone(isset($co['phone']) ? $co['phone'] : ''))}</td>
  378. <td class="text-center"{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;">{if condition="!empty($bidOpenVerified)"}{$co.service_rank_text|default=''|htmlentities}{/if}</td>
  379. <td class="text-center"{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;">{if condition="!empty($bidOpenVerified)"}{$co.service_quality_score_text|default=''|htmlentities}{/if}</td>
  380. <td class="text-center"{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;"{if condition="!empty($bidOpenVerified)"} title="单价合计 {$co.service_price_sum_text|default=''|htmlentities}"{/if}>{if condition="!empty($bidOpenVerified)"}{$co.service_price_score_text|default=''|htmlentities}{/if}</td>
  381. <td class="text-center"{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;font-weight:600;">{if condition="!empty($bidOpenVerified)"}{$co.service_score_text|default=''|htmlentities}{/if}</td>
  382. {/if}
  383. <td class="outward-process-name">{$ql.cgymc|default=''|htmlentities}</td>
  384. <td class="text-center{if condition="!empty($ql.amount_quote_pending)"} outward-quote-empty{elseif condition="$ql.amount_filled neq 1"} outward-quote-empty{/if}">{$ql.unit_price_text|default='未填写'|htmlentities}</td>
  385. <td class="text-center{if condition="!empty($ql.lead_days_quote_pending)"} outward-quote-empty{elseif condition="$ql.lead_days_filled neq 1"} outward-quote-empty{/if}">{$ql.lead_days_text|default='未填写'|htmlentities}</td>
  386. <td class="text-center{if condition="!empty($ql.delivery_quote_pending)"} outward-quote-empty{elseif condition="$ql.delivery_filled neq 1"} outward-quote-empty{/if}">{$ql.delivery_text|default='未填写'|htmlentities}</td>
  387. <td class="text-center">{$ql.subtotal_text|default=''|htmlentities}</td>
  388. <td class="text-center">{$ql.oper_time_text|default=''|htmlentities}</td>
  389. </tr>
  390. {/volist}
  391. {if !empty($co.has_remark)}
  392. <tr class="outward-confirm-supplier-row{if !empty($co.is_void)} text-muted{/if}" data-supplier-idx="{$k-1}">
  393. <td><strong>备注</strong></td>
  394. <td colspan="5" class="{if !empty($co.remark_quote_pending)}outward-quote-empty{/if}" style="text-align:left;vertical-align:middle;">{$co.remark|default=''|htmlentities}</td>
  395. </tr>
  396. {/if}
  397. {if !empty($co.has_total)}
  398. <tr class="active outward-confirm-supplier-row" data-supplier-idx="{$k-1}">
  399. <td><strong>总计</strong></td>
  400. <td></td>
  401. <td></td>
  402. <td></td>
  403. <td class="text-center"><strong>{$co.total_text|default=''|htmlentities}</strong></td>
  404. <td></td>
  405. </tr>
  406. {/if}
  407. {/volist}
  408. {empty name="confirmPickGroups"}
  409. <tr>
  410. <td colspan="20" class="text-center text-muted">暂无供应商报价</td>
  411. </tr>
  412. {/empty}
  413. </tbody>
  414. </table>
  415. </div>
  416. <div class="form-group layer-footer">
  417. <div class="row procuremen-outward-confirm-footer-row">
  418. <div class="col-xs-12 procuremen-outward-confirm-footer-btns">
  419. {if $auth->check('procuremen/purchaseconfirmpick')}
  420. <button type="button" style="margin-right: 20px" class="btn procuremen-btn-slate btn-embossed" id="btn-pod-purchase-confirm"><i class="fa fa-check"></i> 审批通过</button>
  421. {/if}
  422. {if $auth->check('procuremen/purchaseapprovalreject')}
  423. <button type="button" style="margin-right: 20px" class="btn btn-warning btn-embossed" id="btn-pod-purchase-reject"><i class="fa fa-undo"></i> 审批驳回</button>
  424. {/if}
  425. <button type="button" style="margin-right: 20px" class="btn btn-default btn-embossed" id="btn-pod-purchase-close"><i class="fa fa-times"></i> 关闭</button>
  426. </div>
  427. </div>
  428. </div>
  429. {else /}
  430. <div class="table-responsive outward-detail-table-wrap">
  431. <table class="table table-striped table-bordered table-hover outward-detail-table">
  432. <colgroup>
  433. <col style="width:48px" />
  434. <col style="width:118px" />
  435. <col style="width:200px" />
  436. <col style="width:92px" />
  437. <col style="width:128px" />
  438. <col style="width:200px" />
  439. <col style="width:240px" />
  440. <col style="width:108px" />
  441. <col style="width:148px" />
  442. </colgroup>
  443. <thead>
  444. <tr>
  445. <th class="col-sn">序号</th>
  446. <th>订单号</th>
  447. <th class="col-title">印件名称</th>
  448. <th class="col-amount">加工金额</th>
  449. <th class="col-delivery">交货日期</th>
  450. <th>供应商名称</th>
  451. <th>邮箱</th>
  452. <th>手机号</th>
  453. <th class="col-time">审核时间</th>
  454. </tr>
  455. </thead>
  456. <tbody>
  457. {volist name="rows" id="r"}
  458. <tr>
  459. <td class="text-center col-sn">{$i}</td>
  460. <td>{$r.CCYDH|default=''}</td>
  461. <td class="col-title">{$r.CYJMC|default=''}</td>
  462. <td class="col-amount">{$r.amount|default=''}</td>
  463. <td class="col-delivery">{$r.delivery|default=''}</td>
  464. <td>{$r.company_name|default=''}</td>
  465. <td>{:htmlentities(mask_email(isset($r['email']) ? $r['email'] : ''))}</td>
  466. <td>{:htmlentities(mask_phone(isset($r['phone']) ? $r['phone'] : ''))}</td>
  467. <td class="col-time">{$r.createtime_text|default=''}</td>
  468. </tr>
  469. {/volist}
  470. {empty name="rows"}
  471. <tr>
  472. <td colspan="{$detailColspan|default=9}" class="text-center text-muted">暂无记录</td>
  473. </tr>
  474. {/empty}
  475. </tbody>
  476. </table>
  477. </div>
  478. {/if}
  479. </div>