transition.js 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. const optionsAgency = [
  2. {label: '代配', value: '0'},
  3. {label: '代煎', value: '1'},
  4. {label: '自煎', value: '2'},
  5. ];
  6. const optionsDelivery = [
  7. {label: '配送到本院(站)', value: '1'},
  8. {label: '快递配送', value: '0'},
  9. ];
  10. export const analysisAgency = (data) => {
  11. const defaultAgency = (data.defaultAgency || '').toString().trim();
  12. const displayAgency = (data.displayAgency || '').toString().trim();
  13. // 保留原有逻辑
  14. if (/^\d+/.test(displayAgency)) return {
  15. // 默认代煎 0是 1否
  16. defaultAgency: defaultAgency === '0' ? '1' : '2',
  17. // 显示代煎 0显示 1隐藏
  18. displayAgency: displayAgency === '1' ? [] : optionsAgency.filter(option => option.value !== '2').map(option => option.value),
  19. optionsAgency: [...optionsAgency],
  20. };
  21. // 存在新值 (label:value,label:value)
  22. if (displayAgency) {
  23. const options = [...optionsAgency];
  24. const values = [];
  25. for (const string of displayAgency.split(',').filter(Boolean)) {
  26. const [label, value] = string.split(':');
  27. const option = options.find((option) => option.value === value);
  28. if (label) {
  29. if (option) option.label = label;
  30. else options.push({ label, value });
  31. }
  32. values.push(value);
  33. }
  34. return {
  35. defaultAgency: defaultAgency,
  36. displayAgency: values,
  37. optionsAgency: options,
  38. };
  39. }
  40. // 默认配置
  41. return {
  42. defaultAgency: defaultAgency,
  43. displayAgency: [],
  44. optionsAgency,
  45. };
  46. };
  47. export const analysisDelivery = (data) => {
  48. const defaultDelivery = (data.defaultDelivery || '').toString().trim();
  49. const displayDelivery = (data.displayDelivery || '').toString().trim();
  50. // 保留原有逻辑
  51. if (/^\d+/.test(displayDelivery)) return {
  52. // 默认配送 0是 1否
  53. defaultDelivery: defaultDelivery,
  54. // 显示配送 0显示 1隐藏
  55. displayDelivery: displayDelivery === '1' ? [] : optionsDelivery.map(option => option.value),
  56. optionsDelivery: optionsDelivery,
  57. };
  58. // 存在新值 (label:value,label:value)
  59. if (displayDelivery) {
  60. const options = [...optionsDelivery];
  61. const values = [];
  62. for (const string of displayDelivery.split(',').filter(Boolean)) {
  63. const [label, value] = string.split(':');
  64. const option = options.find((option) => option.value === value);
  65. if (label) {
  66. if (option) option.label = label;
  67. else options.push({ label, value });
  68. }
  69. values.push(value);
  70. }
  71. return {
  72. defaultDelivery: defaultDelivery,
  73. displayDelivery: values,
  74. optionsDelivery: options,
  75. };
  76. }
  77. // 默认配置
  78. return {
  79. defaultDelivery: defaultDelivery,
  80. displayDelivery: [],
  81. optionsDelivery,
  82. };
  83. }