Edit.cshtml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  1. @using MySystem.Models;
  2. @{MsgPlacard editData = ViewBag.data as MsgPlacard;}
  3. @{
  4. string RightInfo = ViewBag.RightInfo as string;
  5. string right = ViewBag.right as string;
  6. }
  7. <!DOCTYPE html>
  8. <html>
  9. <head>
  10. <meta charset="utf-8">
  11. <title>公告消息(修改)</title>
  12. <meta name="renderer" content="webkit">
  13. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  14. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  15. <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
  16. <script src="/admin/js/jquery-1.10.1.min.js"></script>
  17. <script src="/admin/js/LAreaData2.js"></script>
  18. <style>
  19. .layui-form-label{
  20. width: 115px !important;
  21. }
  22. .layui-form-item .layui-input-inline{
  23. width: 250px !important;
  24. }
  25. .layui-form-item .layui-input-block{
  26. margin-left: 145px !important;
  27. }
  28. </style>
  29. </head>
  30. <body>
  31. <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
  32. <input type="hidden" name="Id" value="@editData.Id" />
  33. <div class="layui-card">
  34. <div class="layui-card-body">
  35. <div class="layui-tab" lay-filter="mytabbar">
  36. <div class="layui-tab-content mt20">
  37. <div class="layui-tab-item layui-show">
  38. <div class="layui-form-item">
  39. <label class="layui-form-label">展示类型</label>
  40. <div class="layui-input-inline">
  41. <select id="ShowType" name="ShowType" lay-search="">
  42. <option value="">请选择</option>
  43. <option value="0">系统消息</option>
  44. <option value="1">首页弹层提示</option>
  45. </select>
  46. <script>
  47. $("#ShowType").val("@editData.ShowType");
  48. </script>
  49. </div>
  50. </div>
  51. <div class="layui-form-item">
  52. <label class="layui-form-label">消息类型</label>
  53. <div class="layui-input-inline">
  54. <select id="MsgType" name="MsgType" lay-search="" lay-filter="MsgType">
  55. <option value="0">html页面</option>
  56. <option value="1">指定url</option>
  57. <option value="2">简单中文描述</option>
  58. </select>
  59. <script>
  60. $("#MsgType").val("@editData.MsgType");
  61. </script>
  62. </div>
  63. </div>
  64. <div class="layui-form-item">
  65. <label class="layui-form-label">标题</label>
  66. <div class="layui-input-inline">
  67. <input class="layui-input" type="text" id="Title" name="Title" value="@editData.Title"
  68. maxlength="50" lay-verify="required," autocomplete="off" placeholder="请输入标题">
  69. </div>
  70. </div>
  71. <div class="layui-form-item layui-form-text">
  72. <label class="layui-form-label">简介</label>
  73. <div class="layui-input-block">
  74. <textarea class="layui-textarea" id="Summary" name="Summary" maxlength="500"
  75. lay-verify="" placeholder="请输入简介">@editData.Summary</textarea>
  76. </div>
  77. </div>
  78. <div class="layui-form-item">
  79. <label class="layui-form-label">有效开始时间</label>
  80. <div class="layui-input-inline">
  81. <input class="layui-input" type="text" id="EffectStartDate" name="EffectStartDate"
  82. value="@(editData.EffectStartDate == null ? "" : editData.EffectStartDate.Value.ToString("yyyy-MM-dd HH:mm:ss"))" lay-verify="" autocomplete="off" placeholder="请输入有效开始时间">
  83. </div>
  84. </div>
  85. <div class="layui-form-item">
  86. <label class="layui-form-label">有效结束时间</label>
  87. <div class="layui-input-inline">
  88. <input class="layui-input" type="text" id="EffectEndDate" name="EffectEndDate"
  89. value="@(editData.EffectEndDate == null ? "" : editData.EffectEndDate.Value.ToString("yyyy-MM-dd HH:mm:ss"))" lay-verify="" autocomplete="off" placeholder="请输入有效结束时间">
  90. </div>
  91. </div>
  92. <div class="layui-form-item">
  93. <label class="layui-form-label">背景图片</label>
  94. <div class="layui-input-block">
  95. <div class="layui-upload">
  96. <input type="hidden" id="BgPic" name="BgPic" value="@editData.BgPic">
  97. <button class="layui-btn" type="button" id="BgPicBtn">选择图片</button>
  98. <div class="layui-inline layui-word-aux">@(new MySystem.PublicFunction().GetUploadHint("MsgPlacardBgPic"))</div>
  99. </div>
  100. <div style="margin-top:10px;" id="BgPicImage">
  101. @if (!string.IsNullOrEmpty(editData.BgPic))
  102. {
  103. <img src="@(MySystem.OssHelper.Instance.SourceHost)@editData.BgPic"
  104. class="layui-upload-img" style="max-width:85px; max-height:85px;"
  105. onclick="showBigPic('@(MySystem.OssHelper.Instance.SourceHost)@editData.BgPic')">
  106. }
  107. </div>
  108. </div>
  109. </div>
  110. <div class="layui-form-item">
  111. <label class="layui-form-label">推送类型</label>
  112. <div class="layui-input-inline">
  113. <select id="PushType" name="PushType" lay-search="" lay-filter="PushType">
  114. <option value="">请选择</option>
  115. <option value="0">不推送</option>
  116. <option value="1">立即推送</option>
  117. <option value="2">定时推送</option>
  118. </select>
  119. <script>
  120. $("#PushType").val("@editData.PushType");
  121. </script>
  122. </div>
  123. </div>
  124. <div class="layui-form-item" id="PushParamDiv" style="display: none;">
  125. <label class="layui-form-label">推送参数</label>
  126. <div class="layui-input-inline">
  127. <input class="layui-input" type="text" id="PushParam" name="PushParam"
  128. value="@editData.PushParam" maxlength="255" lay-verify="" autocomplete="off"
  129. placeholder="请输入推送参数">
  130. </div>
  131. </div>
  132. <div class="layui-form-item" id="PushTimeDiv" style="display: none;">
  133. <label class="layui-form-label">推送时间</label>
  134. <div class="layui-input-inline">
  135. <input class="layui-input" type="text" id="PushTime" name="PushTime"
  136. value="@(editData.PushTime == null ? "" : editData.PushTime.Value.ToString("yyyy-MM-dd HH:mm:ss"))" lay-verify="" autocomplete="off" placeholder="请输入推送时间">
  137. </div>
  138. </div>
  139. <div class="layui-form-item" id="UrlDiv" style="display: none;">
  140. <label class="layui-form-label">跳转Url</label>
  141. <div class="layui-input-block">
  142. <input class="layui-input" type="text" id="Url" name="Url" value="@editData.Url"
  143. maxlength="500" lay-verify="" autocomplete="off" placeholder="请输入跳转Url">
  144. </div>
  145. </div>
  146. <div class="layui-form-item layui-form-text" id="ContentDiv">
  147. <label class="layui-form-label">内容</label>
  148. <div class="layui-input-block">
  149. <textarea class="layui-textarea" id="Content" name="Content" placeholder="请输入内容"
  150. style="width:100%;height:500px;">@(MySystem.OssHelper.Instance.CheckOSSPic(editData.Content))</textarea>
  151. </div>
  152. </div>
  153. </div>
  154. </div>
  155. </div>
  156. <div class="layui-form-item layui-hide">
  157. <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit" value="确认">
  158. </div>
  159. </div>
  160. </div>
  161. </div>
  162. <script src="/layuiadmin/layui/layui.js"></script>
  163. <script src="/other/oss/upload-min@(MySystem.OssHelper.Instance.OssStatus ? "-oss" : "").js?r=@DateTime.Now.ToString("yyyyMMddHHmmss")"></script>
  164. <script src="/other/mybjq/kindeditor-min.js"></script>
  165. <script src="/other/mybjq/lang/zh_CN.js"></script>
  166. <script>
  167. //内容
  168. @(Html.Raw(Library.Control.kindeditorVar("Content")))
  169. //编辑器
  170. KindEditor.ready(function (K) {
  171. //内容
  172. @(Html.Raw(Library.Control.kindeditor("Content", 1)))
  173. });
  174. var ids = "";
  175. function getChildren(obj) {
  176. $.each(obj, function (index, value) {
  177. var id = obj[index].id;
  178. ids += id + ",";
  179. var children = obj[index].children;
  180. if (children) {
  181. getChildren(children);
  182. }
  183. });
  184. }
  185. function AreasProvinceInit(tagId, areasVal, form) {
  186. for (var i = 0; i < provs_data.length; i++) {
  187. var sel = "";
  188. if (areasVal.indexOf(provs_data[i].text) > -1) {
  189. sel = " selected=selected";
  190. }
  191. $("#" + tagId + "Province").append('<option value="' + provs_data[i].value + '"' + sel + '>' + provs_data[i].text + '</option>');
  192. }
  193. form.render();
  194. }
  195. function AreasProvinceSelected(tagId, areasVal, form, value) {
  196. $("#" + tagId + "City").html('<option value="">市</option>');
  197. var list = citys_data[value];
  198. for (var i = 0; i < list.length; i++) {
  199. var sel = "";
  200. if (areasVal.indexOf(list[i].text) > -1) {
  201. sel = " selected=selected";
  202. }
  203. $("#" + tagId + "City").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
  204. }
  205. $("#" + tagId + "Area").html('<option value="">县/区</option>');
  206. form.render();
  207. $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
  208. }
  209. function AreasCitySelected(tagId, areasVal, form, value) {
  210. $("#" + tagId + "Area").html('<option value="">县/区</option>');
  211. var list = dists_data[value];
  212. for (var i = 0; i < list.length; i++) {
  213. var sel = "";
  214. if (areasVal.indexOf(list[i].text) > -1) {
  215. sel = " selected=selected";
  216. }
  217. $("#" + tagId + "Area").append('<option value="' + list[i].value + '"' + sel + '>' + list[i].text + '</option>');
  218. }
  219. form.render();
  220. $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
  221. }
  222. function AreasAreaSelected(tagId, form) {
  223. form.render();
  224. $("#" + tagId + "").val($("#" + tagId + "Province option:selected").text() + "," + $("#" + tagId + "City option:selected").text() + "," + $("#" + tagId + "Area option:selected").text());
  225. }
  226. function movePrev(obj, tagId) {
  227. $(obj).parent().prev().insertAfter($(obj).parent());
  228. checkPics(tagId);
  229. }
  230. function moveNext(obj, tagId) {
  231. $(obj).parent().next().insertBefore($(obj).parent());
  232. checkPics(tagId);
  233. }
  234. function deletePic(obj, tagId) {
  235. $(obj).parent().remove();
  236. checkPics(tagId);
  237. }
  238. function checkPics(tagId) {
  239. var pics = "";
  240. var texts = "";
  241. $("#" + tagId + "Image div img").each(function (i) {
  242. pics += $(this).attr("src").replace(osshost, '') + "|";
  243. });
  244. $("#" + tagId + "Image div input").each(function (i) {
  245. texts += $(this).val() + "|";
  246. });
  247. if (pics == "") {
  248. $("#" + tagId).val("");
  249. } else {
  250. pics = pics.substring(0, pics.length - 1);
  251. texts = texts.substring(0, pics.length - 1);
  252. $("#" + tagId).val(pics + "#cut#" + texts);
  253. }
  254. }
  255. function checkBox(tagId) {
  256. var text = "";
  257. $("input[type=checkbox][name=" + tagId + "List]:checked").each(function (i) {
  258. text += $(this).val() + ",";
  259. });
  260. $("#" + tagId).val(text);
  261. }
  262. function showBigPic(picpath) {
  263. parent.layer.open({
  264. type: 1,
  265. title: false,
  266. closeBtn: 0,
  267. shadeClose: true,
  268. area: ['auto', 'auto'],
  269. content: '<img src="' + picpath + '" style="max-width:800px; max-height:800px;" />'
  270. });
  271. }
  272. var tree;
  273. var element;
  274. var upload;
  275. layui.config({
  276. base: '/layuiadmin/' //静态资源所在路径
  277. }).extend({
  278. index: 'lib/index' //主入口模块
  279. }).use(['index', 'form', 'upload', 'layedit', 'laydate', 'element', 'croppers', 'transfer', 'tree', 'util'], function () {
  280. var $ = layui.$
  281. , form = layui.form
  282. , layer = layui.layer
  283. , layedit = layui.layedit
  284. , laydate = layui.laydate
  285. , croppers = layui.croppers
  286. , transfer = layui.transfer
  287. , util = layui.util;
  288. tree = layui.tree;
  289. element = layui.element;
  290. upload = layui.upload;
  291. //Hash地址的定位
  292. var layid = location.hash.replace(/^#test=/, '');
  293. element.tabChange('test', layid);
  294. element.on('tab(test)', function (elem) {
  295. location.hash = 'test=' + $(this).attr('lay-id');
  296. });
  297. form.on('select(MsgType)', function (data) {
  298. if(data.value == '0') {
  299. $('#UrlDiv').hide();
  300. $('#ContentDiv').show();
  301. } else if(data.value == '1') {
  302. $('#UrlDiv').show();
  303. $('#ContentDiv').hide();
  304. } else if(data.value == '2') {
  305. $('#UrlDiv').hide();
  306. $('#ContentDiv').hide();
  307. }
  308. form.render();
  309. });
  310. form.on('select(PushType)', function (data) {
  311. if(data.value == '0') {
  312. $('#PushParamDiv').hide();
  313. $('#PushTimeDiv').hide();
  314. } else if(data.value == '1') {
  315. $('#PushParamDiv').show();
  316. $('#PushTimeDiv').hide();
  317. } else if(data.value == '2') {
  318. $('#PushParamDiv').show();
  319. $('#PushTimeDiv').show();
  320. }
  321. form.render();
  322. });
  323. var MsgType = '@editData.MsgType';
  324. if(MsgType == '0') {
  325. $('#UrlDiv').hide();
  326. $('#ContentDiv').show();
  327. } else if(MsgType == '1') {
  328. $('#UrlDiv').show();
  329. $('#ContentDiv').hide();
  330. } else if(MsgType == '2') {
  331. $('#UrlDiv').hide();
  332. $('#ContentDiv').hide();
  333. }
  334. var PushType = '@editData.PushType';
  335. if(PushType == '0') {
  336. $('#PushParamDiv').hide();
  337. $('#PushTimeDiv').hide();
  338. } else if(PushType == '1') {
  339. $('#PushParamDiv').show();
  340. $('#PushTimeDiv').hide();
  341. } else if(PushType == '2') {
  342. $('#PushParamDiv').show();
  343. $('#PushTimeDiv').show();
  344. }
  345. //日期
  346. laydate.render({
  347. elem: '#EffectStartDate',
  348. type: 'datetime',
  349. trigger: 'click'
  350. });
  351. laydate.render({
  352. elem: '#EffectEndDate',
  353. type: 'datetime',
  354. trigger: 'click'
  355. });
  356. laydate.render({
  357. elem: '#PushTime',
  358. type: 'datetime',
  359. trigger: 'click'
  360. });
  361. //上传文件
  362. WebUploadJs('BgPicBtn', '@(Library.ConfigurationManager.AppSettings["Database"].ToString())/upload/v2', @(Html.Raw(new MySystem.PublicFunction().GetUploadParam("MsgPlacardBgPic"))), function (filename) {
  363. $('#BgPicImage').html('<img src="' + osshost + filename + '" class="layui-upload-img" style="max-width:85px; max-height:85px;" onclick="showBigPic(\'' + osshost + filename + '\')">')
  364. $('#BgPic').val(filename);
  365. });
  366. //穿梭框
  367. //TreeView,比如权限管理
  368. //省市区
  369. })
  370. </script>
  371. </body>
  372. </html>