UserHelp.cshtml 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. 
  2. @{
  3. string activeMenu = PermissionNames.VberUserHelpInfo; //The menu item will be active for this page.
  4. ViewBag.ActiveMenu = activeMenu;
  5. ViewBag.Title = "系统帮助管理";
  6. }
  7. <vc:breadcrumb active-menu="@activeMenu"></vc:breadcrumb>
  8. <div class="d-flex flex-column flex-xl-row">
  9. <div class="flex-lg-row-fluid me-lg-10" id="content_body">
  10. <div id="content_body-container">
  11. </div>
  12. </div>
  13. <div class="flex-column flex-lg-row-auto w-100 w-xl-300px pt-10 mb-10">
  14. <div class="card card-flush bg-light mb-0 h-300px"
  15. data-kt-sticky="true"
  16. data-kt-sticky-name="docs-sticky-help"
  17. data-kt-sticky-offset="{default: false, xl: '200px'}"
  18. data-kt-sticky-width="{lg: '250px', xl: '300px'}"
  19. data-kt-sticky-left="auto"
  20. data-kt-sticky-top="85px"
  21. data-kt-sticky-animation="false"
  22. data-kt-sticky-zindex="95">
  23. <div class="card-header justify-content-center" id="category_header">
  24. <div class="card-title text-primary ">
  25. <h2>目录</h2>
  26. </div>
  27. </div>
  28. <div class="card-body pt-0 fs-5" id="category_body">
  29. <div id="vb_category_scroll" class="scroll-y me-n5 pe-5" data-kt-scroll="true" data-kt-scroll-height="auto" data-kt-scroll-wrappers="#category_body" data-kt-scroll-dependencies="#category_header" data-kt-scroll-offset="5px">
  30. <div class="mb-0" id="category_body-container">
  31. </div>
  32. </div>
  33. </div>
  34. </div>
  35. </div>
  36. </div>
  37. @section scripts
  38. {
  39. <script type="text/javascript">
  40. $(function () {
  41. $(".help-list .nav-item a").on("click",
  42. function () {
  43. $('.help-list li').find('a').removeClass("active");
  44. $(this).addClass("active");
  45. });
  46. QueryHelp();
  47. });
  48. function QueryHelp() {
  49. $.vbAjax4({
  50. url: abp.appUrl + "Query/QueryHelpByMenu",
  51. success: function (res) {
  52. formatterHelps(res);
  53. }
  54. });
  55. let $categoryBody = $('#category_body-container') ,$contentBody=$('#content_body-container');
  56. function formatterHelps(data) {
  57. if (data && data.length) {
  58. $categoryBody.empty();
  59. $contentBody.empty();
  60. data.forEach(function (v) {
  61. var str1 = "", str2 = "";
  62. for (var i = 0; i < v.helps.length; i++) {
  63. var h = v.helps[i];
  64. str1 += `<li class="nav-item"><a class="nav-link" href="#syshelp_${h.id}"><span>${i + 1
  65. })</span>${h.title}</a></li>`;
  66. str2 += ` <div id="syshelp_${h.id}" class="no-select"><span>${i + 1})</span>${h.title}</div>
  67. <div class="help-content" data-id="${h.id}">
  68. <div class="w-100 h-100px d-flex justify-content-center align-items-center fs-4 text-primary">
  69. 加载中... <span class="spinner-border spinner-border-sm align-middle ms-2"></span>
  70. </div>
  71. </div>`;
  72. }
  73. var str3 = `<div class="card mb-5 p-0 bg-primary" id="help-info_list_${v.index}" >
  74. <div class="card-header text-inverse-primary min-h-50px" data-bs-toggle="collapse" data-bs-target="#vb_help-info_${v.index}">
  75. <div class="card-title fs-bolder text-inverse-primary">
  76. <span class="pe-2 ">${v.index}.</span>${v.menuName}
  77. </div>
  78. </div>
  79. <div class="card-body pt-0 pb-2 px-2 collapse bg-white" id="vb_help-info_${v.index}">
  80. <ul class="nav help-list me-5">${str1}</ul>
  81. </div>
  82. </div>`;
  83. $categoryBody.append(str3);
  84. var str4 = `<div class="card bg-light-primary mb-5" id="help-detail_list_${v.index}">
  85. <div class="card-header" data-bs-toggle="collapse" data-bs-target="#vb_help-detail_${v.index}">
  86. <div class="card-title ps-4">
  87. <h4 class="mb-0"><span class="pr-2">${v.index}.</span>${v.menuName}</h4>
  88. </div>
  89. <div class="card-toolbar">
  90. <div class="fw-bolder rotate collapsible" data-bs-toggle="collapse" data-bs-target="#vb_help-detail_${v.index}">
  91. <span class="ms-2 rotate-180">
  92. <!--begin::Svg Icon | path: icons/duotone/Navigation/Angle-down.svg-->
  93. <span class="svg-icon svg-icon-3">
  94. <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="24px" viewBox="0 0 24 24" version="1.1">
  95. <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
  96. <polygon points="0 0 24 0 24 24 0 24"></polygon>
  97. <path d="M6.70710678,15.7071068 C6.31658249,16.0976311 5.68341751,16.0976311 5.29289322,15.7071068 C4.90236893,15.3165825 4.90236893,14.6834175 5.29289322,14.2928932 L11.2928932,8.29289322 C11.6714722,7.91431428 12.2810586,7.90106866 12.6757246,8.26284586 L18.6757246,13.7628459 C19.0828436,14.1360383 19.1103465,14.7686056 18.7371541,15.1757246 C18.3639617,15.5828436 17.7313944,15.6103465 17.3242754,15.2371541 L12.0300757,10.3841378 L6.70710678,15.7071068 Z" fill="#000000" fill-rule="nonzero" transform="translate(12.000003, 11.999999) rotate(-180.000000) translate(-12.000003, -11.999999)"></path>
  98. </g>
  99. </svg>
  100. </span>
  101. <!--end::Svg Icon-->
  102. </span></div>
  103. </div>
  104. </div>
  105. <div class="card-body collapse show" id="vb_help-detail_${v.index}">${str2}</div>
  106. </div>`;
  107. $contentBody.append(str4);
  108. });
  109. $contentBody.find('.help-content').each(function () {
  110. var $this = $(this);
  111. var id = $(this).data('id');
  112. $.vbAjax4({
  113. url: abp.appUrl + "Query/QueryHelpDto?id=" + id,
  114. success: function(res) {
  115. $this.html(res.content).fadeIn();
  116. }
  117. });
  118. });
  119. }
  120. }
  121. }
  122. </script>
  123. }