first commit

This commit is contained in:
2025-06-25 10:53:11 +08:00
commit 9f374011ae
1240 changed files with 181139 additions and 0 deletions
+138
View File
@@ -0,0 +1,138 @@
<form class="layui-form page-content p-4">
<h3 class="h3-title">新建客户</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray-2">客户单位<font>*</font>
</td>
<td>
<input type="text" name="name" lay-verify="required" lay-reqText="请输入客户单位名称"
placeholder="请输入客户单位名称"
class="layui-input" value="">
</td>
<td class="layui-td-gray-2">客户简称<font>*</font>
</td>
<td colspan="3">
<input type="text" name="name_short" lay-verify="required" lay-reqText="请输入客户简称"
placeholder="请输入客户简称"
class="layui-input" value="">
</td>
</tr>
<tr>
<td class="layui-td-gray-2">单位地址
</td>
<td colspan="4">
<input type="text" name="company_address" lay-verify="required" lay-reqText="请输入单位地址"
placeholder="请输入单位地址" class="layui-input" value="">
</td>
</tr>
<tr>
<td class="layui-td-gray-2">主要对接人
</td>
<td>
<input type="hidden" name="director_uid" readonly lay-reqText="请选择主要对接人" value="">
<input type="text" name="director_name" placeholder="请选择主要对接人" readonly class="layui-input"
value="">
</td>
<td class="layui-td-gray-2">内部可对接人员
</td>
<td colspan="3">
<input type="hidden" id="check_admin_ids" name="check_admin_ids" readonly
lay-reqText="请选择对接人" value="">
<input type="text" id="check_admin_names" name="check_admin_names" readonly class="layui-input"
placeholder="请选择对接人" value="">
</td>
</tr>
<tr>
<td class="layui-td-gray-2">访问权限</td>
<td colspan="4">
<input type="radio" name="is_open" lay-filter="checkopen" value="1" checked
title="内部(仅创建人、对接人、可访问)">
<input type="radio" name="is_open" lay-filter="checkopen" value="2"
title="公开(有对接权限员工均可访问)">
</td>
</tr>
</table>
<div>
<div class="py-2">备注信息
<div>
<textarea id="mdContent" name="mdContent" style="display:none;"></textarea>
<div class="addedit" id="docContent"></div>
</div>
</div>
<div class="pt-1">
<input type="hidden" name="id" value="0"/>
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</form>
<script>
function openInit() {
var form = layui.form, layer = layui.layer, tool = layui.tool, employeepicker = layui.employeepicker,
editor = layui.editormd;
form.render();
var edit = editor.render('docContent', {
markdown: $('#mdContent').val(),
imageUploadURL: "/api/index/md_upload",
lineNumbers: false,
toolbarIcons: function () {
return [
"undo", "redo", "bold", "del", "italic", "quote", "h1", "h2", "h3", "h4", "h5",
"list-ul", "list-ol", "hr", "link", "reference-link", "image", "code", "code-block", "table", "watch", "fullscreen"
];
},
height: window.innerHeight - 220,
});
//选择内部可对接人员弹窗
$('.page-content').on('click', '[name="director_name"]', function () {
var ids = $('[name="director_uid"]').val(), names = $('[name="director_name"]').val();
employeepicker.init({
ids: ids,
names: names,
type: 0,
department_url: "/api/index/get_department_tree",
employee_url: "/api/index/get_employee",
callback: function (ids, names, dids, departments) {
$('[name="director_uid"]').val(ids);
$('[name="director_name"]').val(names);
}
});
});
//选择主要对接人弹窗
$('.page-content').on('click', '[name="check_admin_names"]', function () {
var ids = $('[name="check_admin_ids"]').val(), names = $('[name="check_admin_names"]').val(),
director_uid_array = [], director_name_array = [];
if (ids.length > 0) {
director_uid_array = ids.split(',');
director_name_array = names.split(',');
}
employeepicker.init({
ids: director_uid_array,
names: director_name_array,
department_url: "/api/index/get_department_tree",
employee_url: "/api/index/get_employee",
callback: function (ids, names, dids, departments) {
$('[name="check_admin_ids"]').val(ids);
$('[name="check_admin_names"]').val(names);
}
});
});
//监听提交
form.on('submit(webform)', function (data) {
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
tool.close(1000);
}
}
tool.post("/business/index/add", data.field, callback);
return false;
});
}
</script>
+125
View File
@@ -0,0 +1,125 @@
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title></title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="format-detection" content="telephone=no">
<link rel="stylesheet" href="/layui/css/layui.css" media="all" />
<style>
body {
margin: 10px;
}
</style>
</head>
<body class="childrenBody">
<form class="layui-form changePwd">
<input type="hidden" name="id" id="id" th:value="${id}">
<div class="layui-form-item">
<label class="layui-form-label">姓名</label>
<div class="layui-input-block">
<input type="text" name="name" value="" placeholder="姓名" id="name" lay-verify="required|name"
class="layui-input pwd">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">性别</label>
<div class="layui-input-block">
<input type="radio" name="sex" value="0" title="女" checked="">
<input type="radio" name="sex" value="1" title="男">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">年龄</label>
<div class="layui-input-block">
<input type="text" name="age" value="" placeholder="年龄" id="age" class="layui-input pwd">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit="" lay-filter="*">保存</button>
<button type="button" class="layui-btn layui-btn-primary" onclick="layerclose();">关闭</button>
</div>
</div>
</form>
<script type="text/javascript" src="/layui/layui.js"></script>
<script type="text/javascript" src="/js/jquery-3.3.1.min.js"></script>
<script>
$(function () {
var id = $("#id").val();
if (id != "") {
$.ajax({
url: "/user/queryById",
data: { "id": id },
dataType: "json",
success: function (data) {
$("#name").val(data.name);
$("#age").val(data.age);
$("input[name='sex']").eq(data.sex).attr("checked", 'checked');
}, error: function () {
}
});
}
})
function layerclose() {
layui.use(['layer'], function () {
var layer = layui.layer;
var index = parent.layer.getFrameIndex(window.name);//获取当前弹出层的层级
parent.layer.close(index);//关闭弹出层
location.reload();//刷新父页面
})
}
layui.use(['form', 'layer'], function () {
var form = layui.form;
var layer = layui.layer;
// 添加验证规则
form.verify({
name: function (value, item) {
value = value.trim();
if (value.length < 0) {
return "请输入教师名称";
}
}
});
form.on('submit(*)', function (data) {
var index = layer.msg('提交中,请稍候', { icon: 16, time: false, shade: 0.8 });
var d = data.field;
var url = "/user/add";
if (d.id != "") {
url = "/user/edit";
}
$.ajax({
url: url,
data: d,
dataType: "text",
success: function (data) {
layer.close(index);
if (data == 0) {
layer.msg("保存成功!");
parent.queryTea();
parent.close();
} else {
layer.msg("保存失败!");
}
}, error: function () {
layer.close(index);
layer.msg("保存失败!");
}
});
return false;
});
});
</script>
</body>
</html>
+188
View File
@@ -0,0 +1,188 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="breadcrumb"}
<span class="layui-breadcrumb">
<a href="http://www.meteteme.com/" target="_blank">江苏美天科技</a>
<a href="/business/index/nav"><cite>CRM</cite></a>
<a><cite>客户管理</cite></a>
</span>
{/block}
{block name="body"}
<div class="table-content p-3">
<div class="layui-form-bar border-t border-x">
<button class="layui-btn layui-btn-sm add-new">+ 新建客户</button>
<button class="layui-btn layui-btn-sm" id="refresh-btn">刷新</button>
</div>
<div class="layui-form-bar border-t border-x">
<form id="taskForm" class="layui-form">
<div class="layui-col-md4" style="width: 200px;margin-right: 10px;">
<div class="layui-input-wrap">
<div class="layui-input-prefix">
<!-- <i class="layui-icon layui-icon-username"></i>-->
</div>
<input id="fzr" type="text" name="contact" value="" placeholder="请输入负责人" class="layui-input" lay-affix="clear">
</div>
</div>
<div class="layui-col-md4" style="width: 200px;margin-right: 10px;">
<div class="layui-input-wrap">
<input id="gs" type="text" name="name" value="" placeholder="请输入客户单位名称" class="layui-input" lay-affix="clear">
</div>
</div>
<div class="layui-col-md4" style="width: 200px;margin-right: 10px;">
<div class="layui-input-wrap">
<input id="gsjc" type="text" name="name_short" value="" placeholder="请输入客户简称" class="layui-input" lay-affix="clear">
</div>
</div>
<button class="layui-btn" lay-submit lay-filter="webform">搜索</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
<button type="reset" class="layui-btn" lay-filter="onlyme">只看我</button>
<input id="loginusers" type="hidden" value="{$user_info.id}"/>
</form>
</div>
<table class="layui-hide" id="business" lay-filter="tableOne"></table>
</div>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool', 'gouguEdit', 'gouguComment'];
function gouguInit() {
var table = layui.table,
form = layui.form,
tool = layui.tool;
//添加按钮
$('.add-new').on('click', function () {
tool.open('/business/index/add');
});
// 刷新按钮
$("#refresh-btn").on("click", function () {
location.reload();
});
//搜索按钮
form.on('submit(webform)', function (data) {
var field = data.field; // 获取表单字段
// 执行搜索重载并过滤表格数据
table.reload('business', {
page: {
curr: 1 // 重新从第 1 页开始
},
where: field, // 搜索的字段
});
return false; // 阻止默认 form 提交
});
//搜索重置按钮
$("#taskForm").on("click", '[lay-filter="clear"]', function () {
// window.reload();
tableReload();
// setTimeout(function () {
// tableReload();
// }, 10);
});
//只看我按钮
$("#taskForm").on("click", '[lay-filter="onlyme"]', function () {
let loginuser = $("#loginusers").val(); // 从隐藏的输入字段中获取loginuser的值
$("#taskForm").find('[name="contact"]').val(loginuser); // 将contact的值设置为loginuser
let postData = {
name: $("#taskForm").find('[name="name"]').val(),
company_address: $("#taskForm").find('[name="company_address"]').val(),
contact: loginuser,
post: $("#taskForm").find('[name="post"]').val(),
admin_name: $("#taskForm").find('[name="admin_name"]').val(),
content: $("#taskForm").find('[name="content"]').val(),
};
layui.taskTable.reload({where: postData});
});
//搜索列表重置
function tableReload() {
let postData = {
name: $("#taskForm").find('[name="name"]').val(),
company_address: $("#taskForm").find('[name="company_address"]').val(),
contact: $("#taskForm").find('[name="contact"]').val(),
post: $("#taskForm").find('[name="post"]').val(),
admin_name: $("#taskForm").find('[name="admin_name"]').val(),
content: $("#taskForm").find('[name="content"]').val(),
};
layui.pageTable.reload({where: postData});
}
//渲染表格
layui.pageTable = table.render({
elem: '#business',
title: '客户列表',
cellMinWidth: 80,
url: ["/business/index/index"], //数据接口
page: true, //开启分页
limit: 50,
height: 'full-130',
cols: [[
{
field: 'id', title: '商务编号', width: 100, align: 'center', rowspan: 2, templet: function (d) {
return 'B' + d.id;
}
}
, {
field: 'name', title: '客户单位', align: 'center', width: 300, rowspan: 2, templet: function (d) {
var html = '<a class="open-a" data-href="/business/index/view/id/' + d.id + '">' + d.name + '</a>';
return html;
}
}
, {
field: 'name_short',
title: '客户简称',
align: 'center',
width: 160,
rowspan: 2,
templet: function (d) {
var nameShort = d.name_short;
var displayValue = nameShort !== null ? '<span>' + nameShort + '</span>' : '<span>暂无</span>';
return displayValue;
}
}
, {
field: 'company_address',
title: '单位地址',
align: 'center',
width: 240,
rowspan: 2,
templet: function (d) {
var html = '<span>' + d.company_address + '</span>';
return html;
}
}
, {
field: 'contact', title: '负责人', width: 120, rowspan: 2, templet: function (d) {
var html = '<span>' + d.contact + '</span>';
return html;
}
}
, {
field: 'post', title: '负责人职务', width: 120, rowspan: 2, templet: function (d) {
var html = '<span>' + d.post + '</span>';
return html;
}
}
, {field: 'admin_name', title: '创建人', align: 'center', width: 120, rowspan: 2}
, {
field: 'content', title: '备注', align: 'left', rowspan: 2, templet: function (d) {
var html = '<span>' + d.content + '</span>';
return html;
}
}
]]
});
}
</script>
{/block}
<!-- /脚本 -->
+58
View File
@@ -0,0 +1,58 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="breadcrumb"}
<span class="layui-breadcrumb">
<a href="http://www.meteteme.com/" target="_blank">江苏美天科技</a>
<a><cite>项目分类</cite></a>
</span>
{/block}
{block name="body"}
<div class="table-content p-3">
<div class="layui-form-bar border-t border-x"
style="display: flex; justify-content: center; align-items: center; height: 94vh !important;">
<div class="btn_list">
<div class="btns khgl">
<button class="layui-btn diy-button layui-bg-purple">
<svg t="1713800009771" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="10099" width="100" height="100">
<path
d="M512 0a512 512 0 1 0 512 512A512 512 0 0 0 512 0z m256 460.101818a152.203636 152.203636 0 0 1-87.272727 65.861818 80.058182 80.058182 0 0 1-24.436364 3.956364 29.090909 29.090909 0 1 1 0-57.949091 14.661818 14.661818 0 0 0 6.283636-1.396364 93.090909 93.090909 0 0 0 56.087273-40.96 76.101818 76.101818 0 0 0 10.938182-39.563636 89.832727 89.832727 0 0 0-94.254545-83.781818 106.123636 106.123636 0 0 0-51.2 13.265454 81.92 81.92 0 0 0-43.752728 69.818182v244.829091a139.636364 139.636364 0 0 1-72.610909 120.552727 159.883636 159.883636 0 0 1-79.825454 20.48 148.247273 148.247273 0 0 1-153.6-141.963636 135.68 135.68 0 0 1 19.781818-69.818182 151.04 151.04 0 0 1 87.272727-65.629091 86.807273 86.807273 0 0 1 24.436364-4.189091 29.090909 29.090909 0 0 1 25.367272 14.661819 29.090909 29.090909 0 0 1-25.367272 43.52 16.523636 16.523636 0 0 0-6.516364 1.396363 95.418182 95.418182 0 0 0-55.854545 40.96 74.007273 74.007273 0 0 0-10.938182 39.563637 90.065455 90.065455 0 0 0 94.952727 83.781818 106.821818 106.821818 0 0 0 51.2-13.265455 82.385455 82.385455 0 0 0 43.52-69.818182V390.283636a139.636364 139.636364 0 0 1 72.843636-120.552727 152.436364 152.436364 0 0 1 79.127273-21.410909 148.247273 148.247273 0 0 1 153.6 141.963636 136.378182 136.378182 0 0 1-19.781818 69.818182z"
fill="#ffffff" p-id="10100"></path>
</svg>
<strong>客户管理</strong>
<p>对企业内部客户进行数据管理</p>
</button>
</div>
<div class="btns sjgl">
<button class="layui-btn diy-button">
<svg t="1713799963992" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="8224" width="100" height="100">
<path
d="M410.67 544H133.33A69.33 69.33 0 0 0 64 613.33v277.34A69.33 69.33 0 0 0 133.33 960h277.34A69.33 69.33 0 0 0 480 890.67V613.33A69.33 69.33 0 0 0 410.67 544zM402 842a40 40 0 0 1-40 40H182a40 40 0 0 1-40-40V662a40 40 0 0 1 40-40h180a40 40 0 0 1 40 40z m488.67-298H613.33A69.33 69.33 0 0 0 544 613.33v277.34A69.33 69.33 0 0 0 613.33 960h277.34A69.33 69.33 0 0 0 960 890.67V613.33A69.33 69.33 0 0 0 890.67 544zM882 842a40 40 0 0 1-40 40H662a40 40 0 0 1-40-40V662a40 40 0 0 1 40-40h180a40 40 0 0 1 40 40zM410.67 64H133.33A69.33 69.33 0 0 0 64 133.33v277.34A69.33 69.33 0 0 0 133.33 480h277.34A69.33 69.33 0 0 0 480 410.67V133.33A69.33 69.33 0 0 0 410.67 64zM402 362a40 40 0 0 1-40 40H182a40 40 0 0 1-40-40V182a40 40 0 0 1 40-40h180a40 40 0 0 1 40 40z m292.49 94.18a81.35 81.35 0 0 0 115 0l126.69-126.67a81.35 81.35 0 0 0 0-115L809.51 87.82a81.35 81.35 0 0 0-115 0L567.82 214.49a81.35 81.35 0 0 0 0 115z"
fill="#ffffff" p-id="8225"></path>
</svg>
<strong>商机管理</strong>
<p>对市场上的商机进行管理与保护</p>
</button>
</div>
</div>
</div>
</div>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
//跳转客户管理
$('.khgl button').click(function () {
window.location.href = '/business/index/index';
});
//跳转商机管理
$('.sjgl button').click(function () {
window.location.href = '/information/index/index';
});
</script>
{/block}
<!-- /脚本 -->
+514
View File
@@ -0,0 +1,514 @@
<div class="page-content">
<div class="p-4 border-b">
<h3 class="h3-title hover-{$role_edit}">
<span id="name">客户信息 - </span>
<span id="name_{$detail.id}" data-val="">{$detail.name}</span>
<i class="iconfont icon-wodedianping" title="编辑" data-id="{$detail.id}" data-name="name"></i>
</h3>
<div>
<span class="layui-badge layui-bg-gray">#B{$detail.id}</span>
<span class="mx-2">{$detail.admin_name}</span>
<span class="font-gray">创建于{$detail.times}<span id="editTips">{gt name="$detail.update_time"
value="0"},最近更新于 {:time_trans($detail.update_time)}{/gt}</span>
</span>
{eq name="$detail.admin_id" value="$params.uid"}
<span class="layui-btn layui-btn-xs layui-bg-purple ml-4" id="delBtn">
<i class="layui-icon">&#xe640;</i>删除
</span>
{/eq}
</div>
</div>
<div class="layui-row border-b">
<div class="p-4 border-r" style="width: 100%">
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">创建人</td>
<td class="hover-{$role_edit}" style="width: 200px">
<span>{$detail.director_name}</span>
</td>
<td class="layui-td-gray">对接人</td>
<td class="hover-{$role_edit}" style="width: 200px">
<span id="check_admin_ids_{$detail.id}" data-val="{$detail.check_admin_ids}">{$detail.check_admin_names}</span>
<i class="iconfont icon-wodedianping" title="编辑" data-name="check_admin_ids"></i>
</td>
</tr>
<tr>
<td class="layui-td-gray">访问权限</td>
<td class="hover-{$role_edit}">
<span id="is_open_{$detail.id}" data-val="{$detail.is_open}">
{eq name="$detail.is_open" value="1" }
内部 <span class="font-gray">(仅创建人、对接人、可访问)</span>
{/eq}
{eq name="$detail.is_open" value="2" }公开 <span class="font-gray">(有对接权限员工均可访问)</span>{/eq}
</span>
<i class="iconfont icon-wodedianping" title="编辑" data-id="{$detail.id}" data-name="is_open"></i>
</td>
<td class="layui-td-gray">客户简称</td>
<td class="hover-{$role_edit}" style="width: 200px">
<span id="name_short_{$detail.id}" data-val="">{$detail.name_short}</span>
<i class="iconfont icon-wodedianping" title="编辑" data-id="{$detail.id}" data-name="name_short"></i>
</td>
</tr>
</table>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">单位地址</td>
<td class="hover-{$role_edit}" style="width: 500px">
<span id="company_address_{$detail.id}" data-val="">{$detail.company_address}</span>
<i class="iconfont icon-wodedianping" title="编辑" data-id="{$detail.id}" data-name="company_address"></i>
</td>
</tr>
</table>
<div class="md-content-content hover-{$role_edit}">
<h5 class="py-4">备注信息<i class="iconfont icon-wodedianping" title="编辑" data-id="{$detail.id}"
data-name="md_content"></i></h5>
<div class="md_content" id="md_content_{$detail.id}" data-val="{$detail.md_content}">
{$detail.md_content|raw}</div>
</div>
<div class="md-content-content hover-{$role_edit}">
<h5 class="py-4">联系人
<span data-method="setTop" id="contactadd" class="layui-btn layui-btn-xs layui-btn ml-4">
新增
</span>
</h5>
<table class="layui-table">
<thead>
<tr>
<th width="10%" style="text-align:center">联系人</th>
<th width="15%" style="text-align:center">职务</th>
<th width="15%" style="text-align:center">电话</th>
<th width="15%" style="text-align:center">邮箱</th>
<th width="10%" style="text-align:center">微信</th>
<th width="10%" style="text-align:center">QQ</th>
<th width="10%" style="text-align:center">创建人</th>
<th width="15%" style="text-align:center">操作</th>
</tr>
</thead>
<tbody id="contactList">
{volist name="contact_array" id="vo"}
<tr data-id="{$vo.id}" id="contact_{$vo.id}">
<td style="text-align: center;">{$vo.contact}</td>
<td style="text-align: center;">{$vo.post}</td>
<td style="text-align: center;" class="phone_m">
{if $vo.phone}
<span>{$vo.phone}</span>
{else}
{$vo.phone}
{/if}
</td>
<td style="text-align: center;" class="email_m">
{if $vo.email}
<span>{$vo.email}</span>
{else}
{$vo.email}
{/if}
</td>
<td style="text-align: center;" class="wechat_m">
{if $vo.wechat}
<span>{$vo.wechat}</span>
{else}
{$vo.wechat}
{/if}
</td>
<td style="text-align: center;" class="qq_m">
{if $vo.qq}
<span>{$vo.qq}</span>
{else}
{$vo.qq}
{/if}
</td>
<td style="text-align: center;">{$detail.admin_name}</td>
<td style="text-align: center;">
<!-- <a class="layui-btn layui-btn-xs" id="contactedit" data-event="edit" data-id="1000">修改</a>-->
<a class="layui-btn layui-btn-xs" data-id="{$vo.id}" data-contact="{$vo.contact}"
data-post="{$vo.post}" data-phone="{$vo.phone}" data-email="{$vo.email}"
data-wechat="{$vo.wechat}" data-qq="{$vo.qq}" id="contactedit"
lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-xs layui-bg-purple" data-id="{$vo.id}" id="contactdel">删除</a>
</td>
</tr>
{/volist}
{empty name="$contact_array" }
<tr>
<td colspan="8" class="content-none">暂无其他联系人</td>
</tr>
{/empty}
</tbody>
</table>
</div>
<div class="detail-file">
<h5 class="py-4">文件附件</h5>
<div>
{eq name="$role_edit" value="edit"}
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm" id="flieBtn">选择文件并上传</button>
<span
style="color:#FF5722; font-size:12px; margin-left: 8px;">上传前,请规范命名,最大只能上传{:get_system_info('upload_max_filesize')}的文件,超过请压缩成多个文件上传。</span>
<div class="layui-upload-list" {empty name="$file_array" }style="display:none;" {/empty}>
<table class="layui-table">
<thead>
<tr>
<th width="60%" style="text-align:center">文件名</th>
<th width="15%" style="text-align:center">文件大小</th>
<th width="10%" style="text-align:center">上传人</th>
<th width="15%" style="text-align:center">操作</th>
</tr>
</thead>
<tbody id="flieList">
{volist name="file_array" id="vo"}
<tr>
<td>{$vo.name}</td>
<td style="text-align: center;">{$vo.filesize/1048576|round=2}MB</td>
<td style="text-align: center;">{$vo.admin_name}</td>
<td style="text-align: center;">
<div class="layui-btn-group">
<a class="layui-btn layui-btn-xs " href="{$vo.filepath}"
download="{$vo.name}" data-id="{$vo.id}">下载</a>
<span class="layui-btn layui-btn-xs layui-btn-danger file-delete"
data-uid="{$vo.admin_id}" data-id="{$vo.id}">删除</span>
</div>
</td>
</tr>
{/volist}
</tbody>
</table>
</div>
{else/}
<table class="layui-table">
<thead>
<tr>
<th width="60%">文件名</th>
<th width="15%" style="text-align:center">文件大小</th>
<th width="10%" style="text-align:center">上传人</th>
<th width="15%" style="text-align:center">操作</th>
</tr>
</thead>
<tbody id="flieList">
{volist name="file_array" id="vo"}
<tr data-id="{$vo.id}" id="flie_{$vo.id}">
<td>{$vo.name}</td>
<td style="text-align: center;">{$vo.filesize/1048576|round=2}MB</td>
<td style="text-align: center;">{$vo.admin_name}</td>
<td style="text-align: center;">
<a class="layui-btn layui-btn-xs" href="{$vo.filepath}" download="{$vo.name}"
data-id="{$vo.id}">下载</a>
</td>
</tr>
{/volist}
{empty name="$file_array" }
<tr>
<td colspan="4" class="content-none">暂无附件</td>
</tr>
{/empty}
</tbody>
</table>
{/eq}
</div>
</div>
<div class="detail-link">
<h5 class="py-4">关联链接</h5>
<div>
{eq name="$role_edit" value="edit"}
<button type="button" class="layui-btn layui-btn-sm" id="linkBtn">新增相关联链接</button>
<span style="color:#FF5722; font-size:12px; margin-left: 8px;">请规范填写链接说明,方便大家查阅。</span>
<div class="layui-upload-list" {empty name="$link_array" }style="display:none;" {/empty}>
<table class="layui-table">
<thead>
<tr>
<th width="60%">链接</th>
<th width="15%" style="text-align:center">说明</th>
<th width="10%" style="text-align:center">添加人</th>
<th width="15%" style="text-align:center">操作</th>
</tr>
</thead>
<tbody id="linkList">
{volist name="link_array" id="vo"}
<tr data-id="{$vo.id}" id="link_{$vo.id}">
<td>
<a href="{$vo.url}" target="_blank">{$vo.url}</a>
</td>
<td>{$vo.desc}</td>
<td style="text-align: center;">{$vo.admin_name}</td>
<td style="text-align: center;">
<div class="layui-btn-group">
<span class="layui-btn layui-btn-xs link-edit" data-id="{$vo.id}"
data-url="{$vo.url}" data-desc="{$vo.desc}">编辑</span>
<span class="layui-btn layui-btn-xs layui-btn-danger link-delete"
data-uid="{$vo.admin_id}" data-id="{$vo.id}">删除</span>
</div>
</td>
</tr>
{/volist}
</tbody>
</table>
</div>
{else/}
<table class="layui-table">
<thead>
<tr>
<th width="60%">链接</th>
<th width="30%" style="text-align:center">说明</th>
<th width="10%" style="text-align:center">添加人</th>
</tr>
</thead>
<tbody id="linkList">
{volist name="link_array" id="vo"}
<tr>
<td>
<a href="{$vo.url}" target="_blank">{$vo.url}</a>
</td>
<td>{$vo.desc}</td>
<td style="text-align: center;">{$vo.admin_name}</td>
</tr>
{/volist}
{empty name="$link_array" }
<tr>
<td colspan="3" class="content-none">暂无链接</td>
</tr>
{/empty}
</tbody>
</table>
{/eq}
</div>
</div>
</div>
</div>
<div class="layui-tab layui-tab-brief px-4" lay-filter="docDemoTabBrief">
<ul class="layui-tab-title">
<li class="layui-this">互动评论({$detail.comments})</li>
<li>操作日志({$detail.logs})</li>
</ul>
<div class="layui-tab-content p-0">
<div class="layui-tab-item comment-list layui-show">
<div class="comment-input my-2">
<input type="text" id="commentInput" readonly placeholder="发表一下你的看法" class="layui-input" value="">
</div>
<div id="comment_business_{$detail.id}"></div>
</div>
<div class="layui-tab-item logs-list">
<div id="log_business_{$detail.id}"></div>
</div>
</div>
</div>
</div>
<script>
function openInit() {
const detail_id = '{$detail.id}';
var layer = layui.layer, tool = layui.tool, edit = layui.gouguEdit, comment = layui.gouguComment,
upload = layui.upload;
$('.hover-edit').hover(function () {
$(this).addClass('hover-on');
}, function () {
$(this).removeClass('hover-on');
})
$('.hover-edit').on('click', 'i', function () {
let id = $(this).data('id');
let name = $(this).data('name');
let name_short = $(this).data('name_short');
let show_txt = $('#' + name + '_' + detail_id).text().replace(/[\r\n\t]/g, "");
let real_txt = $('#' + name + '_' + detail_id).data('val');
if (real_txt === '') {
real_txt = show_txt;
}
editShow(detail_id, name, show_txt, real_txt);
});
$('#delBtn').on('click', function () {
layer.confirm('确定要删除该产品吗?请慎重', { icon: 3, title: '提示' }, function (index) {
let callback = function (e) {
layer.closeAll();
layer.msg(e.msg);
if (e.code == 0) {
setTimeout(function () {
location.reload();
}, 1000)
}
}
let postData = { "id": detail_id };
tool.delete("/business/index/delete", postData, callback);
});
})
//添加联系人
$('#contactadd').on('click', function () {
comment.addContact(detail_id, 'business');
})
//编辑联系人
$('#contactList').on('click', '#contactedit', function () {
let id = $(this).data('id');
let topic_id = $(this).data('topic_id');
let contact = $(this).data('contact');
let post = $(this).data('post');
let phone = $(this).data('phone');
let email = $(this).data('email');
let wechat = $(this).data('wechat');
let qq = $(this).data('qq');
comment.editContact(id, topic_id, detail_id, 'business', contact, post, phone, email, wechat, qq);
})
//删除联系人
$('#contactdel').on('click', function () {
let id = $(this).data('id');
layer.confirm('确定要删除该联系人吗?', { icon: 3, title: '提示' }, function (index) {
let callback = function (e) {
layer.closeAll();
layer.msg(e.msg);
tool.load("/business/index/view?id=" + detail_id);
}
let postData = { "id": id };
tool.delete("/api/business/delete_contact", postData, callback);
});
})
upload.render({
elem: '#flieBtn'
, url: '/api/index/upload'
, accept: 'file' //普通文件
, exts: 'jpeg|jpg|png|gif|doc|docx|ppt|pptx|xls|xlsx|pdf|zip|rar|7z' //只允许上传文件
, before: function (obj) {
layer.msg('上传中...', { time: 3600000 });
}
, done: function (res, index, upload) {
let callback = function (e) {
layer.msg('上传成功');
tool.load("/business/index/view?id=" + detail_id);
}
let postData = {
'topic_id': detail_id,
'file_id': res.data.id,
'file_name': res.data.name,
'module': 'business'
};
tool.post("/api/appendix/add", postData, callback);
}
, error: function (index, upload) {
layer.msg('上传失败');
}
});
$('#flieList').on('click', '.file-delete', function () {
let id = $(this).data('id');
layer.confirm('确定要删除该附件吗?', { icon: 3, title: '提示' }, function (index) {
let callback = function (e) {
layer.closeAll();
layer.msg(e.msg);
tool.load("/business/index/view?id=" + detail_id);
}
let postData = { "id": id };
tool.delete("/api/appendix/delete", postData, callback);
});
})
$('#linkBtn').on('click', function () {
comment.addLink(0, detail_id, 'business', '', '');
})
$('#linkList').on('click', '.link-edit', function () {
let id = $(this).data('id');
let url = $(this).data('url');
let desc = $(this).data('desc');
comment.addLink(id, detail_id, 'business', url, desc);
})
$('#linkList').on('click', '.link-delete', function () {
let id = $(this).data('id');
layer.confirm('确定要删除该链接吗?', { icon: 3, title: '提示' }, function (index) {
let callback = function (e) {
layer.closeAll();
layer.msg(e.msg);
tool.load("/business/index/view?id=" + detail_id);
}
let postData = { "id": id };
tool.delete("/api/appendix/delete_link", postData, callback);
});
})
//评论
comment.load(detail_id, 'business');
$('#commentInput').on('click', function () {
comment.editor(0, detail_id, 0, 0, 'business', '');
})
//回复
$('#comment_business_' + detail_id).on('click', '[data-event="replay"]', function () {
let pid = $(this).data('id');
let padmin_id = $(this).data('uid');
comment.editor(0, detail_id, pid, padmin_id, 'business', '');
})
//编辑
$('#comment_business_' + detail_id).on('click', '[data-event="edit"]', function () {
let id = $(this).data('id');
let mdcontent = $('#comment_' + id).data('mdcontent');
comment.editor(id, detail_id, 0, 0, 'business', mdcontent);
})
//删除
$('#comment_business_' + detail_id).on('click', '[data-event="del"]', function () {
let id = $(this).data('id');
comment.del(id, detail_id, 'business');
})
//操作记录
comment.log(detail_id, 'business');
let loading = false;
let editPost = function (id, name, show_val, real_val) {
let callback = function (e) {
if (e.code == 0) {
layer.closeAll();
tool.load('/business/index/view/id/' + id);
if (layui.pageTable) {
setTimeout(function () {
layui.pageTable.reload();
}, 400)
}
} else {
layer.msg(e.msg);
}
}
let postData = { id: id };
postData[name] = real_val;
if (name == 'md_content') {
postData['content'] = show_val;
}
tool.post("/business/index/add", postData, callback);
}
function editShow(id, name, show_txt, real_txt) {
if (loading == true) {
return false;
}
if (name == "name") {
edit.text(id, name, real_txt, editPost);
}
if (name == "name_short") {
edit.text(id, name, real_txt, editPost);
}
if (name == "company_address") {
edit.text(id, name, real_txt, editPost);
}
if (name == "check_admin_ids") {
edit.employee_more(id, name, show_txt, real_txt, editPost);
}
if (name == "is_open") {
let data = [
{ 'id': 1, 'title': '内部(仅创建人、对接人、可访问)' },
{ 'id': 2, 'title': '公开(有对接权限员工均可访问)' }
];
edit.select_type(id, name, real_txt, data, editPost);
}
if (name == "md_content") {
edit.editor(id, name, real_txt, editPost);
}
}
}
</script>