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

stepselect_main.htm 12KB

1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. {dede:config.pagesize value='30'/}
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
  7. <title>联动类型管理</title>
  8. <link rel="stylesheet" href="/static/web/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="/static/web/js/admin.main.js"></script>
  15. <script>
  16. function updateItem(aid) {
  17. var upenumf = document.getElementById('upenumf');
  18. upenumf.ename.value = $DE('ename' + aid).value;
  19. upenumf.disorder.value = $DE('disorder' + aid).value;
  20. upenumf.aid.value = aid;
  21. upenumf.submit();
  22. }
  23. function GetSelType() {
  24. var selvalue = $DE('egroup1').options[$DE('egroup1').selectedIndex].value;
  25. return selvalue;
  26. }
  27. function AddType() {
  28. $DE('edsta').style.display = 'block';
  29. fetch('stepselect_main.php?action=addnew').then(resp => {
  30. if (resp.ok) {
  31. return resp.text()
  32. }
  33. throw new Error('系统错误,无法获取数据');
  34. }).then((d) => {
  35. $DE('edsta').innerHTML = d;
  36. }).catch((error) => {
  37. $DE('edsta').innerHTML = errMsg;
  38. });
  39. }
  40. function AddEnum() {
  41. var id = GetSelType();
  42. if (id == 0) {
  43. ShowMsg("必须选择一个类别");
  44. return false;
  45. }
  46. fetch('stepselect_main.php?action=addenum&id=' + id).then(resp => {
  47. if (resp.ok) {
  48. return resp.text()
  49. }
  50. throw new Error('系统错误,无法获取数据');
  51. }).then((d) => {
  52. $DE('edsta').innerHTML = d;
  53. }).catch((error) => {
  54. $DE('edsta').innerHTML = errMsg;
  55. });
  56. $DE('edsta').style.display = 'block';
  57. }
  58. function EditType() {
  59. var id = GetSelType();
  60. if (id == 0) {
  61. ShowMsg("必须选择一个类别");
  62. return false;
  63. }
  64. $DE('edsta').style.display = 'block';
  65. fetch('stepselect_main.php?action=edit&id=' + id).then(resp => {
  66. if (resp.ok) {
  67. return resp.text()
  68. }
  69. throw new Error('系统错误,无法获取数据');
  70. }).then((d) => {
  71. $DE('edsta').innerHTML = d;
  72. }).catch((error) => {
  73. $DE('edsta').innerHTML = errMsg;
  74. });
  75. }
  76. function ViewType() {
  77. var id = GetSelType();
  78. if (id == 0) {
  79. ShowMsg("必须选择一个类别");
  80. return false;
  81. }
  82. $DE('edsta').style.display = 'block';
  83. fetch('stepselect_main.php?action=view&id=' + id).then(resp => {
  84. if (resp.ok) {
  85. return resp.text()
  86. }
  87. throw new Error('系统错误,无法获取数据');
  88. }).then((d) => {
  89. $DE('edsta').innerHTML = d;
  90. }).catch((error) => {
  91. $DE('edsta').innerHTML = errMsg;
  92. });
  93. }
  94. function DelType() {
  95. DedeConfirm("您确实要删除这个分类吗").then((v) => {
  96. var id = GetSelType();
  97. if (id == 0) {
  98. ShowMsg("必须选择一个类别");
  99. return false;
  100. }
  101. location.href = 'stepselect_main.php?action=del&id=' + id;
  102. }).catch((e) => {
  103. console.log(e)
  104. });
  105. }
  106. function CloseTWin() {
  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. DedeConfirm("确实要删除这些分类吗").then((v) => {
  127. document.form1.submit();
  128. }).catch((e) => {
  129. console.log(e)
  130. });
  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. <table class="table shadow-sm my-3">
  144. <tr>
  145. <td>
  146. <select name="egroup1" onChange="ChangePage(this);" id="egroup1" class="admin-input-sm">
  147. <option value="0">所有组</option>
  148. <?php
  149. $selgroup = '';
  150. foreach($etypes as $arr)
  151. {
  152. $stylecolor = '';
  153. if ($arr['issystem']==1) $stylecolor = "class='text-black-50'";
  154. if ($egroup==$arr['egroup']) {
  155. $selgroup = $arr['itemname'];
  156. echo "<option value='{$arr['id']}' $stylecolor selected='1'>{$arr['egroup']}|{$arr['itemname']}</option>";
  157. } else {
  158. echo "<option value='{$arr['id']}' $stylecolor>{$arr['egroup']}|{$arr['itemname']}</option>";
  159. }
  160. }
  161. ?>
  162. </select>
  163. <button type="button" name="gedit" id="gedit" class="btn btn-success btn-sm" onclick="EditType();">修改</button>
  164. <button type="button" name="gview" id="gview" class="btn btn-success btn-sm" onclick="ViewType();">预览</button>
  165. <button type="button" name="gdel" id="gdel" class="btn btn-danger btn-sm" onclick="DelType();">删除</button>
  166. <button type="button" name="addnew" id="addnew" class="btn btn-success btn-sm" onclick="AddType();">新增联动组</button>
  167. <a href="stepselect_main.php?action=upallcache" class="btn btn-success btn-sm">更新所有缓存</a>
  168. </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. $row1['ename'] = ($row1['evalue'] % 500 == 0) ? $row1['ename'] : '└─ '.$row1['ename'];
  180. if ($topvalue != $row1['evalue']) $options .= "<option value='{$row1['evalue']}'>{$row1['ename']}</option>";
  181. else $options .= "<option value='{$row1['evalue']}' selected='selected'>{$row1['ename']}</option>";
  182. }
  183. }
  184. //如果添加3级类別
  185. if ($topvalue % 500 != 0) $arr['issign'] = 2;
  186. ?>
  187. <table class="table shadow-sm mb-3">
  188. <tr>
  189. <td colspan="8"><?php echo $selgroup;?></td>
  190. </tr>
  191. <tr>
  192. <td>
  193. <form action="stepselect_main.php" method="post">
  194. <input type="hidden" name="action" value="addenum_save">
  195. <input type="hidden" name="issign" value="<?php echo $arr['issign'];?>">
  196. <input type="hidden" name="egroup" value="<?php echo $arr['egroup'];?>">
  197. <select name="topvalue" onChange="ChangePage2(this);" class="admin-input-sm">
  198. <option value="0"><?php echo $selgroup;?></option>
  199. <?php echo $options;?>
  200. </select>
  201. <input type="text" name="ename" class="admin-input-lg" placeholder="请填分类名称">
  202. <button type="submit" name="sb2" class="btn btn-success btn-sm">添加分类</button>
  203. <?php if ($egroup=='nativeplace') {echo "<a href='stepselect_main.php?action=exarea' class='btn btn-success btn-sm'>导入默认地区</a>";}?>
  204. </form>
  205. </td>
  206. </tr>
  207. </table>
  208. <form action="stepselect_main.php" name="upenumf" method="post" id="upenumf">
  209. <input type="hidden" name="action" value="upenum">
  210. <input type="hidden" name="aid">
  211. <input type="hidden" name="ename">
  212. <input type="hidden" name="disorder">
  213. </form>
  214. <form name="form1" action="stepselect_main.php" method="post">
  215. <input type="hidden" name="action" value="delenumAllSel">
  216. <table class="table">
  217. <tr>
  218. <td colspan="8"><a href="stepselect_main.php">联动类型管理</a> - <a href="stepselect_main.php?egroup=<?php echo $egroup;?>"><?php echo $selgroup;?></a></td>
  219. </tr>
  220. <tr align="center">
  221. <td width="6%">选择</td>
  222. <td width="6%">id</td>
  223. <td width="20%">枚举名</td>
  224. <td width="20%">类别名</td>
  225. <td width="10%">枚举类型</td>
  226. <td width="10%">枚举值</td>
  227. <td width="10%">组内排序</td>
  228. <td>操作</td>
  229. </tr>
  230. {dede:datalist empty='<tr><td colspan="8" align="center">暂无记录</td></tr>'}
  231. <tr align="center">
  232. <td><input type="checkbox" name="ids[]" value="{dede:field.id/}"></td>
  233. <td>{dede:field.id/}</td>
  234. <td>
  235. <?php
  236. if (!preg_match("#\.#", $fields['evalue'])) {
  237. if ($fields['evalue']>500 && $fields['evalue']%500 != 0) $fields['ename'] = "└─ ".$fields['ename'];
  238. } else {
  239. $fields['ename'] = "└── ".$fields['ename'];
  240. }
  241. ?>
  242. <input type='text' id='ename{dede:field.id/}' value='{dede:field.ename/}'>
  243. </td>
  244. <td>{dede:field.egroup/}</td>
  245. <td>
  246. <?php
  247. if (!preg_match("#\.#", $fields['evalue'])) {
  248. if ($fields['evalue']>500 && $fields['evalue']%500 != 0) echo '二级选择';
  249. else echo '一级选择';
  250. } else {
  251. echo "三级选择";
  252. }
  253. ?>
  254. </td>
  255. <td>{dede:field.evalue/}</td>
  256. <td><input type='text' id='disorder{dede:field.id/}' value='{dede:field.disorder/}'></td>
  257. <td>
  258. <?php
  259. if (!empty($egroup)) {
  260. ?>
  261. <a href='javascript:updateItem({dede:field.id/});' class='btn btn-success btn-sm'><i class='fa fa-repeat'></i> 更新</a>
  262. <a href='stepselect_main.php?action=delenum&id={dede:field.id/}' class='btn btn-danger btn-sm'><i class='fa fa-trash'></i> 删除</a>
  263. <?php
  264. } else {
  265. echo "<a href='stepselect_main.php?egroup={$fields['egroup']}'>".$egroups[$fields['egroup']]."</a>";
  266. }
  267. ?>
  268. </td>
  269. </tr>
  270. {/dede:datalist}
  271. <tr>
  272. <td colspan="8">
  273. <a href="javascript:TogSel();" class="btn btn-success btn-sm">选择</a>
  274. <a href="javascript:DelSel();" class="btn btn-danger btn-sm">删除</a>
  275. </td>
  276. </tr>
  277. <tr>
  278. <td colspan="8" align="center">{dede:pagelist listsize='6'/}</td>
  279. </tr>
  280. </table>
  281. </form>
  282. <?php
  283. } else {
  284. ?>
  285. <table class="table shadow-sm mb-3">
  286. <tr>
  287. <td colspan="7">联动类型管理</td>
  288. </tr>
  289. <tr align="center">
  290. <td width="6%">选择</td>
  291. <td width="6%">id</td>
  292. <td width="30%">类别名</td>
  293. <td width="10%">级数</td>
  294. <td width="10%">系统</td>
  295. <td width="10%">缓存名</td>
  296. <td>操作</td>
  297. </tr>
  298. {dede:datalist}
  299. <tr align="center">
  300. <td><input type="checkbox" name="ids[]" value="{dede:field.id/}"></td>
  301. <td>{dede:field.id/}</td>
  302. <td><a href="stepselect_main.php?egroup={dede:field.egroup/}">{dede:field.itemname/}</a></td>
  303. <td>
  304. <?php
  305. switch ($fields['issign']) {
  306. case 0:
  307. echo "一级选择";
  308. break;
  309. case 1:
  310. echo "二级选择";
  311. break;
  312. case 2:
  313. echo "三级选择";
  314. break;
  315. }
  316. ?>
  317. </td>
  318. <td> {dede:field.issystem function="@me==1 ? '是' : '否'"/} </td>
  319. <td>{dede:field.egroup/}</td>
  320. <td>
  321. <a href="stepselect_main.php?action=upallcache&egroup={dede:field.egroup/}" class="btn btn-light btn-sm"><i class="fa fa-repeat"></i> 更新</a>
  322. <a href="stepselect_main.php?egroup={dede:field.egroup/}" class="btn btn-light btn-sm"><i class="fa fa-eye"></i> 查看</a>
  323. </td>
  324. </tr>
  325. {/dede:datalist}
  326. <tr>
  327. <td colspan="7" align="center">{dede:pagelist listsize='6'/}</td>
  328. </tr>
  329. </table>
  330. <?php }?>
  331. <div id="edsta"></div>
  332. </body>
  333. </html>