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

376 lines
17KB

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