index.html 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. {extend name="../../base/view/common/base" /}
  2. <!-- 主体 -->
  3. {block name="body"}
  4. <div class="p-page">
  5. <div class="gg-form-bar border-t border-x">
  6. <div class="pb-3"><button type="button" class="layui-btn layui-btn-sm side-a" data-href="/home/module/add">新增自定义模块</button>{empty name="$oa_module"}<span class="ml-3 red">温馨提示:可能是网络或其他原因未能请求到官网的模块数据,但不影响系统的正常使用。</span>{/empty}</div>
  7. </div>
  8. <table cellspacing="0" cellpadding="0" border="0" class="layui-table layui-table-form">
  9. <tr>
  10. <th style="text-align: center; background-color:#FAFAFA">模块名称</th>
  11. <th style="text-align: center; background-color:#FAFAFA">模块所在目录</th>
  12. <th style="text-align: center; background-color:#FAFAFA">功能描述</th>
  13. <th style="text-align: center; background-color:#FAFAFA">类型</th>
  14. <th style="text-align: center; background-color:#FAFAFA">开发者</th>
  15. <th style="text-align: center; background-color:#FAFAFA">状态</th>
  16. <th style="text-align: center; background-color:#FAFAFA; width:90px">操作</th>
  17. </tr>
  18. {empty name="sys_module"}
  19. <tr>
  20. <td colspan="7" align="center">暂无数据</td>
  21. </tr>
  22. {/empty}
  23. {volist name="sys_module" id="vo" key="k"}
  24. <tr>
  25. <td align="center">{$vo.title}</td>
  26. <td>app/{$vo.name}</td>
  27. <td>{$vo.desc}</td>
  28. <td align="center">
  29. {eq name="$vo.type" value="1"}<span class="red">系统模块</span>{/eq}
  30. {eq name="$vo.type" value="2"}<span class="blue">普通模块</span>{/eq}
  31. {eq name="$vo.type" value="3"}<span class="green">自定义模块</span>{/eq}
  32. </td>
  33. <td align="center">
  34. {eq name="$vo.sourse" value="1"}勾股OA{/eq}
  35. {eq name="$vo.sourse" value="2"}第三方{/eq}
  36. </td>
  37. {eq name="$vo.status" value="-1"}
  38. <td align="center">
  39. <span class="red">未安装</span>
  40. </td>
  41. <td align="center">
  42. <div class="layui-btn-group">
  43. {eq name = "$vo.is_file" value="0"}
  44. <a class="layui-btn layui-btn-xs down" href="https://www.gougucms.com/home/pages/detail/s/gouguoa.html" target="_blank">下载</a>
  45. {/eq}
  46. {eq name = "$vo.is_file" value="1"}
  47. <a class="layui-btn layui-btn-xs install" data-name="{$vo.name}">安装</a>
  48. {/eq}
  49. <a class="layui-btn layui-btn-normal layui-btn-xs view" href="https://www.gougucms.com/home/pages/detail/s/gouguoa.html" target="_blank">演示</a>
  50. </div>
  51. </td>
  52. {/eq}
  53. {eq name="$vo.status" value="0"}
  54. <td align="center">
  55. <span class="yellow">已卸载</span>
  56. </td>
  57. <td align="center">
  58. <div class="layui-btn-group">
  59. {eq name="$vo.sourse" value="2"}<a class="layui-btn layui-bg-blue layui-btn-xs side-a" data-href="/home/module/add/id/{$vo.id}">编辑</a>{/eq}
  60. <a class="layui-btn layui-btn-xs add" data-name="{$vo.name}" data-type="{$vo.type}">恢复</a>
  61. </div>
  62. </td>
  63. {/eq}
  64. {eq name="$vo.status" value="1"}
  65. <td align="center">
  66. <span class="green">正常</span>
  67. </td>
  68. <td align="center">
  69. {eq name="$vo.type" value="3"}
  70. <div class="layui-btn-group">
  71. <a class="layui-btn layui-bg-blue layui-btn-xs side-a" data-href="/home/module/add/id/{$vo.id}">编辑</a>
  72. <a class="layui-btn layui-btn-danger layui-btn-xs delete" data-name="{$vo.name}" data-id="{$vo.id}" data-type="{$vo.type}">删除</a>
  73. </div>
  74. {else/}
  75. -
  76. {/eq}
  77. </td>
  78. {/eq}
  79. </tr>
  80. {/volist}
  81. </table>
  82. </div>
  83. {/block}
  84. <!-- /主体 -->
  85. <!-- 脚本 -->
  86. {block name="script"}
  87. <script>
  88. const moduleInit = ['tool'];
  89. function gouguInit() {
  90. var tool = layui.tool;
  91. $('body').on('click', '.install', function () {
  92. let name = $(this).data('name');
  93. layer.confirm('确定要安装该模块吗?', { icon: 3, title: '提示' }, function (index) {
  94. //layer.msg('该功能内测中...');
  95. //return false;
  96. let callback = function (e) {
  97. layer.msg(e.msg);
  98. if (e.code == 0) {
  99. layer.close(index);
  100. location.reload();
  101. }
  102. }
  103. tool.post("/home/module/install", {name: name}, callback);
  104. layer.close(index);
  105. });
  106. });
  107. $('body').on('click', '.delete', function () {
  108. let id = $(this).data('id');
  109. let name = $(this).data('name');
  110. let type = $(this).data('type');
  111. if(type==1){
  112. layer.msg('系统模块,不支持卸载');
  113. return false;
  114. }
  115. layer.confirm('确定要删除该模块吗?', { icon: 3, title: '提示' }, function (index) {
  116. let callback = function (e) {
  117. layer.msg(e.msg);
  118. if (e.code == 0) {
  119. layer.close(index);
  120. setTimeout(function(){
  121. parent.location.reload();
  122. },1000)
  123. }
  124. }
  125. tool.post("/home/module/del",{id: id}, callback);
  126. layer.close(index);
  127. });
  128. });
  129. $('body').on('click', '.add', function () {
  130. let name = $(this).data('name');
  131. let type = $(this).data('type');
  132. layer.confirm('确定要恢复使用该模块吗?', { icon: 3, title: '提示' }, function (index) {
  133. let callback = function (e) {
  134. layer.msg(e.msg);
  135. if (e.code == 0) {
  136. layer.close(index);
  137. setTimeout(function(){
  138. parent.location.reload();
  139. },1000)
  140. }
  141. }
  142. tool.post("/home/module/recovery",{name: name}, callback);
  143. layer.close(index);
  144. });
  145. });
  146. }
  147. </script>
  148. {/block}
  149. <!-- /脚本 -->