columns-config.ts 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. const columns = [
  2. {
  3. type: "index",
  4. fixed: "left",
  5. label: "序号",
  6. width: "50"
  7. },
  8. {
  9. label: '业务编号',
  10. prop: 'invoiceCode',
  11. minWidth: '100px',
  12. defaultData: '',
  13. required: true
  14. },
  15. {
  16. label: '类型',
  17. prop: 'type',
  18. minWidth: '100px',
  19. defaultData: '',
  20. required: true
  21. },
  22. {
  23. label: '订单来源',
  24. prop: 'source',
  25. minWidth: '100px',
  26. defaultData: '',
  27. required: true
  28. },
  29. {
  30. label: '订单购买方纳税号',
  31. prop: 'buyer_code',
  32. minWidth: '130px',
  33. defaultData: '',
  34. required: true
  35. },
  36. {
  37. label: '订单购买方公司名称',
  38. prop: 'buyer_name',
  39. minWidth: '150px',
  40. defaultData: '',
  41. required: true
  42. },
  43. {
  44. label: '订单销售方公司纳税号',
  45. prop: 'seller_code',
  46. minWidth: '160px',
  47. defaultData: '',
  48. required: true
  49. },
  50. {
  51. label: '订单销售方公司名称',
  52. prop: 'seller_name',
  53. minWidth: '160px',
  54. defaultData: '',
  55. required: true
  56. },
  57. {
  58. label: '订单编号',
  59. prop: 'orderCode',
  60. minWidth: '120px',
  61. defaultData: '',
  62. required: true
  63. },
  64. {
  65. label: '订单主单号',
  66. prop: 'cxCode',
  67. minWidth: '120px',
  68. defaultData: '',
  69. },
  70. {
  71. label: '商品编号',
  72. prop: 'goodNo',
  73. minWidth: '100px',
  74. defaultData: '',
  75. required: true
  76. },
  77. {
  78. label: '商品名称',
  79. prop: 'goodName',
  80. minWidth: '100px',
  81. defaultData: '',
  82. required: true
  83. },
  84. {
  85. label: '订单单位',
  86. prop: 'unit',
  87. minWidth: '80px',
  88. defaultData: '',
  89. required: true
  90. },
  91. {
  92. label: '商品数量',
  93. prop: 'num',
  94. minWidth: '110px',
  95. defaultData: '',
  96. required: true
  97. },
  98. {
  99. label: '商品单价',
  100. prop: 'goodPrice',
  101. minWidth: '110px',
  102. defaultData: '',
  103. required: true
  104. },
  105. {
  106. label: '订单总金额',
  107. prop: 'totalPrice',
  108. minWidth: '110px',
  109. defaultData: '',
  110. required: true
  111. },
  112. {
  113. label: '税目',
  114. prop: 'cat_code',
  115. minWidth: '80px',
  116. defaultData: '',
  117. required: true
  118. },
  119. {
  120. label: '税目名称',
  121. prop: 'cat_name',
  122. minWidth: '100px',
  123. defaultData: '',
  124. required: true
  125. },
  126. {
  127. label: '订单税率',
  128. prop: 'tax',
  129. minWidth: '100px',
  130. defaultData: '',
  131. required: true
  132. },
  133. {
  134. label: '关联金额',
  135. prop: 'inv_fee',
  136. minWidth: '100px',
  137. defaultData: '',
  138. required: true
  139. },
  140. {
  141. label: '购买方纳税号',
  142. prop: 'inv_buyer_code',
  143. minWidth: '130px',
  144. defaultData: '',
  145. required: true
  146. },
  147. {
  148. label: '购买方名称',
  149. prop: 'inv_buyer_name',
  150. minWidth: '170px',
  151. defaultData: '',
  152. required: true
  153. },
  154. {
  155. label: '发票号码',
  156. prop: 'inv_number',
  157. minWidth: '100px',
  158. defaultData: '',
  159. required: true
  160. },
  161. {
  162. label: '开票日期',
  163. prop: 'inv_open_date',
  164. minWidth: '100px',
  165. defaultData: '',
  166. required: true
  167. },
  168. {
  169. label: '发票类型',
  170. prop: 'inv_type',
  171. minWidth: '100px',
  172. defaultData: '',
  173. required: true
  174. },
  175. {
  176. label: '销售方公司纳税号',
  177. mapLabel: '发票销售方公司纳税号',
  178. prop: 'inv_seller_code',
  179. minWidth: '170px',
  180. defaultData: '',
  181. required: true
  182. },
  183. {
  184. label: '销售方公司',
  185. prop: 'inv_seller_name',
  186. minWidth: '130px',
  187. defaultData: '',
  188. required: true
  189. },
  190. {
  191. label: '发票明细ID',
  192. prop: 'inv_item_id',
  193. minWidth: '110px',
  194. defaultData: '',
  195. },
  196. {
  197. label: '货物或应税劳务、服务名称',
  198. prop: 'inv_good_name',
  199. minWidth: '200px',
  200. defaultData: '',
  201. required: true
  202. },
  203. {
  204. label: '类目编号',
  205. prop: 'inv_cat_code',
  206. minWidth: '90px',
  207. defaultData: '',
  208. required: true
  209. },
  210. {
  211. label: '规格型号',
  212. prop: 'inv_spec',
  213. minWidth: '110px',
  214. defaultData: '',
  215. },
  216. {
  217. label: '单位',
  218. mapLabel: '发票商品单位',
  219. prop: 'inv_unit',
  220. minWidth: '100px',
  221. defaultData: '',
  222. },
  223. {
  224. label: '数量',
  225. prop: 'inv_num',
  226. minWidth: '100px',
  227. defaultData: '',
  228. },
  229. {
  230. label: '税前单价',
  231. prop: 'inv_subprice',
  232. minWidth: '100px',
  233. defaultData: '',
  234. required: true
  235. },
  236. {
  237. label: '税前总价',
  238. prop: 'inv_subtotal',
  239. minWidth: '100px',
  240. defaultData: '',
  241. required: true
  242. },
  243. {
  244. label: '税率',
  245. prop: 'inv_tax',
  246. minWidth: '80px',
  247. defaultData: '',
  248. required: true
  249. },
  250. {
  251. label: '税额',
  252. prop: 'inv_tax_total',
  253. minWidth: '80px',
  254. defaultData: '',
  255. required: true
  256. },
  257. {
  258. label: '税后单价',
  259. prop: 'inv_price',
  260. minWidth: '100px',
  261. defaultData: '',
  262. required: true
  263. },
  264. {
  265. label: '税后总额',
  266. prop: 'inv_total',
  267. minWidth: '100px',
  268. defaultData: '',
  269. required: true
  270. },
  271. {
  272. label: '类目编号状态',
  273. prop: 'cat_diff',
  274. minWidth: '100px',
  275. defaultData: '',
  276. required: true
  277. },
  278. {
  279. label: '税率状态',
  280. prop: 'tax_diff',
  281. minWidth: '100px',
  282. defaultData: '',
  283. required: true
  284. },
  285. {
  286. label: '备注',
  287. prop: 'remark',
  288. minWidth: '80px',
  289. defaultData: '',
  290. },
  291. {
  292. label: '关联商品ID',
  293. prop: 'relaGoodNo',
  294. minWidth: '120px',
  295. defaultData: '',
  296. required: true
  297. },
  298. {
  299. label: '操作数量',
  300. prop: 'relaGoodNum',
  301. minWidth: '100px',
  302. defaultData: '',
  303. required: true
  304. },
  305. {
  306. label: '子商品编号',
  307. prop: 'childCode',
  308. minWidth: '100px',
  309. defaultData: '',
  310. required: true
  311. },
  312. {
  313. label: '子商品操作数量',
  314. prop: 'childNum',
  315. minWidth: '120px',
  316. defaultData: '',
  317. required: true
  318. }
  319. ]
  320. const notOrderTemplate = [columns.slice(1).reduce((prev, current) => ({ ...prev, [current.label]: current.defaultData ? current.defaultData : '' }), {})]
  321. export const mapLabelToProp = columns.reduce((prev, current) => ({ ...prev, [current.label]: current.prop }), {})
  322. export const mapPropertyToLabel = columns.reduce((prev, current) => ({ ...prev, [current.prop]: current.label }), {})
  323. export const requiredProps = columns.filter(column => !!column.required).map(item => item.prop)
  324. export { columns, notOrderTemplate };