trade-supExProcessDetails.html 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431
  1. <style>
  2. /* general */
  3. .exception-processing button[disabled], html input[disabled] {
  4. cursor: not-allowed;
  5. opacity: 0.7;
  6. }
  7. .exception-processing {
  8. font: 14px/1 arial, sans-serif;
  9. }
  10. .exception-processing > h1 {
  11. font-size: 1.4em;
  12. font-weight: 700;
  13. line-height: 2em;
  14. }
  15. .exception-processing h2 {
  16. font-size: 1.2em;
  17. font-weight: 600;
  18. }
  19. .float-left {
  20. float: left;
  21. width: 60%;
  22. }
  23. .exception-processing textarea {
  24. width: 35em;
  25. height: 9em;
  26. }
  27. .exception-processing .table-bordered > thead > tr > td,
  28. .exception-processing, .table-bordered > thead > tr > th {
  29. border-bottom-width: 0;
  30. }
  31. /* 订单信息 */
  32. .exception-processing .order-info thead > tr {
  33. height: 57px;
  34. color: rgb(255, 255, 255);
  35. font-size: 14px;
  36. background-image: url(static/img/product/title-higher-bg.png);
  37. padding: 0;
  38. vertical-align: middle !important;
  39. text-align: center;
  40. font-weight: normal;
  41. }
  42. .exception-processing .order-info thead > tr {
  43. min-height: 57px;
  44. }
  45. /* 异常申请信息 */
  46. .exception-processing .exception-info {
  47. }
  48. .time, .apply-reason {
  49. margin-bottom: 0.5em;
  50. }
  51. /* 时间 */
  52. .time > div {
  53. display: inline-block;
  54. width: 45%;
  55. }
  56. .time > div > span:first-child {
  57. font-weight: 500;
  58. }
  59. /* 申请原因 */
  60. .apply-reason .exception-type > *, .apply-reason .applyReason > * {
  61. display: inline-block;
  62. }
  63. .apply-reason .exception-type {
  64. margin-bottom: 0.5em;
  65. }
  66. .apply-reason .applyReason > * {
  67. vertical-align: top;
  68. }
  69. .apply-reason > div > *:first-child {
  70. font-weight: 500;
  71. }
  72. .applyReason > *:last-child {
  73. background-color: #ddd;
  74. width: 30em;
  75. height: 9em;
  76. }
  77. /* 待处理批次汇总 */
  78. .summary {
  79. float: right;
  80. width: 35%
  81. }
  82. .summary > * {
  83. display: inline-block;
  84. vertical-align: top;
  85. }
  86. .summary ul {
  87. padding-top: 1em;
  88. }
  89. .summary > div:first-child {
  90. font-weight: 500;
  91. }
  92. .summary > ul > li {
  93. margin-bottom: 0.5em;
  94. }
  95. .summary > ul > li > div {
  96. display: inline-block;
  97. }
  98. /* 选择处理批次 */
  99. .choose-item table thead > tr {
  100. background: linear-gradient(hsla(213, 80%, 38%, 0.7), hsla(213, 85%, 32%, 1));
  101. color: white;
  102. }
  103. .choose-item table tbody td textarea {
  104. width: auto;
  105. height: 100%;
  106. }
  107. .evaluate-content > * {
  108. vertical-align: text-top;
  109. }
  110. /* 申请操作 */
  111. .apply-operation {
  112. background: #eee;
  113. padding: 2em;
  114. margin-top: 1em;
  115. margin-bottom: 2em;
  116. text-align: center;
  117. color: white;
  118. }
  119. .apply-operation button {
  120. padding: 0.3em 0.7em;
  121. font-size: 2em;
  122. line-height: normal; /* 清除common.css设置的默认行高 */
  123. border: none;
  124. width: 18%;
  125. border-radius: 3px;
  126. }
  127. .apply-operation button:hover {
  128. box-shadow: 0 0 0 2px hsl(11, 97%, 51%);
  129. }
  130. .ensure-update, .start-ex-process {
  131. margin: 0 2em 0 0;
  132. background: linear-gradient(hsla(4, 85%, 54%, 0.7), hsla(4, 85%, 54%, 1));
  133. }
  134. /* 取消 */
  135. .cancel > button {
  136. background: linear-gradient(hsla(45, 3%, 47%, 0.7), hsla(45, 3%, 47%, 1));
  137. color: white;
  138. }
  139. .u-box {
  140. overflow: scroll;
  141. }
  142. .u-box table {
  143. margin-bottom: 0;
  144. }
  145. </style>
  146. <div class="exception-processing">
  147. <h1>供应商 异常来源:<span ng-bind="puExSrc[apply.puExSrc]"></span></h1>
  148. <main role="main">
  149. <article>
  150. <!-- ==== 订单信息start ==== -->
  151. <section class="order-info">
  152. <h2>订单信息</h2>
  153. <table class="table table-bordered">
  154. <thead>
  155. <tr>
  156. <th>卖家企业</th>
  157. <th>联系人</th>
  158. <th>下单时间</th>
  159. <th>订单号</th>
  160. <th>付款时间</th>
  161. <th>发货时间</th>
  162. <th>货源批次数</th>
  163. <th>型号数量</th>
  164. <th>总数量</th>
  165. <th>支付总金额</th>
  166. <th>币种</th>
  167. <th>税率</th>
  168. <th>运费</th>
  169. </tr>
  170. </thead>
  171. <tbody>
  172. <tr>
  173. <td><span ng-bind="purchase.sellername"></span></td>
  174. <td><span ng-cloak>名字:{{user.userName}}<br>电话:{{user.userTel}}</span></td>
  175. <td><span ng-bind="purchase.createtime | date:'yyyy-MM-dd HH:mm'"></span></td>
  176. <td><span ng-bind="purchase.purchaseid"></span></td>
  177. <td><span ng-bind="purchase.paytime | date:'yyyy-MM-dd HH:mm'"></span></td>
  178. <td><span ng-bind="deliveryTime | date:'yyyy-MM-dd HH:mm'">/</span></td>
  179. <td><span ng-bind="purchase.batchQty"></span></td>
  180. <td><span ng-bind="purchase.cmpQty"></span></td>
  181. <td><span ng-bind="purchase.qty"></span></td>
  182. <td><span ng-bind="purchase.ensurePrice"></span></td>
  183. <td><span ng-bind="purchase.currency"></span></td>
  184. <td>
  185. <span ng-switch="purchase.currency">
  186. <span ng-switch-when="RMB">17%</span>
  187. <span ng-switch-when="USD">0%</span>
  188. </span>
  189. </td>
  190. <td>0</td>
  191. </tr>
  192. </tbody>
  193. </table>
  194. </section>
  195. <!-- 订单信息end -->
  196. <!-- ==== 异常申请信息start ==== -->
  197. <section class="exception-info clearfix">
  198. <h2>异常申请信息</h2>
  199. <div class="float-left">
  200. <div class="time">
  201. <div class="submit-time">
  202. <span>提交时间:</span>
  203. <time datetime="apply.createTime | date:'yyyy-MM-dd HH:mm:ss'"
  204. ng-bind="apply.createTime | date:'yyyy-MM-dd HH:mm'"></time>
  205. </div>
  206. <div class="update-time" ng-if="apply.updateTime">
  207. <span>更新时间:</span>
  208. <time datetime="apply.updateTime | date:'yyyy-MM-dd HH:mm:ss'"
  209. ng-bind="apply.updateTime | date:'yyyy-MM-dd HH:mm'"></time>
  210. </div>
  211. </div>
  212. <div class="apply-reason">
  213. <div class="exception-type">
  214. <div>问题类型:</div>
  215. <span ng-bind="apply.applyReasonType"></span>
  216. </div>
  217. <div class="applyReason">
  218. <div>问题描述:</div>
  219. <span ng-bind="apply.applyReason"></span>
  220. </div>
  221. </div>
  222. </div>
  223. <div class="summary">
  224. <div>待处理批次汇总:</div>
  225. <ul class="list-unstyled">
  226. <li>
  227. <div>货源批次数:</div>
  228. <div><span ng-bind="apply.batchQty"></span></div>
  229. </li>
  230. <li>
  231. <div>型号数量:</div>
  232. <div><span ng-bind="apply.cmpQty"></span></div>
  233. </li>
  234. <li>
  235. <div>产品总数量:</div>
  236. <div><span ng-bind="apply.prodQty"></span></div>
  237. </li>
  238. <li>
  239. <div>产品总金额:</div>
  240. <div><span ng-bind="apply.totalAmount | number:2"></span> <span ng-bind="apply.currency"></span></div>
  241. </li>
  242. <li>
  243. <div>运费合计:</div>
  244. <div><span ng-bind="apply.freight | number:2"></span> <span ng-bind="apply.currency"></span></div>
  245. </li>
  246. <li>
  247. <div>税率:</div>
  248. <div><span ng-bind="apply.taxRate"></span></div>
  249. </li>
  250. <li>
  251. <div>涉及总金额:</div>
  252. <div>
  253. <span ng-bind="apply.totalAmount | number:2"></span>
  254. <span ng-bind="apply.currency"></span>
  255. </div>
  256. </li>
  257. </ul>
  258. </div>
  259. </section>
  260. <!-- 异常申请信息end -->
  261. <!-- ==== 选择处理批次start ==== -->
  262. <section class="choose-item">
  263. <h2>所选批次</h2>
  264. <div class="u-box">
  265. <table class="table table-bordered">
  266. <thead>
  267. <tr>
  268. <th>序号</th>
  269. <th>产品型号</th>
  270. <th>品牌</th>
  271. <th>物料名称</th>
  272. <th>采购数量</th>
  273. <th>采购金额</th>
  274. <th>单价</th>
  275. <th>币别</th>
  276. <th>卖家申请类型</th>
  277. <th>申请原因</th>
  278. <th>提交买家类型</th>
  279. <th>补充说明</th>
  280. <th>买家回复</th>
  281. <th>补充说明</th>
  282. <th>回复卖家</th>
  283. <th>补充说明</th>
  284. <th>生产日期</th>
  285. <th>包装</th>
  286. <th>最小包装数</th>
  287. <th>产品批次号</th>
  288. </tr>
  289. </thead>
  290. <tbody>
  291. <tr ng-repeat="applyDetail in apply.applyDetails">
  292. <td>
  293. <span ng-bind="$index + 1"></span>
  294. </td>
  295. <td><span ng-bind="applyDetail.purchaseDetail.cmpCode"></span></td>
  296. <td><span ng-bind="applyDetail.purchaseDetail.brName"></span></td>
  297. <td><span ng-bind="applyDetail.purchaseDetail.kiName"></span></td>
  298. <td><span ng-bind="applyDetail.purchaseDetail.number"></span></td>
  299. <td><span ng-bind="applyDetail.purchaseDetail.price"></span></td>
  300. <td><span ng-bind="applyDetail.purchaseDetail.taxUnitprice"></span></td>
  301. <td><span ng-bind="applyDetail.purchaseDetail.currencyName"></span></td>
  302. <td>
  303. <span ng-bind="applyTypes[applyDetail.negotiations.last().supToMallApplyType]"></span>
  304. </td>
  305. <td><span
  306. ng-bind="applyDetail.negotiations.last().supToMallApplyReason"></span>
  307. </td>
  308. <!-- 卖家申请 end -->
  309. <!-- 买家回复 end -->
  310. <td>
  311. <div ng-if="apply.status == 'SUP_TO_MALL'">
  312. <select ng-model="applyDetail.mallToBuyerApplyType"
  313. ng-change="checkApply(apply)">
  314. <option value="">选择发送类型</option>
  315. <option value="STOCK_OUT">缺货取消</option>
  316. </select>
  317. </div>
  318. <div ng-if="apply.status !== 'SUP_TO_MALL'">
  319. <span ng-bind="applyTypes[applyDetail.negotiations.last().mallToBuyerApplyType]"></span>
  320. </div>
  321. </td>
  322. <td>
  323. <textarea ng-if="apply.status == 'SUP_TO_MALL'"
  324. ng-model="applyDetail.mallToBuyerApplyReason"
  325. maxlength="4000" class="supple-info"></textarea>
  326. <span ng-if="apply.status !== 'SUP_TO_MALL'"
  327. ng-bind="applyDetail.negotiations.last().mallToBuyerApplyReason"></span>
  328. </td>
  329. <!-- 商城到买家 end -->
  330. <!-- ==== 买家回复 start ==== -->
  331. <td>
  332. <span ng-bind="applyTypes[applyDetail.negotiations.last().buyerToMallApplyType]"></span>
  333. </td>
  334. <td><span ng-bind="applyDetail.negotiations.last().buyerToMallApplyReason"></span>
  335. </td>
  336. <!-- 买家回复 end -->
  337. <!-- ==== 回复卖家 start ==== -->
  338. <td>
  339. <div ng-if="apply.status == 'BUYER_TO_MALL'">
  340. <select ng-model="applyDetail.mallToSupApplyType"
  341. ng-change="checkApply(apply)">
  342. <option value="">选择回复类型</option>
  343. <option value="STOCK_OUT">缺货取消</option>
  344. <option value="REFUSE">拒绝</option>
  345. </select>
  346. </div>
  347. <div ng-if="apply.status !== 'BUYER_TO_MALL'">
  348. <span ng-bind="applyTypes[applyDetail.negotiations.last().mallToSupApplyType]"></span>
  349. </div>
  350. </td>
  351. <td>
  352. <textarea ng-if="apply.status == 'BUYER_TO_MALL'"
  353. ng-model="applyDetail.mallToBuyerApplyReason"
  354. maxlength="4000" class="supple-info"></textarea>
  355. <span ng-if="apply.status !== 'BUYER_TO_MALL'"
  356. ng-bind="applyDetail.negotiations.last().mallToSupApplyReason"></span>
  357. </td>
  358. <!-- 回复卖家 end -->
  359. <td><span ng-bind="applyDetail.purchaseDetail.goodsHistory.produceDate"></span></td>
  360. <td>
  361. <span ng-if="applyDetail.purchaseDetail.goodsHistory.packaging"
  362. ng-bind="applyDetail.purchaseDetail.goodsHistory.packaging"></span>
  363. <span ng-if="!applyDetail.purchaseDetail.goodsHistory.packaging">/</span>
  364. </td>
  365. <td><span ng-bind="applyDetail.purchaseDetail.goodsHistory.minPackQty"></span></td>
  366. <td><span ng-bind="applyDetail.purchaseDetail.goodsHistory.batchCode"></span></td>
  367. </tr>
  368. </tbody>
  369. </table>
  370. </div>
  371. </section>
  372. <!-- 选择处理批次end -->
  373. <div class="apply-operation">
  374. <button class="ensure-update" ng-if="apply.status !== 'BUYER_TO_MALL'"
  375. ng-click="updatePuExApply(apply)" ng-disabled="!apply.canSubmit" >确认更新
  376. </button>
  377. <button ng-click="startPuExProcess(apply)" ng-if="apply.status == 'BUYER_TO_MALL'" class="start-ex-process" ng-disabled="!apply.canSubmit">启动异常流程</button>
  378. <a href="#/trade/buyerExProcess" class="cancel">
  379. <button>返回</button>
  380. </a>
  381. </div>
  382. </article>
  383. </main>
  384. </div>