1 <script>
2
3 //公共js页
4 //修改的iframe 接列表传来的值, 封装好直接调用, 具体是啥意思我也不知道 —_—||
5 function GetQueryString(name) {
6 var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
7 var r = window.location.search.substr(1).match(reg);
8 if(r != null) return unescape(r[2]);
9 return null;
10 }
11
12 //list:数组
13 //key:主键名称
14 //val:组件的值 封装了一个方法, 方便在edit里面取 id, 不用每次都for循环
15 function getListItemByKey(list, key, val) {
16 if(list != null) {
17 for(var i = 0; i < list.length; i++) {
18 if(list[i][key] == val) {
19 return list[i];
20 }
21 }
22 }
23 }
24
25 // list页
26 function edit(id) {
27 let obj = getListItemByKey(list, "id", id);
28 // let title = getListItemByKey(list,"title",title);
29 // 传输的是中文的话,传到下一页会乱码,需要encodeURI();进行转码
30 // 两次转码,之后到update页再解码, 由于是传id 在下一页重查, 所以没传, 而且传输大量中文的话容易出现问题
31 // let title = encodeURI(encodeURI(obj.title));
32 // console.log(title)
33 let modelName = '修改信息';
34 // var timestamp = (new Date()).getTime()/1000; //由于浏览器相同地址会默认有缓存,加上时间戳变会认为打开的不是同一个网址, 不过layui默认iframe 打开的
35 // 不是同一个网址, 所以时间戳没用上, 便注释掉了
36 var url = '../case_update/yj.html?id=' + id; //传值将id 传到下一页,在下一页重新查询一遍需要修改的信息,显示在页面上
37 x_admin_show(modelName, url); // layui自带的方法,用来跳转到哪一页
38 }
39
40 // update 页
41 // 调用封装好的方法, 获得上一页欻传来的id
42 var id = GetQueryString("id");
43
44 $.ajax({
45 type: 'post',
46 url: url + '',
47 dataType: "json",
48 async: true,
49 data: {
50 id: id
51 },
52 success: function(data) {
53 // 由于修改是用form表单提交, 所以要把获取的值放进form表单中
54 $('input[name="case_id"]').val(data.obj[0].id); // 放入的属性是name=""
55 $('#title').val(data.obj[0].title); // 放入的属性是id=""
56 }
57 });
58
59 //修改图片
60 var photoes = [];
61
62 $("#photo").change(function() {
63 var file = this.files[0];
64 photoes.push(file);
65 var filereader = new FileReader();
66 filereader.onload = function(e) {
67 var base64 = e.target.result; //转成base64 显示在页面上
68 $("#photos").append("<img class=\"appedphoto\" src=\"" + base64 + "\" />");
69 }
70 filereader.readAsDataURL(file);
71 });
72
73 $("#upload").click(function() {
74
75 if (photoes.length == 0) {
76 update_case();
77 return;
78 }
79
80 var formData = new FormData(document.getElementById("ff")); // ff为表单的id
81
82 for (var i = 0; i < photoes.length; i++) {
83 formData.append("CaseImages", photoes[i]); // CaseImages 后台图片对应的字段
84 }
85
86 $.ajax({
87 type: "post",
88 url: url + "add",
89 data: formData, //formData 里面啥都有
90 dataType: "json",
91 contentType: false,
92 processData: false,
93 success: function () {
94 var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
95 parent.location.reload(); //刷新列表页, 也就是list页, 是update页的父级
96 parent.layer.close(index); //找到当前窗口,关闭当前窗口
97 }
98 });
99 });
100
101 function update_case() {
102 $.post(url + "update_info.xsh", {
103 id: GetQueryString("id"),
104 case_num: $("#case_num").val(),
105 title: $("#title").val(),
106 },
107 function() {
108 var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
109 parent.location.reload(); //刷新列表页, 也就是list页, 是update页的父级
110 parent.layer.close(index); //找到当前窗口,关闭当前窗口
111 })
112 }
113
114
115 //修改时删除已经存好的图片
116 //获得删除的id
117 $(document).on('click', '.del-btn', function() {
118 let id = "'" + $(this).attr('alt') + "'";
119 let index = $(this).parent().parent().index();
120 layer.confirm('确认要删除吗?', function() {
121 //删除
122 $.ajax({
123 type: 'post',
124 url: url + 'delete.xsh',
125 dataType: "json",
126 async: true,
127 data: {
128 id: id
129 },
130 success() {
131 $('tbody tr:eq(' + index + ')').remove();
132 layer.msg('删除成功', {
133 icon: 1
134 });
135 }
136 });
137 });
138 })
139
140 </script>