zentaobiz.ui.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. $(document).ready(function() {
  2. iconModal();
  3. changeIconTheme();
  4. changeIcon();
  5. saveIcon();
  6. formActions();
  7. });
  8. // 图标数据
  9. const iconData = {
  10. iconName: iconName,
  11. iconTheme: parseInt(iconTheme),
  12. };
  13. const colors = themeList[iconData.iconTheme];
  14. iconData.bgColor = colors[0];
  15. iconData.bdColor = colors[1];
  16. function updatePreviewIcon() {
  17. $('#preview-icon')
  18. .css('background-color', iconData.bgColor)
  19. .css('border', '1px solid ' + iconData.bdColor)
  20. .empty()
  21. .append(iconList[iconData.iconName]);
  22. }
  23. // 图标弹窗
  24. function iconModal() {
  25. $('#ai-edit-icon')
  26. .on('click', function() {
  27. const iconName = $('#iconName').val();
  28. const iconTheme = parseInt($('#iconTheme').val());
  29. iconData.iconTheme = iconTheme;
  30. iconData.iconName = iconName;
  31. const colors = themeList[iconData.iconTheme];
  32. iconData.bgColor = colors[0];
  33. iconData.bdColor = colors[1];
  34. updatePreviewIcon();
  35. $('#theme-buttons button.checked').removeClass('checked');
  36. $(`#theme-buttons button[index="${iconData.iconTheme}"]`).addClass('checked');
  37. zui.Modal.open({
  38. id: 'icon-modal',
  39. });
  40. });
  41. }
  42. // 图标弹窗 - 自定义背景色
  43. function changeIconTheme() {
  44. $('#theme-buttons')
  45. .on('click', 'button', function() {
  46. if (!$(this).hasClass('checked')) {
  47. $('#theme-buttons button.checked').removeClass('checked');
  48. iconData.iconTheme = parseInt($(this).attr('index'));
  49. const colors = themeList[iconData.iconTheme];
  50. iconData.bgColor = colors[0];
  51. iconData.bdColor = colors[1];
  52. updatePreviewIcon();
  53. $(this).addClass('checked');
  54. }
  55. });
  56. }
  57. // 图标弹窗 - 自定义 icon
  58. function changeIcon() {
  59. $('#icon-buttons')
  60. .on('click', 'svg', function() {
  61. iconData.iconName = $(this).attr('id');
  62. updatePreviewIcon();
  63. });
  64. }
  65. // 图标弹窗 - 保存
  66. function saveIcon() {
  67. $('#save-icon-button')
  68. .on('click', function() {
  69. $('#iconName').val(iconData.iconName);
  70. $('#iconTheme').val(iconData.iconTheme);
  71. $('#ai-edit-icon')
  72. .css('background-color', iconData.bgColor)
  73. .css('border', '1px solid ' + iconData.bdColor)
  74. .empty()
  75. .append($(`#${iconData.iconName}`).clone())
  76. });
  77. }
  78. // 表单操作
  79. function formActions() {
  80. // 保存
  81. $('#save-miniprogram').on('click', function() {
  82. $('[name="toNext"]').val('0');
  83. });
  84. // 下一步
  85. $('#next-step').on('click', function() {
  86. $('[name="toNext"]').val('1');
  87. });
  88. }