initColumn.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import { Columns, TabColumns } from "../add/column";
  2. import { initColumns, initParams } from "@/utils/init/index.js";
  3. import deepCopy from "@gby/deep-copy";
  4. // import {deepCopy} from "../dist/deep-copy.es"
  5. export const editColumns = initColumns(Columns);
  6. export const editTabColumns = TabColumns.map((element) =>
  7. ({
  8. ...element,
  9. tableColumns: initColumns(element.tableColumns),
  10. }));
  11. export const SelectColumns = editColumns.filter(column => column.inputType === 'Select')
  12. editTabColumns.forEach(column => {
  13. SelectColumns.push(...column.tableColumns.filter(cColumn => cColumn.inputType === 'Select'))
  14. });
  15. // 禁用项
  16. export const forbidden = (isEdit,source) => {
  17. // let updateColumns = deepCopy(editColumns);
  18. // let updateTabColumns = deepCopy(editTabColumns);
  19. let updateColumns = _.cloneDeep(editColumns);
  20. let updateTabColumns = _.cloneDeep(editTabColumns);
  21. console.log(isEdit, 'isEdit',source,'source');
  22. if(isEdit){
  23. // 编辑
  24. // 订单来源为:自动协议直采和协议直采
  25. if(source === '1' || source === '2'){
  26. updateTabColumns.forEach(tab =>{
  27. tab.tableColumns.forEach(cColumn => {
  28. if(cColumn.key === 'materialName' || cColumn.key === 'qty'){
  29. cColumn.disabled = true;
  30. }
  31. })
  32. })
  33. }
  34. }
  35. else{
  36. console.log('修订');
  37. // 修订
  38. updateColumns.forEach(item => {
  39. if (item.key == 'buyerName' || item.key == 'puDeptName' || item.key == 'deductionMoney' ||
  40. item.key == 'supplierContactsName' || item.key == 'agentName' ||
  41. item.key == 'rebateMoney' || item.key == 'remark') {
  42. item.disabled = false;
  43. item.readonly = false;
  44. } else {
  45. item.disabled = true;
  46. item.readonly = true;
  47. }
  48. })
  49. updateTabColumns.forEach(item => {
  50. item.tableColumns.forEach(t => {
  51. if (t.key == 'unit' || t.key == 'qty' ||
  52. t.key == 'place' || t.key == 'arrivalDatePlan' || t.key == 'storageCondition' ||
  53. t.key == 'carriageCondition' || t.key == 'customerName' || t.key == 'isBatchLock' ||
  54. t.key == 'isReplenishment' || t.key == 'originalQty' || t.key == 'originalMoney' ||
  55. t.key == 'taxPrice' || t.key == 'taxDeductMoneya'
  56. ) {
  57. t.disabled = false;
  58. t.readonly = false;
  59. } else {
  60. t.disabled = true;
  61. t.readonly = true;
  62. }
  63. })
  64. })
  65. }
  66. return { updateColumns, updateTabColumns }
  67. }