column.js 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. export const TableColumns = [
  2. {
  3. item: { key: "priceName", title: "价格名称" },
  4. attr: { component: "el-input", value: "价格申报单" },
  5. },
  6. {
  7. item: { key: "priceCode", title: "价格编码" },
  8. attr: { component: "el-input", disabled: true, readonly: true },
  9. },
  10. {
  11. item: { key: "supplierName", title: "供应商", require: true },
  12. attr: {
  13. component: "el-popover-select-v2",
  14. valueKey: "name",
  15. referName: "SUPPLIER_PARAM",
  16. dataMapping: {
  17. supplier: "id",
  18. supplierCode: "code",
  19. supplierName: "name",
  20. },
  21. },
  22. },
  23. {
  24. item: { key: "puOrgName", title: "采购组织", require: true },
  25. attr: {
  26. component: "el-popover-select-v2",
  27. valueKey: "name",
  28. referName: "ORG_PARAM",
  29. dataMapping: { puOrg: "id", puOrgCode: "code", puOrgName: "name" },
  30. },
  31. },
  32. {
  33. item: { key: "currencyName", title: "币种", require: true },
  34. attr: {
  35. component: "el-popover-select-v2",
  36. valueKey: "name",
  37. referName: "CURRENCY_PARAM",
  38. dataMapping: {
  39. currency: "id",
  40. currencyCode: "code",
  41. currencyName: "name",
  42. },
  43. },
  44. },
  45. {
  46. item: { key: "explainStr", title: "价格合理性说明", require: true },
  47. attr: { component: "el-input" },
  48. },
  49. {
  50. item: { key: "buyerName", title: "采购员", require: true },
  51. attr: {
  52. component: "el-popover-select-v2",
  53. valueKey: "name",
  54. referName: "CONTACTS_PARAM",
  55. dataMapping: { buyer: "code", buyerName: "name" },
  56. },
  57. },
  58. {
  59. item: { key: "puDeptName", title: "采购部门", require: true },
  60. attr: {
  61. component: "el-popover-select-v2",
  62. valueKey: "name",
  63. referName: "DEPT_PARAM",
  64. dataMapping: { puDept: "id", puDeptCode: "code", puDeptName: "name" },
  65. },
  66. },
  67. {
  68. item: { key: "createByName", title: "创建人" },
  69. attr: { component: "el-input", disabled: true, readonly: true },
  70. },
  71. {
  72. item: { key: "source", title: "来源单据号" },
  73. attr: { component: "el-input", disabled: true, readonly: true },
  74. },
  75. {
  76. item: { key: "id", title: "来源单据id" },
  77. attr: { component: "el-input", disabled: true, readonly: true },
  78. },
  79. {
  80. item: { key: "isEffective", title: "是否已推价格" },
  81. attr: {
  82. component: "el-select",
  83. dictName: "is_effective",
  84. },
  85. },
  86. {
  87. item: { key: "effectiveDate", title: "生效日期" },
  88. attr: { component: "el-input", disabled: true, readonly: true },
  89. },
  90. {
  91. item: { key: "file", title: "附件", require: true, span: 24 },
  92. attr: { component: "file-upload" },
  93. },
  94. {
  95. item: { key: "sourceType", title: "来源单据类型" },
  96. attr: { component: "el-input", disabled: true, readonly: true },
  97. },
  98. {
  99. item: { key: "status", title: "单据状态" },
  100. attr: {
  101. component: "el-select",
  102. dictName: "sys_status",
  103. disabled: true,
  104. readonly: true,
  105. value: "0",
  106. },
  107. },
  108. ];
  109. export const TabColumns = [
  110. {
  111. title: "物料信息表",
  112. key: "priceApplyItems",
  113. tableColumns: [
  114. {
  115. item: { key: "materialName", title: "物料名称", require: true },
  116. attr: {
  117. component: "el-popover-select-v2",
  118. valueKey: "name",
  119. referName: "MATERIAL_PARAM",
  120. dataMapping: {
  121. model: "model",
  122. material: "id",
  123. materialCode: "code",
  124. materialName: "name",
  125. unitName: "unitIdName",
  126. puUnitName: "unitIdName",
  127. specification: "specification",
  128. manufacturer: "manufacturerId",
  129. manufacturerName: "manufacturerIdName",
  130. },
  131. },
  132. },
  133. { item: { key: "materialCode", title: "物料编码" }, attr: {} },
  134. { item: { key: "manufacturerName", title: "生产厂家" }, attr: {} },
  135. { item: { key: "specification", title: "规格" }, attr: {} },
  136. { item: { key: "model", title: "型号" }, attr: {} },
  137. {
  138. item: { key: "unitName", title: "单位" },
  139. attr: {
  140. component: "el-popover-select-v2",
  141. valueKey: "name",
  142. referName: "UNIT_PARAM",
  143. dataMapping: { unit: "id", unitCode: "code", unitName: "name" },
  144. },
  145. },
  146. {
  147. item: { key: "puUnitName", title: "采购单位" },
  148. attr: {
  149. component: "el-popover-select-v2",
  150. valueKey: "name",
  151. referName: "UNIT_PARAM",
  152. dataMapping: { puUnit: "id", puUnitCode: "code", puUnitName: "name" },
  153. },
  154. },
  155. {
  156. item: { key: "conversionRate", title: "采购换算率", require: true },
  157. attr: {
  158. component: "el-input-number",
  159. precision: 6,
  160. formatter: (prop) => (prop ? (prop * 1).toFixed(6) : null),
  161. },
  162. },
  163. {
  164. item: { key: "tax", title: "税率%", require: true },
  165. attr: {
  166. component: "el-popover-select-v2",
  167. valueKey: "ntaxrate",
  168. referName: "TAX_RATE_PARAM",
  169. dataMapping: { tax: "ntaxrate" },
  170. formatter: (prop) => (prop ? (prop * 1).toFixed(6) : null),
  171. },
  172. },
  173. {
  174. item: { key: "taxPrice", title: "含税单价", require: true },
  175. attr: {
  176. component: "el-input-number",
  177. precision: 6,
  178. formatter: (prop) => (prop ? (prop * 1).toFixed(6) : null),
  179. },
  180. },
  181. {
  182. item: { key: "price", title: "无税单价", require: true },
  183. attr: {
  184. component: "el-computed-input",
  185. formatter: (prop) => {
  186. const { tax, taxPrice } = prop;
  187. const newTax = Number(tax) / 100;
  188. const price = (taxPrice / (1 + newTax)).toFixed(6);
  189. return price === "NaN" ? null : price;
  190. },
  191. },
  192. },
  193. {
  194. item: { key: "currencyName", title: "币种" },
  195. attr: {
  196. component: "el-popover-select-v2",
  197. valueKey: "name",
  198. referName: "CURRENCY_PARAM",
  199. dataMapping: {
  200. currency: "id",
  201. currencyCode: "code",
  202. currencyName: "name",
  203. },
  204. },
  205. },
  206. {
  207. item: { key: "periodBegin", title: "价格有效期(起)", require: true },
  208. attr: {
  209. component: "el-date-picker",
  210. valueFormat: "yyyy-MM-dd",
  211. value: new Date(),
  212. },
  213. },
  214. {
  215. item: { key: "periodEnd", title: "价格有效期(止)", require: true },
  216. attr: {
  217. component: "el-date-picker",
  218. valueFormat: "yyyy-MM-dd",
  219. pickerOptions: {
  220. disabledDate(time) {
  221. return time.getTime() < Date.now() + 3600 * 1000 * 24 * 365;
  222. },
  223. },
  224. value: new Date(new Date().getTime() + 3600 * 1000 * 24 * 366),
  225. },
  226. },
  227. {
  228. item: { key: "customerName", title: "客户" },
  229. attr: {
  230. component: "el-popover-select-v2",
  231. valueKey: "name",
  232. referName: "CUSTOMER_PARAM",
  233. dataMapping: {
  234. customer: "id",
  235. customerCode: "code",
  236. customerName: "name",
  237. },
  238. },
  239. },
  240. { item: { key: "recentlyPrice", title: "最近价格" }, attr: {} },
  241. {
  242. item: { key: "isApprovalFirst", title: "首次报批" },
  243. attr: {
  244. component: "el-select",
  245. dictName: "is_effective",
  246. },
  247. },
  248. {
  249. item: { key: "isPriceAdjustment", title: "价格调整" },
  250. attr: {
  251. component: "el-select",
  252. dictName: "is_effective",
  253. },
  254. },
  255. {
  256. item: { key: "priceType", title: "价格类型" },
  257. attr: {
  258. component: "el-select",
  259. dictName: "sys_price_type",
  260. },
  261. },
  262. {
  263. item: { key: "isDistributionPrice", title: "配送价", require: true },
  264. attr: {
  265. component: "el-select",
  266. dictName: "is_effective",
  267. },
  268. },
  269. { item: { key: "createByName", title: "创建人名称" }, attr: {} },
  270. { item: { key: "updateByName", title: "更新人名称" }, attr: {} },
  271. ],
  272. },
  273. {
  274. title: "合同执行组织范围",
  275. key: "priceApplyOrgs",
  276. tableColumns: [
  277. {
  278. item: { key: "orgName", title: "组织", require: true, width: "auto" },
  279. attr: {
  280. component: "el-popover-select-v2",
  281. valueKey: "name",
  282. referName: "ORG_PARAM",
  283. dataMapping: {
  284. org: "id",
  285. orgCode: "code",
  286. orgName: "name",
  287. },
  288. },
  289. },
  290. {
  291. item: { key: "createByName", title: "创建人名称", width: "auto" },
  292. attr: {},
  293. },
  294. {
  295. item: { key: "updateByName", title: "更新人名称", width: "auto" },
  296. attr: {},
  297. },
  298. ],
  299. },
  300. ];
  301. // console.log(
  302. // JSON.stringify(
  303. // TabColumns[0].tableColumns.map((item) => ({
  304. // item: { key: item.key, title: item.title, require: item.require },
  305. // attr: {
  306. // component: item.inputType,
  307. // dictName: item.referName,
  308. // referName: item.referName,
  309. // clearable: item.clearable,
  310. // dataMapping: item.dataMapping,
  311. // disabled: item.disabled,
  312. // readonly: item.readonly,
  313. // formatter: item.formatter,
  314. // valueFormat: item.valueFormat,
  315. // pickerOptions: item.pickerOptions,
  316. // computed: item.computed,
  317. // value: item.value,
  318. // },
  319. // }))
  320. // )
  321. // );
  322. export default { TableColumns, TabColumns };