Compare commits
10 Commits
bd02fb3638
...
6e161e2a79
| Author | SHA1 | Date | |
|---|---|---|---|
| 6e161e2a79 | |||
| 7024571924 | |||
|
|
d3ffbef536 | ||
|
|
09a9aadd3e | ||
| ffc6426a0a | |||
| 8bce1f84c6 | |||
| 9fbd66bf76 | |||
|
|
bf14c5c621 | ||
| 7c4b851b43 | |||
|
|
fb8c34f604 |
38
README.md
38
README.md
@@ -1,21 +1,3 @@
|
||||
<p></p>
|
||||
<p></p>
|
||||
|
||||
<p align="center">
|
||||
<img src="https://images.gitee.com/uploads/images/2021/0528/215200_accc4311_7353672.jpeg" height="80"/>
|
||||
</p>
|
||||
<div align="center">
|
||||
|
||||
[](https://gitee.com/qian_wei_hong/WaterCloud/stargazers)
|
||||
[](https://gitee.com/qian_wei_hong/WaterCloud/members)
|
||||

|
||||
|
||||

|
||||

|
||||

|
||||
</div>
|
||||
|
||||
----
|
||||
# WaterCloud
|
||||
|
||||
#### 介绍
|
||||
@@ -37,9 +19,6 @@
|
||||
- 适用范围:可以开发OA、ERP、BPM、CRM、WMS、TMS、MIS、BI、电商平台后台、物流管理系统、快递管理系统、教务管理系统等各类管理软件。
|
||||
- 租户管理,基于Database的多租户功能(SqlSugar支持)。
|
||||
- 定时任务,基于quartz的定时任务功能(可以集群)。
|
||||
- 项目演示地址:http://47.116.127.212:5000/ (账号:admin 密码:0000,数据库2个小时还原一次)
|
||||
- 文档地址:https://gitee.com/qian_wei_hong/WaterCloud/wikis/pages
|
||||
- 在线项目地址:https://replit.com/@MonsterUncle/WaterCloud
|
||||
|
||||
#### 前端以及后端使用技术介绍
|
||||
|
||||
@@ -83,19 +62,4 @@
|
||||
2. Asp.net 8.0;
|
||||
3. Mysql或者SQLSERVER2005及以上版本,database文件夹下有sql文件可执行;
|
||||
4. 请使用VS2022及以上版本打开解决方案。
|
||||
5. Redis和RabbitMq在项目文件夹里有
|
||||
|
||||
#### 友情链接
|
||||
|
||||
1. 前端框架Layui 文档地址:https://layui.gitee.io/v2/
|
||||
2. Layui前端框架Layuimini 码云地址:https://gitee.com/zhongshaofa/layuimini
|
||||
3. SqlSugar.ORM 文档地址:https://www.donet5.com/home/doc
|
||||
4. WaterCloud讨论交流QQ群(1065447456)[](https://jq.qq.com/?_wv=1027&k=51RHQVG)
|
||||
5. .NET易用底层框架 Furion,码云地址:https://gitee.com/dotnetchina/Furion
|
||||
|
||||
#### 捐赠支持
|
||||
|
||||
开源项目不易,若此项目能得到你的青睐,可以捐赠支持作者持续开发与维护,感谢所有支持开源的朋友。
|
||||
|
||||
|
||||
 
|
||||
5. Redis和RabbitMq在项目文件夹里有
|
||||
@@ -1,6 +0,0 @@
|
||||
namespace WaterCloud.Domain.Entity.CustomerOrder;
|
||||
|
||||
public class CustomerOrderEntity
|
||||
{
|
||||
|
||||
}
|
||||
101
WaterCloud.Domain/Entity/OrderManagement/OrderCustomerEntity.cs
Normal file
101
WaterCloud.Domain/Entity/OrderManagement/OrderCustomerEntity.cs
Normal file
@@ -0,0 +1,101 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using SqlSugar;
|
||||
|
||||
namespace WaterCloud.Domain.OrderManagement
|
||||
{
|
||||
/// <summary>
|
||||
/// 创 建:超级管理员
|
||||
/// 日 期:2025-03-16 01:39
|
||||
/// 描 述:用户订单实体类
|
||||
/// </summary>
|
||||
[SugarTable("cms_ordercustomer")]
|
||||
public class OrderCustomerEntity : IEntity<OrderCustomerEntity>,ICreationAudited,IModificationAudited,IDeleteAudited
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_Id", ColumnDescription = "主键Id",ColumnDataType = "varchar(50)",IsPrimaryKey = true)]
|
||||
public string F_Id { get; set; }
|
||||
/// <summary>
|
||||
/// 逻辑删除标志
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_DeleteMark", ColumnDescription = "逻辑删除标志",ColumnDataType = "tinyint(1)", IsNullable = true)]
|
||||
public bool? F_DeleteMark { get; set; }
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_CreatorTime", ColumnDescription = "创建时间",ColumnDataType = "datetime", IsNullable = true)]
|
||||
public DateTime? F_CreatorTime { get; set; }
|
||||
/// <summary>
|
||||
/// 创建人
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_CreatorUserId", ColumnDescription = "创建人",ColumnDataType = "varchar(50)", IsNullable = true)]
|
||||
public string F_CreatorUserId { get; set; }
|
||||
/// <summary>
|
||||
/// 最后修改时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_LastModifyTime", ColumnDescription = "最后修改时间",ColumnDataType = "datetime", IsNullable = true)]
|
||||
public DateTime? F_LastModifyTime { get; set; }
|
||||
/// <summary>
|
||||
/// 最后修改人
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_LastModifyUserId", ColumnDescription = "最后修改人",ColumnDataType = "varchar(50)", IsNullable = true)]
|
||||
public string F_LastModifyUserId { get; set; }
|
||||
/// <summary>
|
||||
/// 删除时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_DeleteTime", ColumnDescription = "删除时间",ColumnDataType = "datetime", IsNullable = true)]
|
||||
public DateTime? F_DeleteTime { get; set; }
|
||||
/// <summary>
|
||||
/// 删除人
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_DeleteUserId", ColumnDescription = "删除人",ColumnDataType = "varchar(50)", IsNullable = true)]
|
||||
public string F_DeleteUserId { get; set; }
|
||||
/// <summary>
|
||||
/// 客户名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_Name", ColumnDescription = "客户名称",ColumnDataType = "varchar(200)", IsNullable = true)]
|
||||
public string F_Name { get; set; }
|
||||
/// <summary>
|
||||
/// 开始合作时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_CooperationTime", ColumnDescription = "开始合作时间",ColumnDataType = "datetime", IsNullable = true)]
|
||||
public DateTime? F_CooperationTime { get; set; }
|
||||
/// <summary>
|
||||
/// 发帖时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_PostTime", ColumnDescription = "发帖时间",ColumnDataType = "datetime", IsNullable = true)]
|
||||
public DateTime? F_PostTime { get; set; }
|
||||
/// <summary>
|
||||
/// 合作进展
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_OrderState", ColumnDescription = "合作进展",ColumnDataType = "int(11)", IsNullable = true)]
|
||||
public int? F_OrderState { get; set; }
|
||||
/// <summary>
|
||||
/// 对接人
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_ContactPerson", ColumnDescription = "对接人",ColumnDataType = "varchar(200)", IsNullable = true)]
|
||||
public string F_ContactPerson { get; set; }
|
||||
/// <summary>
|
||||
/// 附件
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_Attachment", ColumnDescription = "附件",ColumnDataType = "varchar(200)", IsNullable = true)]
|
||||
public string F_Attachment { get; set; }
|
||||
/// <summary>
|
||||
/// 联系方式
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_Contact", ColumnDescription = "联系方式",ColumnDataType = "varchar(500)", IsNullable = true)]
|
||||
public string F_Contact { get; set; }
|
||||
/// <summary>
|
||||
/// 对接情况
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_Docking", ColumnDescription = "对接情况",ColumnDataType = "varchar(100)", IsNullable = true)]
|
||||
public string F_Docking { get; set; }
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="F_Remark", ColumnDescription = "备注",ColumnDataType = "varchar(500)", IsNullable = true)]
|
||||
public string F_Remark { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
namespace WaterCloud.Service.CustomerOrder;
|
||||
|
||||
public class CustomerOrderService
|
||||
{
|
||||
|
||||
}
|
||||
162
WaterCloud.Service/OrderManagement/OrderCustomerService.cs
Normal file
162
WaterCloud.Service/OrderManagement/OrderCustomerService.cs
Normal file
@@ -0,0 +1,162 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.Generic;
|
||||
using WaterCloud.Code;
|
||||
using SqlSugar;
|
||||
using WaterCloud.DataBase;
|
||||
using WaterCloud.Domain.OrderManagement;
|
||||
using System.Collections;
|
||||
using static Serenity.Web.PropertyItemsScript;
|
||||
using WaterCloud.Service.SystemOrganize;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace WaterCloud.Service.OrderManagement
|
||||
{
|
||||
/// <summary>
|
||||
/// 创 建:超级管理员
|
||||
/// 日 期:2025-03-16 01:39
|
||||
/// 描 述:用户订单服务类
|
||||
/// </summary>
|
||||
public class OrderCustomerService : BaseService<OrderCustomerEntity>, IDenpendency
|
||||
{
|
||||
public UserService UserService { get; set; }
|
||||
|
||||
public OrderCustomerService(ISqlSugarClient context) : base(context)
|
||||
{
|
||||
}
|
||||
#region 获取数据
|
||||
public async Task<List<OrderCustomerEntity>> GetList(string keyword = "")
|
||||
{
|
||||
var data = repository.IQueryable();
|
||||
if (!string.IsNullOrEmpty(keyword))
|
||||
{
|
||||
data = data.Where(a => a.F_Name.Contains(keyword)
|
||||
|| a.F_ContactPerson.Contains(keyword));
|
||||
}
|
||||
|
||||
//普通用户仅可查看自己的数据
|
||||
if (!(currentuser.IsAdmin || currentuser.IsBoss || currentuser.IsSuperAdmin || currentuser.IsSenior))
|
||||
{
|
||||
data = data.Where(oo => oo.F_CreatorUserId == currentuser.UserId);
|
||||
}
|
||||
|
||||
return await data.Where(a => a.F_DeleteMark == false).OrderBy(a => a.F_CreatorTime, OrderByType.Desc).ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<List<OrderCustomerEntity>> GetLookList(string keyword = "")
|
||||
{
|
||||
var query = repository.IQueryable().Where(a => a.F_DeleteMark == false);
|
||||
if (!string.IsNullOrEmpty(keyword))
|
||||
{
|
||||
//此处需修改
|
||||
query = query.Where(a => a.F_Name.Contains(keyword)
|
||||
|| a.F_ContactPerson.Contains(keyword));
|
||||
}
|
||||
//权限过滤
|
||||
query = GetDataPrivilege("a", "", query);
|
||||
|
||||
//普通用户仅可查看自己的数据
|
||||
if (!(currentuser.IsAdmin || currentuser.IsBoss || currentuser.IsSuperAdmin || currentuser.IsSenior))
|
||||
{
|
||||
query = query.Where(oo => oo.F_CreatorUserId == currentuser.UserId);
|
||||
}
|
||||
|
||||
var pageList = await query.OrderBy(a => a.F_CreatorTime, OrderByType.Desc).ToListAsync();
|
||||
var users = await UserService.GetUserList(string.Empty);
|
||||
pageList.ForEach(item =>
|
||||
{
|
||||
var user = users.Find(oo => oo.F_Id == item.F_CreatorUserId);
|
||||
item.F_CreatorUserId = user == null ? "未知用户" : user.F_RealName;
|
||||
});
|
||||
return pageList;
|
||||
}
|
||||
|
||||
public async Task<List<OrderCustomerEntity>> GetLookList(SoulPage<OrderCustomerEntity> pagination, string keyword = "", string id = "")
|
||||
{
|
||||
var query = repository.IQueryable().Where(a => a.F_DeleteMark == false);
|
||||
if (!string.IsNullOrEmpty(keyword))
|
||||
{
|
||||
query = query.Where(a => a.F_Name.Contains(keyword)
|
||||
|| a.F_ContactPerson.Contains(keyword));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
query = query.Where(a => a.F_Id == id);
|
||||
}
|
||||
//权限过滤
|
||||
query = GetDataPrivilege("a", "", query);
|
||||
|
||||
if (!(currentuser.IsAdmin || currentuser.IsBoss || currentuser.IsSuperAdmin || currentuser.IsSenior))
|
||||
{
|
||||
query = query.Where(oo => oo.F_CreatorUserId == currentuser.UserId);
|
||||
}
|
||||
|
||||
var pageList = await query.ToPageListAsync(pagination);
|
||||
var users = await UserService.GetUserList(string.Empty);
|
||||
pageList.ForEach(item =>
|
||||
{
|
||||
var user = users.Find(oo => oo.F_Id == item.F_CreatorUserId);
|
||||
item.F_CreatorUserId = user == null ? "未知用户" : user.F_RealName;
|
||||
});
|
||||
return pageList;
|
||||
}
|
||||
|
||||
public async Task<OrderCustomerEntity> GetForm(string keyValue)
|
||||
{
|
||||
var data = await repository.FindEntity(keyValue);
|
||||
return data;
|
||||
}
|
||||
#endregion
|
||||
|
||||
public async Task<OrderCustomerEntity> GetLookForm(string keyValue)
|
||||
{
|
||||
var data = await repository.FindEntity(keyValue);
|
||||
return GetFieldsFilterData(data);
|
||||
}
|
||||
|
||||
#region 提交数据
|
||||
public async Task SubmitForm(OrderCustomerEntity entity, string keyValue)
|
||||
{
|
||||
if (string.IsNullOrEmpty(keyValue))
|
||||
{
|
||||
//初始值添加
|
||||
entity.F_DeleteMark = false;
|
||||
entity.Create();
|
||||
await repository.Insert(entity);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!(currentuser.IsAdmin || currentuser.IsBoss || currentuser.IsSuperAdmin || currentuser.IsSenior) &&
|
||||
currentuser.UserId != entity.F_CreatorUserId)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//此处需修改
|
||||
entity.Modify(keyValue);
|
||||
await repository.Update(entity);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task DeleteForm(string keyValue)
|
||||
{
|
||||
var ids = keyValue.Split(',');
|
||||
|
||||
foreach (var id in ids)
|
||||
{
|
||||
var data = await repository.FindEntity(id);
|
||||
if (data == null)
|
||||
return;
|
||||
if (!(currentuser.IsAdmin || currentuser.IsBoss || currentuser.IsSuperAdmin || currentuser.IsSenior) &&
|
||||
currentuser.UserId != data.F_CreatorUserId)
|
||||
throw new Exception($"{data.F_Id} {data.F_Name}违规删除");
|
||||
}
|
||||
|
||||
|
||||
await repository.Delete(a => ids.Contains(a.F_Id.ToString()));
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using WaterCloud.Code;
|
||||
using WaterCloud.Domain.OrderManagement;
|
||||
using WaterCloud.Service;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using WaterCloud.Service.OrderManagement;
|
||||
|
||||
namespace WaterCloud.Web.Areas.OrderManagement.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 创 建:超级管理员
|
||||
/// 日 期:2025-03-16 01:39
|
||||
/// 描 述:用户订单控制器类
|
||||
/// </summary>
|
||||
[Area("OrderManagement")]
|
||||
public class OrderCustomerController : BaseController
|
||||
{
|
||||
public OrderCustomerService _service {get;set;}
|
||||
|
||||
#region 获取数据
|
||||
[HandlerAjaxOnly]
|
||||
[IgnoreAntiforgeryToken]
|
||||
public async Task<ActionResult> GetGridJson(SoulPage<OrderCustomerEntity> pagination, string keyword)
|
||||
{
|
||||
if (string.IsNullOrEmpty(pagination.field))
|
||||
{
|
||||
pagination.field = "F_CreatorTime";
|
||||
pagination.order = "desc";
|
||||
}
|
||||
var data = await _service.GetLookList(pagination,keyword);
|
||||
return Content(pagination.setData(data).ToJson());
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[HandlerAjaxOnly]
|
||||
public async Task<ActionResult> GetListJson(string keyword)
|
||||
{
|
||||
var data = await _service.GetList(keyword);
|
||||
return Content(data.ToJson());
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[HandlerAjaxOnly]
|
||||
public async Task<ActionResult> GetFormJson(string keyValue)
|
||||
{
|
||||
var data = await _service.GetLookForm(keyValue);
|
||||
return Content(data.ToJson());
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 提交数据
|
||||
[HttpPost]
|
||||
[HandlerAjaxOnly]
|
||||
public async Task<ActionResult> SubmitForm(OrderCustomerEntity entity, string keyValue)
|
||||
{
|
||||
try
|
||||
{
|
||||
await _service.SubmitForm(entity, keyValue);
|
||||
return await Success("操作成功。", "", keyValue);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return await Error(ex.Message, "", keyValue);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[HandlerAjaxOnly]
|
||||
[HandlerAuthorize]
|
||||
public async Task<ActionResult> DeleteForm(string keyValue)
|
||||
{
|
||||
try
|
||||
{
|
||||
await _service.DeleteForm(keyValue);
|
||||
return await Success("操作成功。", "", keyValue, DbLogType.Delete);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return await Error(ex.Message, "", keyValue, DbLogType.Delete);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,209 +1,209 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset layui-hide" id="searchField">
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane" >
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>查看</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
}
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset layui-hide" id="searchField">
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>查看</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
<script type="text/html" id="currentTableBar">
|
||||
<a id="NF-edit" authorize class="layui-btn layui-btn-xs layui-btn-warm" lay-event="edit">修改</a>
|
||||
<a id="NF-delete" authorize class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a>
|
||||
<a id="NF-details" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details">查看</a>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.use(['jquery', 'form','table','commonTable', 'common','optimizeSelectOption'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table,commonTable = layui.commonTable
|
||||
common = layui.common;
|
||||
//权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
id: 'currentTableId',
|
||||
url: '/OrderManagement/Order/GetGridJson',
|
||||
cols: [[
|
||||
//此处需修改
|
||||
{ type: "checkbox", width: 50, fixed: 'left' },
|
||||
{ field: 'F_OrderCode', title: '订单编号', width: 180,sort: true,filter: true },
|
||||
{
|
||||
field: 'F_OrderState', title: '订单状态', width: 120, sort: true, filter: true,
|
||||
templet: function (d) {
|
||||
if (d.F_OrderState == 1) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>已完成</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>未完成</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_NeedTime', title: '需求时间', minWidth: 160, sort: true, filter: { type: 'date[yyyy/MM/dd HH:mm:ss]' }
|
||||
},
|
||||
{
|
||||
field: 'F_ActualTime', title: '实际时间', minWidth: 160, sort: true, filter: { type: 'date[yyyy/MM/dd HH:mm:ss]' }
|
||||
},
|
||||
{ field: 'F_NeedNum', title: '需求数量', width: 120, sort: true, filter: true },
|
||||
{ field: 'F_ActualNum', title: '实际数量', width: 120, sort: true, filter: true },
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', width: 80, sort: true, filter: true,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>有效</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>无效</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_CreatorUserName', title: '创建人', Width: 100, sort: true, filter: true,
|
||||
},
|
||||
{
|
||||
field: 'F_CreatorTime', title: '创建时间', minWidth: 160, sort: true, filter: { type: 'date[yyyy/MM/dd HH:mm:ss]' }
|
||||
},
|
||||
{ title: '操作', width: 160, toolbar: '#currentTableBar', align: "center", fixed: 'right' }
|
||||
]]
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
curr: 1,
|
||||
where: { keyword: data.field.txt_keyword}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
wcLoading.close();
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-details"];//选择1条显示
|
||||
var morerList = ["NF-delete"];//选中1条以上显示
|
||||
commonTable.tableRowClick("checkbox", "currentTableFilter", "currentTableId", oneList, morerList);
|
||||
//toolbar监听事件
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
var id = data.length > 0 ? data[0].F_Id : null;
|
||||
if (obj.event === 'add') { // 监听添加操作
|
||||
common.modalOpen({
|
||||
title: "添加订单",
|
||||
url: "/OrderManagement/Order/Form",
|
||||
width: "850px",
|
||||
height: "700px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.use(['jquery', 'form','table','commonTable', 'common','optimizeSelectOption'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table,commonTable = layui.commonTable
|
||||
common = layui.common;
|
||||
//权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
id: 'currentTableId',
|
||||
url: '/OrderManagement/Order/GetGridJson',
|
||||
cols: [[
|
||||
//此处需修改
|
||||
{ type: "checkbox", width: 50, fixed: 'left' },
|
||||
{ field: 'F_OrderCode', title: '订单编号', width: 180,sort: true,filter: true },
|
||||
{
|
||||
field: 'F_OrderState', title: '订单状态', width: 120, sort: true, filter: true,
|
||||
templet: function (d) {
|
||||
if (d.F_OrderState == 1) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>已完成</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>未完成</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_NeedTime', title: '需求时间', minWidth: 160, sort: true, filter: { type: 'date[yyyy/MM/dd HH:mm:ss]' }
|
||||
},
|
||||
{
|
||||
field: 'F_ActualTime', title: '实际时间', minWidth: 160, sort: true, filter: { type: 'date[yyyy/MM/dd HH:mm:ss]' }
|
||||
},
|
||||
{ field: 'F_NeedNum', title: '需求数量', width: 120, sort: true, filter: true },
|
||||
{ field: 'F_ActualNum', title: '实际数量', width: 120, sort: true, filter: true },
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', width: 80, sort: true, filter: true,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>有效</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>无效</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_CreatorUserName', title: '创建人', Width: 100, sort: true, filter: true,
|
||||
},
|
||||
{
|
||||
field: 'F_CreatorTime', title: '创建时间', minWidth: 160, sort: true, filter: { type: 'date[yyyy/MM/dd HH:mm:ss]' }
|
||||
},
|
||||
{ title: '操作', width: 160, toolbar: '#currentTableBar', align: "center", fixed: 'right' }
|
||||
]]
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
curr: 1,
|
||||
where: { keyword: data.field.txt_keyword}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
wcLoading.close();
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-details"];//选择1条显示
|
||||
var morerList = ["NF-delete"];//选中1条以上显示
|
||||
commonTable.tableRowClick("checkbox", "currentTableFilter", "currentTableId", oneList, morerList);
|
||||
//toolbar监听事件
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
var id = data.length > 0 ? data[0].F_Id : null;
|
||||
if (obj.event === 'add') { // 监听添加操作
|
||||
common.modalOpen({
|
||||
title: "添加订单",
|
||||
url: "/OrderManagement/Order/Form",
|
||||
width: "850px",
|
||||
height: "700px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
var ids = [];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
ids.push(data[i].F_Id);
|
||||
}
|
||||
var ids = [];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
ids.push(data[i].F_Id);
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/OrderManagement/Order/DeleteForm",
|
||||
param: { keyValue: ids.join(',') },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "编辑订单",
|
||||
url: "/OrderManagement/Order/Form?keyValue=" + id,
|
||||
width: "850px",
|
||||
height: "700px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "查看订单",
|
||||
url: "/OrderManagement/Order/Details?keyValue=" + id,
|
||||
width: "850px",
|
||||
height: "700px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
//toolrow监听事件
|
||||
table.on('tool(currentTableFilter)', function (obj) {
|
||||
var id = obj.data.F_Id;
|
||||
if (obj.event === 'delete') {
|
||||
common.deleteForm({
|
||||
url: "/OrderManagement/Order/DeleteForm",
|
||||
param: { keyValue: obj.data.F_Id },
|
||||
success: function () {
|
||||
obj.del();
|
||||
}
|
||||
});
|
||||
common.deleteForm({
|
||||
url: "/OrderManagement/Order/DeleteForm",
|
||||
param: { keyValue: ids.join(',') },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
common.modalOpen({
|
||||
title: "编辑订单",
|
||||
url: "/OrderManagement/Order/Form?keyValue=" + id,
|
||||
width: "850px",
|
||||
height: "700px",
|
||||
});
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "编辑订单",
|
||||
url: "/OrderManagement/Order/Form?keyValue=" + id,
|
||||
width: "850px",
|
||||
height: "700px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
common.modalOpen({
|
||||
title: "查看订单",
|
||||
url: "/OrderManagement/Order/Details?keyValue=" +id,
|
||||
width: "850px",
|
||||
height: "700px",
|
||||
btn: []
|
||||
});
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "查看订单",
|
||||
url: "/OrderManagement/Order/Details?keyValue=" + id,
|
||||
width: "850px",
|
||||
height: "700px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
//toolrow监听事件
|
||||
table.on('tool(currentTableFilter)', function (obj) {
|
||||
var id = obj.data.F_Id;
|
||||
if (obj.event === 'delete') {
|
||||
common.deleteForm({
|
||||
url: "/OrderManagement/Order/DeleteForm",
|
||||
param: { keyValue: obj.data.F_Id },
|
||||
success: function () {
|
||||
obj.del();
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
common.modalOpen({
|
||||
title: "编辑订单",
|
||||
url: "/OrderManagement/Order/Form?keyValue=" + id,
|
||||
width: "850px",
|
||||
height: "700px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
common.modalOpen({
|
||||
title: "查看订单",
|
||||
url: "/OrderManagement/Order/Details?keyValue=" +id,
|
||||
width: "850px",
|
||||
height: "700px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
@{
|
||||
ViewBag.Title = "Details";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
//此处需修改
|
||||
//类型为时间时
|
||||
//laydate.render({
|
||||
//elem: '#F_Birthday'
|
||||
//, btns: ['clear', 'now']
|
||||
//, trigger: 'click',
|
||||
//format: 'yyyy-MM-dd',
|
||||
//});
|
||||
|
||||
$(function () {
|
||||
common.ajax({
|
||||
url: '/OrderManagement/OrderCustomer/GetFormJson',
|
||||
dataType: 'json',
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
common.setReadOnly('adminform');
|
||||
form.render();
|
||||
}
|
||||
});
|
||||
|
||||
var _fileVal = $('#F_Attachment').val();
|
||||
if(_fileVal.length<5){
|
||||
//没有上传文件
|
||||
$('.myDownloader').hide();
|
||||
}else{
|
||||
$('.myDownloader').show();
|
||||
$('#downloader').attr('href',_fileVal);
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
wcLoading.close();
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<style>
|
||||
#downloader {
|
||||
color: dodgerblue;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">客户名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Name" name="F_Name" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">开始合作时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_CooperationTime" name="F_CooperationTime" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">发帖时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_PostTime" name="F_PostTime" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">合作进展</label>
|
||||
<div class="layui-input-block">
|
||||
@* <input type="text" id="F_OrderState" name="F_OrderState" lay-verify="required" class="layui-input"> *@
|
||||
<select id="F_OrderState" name="F_OrderState" lay-verify="required">
|
||||
<option value="">===请选择===</option>
|
||||
<option value="1">持续合作</option>
|
||||
<option value="0">断续</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">联系方式</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Contact" name="F_Contact" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">对接人</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_ContactPerson" name="F_ContactPerson" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">对接情况</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Docking" name="F_Docking" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">附件</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Attachment" name="F_Attachment" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item myDownloader" style="display:none">
|
||||
<label class="layui-form-label"></label>
|
||||
<a target="_blank" id="downloader">下载附件</a>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">备注</label>
|
||||
<div class="layui-input-block">
|
||||
@* <input type="text" id="F_Remark" name="F_Remark" lay-verify="required" class="layui-input"> *@
|
||||
<textarea id="F_Remark" name="F_Remark" value="" autocomplete="off" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -0,0 +1,224 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
layui.use(['jquery','upload', 'form', 'laydate', 'common','optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
upload = layui.upload,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
|
||||
var uploadInst = upload.render({
|
||||
elem: '#uploader'
|
||||
, url: '/FileManage/Uploadfile/Upload' //改成您自己的上传接口
|
||||
, size: 1024
|
||||
, accept: 'file'
|
||||
, data: { filetype: 3, fileby: '客户订单' }
|
||||
, auto: true//不自动提交
|
||||
, done: function (res) {
|
||||
//如果上传失败
|
||||
if (res.code > 0) {
|
||||
//失败状态,并实现重传
|
||||
var demoText = $('#demoText');
|
||||
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||||
demoText.find('.demo-reload').on('click', function () {
|
||||
uploadInst.upload();
|
||||
});
|
||||
common.modalMsg(res.msg, "warning");
|
||||
return false;
|
||||
}
|
||||
$('#F_Attachment').val(res.data[0].src);
|
||||
$('.myDownloader').show();
|
||||
$('#downloader').attr('href',res.data[0].src);
|
||||
// $('#F_Attachment').text(res.data[0].src);
|
||||
// $('#F_Attachment').attr('src',res.data[0].src);
|
||||
}
|
||||
, error: function () {
|
||||
//演示失败状态,并实现重传
|
||||
var demoText = $('#demoText');
|
||||
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||||
demoText.find('.demo-reload').on('click', function () {
|
||||
uploadInst.upload();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//此处需修改
|
||||
//类型为时间时
|
||||
//laydate.render({
|
||||
//elem: '#F_Birthday'
|
||||
//, btns: ['clear', 'now']
|
||||
//, trigger: 'click',
|
||||
//format: 'yyyy-MM-dd',
|
||||
//});
|
||||
|
||||
var dataCfg=[{
|
||||
elem:'#F_CooperationTime',
|
||||
btns: ['clear', 'now'],
|
||||
trigger: 'click',
|
||||
format: 'yyyy-MM-dd'
|
||||
},{
|
||||
elem:'#F_PostTime',
|
||||
btns: ['clear', 'now'],
|
||||
trigger: 'click',
|
||||
format: 'yyyy-MM-dd'
|
||||
},
|
||||
];
|
||||
|
||||
$(function () {
|
||||
|
||||
|
||||
dataCfg.forEach(function(config) { laydate.render(config);});
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: '/OrderManagement/OrderCustomer/GetFormJson',
|
||||
dataType: 'json',
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
}
|
||||
});
|
||||
}
|
||||
form.render();
|
||||
var _fileVal = $('#F_Attachment').val();
|
||||
if(_fileVal.length<5){
|
||||
//没有上传文件
|
||||
$('.myDownloader').hide();
|
||||
}else{
|
||||
$('.myDownloader').show();
|
||||
$('#downloader').attr('href',_fileVal);
|
||||
}
|
||||
});
|
||||
wcLoading.close();
|
||||
|
||||
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
var postData = data.field;
|
||||
common.submitForm({
|
||||
url: '/OrderManagement/OrderCustomer/SubmitForm?keyValue=' + keyValue,
|
||||
param: postData,
|
||||
success: function () {
|
||||
common.parentreload('data-search-btn');
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
|
||||
<style>
|
||||
|
||||
.layui-form-select > .layui-select-title > input {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#downloader {
|
||||
color: dodgerblue;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label style="margin-left:-10px" class="layui-form-label required">客户名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Name" name="F_Name" autocomplete="off" lay-verify="required" placeholder="请输入" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-col-md6 layui-col-sm6">
|
||||
<label class="layui-form-label required">开始合作时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input style="margin-left:10px" type="text" id="F_CooperationTime" name="F_CooperationTime" autocomplete="off" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md6 layui-col-sm6">
|
||||
<label class="layui-form-label required">发帖时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_PostTime" name="F_PostTime" autocomplete="off" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-col-md6 layui-col-sm6">
|
||||
<label class="layui-form-label required">合作进展</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_OrderState" name="F_OrderState" lay-verify="required">
|
||||
<option value="">===请选择===</option>
|
||||
<option value="1">持续合作</option>
|
||||
<option value="0">断续</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md6 layui-col-sm6">
|
||||
<label class="layui-form-label">联系方式</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Contact" name="F_Contact" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-col-md6 layui-col-sm6">
|
||||
<label class="layui-form-label required">对接人</label>
|
||||
<div class="layui-input-block">
|
||||
<input style="margin-left:10px" type="text" id="F_ContactPerson" name="F_ContactPerson" autocomplete="off" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md6 layui-col-sm6">
|
||||
<label class="layui-form-label required">对接情况</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Docking" name="F_Docking" autocomplete="off" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">附件</label>
|
||||
<div class="layui-input-block" style="padding-right: 70px;">
|
||||
<input type="text" id="F_Attachment" name="F_Attachment" readonly disabled class="layui-input">
|
||||
@* <a class="layui-input" id="F_Attachment" name="F_Attachment"></a> *@
|
||||
<button class="layui-btn" style="position: absolute;top: 0;right: 6px;cursor: pointer;" id="uploader">上传</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item myDownloader" style="display:none">
|
||||
<label class="layui-form-label"></label>
|
||||
<a target="_blank" id="downloader">下载附件</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Remark" name="F_Remark" value="" autocomplete="off" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn site-demo-active" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -0,0 +1,216 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset layui-hide" id="searchField">
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
@* <button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button> *@
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>查看</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
<script type="text/html" id="currentTableBar">
|
||||
<a id="NF-edit" authorize class="layui-btn layui-btn-xs" lay-event="edit">修改</a>
|
||||
<a id="NF-delete" authorize class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a>
|
||||
<a id="NF-details" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details">查看</a>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.use(['jquery', 'form','table','commonTable', 'common','optimizeSelectOption'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table,commonTable = layui.commonTable
|
||||
common = layui.common;
|
||||
//权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
id: 'currentTableId',
|
||||
url: '/OrderManagement/OrderCustomer/GetGridJson',
|
||||
cols: [[
|
||||
{ type: "checkbox", width: 50, fixed: 'left' },
|
||||
{ field: 'F_Name', title: '客户名称', width: 120,sort: true,filter: true },
|
||||
{ field: 'F_CooperationTime',
|
||||
title: '开始合作时间',
|
||||
width: 140,
|
||||
sort: true,
|
||||
//filter: {type: 'date[yyyy/MM/dd]'},
|
||||
filter:true,
|
||||
templet:function(d){
|
||||
return layui.util.toDateString(d.F_CooperationTime, "yyyy/MM/dd")
|
||||
}
|
||||
},
|
||||
{ field: 'F_PostTime',
|
||||
title: '发帖时间',
|
||||
width: 140,
|
||||
sort: true,
|
||||
filter:true,
|
||||
//filter: {type: 'date[yyyy/MM/dd]'},
|
||||
templet:function(d){
|
||||
return layui.util.toDateString(d.F_PostTime, "yyyy/MM/dd")
|
||||
}
|
||||
},
|
||||
{ field: 'F_OrderState', title: '合作进展', width: 140,sort: true,filter: true,
|
||||
templet:function(d){
|
||||
switch(d.F_OrderState){
|
||||
case 1:
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>持续合作</span>";
|
||||
break;
|
||||
case 0:
|
||||
return "<span class='layui-btn layui-btn-danger layui-btn-xs'>断续</span>";
|
||||
break;
|
||||
default:
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>未知进展</span>";
|
||||
break;
|
||||
}
|
||||
}},
|
||||
{ field: 'F_Contact', title: '联系方式', width: 180,filter: true },
|
||||
{ field: 'F_ContactPerson', title: '对接人', width: 160,filter: true },
|
||||
{ field: 'F_Docking',
|
||||
title: '对接情况',
|
||||
width: 350,
|
||||
filter: true},
|
||||
{ field: 'F_CreatorTime', title: '创建时间', width: 200,sort: true,filter: true },
|
||||
{ field: 'F_CreatorUserId', title: '创建人', width: 150,sort: true,filter: true },
|
||||
{ title: '操作', width: 160, toolbar: '#currentTableBar', align: "center", fixed: 'right' }
|
||||
]]
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
curr: 1,
|
||||
where: { keyword: data.field.txt_keyword}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
wcLoading.close();
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-details"];//选择1条显示
|
||||
var morerList = ["NF-delete"];//选中1条以上显示
|
||||
commonTable.tableRowClick("checkbox", "currentTableFilter", "currentTableId", oneList, morerList);
|
||||
//toolbar监听事件
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
var id = data.length > 0 ? data[0].F_Id : null;
|
||||
if (obj.event === 'add') { // 监听添加操作
|
||||
common.modalOpen({
|
||||
title: "添加界面",
|
||||
url: "/OrderManagement/OrderCustomer/Form",
|
||||
width: "900px",
|
||||
height: "600px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
var ids = [];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
ids.push(data[i].F_Id);
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/OrderManagement/OrderCustomer/DeleteForm",
|
||||
param: { keyValue: ids.join(',') },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "编辑界面",
|
||||
url: "/OrderManagement/OrderCustomer/Form?keyValue=" + id,
|
||||
width: "900px",
|
||||
height: "600px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "查看界面",
|
||||
url: "/OrderManagement/OrderCustomer/Details?keyValue=" + id,
|
||||
width: "900px",
|
||||
height: "600px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
//toolrow监听事件
|
||||
table.on('tool(currentTableFilter)', function (obj) {
|
||||
var id = obj.data.F_Id;
|
||||
if (obj.event === 'delete') {
|
||||
common.deleteForm({
|
||||
url: "/OrderManagement/OrderCustomer/DeleteForm",
|
||||
param: { keyValue: id },
|
||||
success: function () {
|
||||
obj.del();
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
common.modalOpen({
|
||||
title: "编辑界面",
|
||||
url: "/OrderManagement/OrderCustomer/Form?keyValue=" + id,
|
||||
width: "900px",
|
||||
height: "600px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
common.modalOpen({
|
||||
title: "查看界面",
|
||||
url: "/OrderManagement/OrderCustomer/Details?keyValue=" +id,
|
||||
width: "900px",
|
||||
height: "600px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -20,9 +20,9 @@
|
||||
<select id="ComparesOperation" name="ComparesOperation" lay-verify="required" lay-search>
|
||||
<option value="" selected>请选择</option>
|
||||
<option value=">">></option>
|
||||
<option value=">=">>=</option>
|
||||
<option value=">=">≥</option>
|
||||
<option value="<"><</option>
|
||||
<option value="<="><=</option>
|
||||
<option value="<=">≤</option>
|
||||
<option value="=">=</option>
|
||||
<option value="!=">!=</option>
|
||||
<option value="in">in</option>
|
||||
|
||||
@@ -8,15 +8,6 @@
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"sqlDebugging": false,
|
||||
"nativeDebugging": true
|
||||
},
|
||||
"WaterCloud.Web": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
|
||||
@@ -67,6 +67,13 @@
|
||||
描 述:订单管理控制器类
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WaterCloud.Web.Areas.OrderManagement.Controllers.OrderCustomerController">
|
||||
<summary>
|
||||
创 建:超级管理员
|
||||
日 期:2025-03-16 01:39
|
||||
描 述:用户订单控制器类
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WaterCloud.Web.Areas.SystemManage.Controllers.CodegeneratelogController">
|
||||
<summary>
|
||||
创 建:超级管理员
|
||||
|
||||
@@ -12,12 +12,13 @@
|
||||
"LoginMultiple": false, // 是否允许一个账户在多处登录
|
||||
"AllowCorsSite": "http://localhost:5000", // 允许的其他站点访问Api
|
||||
"DBProvider": "MySql", //SqlServer //Oracle
|
||||
"DBConnectionString": "server=192.168.31.37;user id=root;password=zhuyunyu;database=water",
|
||||
//"DBConnectionString": "server=192.168.31.37;user id=root;password=zhuyunyu;database=water",
|
||||
"DBConnectionString": "server=10.147.17.21;user id=root;password=zhuyunyu;database=water",
|
||||
"DBCommandTimeout": 180, // 数据库超时时间,单位秒
|
||||
"IsInitDb": true, //是否初始化数据库
|
||||
"IsSeedData": true, //是否初始化数据库数据
|
||||
"IsInitDb": false, //是否初始化数据库
|
||||
"IsSeedData": false, //是否初始化数据库数据
|
||||
"CacheProvider": "Redis", // 缓存使用方式 Redis/Memory
|
||||
"RedisConnectionString": "192.168.31.37:6379,password=zhuyunyu", //docker部署 172.17.0.1
|
||||
"RedisConnectionString": "10.147.17.21:6379,password=zhuyunyu", //docker部署 172.17.0.1
|
||||
"TokenName": "WC-Token", //api Token名称
|
||||
"LoginExpire": 1, //登录缓存过期时间(小时)
|
||||
"HomePage": "../Home/Default", //登录主页地址
|
||||
|
||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
Reference in New Issue
Block a user