audit_issue.html 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705
  1. <style>
  2. body.is-dialog .audit-issue-wrap {
  3. padding: 12px 14px 0;
  4. max-width: 100%;
  5. box-sizing: border-box;
  6. }
  7. .audit-issue-wrap .audit-block-title {
  8. margin: 0 0 6px;
  9. font-weight: 600;
  10. font-size: 13px;
  11. color: #333;
  12. }
  13. .audit-issue-wrap .audit-batch-head {
  14. margin: 0 0 8px;
  15. padding: 8px 10px;
  16. font-size: 13px;
  17. font-weight: 600;
  18. color: #333;
  19. background: #f5f7fa;
  20. border: 1px solid #e5e5e5;
  21. border-radius: 3px;
  22. }
  23. .audit-issue-wrap .audit-batch-head .audit-batch-no {
  24. color: #337ab7;
  25. font-weight: 700;
  26. }
  27. .audit-issue-wrap .audit-notify-tip {
  28. margin: 0 0 10px;
  29. padding: 8px 12px;
  30. font-size: 12px;
  31. line-height: 1.65;
  32. color: #8a6d3b;
  33. background: #fcf8e3;
  34. border: 1px solid #faebcc;
  35. border-radius: 3px;
  36. }
  37. .audit-issue-wrap .audit-score-rule-tip {
  38. margin: 0 0 8px;
  39. padding: 6px 10px;
  40. font-size: 12px;
  41. line-height: 1.5;
  42. color: #31708f;
  43. background: #f0f7fb;
  44. border: 1px solid #d9edf7;
  45. border-radius: 3px;
  46. }
  47. .audit-issue-wrap .audit-score-rule-tip strong {
  48. color: #245269;
  49. }
  50. .audit-issue-wrap .audit-manual-pick-inline {
  51. display: flex;
  52. flex-direction: column;
  53. gap: 2px;
  54. flex: 1 1 220px;
  55. min-width: 0;
  56. margin-left: 8px;
  57. font-size: 13px;
  58. font-weight: 400;
  59. color: #555;
  60. line-height: 1.45;
  61. white-space: normal;
  62. vertical-align: middle;
  63. }
  64. .audit-issue-wrap .audit-manual-pick-inline .audit-manual-pick-line {
  65. display: block;
  66. }
  67. .audit-issue-wrap .audit-manual-pick-inline strong {
  68. color: #333;
  69. font-weight: 600;
  70. }
  71. .audit-issue-wrap .audit-order-type-text {
  72. display: inline-block;
  73. min-height: 30px;
  74. line-height: 30px;
  75. font-size: 13px;
  76. font-weight: 600;
  77. color: #333;
  78. vertical-align: middle;
  79. }
  80. .audit-issue-wrap .audit-table-wrap {
  81. /* 不在表格区域内部纵向滚动,由弹窗页面整体滚动 */
  82. max-height: none;
  83. overflow-x: auto;
  84. overflow-y: visible;
  85. margin-bottom: 12px;
  86. border: 1px solid #e5e5e5;
  87. }
  88. .audit-issue-wrap .audit-process-table {
  89. margin: 0;
  90. font-size: 12px;
  91. table-layout: fixed;
  92. width: 100%;
  93. min-width: 0;
  94. max-width: 100%;
  95. }
  96. .audit-issue-wrap .audit-process-table td.audit-process-name {
  97. white-space: nowrap;
  98. }
  99. .audit-issue-wrap .audit-process-table th.audit-col-name,
  100. .audit-issue-wrap .audit-process-table td.audit-col-name {
  101. width: 26%;
  102. white-space: normal;
  103. word-break: break-word;
  104. }
  105. .audit-issue-wrap .audit-process-table th.audit-col-remark,
  106. .audit-issue-wrap .audit-process-table td.audit-col-remark {
  107. width: 120px;
  108. max-width: 120px;
  109. white-space: normal;
  110. word-break: break-word;
  111. }
  112. .audit-issue-wrap .audit-process-table th {
  113. background: #f5f5f5;
  114. white-space: nowrap;
  115. font-weight: 600;
  116. padding: 6px 8px;
  117. vertical-align: middle;
  118. border: 1px solid #ddd !important;
  119. }
  120. .audit-issue-wrap .audit-process-table th.text-center,
  121. .audit-issue-wrap .audit-process-table td.text-center {
  122. text-align: center;
  123. }
  124. .audit-issue-wrap .audit-process-table td {
  125. padding: 6px 8px;
  126. vertical-align: middle;
  127. word-wrap: break-word;
  128. word-break: break-word;
  129. white-space: normal;
  130. line-height: 1.45;
  131. border: 1px solid #ddd !important;
  132. }
  133. .audit-issue-wrap .audit-table {
  134. margin: 0;
  135. font-size: 12px;
  136. border-collapse: collapse;
  137. }
  138. .audit-issue-wrap .audit-table th {
  139. background: #f5f5f5;
  140. white-space: nowrap;
  141. font-weight: 600;
  142. padding: 6px 8px;
  143. vertical-align: middle;
  144. border: 1px solid #ddd !important;
  145. }
  146. .audit-issue-wrap .audit-table td {
  147. padding: 6px 8px;
  148. vertical-align: middle;
  149. word-wrap: break-word;
  150. line-height: 1.45;
  151. border: 1px solid #ddd !important;
  152. }
  153. .audit-issue-wrap .audit-quote-pick-table tbody tr {
  154. cursor: pointer;
  155. }
  156. .audit-issue-wrap .audit-quote-pick-table td label {
  157. margin: 0;
  158. font-weight: normal;
  159. cursor: pointer;
  160. }
  161. .audit-issue-wrap .audit-quote-item {
  162. margin-bottom: 6px;
  163. font-size: 12px;
  164. line-height: 1.5;
  165. }
  166. .audit-issue-wrap .audit-quote-item:last-child {
  167. margin-bottom: 0;
  168. }
  169. .audit-issue-wrap .audit-deadline-row {
  170. display: flex;
  171. align-items: flex-start;
  172. flex-wrap: wrap;
  173. gap: 10px 20px;
  174. margin: 0 0 12px;
  175. font-size: 13px;
  176. position: relative;
  177. z-index: 61;
  178. overflow: visible;
  179. width: 100%;
  180. }
  181. .audit-issue-wrap .audit-deadline-item {
  182. display: flex;
  183. flex-wrap: wrap;
  184. align-items: flex-start;
  185. gap: 8px 10px;
  186. }
  187. .audit-issue-wrap .audit-deadline-row .audit-field-label {
  188. font-weight: 600;
  189. color: #333;
  190. white-space: nowrap;
  191. flex-shrink: 0;
  192. margin: 7px 0 0;
  193. }
  194. .audit-issue-wrap .audit-deadline-input-wrap {
  195. position: relative;
  196. flex: 0 1 auto;
  197. min-width: 0;
  198. z-index: 62;
  199. }
  200. .audit-issue-wrap .audit-delivery-deadline-input {
  201. width: 128px;
  202. min-width: 128px;
  203. max-width: 128px;
  204. height: 32px;
  205. padding: 4px 6px;
  206. margin-top: 0;
  207. box-sizing: border-box;
  208. }
  209. .audit-issue-wrap .procuremen-sys-rq-split .procuremen-sys-rq-fields {
  210. display: flex;
  211. flex-wrap: nowrap;
  212. align-items: center;
  213. gap: 4px;
  214. }
  215. .audit-issue-wrap .procuremen-sys-rq-split .procuremen-sys-rq-date {
  216. width: 128px;
  217. min-width: 128px;
  218. max-width: 128px;
  219. height: 32px;
  220. padding: 4px 6px;
  221. box-sizing: border-box;
  222. }
  223. .audit-issue-wrap .procuremen-sys-rq-split .procuremen-sys-rq-date::-webkit-calendar-picker-indicator {
  224. margin: 0 0 0 2px;
  225. padding: 0;
  226. width: 14px;
  227. cursor: default;
  228. }
  229. .audit-issue-wrap .procuremen-sys-rq-split .procuremen-sys-rq-time-group {
  230. display: inline-flex;
  231. align-items: center;
  232. gap: 2px;
  233. flex-shrink: 0;
  234. }
  235. .audit-issue-wrap .procuremen-sys-rq-split .procuremen-sys-rq-hour,
  236. .audit-issue-wrap .procuremen-sys-rq-split .procuremen-sys-rq-minute {
  237. width: 54px;
  238. min-width: 54px;
  239. height: 32px;
  240. padding: 4px 4px;
  241. }
  242. .audit-issue-wrap .procuremen-sys-rq-split .procuremen-sys-rq-colon {
  243. color: #666;
  244. font-weight: 600;
  245. line-height: 32px;
  246. }
  247. .audit-issue-wrap .procuremen-sys-rq-split.is-readonly .procuremen-sys-rq-date,
  248. .audit-issue-wrap .procuremen-sys-rq-split.is-readonly .procuremen-sys-rq-hour,
  249. .audit-issue-wrap .procuremen-sys-rq-split.is-readonly .procuremen-sys-rq-minute {
  250. background-color: #f5f5f5;
  251. color: #333;
  252. cursor: default;
  253. pointer-events: none;
  254. }
  255. .audit-issue-wrap .audit-op-cell {
  256. white-space: nowrap;
  257. }
  258. .audit-issue-wrap .audit-op-cell .btn {
  259. padding: 2px 7px;
  260. font-size: 12px;
  261. margin: 0 2px 2px 0;
  262. }
  263. .audit-issue-wrap .audit-table-wrap.audit-quote-table-wrap {
  264. max-height: none;
  265. overflow-x: auto;
  266. overflow-y: visible;
  267. }
  268. .audit-issue-wrap .audit-quote-detail-table {
  269. min-width: 1580px;
  270. }
  271. .audit-issue-wrap .audit-quote-detail-table td.audit-quote-empty {
  272. color: #e67e22;
  273. }
  274. .audit-issue-wrap .audit-deadline-item.audit-bid-open-item {
  275. align-items: flex-start;
  276. margin-top: 0;
  277. flex: 1 1 320px;
  278. min-width: 0;
  279. }
  280. .audit-issue-wrap .audit-deadline-item.audit-manual-pick-item {
  281. align-items: center;
  282. margin-top: 0;
  283. margin-left: auto;
  284. flex-shrink: 0;
  285. }
  286. .audit-issue-wrap .audit-deadline-row .audit-append-supplier-btn {
  287. flex-shrink: 0;
  288. height: 32px;
  289. line-height: 20px;
  290. margin-right: 8px;
  291. }
  292. .audit-issue-wrap .audit-deadline-row .audit-bid-open-btn {
  293. flex-shrink: 0;
  294. height: 32px;
  295. line-height: 20px;
  296. margin-left: 0;
  297. }
  298. .audit-issue-wrap .audit-deadline-row .audit-manual-pick-btn {
  299. flex-shrink: 0;
  300. height: 32px;
  301. line-height: 20px;
  302. margin-left: 0;
  303. }
  304. .audit-issue-wrap .audit-deadline-row .audit-manual-picked-tag {
  305. flex-shrink: 0;
  306. height: 32px;
  307. line-height: 32px;
  308. font-size: 14px;
  309. font-weight: 600;
  310. color: #3c763d;
  311. white-space: nowrap;
  312. margin-right: 8px;
  313. }
  314. .audit-issue-wrap .audit-deadline-row .audit-bid-open-verified-tag {
  315. flex-shrink: 0;
  316. height: 32px;
  317. line-height: 32px;
  318. font-size: 15px;
  319. font-weight: 600;
  320. color: #3c763d;
  321. white-space: nowrap;
  322. margin-left: 0;
  323. }
  324. .audit-issue-wrap .audit-deadline-row .audit-bid-open-verified-tag .fa {
  325. font-size: 16px;
  326. margin-right: 4px;
  327. vertical-align: -1px;
  328. }
  329. .audit-bid-open-modal {
  330. padding: 16px 18px 8px;
  331. font-size: 13px;
  332. overflow: visible;
  333. }
  334. .audit-bid-open-modal .bid-open-tip {
  335. margin: 0 0 12px;
  336. padding: 8px 10px;
  337. color: #8a6d3b;
  338. background: #fcf8e3;
  339. border: 1px solid #faebcc;
  340. border-radius: 3px;
  341. line-height: 1.6;
  342. }
  343. .audit-bid-open-modal .bid-open-row {
  344. display: flex;
  345. align-items: center;
  346. flex-wrap: wrap;
  347. gap: 8px;
  348. margin-bottom: 10px;
  349. position: relative;
  350. }
  351. .audit-bid-open-modal .bid-open-row label {
  352. width: 72px;
  353. margin: 0;
  354. font-weight: 600;
  355. color: #333;
  356. flex-shrink: 0;
  357. }
  358. .audit-bid-open-modal .bid-open-picker {
  359. position: relative;
  360. width: 260px;
  361. flex-shrink: 0;
  362. }
  363. .audit-bid-open-modal .bid-open-picker .bid-open-search {
  364. width: 100%;
  365. height: 32px;
  366. }
  367. .audit-bid-open-modal .bid-open-dropdown {
  368. display: none;
  369. position: absolute;
  370. left: 0;
  371. right: 0;
  372. top: 100%;
  373. margin-top: 2px;
  374. z-index: 19891020;
  375. background: #fff;
  376. border: 1px solid #d2d6de;
  377. border-radius: 3px;
  378. box-shadow: 0 4px 12px rgba(0,0,0,.12);
  379. }
  380. .audit-bid-open-modal .bid-open-dropdown.open {
  381. display: block;
  382. }
  383. .audit-bid-open-modal .bid-open-dropdown-list {
  384. max-height: 180px;
  385. overflow-y: auto;
  386. overflow-x: hidden;
  387. }
  388. .audit-bid-open-modal .bid-open-option {
  389. display: block;
  390. width: 100%;
  391. padding: 7px 10px;
  392. border: 0;
  393. background: #fff;
  394. text-align: left;
  395. font-size: 12px;
  396. line-height: 1.45;
  397. color: #333;
  398. cursor: pointer;
  399. }
  400. .audit-bid-open-modal .bid-open-option:hover,
  401. .audit-bid-open-modal .bid-open-option.active {
  402. background: #f0f7fb;
  403. color: #3c8dbc;
  404. }
  405. .audit-bid-open-modal .bid-open-empty {
  406. padding: 10px;
  407. color: #999;
  408. text-align: center;
  409. font-size: 12px;
  410. }
  411. .audit-bid-open-modal .bid-open-row .bid-open-code {
  412. width: 110px;
  413. height: 32px;
  414. }
  415. .audit-bid-open-modal .bid-open-row .btn-send-code {
  416. min-width: 88px;
  417. }
  418. .audit-issue-wrap .audit-quote-detail-table td.audit-quote-pending {
  419. color: #e67e22;
  420. white-space: nowrap;
  421. min-width: 130px;
  422. }
  423. .audit-issue-wrap .audit-supplier-info-cell {
  424. min-width: 220px;
  425. vertical-align: middle !important;
  426. }
  427. .audit-issue-wrap .audit-supplier-kv {
  428. display: flex;
  429. flex-direction: column;
  430. gap: 4px;
  431. font-size: 12px;
  432. line-height: 1.45;
  433. }
  434. .audit-issue-wrap .audit-supplier-kv-row {
  435. display: flex;
  436. align-items: flex-start;
  437. gap: 8px;
  438. }
  439. .audit-issue-wrap .audit-supplier-kv-label {
  440. flex: 0 0 52px;
  441. color: #666;
  442. white-space: nowrap;
  443. }
  444. .audit-issue-wrap .audit-supplier-kv-val {
  445. flex: 1 1 auto;
  446. min-width: 0;
  447. word-break: break-all;
  448. color: #333;
  449. }
  450. .audit-issue-wrap .proc-process-name-cell {
  451. line-height: 1.35;
  452. white-space: normal;
  453. word-break: break-all;
  454. vertical-align: middle;
  455. }
  456. .audit-issue-wrap .proc-process-name-cell .proc-line-ccydh {
  457. color: #333;
  458. font-weight: 600;
  459. }
  460. .audit-issue-wrap .proc-process-name-cell .proc-line-cgymc {
  461. color: #555;
  462. margin-top: 2px;
  463. }
  464. </style>
  465. <div class="audit-issue-wrap">
  466. <div class="audit-batch-head">
  467. <span class="audit-batch-no">批次号:{notempty name="orderBatchNo"}{$orderBatchNo|htmlentities}{/notempty}</span>
  468. </div>
  469. {if $processDisplayRows}
  470. <div class="audit-table-wrap">
  471. <table class="table table-bordered table-condensed audit-process-table">
  472. <colgroup>
  473. <col style="width:100px"/>
  474. <col style="width:26%"/>
  475. <col style="width:120px"/>
  476. <col style="width:80px"/>
  477. <col style="width:72px"/>
  478. <col style="width:72px"/>
  479. <col style="width:80px"/>
  480. <col style="width:120px"/>
  481. </colgroup>
  482. <thead>
  483. <tr>
  484. <th class="text-center">订单号</th>
  485. <th class="audit-col-name">印件名称</th>
  486. <th>工序名称</th>
  487. <th class="text-center">单位</th>
  488. <th class="text-center">本次数量</th>
  489. <th class="text-center">最高限价</th>
  490. <th class="text-center">订法</th>
  491. <th class="audit-col-remark">招标备注</th>
  492. </tr>
  493. </thead>
  494. <tbody>
  495. {volist name="processDisplayRows" id="pr"}
  496. <tr>
  497. {if $pr.show_order_cells}
  498. <td class="text-center"{if condition="$pr.order_rowspan gt 1"} rowspan="{$pr.order_rowspan}"{/if}>{$pr.CCYDH|default=''}</td>
  499. <td class="audit-col-name"{if condition="$pr.order_rowspan gt 1"} rowspan="{$pr.order_rowspan}"{/if}>{$pr.CYJMC|default=''}</td>
  500. {/if}
  501. <td class="audit-process-name">{$pr.CGYMC|default=''}</td>
  502. <td class="text-center">{$pr.CDW|default=''}</td>
  503. <td class="text-center">{$pr.This_quantity|default=''}</td>
  504. <td class="text-center">{$pr.ceilingPrice|default=''}</td>
  505. <td class="text-center">{$pr.CDF|default=''}</td>
  506. <td class="audit-col-remark">{$pr.MBZ|default=''}</td>
  507. </tr>
  508. {/volist}
  509. </tbody>
  510. </table>
  511. </div>
  512. {/if}
  513. <form id="audit-issue-form" class="form-horizontal" role="form" style="margin-bottom:0;">
  514. {:token()}
  515. <input type="hidden" name="scydgy_id" value="{$scydgyId|htmlentities}"/>
  516. <input type="hidden" id="audit-quote-groups-json" value="{$quoteGroupsJson|htmlentities}"/>
  517. <input type="hidden" id="audit-bid-open-verified" value="{$bidOpenVerified|default=0}"/>
  518. <input type="hidden" id="audit-manual-picked" value="{$manualPicked|default=0}"/>
  519. <input type="hidden" id="audit-quote-visible" value="{$quoteVisible|default=0}"/>
  520. <input type="hidden" id="audit-manual-pick-reason" value="{$manualPickReason|default=''|htmlentities}"/>
  521. <input type="hidden" id="audit-append-deadline-passed" value="{$appendSupplierDeadlinePassed|default=0}"/>
  522. <input type="hidden" id="audit-order-ccydh" value="{$orderCcydh|default=''|htmlentities}"/>
  523. <div class="audit-deadline-row">
  524. <div class="audit-deadline-item">
  525. <span class="audit-field-label">招标截止日期:</span>
  526. <div class="audit-deadline-input-wrap procuremen-sys-rq-split is-readonly" id="audit-sys-rq-wrap" title="仅查看,不可修改">
  527. <input type="hidden" id="audit-sys-rq" name="sys_rq" value="{$sysRq|default=''|htmlentities}"/>
  528. <div class="procuremen-sys-rq-fields">
  529. <input type="date" class="form-control procuremen-sys-rq-date" title="招标截止日期" readonly="readonly" disabled="disabled" tabindex="-1"/>
  530. <div class="procuremen-sys-rq-time-group">
  531. <select class="form-control procuremen-sys-rq-hour" title="时" disabled="disabled" tabindex="-1"></select>
  532. <span class="procuremen-sys-rq-colon">:</span>
  533. <select class="form-control procuremen-sys-rq-minute" title="分" disabled="disabled" tabindex="-1"></select>
  534. </div>
  535. </div>
  536. </div>
  537. </div>
  538. <div class="audit-deadline-item">
  539. <span class="audit-field-label">交货截止日期:</span>
  540. <input type="text" class="form-control audit-delivery-deadline-input" value="{$deliveryDeadline|default=''|htmlentities}" title="交货截止日期" readonly="readonly" disabled="disabled" tabindex="-1" placeholder=""/>
  541. </div>
  542. {if !empty($orderScoreRuleName)}
  543. <div class="audit-deadline-item">
  544. <span class="audit-field-label">订单类型:</span>
  545. <span class="audit-order-type-text" title="下发时选定的评分规则">{$orderScoreRuleName|htmlentities}</span>
  546. </div>
  547. {/if}
  548. <div class="audit-deadline-item audit-bid-open-item">
  549. {if $canAppendSupplier && empty($manualPicked)}
  550. {if $auth->check('procuremen/auditappend')}
  551. <button type="button" class="btn btn-primary btn-sm audit-append-supplier-btn" id="btn-audit-append-supplier" title="补加供应商">
  552. <i class="fa fa-plus"></i> 补加供应商
  553. </button>
  554. {/if}
  555. {/if}
  556. {if $bidOpenVerified}
  557. <span class="audit-bid-open-verified-tag"><i class="fa fa-check-circle"></i> 已开标验证</span>
  558. {elseif !empty($manualPicked) /}
  559. <span class="audit-bid-open-verified-tag"><i class="fa fa-check-circle"></i> 已指定供应商</span>
  560. <span class="audit-manual-pick-inline">
  561. {if !empty($pickedCompanyName)}
  562. <span class="audit-manual-pick-line"><strong>指定供应商:</strong>{$pickedCompanyName|htmlentities}</span>
  563. {/if}
  564. {if !empty($manualPickReason)}
  565. <span class="audit-manual-pick-line"><strong>指定说明:</strong>{$manualPickReason|htmlentities}</span>
  566. {/if}
  567. </span>
  568. {else /}
  569. {if $auth->check('procuremen/bidopenverify') || $auth->check('procuremen/bidopen') || $auth->check('procuremen/auditissue')}
  570. <button type="button" class="btn btn-warning btn-sm audit-bid-open-btn" id="btn-audit-bid-open">
  571. <i class="fa fa-unlock-alt"></i> 开标
  572. </button>
  573. {/if}
  574. {/if}
  575. </div>
  576. {if !$bidOpenVerified && empty($manualPicked)}
  577. {if $auth->check('procuremen/auditmanualpick') || $auth->check('procuremen/auditsubmit') || $auth->check('procuremen/auditissue')}
  578. <div class="audit-deadline-item audit-manual-pick-item">
  579. <button type="button" class="btn btn-success btn-sm audit-manual-pick-btn" id="btn-audit-manual-pick" title="不通过开标验证时,可指定供应商并填写说明">
  580. 指定供应商
  581. </button>
  582. </div>
  583. {/if}
  584. {/if}
  585. </div>
  586. </form>
  587. <p class="audit-notify-tip">
  588. <i class="fa fa-exclamation-triangle"></i>
  589. <strong>重要提示:</strong>招标截止时间后可点「开标」完成验证,再点「确认」。可点「指定供应商」并填写选择说明后查看单价。确认后将进入采购终审(本步<strong>不发送短信通知</strong>)。
  590. 需再次提醒报价时,请在右侧<strong>操作</strong>列点击「发邮件」或「发短信」。
  591. </p>
  592. {if !empty($quoteVisible)}
  593. <p class="audit-score-rule-tip">
  594. <i class="fa fa-info-circle"></i>
  595. <strong>评分规则:</strong>{$supplierScoreRuleText|default='(总分)=(质量得分×50%)+(价格得分);价格得分=(最低单价合计/本供应商单价合计)×50%×100'|htmlentities}
  596. </p>
  597. {/if}
  598. <div class="audit-table-wrap audit-quote-table-wrap">
  599. <table class="table table-bordered table-condensed audit-table audit-quote-pick-table audit-quote-detail-table">
  600. <thead>
  601. <tr>
  602. <th class="text-center" style="width:42px;">选定</th>
  603. <th style="min-width:220px;">供应商信息</th>
  604. <th class="text-center col-rank" style="width:64px;">排名</th>
  605. <th class="text-center" style="width:88px;">质量得分</th>
  606. <th class="text-center" style="width:80px;" title="价格得分=(最低单价合计/本供应商单价合计)×价格权重%×100">价格得分</th>
  607. {if !empty($showServiceLeadScore)}
  608. <th class="text-center" style="width:80px;" title="交货得分=月度交货分×50%+报价交期分×50%(按订单算,一批多订单平均;报价交期满分40,提前+1/滞后-1)">交货得分</th>
  609. {/if}
  610. <th class="text-center" style="width:72px;">总分</th>
  611. <th style="width:130px;">工序名称</th>
  612. <th class="text-center" style="width:130px;">单价</th>
  613. <th class="text-center" style="width:130px;">预估工期</th>
  614. <th class="text-center" style="width:130px;">交货日期</th>
  615. <th class="text-center" style="width:130px;">小计</th>
  616. <th class="text-center" style="width:160px;">操作时间</th>
  617. <th class="text-center" style="width:120px;">操作</th>
  618. </tr>
  619. </thead>
  620. <tbody id="audit-quote-tbody">
  621. {volist name="quoteGroups" id="co" key="k"}
  622. {volist name="co.lines" id="ln" key="lk"}
  623. <tr>
  624. {if $lk == 1}
  625. <td class="text-center"{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;">
  626. <label>
  627. <input type="radio" class="audit-quote-pick" name="audit_quote_pick" value="{$co.name|default=''|htmlentities}"
  628. {if condition="$pickedCompanyName neq '' && $pickedCompanyName eq $co.name"} checked="checked"{/if}
  629. {if !empty($manualPicked)} disabled="disabled"{/if}/>
  630. </label>
  631. </td>
  632. <td class="audit-supplier-info-cell"{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if}>
  633. <div class="audit-supplier-kv">
  634. <div class="audit-supplier-kv-row"><span class="audit-supplier-kv-label">供应商</span><span class="audit-supplier-kv-val">{$co.name|default=''|htmlentities}</span></div>
  635. <div class="audit-supplier-kv-row"><span class="audit-supplier-kv-label">姓名</span><span class="audit-supplier-kv-val">{$co.username|default=''|htmlentities}</span></div>
  636. <div class="audit-supplier-kv-row"><span class="audit-supplier-kv-label">邮箱</span><span class="audit-supplier-kv-val">{:htmlentities(mask_email(isset($co['email']) ? $co['email'] : ''))}</span></div>
  637. <div class="audit-supplier-kv-row"><span class="audit-supplier-kv-label">手机号</span><span class="audit-supplier-kv-val">{:htmlentities(mask_phone(isset($co['phone']) ? $co['phone'] : ''))}</span></div>
  638. </div>
  639. </td>
  640. <td class="text-center col-rank"{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;font-size:17px;font-weight:700;">{if condition="!empty($quoteVisible)"}{$co.service_rank_text|default=''|htmlentities}{/if}</td>
  641. <td class="text-center"{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;">{if condition="!empty($quoteVisible)"}{$co.service_quality_score_text|default=''|htmlentities}{/if}</td>
  642. <td class="text-center"{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;"{if condition="!empty($quoteVisible)"} title="单价合计 {$co.service_price_sum_text|default=''|htmlentities}"{/if}>{if condition="!empty($quoteVisible)"}{$co.service_price_score_text|default=''|htmlentities}{/if}</td>
  643. {if !empty($showServiceLeadScore)}
  644. <td class="text-center"{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;">{if condition="!empty($quoteVisible)"}{$co.service_lead_score_text|default=''|htmlentities}{/if}</td>
  645. {/if}
  646. <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($quoteVisible)"}{$co.service_score_text|default=''|htmlentities}{/if}</td>
  647. {/if}
  648. <td class="proc-process-name-cell">
  649. {notempty name="ln.ccydh"}
  650. <div class="proc-line-ccydh">{$ln.ccydh|htmlentities}</div>
  651. {/notempty}
  652. <div class="proc-line-cgymc">{$ln.cgymc|default=''|htmlentities}</div>
  653. </td>
  654. <td class="text-center{if condition="!empty($ln.amount_quote_pending)"} audit-quote-pending{elseif condition="$ln.amount_filled neq 1"} audit-quote-empty{/if}">{$ln.unit_price_text|default='未填写'|htmlentities}</td>
  655. <td class="text-center{if condition="!empty($ln.lead_days_quote_pending)"} audit-quote-pending{elseif condition="$ln.lead_days_filled neq 1"} audit-quote-empty{/if}">{$ln.lead_days_show|default='未填写'|htmlentities}</td>
  656. <td class="text-center{if condition="!empty($ln.delivery_quote_pending)"} audit-quote-pending{elseif condition="$ln.delivery_filled neq 1"} audit-quote-empty{/if}">{$ln.delivery_show|default='未填写'|htmlentities}</td>
  657. <td class="text-center{if condition="!empty($ln.amount_quote_pending)"} audit-quote-pending{/if}">{$ln.subtotal_text|default=''|htmlentities}</td>
  658. <td class="text-center{if condition="!empty($ln.oper_time_quote_pending)"} audit-quote-pending{/if}">{$ln.oper_time_text|default=''|htmlentities}</td>
  659. {if $lk == 1}
  660. <td class="text-center audit-op-cell"{if condition="$co.display_rowspan gt 1"} rowspan="{$co.display_rowspan}"{/if} style="vertical-align:middle;">
  661. {if $auth->check('procuremen/auditresendemail')}
  662. <button type="button" class="btn btn-default btn-xs audit-row-send-email" data-company="{$co.name|default=''|htmlentities}">发邮件</button>
  663. {/if}
  664. {if $auth->check('procuremen/auditresendsms')}
  665. <button type="button" class="btn btn-default btn-xs audit-row-send-sms" data-company="{$co.name|default=''|htmlentities}">发短信</button>
  666. {/if}
  667. </td>
  668. {/if}
  669. </tr>
  670. {/volist}
  671. {if !empty($co.has_remark)}
  672. <tr{if !empty($co.is_void)} class="text-muted"{/if}>
  673. <td><strong>投标备注</strong></td>
  674. <td colspan="5" class="{if !empty($co.remark_quote_pending)}audit-quote-pending{/if}" style="text-align:left;vertical-align:middle;">{$co.remark|default=''|htmlentities}</td>
  675. </tr>
  676. {/if}
  677. {if !empty($co.has_total)}
  678. <tr class="active">
  679. <td><strong>总计</strong></td>
  680. <td></td>
  681. <td></td>
  682. <td></td>
  683. <td class="text-center"><strong>{$co.total_text|default=''|htmlentities}</strong></td>
  684. <td></td>
  685. </tr>
  686. {/if}
  687. {/volist}
  688. </tbody>
  689. </table>
  690. </div>
  691. <div class="form-group layer-footer">
  692. <div class="row procuremen-audit-issue-footer-row">
  693. <div class="col-xs-12 procuremen-audit-issue-footer-btns">
  694. {if $auth->check('procuremen/auditsubmit')}
  695. <button type="button" style="margin-right: 12px" class="btn btn-primary btn-embossed" id="btn-audit-issue-submit">
  696. <i class="fa fa-check"></i> 确认
  697. </button>
  698. {/if}
  699. <button type="button" class="btn btn-default btn-embossed" id="btn-audit-issue-close">
  700. <i class="fa fa-times"></i> 关闭
  701. </button>
  702. </div>
  703. </div>
  704. </div>
  705. </div>