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

343 lines
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/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 = "style='color:#999'";
  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">
  190. <span class="float-left"><?php echo $selgroup;?> - 子分类管理</span>
  191. <span class="float-right">
  192. <?php
  193. if ($egroup=='nativeplace') {
  194. echo "<a href='stepselect_main.php?action=exarea' class='btn btn-success btn-sm'>导入默认省市地区</a>";
  195. }
  196. ?>
  197. </span>
  198. </td>
  199. </tr>
  200. <tr>
  201. <td>
  202. <form action="stepselect_main.php" method="post">
  203. <input type="hidden" name="action" value="addenum_save">
  204. <input type="hidden" name="issign" value="<?php echo $arr['issign'];?>">
  205. <input type="hidden" name="egroup" value="<?php echo $arr['egroup'];?>">
  206. <span>所属分类:</span>
  207. <select name="topvalue" onChange="ChangePage2(this);" class="admin-input-sm">
  208. <option value="0"><?php echo $selgroup;?></option>
  209. <?php echo $options;?>
  210. </select>
  211. <span>分类名称:</span>
  212. <input type="text" name="ename" class="admin-input-lg"></span>
  213. <button type="submit" name="sb2" class="btn btn-success btn-sm">添加分类</button>
  214. </form>
  215. </td>
  216. </tr>
  217. </table>
  218. <form action="stepselect_main.php" name="upenumf" method="post" id="upenumf">
  219. <input type="hidden" name="action" value="upenum">
  220. <input type="hidden" name="aid">
  221. <input type="hidden" name="ename">
  222. <input type="hidden" name="disorder">
  223. </form>
  224. <form name="form1" action="stepselect_main.php" method="post">
  225. <input type="hidden" name="action" value="delenumAllSel">
  226. <table class="table">
  227. <tr>
  228. <td colspan="8"><a href="stepselect_main.php">联动类型管理</a> - <a href="stepselect_main.php?egroup=<?php echo $egroup;?>"><?php echo $selgroup;?></a> - 子分类列表</td>
  229. </tr>
  230. <tr align="center">
  231. <td width="6%">选择</td>
  232. <td width="6%">id</td>
  233. <td width="20%">枚举名</td>
  234. <td width="20%">类别名</td>
  235. <td width="10%">枚举类型</td>
  236. <td width="10%">枚举值</td>
  237. <td width="10%">组内排序</td>
  238. <td>操作</td>
  239. </tr>
  240. {dede:datalist empty='<tr><td colspan="8" align="center">暂无记录</td></tr>'}
  241. <tr align="center">
  242. <td><input type="checkbox" name="ids[]" value="{dede:field.id/}"></td>
  243. <td>{dede:field.id/}</td>
  244. <td>
  245. <?php
  246. if (!preg_match("#\.#", $fields['evalue'])) {
  247. if ($fields['evalue']>500 && $fields['evalue']%500 != 0) $fields['ename'] = "└─ ".$fields['ename'];
  248. } else {
  249. $fields['ename'] = "└── ".$fields['ename'];
  250. }
  251. ?>
  252. <input type='text' id='ename{dede:field.id/}' value='{dede:field.ename/}'>
  253. </td>
  254. <td>{dede:field.egroup/}</td>
  255. <td>
  256. <?php
  257. if (!preg_match("#\.#", $fields['evalue'])) {
  258. if ($fields['evalue']>500 && $fields['evalue']%500 != 0) echo '二级选择';
  259. else echo '一级选择';
  260. } else {
  261. echo "三级选择";
  262. }
  263. ?>
  264. </td>
  265. <td>{dede:field.evalue/}</td>
  266. <td><input type='text' id='disorder{dede:field.id/}' value='{dede:field.disorder/}'></td>
  267. <td>
  268. <?php
  269. if (!empty($egroup)) {
  270. ?>
  271. <a href='javascript:updateItem({dede:field.id/});' class='btn btn-success btn-sm'><i class='fa fa-repeat'></i> 更新</a>
  272. <a href='stepselect_main.php?action=delenum&id={dede:field.id/}' class='btn btn-danger btn-sm'><i class='fa fa-trash'></i> 删除</a>
  273. <?php
  274. } else {
  275. echo "<a href='stepselect_main.php?egroup={$fields['egroup']}'>".$egroups[$fields['egroup']]."</a>";
  276. }
  277. ?>
  278. </td>
  279. </tr>
  280. {/dede:datalist}
  281. <tr>
  282. <td colspan="8">
  283. <a href="javascript:TogSel();" class="btn btn-success btn-sm">选择</a>
  284. <a href="javascript:DelSel();" class="btn btn-danger btn-sm">删除</a>
  285. </td>
  286. </tr>
  287. <tr>
  288. <td colspan="8" align="center">{dede:pagelist listsize='6'/}</td>
  289. </tr>
  290. </table>
  291. </form>
  292. <?php
  293. } else {
  294. ?>
  295. <table class="table shadow-sm mb-3">
  296. <tr>
  297. <td colspan="7">联动类型管理</td>
  298. </tr>
  299. <tr align="center">
  300. <td width="6%">选择</td>
  301. <td width="6%">id</td>
  302. <td width="30%">类别名</td>
  303. <td width="10%">级数</td>
  304. <td width="10%">系统</td>
  305. <td width="10%">缓存名</td>
  306. <td>操作</td>
  307. </tr>
  308. {dede:datalist}
  309. <tr align="center">
  310. <td><input type="checkbox" name="ids[]" value="{dede:field.id/}"></td>
  311. <td>{dede:field.id/}</td>
  312. <td><a href="stepselect_main.php?egroup={dede:field.egroup/}">{dede:field.itemname/}</a></td>
  313. <td>
  314. <?php
  315. switch ($fields['issign']) {
  316. case 0:
  317. echo "一级选择";
  318. break;
  319. case 1:
  320. echo "二级选择";
  321. break;
  322. case 2:
  323. echo "三级选择";
  324. break;
  325. }
  326. ?>
  327. </td>
  328. <td> {dede:field.issystem function="@me==1 ? '是' : '否'"/} </td>
  329. <td>{dede:field.egroup/}</td>
  330. <td>
  331. <a href="stepselect_main.php?action=upallcache&egroup={dede:field.egroup/}" class="btn btn-light btn-sm"><i class="fa fa-repeat"></i> 更新</a>
  332. <a href="stepselect_main.php?egroup={dede:field.egroup/}" class="btn btn-light btn-sm"><i class="fa fa-eye"></i> 查看</a>
  333. </td>
  334. </tr>
  335. {/dede:datalist}
  336. <tr>
  337. <td colspan="7" align="center">{dede:pagelist listsize='6'/}</td>
  338. </tr>
  339. </table>
  340. <?php }?>
  341. <div id="edsta"></div>
  342. </body>
  343. </html>