content.config.ts 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. import { ContentConfig } from "/@/components/PageContent";
  2. import { httpList } from "/@/api/InvoiceSaleSettings/consultingCost";
  3. import { h } from "vue";
  4. import dayjs from "dayjs";
  5. import { ElImage, ElTag } from "element-plus";
  6. import { good_type } from "./configs";
  7. import { renderIconLabelLeft } from "/@/utils/columnRenderHelper";
  8. function renderGoodImage(imgSrc: string) {
  9. const imgs = imgSrc.split(",");
  10. return h(ElImage, {
  11. src: imgs[0],
  12. previewTeleported: true,
  13. previewSrcList: [imgs[0]],
  14. style: {
  15. height: "20px",
  16. width: "20px"
  17. }
  18. });
  19. }
  20. const columns = [
  21. {
  22. type: "selection",
  23. width: 40,
  24. align: "center"
  25. },
  26. {
  27. label: "商品编码",
  28. prop: "spuCode",
  29. width: 150
  30. },
  31. {
  32. label: "卖出方公司",
  33. prop: "supplierName",
  34. width: 175,
  35. ...renderIconLabelLeft("supplierNo", "supplierName", "卖出方公司编码:")
  36. },
  37. {
  38. label: "买入方公司",
  39. prop: "companyName",
  40. width: 195,
  41. ...renderIconLabelLeft("companyNo", "companyName", "买入方公司编码:")
  42. },
  43. {
  44. label: "商品名称",
  45. prop: "good_name",
  46. minWidth: 195
  47. },
  48. {
  49. label: "主图",
  50. prop: "good_img",
  51. width: 55,
  52. cellRenderer: ({ row }) => renderGoodImage(row.good_img)
  53. },
  54. {
  55. label: "采购类目编码",
  56. width: 155,
  57. prop: "cgd_inv_cat_code"
  58. },
  59. {
  60. label: "采购类目名称",
  61. width: 120,
  62. prop: "cgd_inv_cat_name"
  63. },
  64. {
  65. label: "采购开票商品名称",
  66. prop: "cgd_inv_good_name",
  67. width: 165
  68. },
  69. {
  70. label: "财务类目编码",
  71. width: 155,
  72. prop: "inv_cat_code"
  73. },
  74. {
  75. label: "财务类目名称",
  76. width: 120,
  77. prop: "inv_cat_name"
  78. },
  79. {
  80. label: "财务开票商品名称",
  81. prop: "inv_good_name",
  82. width: 165
  83. },
  84. {
  85. label: "状态",
  86. prop: "status",
  87. width: 150,
  88. cellRenderer: ({ row }) => {
  89. return h(
  90. ElTag,
  91. {
  92. type: row.status === "2" ? "success" : ""
  93. },
  94. {
  95. default: () =>
  96. good_type.find(t => t.value === String(row.status))?.label
  97. }
  98. );
  99. }
  100. },
  101. {
  102. label: "增值税管理内容",
  103. prop: "addTax",
  104. width: "140px"
  105. },
  106. {
  107. label: "创建时间",
  108. prop: "createTime",
  109. width: 140,
  110. formatter: ({ addtime }) => dayjs(addtime).format("YYYY-MM-DD HH:mm:ss")
  111. },
  112. {
  113. label: "创建人",
  114. width: 80,
  115. prop: "creater"
  116. },
  117. {
  118. label: "操作",
  119. fixed: "right",
  120. width: 80,
  121. slot: "operation"
  122. }
  123. ];
  124. const contentConfig: ContentConfig = {
  125. title: "销售成本类目设置",
  126. superUserNoPerview: true,
  127. columns,
  128. apis: {
  129. httpList: (params = {}) => httpList({ ...params, isChild: 0 })
  130. }
  131. };
  132. export default contentConfig;