|
2 | 2 | Vue.component('apijson-table',{
|
3 | 3 | delimiters:['{','}'],
|
4 | 4 | props:[
|
5 |
| -"table_name", |
| 5 | +"model_name",//apijson model name |
| 6 | +"request_tag",//apijson request tag, default will be same with model name |
6 | 7 | "config",
|
7 | 8 | "custom_tcolumns_render_generator",
|
8 | 9 | "hook_init",
|
|
44 | 45 | </div>
|
45 | 46 | </modal>
|
46 | 47 | <modal v-model="modal_delete" title="Confirm to delete" @on-ok="real_remove">
|
47 |
| - <p>Confirm to delete #{delete_params.row&&delete_params.row.id} in table '{table_name}'?</p> |
| 48 | + <p>Confirm to delete #{delete_params.row&&delete_params.row.id} in table '{model_name}'?</p> |
48 | 49 | </modal>
|
49 | 50 | </div>`,
|
50 | 51 | data:function(){
|
51 | 52 | varthisp=this
|
52 | 53 | return{
|
| 54 | +l_request_tag:null, |
| 55 | + |
53 | 56 | loading:false,
|
54 | 57 | modal_view:false,
|
55 | 58 | viewedit_items:[],
|
|
172 | 175 | "@page":thisp.current_page-1,
|
173 | 176 | "@query":2
|
174 | 177 | }
|
175 |
| -arr_params[this.table_name]={ |
| 178 | +arr_params[this.model_name]={ |
176 | 179 | "@order":thisp.sort_key+thisp.sort_order,
|
177 | 180 | "@role":"{{=role}}"
|
178 | 181 | }
|
|
225 | 228 | }
|
226 | 229 | else{
|
227 | 230 | thisp.$Notice.error({
|
228 |
| -title:'error when get table '+thisp.table_name, |
| 231 | +title:'error when get table '+thisp.model_name, |
229 | 232 | desc:data.msg
|
230 | 233 | })
|
231 | 234 | }
|
|
276 | 279 | save:function(){
|
277 | 280 | varthisp=this
|
278 | 281 | varparams={
|
279 |
| -"@tag":thisp.table_name |
| 282 | +"@tag":thisp.l_request_tag |
280 | 283 | }
|
281 | 284 | varrecord_params={}
|
282 | 285 | varrow=thisp.edit_params.row
|
283 | 286 |
|
| 287 | +//only save modified fields |
284 | 288 | for(varkinthisp.viewedit_items){
|
285 | 289 | vard=thisp.viewedit_items[k]
|
286 | 290 | if(d.key=="id"||d.value!=row[d.key]){
|
287 | 291 | record_params[d.key]=d.value
|
288 | 292 | }
|
289 | 293 | }
|
290 |
| -params[thisp.table_name]=record_params |
| 294 | +params[thisp.l_request_tag]=record_params |
291 | 295 | params=thisp.ajax_hook("apijson_put","update",params)
|
292 | 296 | $.ajax({
|
293 | 297 | type:"POST",
|
|
297 | 301 | success:function(data){
|
298 | 302 | if(data.code==200){
|
299 | 303 | thisp.$Notice.success({
|
300 |
| -title:'success update #'+row.id+' in table '+thisp.table_name, |
| 304 | +title:'success update #'+row.id+' in table '+thisp.model_name, |
301 | 305 | desc:data.msg
|
302 | 306 | })
|
303 | 307 | thisp.modal_view=false
|
304 | 308 | thisp.update_list()
|
305 | 309 | }
|
306 | 310 | else{
|
307 | 311 | thisp.$Notice.error({
|
308 |
| -title:'error when update #'+row.id+' in table '+thisp.table_name, |
| 312 | +title:'error when update #'+row.id+' in table '+thisp.model_name, |
309 | 313 | desc:data.msg
|
310 | 314 | })
|
311 | 315 | }
|
|
323 | 327 | real_remove_set_deleted:function(){
|
324 | 328 | varthisp=this
|
325 | 329 | varparams={
|
326 |
| -"@tag":thisp.table_name |
| 330 | +"@tag":thisp.l_request_tag |
327 | 331 | }
|
328 | 332 | varparams_table={
|
329 | 333 | "id":thisp.delete_params.row.id,
|
330 | 334 | }
|
331 | 335 | params_table[this.config_deleted_field_name]=true
|
332 |
| -params[thisp.table_name]=params_table |
| 336 | +params[thisp.l_request_tag]=params_table |
333 | 337 |
|
334 | 338 | params=thisp.ajax_hook("apijson_put","delete",params)
|
335 | 339 |
|
|
341 | 345 | success:function(data){
|
342 | 346 | if(data.code!=200){
|
343 | 347 | thisp.$Notice.error({
|
344 |
| -title:'error when remove #'+thisp.delete_params.row.id+' in table '+thisp.table_name, |
| 348 | +title:'error when remove #'+thisp.delete_params.row.id+' in table '+thisp.model_name, |
345 | 349 | desc:data.msg
|
346 | 350 | })
|
347 | 351 | return
|
348 | 352 | }
|
349 |
| -varresult=data[thisp.table_name] |
| 353 | +varresult=data[thisp.l_request_tag] |
350 | 354 | if(result.code!=200){
|
351 | 355 | thisp.$Notice.error({
|
352 |
| -title:'error when remove #'+thisp.delete_params.row.id+' in table '+thisp.table_name, |
| 356 | +title:'error when remove #'+thisp.delete_params.row.id+' in table '+thisp.model_name, |
353 | 357 | desc:result.msg
|
354 | 358 | })
|
355 | 359 | return
|
356 | 360 | }
|
357 | 361 | thisp.$Notice.success({
|
358 |
| -title:'success remove #'+thisp.delete_params.row.id+' in table '+thisp.table_name, |
| 362 | +title:'success remove #'+thisp.delete_params.row.id+' in table '+thisp.model_name, |
359 | 363 | desc:result.msg
|
360 | 364 | })
|
361 | 365 | thisp.update_list()
|
|
365 | 369 | real_remove_delete:function(){
|
366 | 370 | varthisp=this
|
367 | 371 | varparams={
|
368 |
| -"@tag":thisp.table_name |
| 372 | +"@tag":thisp.l_request_tag |
369 | 373 | }
|
370 |
| -params[thisp.table_name]={ |
| 374 | +params[thisp.l_request_tag]={ |
371 | 375 | "id":thisp.delete_params.row.id
|
372 | 376 | }
|
373 | 377 | params=thisp.ajax_hook("apijson_delete","delete",params)
|
|
379 | 383 | success:function(data){
|
380 | 384 | if(data.code!=200){
|
381 | 385 | thisp.$Notice.error({
|
382 |
| -title:'error when remove #'+thisp.delete_params.row.id+' in table '+thisp.table_name, |
| 386 | +title:'error when remove #'+thisp.delete_params.row.id+' in table '+thisp.model_name, |
383 | 387 | desc:data.msg
|
384 | 388 | })
|
385 | 389 | return
|
386 | 390 | }
|
387 |
| -varresult=data[thisp.table_name] |
| 391 | +varresult=data[thisp.l_request_tag] |
388 | 392 | if(result.code!=200){
|
389 | 393 | thisp.$Notice.error({
|
390 |
| -title:'error when remove #'+thisp.delete_params.row.id+' in table '+thisp.table_name, |
| 394 | +title:'error when remove #'+thisp.delete_params.row.id+' in table '+thisp.model_name, |
391 | 395 | desc:result.msg
|
392 | 396 | })
|
393 | 397 | return
|
394 | 398 | }
|
395 | 399 | thisp.$Notice.success({
|
396 |
| -title:'success remove #'+thisp.delete_params.row.id+' in table '+thisp.table_name, |
| 400 | +title:'success remove #'+thisp.delete_params.row.id+' in table '+thisp.model_name, |
397 | 401 | desc:result.msg
|
398 | 402 | })
|
399 | 403 | thisp.update_list()
|
|
411 | 415 | real_add:function(){
|
412 | 416 | thisp=this
|
413 | 417 | varparams={
|
414 |
| -"@tag":thisp.table_name |
| 418 | +"@tag":thisp.l_request_tag |
415 | 419 | }
|
416 | 420 | varpost_params={}
|
417 | 421 | for(varkinthisp.add_items){
|
418 | 422 | vard=thisp.add_items[k]
|
419 | 423 | post_params[d.key]=d.value
|
420 | 424 | }
|
421 |
| -params[this.table_name]=post_params |
| 425 | +params[this.l_request_tag]=post_params |
422 | 426 | params=thisp.ajax_hook("apijson_post","add",params)
|
423 | 427 | $.ajax({
|
424 | 428 | type:"POST",
|
|
428 | 432 | success:function(data){
|
429 | 433 | if(data.code!=200){
|
430 | 434 | thisp.$Notice.error({
|
431 |
| -title:'error when add new record in table '+thisp.table_name, |
| 435 | +title:'error when add new record in table '+thisp.model_name, |
432 | 436 | desc:data.msg
|
433 | 437 | })
|
434 | 438 | return
|
435 | 439 | }
|
436 |
| -varresult=data[thisp.table_name] |
| 440 | +varresult=data[thisp.l_request_tag] |
437 | 441 | thisp.$Notice.success({
|
438 |
| -title:'success add #'+result.id+' in table '+thisp.table_name, |
| 442 | +title:'success add #'+result.id+' in table '+thisp.model_name, |
439 | 443 | desc:result.msg
|
440 | 444 | })
|
441 | 445 | thisp.update_list()
|
|
456 | 460 | }
|
457 | 461 | },
|
458 | 462 | mounted:function(){
|
| 463 | +if(this.request_tag==null){ |
| 464 | +this.l_request_tag=this.model_name |
| 465 | +} |
| 466 | +else{ |
| 467 | +this.l_request_tag=this.request_tag |
| 468 | +} |
| 469 | + |
459 | 470 | if(this.config!=null){
|
460 | 471 | this.config_editable=this.config.editable||false
|
461 | 472 | this.config_table_fields=this.config.table_fields||null
|
|