content.config.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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: "cgd_supplierName",
  34. width: 175,
  35. ...renderIconLabelLeft("cgd_supplierNo", "cgd_supplierName", "卖出方公司编码:")
  36. },
  37. {
  38. label: "买入方公司",
  39. prop: "supplierName",
  40. width: 195,
  41. ...renderIconLabelLeft("supplierNo", "supplierName", "买入方公司编码:")
  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: 120,
  57. prop: "cgd_inv_cat_name"
  58. },
  59. {
  60. label: "采购开票商品名称",
  61. prop: "cgd_inv_good_name",
  62. width: 165
  63. },
  64. {
  65. label: "财务类目名称",
  66. width: 120,
  67. prop: "inv_cat_name"
  68. },
  69. {
  70. label: "财务开票商品名称",
  71. prop: "inv_good_name",
  72. width: 165
  73. },
  74. {
  75. label: "状态",
  76. prop: "status",
  77. width: 150,
  78. cellRenderer: ({ row }) => {
  79. return h(
  80. ElTag,
  81. {
  82. type: row.status === "2" ? "success" : ""
  83. },
  84. {
  85. default: () =>
  86. good_type.find(t => t.value === String(row.status))?.label
  87. }
  88. );
  89. }
  90. },
  91. {
  92. label: "增值税管理内容",
  93. prop: "addTax",
  94. width: "140px"
  95. },
  96. {
  97. label: "创建时间",
  98. prop: "createTime",
  99. width: 140,
  100. formatter: ({ addtime }) => dayjs(addtime).format("YYYY-MM-DD HH:mm:ss")
  101. },
  102. {
  103. label: "创建人",
  104. width: 80,
  105. prop: "creater"
  106. },
  107. {
  108. label: "操作",
  109. fixed: "right",
  110. width: 80,
  111. slot: "operation"
  112. }
  113. ];
  114. const contentConfig: ContentConfig = {
  115. title: "销售成本类目设置",
  116. superUserNoPerview: true,
  117. transformField: 'cgd_supplierNo',
  118. companyProp: "supplierNo",
  119. columns,
  120. apis: {
  121. httpList: (params = {}) => httpList({ ...params, isChild: 1, noRela: true })
  122. }
  123. };
  124. export default contentConfig;