国内流行的内容管理系统(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.

353 lines
16KB

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