_details.ts 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460
  1. /**
  2. * 开票申请详情
  3. */
  4. import { h } from "vue";
  5. import { ElTable, ElTableColumn, ElTag } from "element-plus";
  6. import { DescriptionColumns } from "/@/components/BasicDescriptions";
  7. import { createTooltip } from "/@/utils/tootip";
  8. import { invoiceApplyStatusOptions, invoiceTypeList } from "/@/utils/status";
  9. export const INV_TYPE = [
  10. { value: "1", label: "纸质专用发票", type: "primary" },
  11. { value: "2", label: "纸质普通发票", type: "success" },
  12. { value: "3", label: "电子普通发票", type: "primary" },
  13. { value: "4", label: "电子专用发票", type: "success" }
  14. ];
  15. export const OPEN_TYPE = [
  16. { value: "1", label: "金税开票" },
  17. { value: "2", label: "金税线下" },
  18. { value: "3", label: "纯线下" }
  19. ];
  20. // export const INV_OPEN_STATUS = [
  21. // { value: "0", label: "待财务开票/待金税开票", type: "" },
  22. // { value: "1", label: "待财务审核", type: "warning" },
  23. // { value: "2", label: "开票中/验票", type: "warning" },
  24. // { value: "3", label: "开票完成", type: "warning" },
  25. // { value: "4", label: "财务驳回 ", type: "warning" },
  26. // { value: "5", label: "开票失败/开票驳回", type: "warning" },
  27. // { value: "6", label: "退票/废弃", type: "warning" }
  28. // ];
  29. export const invOpenColumns: DescriptionColumns = [
  30. {
  31. field: "invNo",
  32. label: "发票编码",
  33. span: 2,
  34. labelWidth: "100px"
  35. },
  36. {
  37. field: "seller_title",
  38. label: "开票业务公司",
  39. span: 2,
  40. render: (seller_title, { inv_out }) =>
  41. createTooltip(seller_title, "业务公司编码 : " + inv_out, 300)
  42. },
  43. {
  44. field: "inv_in",
  45. span: 2,
  46. label: "客户公司"
  47. },
  48. {
  49. field: "inv_value",
  50. label: "发票金额"
  51. },
  52. {
  53. field: "apply_name",
  54. label: "申请人",
  55. render: (apply_name, { apply_id }) =>
  56. createTooltip(apply_name, "申请人ID : " + apply_id, 90)
  57. },
  58. {
  59. field: "status",
  60. label: "开票状态",
  61. render(data) {
  62. return h(
  63. ElTag,
  64. {
  65. type: invoiceApplyStatusOptions.find(s => s.value === String(data))
  66. ?.type as any
  67. },
  68. {
  69. default: () =>
  70. invoiceApplyStatusOptions.find(s => s.value === String(data))
  71. ?.label || "--"
  72. }
  73. );
  74. }
  75. },
  76. {
  77. field: "inv_type",
  78. label: "发票类型",
  79. render(data) {
  80. return h(ElTag, null, {
  81. default: () =>
  82. invoiceTypeList.find(t => t.value === String(data))?.label || "--"
  83. });
  84. }
  85. },
  86. {
  87. field: "open_type",
  88. label: "开票方式",
  89. render(data) {
  90. return h(ElTag, null, {
  91. default: () =>
  92. OPEN_TYPE.find(t => t.value === String(data))?.label || "--"
  93. });
  94. }
  95. },
  96. {
  97. field: "is_ticket",
  98. label: "是否支持金税",
  99. render(data) {
  100. return h(ElTag, null, {
  101. default: () => (data === "0" ? "不支持" : "支持")
  102. });
  103. }
  104. },
  105. {
  106. field: "winv_fee",
  107. label: "未开票"
  108. },
  109. {
  110. field: "ainv_fee",
  111. label: "已开票"
  112. },
  113. {
  114. field: "email",
  115. span: 2,
  116. label: "电子邮箱"
  117. },
  118. {
  119. field: "post_code",
  120. label: "快递编码",
  121. span: 2
  122. },
  123. {
  124. field: "post_company",
  125. label: "快递公司",
  126. span: 2
  127. },
  128. {
  129. field: "post_fee",
  130. span: 2,
  131. label: "快递费"
  132. },
  133. {
  134. field: "buyer_title",
  135. label: "买方抬头",
  136. span: 2
  137. },
  138. {
  139. field: "buyer_code",
  140. label: "买方纳税识别号",
  141. span: 2
  142. },
  143. {
  144. field: "buyer_addr",
  145. label: "买方注册地址",
  146. span: 2
  147. },
  148. {
  149. field: "buyer_mobile",
  150. label: "买方联系方式",
  151. span: 2
  152. },
  153. {
  154. field: "buyer_bank",
  155. label: "买方银行",
  156. span: 2
  157. },
  158. {
  159. field: "seller_title",
  160. label: "销售方抬头",
  161. span: 2
  162. },
  163. {
  164. field: "seller_code",
  165. label: "销售方纳税识别号",
  166. span: 2
  167. },
  168. {
  169. field: "seller_addr",
  170. label: "销售方地址",
  171. span: 2
  172. },
  173. {
  174. field: "seller_mobile",
  175. label: "销售方联系方式",
  176. span: 2
  177. },
  178. {
  179. field: "seller_bank",
  180. label: "销售方银行",
  181. span: 2
  182. },
  183. {
  184. field: "seller_bankNo",
  185. label: "销售方账户",
  186. span: 2
  187. },
  188. {
  189. field: "voider",
  190. label: "作废人"
  191. },
  192. {
  193. field: "payee",
  194. label: "收款人"
  195. },
  196. {
  197. field: "drawer",
  198. label: "开票人"
  199. },
  200. {
  201. field: "reviewer",
  202. label: "复核人"
  203. },
  204. {
  205. field: "exam_remark",
  206. label: "审核备注",
  207. span: 6
  208. },
  209. {
  210. field: "remark",
  211. label: "发票备注",
  212. span: 6
  213. },
  214. {
  215. field: "cancel_fee",
  216. label: "订单信息:",
  217. render(_, { orderinfo }) {
  218. return h(
  219. ElTable,
  220. {
  221. data: orderinfo,
  222. border: true,
  223. size: "small"
  224. },
  225. {
  226. default: () => [
  227. h(ElTableColumn, {
  228. prop: "orderCode",
  229. label: "编码",
  230. width: "180px",
  231. showOverflowTooltip: true
  232. }),
  233. h(ElTableColumn, {
  234. prop: "goodName",
  235. label: "商品名称",
  236. showOverflowTooltip: true
  237. }),
  238. h(ElTableColumn, {
  239. prop: "goodPrice",
  240. label: "商品单价",
  241. showOverflowTooltip: true
  242. }),
  243. h(ElTableColumn, {
  244. prop: "goodNum",
  245. label: "商品数量",
  246. showOverflowTooltip: true
  247. }),
  248. h(
  249. ElTableColumn,
  250. {
  251. prop: "catInfo",
  252. label: "分类",
  253. showOverflowTooltip: true
  254. },
  255. {
  256. default: ({ row }) =>
  257. JSON.parse(row.catInfo)
  258. .map(({ cat_name }) => cat_name)
  259. .join("/")
  260. }
  261. ),
  262. h(ElTableColumn, {
  263. prop: "cancel_fee",
  264. showOverflowTooltip: true,
  265. label: "开票金额"
  266. }),
  267. h(
  268. ElTableColumn,
  269. {
  270. prop: "tax",
  271. showOverflowTooltip: true,
  272. label: "税率"
  273. },
  274. {
  275. default: ({ row }) => row.tax + "%"
  276. }
  277. )
  278. ]
  279. }
  280. );
  281. }
  282. }
  283. ];
  284. export const ORDER_COLUMNS = [
  285. {
  286. field: "invNo",
  287. label: "发票编码"
  288. },
  289. {
  290. field: "inv_value",
  291. label: "发票金额"
  292. },
  293. {
  294. field: "buyer_title",
  295. label: "开票公司",
  296. render: (buyer_title, { inv_out }) =>
  297. createTooltip(buyer_title, "开票公司编码 : " + inv_out, 360)
  298. },
  299. {
  300. field: "buyer_title",
  301. label: "客户公司"
  302. },
  303. {
  304. field: "apply_name",
  305. label: "申请人"
  306. },
  307. {
  308. field: "status",
  309. label: "开票状态",
  310. render(data) {
  311. return h(
  312. ElTag,
  313. {
  314. type: invoiceApplyStatusOptions.find(s => s.value === data)
  315. ?.type as any
  316. },
  317. {
  318. default: () =>
  319. invoiceApplyStatusOptions.find(s => s.value === data)?.label || "--"
  320. }
  321. );
  322. }
  323. },
  324. {
  325. field: "inv_type",
  326. label: "发票类型",
  327. render(data) {
  328. return h(
  329. ElTag,
  330. {
  331. type: invoiceTypeList.find(s => s.value === data)?.type as any
  332. },
  333. {
  334. default: () => {
  335. return invoiceTypeList.find(t => t.value === data)?.label || "--";
  336. }
  337. }
  338. );
  339. }
  340. },
  341. {
  342. field: "open_type",
  343. label: "开票方式",
  344. render(data) {
  345. return h(ElTag, null, {
  346. default: () => OPEN_TYPE.find(t => t.value === data)?.label || "--"
  347. });
  348. }
  349. },
  350. {
  351. field: "is_ticket",
  352. label: "是否支持金税",
  353. render(data) {
  354. return h(ElTag, null, {
  355. default: () => (data === "0" ? "不支持" : "支持")
  356. });
  357. }
  358. },
  359. {
  360. field: "exam_remark",
  361. label: "审核备注"
  362. },
  363. {
  364. field: "remark",
  365. label: "备注"
  366. },
  367. {
  368. field: "email",
  369. label: "电子邮箱"
  370. },
  371. {
  372. field: "winv_fee",
  373. label: "未开票"
  374. },
  375. {
  376. field: "ainv_fee",
  377. label: "已开票"
  378. },
  379. {
  380. field: "post_fee",
  381. label: "快递费"
  382. },
  383. {
  384. field: "post_code",
  385. label: "快递编码"
  386. },
  387. {
  388. field: "post_company",
  389. label: "快递公司"
  390. }
  391. ];
  392. export const INVOICE_COLUMNS = [
  393. {
  394. field: "buyer_title",
  395. label: "买方抬头"
  396. },
  397. {
  398. field: "buyer_code",
  399. label: "买方纳税识别号"
  400. },
  401. {
  402. field: "buyer_addr",
  403. label: "买方注册地址"
  404. },
  405. {
  406. field: "buyer_mobile",
  407. label: "买方联系方式"
  408. },
  409. {
  410. field: "buyer_bank",
  411. label: "买方银行"
  412. },
  413. {
  414. field: "seller_title",
  415. label: "销售方抬头"
  416. },
  417. {
  418. field: "seller_code",
  419. label: "销售方纳税识别号"
  420. },
  421. {
  422. field: "seller_addr",
  423. label: "销售方地址"
  424. },
  425. {
  426. field: "seller_mobile",
  427. label: "销售方联系方式"
  428. },
  429. {
  430. field: "seller_bank",
  431. label: "销售方银行"
  432. },
  433. {
  434. field: "seller_bankNo",
  435. label: "销售方账户"
  436. },
  437. {
  438. field: "voider",
  439. label: "作废人"
  440. },
  441. {
  442. field: "payee",
  443. label: "收款人"
  444. },
  445. {
  446. field: "drawer",
  447. label: "开票人"
  448. },
  449. {
  450. field: "ownerPlace",
  451. label: "复核人"
  452. }
  453. ];