JSlip  1.0
account_list.tmplt
Go to the documentation of this file.
1 <?php
2 /**
3  * @link https://datagram.co.jp/source/bksj for the canonical source repository
4  * @copyright Copyright (c) 2006-2019 Datagram Ltd. (https://datagram.co.jp)
5  * @license https://datagram.co.jp/source/bksj/license.txt
6  */
7 
8 $view = $ctrl->view;
9 $cnd = $ctrl->dat['cnd'];
10 $list = $ctrl->dat['list'];
11 ?>
12 <script type="text/javascript">
13 
14  var my = {
15 
16  next: null,
17  func: null,
18  act: null,
19  mid: null,
20  cnd_name: null,
21  cnd_login_id: null,
22  page_curr: null,
23  v_cnd_name: null,
24  v_cnd_login_id: null,
25  v_page_curr: null,
26  v_page_last: null,
27 
28  gotoNext: function(func) {
29  this.func.val(func);
30  this.act.val('');
31  this.next.submit();
32  return false;
33  },
34 
35  create: function() {
36  this.func.val('Account');
37  this.act.val('create');
38  this.next.submit();
39  return false;
40  },
41 
42  drop: function(login_id, aid, mid) {
43 
44  var msg = '';
45 
46  if (!confirm("アカウント " + login_id + " を削除しますか?")) {
47  return false;
48  }
49 
50  $.ajax({
51  url: '<?= $base ?>',
52  type: 'post',
53  async: false,
54  data: {
55  'func': 'Account',
56  'act': 'drop',
57  'aid': aid,
58  'mid': mid,
59  'eod': ''
60  }
61  })
62  .done((data) => {
63  eval("this.ans = " + data);
64  })
65  .fail((data) => {
66  this.ans = {"sts": "NG", "err": "ajax error"};
67  });
68 
69  if (this.ans.sts == 'NG') {
70  alert(this.ans.err);
71  return false;
72  }
73 
74  this.gotoNext('Account', 'remember');
75 
76  return false;
77  },
78 
79  edit: function(mid) {
80  this.func.val('Account');
81  this.act.val('edit');
82  this.mid.val(mid);
83  this.next.submit();
84  return false;
85  },
86 
87  move: function(dlt) {
88 
89  var curr = this.v_page_curr.val() * 1;
90  var last = this.v_page_last.val() * 1;
91  var next;
92 
93  switch (dlt) {
94  case -9: next = 1; break;
95  case 9: next = last; break;
96  default: next = curr + dlt; break;
97  }
98 
99  if (next > last) {
100  next = last;
101  }
102 
103  if (next < 1) {
104  next = 1;
105  }
106 
107  this.v_page_curr.val(next);
108  this.search();
109 
110  return false;
111  },
112 
113  search: function() {
114 
115  if (this.v_page_curr.val() < 1) {
116  this.v_page_curr.val(1);
117  }
118 
119  this.func.val('Account');
120  this.act.val('search');
121  this.cnd_name.val(this.v_cnd_name.val());
122  this.cnd_login_id.val(this.v_cnd_login_id.val());
123  this.page_curr.val(this.v_page_curr.val());
124  this.next.submit();
125  return false;
126  },
127 
128  reset: function() {
129  this.v_cnd_name.val('');
130  this.v_cnd_login_id.val('');
131  this.v_page_curr.val(1);
132  return false;
133  },
134 
135  init: function() {
136  this.next = $('#next');
137  this.func = $('#func');
138  this.act = $('#act');
139  this.mid = $('#mid');
140  this.cnd_name = $('#cnd_name');
141  this.cnd_login_id = $('#cnd_login_id');
142  this.page_curr = $('#page_curr');
143  this.v_cnd_name = $('#v_cnd_name');
144  this.v_cnd_login_id = $('#v_cnd_login_id');
145  this.v_page_curr = $('#v_page_curr');
146  this.v_page_last = $('#v_page_last');
147  }
148  }
149 
150  $(function(){
151  my.init();
152  });
153 
154 </script>
155 
156 <form method="post" name="next" id="next" action="<?= $base ?>">
157  <input type="hidden" name="func" id="func">
158  <input type="hidden" name="act" id="act" >
159  <input type="hidden" name="cnd_name" id="cnd_name" >
160  <input type="hidden" name="cnd_login_id" id="cnd_login_id" >
161  <input type="hidden" name="page_curr" id="page_curr" >
162  <input type="hidden" name="mid" id="mid" >
163 </form>
164 
165 <table id="my_header" width="100%">
166  <tr>
167  <td>
168  &nbsp;<a onclick="return my.gotoNext('RootMenu');">root用メニュー</a>
169  &nbsp;&gt;&nbsp;アカウント
170  </td>
171  <td style="text-align: right;">
172  <button type="button" class="my_magenta" style="width: 120px;" onclick="return my.gotoNext('Login');">ログアウト</button>
173  </td>
174  </tr>
175 </table>
176 
177 <div style="height: 5px;">&nbsp;</div>
178 
179 <table width="100%">
180  <tr>
181  <td align="center">
182  <table class="my_table" width="100%">
183  <tr>
184  <th class="my_border">アカウント</th>
185  </tr>
186  </table>
187 
188  <div style="height: 1px;">&nbsp;</div><hr>
189 
190  <table class="my_table" width="100%">
191  <tr>
192  <th colspan="3" class="my_border">絞込み検索</th>
193  </tr>
194  <tr>
195  <td class="my_border" style="text-align: center; width: 110px;" rowspan="2">
196  <table class="my_table" cellpadding="0" cellspacing="2">
197  <tr>
198  <td>
199  <button type="button" class="my_cyan" style="width: 100px;" onclick="return my.search();">検索</button>
200  </td>
201  </tr>
202  <tr>
203  <td>
204  <button type="button" class="my_magenta" style="width: 100px;" onclick="return my.reset();">検索リセット</button>
205  </td>
206  </tr>
207  </table>
208  </td>
209  <th class="my_border" style="width: 100px;">名称</th>
210  <td class="my_border">
211  <input id="v_cnd_name" type="text" value="<?= $view->str($cnd['cnd_name']) ?>" size="20" style="text-align: left;">
212  </td>
213  </tr>
214  <tr>
215  <th class="my_border">アカウント</th>
216  <td class="my_border">
217  <input id="v_cnd_login_id" type="text" value="<?= $view->str($cnd['cnd_login_id']) ?>" size="20" style="text-align: left;">
218  </td>
219  </tr>
220  </table>
221 
222  <div style="height: 1px;">&nbsp;</div><hr>
223 
224  <table class="my_table" width="100%">
225  <tr>
226  <td class="my_border" id="my_create">
227  <button type="button" class="my_cyan" style="width: 150px;" onclick="return my.create();">新アカウント作成</button>
228  </td>
229  </tr>
230  </table>
231 
232  <div style="height: 2px;">&nbsp;</div>
233 
234  <table width="100%">
235  <tr>
236  <td style="text-align: left; width: 20%;">全件数:<?= $list['cnt'] ?>[件]</td>
237 <?php
238 if ($list['cnt'] < 1) {
239 ?>
240  <td style="visibility: hidden;">
241 <?php
242 } else {
243 ?>
244  <td style="text-align: center;">
245 <?php
246 }
247 ?>
248  <button type="button" class="my_blue" style="width: 40px;" onclick="return my.move(-9);">|&lt;</button>
249  <button type="button" class="my_blue" style="width: 40px;" onclick="return my.move(-1);">&lt;</button>
250  <input id="v_page_last" type="hidden" value="<?= $list['last'] ?>">
251  <input id="v_page_curr" style="text-align: right;" type="text" size="4" value="<?= $list['page'] ?>">/<?= $list['last'] ?>[ページ]
252  <button type="button" class="my_blue" style="width: 40px;" onclick="return my.move(1);">&gt;</button>
253  <button type="button" class="my_blue" style="width: 40px;" onclick="return my.move(9);">&gt;|</button>
254  </td>
255  <td style="text-align: right; left; width: 20%;">
256  表示数:<?= $list['rpp'] ?>[件/ページ]
257  </td>
258  </tr>
259  </table>
260 
261  <div style="height: 2px;">&nbsp;</div>
262 
263  <table class="my_list">
264  <thead>
265  <tr>
266  <th>&nbsp;</th>
267  <th>連番</th>
268  <th>名称</th>
269  <th>アカウント</th>
270  <th>ロール</th>
271  <th>電子メール</th>
272  <th>電話番号</th>
273  <th>削除</th>
274  </tr>
275  </thead>
276  <tbody>
277 <?php
278 if ($list['cnt'] < 1) {
279 ?>
280  <tr>
281  <td colspan="8">データなし</td>
282  </tr>
283 <?php
284 } else {
285  $i = ($list['page'] - 1) * $list['rpp'];
286  foreach ($list['rec'] as $rec) {
287 
288  $i++;
289 
290  $aid = $rec['aid'];
291  $mid = $rec['mid'];
292  $name = $view->str($rec['name']);
293  $login_id = $view->str($rec['login_id']);
294  $role = $view->str($rec['role']);
295  $email = $view->str($rec['email']);
296  $tel = $view->str($rec['tel']);
297 ?>
298  <tr>
299  <td style="text-align: center;">
300  <button type="button" class="my_green" onclick="return my.edit('<?= $mid ?>');">編集</button>
301  </td>
302  <td style="text-align: right;"><?= $i ?></td>
303  <td><?= $name ?></td>
304  <td><?= $login_id ?></td>
305  <td><?= $role ?></td>
306  <td><?= $email ?></td>
307  <td><?= $tel ?></td>
308 <?php
309  if ($rec['login_id'] == 'root') {
310 ?>
311  <td>&nbsp;</td>
312 <?php
313  } else {
314 ?>
315  <td>
316  <button type="button" class="my_magenta" onclick="return my.drop('<?= $login_id ?>', '<?= $aid ?>', '<?= $mid ?>');">削除</button>
317  </td>
318 <?php
319  }
320 ?>
321  </tr>
322 <?php
323  }
324 }
325 ?>
326  </tbody>
327  </table>
328  </td>
329  </tr>
330 </table>