国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

346 行
12KB

  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. <script>
  16. var loadhtml = "<img src='../static/web/img/loadinglit.gif'>";
  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. DedeConfirm("您确实要删除这个分类吗").then((v)=>{
  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. }).catch((e)=>{
  104. console.log(e)
  105. });
  106. }
  107. function CloseTWin() {
  108. $DE('edsta').innerHTML = loadhtml;
  109. $DE('edsta').style.display = 'none';
  110. }
  111. function ChangePage(sobj) {
  112. var ntxt = sobj.options[sobj.selectedIndex].text;
  113. if (sobj.options[sobj.selectedIndex].value == 0) {
  114. location.href = 'stepselect_main.php';
  115. } else {
  116. var ns = ntxt.split('|');
  117. location.href = 'stepselect_main.php?egroup=' + ns[0];
  118. }
  119. }
  120. function TogSel() {
  121. var ems = document.getElementsByName('ids[]');
  122. for (i = 0; i < ems.length; i++) {
  123. if (ems[i].checked == false) ems[i].checked = true;
  124. else ems[i].checked = false;
  125. }
  126. }
  127. function DelSel() {
  128. DedeConfirm("您确实要删除这些分类吗").then((v)=>{
  129. document.form1.submit();
  130. }).catch((e)=>{
  131. console.log(e)
  132. });
  133. }
  134. function ChangePage2(sobj) {
  135. var nv = sobj.options[sobj.selectedIndex].value;
  136. if (sobj.options[sobj.selectedIndex].value == 0) {
  137. location.href = 'stepselect_main.php?egroup=<?php echo $egroup;?>';
  138. } else {
  139. location.href = 'stepselect_main.php?egroup=<?php echo $egroup;?>&topvalue=' + nv;
  140. }
  141. }
  142. </script>
  143. </head>
  144. <body>
  145. <div id="edsta"><img src="../static/web/img/loadinglit.gif"></div>
  146. <table align="center" class="table maintable my-3">
  147. <tr>
  148. <td bgcolor="#f5f5f5">
  149. <select name="egroup1" id="egroup1" onChange="ChangePage(this)" class="admin-input-sm mr-3">
  150. <option value="0">所有组</option>
  151. <?php
  152. $selgroup = '';
  153. foreach($etypes as $arr)
  154. {
  155. $stylecolor = "";
  156. if ($arr['issystem']==1) $stylecolor = " style='color:#999' ";
  157. if ($egroup==$arr['egroup']) {
  158. $selgroup = $arr['itemname'];
  159. echo "<option value='{$arr['id']}' $stylecolor selected='1'>{$arr['egroup']}|{$arr['itemname']}</option>";
  160. } else {
  161. echo "<option value='{$arr['id']}' $stylecolor>{$arr['egroup']}|{$arr['itemname']}</option>";
  162. }
  163. }
  164. ?>
  165. </select>
  166. <button type="button" name="gedit" id="gedit" class="btn btn-success btn-sm" onclick="EditType()">修改</button>
  167. <button type="button" name="gdel" id="gdel" class="btn btn-success btn-sm" onclick="DelType()">删除</button>
  168. <button type="button" name="gview" id="gview" class="btn btn-success btn-sm" onclick="ViewType()">预览</button>
  169. <button type="button" name="addnew" id="addnew" class="btn btn-success btn-sm" onclick="AddType()">新增联动组</button>
  170. <a href="stepselect_main.php?action=upallcache" class="btn btn-success btn-sm">更新所有缓存</a>
  171. </td>
  172. </tr>
  173. </table>
  174. <?php
  175. if (!empty($egroup)) {
  176. $arr = $dsql->GetOne("SELECT * FROM `#@__stepselect` WHERE egroup='{$egroup}' ");
  177. $dsql->Execute('out',"SELECT evalue,ename FROM `#@__sys_enum` WHERE egroup='{$arr['egroup']}' ORDER BY disorder ASC,evalue ASC");
  178. $options = '';
  179. while($row1 = $dsql->GetArray('out'))
  180. {
  181. if (!preg_match("#\.#", $row1['evalue']))
  182. {
  183. $row1['ename'] = ($row1['evalue'] % 500 == 0)? $row1['ename'] : '└─ '.$row1['ename'];
  184. if ($topvalue != $row1['evalue']) $options .= "<option value='{$row1['evalue']}'>{$row1['ename']}</option>";
  185. else $options .= "<option value='{$row1['evalue']}' selected='selected'>{$row1['ename']}</option>";
  186. }
  187. }
  188. //如果添加3级之类
  189. if ($topvalue % 500 != 0) $arr['issign'] = 2;
  190. ?>
  191. <table align="center" class="table maintable mb-3">
  192. <tr>
  193. <td bgcolor="#f5f5f5" colspan="8">
  194. <span class="float-left"><?php echo $selgroup;?> - 子分类管理</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>隶属分类:</span>
  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>分类名称:</span>
  216. <input type="text" name="ename" class="admin-input-lg"></span>
  217. <button type="submit" name="sb2" class="btn btn-success btn-sm">添加分类</button>
  218. </form>
  219. </td>
  220. </tr>
  221. </table>
  222. <form action="stepselect_main.php" name="upenumf" method="post" id="upenumf">
  223. <input type="hidden" name="action" value="upenum">
  224. <input type="hidden" name="aid" value="">
  225. <input type="hidden" name="ename" value="">
  226. <input type="hidden" name="disorder" value="">
  227. </form>
  228. <form name="form1" action="stepselect_main.php" method="post">
  229. <input type="hidden" name="action" value="delenumAllSel">
  230. <table align="center" class="table maintable">
  231. <tr>
  232. <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>
  233. </tr>
  234. <tr bgcolor="#e9ecef" align="center">
  235. <td width="6%">选择</td>
  236. <td width="6%">id</td>
  237. <td width="20%">枚举名</td>
  238. <td width="20%">类别名</td>
  239. <td width="10%">枚举类型</td>
  240. <td width="10%">枚举值</td>
  241. <td width="10%">组内排序</td>
  242. <td>操作</td>
  243. </tr>
  244. {dede:datalist empty='<tr><td colspan="8" align="center">暂无记录</td></tr>'}
  245. <tr align="center">
  246. <td><input type="checkbox" name="ids[]" value="{dede:field.id/}"></td>
  247. <td>{dede:field.id/}</td>
  248. <td>
  249. <?php
  250. if (!preg_match("#\.#", $fields['evalue'])) {
  251. if ($fields['evalue']>500 && $fields['evalue']%500 != 0) $fields['ename'] = "└─ ".$fields['ename'];
  252. } else {
  253. $fields['ename'] = "└── ".$fields['ename'];
  254. }
  255. ?>
  256. <input type='text' id='ename{dede:field.id/}' value='{dede:field.ename/}'>
  257. </td>
  258. <td>{dede:field.egroup/}</td>
  259. <td>
  260. <?php
  261. if (!preg_match("#\.#", $fields['evalue'])) {
  262. if ($fields['evalue']>500 && $fields['evalue']%500 != 0) echo '二级选择';
  263. else echo '一级选择';
  264. } else {
  265. echo "三级选择";
  266. }
  267. ?>
  268. </td>
  269. <td>{dede:field.evalue/}</td>
  270. <td><input type='text' id='disorder{dede:field.id/}' value='{dede:field.disorder/}'></td>
  271. <td>
  272. <?php
  273. if (!empty($egroup)) {
  274. ?>
  275. <a href='javascript:updateItem({dede:field.id/});' class='btn btn-success btn-sm'><i class='fa fa-repeat'></i> 更新</a>
  276. <a href='stepselect_main.php?action=delenum&id={dede:field.id/}' class='btn btn-success btn-sm'><i class='fa fa-trash'></i> 删除</a>
  277. <?php
  278. } else {
  279. echo "<a href='stepselect_main.php?egroup={$fields['egroup']}'>".$egroups[$fields['egroup']]."</a>";
  280. }
  281. ?>
  282. </td>
  283. </tr>
  284. {/dede:datalist}
  285. <tr>
  286. <td colspan="8">
  287. <a href="javascript:TogSel();" class="btn btn-success btn-sm">选择</a>
  288. <a href="javascript:DelSel();" class="btn btn-danger btn-sm">删除</a>
  289. </td>
  290. </tr>
  291. <tr>
  292. <td bgcolor="#f5f5f5" colspan="8" align="center">{dede:pagelist listsize='6'/}</td>
  293. </tr>
  294. </table>
  295. </form>
  296. <?php
  297. } else {
  298. ?>
  299. <table align="center" class="table maintable mb-3">
  300. <tr>
  301. <td bgcolor="#f5f5f5" colspan="7">联动类型管理</td>
  302. </tr>
  303. <tr bgcolor="#e9ecef" align="center">
  304. <td width="6%">选择</td>
  305. <td width="6%">id</td>
  306. <td width="30%">类别名</td>
  307. <td width="10%">级数</td>
  308. <td width="10%">系统</td>
  309. <td width="10%">缓存名</td>
  310. <td>操作</td>
  311. </tr>
  312. {dede:datalist}
  313. <tr align="center">
  314. <td><input type="checkbox" name="ids[]" value="{dede:field.id/}"></td>
  315. <td>{dede:field.id/}</td>
  316. <td><a href="stepselect_main.php?egroup={dede:field.egroup/}">{dede:field.itemname/}</a></td>
  317. <td>
  318. <?php
  319. switch ($fields['issign']) {
  320. case 0:
  321. echo "一级选择";
  322. break;
  323. case 1:
  324. echo "二级选择";
  325. break;
  326. case 2:
  327. echo "三级选择";
  328. break;
  329. }
  330. ?>
  331. </td>
  332. <td> {dede:field.issystem function="@me==1 ? '是' : '否'"/} </td>
  333. <td>{dede:field.egroup/}</td>
  334. <td>
  335. <a href="stepselect_main.php?action=upallcache&egroup={dede:field.egroup/}" class="btn btn-light btn-sm"><i class="fa fa-repeat"></i> 更新</a>
  336. <a href="stepselect_main.php?egroup={dede:field.egroup/}" class="btn btn-light btn-sm"><i class="fa fa-eye"></i> 查看</a>
  337. </td>
  338. </tr>
  339. {/dede:datalist}
  340. <tr>
  341. <td bgcolor="#f5f5f5" colspan="7" align="center">{dede:pagelist listsize='6'/}</td>
  342. </tr>
  343. </table>
  344. <?php }?>
  345. </body>
  346. </html>