国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

350 lines
13KB

  1. {dede:config.pagesize value='30'/}
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  7. <title>联动类别管理</title>
  8. <link rel="stylesheet" href="../static/web/font/css/font-awesome.min.css">
  9. <link rel="stylesheet" href="../static/web/css/bootstrap.min.css">
  10. <link rel="stylesheet" href="../static/web/css/admin.css">
  11. <script src="../static/web/js/jquery.min.js"></script>
  12. <script src="../static/web/js/bootstrap.min.js"></script>
  13. <script src="../static/web/js/webajax.js"></script>
  14. <script src="js/main.js"></script>
  15. <style>#edsta{display:none;padding:10px;position:absolute;top:70px;left:70px;width:450px;height:auto;background:#f5f5f5;border:1px solid #dedede}</style>
  16. </head>
  17. <body>
  18. <div id="edsta"><img src="../static/web/img/loadinglit.gif"></div>
  19. <table align="center" class="table maintable my-3">
  20. <tr bgcolor="#f5f5f5">
  21. <td>
  22. <select name="egroup1" id="egroup1" onChange="ChangePage(this)" class="admin-input-sm mr-3">
  23. <option value="0">所有组</option>
  24. <?php
  25. $selgroup = '';
  26. foreach($etypes as $arr)
  27. {
  28. $stylecolor = "";
  29. if ($arr['issystem']==1) $stylecolor = " style='color:#999999' ";
  30. if ($egroup==$arr['egroup']) {
  31. $selgroup = $arr['itemname'];
  32. echo "<option value='{$arr['id']}' $stylecolor selected='1'>{$arr['egroup']}|{$arr['itemname']}</option>";
  33. } else {
  34. echo "<option value='{$arr['id']}' $stylecolor>{$arr['egroup']}|{$arr['itemname']}</option>";
  35. }
  36. }
  37. ?>
  38. </select>
  39. <button type="button" name="gedit" id="gedit" class="btn btn-success btn-sm" onclick="EditType()">修改</button>
  40. <button type="button" name="gdel" id="gdel" class="btn btn-success btn-sm" onclick="DelType()">删除</button>
  41. <button type="button" name="gview" id="gview" class="btn btn-success btn-sm" onclick="ViewType()">预览</button>
  42. <button type="button" name="addnew" id="addnew" class="btn btn-success btn-sm" onclick="AddType()">新增类别组</button>
  43. <a href="stepselect_main.php?action=upallcache" class="btn btn-success btn-sm">更新所有枚举缓存</a>
  44. </td>
  45. </tr>
  46. </table>
  47. <?php
  48. if (!empty($egroup)) {
  49. $arr = $dsql->GetOne("SELECT * FROM `#@__stepselect` WHERE egroup='{$egroup}' ");
  50. $dsql->Execute('out',"SELECT evalue,ename FROM `#@__sys_enum` WHERE egroup='{$arr['egroup']}' ORDER BY disorder ASC,evalue ASC");
  51. $options = '';
  52. while($row1 = $dsql->GetArray('out'))
  53. {
  54. if (!preg_match("#\.#", $row1['evalue']))
  55. {
  56. $row1['ename'] = ($row1['evalue'] % 500 == 0)? $row1['ename'] : '└─ '.$row1['ename'];
  57. if ($topvalue != $row1['evalue']) $options .= "<option value='{$row1['evalue']}'>{$row1['ename']}</option>";
  58. else $options .= "<option value='{$row1['evalue']}' selected='selected'>{$row1['ename']}</option>";
  59. }
  60. }
  61. //如果添加3级之类
  62. if ($topvalue % 500 != 0) $arr['issign'] = 2;
  63. ?>
  64. <table align="center" class="table maintable mb-3">
  65. <tr>
  66. <td bgcolor="#f5f5f5" colspan="8">联动枚举组管理</td>
  67. </tr>
  68. <tr>
  69. <td bgcolor="#f5f5f5" colspan="8">
  70. <span class="float-left"><?php echo $selgroup;?> - 子分类管理</span>
  71. <span class="float-right">
  72. <?php
  73. if ($egroup=='nativeplace') {
  74. echo "<a href='stepselect_main.php?action=exarea' class='btn btn-success btn-sm'>导入默认省市地区表</a>";
  75. }
  76. ?>
  77. </span>
  78. </td>
  79. </tr>
  80. <tr>
  81. <td>
  82. <form action="stepselect_main.php" method="post">
  83. <input type="hidden" name="action" value="addenum_save">
  84. <input type="hidden" name="issign" value="<?php echo $arr['issign'];?>">
  85. <input type="hidden" name="egroup" value="<?php echo $arr['egroup'];?>">
  86. <span class="float-left ml-2">隶属分类:
  87. <select name="topvalue" onChange="ChangePage2(this)" class="admin-input-sm">
  88. <option value="0"><?php echo $selgroup;?></option>
  89. <?php echo $options;?>
  90. </select>
  91. </span>
  92. <span class="float-left ml-2">分类名称:<input type="text" name="ename" class="admin-input-lg"></span>
  93. <span class="float-left ml-2"><button type="submit" name="sb2" class="btn btn-success btn-sm">添加分类</button></span>
  94. </form>
  95. </td>
  96. </tr>
  97. </table>
  98. <form action="stepselect_main.php" name="upenumf" method="post" id="upenumf">
  99. <input type="hidden" name="action" value="upenum">
  100. <input type="hidden" name="aid" value="">
  101. <input type="hidden" name="ename" value="">
  102. <input type="hidden" name="disorder" value="">
  103. </form>
  104. <form name="form1" action="stepselect_main.php" method="post">
  105. <input type="hidden" name="action" value="delenumAllSel">
  106. <table align="center" class="table maintable">
  107. <tr>
  108. <td bgcolor="#f5f5f5" colspan="8"><a href="stepselect_main.php">联动类别管理</a> - <a href="stepselect_main.php?egroup=<?php echo $egroup;?>"><?php echo $selgroup;?></a> - 子分类列表</td>
  109. </tr>
  110. <tr bgcolor="#e9ecef" align="center">
  111. <td width="6%">选择</td>
  112. <td width="6%">id</td>
  113. <td width="20%">枚举名</td>
  114. <td width="20%">类别组名</td>
  115. <td width="10%">枚举类型</td>
  116. <td width="10%">枚举值</td>
  117. <td width="10%">组内排序</td>
  118. <td>操作</td>
  119. </tr>
  120. {dede:datalist empty='<tr><td colspan="8" align="center">暂无文档</td></tr>'}
  121. <tr align="center">
  122. <td><input type="checkbox" name="ids[]" value="{dede:field.id/}"></td>
  123. <td>{dede:field.id/}</td>
  124. <td>
  125. <?php
  126. if (!preg_match("#\.#", $fields['evalue'])) {
  127. if ($fields['evalue']>500 && $fields['evalue']%500 != 0) $fields['ename'] = "└─ ".$fields['ename'];
  128. } else {
  129. $fields['ename'] = "└── ".$fields['ename'];
  130. }
  131. ?>
  132. <input type='text' id='ename{dede:field.id/}' value='{dede:field.ename/}'>
  133. </td>
  134. <td>{dede:field.egroup/}</td>
  135. <td>
  136. <?php
  137. if (!preg_match("#\.#", $fields['evalue'])) {
  138. if ($fields['evalue']>500 && $fields['evalue']%500 != 0) echo '二级选择';
  139. else echo '一级选择';
  140. } else {
  141. echo "三级选择";
  142. }
  143. ?>
  144. </td>
  145. <td>{dede:field.evalue/}</td>
  146. <td><input type='text' id='disorder{dede:field.id/}' value='{dede:field.disorder/}'></td>
  147. <td>
  148. <?php
  149. if (!empty($egroup)) {
  150. ?>
  151. <a href='javascript:updateItem({dede:field.id/});' class='btn btn-success btn-sm'><i class='fa fa-repeat'></i> 更新</a>
  152. <a href='stepselect_main.php?action=delenum&id={dede:field.id/}' class='btn btn-success btn-sm'><i class='fa fa-trash'></i> 删除</a>
  153. <?php
  154. } else {
  155. echo "<a href='stepselect_main.php?egroup={$fields['egroup']}'>".$egroups[$fields['egroup']]."</a>";
  156. }
  157. ?>
  158. </td>
  159. </tr>
  160. {/dede:datalist}
  161. <tr>
  162. <td colspan="8">
  163. <a href="javascript:TogSel();" class="btn btn-success btn-sm">选择</a>
  164. <a href="javascript:DelSel();" class="btn btn-danger btn-sm">删除</a>
  165. </td>
  166. </tr>
  167. <tr bgcolor="#f5f5f5" align="center">
  168. <td colspan="8">{dede:pagelist listsize='6'/}</td>
  169. </tr>
  170. </table>
  171. </form>
  172. <?php
  173. } else {
  174. ?>
  175. <table align="center" class="table maintable mb-3">
  176. <tr>
  177. <td bgcolor="#f5f5f5" colspan="7">联动类别管理</td>
  178. </tr>
  179. <tr bgcolor="#e9ecef" align="center">
  180. <td width="6%">选择</td>
  181. <td width="6%">id</td>
  182. <td width="30%">组类别名</td>
  183. <td width="10%">级数</td>
  184. <td width="10%">系统</td>
  185. <td width="10%">缓存组名</td>
  186. <td>操作</td>
  187. </tr>
  188. {dede:datalist}
  189. <tr align="center">
  190. <td><input type="checkbox" name="ids[]" value="{dede:field.id/}"></td>
  191. <td>{dede:field.id/}</td>
  192. <td><a href="stepselect_main.php?egroup={dede:field.egroup/}">{dede:field.itemname/}</a></td>
  193. <td>
  194. <?php
  195. switch ($fields['issign']) {
  196. case 0:
  197. echo "一级选择";
  198. break;
  199. case 1:
  200. echo "二级选择";
  201. break;
  202. case 2:
  203. echo "三级选择";
  204. break;
  205. }
  206. ?>
  207. </td>
  208. <td> {dede:field.issystem function="@me==1 ? '是' : '否'"/} </td>
  209. <td>{dede:field.egroup/}</td>
  210. <td>
  211. <a href="stepselect_main.php?action=upallcache&egroup={dede:field.egroup/}" class="btn btn-light btn-sm"><i class="fa fa-repeat"></i> 更新</a>
  212. <a href="stepselect_main.php?egroup={dede:field.egroup/}" class="btn btn-light btn-sm"><i class="fa fa-eye"></i> 查看</a>
  213. </td>
  214. </tr>
  215. {/dede:datalist}
  216. <tr>
  217. <td bgcolor="#f5f5f5" colspan="7" align="center">{dede:pagelist listsize='6'/}</td>
  218. </tr>
  219. </table>
  220. <?php }?>
  221. <script>
  222. var loadhtml = "<img src='../static/web/img/loadinglit.gif'>";
  223. function updateItem(aid) {
  224. var upenumf = document.getElementById('upenumf');
  225. upenumf.ename.value = $DE('ename' + aid).value;
  226. upenumf.disorder.value = $DE('disorder' + aid).value;
  227. upenumf.aid.value = aid;
  228. upenumf.submit();
  229. }
  230. function GetSelType() {
  231. var selvalue = $DE('egroup1').options[$DE('egroup1').selectedIndex].value;
  232. return selvalue;
  233. }
  234. function AddType() {
  235. $DE('edsta').style.display = 'block';
  236. fetch('stepselect_main.php?action=addnew').then(resp=>{
  237. if (resp.ok) {
  238. return resp.text()
  239. }
  240. throw new Error('系统错误,无法获取数据');
  241. }).then((d)=>{
  242. $DE('edsta').innerHTML = d;
  243. }).catch((error) => {
  244. $DE('edsta').innerHTML = errMsg;
  245. });
  246. }
  247. function AddEnum() {
  248. var id = GetSelType();
  249. if (id == 0) {
  250. ShowMsg("必须选择一个类别");
  251. return false;
  252. }
  253. fetch('stepselect_main.php?action=addenum&id=' + id).then(resp=>{
  254. if (resp.ok) {
  255. return resp.text()
  256. }
  257. throw new Error('系统错误,无法获取数据');
  258. }).then((d)=>{
  259. $DE('edsta').innerHTML = d;
  260. }).catch((error) => {
  261. $DE('edsta').innerHTML = errMsg;
  262. });
  263. $DE('edsta').style.display = 'block';
  264. }
  265. function EditType() {
  266. var id = GetSelType();
  267. if (id == 0) {
  268. ShowMsg("必须选择一个类别");
  269. return false;
  270. }
  271. $DE('edsta').style.display = 'block';
  272. fetch('stepselect_main.php?action=edit&id=' + id).then(resp=>{
  273. if (resp.ok) {
  274. return resp.text()
  275. }
  276. throw new Error('系统错误,无法获取数据');
  277. }).then((d)=>{
  278. $DE('edsta').innerHTML = d;
  279. }).catch((error) => {
  280. $DE('edsta').innerHTML = errMsg;
  281. });
  282. }
  283. function ViewType() {
  284. var id = GetSelType();
  285. if (id == 0) {
  286. ShowMsg("必须选择一个类别");
  287. return false;
  288. }
  289. $DE('edsta').style.display = 'block';
  290. fetch('stepselect_main.php?action=view&id=' + id).then(resp=>{
  291. if (resp.ok) {
  292. return resp.text()
  293. }
  294. throw new Error('系统错误,无法获取数据');
  295. }).then((d)=>{
  296. $DE('edsta').innerHTML = d;
  297. }).catch((error) => {
  298. $DE('edsta').innerHTML = errMsg;
  299. });
  300. }
  301. function DelType() {
  302. DedeConfirm("您确实要删除这个分类吗").then((v)=>{
  303. var id = GetSelType();
  304. if (id == 0) {
  305. ShowMsg("必须选择一个类别");
  306. return false;
  307. }
  308. location.href = 'stepselect_main.php?action=del&id=' + id;
  309. }).catch((e)=>{
  310. console.log(e)
  311. });
  312. }
  313. function CloseTWin() {
  314. $DE('edsta').innerHTML = loadhtml;
  315. $DE('edsta').style.display = 'none';
  316. }
  317. function ChangePage(sobj) {
  318. var ntxt = sobj.options[sobj.selectedIndex].text;
  319. if (sobj.options[sobj.selectedIndex].value == 0) {
  320. location.href = 'stepselect_main.php';
  321. } else {
  322. var ns = ntxt.split('|');
  323. location.href = 'stepselect_main.php?egroup=' + ns[0];
  324. }
  325. }
  326. function TogSel() {
  327. var ems = document.getElementsByName('ids[]');
  328. for (i = 0; i < ems.length; i++) {
  329. if (ems[i].checked == false) ems[i].checked = true;
  330. else ems[i].checked = false;
  331. }
  332. }
  333. function DelSel() {
  334. DedeConfirm("您确实要删除这些分类吗").then((v)=>{
  335. document.form1.submit();
  336. }).catch((e)=>{
  337. console.log(e)
  338. });
  339. }
  340. function ChangePage2(sobj) {
  341. var nv = sobj.options[sobj.selectedIndex].value;
  342. if (sobj.options[sobj.selectedIndex].value == 0) {
  343. location.href = 'stepselect_main.php?egroup=<?php echo $egroup;?>';
  344. } else {
  345. location.href = 'stepselect_main.php?egroup=<?php echo $egroup;?>&topvalue=' + nv;
  346. }
  347. }
  348. </script>
  349. </body>
  350. </html>