更新命名问题
This commit is contained in:
@@ -0,0 +1,148 @@
|
||||
<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">
|
||||
<select name="cate" lay-verify="required" lay-reqText="请选择项目类型" class="layui-select" lay-search=""
|
||||
lay-filter="cate"></select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">重要程度<font>*</font>
|
||||
</td>
|
||||
<td>
|
||||
<select name="important" lay-verify="required" lay-reqText="请选择项目类型" class="layui-select" lay-search=""
|
||||
lay-filter="important">
|
||||
<option value="1">★</option>
|
||||
<option value="2">★★</option>
|
||||
<option value="3">★★★</option>
|
||||
<option value="4">★★★★</option>
|
||||
<option value="5">★★★★★</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="layui-td-gray-2">项目金额
|
||||
</td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="price" lay-verify="" lay-reqText="请输入项目金额" placeholder="请输入项目金额,例如:20000.10"
|
||||
class="layui-input" value="" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">计划年份<font>*</font>
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" name="year" lay-verify="required" lay-reqText="请输入" placeholder="例如:2024" class="layui-input"
|
||||
value="" />
|
||||
</td>
|
||||
<td class="layui-td-gray-2">负责人<font>*</font>
|
||||
</td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="responsible" lay-verify="required" lay-reqText="请输入" placeholder="请输入"
|
||||
class="layui-input" value="" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">开始时间
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" name="start_time" lay-verify="" lay-reqText="请选择开始时间" placeholder="请选择开始时间"
|
||||
class="layui-input" value="" id="start_time" />
|
||||
</td>
|
||||
<td class="layui-td-gray-2">结束时间
|
||||
</td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="end_time" lay-verify="" lay-reqText="请选择结束时间" placeholder="请选择结束时间"
|
||||
class="layui-input" value="" id="end_time" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">计划进度
|
||||
</td>
|
||||
<td colspan="4">
|
||||
<textarea name="schedule" lay-verify="" lay-reqText="请输入" placeholder="请输入项目进度" class="layui-textarea"
|
||||
value=""></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">备注
|
||||
</td>
|
||||
<td colspan="4">
|
||||
<textarea name="schedule" lay-verify="" lay-reqText="请输入" placeholder="请输入备注" class="layui-textarea"
|
||||
value=""></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<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>
|
||||
layui.use(["form", "layer"], function () {
|
||||
var laydate = layui.laydate;
|
||||
var form = layui.form,
|
||||
layer = layui.layer;
|
||||
|
||||
laydate.render({
|
||||
elem: '#start_time',
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#end_time',
|
||||
});
|
||||
|
||||
// 获取项目类别
|
||||
fetch("/plan/index/getprojectcate")
|
||||
.then((response) => response.json())
|
||||
.then((data) => {
|
||||
var select = document.querySelector('select[name="cate"]');
|
||||
select.innerHTML = '<option value="">请选择项目类型</option>';
|
||||
data.data.forEach((cate) => {
|
||||
var option = document.createElement("option");
|
||||
option.value = cate.id;
|
||||
option.innerText = cate.cate;
|
||||
select.appendChild(option);
|
||||
});
|
||||
form.render("select");
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("Error:", error);
|
||||
});
|
||||
|
||||
// 监听提交事件
|
||||
form.on("submit(webform)", function (data) {
|
||||
// 发送请求并处理响应
|
||||
fetch("/plan/index/add", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(data.field),
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then((response) => response.json())
|
||||
.then((result) => {
|
||||
layer.msg(result.msg);
|
||||
if (result.code === 2) {
|
||||
setTimeout(function () {
|
||||
document.querySelector("form").reset(); // Reset the form
|
||||
location.reload(); // 刷新页面
|
||||
}, 1000);
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,121 @@
|
||||
<!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>
|
||||
@@ -0,0 +1,417 @@
|
||||
{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="table_bar sticky-bar">
|
||||
<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>
|
||||
<button class="layui-btn layui-btn-sm" id="batch_delete">批量删除</button>
|
||||
<!-- <div class="layui-inline">
|
||||
<input class="layui-input search-input" id="search-input" type="text" placeholder="请输入搜索内容">
|
||||
</div>
|
||||
<button class="layui-btn" id="search-btn">搜索</button> -->
|
||||
</div>
|
||||
<div class="cateselect layui-form-bar border-x">
|
||||
<form class="layui-form" action="" id="filter-form">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">计划年份</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="year" lay-verify=""></select>
|
||||
</div>
|
||||
<label class="layui-form-label">重要程度</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="important" lay-verify="">
|
||||
<option value="">请选择</option>
|
||||
<option value="1">★</option>
|
||||
<option value="2">★★</option>
|
||||
<option value="3">★★★</option>
|
||||
<option value="4">★★★★</option>
|
||||
<option value="5">★★★★★</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="layui-form-label">项目类型</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="cate" lay-verify=""></select>
|
||||
</div>
|
||||
<label class="layui-form-label">负责人</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input search-input" id="search-responsible" type="text" placeholder="请输入负责人">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div style="width: 100%;height: 10px;"></div>
|
||||
<label class="layui-form-label">项目名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input search-input" id="search-name" type="text" placeholder="请输入项目名称">
|
||||
</div>
|
||||
<div class="layui-input-inline">
|
||||
<button class="layui-btn" lay-submit lay-filter="filterSearch" id="search-btn">筛选</button>
|
||||
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="filterSearch"
|
||||
id="search-reload">清除</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<table class="layui-hide" id="plan" lay-filter="plan"></table>
|
||||
<span id="total-price"></span>
|
||||
</div>
|
||||
{/block}
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
|
||||
|
||||
<script>
|
||||
const moduleInit = ["tool", "gouguEdit", "gouguComment"];
|
||||
|
||||
function gouguInit() {
|
||||
var table = layui.table;
|
||||
var tool = layui.tool;
|
||||
var dropdown = layui.dropdown;
|
||||
var $ = layui.jquery;
|
||||
var layer = layui.layer;
|
||||
|
||||
// 刷新按钮
|
||||
$("#refresh-btn").on("click", function () {
|
||||
location.reload();
|
||||
});
|
||||
|
||||
//新增计划按钮
|
||||
$(".add-new").on("click", function () {
|
||||
tool.open("/plan/index/add");
|
||||
});
|
||||
|
||||
layui.table.on('checkbox(plan)', function (obj) {
|
||||
var checkStatus = layui.table.checkStatus('plan');
|
||||
var data = checkStatus.data;
|
||||
// 修改开始:计算合计金额并显示
|
||||
var totalPrice = data.reduce((acc, curr) => acc + parseFloat(curr.price || 0), 0).toFixed(2); // 确保结果为两位小数
|
||||
document.getElementById('total-price').innerText = '合计金额:¥' + totalPrice;
|
||||
// 修改结束
|
||||
});
|
||||
|
||||
//获取计划年份
|
||||
function getPlanYear() {
|
||||
$.get("/plan/index/getplanyear", function (data) {
|
||||
var selectYear = $("select[name='year']");
|
||||
selectYear.empty(); // 清空下拉框
|
||||
selectYear.append('<option value=""></option>'); // 添加空选项
|
||||
data.data.forEach(function (year) {
|
||||
selectYear.append('<option value="' + year + '">' + year + '</option>'); // 添加年份选项
|
||||
});
|
||||
layui.form.render('select'); // 重新渲染下拉框
|
||||
});
|
||||
}
|
||||
|
||||
// 调用计划年份
|
||||
getPlanYear();
|
||||
|
||||
//获取项目类型
|
||||
function getprojectcate() {
|
||||
$.get("/plan/index/getprojectcate", function (data) {
|
||||
var selectCate = $("select[name='cate']");
|
||||
selectCate.empty(); // 清空下拉框
|
||||
selectCate.append('<option value=""></option>'); // 添加空选项
|
||||
data.data.forEach(function (cate) {
|
||||
selectCate.append('<option value="' + cate.id + '">' + cate.cate + '</option>'); // 修改为 cate.id
|
||||
});
|
||||
layui.form.render('select'); // 重新渲染下拉框
|
||||
});
|
||||
}
|
||||
|
||||
// 调用项目类型
|
||||
getprojectcate();
|
||||
|
||||
|
||||
// 删除单条数据
|
||||
table.on("tool(plan)", function (obj) {
|
||||
var data = obj.data;
|
||||
if (obj.event === "delete") {
|
||||
layui.layer.confirm(
|
||||
"确定删除该计划吗?",
|
||||
{ icon: 3, title: "提示" },
|
||||
function (index) {
|
||||
$.post(
|
||||
"/plan/index/delete",
|
||||
{ id: data.id },
|
||||
function (res) {
|
||||
if (res.code === 0) {
|
||||
// layui.layer.msg("删除成功");
|
||||
layui.layer.msg(res.msg);
|
||||
obj.del(); // 删除表格中的对应行数据
|
||||
} else {
|
||||
// layui.layer.msg("删除失败");
|
||||
layui.layer.msg(res.msg);
|
||||
}
|
||||
}
|
||||
);
|
||||
layui.layer.close(index);
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
//批量删除数据
|
||||
$("#batch_delete").on("click", function () {
|
||||
var checkStatus = table.checkStatus('plan');
|
||||
var data = checkStatus.data;
|
||||
var ids = data.map(item => item.id);
|
||||
|
||||
if (ids.length === 0) {
|
||||
layui.layer.msg("请选择要删除的数据");
|
||||
return;
|
||||
}
|
||||
|
||||
layui.layer.confirm(
|
||||
"确定删除选中的计划吗?",
|
||||
{ icon: 3, title: "提示" },
|
||||
function (index) {
|
||||
$.post(
|
||||
"/plan/index/batch_delete",
|
||||
{ ids: ids },
|
||||
function (res) {
|
||||
if (res.code === 0) {
|
||||
layui.layer.msg("批量删除成功");
|
||||
loadTableData(); // 重新加载表格数据
|
||||
} else {
|
||||
layui.layer.msg(res.msg);
|
||||
}
|
||||
}
|
||||
);
|
||||
layui.layer.close(index);
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
//查看详情唤醒view界面
|
||||
table.on('tool(plan)', function (obj) {
|
||||
var data = obj.data; // 获取当前行的数据
|
||||
if (obj.event === 'view') {
|
||||
var id = data.id; // 获取当前行数据的id
|
||||
// 使用layer弹出层来显示详情页面
|
||||
layui.layer.open({
|
||||
type: 2, // iframe层
|
||||
title: '计划详情',
|
||||
shadeClose: true,
|
||||
shade: 0.8,
|
||||
area: ['70%', '90%'], // 宽高
|
||||
content: '/plan/index/view/id/' + id //
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//重载表格
|
||||
function loadTableData() {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
|
||||
//渲染表格
|
||||
layui.pageTable = layui.table.render({
|
||||
elem: "#plan",
|
||||
toolbar: '#toolbarDemo',
|
||||
defaultToolbar: ['filter', 'exports', 'print', {
|
||||
title: '计划列表',
|
||||
layEvent: 'LAYTABLE_TIPS',
|
||||
icon: 'layui-icon-tips'
|
||||
}],
|
||||
cellMinWidth: 80,
|
||||
url: "/plan/index/index", // 数据接口
|
||||
page: true,
|
||||
limit: 50,
|
||||
totalRow: true,
|
||||
cols: [
|
||||
[
|
||||
{ type: 'checkbox' },
|
||||
{ field: 'id', width: 80, title: '编号', sort: true, align: "center", totalRowText: '合计:' },
|
||||
{
|
||||
field: "year",
|
||||
title: "计划年份",
|
||||
align: "center",
|
||||
width: 80,
|
||||
rowspan: 2,
|
||||
templet: function (d) {
|
||||
var html =
|
||||
'<span class="a1-' + d.year + '">' + d.year + "</span>";
|
||||
return html;
|
||||
},
|
||||
},
|
||||
{
|
||||
field: "name",
|
||||
title: "项目名称",
|
||||
width: 240,
|
||||
align: "center",
|
||||
rowspan: 2,
|
||||
templet: function (d) {
|
||||
var html =
|
||||
'<span class="a1-' + d.name + '">' + d.name + "</span>";
|
||||
return html;
|
||||
},
|
||||
},
|
||||
{
|
||||
field: "cate",
|
||||
title: "项目类型",
|
||||
align: "center",
|
||||
width: 80,
|
||||
rowspan: 2,
|
||||
templet: function (d) {
|
||||
var html =
|
||||
'<span class="a1-' + d.cate + '">' + d.cate + "</span>";
|
||||
return html;
|
||||
},
|
||||
},
|
||||
{
|
||||
field: "important",
|
||||
title: "重要程度",
|
||||
width: 80,
|
||||
align: "center",
|
||||
rowspan: 2,
|
||||
templet: function (d) {
|
||||
var stars = "";
|
||||
for (var i = 0; i < d.important; i++) {
|
||||
stars += "★";
|
||||
}
|
||||
return '<span class="a1-' + d.important + '">' + stars + "</span>";
|
||||
},
|
||||
},
|
||||
{
|
||||
field: "status",
|
||||
title: "项目状态",
|
||||
width: 80,
|
||||
align: "center",
|
||||
rowspan: 2,
|
||||
templet: function (d) {
|
||||
var html =
|
||||
'<span class="a1-' + d.status + '">' + d.status + "</span>";
|
||||
return html;
|
||||
},
|
||||
},
|
||||
{
|
||||
field: "price",
|
||||
title: "项目金额",
|
||||
width: 120,
|
||||
align: "center",
|
||||
rowspan: 2,
|
||||
templet: function (d) {
|
||||
var html =
|
||||
'<span class="a1-' + d.price + '">' + d.price + "</span>";
|
||||
return html;
|
||||
},
|
||||
},
|
||||
{
|
||||
field: "responsible",
|
||||
title: "负责人",
|
||||
align: "center",
|
||||
width: 120,
|
||||
rowspan: 2,
|
||||
templet: function (d) {
|
||||
var html =
|
||||
'<span class="a1-' + d.responsible + '">' + d.responsible + "</span>";
|
||||
return html;
|
||||
},
|
||||
},
|
||||
{
|
||||
field: "start_time",
|
||||
title: "开始时间",
|
||||
align: "center",
|
||||
width: 120,
|
||||
rowspan: 2,
|
||||
templet: function (d) {
|
||||
if (d.start_time) {
|
||||
var date = new Date(d.start_time * 1000); // 转换时间
|
||||
var year = date.getFullYear();
|
||||
var month = ("0" + (date.getMonth() + 1)).slice(-2);
|
||||
var day = ("0" + date.getDate()).slice(-2);
|
||||
var formattedDate = year + "-" + month + "-" + day;
|
||||
var html = '<span class="a1-' + d.start_time + '">' + formattedDate + "</span>";
|
||||
return html;
|
||||
} else {
|
||||
return "待定";
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
field: "end_time",
|
||||
title: "结束时间",
|
||||
align: "center",
|
||||
width: 120,
|
||||
rowspan: 2,
|
||||
templet: function (d) {
|
||||
if (d.end_time) {
|
||||
var date = new Date(d.end_time * 1000); // 转换时间
|
||||
var year = date.getFullYear();
|
||||
var month = ("0" + (date.getMonth() + 1)).slice(-2);
|
||||
var day = ("0" + date.getDate()).slice(-2);
|
||||
var formattedDate = year + "-" + month + "-" + day;
|
||||
var html = '<span class="a1-' + d.end_time + '">' + formattedDate + "</span>";
|
||||
return html;
|
||||
} else {
|
||||
return "待定";
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
field: "schedule",
|
||||
title: "计划进度",
|
||||
align: "center",
|
||||
width: 180,
|
||||
rowspan: 2,
|
||||
templet: function (d) {
|
||||
var html =
|
||||
'<span class="a1-' + d.schedule + '">' + d.schedule + "</span>";
|
||||
return html;
|
||||
},
|
||||
},
|
||||
{
|
||||
field: "remark",
|
||||
title: "备注",
|
||||
align: "center",
|
||||
rowspan: 2,
|
||||
templet: function (d) {
|
||||
if (d.remark) {
|
||||
var html = '<span class="a1-' + d.remark + '">' + d.remark + "</span>";
|
||||
return html;
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
field: "create_time",
|
||||
title: "创建时间",
|
||||
align: "center",
|
||||
width: 180,
|
||||
rowspan: 2,
|
||||
},
|
||||
{
|
||||
fixed: 'right',
|
||||
title: "操作",
|
||||
align: "center",
|
||||
width: 220,
|
||||
minWidth: 220,
|
||||
toolbar: "#barDemo",
|
||||
},
|
||||
],
|
||||
],
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<script type="text/html" id="barDemo">
|
||||
<a class="layui-btn layui-btn-sm " id="view" lay-event="view">查看详情</a>
|
||||
<!-- <button class="layui-btn layui-btn-sm" lay-event="view">查看详情</button> -->
|
||||
<!-- <a class="layui-btn layui-btn-sm " data-href="/plan/index/view/id/' + d.id + '" style="display: flex;justify-content: center;align-items: center;">查看详情</a> -->
|
||||
<a class="layui-btn layui-btn-sm " lay-event="edit">编辑</a>
|
||||
<a class="layui-btn layui-btn-sm layui-btn-normal" lay-event="delete">删除</a>
|
||||
</script>
|
||||
{/block}
|
||||
@@ -0,0 +1,151 @@
|
||||
<!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="/static/assets/gougu/css/gougu.css">
|
||||
<!-- <link rel="stylesheet" href="/static/assets/gougu/css/layout.css"> -->
|
||||
<style>
|
||||
.close {
|
||||
width: 100%;
|
||||
height: 80px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="page-content">
|
||||
<div class="p-4 border-b">
|
||||
<h3 class="h3-title hover">
|
||||
<span id="name">计划信息 - {$detail.name}</span>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="layui-row border-b">
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">计划年份
|
||||
</td>
|
||||
<td>
|
||||
{$detail.year}
|
||||
</td>
|
||||
<td class="layui-td-gray-2">项目名称
|
||||
</td>
|
||||
<td>
|
||||
{$detail.name}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">项目类型
|
||||
</td>
|
||||
<td>
|
||||
{$detail.cate}
|
||||
</td>
|
||||
<td class="layui-td-gray-2">项目状态
|
||||
</td>
|
||||
<td colspan="3">
|
||||
{$detail.status}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">重要程度
|
||||
</td>
|
||||
<td id="importantValue">
|
||||
{$detail.important}
|
||||
</td>
|
||||
<td class="layui-td-gray-2">负责人
|
||||
</td>
|
||||
<td colspan="3">
|
||||
{$detail.responsible}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">开始时间
|
||||
</td>
|
||||
<td>
|
||||
{$detail.start_time}
|
||||
</td>
|
||||
<td class="layui-td-gray-2">结束时间
|
||||
</td>
|
||||
<td colspan="3">
|
||||
{$detail.end_time}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">项目金额
|
||||
</td>
|
||||
<td>
|
||||
{$detail.price}
|
||||
</td>
|
||||
<td class="layui-td-gray-2">创建时间
|
||||
</td>
|
||||
<td colspan="3">
|
||||
{$detail.create_time}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">计划进度
|
||||
</td>
|
||||
<td colspan="4">
|
||||
{$detail.schedule}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">备注
|
||||
</td>
|
||||
<td colspan="4">
|
||||
{$detail.remark}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="close">
|
||||
<button class="layui-btn layui-btn-normal" lay-event="close">关闭页面</button>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<script>
|
||||
// 重要程度转换五角星
|
||||
const importantValue = document.getElementById('importantValue').innerText;
|
||||
const stars = '★'.repeat(parseInt(importantValue));
|
||||
document.getElementById('importantValue').innerText = stars;
|
||||
|
||||
// 如果{$detail.start_time}和{$detail.end_time}没有值就改为"待定"
|
||||
const startTime = document.querySelector('td:nth-of-type(4)');
|
||||
const endTime = document.querySelector('td:nth-of-type(6)');
|
||||
if (startTime.innerText.trim() === '1970-01-01' || endTime.innerText.trim() === '1970-01-01') {
|
||||
startTime.innerText = '待定';
|
||||
endTime.innerText = '待定';
|
||||
}
|
||||
|
||||
</script>
|
||||
<script>
|
||||
const moduleInit = ["tool", "gouguEdit", "gouguComment"];
|
||||
|
||||
function gouguInit() {
|
||||
var table = layui.table;
|
||||
var tool = layui.tool;
|
||||
var dropdown = layui.dropdown;
|
||||
var $ = layui.jquery;
|
||||
var layer = layui.layer;
|
||||
|
||||
$('[lay-event="close"]').on('click', function () {
|
||||
// 直接使用layer.close方法关闭最顶层的弹出层
|
||||
var index = parent.layer.getFrameIndex(window.name); // 获取iframe层的索引
|
||||
parent.layer.close(index); // 关闭弹出层
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
<script src="/static/assets/layui/layui.js"></script>
|
||||
<script src="/static/assets/gougu/gouguInit.js"></script>
|
||||
@@ -0,0 +1,213 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="breadcrumb"}
|
||||
<span class="layui-breadcrumb">
|
||||
<a href="http://www.meteteme.com/" target="_blank">江苏美天科技</a>
|
||||
<a href="/application/nav/index"><cite>应用</cite></a>
|
||||
</span>
|
||||
{/block} {block name="body"}
|
||||
<div class="table-content p-3">
|
||||
<div class="container">
|
||||
<!-- 财务管理 -->
|
||||
<div class="category">
|
||||
<h2 class="category-title">财务管理</h2>
|
||||
<div class="card-row">
|
||||
<!-- 单个卡片 -->
|
||||
<div class="card" id="bxgl">
|
||||
<div class="card-icon">
|
||||
<i class="fas fa-receipt"></i>
|
||||
</div>
|
||||
<h3 class="card-title">报销管理</h3>
|
||||
<p class="card-description">存储员工报销数据电子档</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 客户管理 -->
|
||||
<div class="category">
|
||||
<h2 class="category-title">CRM管理</h2>
|
||||
<div class="card-row">
|
||||
<!-- 单个卡片 -->
|
||||
<div class="card" id="sjgl">
|
||||
<div class="card-icon">
|
||||
<i class="fas fa-users"></i>
|
||||
</div>
|
||||
<h3 class="card-title">商机管理</h3>
|
||||
<p class="card-description">对市场上的商机进行管理与保护</p>
|
||||
</div>
|
||||
<!-- 单个卡片 -->
|
||||
<div class="card" id="khgl">
|
||||
<div class="card-icon">
|
||||
<i class="fas fa-user-tie"></i>
|
||||
</div>
|
||||
<h3 class="card-title">客户管理</h3>
|
||||
<p class="card-description">对企业内部客户进行数据管理</p>
|
||||
</div>
|
||||
<!-- 单个卡片 -->
|
||||
<div class="card" id="gysgl">
|
||||
<div class="card-icon">
|
||||
<i class="fas fa-building"></i>
|
||||
</div>
|
||||
<h3 class="card-title">供应商管理</h3>
|
||||
<p class="card-description">供应商申请管理</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 账号管理 -->
|
||||
<div class="category">
|
||||
<h2 class="category-title">账号管理</h2>
|
||||
<div class="card-row">
|
||||
<!-- 单个卡片 -->
|
||||
<div class="card" id="zhgl">
|
||||
<div class="card-icon">
|
||||
<i class="far fa-user-circle"></i>
|
||||
</div>
|
||||
<h3 class="card-title">账号管理</h3>
|
||||
<p class="card-description">管理企业所有账号</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 文件管理 -->
|
||||
<div class="category">
|
||||
<h2 class="category-title">文件管理</h2>
|
||||
<div class="card-row">
|
||||
<!-- 单个卡片 -->
|
||||
<div class="card" id="wjzz">
|
||||
<div class="card-icon">
|
||||
<i class="fas fa-file-alt"></i>
|
||||
</div>
|
||||
<h3 class="card-title">文件中转</h3>
|
||||
<p class="card-description">服务器内部资源跳转外部</p>
|
||||
</div>
|
||||
<!-- 单个卡片 -->
|
||||
<div class="card" id="rjxz">
|
||||
<div class="card-icon">
|
||||
<i class="fas fa-download"></i>
|
||||
</div>
|
||||
<h3 class="card-title">软件下载</h3>
|
||||
<p class="card-description">官网软件下载上传管理</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
//跳转文件中转
|
||||
$("#wjzz").click(function () {
|
||||
window.location.href = "/picbed/index/index";
|
||||
});
|
||||
|
||||
//跳转软件下载
|
||||
$("#rjxz").click(function () {
|
||||
window.location.href = "/download/index/index";
|
||||
});
|
||||
|
||||
//跳转Demos管理
|
||||
$("#bxgl").click(function () {
|
||||
window.location.href = "/reimbursement/index/index";
|
||||
});
|
||||
|
||||
//跳转账号管理
|
||||
$("#zhgl").click(function () {
|
||||
window.location.href = "/account/index/index";
|
||||
});
|
||||
|
||||
//跳转客户管理
|
||||
$("#khgl").click(function () {
|
||||
window.location.href = "/business/index/index";
|
||||
});
|
||||
|
||||
//跳转商机管理
|
||||
$("#sjgl").click(function () {
|
||||
window.location.href = "/information/index/index";
|
||||
});
|
||||
|
||||
//跳转供应商管理
|
||||
$("#gysgl").click(function () {
|
||||
window.location.href = "/business/supplier/index";
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.container {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
font-family: "Microsoft YaHei", sans-serif;
|
||||
}
|
||||
|
||||
.category {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.category-title {
|
||||
font-size: 20px;
|
||||
color: #2196f3;
|
||||
margin-bottom: 25px;
|
||||
padding-bottom: 12px;
|
||||
border-bottom: 1px solid #2196f3;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.card-row {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
gap: 2.5%;
|
||||
margin-bottom: 30px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.card {
|
||||
width: 18%;
|
||||
background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
|
||||
border-radius: 12px;
|
||||
padding: 20px;
|
||||
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
|
||||
transition: all 0.3s ease;
|
||||
cursor: pointer;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.card:hover {
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.card-icon {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin-bottom: 15px;
|
||||
background: linear-gradient(135deg, #2196f3 0%, #1976d2 100%);
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.card-icon i {
|
||||
color: white;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.card-title {
|
||||
font-size: 18px;
|
||||
color: #2196f3;
|
||||
margin-bottom: 10px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.card-description {
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
line-height: 1.5;
|
||||
}
|
||||
</style>
|
||||
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
Reference in New Issue
Block a user