carousel.js 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. $(function () {
  2. var types = {
  3. 0:'服饰',
  4. 1:'家具',
  5. 2:'数码',
  6. 3:'娱乐',
  7. 4:'其他',
  8. }
  9. $("#jqGrid").Grid({
  10. url: '../slideShow/getAndQuery',
  11. rownumWidth:60,
  12. colModel: [{
  13. label: 'id', name: 'id', index: 'slideId', key: true, hidden: true
  14. },
  15. {
  16. label: 'slideId', name: 'slideId', index: 'slideId', hidden: true
  17. },
  18. {
  19. label: '标题', name: 'title', index: 'title', width: 80
  20. },
  21. {
  22. label: '封面图片',align:'center', name: 'coverImage', index: 'cover_image', width: 120, formatter: function (value) {
  23. return transImg(value,100,'auto');
  24. }
  25. },
  26. {
  27. label: '跳转链接', name: 'redirectUrl', index: 'redirect_url', width: 140,formatter: function (value) {
  28. if (value) {
  29. return '<span title="'+value+'">'+(value.length > 40 ?(value.substr(0,40) + '...'):value)+'</span>'
  30. }
  31. return ''
  32. }
  33. },
  34. {
  35. label: '排序',align:'center', name: 'sortOrder', index: 'sort_order', width: 80
  36. },
  37. {
  38. label: '更新人员', name: 'updater', index: 'updater', width: 80,formatter: function (value) {
  39. return types[value] || '-'
  40. }
  41. },
  42. {
  43. label: '更新时间', name: 'updateTime', index: 'update_time', width: 80, formatter: function (value) {
  44. return transDate(value, 'yyyy-MM-dd');
  45. }
  46. },
  47. {
  48. label: '显示',align:'center', name: 'isShow', index: 'is_show', width: 80, formatter: function (value) {
  49. return transIsNot(value)
  50. }
  51. },
  52. ]
  53. });
  54. });
  55. const validateSceneUrlCheck = function (rule, value, callback){
  56. var link1 ='https://test.4dkankan.com/eShopMobile.html?m='
  57. var link2 ='https://www.4dkankan.com/eShopMobile.html?m='
  58. if (value === ''||!value) {
  59. callback(new Error('场景地址不能为空'));
  60. } else if(!~value.indexOf(link1)&&!~value.indexOf(link2)){
  61. callback(new Error('场景地址需为'+link2+'或'+link1));
  62. } else {
  63. callback();
  64. }
  65. };
  66. var vm = new Vue({
  67. el: '#rrapp',
  68. data: {
  69. loading:false,
  70. showList: true,
  71. title: null,
  72. carousel: {title: '',coverImage:'',redirectUrl:'',order:'',updater:'', isShow: 1,remark:''},
  73. ruleValidate: {
  74. title: [
  75. {required: true, message: '标题不能为空', trigger: 'blur'}
  76. ],
  77. coverImage: [
  78. {required: true, message: '轮播图片不能为空', trigger: 'blur'}
  79. ]
  80. },
  81. q: {
  82. name: ''
  83. }
  84. },
  85. methods: {
  86. handleRemove (file) {
  87. },
  88. query: function () {
  89. vm.reload();
  90. },
  91. add: function () {
  92. vm.showList = false;
  93. vm.title = "新增";
  94. vm.carousel = {title: '',coverImage:'',redirectUrl:'',order:'',updater:'',remark:'', isShow: 1}
  95. },
  96. update: function (event) {
  97. var data = getSelectedRowData("#jqGrid");
  98. if (data.id == null) {
  99. return;
  100. }
  101. vm.showList = false;
  102. vm.title = "修改";
  103. vm.getInfo(data.slideId)
  104. },
  105. saveOrUpdate: function (event) {
  106. var url = vm.carousel.slideId == null ? "../slideShow/add" : "../slideShow/update";
  107. Ajax.request({
  108. type: "POST",
  109. url: url,
  110. contentType: "application/json",
  111. params: JSON.stringify(vm.carousel),
  112. successCallback: function () {
  113. alert('操作成功', function (index) {
  114. vm.reload();
  115. });
  116. }
  117. });
  118. },
  119. del: function (event) {
  120. var ids = getSelectedRows("#jqGrid");
  121. if (ids == null) {
  122. return;
  123. }
  124. confirm('确定要删除选中的记录?', function () {
  125. Ajax.request({
  126. type: "POST",
  127. url: "../brand/delete",
  128. contentType: "application/json",
  129. params: JSON.stringify(ids),
  130. successCallback: function () {
  131. alert('操作成功', function (index) {
  132. vm.reload();
  133. });
  134. }
  135. });
  136. });
  137. },
  138. getInfo: function (id) {
  139. vm.defaultList = []
  140. Ajax.request({
  141. url: "../slideShow/getById?slideId=" + id,
  142. async: true,
  143. successCallback: function (r) {
  144. vm.carousel = r.page;
  145. }
  146. });
  147. },
  148. reload: function (event) {
  149. vm.showList = true;
  150. var page = $("#jqGrid").jqGrid('getGridParam', 'page');
  151. $("#jqGrid").jqGrid('setGridParam', {
  152. postData: {'name': vm.q.name},
  153. page: page
  154. }).trigger("reloadGrid");
  155. vm.handleReset('formValidate');
  156. },
  157. handleSuccessListPicUrl: function (res, file) {
  158. vm.brand.listPicUrl = file.response.url;
  159. vm.brand.appListPicUrl = file.response.url;
  160. },
  161. handleSuccessPicUrl: function (res, file) {
  162. vm.brand.picUrl = file.response.url;
  163. },
  164. handleSuccessAppListPicUrl: function (res, file) {
  165. vm.brand.appListPicUrl = file.response.url;
  166. },
  167. handleSuccessCarouselImage: function (res, file) {
  168. this.loading = false
  169. this.carousel.coverImage = file.response.url;
  170. },
  171. handleBefore(){
  172. this.loading = true
  173. },
  174. handleSuccessNewPicUrl: function (res, file) {
  175. vm.brand.newPicUrl = file.response.url;
  176. },
  177. handleFormatError: function (file) {
  178. this.loading = false
  179. this.$Notice.warning({
  180. title: '文件格式不正确',
  181. desc: '文件 ' + file.name + ' 格式不正确。'
  182. });
  183. },
  184. handleMaxSize: function (file) {
  185. this.loading = false
  186. this.$Notice.warning({
  187. title: '超出文件大小限制',
  188. desc: '文件 ' + file.name + ' 太大。'
  189. });
  190. },
  191. eyeImageListPicUrl: function () {
  192. var url = vm.brand.listPicUrl;
  193. eyeImage(url);
  194. },
  195. eyeImagePicUrl: function () {
  196. var url = vm.brand.picUrl;
  197. eyeImage(url);
  198. },
  199. eyeImageAppListPicUrl: function () {
  200. var url = vm.brand.appListPicUrl;
  201. eyeImage(url);
  202. },
  203. eyeImageNewPicUrl: function () {
  204. var url = vm.brand.newPicUrl;
  205. eyeImage(url);
  206. },
  207. handleSubmit: function (name) {
  208. console.log('====================================');
  209. console.log(name);
  210. console.log('====================================');
  211. handleSubmitValidate(this, name, function () {
  212. vm.saveOrUpdate()
  213. });
  214. },
  215. handleReset: function (name) {
  216. handleResetForm(this, name);
  217. }
  218. },
  219. mounted () {
  220. }
  221. });