receiptInfo.vue 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. <template>
  2. <div class="ele-body">
  3. <!-- <el-card shadow="never"> -->
  4. <el-form ref="form" :model="form" label-width="130px">
  5. <!-- <headerTitle title="收货信息"></headerTitle> -->
  6. <el-row>
  7. <el-col :span="8">
  8. <el-form-item label="供应商名称:" prop="supplierName">
  9. {{ form.supplierName }}
  10. </el-form-item>
  11. </el-col>
  12. <el-col :span="8">
  13. <el-form-item label="供应商联系人:" prop="linkName">
  14. {{ form.linkName }}
  15. </el-form-item>
  16. </el-col>
  17. <el-col :span="8">
  18. <el-form-item label="供应商电话:" prop="linkPhone">
  19. {{ form.linkPhone }}
  20. </el-form-item>
  21. </el-col>
  22. <!-- <el-form-item
  23. label="客户地址:"
  24. prop="partaAddress"
  25. style="margin-bottom: 16px"
  26. >
  27. {{ form.receiveAddress }}
  28. </el-form-item> -->
  29. <el-col :span="8">
  30. <el-form-item label="车牌号:" prop="carNo">
  31. {{ form.carNo }}
  32. </el-form-item>
  33. </el-col>
  34. <el-col :span="8">
  35. <el-form-item prop="receiveDate" label="收货日期:">
  36. {{ form.receiveDate }}
  37. </el-form-item>
  38. </el-col>
  39. <el-col :span="8">
  40. <el-form-item label="收货单编码:" prop="receiveNo">
  41. {{ form.receiveNo }}
  42. </el-form-item>
  43. </el-col>
  44. <el-col :span="8">
  45. <el-form-item prop="orderNo" label="订单编码:">
  46. {{ form.orderNo }}
  47. </el-form-item>
  48. </el-col>
  49. <el-col :span="8">
  50. <el-form-item prop="outsourceSendCode" label="委外发货单编码:">
  51. {{ form.outsourceSendCode }}
  52. </el-form-item>
  53. </el-col>
  54. <el-col :span="8">
  55. <el-form-item prop="pricingWay" label="计价方式:">
  56. {{ form.pricingWay == 1 ? '按数量计费' : '按重量计费' }}
  57. </el-form-item>
  58. </el-col>
  59. <el-col :span="8">
  60. <el-form-item label="制单人:" prop="makerName">
  61. {{ form.makerName }}
  62. </el-form-item>
  63. </el-col>
  64. <el-col :span="8">
  65. <el-form-item label="审核状态:" prop="reviewStatus">
  66. {{ reviewStatusEnum[form.reviewStatus]?.label }}
  67. </el-form-item>
  68. </el-col>
  69. <el-col :span="8">
  70. <el-form-item label="附件:" prop="receiveFiles">
  71. <fileMain v-model="form.receiveFiles" type="view"></fileMain>
  72. </el-form-item>
  73. </el-col>
  74. <!-- <el-form-item prop="replied" label="是否回执:">
  75. {{ form.replied == 1 ? '是' : '否' }}
  76. </el-form-item> -->
  77. </el-row>
  78. </el-form>
  79. <div class="fontSize" style="margin-bottom: 12px;">物品清单</div>
  80. <ele-pro-table ref="table" :needPage="false" :columns="columns" :toolkit="[]" :datasource="detailData.productList"
  81. row-key="id">
  82. <template v-slot:technicalDrawings="{ row }">
  83. <fileMain v-model="row.receiveFiles" type="view"></fileMain>
  84. </template>
  85. </ele-pro-table>
  86. <!-- </el-card> -->
  87. </div>
  88. </template>
  89. <script>
  90. import { reviewStatusEnum } from '@/enum/dict';
  91. import dictMixins from '@/mixins/dictMixins';
  92. import fileMain from '@/components/addDoc/index.vue';
  93. export default {
  94. components: { fileMain },
  95. mixins: [dictMixins],
  96. props: {
  97. form: { type: Object, default: () => { } },
  98. detailData: { type: Object, default: () => { } },
  99. },
  100. data() {
  101. return {
  102. reviewStatusEnum,
  103. columns: [
  104. {
  105. width: 45,
  106. type: 'index',
  107. columnKey: 'index',
  108. align: 'center',
  109. fixed: 'left'
  110. },
  111. {
  112. width: 200,
  113. prop: 'productName',
  114. label: '名称',
  115. slot: 'productName',
  116. align: 'center'
  117. },
  118. {
  119. width: 120,
  120. prop: 'productCode',
  121. label: '编码',
  122. slot: 'productCode',
  123. align: 'center'
  124. },
  125. {
  126. width: 200,
  127. prop: 'productCategoryName',
  128. label: '类型',
  129. slot: 'productCategoryName',
  130. align: 'center'
  131. },
  132. {
  133. width: 160,
  134. prop: 'productBrand',
  135. label: '牌号',
  136. slot: 'productBrand',
  137. align: 'center'
  138. },
  139. {
  140. width: 120,
  141. prop: 'modelType',
  142. label: '型号',
  143. slot: 'modelType',
  144. align: 'center'
  145. },
  146. {
  147. width: 120,
  148. prop: 'supplierMark',
  149. label: '供应商代号',
  150. slot: 'supplierMark',
  151. align: 'center'
  152. },
  153. {
  154. width: 120,
  155. prop: 'specification',
  156. label: '规格',
  157. slot: 'specification',
  158. align: 'center'
  159. },
  160. {
  161. width: 200,
  162. prop: 'warehouseName',
  163. label: '仓库名称',
  164. slot: 'warehouseName',
  165. align: 'center'
  166. },
  167. {
  168. width: 80,
  169. prop: 'totalCount',
  170. label: '进货数量',
  171. slot: 'totalCount',
  172. align: 'center'
  173. },
  174. {
  175. width: 120,
  176. prop: 'orderTotalCount',
  177. label: '总数量',
  178. slot: 'orderTotalCount',
  179. align: 'center'
  180. },
  181. {
  182. width: 80,
  183. prop: 'measuringUnit',
  184. label: '计量单位',
  185. slot: 'measuringUnit',
  186. align: 'center'
  187. },
  188. {
  189. width: 120,
  190. prop: 'singleWeight',
  191. label: '单重',
  192. slot: 'singleWeight',
  193. align: 'center'
  194. },
  195. {
  196. width: 200,
  197. prop: 'sendTotalWeight',
  198. label: '发货总重',
  199. slot: 'sendTotalWeight',
  200. align: 'center',
  201. headerSlot: 'headerTotalCount'
  202. },
  203. {
  204. width: 100,
  205. prop: 'receiveTotalWeight',
  206. label: '收货总重',
  207. slot: 'receiveTotalWeight',
  208. align: 'center'
  209. },
  210. {
  211. width: 100,
  212. prop: 'increaseTotalWeight',
  213. label: '增重重量',
  214. slot: 'increaseTotalWeight',
  215. align: 'center'
  216. },
  217. {
  218. width: 100,
  219. prop: 'weightUnit',
  220. label: '重量单位',
  221. slot: 'weightUnit',
  222. align: 'center'
  223. },
  224. {
  225. width: 160,
  226. prop: 'pricingWay',
  227. label: '计价方式',
  228. slot: 'pricingWay',
  229. align: 'center',
  230. formatter: (row, column) => {
  231. return row.pricingWay == 1
  232. ? '按数量计费'
  233. : row.pricingWay == 2
  234. ? '按重量计费'
  235. : '';
  236. }
  237. },
  238. {
  239. width: 160,
  240. prop: 'singlePrice',
  241. label: '单价',
  242. slot: 'singlePrice',
  243. align: 'center'
  244. },
  245. {
  246. width: 120,
  247. prop: 'taxRate',
  248. label: '税率',
  249. slot: 'taxRate',
  250. align: 'center'
  251. },
  252. {
  253. width: 160,
  254. prop: 'discountSinglePrice',
  255. label: '折后单价',
  256. slot: 'discountSinglePrice',
  257. align: 'center'
  258. },
  259. {
  260. width: 120,
  261. prop: 'totalPrice',
  262. label: '合计',
  263. slot: 'totalPrice',
  264. align: 'center'
  265. },
  266. {
  267. width: 160,
  268. prop: 'discountTotalPrice',
  269. label: '折后合计',
  270. slot: 'discountTotalPrice',
  271. align: 'center'
  272. },
  273. {
  274. prop: 'provenance',
  275. label: '产地',
  276. slot: 'provenance',
  277. align: 'center',
  278. minWidth: 200,
  279. showOverflowTooltip: true,
  280. formatter: (row, column) => {
  281. return row.provenance && row.provenance.length
  282. ? row.provenance
  283. .map((item) => this.getDictValue('产地', item))
  284. .join(',')
  285. : '';
  286. }
  287. },
  288. {
  289. width: 80,
  290. prop: 'deliveryDays',
  291. label: '交期(天)',
  292. slot: 'deliveryDays',
  293. align: 'center'
  294. },
  295. {
  296. width: 160,
  297. prop: 'deliveryDeadline',
  298. label: '交期截止日期',
  299. slot: 'deliveryDeadline',
  300. align: 'center'
  301. },
  302. {
  303. width: 200,
  304. prop: 'guaranteePeriod',
  305. label: '质保期',
  306. slot: 'guaranteePeriod',
  307. align: 'center'
  308. },
  309. {
  310. width: 160,
  311. prop: 'guaranteePeriodDeadline',
  312. label: '质保截止日期',
  313. slot: 'guaranteePeriodDeadline',
  314. align: 'center'
  315. },
  316. {
  317. width: 130,
  318. prop: 'technicalAnswerName',
  319. label: '技术答疑人',
  320. slot: 'technicalAnswerName',
  321. align: 'center'
  322. },
  323. {
  324. width: 220,
  325. prop: 'technicalParams',
  326. label: '技术参数',
  327. slot: 'technicalParams',
  328. align: 'center'
  329. },
  330. {
  331. width: 240,
  332. prop: 'technicalDrawings',
  333. label: '技术图纸',
  334. slot: 'technicalDrawings',
  335. align: 'center'
  336. },
  337. {
  338. width: 220,
  339. prop: 'remark',
  340. label: '备注',
  341. slot: 'remark',
  342. align: 'center'
  343. }
  344. ]
  345. };
  346. },
  347. created() {
  348. console.log(this.detailData, 'detailData')
  349. this.requestDict('产地');
  350. },
  351. methods: {
  352. }
  353. };
  354. </script>
  355. <style scoped lang="scss">
  356. .fontSize {
  357. font-size: 14px;
  358. font-weight: bold;
  359. }
  360. </style>