addActivitiesView.js 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. (function (vc) {
  2. vc.extends({
  3. data: {
  4. addActivitiesViewInfo: {
  5. activitiesId: '',
  6. title: '',
  7. typeCd: '',
  8. headerImg: '',
  9. context: '',
  10. startTime: '',
  11. endTime: '',
  12. }
  13. },
  14. _initMethod: function () {
  15. vc.component._initActivitiesInfo();
  16. },
  17. _initEvent: function () {
  18. vc.on('addActivitiesView', 'openAddActivitiesView', function () {
  19. //vc.component._initActivitiesInfo();
  20. });
  21. vc.on("addActivitiesView", "notifyUploadImage", function (_param) {
  22. if(!vc.isEmpty(_param) && _param.length >0){
  23. vc.component.addActivitiesViewInfo.headerImg = _param[0];
  24. }else{
  25. vc.component.addActivitiesViewInfo.headerImg = '';
  26. }
  27. });
  28. },
  29. methods: {
  30. addActivitiesValidate() {
  31. return vc.validate.validate({
  32. addActivitiesViewInfo: vc.component.addActivitiesViewInfo
  33. }, {
  34. 'addActivitiesViewInfo.title': [
  35. {
  36. limit: "required",
  37. param: "",
  38. errInfo: "活动标题不能为空"
  39. },
  40. {
  41. limit: "maxin",
  42. param: "1,200",
  43. errInfo: "活动标题不能超过200位"
  44. },
  45. ],
  46. 'addActivitiesViewInfo.typeCd': [
  47. {
  48. limit: "required",
  49. param: "",
  50. errInfo: "活动类型不能为空"
  51. },
  52. {
  53. limit: "num",
  54. param: "",
  55. errInfo: "活动类型格式错误"
  56. },
  57. ],
  58. 'addActivitiesViewInfo.headerImg': [
  59. {
  60. limit: "required",
  61. param: "",
  62. errInfo: "头部照片不能为空"
  63. }
  64. ],
  65. 'addActivitiesViewInfo.context': [
  66. {
  67. limit: "required",
  68. param: "",
  69. errInfo: "活动内容不能为空"
  70. }
  71. ],
  72. 'addActivitiesViewInfo.startTime': [
  73. {
  74. limit: "required",
  75. param: "",
  76. errInfo: "开始时间不能为空"
  77. },
  78. {
  79. limit: "dateTime",
  80. param: "",
  81. errInfo: "开始时间格式错误"
  82. },
  83. ],
  84. 'addActivitiesViewInfo.endTime': [
  85. {
  86. limit: "required",
  87. param: "",
  88. errInfo: "结束时间不能为空"
  89. },
  90. {
  91. limit: "dateTime",
  92. param: "",
  93. errInfo: "结束时间格式错误"
  94. },
  95. ],
  96. });
  97. },
  98. saveActivitiesInfo: function () {
  99. if (!vc.component.addActivitiesValidate()) {
  100. vc.toast(vc.validate.errInfo);
  101. return;
  102. }
  103. vc.component.addActivitiesViewInfo.communityId = vc.getCurrentCommunity().communityId;
  104. vc.http.post(
  105. 'addActivitiesView',
  106. 'save',
  107. JSON.stringify(vc.component.addActivitiesViewInfo),
  108. {
  109. emulateJSON: true
  110. },
  111. function (json, res) {
  112. //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
  113. if (res.status == 200) {
  114. //关闭model
  115. vc.component.clearaddActivitiesViewInfo();
  116. vc.emit('activitiesManage', 'listActivities', {});
  117. return;
  118. }
  119. vc.message(json);
  120. },
  121. function (errInfo, error) {
  122. console.log('请求失败处理');
  123. vc.message(errInfo);
  124. });
  125. },
  126. clearaddActivitiesViewInfo: function () {
  127. vc.component.addActivitiesViewInfo = {
  128. activitiesId: '',
  129. title: '',
  130. typeCd: '',
  131. headerImg: '',
  132. context: '',
  133. startTime: '',
  134. endTime: ''
  135. };
  136. },
  137. _initActivitiesInfo: function () {
  138. vc.component.addActivitiesViewInfo.startTime = vc.dateFormat(new Date().getTime());
  139. $('.activitiesStartTime').datetimepicker({
  140. language: 'zh-CN',
  141. format: 'yyyy-mm-dd hh:ii:ss',
  142. initTime: true,
  143. initialDate: new Date(),
  144. autoClose: 1,
  145. todayBtn: true
  146. });
  147. $('.activitiesStartTime').datetimepicker()
  148. .on('changeDate', function (ev) {
  149. var value = $(".activitiesStartTime").val();
  150. vc.component.addActivitiesViewInfo.startTime = value;
  151. });
  152. $('.activitiesEndTime').datetimepicker({
  153. language: 'zh-CN',
  154. format: 'yyyy-mm-dd hh:ii:ss',
  155. initTime: true,
  156. initialDate: new Date(),
  157. autoClose: 1,
  158. todayBtn: true
  159. });
  160. $('.activitiesEndTime').datetimepicker()
  161. .on('changeDate', function (ev) {
  162. var value = $(".activitiesEndTime").val();
  163. vc.component.addActivitiesViewInfo.endTime = value;
  164. });
  165. var $summernote = $('.summernote').summernote({
  166. lang: 'zh-CN',
  167. height: 300,
  168. placeholder: '必填,请输入公告内容',
  169. callbacks: {
  170. onImageUpload: function (files, editor, $editable) {
  171. vc.component.sendFile($summernote, files);
  172. },
  173. onChange: function (contents, $editable) {
  174. vc.component.addActivitiesViewInfo.context = contents;
  175. }
  176. },
  177. toolbar: [
  178. ['style', ['style']],
  179. ['font', ['bold', 'italic', 'underline', 'clear']],
  180. ['fontname', ['fontname']],
  181. ['color', ['color']],
  182. ['para', ['ul', 'ol', 'paragraph']],
  183. ['height', ['height']],
  184. ['table', ['table']],
  185. ['insert', ['link', 'picture']],
  186. ['view', ['fullscreen', 'codeview']],
  187. ['help', ['help']]
  188. ],
  189. });
  190. },
  191. closeActivitiesInfo: function () {
  192. vc.emit('activitiesManage', 'listActivities', {});
  193. },
  194. sendFile: function ($summernote, files) {
  195. console.log('上传图片', files);
  196. var param = new FormData();
  197. param.append("uploadFile", files[0]);
  198. param.append('communityId', vc.getCurrentCommunity().communityId);
  199. vc.http.upload(
  200. 'addActivitiesView',
  201. 'uploadImage',
  202. param,
  203. {
  204. emulateJSON: true,
  205. //添加请求头
  206. headers: {
  207. "Content-Type": "multipart/form-data"
  208. }
  209. },
  210. function (json, res) {
  211. //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
  212. if (res.status == 200) {
  213. var data = JSON.parse(json);
  214. //关闭model
  215. $summernote.summernote('insertImage', "/callComponent/download/getFile/file?fileId=" + data.fileId + "&communityId=" + vc.getCurrentCommunity().communityId);
  216. return;
  217. }
  218. vc.message(json);
  219. },
  220. function (errInfo, error) {
  221. console.log('请求失败处理');
  222. vc.message(errInfo);
  223. });
  224. }
  225. }
  226. });
  227. })(window.vc);