JSlip  1.0
user_section_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 $bid = $ctrl->bid;
10 $basic = $ctrl->basic;
11 $cnd = $ctrl->dat['cnd'];
12 $list = $ctrl->dat['list'];
13 $cnt = count($list['rec']);
14 ?>
15 <script type="text/javascript">
16 
17  var my = {
18 
19  next: null,
20  func: null,
21  act: null,
22  id: null,
23  cnd_name: null,
24  page_curr: null,
25  v_cnd_name: null,
26  v_page_curr: null,
27  v_page_last: null,
28 
29  gotoNext: function(func) {
30  this.func.val(func);
31  this.act.val('');
32  this.next.submit();
33  return false;
34  },
35 
36  create: function() {
37  this.func.val('UserSection');
38  this.act.val('create');
39  this.next.submit();
40  return false;
41  },
42 
43  drop: function(id, name) {
44 
45  var msg = '';
46 
47  if (!confirm("部門 " + name + " を削除しますか?")) {
48  return false;
49  }
50 
51  $.ajax({
52  url: '<?= $base ?>',
53  type: 'post',
54  async: false,
55  data: {
56  'func': 'UserSection',
57  'act': 'drop',
58  'id': id,
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('UserSection', 'remember');
75 
76  return false;
77  },
78 
79  edit: function(id) {
80  this.func.val('UserSection');
81  this.act.val('edit');
82  this.id.val(id);
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('UserSection');
120  this.act.val('search');
121  this.cnd_name.val(this.v_cnd_name.val());
122  this.page_curr.val(this.v_page_curr.val());
123  this.next.submit();
124  return false;
125  },
126 
127  reset: function() {
128  this.v_cnd_name.val('');
129  this.v_page_curr.val(1);
130  return false;
131  },
132 
133  init: function() {
134  this.next = $('#next');
135  this.func = $('#func');
136  this.act = $('#act');
137  this.id = $('#id');
138  this.cnd_name = $('#cnd_name');
139  this.page_curr = $('#page_curr');
140  this.v_cnd_name = $('#v_cnd_name');
141  this.v_page_curr = $('#v_page_curr');
142  this.v_page_last = $('#v_page_last');
143  }
144  }
145 
146  $(function(){
147  my.init();
148  });
149 
150 </script>
151 
152 <form method="post" name="next" id="next" action="<?= $base ?>">
153  <input type="hidden" name="func" id="func">
154  <input type="hidden" name="act" id="act">
155  <input type="hidden" name="cnd_name" id="cnd_name">
156  <input type="hidden" name="page_curr" id="page_curr">
157  <input type="hidden" name="id" id="id">
158  <input type="hidden" name="bid" id="bid" value="<?= $bid ?>">
159 </form>
160 
161 <table id="my_header" width="100%">
162  <tr>
163  <td>
164  &nbsp;<a onclick="return my.gotoNext('UserMenu');">メニュー</a>
165  &nbsp;&gt;&nbsp;部門情報
166  </td>
167  <td style="text-align: right;">
168  <button type="button" class="my_magenta" style="width: 120px;" onclick="return my.gotoNext('Login');">ログアウト</button>
169  </td>
170  </tr>
171  <tr>
172  <td colspan="2" style="text-align: center;">
173  <?= $view->strBasic($basic) ?>
174  </td>
175  </tr>
176 </table>
177 
178 <div style="height: 5px;">&nbsp;</div>
179 
180 <table width="100%">
181  <tr>
182  <td align="center">
183  <table class="my_table" width="100%">
184  <tr>
185  <th class="my_border">部門情報</th>
186  </tr>
187  </table>
188 
189  <div style="height: 1px;">&nbsp;</div><hr>
190 
191  <table class="my_table" width="100%">
192  <tr>
193  <th colspan="3" class="my_border">絞込み検索</th>
194  </tr>
195  <tr>
196  <td class="my_border" style="text-align: center; width: 110px;" rowspan="2">
197  <table class="my_table" cellpadding="0" cellspacing="2">
198  <tr>
199  <td>
200  <button type="button" class="my_cyan" style="width: 100px;" onclick="return my.search();">検索</button>
201  </td>
202  </tr>
203  <tr>
204  <td>
205  <button type="button" class="my_magenta" style="width: 100px;" onclick="return my.reset();">検索リセット</button>
206  </td>
207  </tr>
208  </table>
209  </td>
210  <th class="my_border" style="width: 100px;">部門(かな)</th>
211  <td class="my_border">
212  <input id="v_cnd_name" type="text" value="<?= $view->str($cnd['cnd_kana']) ?>" size="40" style="text-align: left;">
213  </td>
214  </tr>
215  <tr>
216  <th class="my_border">部門</th>
217  <td class="my_border">
218  <input id="v_cnd_name" type="text" value="<?= $view->str($cnd['cnd_name']) ?>" size="40" style="text-align: left;">
219  </td>
220  </tr>
221  </table>
222 
223  <div style="height: 1px;">&nbsp;</div><hr>
224 
225  <table class="my_table" width="100%">
226  <tr>
227  <td class="my_border" id="my_create">
228  <button type="button" class="my_cyan" style="width: 150px;" onclick="return my.create();">新規部門作成</button>
229  </td>
230  </tr>
231  </table>
232 
233  <div style="height: 2px;">&nbsp;</div>
234 
235  <table width="100%">
236  <tr>
237  <td style="text-align: left; width: 20%;">全件数:<?= $list['cnt'] ?>[件]</td>
238 <?php
239 if ($list['cnt'] < 1) {
240 ?>
241  <td style="visibility: hidden;">
242 <?php
243 } else {
244 ?>
245  <td style="text-align: center;">
246 <?php
247 }
248 ?>
249  <button type="button" class="my_blue" style="width: 40px;" onclick="return my.move(-9);">|&lt;</button>
250  <button type="button" class="my_blue" style="width: 40px;" onclick="return my.move(-1);">&lt;</button>
251  <input id="v_page_last" type="hidden" value="<?= $list['last'] ?>">
252  <input id="v_page_curr" style="text-align: right;" type="text" size="4" value="<?= $list['page'] ?>">/<?= $list['last'] ?>[ページ]
253  <button type="button" class="my_blue" style="width: 40px;" onclick="return my.move(1);">&gt;</button>
254  <button type="button" class="my_blue" style="width: 40px;" onclick="return my.move(9);">&gt;|</button>
255  </td>
256  <td style="text-align: right; left; width: 20%;">
257  表示数:<?= $list['rpp'] ?>[件/ページ]
258  </td>
259  </tr>
260  </table>
261 
262  <div style="height: 2px;">&nbsp;</div>
263 
264  <table class="my_list">
265  <thead>
266  <tr>
267  <th>編集</th>
268  <th>連番</th>
269  <th>部門</th>
270  <th>削除</th>
271  </tr>
272  </thead>
273  <tbody>
274 <?php
275 if ($list['cnt'] < 1) {
276 ?>
277  <tr>
278  <td colspan="5">データなし</td>
279  </tr>
280 <?php
281 } else {
282  $i = ($list['page'] - 1) * $list['rpp'];
283  foreach ($list['rec'] as $rec) {
284 
285  $i++;
286 
287  $id = $rec['id'];
288  $name = $view->str($rec['name']);
289 ?>
290  <tr>
291 <?php
292  if ($cnt < 2) {
293 ?>
294  <td>&nbsp;</td>
295 <?php
296  } else {
297 ?>
298  <td style="text-align: center;">
299  <button type="button" class="my_green" onclick="return my.edit('<?= $id ?>');">編集</button>
300  </td>
301 <?php
302  }
303 ?>
304  <td style="text-align: right;"><?= $i ?></td>
305  <td><?= $name ?></td>
306 <?php
307  if ($cnt < 2) {
308 ?>
309  <td>&nbsp;</td>
310 <?php
311  } else {
312 ?>
313  <td>
314  <button type="button" class="my_magenta" onclick="return my.drop('<?= $id ?>', '<?= $name ?>');">削除</button>
315  </td>
316 <?php
317  }
318 ?>
319  </tr>
320 <?php
321  }
322 }
323 ?>
324  </tbody>
325  </table>
326  </td>
327  </tr>
328 </table>