JSlip  1.0
basic_info_edit.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 $dat = $ctrl->dat;
10 $mem = $ctrl->mem;
11 
12 $bid = $view->str($dat['id']);
13 $name = $view->str($dat['name']);
14 $disp_name = $view->str($dat['disp_name']);
15 $term_year = $view->str($dat['term_year']);
16 $term_begin = $view->strDate($dat['term_begin']);
17 $term_end = $view->strDate($dat['term_end']);
18 $validOpt = $view->validSelect($dat['valid_flg']);
19 ?>
20 <script type="text/javascript">
21 
22  var my = {
23 
24  errmsg: null,
25  ans: null,
26  next: null,
27  func: null,
28  act: null,
29  v_mid: null,
30  v_name: null,
31  v_disp_name: null,
32  v_term_year: null,
33  v_term_begin: null,
34  v_term_end: null,
35  v_valid_flg: null,
36 
37  gotoNext: function(func, act) {
38  this.func.val(func);
39  this.act.val(act);
40  this.next.submit();
41  return false;
42  },
43 
44  check: function() {
45 
46  $.ajax({
47  url: '<?= $base ?>',
48  type: 'post',
49  async: false,
50  data: {
51  'func': 'BasicInfo',
52  'act': 'check',
53  'name': this.v_name.val(),
54  'disp_name': this.v_disp_name.val(),
55  'term_year': this.v_term_year.val(),
56  'term_begin': this.v_term_begin.val(),
57  'term_end': this.v_term_end.val(),
58  'eod': ''
59  }
60  })
61  .done((data) => {
62  eval("this.ans = " + data);
63  })
64  .fail((data) => {
65  this.ans = {"sts": "NG", "err": "ajax error"};
66  });
67 
68  return this.ans.sts;
69  },
70 
71  regist: function() {
72 
73  var msg = '';
74 
75  if (!confirm("登録しますか?")) {
76  return false;
77  }
78 
79  if (this.check() == 'NG') {
80 
81  for (var i in this.ans.err) {
82  msg += this.ans.err[i] + '<br>';
83  }
84 
85  this.errmsg.html(msg);
86  return false;
87  }
88 
89  $.ajax({
90  url: '<?= $base ?>',
91  type: 'post',
92  async: false,
93  data: {
94  'func': 'BasicInfo',
95  'act': 'regist',
96  'bid': '<?= $bid ?>',
97  'mid': this.v_mid.val(),
98  'name': this.v_name.val(),
99  'disp_name': this.v_disp_name.val(),
100  'term_year': this.v_term_year.val(),
101  'term_begin': this.v_term_begin.val(),
102  'term_end': this.v_term_end.val(),
103  'valid_flg': this.v_valid_flg.val(),
104  'eod': ''
105  }
106  })
107  .done((data) => {
108  eval("this.ans = " + data);
109  })
110  .fail((data) => {
111  this.ans = {"sts": "NG", "err": "ajax error"};
112  });
113 
114  if (this.ans.sts == 'NG') {
115  this.errmsg.html(this.ans.err);
116  return false;
117  }
118 
119  this.gotoNext('BasicInfo', 'remember');
120 
121  return false;
122  },
123 
124  init: function() {
125  this.errmsg = $('#errmsg');
126  this.next = $('#next');
127  this.func = $('#func');
128  this.act = $('#act');
129  this.v_mid = $('#v_mid');
130  this.v_name = $('#v_name');
131  this.v_disp_name = $('#v_disp_name');
132  this.v_term_year = $('#v_term_year');
133  this.v_term_begin = $('#v_term_begin');
134  this.v_term_end = $('#v_term_end');
135  this.v_valid_flg = $('#v_valid_flg');
136 
137  this.v_term_begin.datepicker();
138  this.v_term_end.datepicker();
139  this.v_term_begin.val('<?= $term_begin ?>');
140  this.v_term_end.val('<?= $term_end ?>');
141  }
142  }
143 
144  $(function(){
145  my.init();
146  });
147 
148 </script>
149 
150 <form method="post" name="next" id="next" action="<?= $base ?>">
151  <input type="hidden" name="func" id="func">
152  <input type="hidden" name="act" id="act">
153 </form>
154 
155 <table id="my_header" width="100%">
156  <tr>
157  <td>
158  &nbsp;<a onclick="return my.gotoNext('RootMenu', '');">root用メニュー</a>
159  &nbsp;&gt;&nbsp;<a onclick="return my.gotoNext('BasicInfo', 'remember');">基本情報</a>
160  &nbsp;&gt;&nbsp;修正
161  </td>
162  <td style="text-align: right;">
163  <button type="button" class="my_magenta" style="width: 120px;" onclick="return my.gotoNext('Login', '');">ログアウト</button>
164  </td>
165  </tr>
166 </table>
167 
168 <div style="height: 5px;">&nbsp;</div>
169 
170 <table width="100%">
171  <tr>
172  <td align="center">
173  <table class="my_table" width="100%">
174  <tr>
175  <th class="my_border">基本情報・修正</th>
176  </tr>
177  </table>
178 
179  <div style="height: 1px;">&nbsp;</div><hr>
180 
181  <table>
182  <tr>
183  <td align="center">
184  <table>
185  <tr>
186  <td style="padding: 8px;">
187  <button type="button" class="my_cyan" style="width: 100px;" onclick="return my.regist();">登録</button>
188  </td>
189  <td style="width: 80px;">&nbsp;</td>
190  <td>
191  <button type="button" class="my_magenta" style="width: 100px;" onclick="return my.gotoNext('BasicInfo', 'remember');">戻る</button>
192  </td>
193  </tr>
194  </table>
195  </td>
196  </tr>
197  </table>
198 
199  <div style="height: 1px;">&nbsp;</div><hr>
200 
201  <div style="height: 8px;">&nbsp;</div>
202 
203  <table class="my_table">
204  <tr>
205  <td colspan="2"><div id="errmsg" class="my_red"></div></td>
206  </tr>
207  <tr>
208  <td colspan="2">&nbsp;</td>
209  </tr>
210  <tr>
211  <th class="my_border" style="width: 100px; text-align: right;">
212  <div class="my_required">名称</div>
213  </th>
214  <td class="my_border">
215  <input style="width: 400px; text-align: left;" maxlength="80" type="text" id="v_name" value="<?= $name ?>">
216  </td>
217  </tr>
218  <tr>
219  <th class="my_border" style="width: 100px; text-align: right;">
220  <div class="my_required">表示名称</div>
221  </th>
222  <td class="my_border">
223  <input style="width: 400px; text-align: left;" maxlength="80" type="text" id="v_disp_name" value="<?= $disp_name ?>">
224  </td>
225  </tr>
226  <tr>
227  <th class="my_border" style="text-align: right;">
228  <div class="my_required">年度</div>
229  </th>
230  <td class="my_border">
231  <input style="width: 50px; text-align: right;" maxlength="4" type="text" id="v_term_year" value="<?= $term_year ?>">
232  </td>
233  </tr>
234  <tr>
235  <th class="my_border" style="text-align: right;">
236  <div class="my_required">期首</div>
237  </th>
238  <td class="my_border">
239  <input type="text" id="v_term_begin">
240  </td>
241  </tr>
242  <tr>
243  <th class="my_border" style="text-align: right;">
244  <div class="my_required">期末</div>
245  </th>
246  <td class="my_border">
247  <input type="text" id="v_term_end">
248  </td>
249  </tr>
250  <tr>
251  <th class="my_border" style="text-align: right;">
252  <div class="my_not_required">担当</div>
253  </th>
254  <td class="my_border">
255  <select id="v_mid">
256 <?php
257 $mid = (empty($dat['mid'])) ? '' : $dat['mid'];
258 foreach ($mem as $m) {
259  $slct = ($mid == $m['mid']) ? ' selected' : '';
260  $opt = 'ロール: ' . $m['role'] . '、 アカウント: ' . $view->str($m['login_id']) . '、 名前: ' . $view->str($m['name']);
261  echo '<option value="' . $m['mid'] . '"' . $slct . '>' . $opt . '</option>' . "\n";
262 }
263 ?>
264  </select>
265  </td>
266  </tr>
267  <tr>
268  <th class="my_border" style="text-align: right;">
269  <div class="my_required">有効フラグ</div>
270  </th>
271  <td class="my_border">
272  <select id="v_valid_flg"><?= $validOpt ?></select>
273  </td>
274  </tr>
275  </table>
276  </td>
277  </tr>
278 </table>