JSlip  1.0
user_item_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 $acitm = $ctrl->acitm;
12 $cnd = $ctrl->dat['cnd'];
13 $list = $ctrl->dat['list'];
14 
15 $c_c1 = $ctrl->const['c_c1'];
16 $c_c2 = $ctrl->const['c_c2'];
17 $c_c3 = $ctrl->const['c_c3'];
18 $c_c4 = $ctrl->const['c_c4'];
19 ?>
20 <script type="text/javascript">
21 
22  var my = {
23 
24  next: null,
25  func: null,
26  act: null,
27  id: null,
28  cnd_kana: null,
29  cnd_name: null,
30  page_curr: null,
31  v_cnd_kana: null,
32  v_cnd_name: null,
33  v_page_curr: null,
34  v_page_last: null,
35 
36  gotoNext: function(func) {
37  this.func.val(func);
38  this.act.val('');
39  this.next.submit();
40  return false;
41  },
42 
43  create: function() {
44  this.func.val('UserItem');
45  this.act.val('create');
46  this.next.submit();
47  return false;
48  },
49 
50  drop: function(id, name) {
51 
52  var msg = '';
53 
54  if (!confirm("科目名 " + name + " を削除しますか?")) {
55  return false;
56  }
57 
58  $.ajax({
59  url: '<?= $base ?>',
60  type: 'post',
61  async: false,
62  data: {
63  'func': 'UserItem',
64  'act': 'drop',
65  'id': id,
66  'eod': ''
67  }
68  })
69  .done((data) => {
70  eval("this.ans = " + data);
71  })
72  .fail((data) => {
73  this.ans = {"sts": "NG", "err": "ajax error"};
74  });
75 
76  if (this.ans.sts == 'NG') {
77  alert(this.ans.err);
78  return false;
79  }
80 
81  this.gotoNext('UserItem', 'remember');
82 
83  return false;
84  },
85 
86  use: function(id) {
87  var vflg = $('#v_valid_flg_' + id).val();
88  $.ajax({
89  url: '<?= $base ?>',
90  type: 'post',
91  async: false,
92  data: {
93  'func': 'UserItem',
94  'act': 'use',
95  'bid': '<?= $bid ?>',
96  'id': id,
97  'valid_flg': vflg,
98  'eod': ''
99  }
100  })
101  .done((data) => {
102  eval("this.ans = " + data);
103  })
104  .fail((data) => {
105  this.ans = {"sts": "NG", "err": "ajax error"};
106  });
107 
108  if (this.ans.sts == 'NG') {
109  alert(this.ans.err);
110  }
111 
112  return false;
113  },
114 
115  edit: function(id) {
116  this.func.val('UserItem');
117  this.act.val('edit');
118  this.id.val(id);
119  this.next.submit();
120  return false;
121  },
122 
123  move: function(dlt) {
124 
125  var curr = this.v_page_curr.val() * 1;
126  var last = this.v_page_last.val() * 1;
127  var next;
128 
129  switch (dlt) {
130  case -9: next = 1; break;
131  case 9: next = last; break;
132  default: next = curr + dlt; break;
133  }
134 
135  if (next > last) {
136  next = last;
137  }
138 
139  if (next < 1) {
140  next = 1;
141  }
142 
143  this.v_page_curr.val(next);
144  this.search();
145 
146  return false;
147  },
148 
149  search: function() {
150 
151  if (this.v_page_curr.val() < 1) {
152  this.v_page_curr.val(1);
153  }
154 
155  this.func.val('UserItem');
156  this.act.val('search');
157  this.cnd_kana.val(this.v_cnd_kana.val());
158  this.cnd_name.val(this.v_cnd_name.val());
159  this.page_curr.val(this.v_page_curr.val());
160  this.next.submit();
161  return false;
162  },
163 
164  reset: function() {
165  this.v_cnd_name.val('');
166  this.v_cnd_kana.val('');
167  this.v_page_curr.val(1);
168  return false;
169  },
170 
171  init: function() {
172  this.next = $('#next');
173  this.func = $('#func');
174  this.act = $('#act');
175  this.id = $('#id');
176  this.cnd_kana = $('#cnd_kana');
177  this.cnd_name = $('#cnd_name');
178  this.page_curr = $('#page_curr');
179  this.v_cnd_kana = $('#v_cnd_kana');
180  this.v_cnd_name = $('#v_cnd_name');
181  this.v_page_curr = $('#v_page_curr');
182  this.v_page_last = $('#v_page_last');
183  }
184  }
185 
186  $(function(){
187  my.init();
188  });
189 
190 </script>
191 
192 <form method="post" name="next" id="next" action="<?= $base ?>">
193  <input type="hidden" name="func" id="func">
194  <input type="hidden" name="act" id="act">
195  <input type="hidden" name="cnd_kana" id="cnd_kana">
196  <input type="hidden" name="cnd_name" id="cnd_name">
197  <input type="hidden" name="page_curr" id="page_curr">
198  <input type="hidden" name="id" id="id">
199  <input type="hidden" name="bid" id="bid" value="<?= $bid ?>">
200 </form>
201 
202 <table id="my_header" width="100%">
203  <tr>
204  <td>
205  &nbsp;<a onclick="return my.gotoNext('UserMenu');">メニュー</a>
206  &nbsp;&gt;&nbsp;科目コード
207  </td>
208  <td style="text-align: right;">
209  <button type="button" class="my_magenta" style="width: 120px;" onclick="return my.gotoNext('Login');">ログアウト</button>
210  </td>
211  </tr>
212  <tr>
213  <td colspan="2" style="text-align: center;">
214  <?= $view->strBasic($basic) ?>
215  </td>
216  </tr>
217 </table>
218 
219 <div style="height: 5px;">&nbsp;</div>
220 
221 <table width="100%">
222  <tr>
223  <td align="center">
224  <table class="my_table" width="100%">
225  <tr>
226  <th class="my_border">科目コード</th>
227  </tr>
228  </table>
229 
230  <div style="height: 1px;">&nbsp;</div><hr>
231 
232  <table class="my_table" width="100%">
233  <tr>
234  <th colspan="3" class="my_border">絞込み検索</th>
235  </tr>
236  <tr>
237  <td class="my_border" style="text-align: center; width: 110px;" rowspan="2">
238  <table class="my_table" cellpadding="0" cellspacing="2">
239  <tr>
240  <td>
241  <button type="button" class="my_cyan" style="width: 100px;" onclick="return my.search();">検索</button>
242  </td>
243  </tr>
244  <tr>
245  <td>
246  <button type="button" class="my_magenta" style="width: 100px;" onclick="return my.reset();">検索リセット</button>
247  </td>
248  </tr>
249  </table>
250  </td>
251  <th class="my_border">科目名</th>
252  <td class="my_border">
253  <input id="v_cnd_name" type="text" value="<?= $view->str($cnd['cnd_name']) ?>" size="20" style="text-align: left;">
254  </td>
255  </tr>
256  <tr>
257  <th class="my_border" style="width: 100px;">科目名(かな)</th>
258  <td class="my_border">
259  <input id="v_cnd_kana" type="text" value="<?= $view->str($cnd['cnd_kana']) ?>" size="20" style="text-align: left;">
260  </td>
261  </tr>
262  </table>
263 
264  <div style="height: 1px;">&nbsp;</div><hr>
265 
266  <table class="my_table" width="100%">
267  <tr>
268  <td class="my_border" id="my_create">
269  <button type="button" class="my_cyan" style="width: 150px;" onclick="return my.create();">新規科目コード作成</button>
270  </td>
271  </tr>
272  </table>
273 
274  <div style="height: 2px;">&nbsp;</div>
275 
276  <table width="100%">
277  <tr>
278  <td style="text-align: left; width: 20%;">全件数:<?= $list['cnt'] ?>[件]</td>
279 <?php
280 if ($list['cnt'] < 1) {
281 ?>
282  <td style="visibility: hidden;">
283 <?php
284 } else {
285 ?>
286  <td style="text-align: center;">
287 <?php
288 }
289 ?>
290  <button type="button" class="my_blue" style="width: 40px;" onclick="return my.move(-9);">|&lt;</button>
291  <button type="button" class="my_blue" style="width: 40px;" onclick="return my.move(-1);">&lt;</button>
292  <input id="v_page_last" type="hidden" value="<?= $list['last'] ?>">
293  <input id="v_page_curr" style="text-align: right;" type="text" size="4" value="<?= $list['page'] ?>">/<?= $list['last'] ?>[ページ]
294  <button type="button" class="my_blue" style="width: 40px;" onclick="return my.move(1);">&gt;</button>
295  <button type="button" class="my_blue" style="width: 40px;" onclick="return my.move(9);">&gt;|</button>
296  </td>
297  <td style="text-align: right; left; width: 20%;">
298  表示数:<?= $list['rpp'] ?>[件/ページ]
299  </td>
300  </tr>
301  </table>
302 
303  <div style="height: 2px;">&nbsp;</div>
304 
305  <table class="my_list">
306  <thead>
307  <tr>
308  <th>編集</th>
309  <th>連番</th>
310  <th>有効</th>
311  <th>科目コード</th>
312  <th>科目名</th>
313  <th>大分類</th>
314  <th>中分類</th>
315  <th>小分類</th>
316  <th>細分類</th>
317  <th>勘定科目</th>
318  <th>削除</th>
319  </tr>
320  </thead>
321  <tbody>
322 <?php
323 if ($list['cnt'] < 1) {
324 ?>
325  <tr>
326  <td colspan="11">データなし</td>
327  </tr>
328 <?php
329 } else {
330  $i = ($list['page'] - 1) * $list['rpp'];
331  foreach ($list['rec'] as $rec) {
332 
333  $i++;
334 
335  $id = $rec['id'];
336  $ccd = $view->str($rec['ccd']);
337  $account = $view->str($rec['account']);
338  $item = $view->str($rec['item']);
339  $kana = $view->str($rec['kana']);
340  $name = $view->str($rec['name']);
341  $vopt = $view->validSelect($rec['valid_flg']);
342  $delete_flg = $view->str($rec['delete_flg']);
343  $edit_flg = $view->str($rec['edit_flg']);
344  $kcd = sprintf('%08d', $rec['ccd'] * 10000 + $rec['account'] * 100 + $rec['item']);
345  $c1 = substr($kcd, 0, 1);
346  $c2 = substr($kcd, 1, 1);
347  $c3 = substr($kcd, 2, 1);
348  $c4 = substr($kcd, 3, 1);
349  $acname = $view->str($acitm[$rec['ccd']][$rec['account']]);
350 ?>
351  <tr>
352 <?php
353  if ($rec['ccd'] == '0') {
354 ?>
355  <td>&nbsp;</td>
356 <?php
357  } else {
358 ?>
359  <td style="text-align: center;">
360 <?php
361  if ($edit_flg) {
362 ?>
363  <button type="button" class="my_green" onclick="return my.edit('<?= $id ?>');">編集</button>
364 <?php
365  } else {
366 ?>
367  &nbsp;
368 <?php
369  }
370 ?>
371  </td>
372 <?php
373  }
374 ?>
375  <td style="text-align: right;"><?= $i ?></td>
376  <td style="text-align: center;">
377  <select id="v_valid_flg_<?= $id ?>" onchange="return my.use('<?= $id ?>');">
378  <?= $vopt ?>
379  </select>
380  </td>
381  <td><?= $kcd ?></td>
382  <td><?= $name ?></td>
383 <?php
384  if ($rec['ccd'] == '0') {
385 ?>
386  <td>&nbsp;</td>
387  <td>&nbsp;</td>
388  <td>&nbsp;</td>
389  <td>&nbsp;</td>
390  <td>&nbsp;</td>
391  <td>&nbsp;</td>
392 <?php
393  } else {
394 ?>
395  <td><?= $c_c1[$c1] ?></td>
396  <td><?= $c_c2[$c1][$c2] ?></td>
397  <td><?= $c_c3[$c1][$c2][$c3]['name'] ?></td>
398 <?php
399  if ($c4 == 0) {
400 ?>
401  <td>&nbsp;</td>
402 <?php
403  } else {
404 ?>
405  <td><?= $c_c4[$c1][$c2][$c3][$c4] ?></td>
406 <?php
407  }
408 ?>
409  <td><?= $acname ?></td>
410  <td style="text-align: center;">
411 <?php
412  if ($delete_flg) {
413 ?>
414  <button type="button" class="my_magenta" onclick="return my.drop('<?= $id ?>', '<?= $name ?>');">削除</button>
415 <?php
416  } else {
417 ?>
418  &nbsp;
419 <?php
420  }
421 ?>
422  </td>
423 <?php
424  }
425 ?>
426  </tr>
427 <?php
428  }
429 }
430 ?>
431  </tbody>
432  </table>
433  </td>
434  </tr>
435 </table>