audit_issue.html 30 KB

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