This commit is contained in:
Zel
2025-03-16 23:05:57 +08:00
parent ffc6426a0a
commit 09a9aadd3e
3 changed files with 133 additions and 56 deletions

View File

@@ -6,6 +6,10 @@ 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
{
@@ -16,6 +20,8 @@ namespace WaterCloud.Service.OrderManagement
/// </summary>
public class OrderCustomerService : BaseService<OrderCustomerEntity>, IDenpendency
{
public UserService UserService { get; set; }
public OrderCustomerService(ISqlSugarClient context) : base(context)
{
}
@@ -28,7 +34,14 @@ namespace WaterCloud.Service.OrderManagement
data = data.Where(a => a.F_Name.Contains(keyword)
|| a.F_ContactPerson.Contains(keyword));
}
return await data.Where(a => a.F_DeleteMark == false).OrderBy(a => a.F_CreatorTime , OrderByType.Desc).ToListAsync();
//普通用户仅可查看自己的数据
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 = "")
@@ -40,12 +53,26 @@ namespace WaterCloud.Service.OrderManagement
query = query.Where(a => a.F_Name.Contains(keyword)
|| a.F_ContactPerson.Contains(keyword));
}
//权限过滤
query = GetDataPrivilege("a", "", query);
return await query.OrderBy(a => a.F_CreatorTime , OrderByType.Desc).ToListAsync();
//权限过滤
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="")
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))
@@ -53,13 +80,26 @@ namespace WaterCloud.Service.OrderManagement
query = query.Where(a => a.F_Name.Contains(keyword)
|| a.F_ContactPerson.Contains(keyword));
}
if(!string.IsNullOrEmpty(id))
if (!string.IsNullOrEmpty(id))
{
query= query.Where(a=>a.F_Id==id);
query = query.Where(a => a.F_Id == id);
}
//权限过滤
query = GetDataPrivilege("a","",query);
return await query.ToPageListAsync(pagination);
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)
@@ -78,17 +118,23 @@ namespace WaterCloud.Service.OrderManagement
#region
public async Task SubmitForm(OrderCustomerEntity entity, string keyValue)
{
if(string.IsNullOrEmpty(keyValue))
if (string.IsNullOrEmpty(keyValue))
{
//初始值添加
//初始值添加
entity.F_DeleteMark = false;
entity.Create();
await repository.Insert(entity);
}
else
{
//此处需修改
entity.Modify(keyValue);
if (!(currentuser.IsAdmin || currentuser.IsBoss || currentuser.IsSuperAdmin || currentuser.IsSenior) &&
currentuser.UserId != entity.F_CreatorUserId)
{
return;
}
//此处需修改
entity.Modify(keyValue);
await repository.Update(entity);
}
}
@@ -96,6 +142,18 @@ namespace WaterCloud.Service.OrderManagement
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

View File

@@ -54,47 +54,46 @@
<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="0">断续</option>
<option value="1">持续合作</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 required">备注</label>
<div class="layui-input-block">
<input type="text" id="F_Remark" name="F_Remark" 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_OrderState" name="F_OrderState" 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>
@@ -102,6 +101,14 @@
<input type="text" id="F_Attachment" name="F_Attachment" 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_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>

View File

@@ -58,34 +58,46 @@
{ field: 'F_Name', title: '客户名称', width: 120,sort: true,filter: true },
{ field: 'F_CooperationTime',
title: '开始合作时间',
width: 140,sort: true,
filter: true,
filter: {type: 'date[yyyy/MM/dd HH:mm:ss]'}},
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 HH:mm:ss]'} },
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){
if (d.F_OrderState == 1) {
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>持续合作</span>";
} else if (d.F_FileType == 0) {
return "<span class='layui-btn layui-btn-danger layui-btn-xs'>断续</span>";
}
else
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>未知进展</span>";
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_ContactPerson', title: '对接人', width: 140,filter: true },
{ field: 'F_Contact', title: '联系方式', width: 140,filter: true },
{ field: 'F_Contact', title: '联系方式', width: 180,filter: true },
{ field: 'F_ContactPerson', title: '对接人', width: 160,filter: true },
{ field: 'F_Docking',
title: '对接情况',
width: 140,
filter: true,
filter: {type: 'date[yyyy/MM/dd HH:mm:ss]'} },
{ field: 'F_CreatorTime', title: '创建时间', width: 120,sort: true,filter: true },
{ field: 'F_CreatorUserId', title: '创建人', width: 120,sort: true,filter: true },
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' }
]]
});