Geen omschrijving

editTheme.html 9.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>专题编辑</title>
  6. <script src="../Script/Common/huayi.load.js"></script>
  7. <script src="../Script/Common/huayi.config.js"></script>
  8. <link rel="stylesheet" href="../js/zTree/zTreeStyle.css" />
  9. <link rel="stylesheet" href="../css/init.css" />
  10. <script src="../js/laydate/laydate.js"></script>
  11. <style>
  12. th {
  13. padding: 5px 8px 5px 0;
  14. text-align: right;
  15. }
  16. input {
  17. background-color: #FFF;
  18. background-image: none;
  19. border: 1px solid #ccc;
  20. border-radius: 1px;
  21. color: inherit;
  22. padding: 6px 12px;
  23. width: 200px;
  24. }
  25. td {
  26. padding: 6px 0 5px 10px;
  27. }
  28. .addts {
  29. background: #1ab394;
  30. color: #fff;
  31. padding: 6px 10px;
  32. outline: none;
  33. font-size: 12px;
  34. margin-left: 15px;
  35. border: 0;
  36. border-radius: 3px;
  37. box-sizing: border-box;
  38. }
  39. .time-box {
  40. display: inline-block;
  41. position: relative;
  42. }
  43. .tub {
  44. position: absolute;
  45. right: 8px;
  46. top: 10px;
  47. font-size: 18px;
  48. color: #00a0ca;
  49. }
  50. #layui-laydate3 .layui-laydate-header {
  51. height: 31px;
  52. padding: 5px;
  53. }
  54. .laydate-theme-molv .layui-laydate-header i,
  55. .laydate-theme-molv .layui-laydate-header span {
  56. top: 2px;
  57. }
  58. .layui-laydate-header {
  59. padding: 0;
  60. }
  61. .laydate-theme-molv .layui-laydate-content {
  62. height: 195px;
  63. overflow: hidden;
  64. }
  65. .laydate-month-list>li {
  66. margin: 10px 0;
  67. }
  68. .laydate-footer-btns span:hover {
  69. color: #00a1cb;
  70. }
  71. .select {
  72. width: 200px;
  73. background-color: #FFF;
  74. background-image: none;
  75. border: 1px solid #ccc;
  76. border-radius: 1px;
  77. height: 36px;
  78. }
  79. </style>
  80. </head>
  81. <body>
  82. <div style="padding: 10px;">
  83. <div style="padding: 10px;" class="clearFix">
  84. <div>
  85. <span>【基础信息】</span>
  86. <div class="box_content">
  87. <table id="sqzx" style="width: 100%;" border="0" cellspacing="0" cellpadding="0">
  88. <!--<tr class="theme">
  89. <th>类型:</th>
  90. <td>
  91. <select class="select" id="types">
  92. <option value="2">月主题</option>
  93. </select>
  94. </td>
  95. </tr>-->
  96. <tr class="theme">
  97. <th>周期:</th>
  98. <td style="position: relative;">
  99. <input type="text" readonly class="layui-input" id="cycle" style="position: absolute;top: 0px;left: 10px;z-index: 2;">
  100. <input type="text" class="layui-input" id="week-picker" placeholder="yyyy-MM-dd" style="position: absolute;left: 10px;top: 0px;">
  101. </td>
  102. </tr>
  103. <tr class="theme">
  104. <th>统计时段:</th>
  105. <td>
  106. <input type="text" id="time" style="margin-top: 5px;" autocomplete="off" />
  107. </td>
  108. </tr>
  109. <tr>
  110. <th>名称:</th>
  111. <td>
  112. <input type="text" id="name" style="margin-top: 5px;" />
  113. </td>
  114. </tr>
  115. <tr>
  116. <th>排序:</th>
  117. <td>
  118. <input type="text" id="sort" style="margin-top: 5px;" autocomplete="off" />
  119. </td>
  120. </tr>
  121. <tr class="theme">
  122. <th>大屏展示:</th>
  123. <td>
  124. <input type="checkbox" id="isdisplay">
  125. </td>
  126. </tr>
  127. </table>
  128. </div>
  129. </div>
  130. <div class="bton" style="text-align: center;">
  131. <input class="addts" type="button" value="保存" />
  132. </div>
  133. </div>
  134. </div>
  135. <script>
  136. var id = helper.request.queryString("id");
  137. var type = helper.request.queryString("type");
  138. var themeid = helper.request.queryString("themeid");
  139. var info = null;
  140. var themeType = helper.request.queryString("themeType");
  141. function getWeekStr(str) {
  142. // 将字符串转为标准时间格式
  143. str2 = Date.parse(str);
  144. let date = new Date(str2);
  145. let month = date.getMonth() + 1;
  146. let week = getWeekFromDate(date);
  147. if(week === 0) { //第0周归于上月的最后一周
  148. month = date.getMonth();
  149. let dateLast = new Date();
  150. let dayLast = new Date(dateLast.getFullYear(), dateLast.getMonth(), 0).getDate();
  151. let timestamp = new Date(new Date().getFullYear(), new Date().getMonth() - 1, dayLast);
  152. week = getWeekFromDate(new Date(timestamp));
  153. }
  154. let time = date.getFullYear() + '年' + (month < 10 ? ('0' + month) : month) + "月第" + week + "周";
  155. return time;
  156. }
  157. function getWeekFromDate(date) {
  158. // 将字符串转为标准时间格式
  159. let w = date.getDay(); //周几
  160. if(w === 0) {
  161. w = 7;
  162. }
  163. let week = Math.ceil((date.getDate() + 6 - w) / 7) - 1;
  164. return week;
  165. }
  166. $(document).ready(function() {
  167. laydate.render({
  168. elem: '#time',
  169. type: 'datetime',
  170. range: true
  171. });
  172. if(type == 1) {
  173. $('.theme').show()
  174. } else {
  175. $('.theme').hide()
  176. }
  177. document.getElementById('cycle').addEventListener('focus', function() {
  178. $('#week-picker').val('');
  179. console.log(themeType, 'themeType')
  180. if(themeType == 1) {
  181. console.log(1, 'themeType')
  182. // 初始化日期选择器
  183. laydate.render({
  184. elem: '#week-picker', // 指定元素
  185. type: 'date', // 设置选择器类型为周
  186. format: 'yyyy-MM-dd', // 自定义格式
  187. show: true,
  188. ready: function(date) {
  189. // 当选择器打开时,可以执行一些操作
  190. console.log('Selected week: ' + date);
  191. },
  192. done: function(value, date, endDate) {
  193. // 当选择器的日期发生变化时,可以执行一些操作
  194. console.log('Changed week: ', value);
  195. $('#cycle').val(getWeekStr(value));
  196. },
  197. closeStop: '#cycle'
  198. });
  199. } else {
  200. // 初始化日期选择器
  201. laydate.render({
  202. elem: '#week-picker', // 指定元素
  203. type: 'month', // 设置选择器类型为周
  204. format: 'yyyy年MM月', // 自定义格式
  205. show: true,
  206. ready: function(date) {
  207. // 当选择器打开时,可以执行一些操作
  208. console.log('Selected week: ' + date);
  209. },
  210. done: function(value, date, endDate) {
  211. // 当选择器的日期发生变化时,可以执行一些操作
  212. console.log('Changed week: ', value);
  213. $('#cycle').val(value);
  214. },
  215. closeStop: '#cycle'
  216. });
  217. }
  218. })
  219. if(id) {
  220. $.getJSON(huayi.config.callcenter_url + 'Theme/GetModel', {
  221. id: id,
  222. "token": $.cookie("token")
  223. }, function(result) {
  224. if(result.state.toLowerCase() == "success") {
  225. var content = result.data;
  226. info = content;
  227. $("#name").val(content.F_Name);
  228. // $("#types").val(content.F_TypesOf);
  229. $("#cycle").val(content.F_Cycle);
  230. $("#time").val(content.F_StatisticsBeginTime + ' - ' + content.F_StatisticsEndTime );
  231. $('#sort').val(content.F_Sort)
  232. if (content.F_IsDisplay) {
  233. $("#isdisplay").prop("checked",true)
  234. } else {
  235. $("#isdisplay").prop("checked",false)
  236. }
  237. }
  238. })
  239. }
  240. $(".addts").click(function() {
  241. var name = $("#name").val();
  242. var types = themeType; //$("#types").val();
  243. var cycle = $("#cycle").val();
  244. var isdisplay = 0;
  245. if ($('#isdisplay')[0].checked) {
  246. isdisplay = 1;
  247. }
  248. console.log('isdisplay', isdisplay)
  249. // return;
  250. if(!name) {
  251. layer.confirm('请输入名称!', {
  252. btn: ['确定']
  253. });
  254. return;
  255. }
  256. if(type == 1 && (types == 1 && cycle.indexOf('周') < 0) || (types == 2 && cycle.indexOf('周') >= 0)) {
  257. layer.confirm('类型与周期不匹配请重新选择!', {
  258. btn: ['确定']
  259. });
  260. return;
  261. }
  262. var startTime = '';
  263. var endTime = '';
  264. if(type == 1) {
  265. var timeArr = $('#time').val().split(' - ');
  266. if(!timeArr || timeArr.length != 2) {
  267. layer.confirm('请选择统计时段!', {
  268. btn: ['确定']
  269. });
  270. return;
  271. }
  272. startTime = timeArr[0];
  273. endTime = timeArr[1];
  274. }
  275. console.log($('#time').val(), 'time')
  276. console.log($('#sort').val(), 'sort')
  277. var parentid = themeid;
  278. if(type == 2 && !parentid) {
  279. parentid = info.F_ParentId;
  280. }
  281. $.post(huayi.config.callcenter_url + 'Theme/AddModel', {
  282. id,
  283. type,
  284. cycle,
  285. types,
  286. isdisplay,
  287. parentid,
  288. statisticsBeginTime: startTime,
  289. statisticsEndTime: endTime,
  290. name: name,
  291. sort:$('#sort').val(),
  292. "token": $.cookie("token")
  293. }, function(result) {
  294. result = $.parseJSON(result);
  295. if(result.state.toLowerCase() == "success") {
  296. layer.msg("操作成功");
  297. var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  298. parent.layer.close(index); //再执行关闭
  299. // parent.initTable()();
  300. }
  301. })
  302. })
  303. });
  304. </script>
  305. </body>
  306. </html>