添加项目文件。

This commit is contained in:
dell
2023-03-03 16:07:50 +08:00
parent 2c462551b6
commit 011039960e
585 changed files with 362460 additions and 0 deletions

View File

@ -0,0 +1,88 @@
using Microsoft.AspNetCore.Mvc;
using System;
using System.Threading.Tasks;
using HT.Cloud.Code;
using HT.Cloud.Domain.OrderManagement;
using HT.Cloud.Service.OrderManagement;
namespace HT.Cloud.Web.Areas.OrderManagement.Controllers
{
/// <summary>
/// 创 建:超级管理员
/// 日 期2021-07-12 20:41
/// 描 述:订单管理控制器类
/// </summary>
[Area("OrderManagement")]
public class OrderController : BaseController
{
public OrderService _service { get; set; }
#region
[HandlerAjaxOnly]
[IgnoreAntiforgeryToken]
public async Task<ActionResult> GetGridJson(SoulPage<OrderEntity> pagination, string keyword)
{
if (string.IsNullOrEmpty(pagination.field))
{
pagination.field = "F_NeedTime";
pagination.order = "asc";
}
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(OrderEntity 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
}
}

View File

@ -0,0 +1,162 @@
@{
ViewBag.Title = "Form";
Layout = "~/Views/Shared/_Form.cshtml";
}
<script>
layui.use(['jquery', 'form', 'laydate', 'tableEdit', 'commonTable', 'table', 'common', 'optimizeSelectOption'], function () {
var form = layui.form,
$ = layui.$,
laydate = layui.laydate,
tableEdit = layui.tableEdit,
table = layui.table,
commonTable = layui.commonTable,
common = layui.common;
var keyValue = $.request("keyValue");
//执行一个laydate实例
laydate.render({
elem: '#F_NeedTime'
, trigger: 'click',
format: 'yyyy/MM/dd',
});
//权限字段
common.authorizeFields('adminform');
var listData = [];
$(function () {
initControl();
if (!!keyValue) {
common.ajax({
url: '/OrderManagement/Order/GetFormJson',
dataType: 'json',
data: { keyValue: keyValue },
async: false,
success: function (data) {
common.val('adminform', data);
if (!!data.list && data.list.length > 0) {
listData = data.list;
}
common.setReadOnly('adminform');
}
});
}
else {
var code = new Date().formatDate('yyyyMMddhhmmss');
$('#F_OrderCode').val("OR-" + code);
}
form.render();
var params = [{ name: '未完成', value: 0 }, { name: '已完成', value: 1 }];
var cols = [[
{ type: "checkbox", width: 50 },
{
field: 'F_OrderState', title: '订单状态', width: 120, sort: true, filter: true
, templet: function (d) {
if (d.F_OrderState || d.F_OrderState == 0) {
if (d.F_OrderState.value || d.F_OrderState.value == 0) {
return d.F_OrderState.name;
}
for (var i = 0; i < params.length; i++) {
if (params[i].value == d.F_OrderState) {
return params[i].name;
}
}
}
return ''
}
},
{
field: 'F_ActualTime', title: '实际时间', minWidth: 160, sort: true, filter: { type: 'date[yyyy/MM/dd HH:mm:ss]' }
},
{ field: 'F_ProductName', title: '产品名称', minWidth: 145, sort: true, filter: true },
{ field: 'F_ProductDescription', title: '产品规格', minWidth: 145, filter: true },
{ field: 'F_ProductUnit', title: '产品单位', width: 120, filter: true },
{ field: 'F_NeedNum', title: '需求数量', width: 140, filter: true},
{ field: 'F_ActualNum', title: '实际数量', width: 140, filter: true},
{ field: 'F_Description', title: '备注', minWidth: 145, filter: true},
]];
commonTable.rendertable({
elem: '#currentTableId',
data: listData,
defaultToolbar: [],
search: false,
limit: 9999,//每页数据 默认
page: { //支持传入 laypage 组件的所有参数某些参数除外jump/elem - 详见文档
layout: ['count'] //自定义分页布局
, first: false //不显示首页
, last: false //不显示尾页
},
height: 'full-185',
filter: {
clearFilter: false,
},
cols: cols
});
});
wcLoading.close();
function initControl() {
//此处需修改
//绑定数据源
//类型为下拉框时
}
});
</script>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<div class="layui-form layuimini-form" lay-filter="adminform">
<div class="layui-form-item">
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label">订单编号</label>
<div class="layui-input-block">
<input type="text" id="F_OrderCode" name="F_OrderCode" autocomplete="off" maxlength="50" lay-verify="required" placeholder="请输入订单编号" class="layui-input">
</div>
</div>
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label">订单状态</label>
<div class="layui-input-block">
<select id="F_OrderState" name="F_OrderState" disabled>
<option value="0">未完成</option>
<option value="1">已完成</option>
</select>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label">需求时间</label>
<div class="layui-input-block">
<input type="text" id="F_NeedTime" name="F_NeedTime" autocomplete="off" lay-verify="required" class="layui-input">
</div>
</div>
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label">选项</label>
<div class="layui-input-block">
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效标识">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-col-md12 layui-col-xs12 layui-hide">
<label class="layui-form-label">备注</label>
<div class="layui-input-block">
<input id="F_Description" name="F_Description" class="layui-input" placeholder="请输入备注">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-col-md12 layui-col-sm12">
<label class="layui-form-label">明细列表</label>
<div class="layui-input-block">
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
</div>
</div>
</div>
</div>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container" id="toolbar">
</div>
</script>
</div>
</div>
</body>

View File

@ -0,0 +1,237 @@
@{
ViewBag.Title = "Form";
Layout = "~/Views/Shared/_Form.cshtml";
}
<script>
layui.use(['jquery', 'form', 'laydate', 'tableEdit', 'commonTable', 'table', 'common', 'optimizeSelectOption'], function () {
var form = layui.form,
$ = layui.$,
laydate = layui.laydate,
tableEdit = layui.tableEdit,
table = layui.table,
commonTable = layui.commonTable,
common = layui.common;
var keyValue = $.request("keyValue");
//执行一个laydate实例
laydate.render({
elem: '#F_NeedTime'
, trigger: 'click',
format: 'yyyy/MM/dd',
});
//权限字段
common.authorizeFields('adminform');
var listData = [];
$(function () {
initControl();
if (!!keyValue) {
common.ajax({
url: '/OrderManagement/Order/GetFormJson',
dataType: 'json',
data: { keyValue: keyValue },
async: false,
success: function (data) {
common.val('adminform', data);
if (!!data.list && data.list.length > 0) {
listData = data.list;
}
}
});
}
else {
var code = new Date().formatDate('yyyyMMddhhmmss');
$('#F_OrderCode').val("OR-" + code);
}
form.render();
var params = [{ name: '未完成', value: 0 }, { name: '已完成', value: 1 }];
var cols = [[
{ type: "checkbox", width: 50 },
{
field: 'F_OrderState', title: '订单状态', width: 120, sort: true, event: 'orderState', config: { type: 'select', data: params, verify: { type: "required" } }
, templet: function (d) {
if (d.F_OrderState || d.F_OrderState == 0) {
if (d.F_OrderState.value || d.F_OrderState.value == 0) {
return d.F_OrderState.name;
}
for (var i = 0; i < params.length; i++) {
if (params[i].value == d.F_OrderState) {
return params[i].name;
}
}
}
return ''
}
},
{
field: 'F_ActualTime', title: '实际时间', minWidth: 160, sort: true, event: 'actualTime', config: { type: 'date', dateType: 'date' }
},
{ field: 'F_ProductName', title: '产品名称', minWidth: 145, sort: true, event: 'productName', config: { type: 'input', verify: { type: "required" } } },
{ field: 'F_ProductDescription', title: '产品规格', minWidth: 145, event: 'productDescription', config: { type: 'input'} },
{ field: 'F_ProductUnit', title: '产品单位', width: 120, event: 'productUnit', config: { type: 'input' } },
{ field: 'F_NeedNum', title: '需求数量', width: 140, event: 'needNum', config: { type: 'signedInput' } },
{ field: 'F_ActualNum', title: '实际数量', width: 140, event: 'actualNum', config: { type: 'signedInput' } },
{ field: 'F_Description', title: '备注', minWidth: 145, event: 'Description', config: { type: 'input' } },
]];
commonTable.rendertable({
elem: '#currentTableId',
data: listData,
defaultToolbar: [],
search: false,
limit: 9999,//每页数据 默认
page: { //支持传入 laypage 组件的所有参数某些参数除外jump/elem - 详见文档
layout: ['count'] //自定义分页布局
, first: false //不显示首页
, last: false //不显示尾页
},
height: 'full-185',
filter: {
clearFilter: false,
},
cols: cols
});
var aopTable = tableEdit.aopObj(cols); //获取一个aop对象
aopTable.on('tool(currentTableFilter)', function (obj) {
var field = obj.field; //单元格字段
var value = obj.value; //修改后的值
var data = obj.data; //当前行旧数据
var event = obj.event; //当前单元格事件属性值
var update = {};
update[field] = value;
//把value更新到行中
obj.update(update);
});
//行点击事件监听,控制按钮显示
var oneList = [];//选择1条显示
var moreList = ["NF-delete"];//多条显示
commonTable.tableRowClick("checkbox", "currentTableFilter", "currentTableId", oneList, moreList);
});
wcLoading.close();
//toolbar监听事件
table.on('toolbar(currentTableFilter)', function (obj) {
var data = table.checkStatus('currentTableId').data;
if (obj.event === 'add') { // 监听添加操作\
var alldata = table.cache.currentTableId;
alldata.push({ F_Id: uuid(), F_OrderState: 0, F_NeedNum: '0', F_ActualNum: '0', F_ActualTime: '', F_ProductName: '', F_ProductDescription: '', F_ProductUnit: '',F_Description:'' })
table.reload('currentTableId', { data: alldata })
}
else if (obj.event === 'delete') {
if (data.length == 0) {
common.modalMsg("未选中数据", "warning");
return false;
}
common.modalConfirm("注:您确定要删除选择的数据吗?", function (r) {
if (r) {
var alldata = table.cache.currentTableId;
for (var j = 0; j < data.length; j++) {
for (var i = alldata.length-1; i >= 0; i--) {
if (alldata[i].F_Id == data[j].F_Id) {
alldata.splice(i, 1);
break;
}
}
}
table.reload('currentTableId', { data: alldata })
}
});
}
return false;
});
function initControl() {
//此处需修改
//绑定数据源
//类型为下拉框时
}
//监听提交
form.on('submit(saveBtn)', function (data) {
var postData = data.field;
postData.list = table.cache.currentTableId;
if (!postData.list || postData.list.length == 0) {
common.modalMsg("产品明细不能为空!");
return false;
}
for (var i = 0; i < postData.list.length; i++) {
if (!postData.list[i].F_ProductName) {
common.modalMsg("请输入明细的产品名称!");
return false;
}
postData.list[i].F_OrderState = !!postData.list[i].F_OrderState.value ? postData.list[i].F_OrderState.value : postData.list[i].F_OrderState;
}
if (!postData["F_EnabledMark"]) postData["F_EnabledMark"] = false;
common.submitForm({
url: '/OrderManagement/Order/SubmitForm?keyValue=' + keyValue,
param: postData,
success: function () {
common.parentreload('data-search-btn');
}
})
return false;
});
});
</script>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<div class="layui-form layuimini-form" lay-filter="adminform">
<div class="layui-form-item">
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">订单编号</label>
<div class="layui-input-block">
<input type="text" id="F_OrderCode" name="F_OrderCode" autocomplete="off" maxlength="50" lay-verify="required" placeholder="请输入订单编号" class="layui-input">
</div>
</div>
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">订单状态</label>
<div class="layui-input-block">
<select id="F_OrderState" name="F_OrderState" disabled>
<option value="0">未完成</option>
<option value="1">已完成</option>
</select>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label required">需求时间</label>
<div class="layui-input-block">
<input type="text" id="F_NeedTime" name="F_NeedTime" autocomplete="off" lay-verify="required" class="layui-input">
</div>
</div>
<div class="layui-col-md6 layui-col-sm6 layui-hide">
<label class="layui-form-label">选项</label>
<div class="layui-input-block">
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效标识">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-col-md12 layui-col-xs12 layui-hide">
<label class="layui-form-label">备注</label>
<div class="layui-input-block">
<input id="F_Description" name="F_Description" class="layui-input" placeholder="请输入备注">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-col-md12 layui-col-sm12">
<label class="layui-form-label">明细列表</label>
<div class="layui-input-block">
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
</div>
</div>
</div>
<div class="layui-form-item text-right layui-hide">
<button class="layui-btn site-demo-active" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
</div>
</div>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container" id="toolbar">
<button id="NF-add" name="NF-add" class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon">&#xe642;</i>添加</button>
<button id="NF-delete" name="NF-delete" class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"><i class="layui-icon">&#xe640;</i>删除</button>
</div>
</script>
</div>
</div>
</body>

View File

@ -0,0 +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">&#xe615;</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">&#xe654;</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">&#xe642;</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">&#xe640;</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">&#xe60b;</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;
}
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();
}
});
}
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>