新增页面
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
package lingtao.net.bean;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class TipContent {
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
private int type;
|
||||||
|
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
private String createBy;
|
||||||
|
|
||||||
|
private Date createDate;
|
||||||
|
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
private Date updateDate;
|
||||||
|
|
||||||
|
private String title;
|
||||||
|
/**
|
||||||
|
* 附件
|
||||||
|
*/
|
||||||
|
private String attachment;
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
package lingtao.net.controller;
|
||||||
|
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
|
import lingtao.net.bean.Msg;
|
||||||
|
import lingtao.net.bean.StandardMemo;
|
||||||
|
import lingtao.net.bean.TipContent;
|
||||||
|
import lingtao.net.service.StandardMemoService;
|
||||||
|
import lingtao.net.service.TipContentService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class TipContentController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private TipContentService tipContentService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品知识列表
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping("/getTipContent")
|
||||||
|
public Msg getStandard(@RequestParam(value = "page", defaultValue = "1") Integer page,
|
||||||
|
@RequestParam(value = "limit", defaultValue = "10") Integer limit, TipContent tipContent) {
|
||||||
|
PageHelper.startPage(page, limit);
|
||||||
|
List<TipContent> tipContentList = tipContentService.getTipContents(tipContent);
|
||||||
|
PageInfo<TipContent> pageInfo = new PageInfo<>(tipContentList);
|
||||||
|
return Msg.success().add("list", pageInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加产品知识
|
||||||
|
*/
|
||||||
|
@RequestMapping("/addTipContent")
|
||||||
|
public Msg addStandard(TipContent tipContent, HttpSession session) {
|
||||||
|
tipContentService.addTipContent(tipContent, session);
|
||||||
|
return Msg.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改产品知识
|
||||||
|
*/
|
||||||
|
@RequestMapping("/updateTipContent")
|
||||||
|
public Msg updateStandard(TipContent tipContent, HttpSession session) {
|
||||||
|
tipContentService.updateTipContentById(tipContent, session);
|
||||||
|
return Msg.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除
|
||||||
|
*/
|
||||||
|
@RequestMapping("/deleteTipContent")
|
||||||
|
public Msg deleteStandard(@RequestParam("id") Integer id) {
|
||||||
|
tipContentService.deleteTipContentById(id);
|
||||||
|
return Msg.success();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package lingtao.net.dao;
|
||||||
|
|
||||||
|
import lingtao.net.bean.StandardMemo;
|
||||||
|
import lingtao.net.bean.TipContent;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface TipContentMapper {
|
||||||
|
|
||||||
|
List<TipContent> getTipContents(TipContent standardMemo);
|
||||||
|
|
||||||
|
void addTipContent(TipContent standardMemo);
|
||||||
|
|
||||||
|
void updateTipContentById(TipContent standardMemo);
|
||||||
|
|
||||||
|
void deleteTipContentById(Integer id);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -688,16 +688,16 @@ public class ProductService {
|
|||||||
for (Product product : priceList) {
|
for (Product product : priceList) {
|
||||||
double carft_price = 0;
|
double carft_price = 0;
|
||||||
if (craftList.contains("压痕")) {
|
if (craftList.contains("压痕")) {
|
||||||
carft_price += Math.max(0.02 * product.getCount(), 10);
|
carft_price += Math.max(0.02 * product.getCount(), 10) * number;
|
||||||
}
|
}
|
||||||
if (craftList.contains("压点线")) {
|
if (craftList.contains("压点线")) {
|
||||||
carft_price += Math.max(0.02 * product.getCount(), 10);
|
carft_price += Math.max(0.02 * product.getCount(), 10) * number;
|
||||||
}
|
}
|
||||||
if (craftList.contains("圆角")) {
|
if (craftList.contains("圆角")) {
|
||||||
carft_price += Math.max(0.02 * product.getCount(), 10);
|
carft_price += Math.max(0.02 * product.getCount(), 10) * number;
|
||||||
}
|
}
|
||||||
//腰封的模切费单独计算
|
//腰封的模切费单独计算
|
||||||
product.setPrice(Math.ceil((product.getPrice() + carft_price) * number));
|
product.setPrice(Math.ceil((product.getPrice() + carft_price)));
|
||||||
product.setWeight(df.format(number * length / 100 * width / 100 * product.getCount() * 0.3 * 0.86));
|
product.setWeight(df.format(number * length / 100 * width / 100 * product.getCount() * 0.3 * 0.86));
|
||||||
}
|
}
|
||||||
if (isMq) {
|
if (isMq) {
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
package lingtao.net.service;
|
||||||
|
|
||||||
|
import lingtao.net.bean.Msg;
|
||||||
|
import lingtao.net.bean.StandardMemo;
|
||||||
|
import lingtao.net.bean.SysUser;
|
||||||
|
import lingtao.net.bean.TipContent;
|
||||||
|
import lingtao.net.dao.StandardMemoMapper;
|
||||||
|
import lingtao.net.dao.TipContentMapper;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class TipContentService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private TipContentMapper tipContentMapper;
|
||||||
|
|
||||||
|
public List<TipContent> getTipContents(TipContent tipContent) {
|
||||||
|
return tipContentMapper.getTipContents(tipContent);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Msg addTipContent(TipContent tipContent, HttpSession session) {
|
||||||
|
SysUser user = (SysUser) session.getAttribute("USER_SESSION");
|
||||||
|
tipContent.setCreateBy(user.getRealname());
|
||||||
|
try {
|
||||||
|
tipContentMapper.addTipContent(tipContent);
|
||||||
|
return Msg.success();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Msg.fail();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Msg updateTipContentById(TipContent tipContent, HttpSession session) {
|
||||||
|
SysUser user = (SysUser) session.getAttribute("USER_SESSION");
|
||||||
|
tipContent.setUpdateBy(user.getRealname());
|
||||||
|
try {
|
||||||
|
tipContentMapper.updateTipContentById(tipContent);
|
||||||
|
return Msg.success();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Msg.fail();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Msg deleteTipContentById(Integer id) {
|
||||||
|
try {
|
||||||
|
tipContentMapper.deleteTipContentById(id);
|
||||||
|
return Msg.success();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Msg.fail();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="lingtao.net.dao.TipContentMapper">
|
||||||
|
<select id="getTipContents" parameterType="lingtao.net.bean.TipContent"
|
||||||
|
resultType="lingtao.net.bean.TipContent">
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
tbl_tip_content
|
||||||
|
<where>
|
||||||
|
<if test="content != null and content != ''">
|
||||||
|
title like '%${content}%' or content like '%${content}%'
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
order by id desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<insert id="addTipContent" parameterType="lingtao.net.bean.TipContent">
|
||||||
|
insert into tbl_tip_content
|
||||||
|
(content, createBy, createDate, title,attachment,type)
|
||||||
|
values (#{content}, #{createBy}, now(), #{title}, #{attachment}, #{type})
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="updateTipContentById" parameterType="lingtao.net.bean.TipContent">
|
||||||
|
update tbl_tip_content
|
||||||
|
<set>
|
||||||
|
<if test="content != null">
|
||||||
|
content = #{content,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="updateBy != null">
|
||||||
|
updateBy = #{updateBy,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="updateDate != null">
|
||||||
|
updateDate = now(),
|
||||||
|
</if>
|
||||||
|
<if test="title != null">
|
||||||
|
title = #{title,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="attachment != null">
|
||||||
|
attachment = #{attachment,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
</set>
|
||||||
|
where id = #{id,jdbcType=INTEGER}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<delete id="deleteTipContentById">
|
||||||
|
delete
|
||||||
|
from tbl_tip_content
|
||||||
|
where id = #{id}
|
||||||
|
</delete>
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
const client = new OSS({
|
||||||
|
// yourregion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
|
||||||
|
region: "oss-cn-fuzhou",
|
||||||
|
// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
|
||||||
|
accessKeyId: "LTAI5tE7wuNkeT9jZ42bQnyr",
|
||||||
|
accessKeySecret: "NnutvWhKl4HbQFSad3HosYbCkEkbjN",
|
||||||
|
// 填写存储空间名称。
|
||||||
|
bucket: "dfdiyfile",
|
||||||
|
endpoint: "https://oss-cn-fuzhou.aliyuncs.com",
|
||||||
|
});
|
||||||
|
|
||||||
|
async function uploadFile(file) {
|
||||||
|
let fileDir = dateFtt("yyyyMMdd", new Date())
|
||||||
|
let name = "priceImages/" + fileDir + "/" + guid() + getSuff(file.name);
|
||||||
|
// 填写Object完整路径。Object完整路径中不能包含Bucket名称。
|
||||||
|
// 您可以通过自定义文件名(例如exampleobject.txt)或文件完整路径(例如exampledir/exampleobject.txt)的形式实现将数据上传到当前Bucket或Bucket中的指定目录。
|
||||||
|
// data对象可以自定义为file对象、Blob数据或者OSS Buffer。
|
||||||
|
const options = {
|
||||||
|
headers: {"Content-Type": "text/plain"},
|
||||||
|
};
|
||||||
|
let index = layer.load();
|
||||||
|
const result = await client.put(name, file, options);
|
||||||
|
layer.close(index);
|
||||||
|
return result.url;
|
||||||
|
}
|
||||||
|
|
||||||
|
function dateFtt(fmt, date) {
|
||||||
|
var o = {
|
||||||
|
"M+": date.getMonth() + 1, //月份
|
||||||
|
"d+": date.getDate(), //日
|
||||||
|
"h+": date.getHours(), //小时
|
||||||
|
"m+": date.getMinutes(), //分
|
||||||
|
"s+": date.getSeconds(), //秒
|
||||||
|
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
|
||||||
|
"S": date.getMilliseconds() //毫秒
|
||||||
|
};
|
||||||
|
if (/(y+)/.test(fmt)) {
|
||||||
|
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
|
||||||
|
}
|
||||||
|
for (var k in o) {
|
||||||
|
if (new RegExp("(" + k + ")").test(fmt))
|
||||||
|
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
|
||||||
|
|
||||||
|
}
|
||||||
|
return fmt;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function getSuff(name) {
|
||||||
|
return name.substring(name.lastIndexOf("."));
|
||||||
|
}
|
||||||
|
|
||||||
|
function guid() {
|
||||||
|
return "xxxxxxxx-xxxx-4xxx-yxxx".replace(/[xy]/g, function (c) {
|
||||||
|
var r = (Math.random() * 16) | 0,
|
||||||
|
v = c == "x" ? r : (r & 0x3) | 0x8;
|
||||||
|
return v.toString(16);
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -0,0 +1,172 @@
|
|||||||
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||||
|
pageEncoding="UTF-8" %>
|
||||||
|
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>添加产品须知</title>
|
||||||
|
<%@include file="/views/common.jsp" %>
|
||||||
|
<style>
|
||||||
|
.layui-input, .layui-input-inline {
|
||||||
|
width: 350px
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layui-input-block layui-form" style="margin-top: 30px">
|
||||||
|
<form class="layui-form " action="">
|
||||||
|
<input type="hidden" name="id" id="id">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">类型</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="title" placeholder="请输入类型" class="layui-input" lay-verify="required"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">属性</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="explain" placeholder="请输入属性" class="layui-input" lay-verify="required"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">需要提供的证明</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<textarea type="text" name="content" placeholder="请输入需要提供的证明" class="layui-textarea"
|
||||||
|
lay-verify="required" style="width: 300px;"></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<input type="hidden" name="type" class="layui-input" value="1">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">图片或视频</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<button type="button" class="layui-btn" id="uploaderImage">上传</button>
|
||||||
|
<input type="file" id="upload" style="display: none"/>
|
||||||
|
<input name="attachment" type="hidden" id="images"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label" style="color: #FF5722">点击图片可以删除</label>
|
||||||
|
<div class="layui-input-inline" id="preview" style="display: flex;"></div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<button class="layui-btn" lay-submit="" lay-filter="enadd">确认添加</button>
|
||||||
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<script src="${path}/js/alioss.js"></script>
|
||||||
|
<script src="${path}/js/ossUploader.js"></script>
|
||||||
|
<script>
|
||||||
|
function delImage(index) {
|
||||||
|
layer.confirm('是否确认删除该图片', {
|
||||||
|
btn: ['确定', '关闭'] //按钮
|
||||||
|
}, function (layIndex) {
|
||||||
|
let textImage = $("#images").val();
|
||||||
|
let list = textImage == "" ? [] : textImage.split(",");
|
||||||
|
list.splice(index, 1);
|
||||||
|
$("#images").val(list.join(","));
|
||||||
|
previewImage($("#images").val());
|
||||||
|
layer.close(layIndex);
|
||||||
|
}, function () {
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#images").val("");
|
||||||
|
$("#preview").empty();
|
||||||
|
|
||||||
|
function previewImage(textImage) {
|
||||||
|
let textImageList = textImage == "" ? [] : textImage.split(",");
|
||||||
|
let html = "";
|
||||||
|
textImageList.forEach((item, index) => {
|
||||||
|
if (item != "" && (item.indexOf(".mp4") > -1 || item.indexOf(".MP4") > -1)) {
|
||||||
|
html += "<video src='" + item + "' class='layui-upload-img' style='width: 50px;height: 50px;margin-right: 5px;' onclick='delImage(\"" + index + "\")'/>";
|
||||||
|
} else if (item != "") {
|
||||||
|
html += "<img src='" + item + "' class='layui-upload-img' style='width: 50px;height: 50px;margin-right: 5px;' onclick='delImage(\"" + index + "\")'/>";
|
||||||
|
}
|
||||||
|
})
|
||||||
|
$("#preview").empty().append(html);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
async function putObject(file) {
|
||||||
|
try {
|
||||||
|
const result = await uploadFile(file);
|
||||||
|
let textImage = $("#images").val();
|
||||||
|
let list = textImage == "" ? [] : textImage.split(",");
|
||||||
|
list.push(result);
|
||||||
|
$("#images").val(list.join(","));
|
||||||
|
previewImage($("#images").val());
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById('uploaderImage').addEventListener('click', function (e) {
|
||||||
|
document.getElementById('upload').click();
|
||||||
|
});
|
||||||
|
document.getElementById('upload').addEventListener('change', function (e) {
|
||||||
|
const file = e.target?.files[0];
|
||||||
|
putObject(file);
|
||||||
|
document.getElementById('upload').value = "";
|
||||||
|
});
|
||||||
|
|
||||||
|
layui.use(['form', 'layer'], function () {
|
||||||
|
var $ = layui.$,
|
||||||
|
form = layui.form,
|
||||||
|
layer = layui.layer;
|
||||||
|
|
||||||
|
//监听提交
|
||||||
|
form.on('submit(enadd)', function (data) {
|
||||||
|
let title = document.getElementsByName("title")[0].value;
|
||||||
|
let id = document.getElementsByName("id")[0].value;
|
||||||
|
let explain = document.getElementsByName("explain")[0].value;
|
||||||
|
let content = document.getElementsByName("content")[0].value;
|
||||||
|
let attachment = document.getElementById("images").value;
|
||||||
|
let fromData = {
|
||||||
|
id,
|
||||||
|
title: title,
|
||||||
|
content: JSON.stringify({
|
||||||
|
explain: explain,
|
||||||
|
content: content
|
||||||
|
}),
|
||||||
|
type: 1,
|
||||||
|
attachment
|
||||||
|
};
|
||||||
|
let url = id == "" ? '${path}/addTipContent' : '${path}/updateTipContent';
|
||||||
|
$.ajax({
|
||||||
|
url: url,
|
||||||
|
dataType: 'json',
|
||||||
|
data: fromData,
|
||||||
|
type: 'post',
|
||||||
|
success: function (data) {
|
||||||
|
if (data.code == 200) {
|
||||||
|
layer.msg('录入成功!', {
|
||||||
|
icon: 6,
|
||||||
|
offset: "auto",
|
||||||
|
time: 2000
|
||||||
|
});//提示框
|
||||||
|
} else {
|
||||||
|
layer.msg('录入失败!', {
|
||||||
|
icon: 5,
|
||||||
|
offset: "auto",
|
||||||
|
time: 2000
|
||||||
|
});//提示框
|
||||||
|
}
|
||||||
|
setTimeout(function () {
|
||||||
|
var index = parent.layer.getFrameIndex(window.name);//获取窗口索引
|
||||||
|
parent.layer.close(index);//关闭弹出层
|
||||||
|
parent.layui.table.reload("informationTableAll"); //重新加载页面表格
|
||||||
|
}, 2100);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,276 @@
|
|||||||
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||||
|
pageEncoding="UTF-8" %>
|
||||||
|
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>产品知识列表</title>
|
||||||
|
<%@include file="/views/common.jsp" %>
|
||||||
|
<style type="text/css">
|
||||||
|
.layui-table-cell {
|
||||||
|
height: 32px;
|
||||||
|
line-height: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-table td, .layui-table th, .layui-table-header, .layui-table-page, .layui-table-tool, .layui-table-total, .layui-table-view {
|
||||||
|
border-color: #6666;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ztree * {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.edge .layui-edge {
|
||||||
|
right: 35px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<script type="text/html" id="toolbarDemo">
|
||||||
|
<div class="layui-btn-container demoTable">
|
||||||
|
<button class="layui-btn layui-btn-sm" lay-event="add">
|
||||||
|
<i class="layui-icon layui-icon-add-circle-fine" style="font-size:20px;font-weight:bold"> </i> 新增内容
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
<script type="text/html" id="barDemo">
|
||||||
|
<a class="layui-btn layui-btn-xs" lay-event="edit">
|
||||||
|
<i class="layui-icon layui-icon-edit" style="color:white;font-size:20px"></i>编辑
|
||||||
|
</a>
|
||||||
|
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del">
|
||||||
|
<i class="layui-icon layui-icon-delete"></i>删除
|
||||||
|
</a>
|
||||||
|
</script>
|
||||||
|
<body>
|
||||||
|
<br>
|
||||||
|
<form class="layui-form" action="">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label">内容</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" id="content" name="content" placeholder="请输入内容"
|
||||||
|
autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<button class="layui-btn" id="searchBtn" lay-submit lay-filter="formDemo" style="margin-left: 15px">
|
||||||
|
<i class="layui-icon layui-icon-search"></i> 查询
|
||||||
|
</button>
|
||||||
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<table class="layui-hide" id="informationTable" lay-filter="informationTable"></table>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function viewImage(item) {
|
||||||
|
let html = "<div style='width: 100%;height: 100%;display: flex;align-items: center;justify-content: center'>";
|
||||||
|
if (item != "" && (item.indexOf(".mp4") > -1 || item.indexOf(".MP4") > -1)) {
|
||||||
|
html += "<video src='" + item + "' class='layui-upload-img' controls style='width: 400px;height: 400px;margin-right: 5px;'/>";
|
||||||
|
} else if (item != "") {
|
||||||
|
html += "<img src='" + item + "' class='layui-upload-img' style='width: 400px;height: 400px;margin-right: 5px;'/>";
|
||||||
|
}
|
||||||
|
html += "</div>";
|
||||||
|
layer.open({
|
||||||
|
type: 1,
|
||||||
|
title: false,
|
||||||
|
closeBtn: 0,
|
||||||
|
offset: 'auto',
|
||||||
|
area: ['400px', '400px'],
|
||||||
|
skin: 'layui-layer-nobg', //没有背景色
|
||||||
|
shadeClose: true,
|
||||||
|
content: html
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
layui.use(['element', 'table', 'laydate', 'form'], function () {
|
||||||
|
var $ = layui.jquery;
|
||||||
|
var table = layui.table;
|
||||||
|
var laydate = layui.laydate;
|
||||||
|
var element = layui.element;
|
||||||
|
var form = layui.form;
|
||||||
|
|
||||||
|
// 生成表格
|
||||||
|
table.render({
|
||||||
|
elem: '#informationTable',
|
||||||
|
url: '../../../../getTipContent',
|
||||||
|
toolbar: '#toolbarDemo',
|
||||||
|
title: '用户表',// 导出文件名
|
||||||
|
id: 'informationTableAll',
|
||||||
|
// 开启分页
|
||||||
|
// page : true,
|
||||||
|
page: {
|
||||||
|
layout: ['count', 'prev', 'page', 'next', 'skip', 'limit']
|
||||||
|
},
|
||||||
|
limits: [10, 30, 50, 80, 100, 999],
|
||||||
|
/*request : {
|
||||||
|
'limitName' : 'pageSize' // 分页每页条数默认字段改为pageSize
|
||||||
|
},*/
|
||||||
|
where: {
|
||||||
|
content: ''
|
||||||
|
},
|
||||||
|
cellMinWidth: 80, // 全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
||||||
|
cols: [[{
|
||||||
|
type: 'numbers',
|
||||||
|
title: '序号',
|
||||||
|
width: 50,
|
||||||
|
fixed: "left"
|
||||||
|
}, {
|
||||||
|
field: 'title',
|
||||||
|
title: '类型',
|
||||||
|
}, {
|
||||||
|
field: 'content',
|
||||||
|
title: '属性',
|
||||||
|
templet: function (d) {
|
||||||
|
let data_info = JSON.parse(d.content);
|
||||||
|
return data_info.explain
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
field: '证明',
|
||||||
|
title: '属性',
|
||||||
|
templet: function (d) {
|
||||||
|
let data_info = JSON.parse(d.content);
|
||||||
|
return data_info.content
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
field: 'content',
|
||||||
|
title: '图片视频',
|
||||||
|
templet: function (d) {
|
||||||
|
let html = "<div style='width: 100%;height: 100%;display: flex;align-items: center;justify-content: center'>";
|
||||||
|
if (d.attachment) {
|
||||||
|
let list = d.attachment.split(",");
|
||||||
|
for (let i = 0; i < list.length; i++) {
|
||||||
|
let item = list[i];
|
||||||
|
if (item != "" && (item.indexOf(".mp4") > -1 || item.indexOf(".MP4") > -1)) {
|
||||||
|
html += "<video src='" + item + "' class='layui-upload-img' style='width: 40px;height: 40px;margin-right: 5px;' onclick='viewImage(\"" + item + "\")'/>";
|
||||||
|
} else if (item != "") {
|
||||||
|
html += "<img src='" + item + "' class='layui-upload-img' style='width: 40px;height: 40px;margin-right: 5px;' onclick='viewImage(\"" + item + "\")'/>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
html += "</div>";
|
||||||
|
return html;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
field: 'createBy',
|
||||||
|
align: 'center',
|
||||||
|
width: 150,
|
||||||
|
title: '创建人'
|
||||||
|
}, {
|
||||||
|
field: 'createDate',
|
||||||
|
title: '创建时间',
|
||||||
|
width: 220,
|
||||||
|
align: 'center',
|
||||||
|
templet: function (d) {
|
||||||
|
return d.createDate != null ? layui.util.toDateString(d.createDate, "yyyy-MM-dd HH:mm:ss") : "";
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
fixed: 'right',
|
||||||
|
title: '操作',
|
||||||
|
align: 'center',
|
||||||
|
width: 150,
|
||||||
|
toolbar: '#barDemo'
|
||||||
|
}]],
|
||||||
|
parseData: function (res) { //将原始数据解析成 table 组件所规定的数据
|
||||||
|
return {
|
||||||
|
"code": 0, //解析接口状态
|
||||||
|
"msg": "", //解析提示文本
|
||||||
|
"count": res.data.list.total,//解析数据长度
|
||||||
|
"data": res.data.list.list//解析数据列表
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//点击查询按钮,重载表格
|
||||||
|
$('#searchBtn').on('click', function () {
|
||||||
|
table.reload('informationTableAll', {
|
||||||
|
method: 'get',
|
||||||
|
where: {
|
||||||
|
content: $("#content").val()
|
||||||
|
},
|
||||||
|
page: {
|
||||||
|
curr: 1
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
table.on('toolbar(informationTable)', function (obj) {
|
||||||
|
switch (obj.event) {
|
||||||
|
case 'add':
|
||||||
|
layer.open({
|
||||||
|
type: 2,
|
||||||
|
title: "添加规范",
|
||||||
|
fix: false, //不固定
|
||||||
|
maxmin: true,
|
||||||
|
skin: 'layui-layer-molv',
|
||||||
|
area: ['45%', '70%'],
|
||||||
|
content: './addPrinting.jsp',
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
;
|
||||||
|
});
|
||||||
|
|
||||||
|
table.on('tool(informationTable)', function (obj) {
|
||||||
|
var data1 = obj.data;
|
||||||
|
let data_info = JSON.parse(data1.content);
|
||||||
|
if (obj.event === 'edit') {
|
||||||
|
layer.open({
|
||||||
|
type: 2,
|
||||||
|
title: "修改规范",
|
||||||
|
area: ['45%', '70%'],
|
||||||
|
skin: 'layui-layer-molv',
|
||||||
|
content: './addPrinting.jsp',
|
||||||
|
success: function (layero, index) {
|
||||||
|
var body = layer.getChildFrame('body', index);
|
||||||
|
body.find('#id').val(data1.id);
|
||||||
|
body.find('input[name="title"]').val(data1.title);
|
||||||
|
body.find('input[name="type"]').val(data1.type);
|
||||||
|
body.find('input[name="explain"]').val(data_info.explain);
|
||||||
|
body.find('textarea[name="content"]').val(data_info.content);
|
||||||
|
|
||||||
|
body.find('#images').val(data1.attachment);
|
||||||
|
let textImage = data1.attachment;
|
||||||
|
if (textImage) {
|
||||||
|
let textImageList = textImage == "" ? [] : textImage.split(",");
|
||||||
|
let html = "";
|
||||||
|
textImageList.forEach((item, index) => {
|
||||||
|
if (item != "" && (item.indexOf(".mp4") > -1 || item.indexOf(".MP4") > -1)) {
|
||||||
|
html += "<video src='" + item + "' class='layui-upload-img' style='width: 50px;height: 50px;margin-right: 5px;' onclick='delImage(\"" + index + "\")'/>";
|
||||||
|
} else if (item != "") {
|
||||||
|
html += "<img src='" + item + "' class='layui-upload-img' style='width: 50px;height: 50px;margin-right: 5px;' onclick='delImage(\"" + index + "\")'/>";
|
||||||
|
}
|
||||||
|
})
|
||||||
|
body.find("#preview").empty().append(html);
|
||||||
|
}
|
||||||
|
layui.form.render();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if (obj.event === 'del') {
|
||||||
|
layer.confirm('确定要删除该数据么?', {icon: 3, title: "提示"}, function (index) {
|
||||||
|
$.ajax({
|
||||||
|
url: "../../../../deleteTipContent",
|
||||||
|
data: {'id': data1.id},
|
||||||
|
type: "post",
|
||||||
|
//dataType:"json",
|
||||||
|
success: function (data) {
|
||||||
|
if (data.code == 200) {
|
||||||
|
layer.msg('删除成功!', {icon: 6, offset: "auto", time: 1000});//提示框
|
||||||
|
} else {
|
||||||
|
layer.msg('删除失败!', {icon: 5, offset: "auto", time: 1000});//提示框
|
||||||
|
}
|
||||||
|
setTimeout(function () {
|
||||||
|
location.reload();//重新加载页面
|
||||||
|
}, 1100);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,259 @@
|
|||||||
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||||
|
pageEncoding="UTF-8" %>
|
||||||
|
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>产品知识列表</title>
|
||||||
|
<%@include file="/views/common.jsp" %>
|
||||||
|
<style type="text/css">
|
||||||
|
.layui-table-cell {
|
||||||
|
height: 32px;
|
||||||
|
line-height: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-table td, .layui-table th, .layui-table-header, .layui-table-page, .layui-table-tool, .layui-table-total, .layui-table-view {
|
||||||
|
border-color: #6666;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ztree * {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.edge .layui-edge {
|
||||||
|
right: 35px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/html" id="barDemo">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<body>
|
||||||
|
<br>
|
||||||
|
<form class="layui-form" action="">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label">内容</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" id="content" name="content" placeholder="请输入内容"
|
||||||
|
autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<button class="layui-btn" id="searchBtn" lay-submit lay-filter="formDemo" style="margin-left: 15px">
|
||||||
|
<i class="layui-icon layui-icon-search"></i> 查询
|
||||||
|
</button>
|
||||||
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<table class="layui-hide" id="informationTable" lay-filter="informationTable"></table>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function viewImage(item) {
|
||||||
|
let html = "<div style='width: 100%;height: 100%;display: flex;align-items: center;justify-content: center'>";
|
||||||
|
if (item != "" && (item.indexOf(".mp4") > -1 || item.indexOf(".MP4") > -1)) {
|
||||||
|
html += "<video src='" + item + "' class='layui-upload-img' controls style='width: 400px;height: 400px;margin-right: 5px;'/>";
|
||||||
|
} else if (item != "") {
|
||||||
|
html += "<img src='" + item + "' class='layui-upload-img' style='width: 400px;height: 400px;margin-right: 5px;'/>";
|
||||||
|
}
|
||||||
|
html += "</div>";
|
||||||
|
layer.open({
|
||||||
|
type: 1,
|
||||||
|
title: false,
|
||||||
|
closeBtn: 0,
|
||||||
|
offset: 'auto',
|
||||||
|
area: ['400px', '400px'],
|
||||||
|
skin: 'layui-layer-nobg', //没有背景色
|
||||||
|
shadeClose: true,
|
||||||
|
content: html
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
layui.use(['element', 'table', 'laydate', 'form'], function () {
|
||||||
|
var $ = layui.jquery;
|
||||||
|
var table = layui.table;
|
||||||
|
var laydate = layui.laydate;
|
||||||
|
var element = layui.element;
|
||||||
|
var form = layui.form;
|
||||||
|
|
||||||
|
// 生成表格
|
||||||
|
table.render({
|
||||||
|
elem: '#informationTable',
|
||||||
|
url: '../../../../getTipContent',
|
||||||
|
toolbar: '#toolbarDemo',
|
||||||
|
title: '用户表',// 导出文件名
|
||||||
|
id: 'informationTableAll',
|
||||||
|
// 开启分页
|
||||||
|
// page : true,
|
||||||
|
page: {
|
||||||
|
layout: ['count', 'prev', 'page', 'next', 'skip', 'limit']
|
||||||
|
},
|
||||||
|
limits: [10, 30, 50, 80, 100, 999],
|
||||||
|
/*request : {
|
||||||
|
'limitName' : 'pageSize' // 分页每页条数默认字段改为pageSize
|
||||||
|
},*/
|
||||||
|
where: {
|
||||||
|
content: ''
|
||||||
|
},
|
||||||
|
cellMinWidth: 80, // 全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
||||||
|
cols: [[{
|
||||||
|
type: 'numbers',
|
||||||
|
title: '序号',
|
||||||
|
width: 50,
|
||||||
|
fixed: "left"
|
||||||
|
}, {
|
||||||
|
field: 'title',
|
||||||
|
title: '类型',
|
||||||
|
}, {
|
||||||
|
field: 'content',
|
||||||
|
title: '属性',
|
||||||
|
templet: function (d) {
|
||||||
|
let data_info = JSON.parse(d.content);
|
||||||
|
return data_info.explain
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
field: '证明',
|
||||||
|
title: '属性',
|
||||||
|
templet: function (d) {
|
||||||
|
let data_info = JSON.parse(d.content);
|
||||||
|
return data_info.content
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
field: 'content',
|
||||||
|
title: '图片视频',
|
||||||
|
templet: function (d) {
|
||||||
|
let html = "<div style='width: 100%;height: 100%;display: flex;align-items: center;justify-content: center'>";
|
||||||
|
if (d.attachment) {
|
||||||
|
let list = d.attachment.split(",");
|
||||||
|
for (let i = 0; i < list.length; i++) {
|
||||||
|
let item = list[i];
|
||||||
|
if (item != "" && (item.indexOf(".mp4") > -1 || item.indexOf(".MP4") > -1)) {
|
||||||
|
html += "<video src='" + item + "' class='layui-upload-img' style='width: 40px;height: 40px;margin-right: 5px;' onclick='viewImage(\"" + item + "\")'/>";
|
||||||
|
} else if (item != "") {
|
||||||
|
html += "<img src='" + item + "' class='layui-upload-img' style='width: 40px;height: 40px;margin-right: 5px;' onclick='viewImage(\"" + item + "\")'/>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
html += "</div>";
|
||||||
|
return html;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
field: 'createBy',
|
||||||
|
align: 'center',
|
||||||
|
width: 150,
|
||||||
|
title: '创建人'
|
||||||
|
}, {
|
||||||
|
field: 'createDate',
|
||||||
|
title: '创建时间',
|
||||||
|
width: 220,
|
||||||
|
align: 'center',
|
||||||
|
templet: function (d) {
|
||||||
|
return d.createDate != null ? layui.util.toDateString(d.createDate, "yyyy-MM-dd HH:mm:ss") : "";
|
||||||
|
}
|
||||||
|
}]],
|
||||||
|
parseData: function (res) { //将原始数据解析成 table 组件所规定的数据
|
||||||
|
return {
|
||||||
|
"code": 0, //解析接口状态
|
||||||
|
"msg": "", //解析提示文本
|
||||||
|
"count": res.data.list.total,//解析数据长度
|
||||||
|
"data": res.data.list.list//解析数据列表
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//点击查询按钮,重载表格
|
||||||
|
$('#searchBtn').on('click', function () {
|
||||||
|
table.reload('informationTableAll', {
|
||||||
|
method: 'get',
|
||||||
|
where: {
|
||||||
|
content: $("#content").val()
|
||||||
|
},
|
||||||
|
page: {
|
||||||
|
curr: 1
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
table.on('toolbar(informationTable)', function (obj) {
|
||||||
|
switch (obj.event) {
|
||||||
|
case 'add':
|
||||||
|
layer.open({
|
||||||
|
type: 2,
|
||||||
|
title: "添加规范",
|
||||||
|
fix: false, //不固定
|
||||||
|
maxmin: true,
|
||||||
|
skin: 'layui-layer-molv',
|
||||||
|
area: ['45%', '70%'],
|
||||||
|
content: './addPrinting.jsp',
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
;
|
||||||
|
});
|
||||||
|
|
||||||
|
table.on('tool(informationTable)', function (obj) {
|
||||||
|
var data1 = obj.data;
|
||||||
|
let data_info = JSON.parse(data1.content);
|
||||||
|
if (obj.event === 'edit') {
|
||||||
|
layer.open({
|
||||||
|
type: 2,
|
||||||
|
title: "修改规范",
|
||||||
|
area: ['45%', '70%'],
|
||||||
|
skin: 'layui-layer-molv',
|
||||||
|
content: './addPrinting.jsp',
|
||||||
|
success: function (layero, index) {
|
||||||
|
var body = layer.getChildFrame('body', index);
|
||||||
|
body.find('#id').val(data1.id);
|
||||||
|
body.find('input[name="title"]').val(data1.title);
|
||||||
|
body.find('input[name="type"]').val(data1.type);
|
||||||
|
body.find('input[name="explain"]').val(data_info.explain);
|
||||||
|
body.find('textarea[name="content"]').val(data_info.content);
|
||||||
|
|
||||||
|
body.find('#images').val(data1.attachment);
|
||||||
|
let textImage = data1.attachment;
|
||||||
|
if (textImage) {
|
||||||
|
let textImageList = textImage == "" ? [] : textImage.split(",");
|
||||||
|
let html = "";
|
||||||
|
textImageList.forEach((item, index) => {
|
||||||
|
if (item != "" && (item.indexOf(".mp4") > -1 || item.indexOf(".MP4") > -1)) {
|
||||||
|
html += "<video src='" + item + "' class='layui-upload-img' style='width: 50px;height: 50px;margin-right: 5px;' onclick='delImage(\"" + index + "\")'/>";
|
||||||
|
} else if (item != "") {
|
||||||
|
html += "<img src='" + item + "' class='layui-upload-img' style='width: 50px;height: 50px;margin-right: 5px;' onclick='delImage(\"" + index + "\")'/>";
|
||||||
|
}
|
||||||
|
})
|
||||||
|
body.find("#preview").empty().append(html);
|
||||||
|
}
|
||||||
|
layui.form.render();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if (obj.event === 'del') {
|
||||||
|
layer.confirm('确定要删除该数据么?', {icon: 3, title: "提示"}, function (index) {
|
||||||
|
$.ajax({
|
||||||
|
url: "../../../../deleteTipContent",
|
||||||
|
data: {'id': data1.id},
|
||||||
|
type: "post",
|
||||||
|
//dataType:"json",
|
||||||
|
success: function (data) {
|
||||||
|
if (data.code == 200) {
|
||||||
|
layer.msg('删除成功!', {icon: 6, offset: "auto", time: 1000});//提示框
|
||||||
|
} else {
|
||||||
|
layer.msg('删除失败!', {icon: 5, offset: "auto", time: 1000});//提示框
|
||||||
|
}
|
||||||
|
setTimeout(function () {
|
||||||
|
location.reload();//重新加载页面
|
||||||
|
}, 1100);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user