chuangsai.js 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. $(function () {
  2. $("#jqGrid").jqGrid({
  3. url: baseURL + 'qyh/news/page',
  4. datatype: "json",
  5. colModel: [
  6. { label: 'id', name: 'id', index: 'id', width: 50, key: true, hidden: true },
  7. { label: '标题', name: 'title', index: 'title', width: 50 },
  8. { label: '浏览量', name: 'hits', index: 'hits', width: 80 },
  9. { label: '排序', name: 'sortNo', index: 'sortNo', width: 80 },
  10. { label: '发布时间', name: 'publishTime', index: 'publishTime', width: 140 },
  11. {
  12. label: '状态',
  13. name: 'status',
  14. index: 'status',
  15. width: 80,
  16. formatter: function (cellvalue, options, rowObject) {
  17. if (rowObject.status == 1) {
  18. return "<span onclick=\"Publish('" + rowObject.id + "',1)\">显示</span>"
  19. } else if (rowObject.status == 0) {
  20. return "<span onclick=\"Publish('" + rowObject.id + "',0)\">隐藏</span>"
  21. } else {
  22. return ''
  23. }
  24. }
  25. },
  26. ],
  27. viewrecords: true,
  28. height: 385,
  29. rowNum: 10,
  30. rowList: [10, 30, 50],
  31. rownumbers: true,
  32. rownumWidth: 25,
  33. autowidth: true,
  34. multiselect: true,
  35. pager: "#jqGridPager",
  36. jsonReader: {
  37. root: "page.list",
  38. page: "page.currPage",
  39. total: "page.totalPage",
  40. records: "page.totalCount"
  41. },
  42. prmNames: {
  43. page: "page",
  44. rows: "limit",
  45. order: "order"
  46. },
  47. gridComplete: function () {
  48. //隐藏grid底部滚动条
  49. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({ "overflow-x": "hidden" });
  50. }
  51. });
  52. initdate();
  53. upload(1, 'images', 'images/*');
  54. });
  55. function Publish(id, state) {
  56. var text = state == 1 ? '是否隐藏?' : '是否显示?'
  57. layer.open({
  58. content: text
  59. , title: '提示'
  60. , btn: ['确认', '取消']
  61. , btnAlign: 'c'
  62. , yes: function (index, layero) {
  63. let obj = { id: id, state: state == 1 ? 0 : 1 }
  64. $.ajax({
  65. type: "PUT",
  66. url: baseURL + 'qyh/news/updateStatus',
  67. data: JSON.stringify(obj),
  68. contentType: "application/json",
  69. success: function (r) {
  70. if (r.code === 0) {
  71. layer.msg("操作成功", { icon: 1 });
  72. layer.close(index)
  73. vm.reload();
  74. } else {
  75. layer.alert(r.msg);
  76. }
  77. }
  78. });
  79. }
  80. , btn2: function (index, layero) {
  81. //按钮【按钮二】的回调
  82. layer.close(index)
  83. vm.reload();
  84. //return false 开启该代码可禁止点击该按钮关闭
  85. }
  86. , btn3: function (index, layero) {
  87. //按钮【按钮三】的回调
  88. //return false 开启该代码可禁止点击该按钮关闭
  89. }
  90. , cancel: function (index) {
  91. //右上角关闭回调
  92. layer.close(index)
  93. vm.reload();
  94. //return false 开启该代码可禁止点击该按钮关闭
  95. }
  96. });
  97. }
  98. /*日期框初始化*/
  99. function initdate() {
  100. layui.use('laydate', function () {
  101. var laydate = layui.laydate;
  102. laydate.render({
  103. elem: '#publishTime'
  104. , theme: '#34B9B4'
  105. , trigger: 'click'
  106. , type: 'datetime'
  107. , format: 'yyyy-MM-dd HH:mm'
  108. , done: function (value, date, endDate) {
  109. vm.formData.publishTime = value;
  110. }
  111. });
  112. /*搜索框*/
  113. laydate.render({
  114. elem: '#publishStartTime'
  115. , theme: '#34B9B4'
  116. , trigger: 'click'
  117. , type: 'datetime'
  118. , format: 'yyyy-MM-dd HH:mm'
  119. , done: function (value, date, endDate) {
  120. vm.queryParam.publishStartTime = value;
  121. }
  122. });
  123. laydate.render({
  124. elem: '#publishEndTime'
  125. , theme: '#34B9B4'
  126. , trigger: 'click'
  127. , type: 'datetime'
  128. , format: 'yyyy-MM-dd HH:mm'
  129. , done: function (value, date, endDate) {
  130. vm.queryParam.publishEndTime = value;
  131. }
  132. });
  133. })
  134. }
  135. var ue = UE.getEditor('actContent', { initialFrameWidth: null, autoHeightEnabled: false });
  136. layui.use(['layer', 'form'], function () {
  137. var $ = layui.jquery, layer = layui.layer, form = layui.form;
  138. form.on('submit(go)', function (data) {
  139. $('#btnSaveOrUpdate').button('loading').delay(1000).queue(function () {
  140. var url = vm.formData.id == null ? "qyh/news/save" : "qyh/news/update";
  141. // console.log(vm.formData);
  142. // if (vm.formData)
  143. if ($('#imgUrl1').val() != '') {
  144. vm.formData.fileUrl = $('#imgUrl1').val();
  145. $('#imgUrl1').val('');
  146. }
  147. vm.formData.content = ue.getContent();
  148. if (vm.formData.fileUrl == null) {
  149. layer.alert("请上传封面");
  150. return false;
  151. }
  152. if (vm.formData.content == null) {
  153. layer.alert("请输入内容");
  154. return false;
  155. }
  156. $.ajax({
  157. type: vm.formData.id != null ? 'PUT' : "POST",
  158. url: baseURL + url,
  159. contentType: "application/json",
  160. data: JSON.stringify(vm.formData),
  161. success: function (r) {
  162. if (r.code === 0) {
  163. layer.msg("操作成功", { icon: 1 });
  164. vm.reload();
  165. $('#btnSaveOrUpdate').button('reset');
  166. $('#btnSaveOrUpdate').dequeue();
  167. } else {
  168. layer.alert(r.msg);
  169. $('#btnSaveOrUpdate').button('reset');
  170. $('#btnSaveOrUpdate').dequeue();
  171. }
  172. }
  173. });
  174. });
  175. return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
  176. });
  177. })
  178. var vm = new Vue({
  179. el: '#rrapp',
  180. data: {
  181. showList: true,
  182. title: null,
  183. queryParam: {
  184. publishStartTime: '',
  185. publishEndTime: ''
  186. },
  187. formData: {},
  188. },
  189. methods: {
  190. query: function () {
  191. vm.reload();
  192. },
  193. add: function () {
  194. vm.showList = false;
  195. vm.title = "新增";
  196. vm.formData = {};
  197. ue.ready(function () {
  198. ue.setContent('');
  199. });
  200. if ($('#imgUrl1').val() != '') {
  201. vm.formData.fileUrl = $('#imgUrl1').val();
  202. $('#imgUrl1').val('');
  203. }
  204. $('#demo1').attr('src', '');
  205. $('#demo1').hidden();
  206. },
  207. update: function (event) {
  208. var id = getSelectedRow();
  209. if (id == null) {
  210. return;
  211. }
  212. console.log(id);
  213. vm.showList = false;
  214. vm.title = "修改";
  215. vm.getInfo(id)
  216. },
  217. saveOrUpdate: function (event) {
  218. },
  219. del: function (event) {
  220. var ids = getSelectedRows();
  221. if (ids == null) {
  222. return;
  223. }
  224. var lock = false;
  225. layer.confirm('确定要删除选中的数据?', {
  226. btn: ['确定', '取消'] //按钮
  227. }, function () {
  228. if (!lock) {
  229. lock = true;
  230. $.ajax({
  231. type: "delete",
  232. url: baseURL + "qyh/news/delete",
  233. contentType: "application/json",
  234. data: JSON.stringify(ids),
  235. success: function (r) {
  236. if (r.code == 0) {
  237. layer.msg("操作成功", { icon: 1 });
  238. $("#jqGrid").trigger("reloadGrid");
  239. } else {
  240. layer.alert(r.msg);
  241. }
  242. }
  243. });
  244. }
  245. }, function () {
  246. });
  247. },
  248. getInfo: function (id) {
  249. $.get(baseURL + "qyh/news/info/" + id, function (r) {
  250. // console.log(r);
  251. vm.formData = r.data || r.news || {};
  252. /*富文本*/
  253. ue.ready(function () {
  254. if (vm.formData.content) {
  255. ue.setContent(vm.formData.content);
  256. }
  257. });
  258. if (vm.formData.fileUrl) {
  259. $('#demo1').attr('src', vm.formData.fileUrl);
  260. $('#demo1').show();
  261. }
  262. });
  263. },
  264. reload: function (event) {
  265. vm.showList = true;
  266. var page = $("#jqGrid").jqGrid('getGridParam', 'page');
  267. $("#jqGrid").jqGrid('setGridParam', {
  268. page: page
  269. }).trigger("reloadGrid");
  270. },
  271. init: function () {
  272. vm.queryParam.title = '';
  273. vm.queryParam.status = '';
  274. },
  275. reset: function () {
  276. vm.init();
  277. vm.reload(1);
  278. },
  279. }
  280. });