edit.blade.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <div style="margin-top: 10px;" id="banners-app">
  2. <div style="text-align: center;margin-top: 5px;margin-bottom: 10px;font-size: 20px;">
  3. 编辑 - 轮播
  4. </div>
  5. <el-form action="{{route('admin.banner.update',array('id'=>$model->id))}}" method="post" id="form-create">
  6. <!-- 图片 -->
  7. <ui-input-text label="轮播标题" name="title" value="{{$model->title}}" placeholder="请输入轮播标题" maxlength="255" tips="请输入轮播标题" autofocus="true"></ui-input-text>
  8. <ui-file label="轮播图" size="0.5" name="image" :data="{uploadName:'banners'}" imageurl="{{$model->image}}" tips="图片大小建议(686*128)"></ui-file>
  9. <ui-select label="链接类型:" @set-keys="setType" id="type_list" name="type" placeholder=""
  10. :options="type_list" :free="true"></ui-select>
  11. <!-- link -->
  12. <ui-input-text v-if="type_num*1==4" label="外部链接" name="link" placeholder="请输入外部链接" maxlength="255" tips="请输入外部链接" autofocus="true"></ui-input-text>
  13. <ui-input-select label="绑定商品" button_title="选择商品" tips="请选择需要跳转的商品" v-else-if="type_num*1==1" send_url="{{route('admin.good.select')}}" name="to_id" title="{{$model->to_name}}" value="{{$model->to_id}}" :options="select_arr" ></ui-input-select>
  14. <ui-linkage v-else-if="type_num*1==2" label="商品分类" :options="class_list" tips="请选择需要跳转的商品分类"></ui-linkage>
  15. <!-- 是否显示 -->
  16. <ui-radio label="是否开启" :params="params" tips="轮播显示"></ui-radio>
  17. <!-- 排序 -->
  18. <ui-input-number label="排序" checked="checked" name="sort" value="{{$model->sort}}" min="1" max="100" tips="控制前台显示顺序"></ui-input-number>
  19. <ui-submit></ui-submit>
  20. </el-form>
  21. </div>
  22. <script type="application/javascript">
  23. var edit_vm=null;
  24. $(function () {
  25. // 注意:Vue组件一定放在jQuery.validator前面验证
  26. edit_vm= new Vue({
  27. el: '#banners-app',
  28. data :function () {
  29. return {
  30. 'type_num':{{$model->type}},
  31. 'type_list':{!! $type_list !!},
  32. 'select_arr':{
  33. 'button_title':'选择商品',
  34. 'name':'to_id',
  35. 'title':'{{$model->to_name}}',
  36. 'value':'{{$model->to_id}}',
  37. },
  38. class_list: {
  39. 'tier_num': 2,
  40. 'one_id': '{{$model->class_id}}',
  41. 'two_id': '{{$model->to_id}}',
  42. 'send_url': '{{route('admin.goodsClass.class')}}',
  43. 'one_name': '',
  44. 'two_name':'to_id'
  45. },
  46. params: {
  47. // 注意:group和attr连个属性都不能省略 就算为空
  48. group: {},
  49. attr: {
  50. name: 'show', // 当前checkbox框的name属性 【必填】
  51. radioCheck:{{$model->show}}, // 当前选中项 int | string 【必填】
  52. label: 'el-radio-button', // 当前样式 默认 el-radio 样式 【非必填】
  53. radios: [ // 每个checkbox 就是一个json对象 【必填】
  54. {
  55. value:0, // 当前选中时值也就是value属性的值 【必填】
  56. label: '关闭', // 当前提示文字 【必填】
  57. disable: false // 是否禁止点击 默认:false 不禁止
  58. },
  59. {
  60. value:1, // 当前选中时值也就是value属性的值 【必填】
  61. label: '开启', // 当前提示文字 【必填】
  62. disable: false // 是否禁止点击 默认:false 不禁止
  63. }
  64. ]
  65. }
  66. }
  67. };
  68. },
  69. methods: {
  70. setType: function (level) {
  71. console.log('数据变化:' + level);
  72. this.type_num = level*1;
  73. },
  74. setGoods:function (row){
  75. this.select_arr.title=row.good_name;
  76. this.select_arr.value=row.id;
  77. }
  78. },
  79. });
  80. jQuery.validator.setDefaults({
  81. debug: false, // 调试模式true不会提交,false允许提交
  82. success: "success", // 匹配成功的class样式名称
  83. errorElement: 'div' // 兼容el标签时使用(兼容el Vue组件label.error标签问题)
  84. });
  85. // 前台数据验证 验证需要设置window.form全局变量
  86. window.form = $('#form-create').validate({
  87. rules: {
  88. image: {
  89. required: true,
  90. maxlength: 255,
  91. normalizer: function ( value ) {
  92. return $.trim(value);
  93. }
  94. },
  95. // link: {
  96. // required: true,
  97. // maxlength: 255,
  98. // normalizer: function ( value ) {
  99. // return $.trim(value);
  100. // }
  101. // },
  102. show: {
  103. required: true
  104. },
  105. sort: {
  106. required: true,
  107. normalizer: function ( value ) {
  108. return $.trim(value);
  109. }
  110. }
  111. }
  112. });
  113. // 编辑保存变量
  114. window.formDatum = $('form').serialize();
  115. });
  116. window.top.editVmItem=function (row){
  117. edit_vm.setGoods(row);
  118. }
  119. </script>
  120. @include('layouts.admin.form_script')