You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

433 lines
12 KiB

​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
4 months ago
​
​
​
​
​
​
​
​
4 months ago
​
​
​
4 months ago
​
​
​
​
​
​
​
4 months ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
  1. <template>
  2. <div class="quality-issue-detail">
  3. <!-- 查看模式 -->
  4. <div>
  5. <el-form label-position="top" class="detail-form">
  6. <!-- 基础信息区 -->
  7. <el-row :gutter="20">
  8. <el-col :span="6">
  9. <el-form-item label="反馈单号">
  10. <el-input v-model="detailData.issueNo" disabled />
  11. </el-form-item>
  12. </el-col>
  13. <el-col :span="6">
  14. <el-form-item label="问题日期">
  15. <el-input :value="formatDate(detailData.issueDate)" disabled />
  16. </el-form-item>
  17. </el-col>
  18. <el-col :span="6">
  19. <el-form-item label="供应商编码">
  20. <el-input v-model="detailData.supplierNo" disabled />
  21. </el-form-item>
  22. </el-col>
  23. <el-col :span="6">
  24. <el-form-item label="供应商名称">
  25. <el-input v-model="detailData.supplierName" disabled />
  26. </el-form-item>
  27. </el-col>
  28. </el-row>
  29. <el-row :gutter="20">
  30. <el-col :span="6">
  31. <el-form-item label="供应商负责人">
  32. <el-input v-model="detailData.supplierResponsible" disabled />
  33. </el-form-item>
  34. </el-col>
  35. <el-col :span="6">
  36. <el-form-item label="Plant">
  37. <el-input v-model="detailData.plant" disabled />
  38. </el-form-item>
  39. </el-col>
  40. <el-col :span="6">
  41. <el-form-item label="Claim No">
  42. <el-input v-model="detailData.claimNo" disabled />
  43. </el-form-item>
  44. </el-col>
  45. <el-col :span="6">
  46. <el-form-item label="Product Category">
  47. <el-input v-model="detailData.productCategory" disabled />
  48. </el-form-item>
  49. </el-col>
  50. </el-row>
  51. <el-row :gutter="20">
  52. <el-col :span="6">
  53. <el-form-item label="Part No">
  54. <el-input v-model="detailData.partNo" disabled />
  55. </el-form-item>
  56. </el-col>
  57. <el-col :span="6">
  58. <el-form-item label="批次数量">
  59. <el-input v-model="detailData.batchQty" disabled />
  60. </el-form-item>
  61. </el-col>
  62. <el-col :span="6">
  63. <el-form-item label="拒收批次数量">
  64. <el-input v-model="detailData.rejectBatchQty" disabled />
  65. </el-form-item>
  66. </el-col>
  67. <el-col :span="6">
  68. <el-form-item label="投诉接收日期">
  69. <el-input :value="formatDate(detailData.receiveComplaintDate)" disabled />
  70. </el-form-item>
  71. </el-col>
  72. </el-row>
  73. <el-row :gutter="20">
  74. <el-col :span="6">
  75. <el-form-item label="样品接收日期">
  76. <el-input :value="formatDate(detailData.receiveSampleDate)" disabled />
  77. </el-form-item>
  78. </el-col>
  79. <el-col :span="18">
  80. <el-form-item label="问题简述">
  81. <el-input v-model="detailData.issueSummary" disabled />
  82. </el-form-item>
  83. </el-col>
  84. </el-row>
  85. <el-row :gutter="20">
  86. <el-col :span="24">
  87. <el-form-item label="问题详细描述">
  88. <el-input
  89. v-model="detailData.issueDescription"
  90. type="textarea"
  91. :rows="2"
  92. resize="none"
  93. disabled
  94. ></el-input>
  95. </el-form-item>
  96. </el-col>
  97. </el-row>
  98. <el-row :gutter="20">
  99. <el-col :span="4">
  100. <el-form-item label="Level">
  101. <el-input v-model="detailData.levelNo" disabled />
  102. </el-form-item>
  103. </el-col>
  104. <el-col :span="5">
  105. <el-form-item label="Mode 1">
  106. <el-input v-model="detailData.mode1" disabled />
  107. </el-form-item>
  108. </el-col>
  109. <el-col :span="5">
  110. <el-form-item label="Mode 2">
  111. <el-input v-model="detailData.mode2" disabled />
  112. </el-form-item>
  113. </el-col>
  114. <el-col :span="5">
  115. <el-form-item label="Mode 3">
  116. <el-input v-model="detailData.mode3" disabled />
  117. </el-form-item>
  118. </el-col>
  119. <el-col :span="5">
  120. <el-form-item label="Inspector">
  121. <el-input v-model="detailData.inspector" disabled />
  122. </el-form-item>
  123. </el-col>
  124. </el-row>
  125. <el-row :gutter="20">
  126. <el-col :span="6">
  127. <el-form-item label="录入人">
  128. <el-input v-model="detailData.createBy" disabled />
  129. </el-form-item>
  130. </el-col>
  131. <el-col :span="6">
  132. <el-form-item label="录入时间">
  133. <el-input v-model="detailData.createDate" disabled />
  134. </el-form-item>
  135. </el-col>
  136. <el-col :span="6">
  137. <el-form-item label="要求回复日期">
  138. <el-input :value="formatDate(detailData.requireReplyDate)" disabled />
  139. </el-form-item>
  140. </el-col>
  141. <el-col :span="6">
  142. <el-form-item label="状态">
  143. <el-input v-model="detailData.status" disabled />
  144. </el-form-item>
  145. </el-col>
  146. </el-row>
  147. <el-row :gutter="20">
  148. <el-col :span="24">
  149. <el-form-item label="Why Escape">
  150. <el-input
  151. v-model="detailData.whyEscape"
  152. type="textarea"
  153. :rows="2"
  154. resize="none"
  155. disabled
  156. ></el-input>
  157. </el-form-item>
  158. </el-col>
  159. </el-row>
  160. <el-row :gutter="20">
  161. <el-col :span="24">
  162. <el-form-item label="原因分析">
  163. <el-input
  164. v-model="detailData.analysis"
  165. type="textarea"
  166. :rows="3"
  167. resize="none"
  168. disabled
  169. ></el-input>
  170. </el-form-item>
  171. </el-col>
  172. </el-row>
  173. <el-row :gutter="20">
  174. <el-col :span="24">
  175. <el-form-item label="后续措施">
  176. <el-input
  177. v-model="detailData.correctiveAction"
  178. type="textarea"
  179. :rows="3"
  180. resize="none"
  181. disabled
  182. ></el-input>
  183. </el-form-item>
  184. </el-col>
  185. </el-row>
  186. <el-row :gutter="20" style="margin-top: 20px;">
  187. <el-col :span="6">
  188. <el-form-item label="回复人">
  189. <el-input v-model="detailData.replyBy" disabled />
  190. </el-form-item>
  191. </el-col>
  192. <el-col :span="6">
  193. <el-form-item label="回复时间">
  194. <el-input v-model="detailData.replyTime" disabled />
  195. </el-form-item>
  196. </el-col>
  197. <el-col :span="6">
  198. <el-form-item label="录入人(回复)">
  199. <el-input v-model="detailData.entryBy" disabled />
  200. </el-form-item>
  201. </el-col>
  202. <el-col :span="6">
  203. <el-form-item label="录入时间(回复)">
  204. <el-input v-model="detailData.entryDate" disabled />
  205. </el-form-item>
  206. </el-col>
  207. </el-row>
  208. <!-- 索赔信息区块 -->
  209. <div class="claim-section">
  210. <div class="claim-title">索赔信息</div>
  211. <el-row :gutter="20">
  212. <el-col :span="6">
  213. <el-form-item label="是否被索赔">
  214. <el-input :value="detailData.claimFlag === 'Y' ? '是' : (detailData.claimFlag === 'N' ? '否' : '')" disabled />
  215. </el-form-item>
  216. </el-col>
  217. <el-col :span="6">
  218. <el-form-item label="被索赔金额">
  219. <el-input v-model="detailData.claimAmount" disabled />
  220. </el-form-item>
  221. </el-col>
  222. <el-col :span="12">
  223. <el-form-item label="处置备注">
  224. <el-input v-model="detailData.disposalRemark" disabled />
  225. </el-form-item>
  226. </el-col>
  227. </el-row>
  228. <el-row :gutter="20">
  229. <el-col :span="6">
  230. <el-form-item label="录入人(索赔)">
  231. <el-input v-model="detailData.entryBy" disabled />
  232. </el-form-item>
  233. </el-col>
  234. <el-col :span="6">
  235. <el-form-item label="录入时间(索赔)">
  236. <el-input v-model="detailData.entryDate" disabled />
  237. </el-form-item>
  238. </el-col>
  239. </el-row>
  240. </div>
  241. <el-row :gutter="20" class="reduce-margin-top">
  242. <el-col :span="6">
  243. <el-form-item label="关闭人">
  244. <el-input v-model="detailData.closeBy" disabled />
  245. </el-form-item>
  246. </el-col>
  247. <el-col :span="6">
  248. <el-form-item label="关闭时间">
  249. <el-input v-model="detailData.closeTime" disabled />
  250. </el-form-item>
  251. </el-col>
  252. </el-row>
  253. </el-form>
  254. </div>
  255. </div>
  256. </template>
  257. <script>
  258. export default {
  259. name: 'QualityIssueDetail',
  260. props: {
  261. detailData: {
  262. type: Object,
  263. default: () => ({})
  264. }
  265. },
  266. data() {
  267. return {}
  268. },
  269. methods: {
  270. formatDate(dateStr) {
  271. if (!dateStr) return ''
  272. return dateStr.length > 10 ? dateStr.substring(0, 10) : dateStr
  273. }
  274. }
  275. }
  276. </script>
  277. <style scoped lang="scss">
  278. .quality-issue-detail {
  279. width: 100%;
  280. padding: 0 10px;
  281. }
  282. .detail-form {
  283. width: 100%;
  284. }
  285. /* =======================
  286. 表单整体间距
  287. ======================= */
  288. .el-form-item {
  289. margin-bottom: 8px;
  290. }
  291. /deep/ .el-form-item__label {
  292. display: block;
  293. font-size: 14px;
  294. color: #606266;
  295. line-height: 20px;
  296. height: 20px;
  297. padding-bottom: 8px;
  298. margin-bottom: 6px;
  299. font-weight: 500;
  300. }
  301. .el-row {
  302. margin-bottom: 8px;
  303. }
  304. .el-row:last-child {
  305. margin-bottom: 0;
  306. }
  307. /* =======================
  308. Input
  309. ======================= */
  310. ::v-deep .el-input__inner {
  311. height: 36px;
  312. line-height: 36px;
  313. font-size: 14px;
  314. border-radius: 4px;
  315. }
  316. /* =======================
  317. Textarea
  318. ======================= */
  319. ::v-deep .el-textarea__inner {
  320. font-size: 14px;
  321. line-height: 22px;
  322. padding: 10px 14px;
  323. min-height: 70px;
  324. }
  325. /* textarea表单项额外间距 */
  326. .el-form-item:has(.el-textarea) {
  327. margin-bottom: 36px;
  328. }
  329. /* =======================
  330. Disabled
  331. ======================= */
  332. ::v-deep .el-input.is-disabled .el-input__inner {
  333. background-color: #f5f7fa;
  334. color: #909399;
  335. border-color: #e4e7ed;
  336. }
  337. /* =======================
  338. DatePicker
  339. ======================= */
  340. ::v-deep .el-date-editor.el-input {
  341. width: 100%;
  342. }
  343. /* =======================
  344. Number
  345. ======================= */
  346. ::v-deep .el-input-number {
  347. width: 100%;
  348. }
  349. ::v-deep .el-input-number .el-input__inner {
  350. text-align: left;
  351. }
  352. /* =======================
  353. 索赔信息区块
  354. ======================= */
  355. .claim-section {
  356. border: 1px solid #ebeef5;
  357. border-radius: 4px;
  358. background: #fafafa;
  359. padding: 20px;
  360. margin: 16px 0 28px;
  361. }
  362. .claim-title {
  363. font-size: 15px;
  364. font-weight: 600;
  365. color: #303133;
  366. padding-left: 10px;
  367. margin-bottom: 20px;
  368. border-left: 3px solid #409eff;
  369. }
  370. .claim-section .el-form-item {
  371. margin-bottom: 4px;
  372. }
  373. .claim-section .el-row:last-child .el-form-item {
  374. margin-bottom: 0;
  375. }
  376. ::v-deep .el-textarea.is-disabled .el-textarea__inner {
  377. background-color: #f5f7fa;
  378. color: #606266;
  379. }
  380. /deep/ .el-textarea {
  381. display: block;
  382. margin-top: 4px;
  383. }
  384. @media screen and (max-width: 1600px) {
  385. .el-form-item {
  386. margin-bottom: 10px;
  387. }
  388. .claim-section {
  389. margin: 10px 0 20px;
  390. }
  391. }
  392. .reduce-margin-top {
  393. margin-top: -16px;
  394. }
  395. .reduce-margin-top .el-form-item {
  396. margin-bottom: 10px;
  397. }
  398. </style>