columns-config.ts 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  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: 'cxCode',
  73. // minWidth: '120px',
  74. // defaultData: '',
  75. // },
  76. {
  77. label: '商品类型',
  78. prop: 'goodType',
  79. minWidth: '120px',
  80. defaultData: '',
  81. required: true
  82. },
  83. {
  84. label: '商品编号',
  85. prop: 'goodNo',
  86. minWidth: '100px',
  87. defaultData: '',
  88. required: true
  89. },
  90. {
  91. label: '商品名称',
  92. prop: 'goodName',
  93. minWidth: '100px',
  94. defaultData: '',
  95. required: true
  96. },
  97. {
  98. label: '订单单位',
  99. prop: 'unit',
  100. minWidth: '80px',
  101. defaultData: '',
  102. required: true
  103. },
  104. {
  105. label: '商品数量',
  106. prop: 'num',
  107. minWidth: '110px',
  108. defaultData: '',
  109. required: true
  110. },
  111. {
  112. label: '商品单价',
  113. prop: 'goodPrice',
  114. minWidth: '110px',
  115. defaultData: '',
  116. required: true
  117. },
  118. {
  119. label: '订单总金额',
  120. prop: 'totalPrice',
  121. minWidth: '110px',
  122. defaultData: '',
  123. required: true
  124. },
  125. {
  126. label: '税目',
  127. prop: 'cat_code',
  128. minWidth: '80px',
  129. defaultData: '',
  130. required: true
  131. },
  132. {
  133. label: '税目名称',
  134. prop: 'cat_name',
  135. minWidth: '100px',
  136. defaultData: '',
  137. required: true
  138. },
  139. {
  140. label: '订单税率',
  141. prop: 'tax',
  142. minWidth: '100px',
  143. defaultData: '',
  144. required: true
  145. },
  146. {
  147. label: '关联金额',
  148. prop: 'inv_fee',
  149. minWidth: '100px',
  150. defaultData: '',
  151. required: true
  152. },
  153. {
  154. label: '购买方纳税号',
  155. prop: 'inv_buyer_code',
  156. minWidth: '130px',
  157. defaultData: '',
  158. required: true
  159. },
  160. {
  161. label: '购买方名称',
  162. prop: 'inv_buyer_name',
  163. minWidth: '170px',
  164. defaultData: '',
  165. required: true
  166. },
  167. {
  168. label: '发票号码',
  169. prop: 'inv_number',
  170. minWidth: '100px',
  171. defaultData: '',
  172. required: true
  173. },
  174. {
  175. label: '开票日期',
  176. prop: 'inv_open_date',
  177. minWidth: '100px',
  178. defaultData: '',
  179. required: true
  180. },
  181. {
  182. label: '发票类型',
  183. prop: 'inv_type',
  184. minWidth: '100px',
  185. defaultData: '',
  186. required: true
  187. },
  188. {
  189. label: '销售方公司纳税号',
  190. mapLabel: '发票销售方公司纳税号',
  191. prop: 'inv_seller_code',
  192. minWidth: '170px',
  193. defaultData: '',
  194. required: true
  195. },
  196. {
  197. label: '销售方公司',
  198. prop: 'inv_seller_name',
  199. minWidth: '130px',
  200. defaultData: '',
  201. required: true
  202. },
  203. {
  204. label: '发票明细ID',
  205. prop: 'inv_item_id',
  206. minWidth: '110px',
  207. defaultData: '',
  208. },
  209. {
  210. label: '货物或应税劳务、服务名称',
  211. prop: 'inv_good_name',
  212. minWidth: '200px',
  213. defaultData: '',
  214. required: true
  215. },
  216. {
  217. label: '类目编号',
  218. prop: 'inv_cat_code',
  219. minWidth: '90px',
  220. defaultData: '',
  221. required: true
  222. },
  223. {
  224. label: '规格型号',
  225. prop: 'inv_spec',
  226. minWidth: '110px',
  227. defaultData: '',
  228. },
  229. {
  230. label: '单位',
  231. mapLabel: '发票商品单位',
  232. prop: 'inv_unit',
  233. minWidth: '100px',
  234. defaultData: '',
  235. },
  236. {
  237. label: '数量',
  238. prop: 'inv_num',
  239. minWidth: '100px',
  240. defaultData: '',
  241. required: true
  242. },
  243. {
  244. label: '税前单价',
  245. prop: 'inv_subprice',
  246. minWidth: '100px',
  247. defaultData: '',
  248. required: true
  249. },
  250. {
  251. label: '税前总价',
  252. prop: 'inv_subtotal',
  253. minWidth: '100px',
  254. defaultData: '',
  255. required: true
  256. },
  257. {
  258. label: '税率',
  259. prop: 'inv_tax',
  260. minWidth: '80px',
  261. defaultData: '',
  262. required: true
  263. },
  264. {
  265. label: '税额',
  266. prop: 'inv_tax_total',
  267. minWidth: '80px',
  268. defaultData: '',
  269. required: true
  270. },
  271. {
  272. label: '税后单价',
  273. prop: 'inv_price',
  274. minWidth: '100px',
  275. defaultData: '',
  276. required: true
  277. },
  278. {
  279. label: '税后总额',
  280. prop: 'inv_total',
  281. minWidth: '100px',
  282. defaultData: '',
  283. required: true
  284. },
  285. {
  286. label: '类目编号状态',
  287. prop: 'cat_diff',
  288. minWidth: '100px',
  289. defaultData: '',
  290. required: true
  291. },
  292. {
  293. label: '税率状态',
  294. prop: 'tax_diff',
  295. minWidth: '100px',
  296. defaultData: '',
  297. required: true
  298. },
  299. {
  300. label: '备注',
  301. prop: 'remark',
  302. minWidth: '80px',
  303. defaultData: '',
  304. },
  305. {
  306. label: '入账月份',
  307. prop: 'fz_date',
  308. minWidth: '80px',
  309. defaultData: '',
  310. required: true
  311. }
  312. ]
  313. const orderTemplate = [columns.slice(1).reduce((prev, current) => {
  314. return { ...prev, [current.label]: current.defaultData ? current.defaultData : '' }
  315. }, {})]
  316. export const mapLabelToProp = columns.reduce((prev, current) => ({
  317. ...prev,
  318. [current.label]: current.prop
  319. }), {})
  320. export const mapPropertyToLabel = columns.reduce((prev, current) => ({
  321. ...prev,
  322. [current.prop]: current.label
  323. }), {})
  324. export const requiredProps = columns.filter(column => !!column.required).map(item => item.prop)
  325. export { columns, orderTemplate };