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

369 lines
17KB

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