add.html 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
  2. <div class="form-group">
  3. <label class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>
  4. <div class="col-xs-12 col-sm-8">
  5. <input id="c-user_id" data-rule="required" data-source="user/user/index" data-order-by="id desc" data-format-item="[{id}]-[{nickname}]" data-field="nickname" class="form-control selectpage" name="row[user_id]" type="text" value="">
  6. </div>
  7. </div>
  8. <div class="form-group">
  9. <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
  10. <div class="col-xs-12 col-sm-8">
  11. <select id="c-type" data-rule="required" class="form-control selectpicker" name="row[type]">
  12. {foreach name="typeList" item="vo"}
  13. <option value="{$key}" {in name="key" value="0"}selected{/in}>{$vo}</option>
  14. {/foreach}
  15. </select>
  16. </div>
  17. </div>
  18. <div class="form-group">
  19. <label class="control-label col-xs-12 col-sm-2">{:__('Attire_id')}:</label>
  20. <div class="col-xs-12 col-sm-8">
  21. <input id="c-attire_id" data-rule="required" data-source="attire/attire/index" data-order-by="id desc" data-format-item="[{id}]-[{title}]" data-field="title" class="form-control selectpage" name="row[attire_id]" type="text" value="">
  22. </div>
  23. </div>
  24. <!--<div class="form-group">
  25. <label class="control-label col-xs-12 col-sm-2">{:__('Attire_name')}:</label>
  26. <div class="col-xs-12 col-sm-8">
  27. <input id="c-attire_name" class="form-control" name="row[attire_name]" type="text">
  28. </div>
  29. </div>
  30. <div class="form-group">
  31. <label class="control-label col-xs-12 col-sm-2">{:__('Price')}:</label>
  32. <div class="col-xs-12 col-sm-8">
  33. <input id="c-price" data-rule="required" class="form-control" name="row[price]" type="number" value="0">
  34. </div>
  35. </div>
  36. <div class="form-group">
  37. <label class="control-label col-xs-12 col-sm-2">{:__('File_image')}:</label>
  38. <div class="col-xs-12 col-sm-8">
  39. <div class="input-group">
  40. <input id="c-file_image" data-rule="required" class="form-control" size="50" name="row[file_image]" type="text">
  41. <div class="input-group-addon no-border no-padding">
  42. <span><button type="button" id="faupload-file_image" class="btn btn-danger faupload" data-input-id="c-file_image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="false" data-preview-id="p-file_image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
  43. <span><button type="button" id="fachoose-file_image" class="btn btn-primary fachoose" data-input-id="c-file_image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
  44. </div>
  45. <span class="msg-box n-right" for="c-file_image"></span>
  46. </div>
  47. <ul class="row list-inline faupload-preview" id="p-file_image"></ul>
  48. </div>
  49. </div>
  50. <div class="form-group">
  51. <label class="control-label col-xs-12 col-sm-2">{:__('Android_image')}:</label>
  52. <div class="col-xs-12 col-sm-8">
  53. <div class="input-group">
  54. <input id="c-android_image" data-rule="required" class="form-control" size="50" name="row[android_image]" type="text">
  55. <div class="input-group-addon no-border no-padding">
  56. <span><button type="button" id="faupload-android_image" class="btn btn-danger faupload" data-input-id="c-android_image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="false" data-preview-id="p-android_image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
  57. <span><button type="button" id="fachoose-android_image" class="btn btn-primary fachoose" data-input-id="c-android_image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
  58. </div>
  59. <span class="msg-box n-right" for="c-android_image"></span>
  60. </div>
  61. <ul class="row list-inline faupload-preview" id="p-android_image"></ul>
  62. </div>
  63. </div>
  64. <div class="form-group">
  65. <label class="control-label col-xs-12 col-sm-2">{:__('Gif_image')}:</label>
  66. <div class="col-xs-12 col-sm-8">
  67. <div class="input-group">
  68. <input id="c-gif_image" class="form-control" size="50" name="row[gif_image]" type="text">
  69. <div class="input-group-addon no-border no-padding">
  70. <span><button type="button" id="faupload-gif_image" class="btn btn-danger faupload" data-input-id="c-gif_image" data-mimetype="gif,svga" data-multiple="false" data-preview-id="p-gif_image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
  71. <span><button type="button" id="fachoose-gif_image" class="btn btn-primary fachoose" data-input-id="c-gif_image" data-mimetype="file/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
  72. </div>
  73. <span class="msg-box n-right" for="c-gif_image"></span>
  74. </div>
  75. <ul class="row list-inline faupload-preview" id="p-gif_image"></ul>
  76. <div style="padding:2px 33px;margin-top:10px;width:120px;color:#fff3f6;cursor:pointer;background-color: #00A000;border-radius: 2px;" onclick="play()">播放动画</div>
  77. </div>
  78. </div>
  79. <div class="form-group">
  80. <label class="control-label col-xs-12 col-sm-2">{:__('Limit_day')}:</label>
  81. <div class="col-xs-12 col-sm-8">
  82. <input id="c-limit_day" data-rule="required" class="form-control" name="row[limit_day]" type="number">
  83. </div>
  84. </div>
  85. <div class="form-group">
  86. <label class="control-label col-xs-12 col-sm-2">{:__('Duetime')}:</label>
  87. <div class="col-xs-12 col-sm-8">
  88. <input id="c-duetime" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[duetime]" type="text" value="{:date('Y-m-d H:i:s')}">
  89. </div>
  90. </div>
  91. <div class="form-group">
  92. <label class="control-label col-xs-12 col-sm-2">{:__('Is_use')}:</label>
  93. <div class="col-xs-12 col-sm-8">
  94. <select id="c-is_use" data-rule="required" class="form-control selectpicker" name="row[is_use]">
  95. {foreach name="isUseList" item="vo"}
  96. <option value="{$key}" {in name="key" value="0"}selected{/in}>{$vo}</option>
  97. {/foreach}
  98. </select>
  99. </div>
  100. </div>
  101. <div class="form-group">
  102. <label class="control-label col-xs-12 col-sm-2">{:__('Is_using')}:</label>
  103. <div class="col-xs-12 col-sm-8">
  104. <select id="c-is_using" data-rule="required" class="form-control selectpicker" name="row[is_using]">
  105. {foreach name="isUsingList" item="vo"}
  106. <option value="{$key}" {in name="key" value="0"}selected{/in}>{$vo}</option>
  107. {/foreach}
  108. </select>
  109. </div>
  110. </div>-->
  111. <div class="form-group layer-footer">
  112. <label class="control-label col-xs-12 col-sm-2"></label>
  113. <div class="col-xs-12 col-sm-8">
  114. <button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
  115. <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
  116. </div>
  117. </div>
  118. </form>
  119. <style>
  120. #demoCanvas{
  121. width: 100px;
  122. height: 80px;
  123. }
  124. </style>
  125. <script src="/assets/js/svga.min.js" ></script>
  126. <script>
  127. // 播放
  128. function play() {
  129. $("#p-gif_image li a.thumbnail").html("<div id='demoCanvas'></div>");
  130. var player = new SVGA.Player('#demoCanvas');
  131. player.loops=1;
  132. player.clearsAfterStop=false;
  133. var parser = new SVGA.Parser('#demoCanvas'); // 如果你需要支持 IE6+,那么必须把同样的选择器传给 Parser。
  134. var svgaUrl = $("#c-gif_image").val();
  135. if(svgaUrl.indexOf("http://") == -1 && svgaUrl.indexOf("https://") == -1) {
  136. svgaUrl = "{$Think.config.cos.url}"+svgaUrl;
  137. }
  138. parser.load(svgaUrl, function(videoItem) {
  139. player.setVideoItem(videoItem);
  140. player.startAnimation();
  141. })
  142. }
  143. </script>