C#实现Layui表格弹窗增删改查与详情页图片弹窗

实现Layui表格弹窗增删改查

html代码

@model CommunityMasterListModel
<link href="~/Content/layui/css/layui.css" rel="stylesheet" />
<script src="~/Content/layui/layui.js"></script>
<script src="~/Scripts/jquery.min.js"></script>
<div style="padding: 16px; display: @isShowList;">
    <form class="layui-form layui-form-pane layui-row layui-col-space16">
        <div class="layui-col-md3">
            <div class="layui-input-wrap">
                <input type="text" name="SearchText" placeholder="达人真实姓名/店铺姓名/手机号/店长手机号" class="layui-input" lay-affix="clear" autocomplete="off">
            </div>
        </div>
        <div class="layui-col-md3">
            <div class="layui-inline">
                <label class="layui-form-label">入驻类型:</label>
                <div class="layui-input-inline">
                    @Html.DropDownListFor(model => model.SettleType, Model.SettleTypeList)
                </div>
            </div>
        </div>
        <div class="layui-col-md3">
            <div class="layui-inline">
                <label class="layui-form-label">店铺状态:</label>
                <div class="layui-input-inline">
                    @Html.DropDownListFor(model => model.Status, Model.StatusList)
                </div>
            </div>
        </div>
        <div class="layui-col-md3">
            <button class="layui-btn layui-btn-radius" lay-submit lay-filter="demo-table-search">搜索</button>
            <button type="reset" class="layui-btn layui-btn-primary layui-btn-radius">重置</button>
        </div>
    </form>
    <table class="layui-hide" id="test" lay-filter="test"></table>
</div>

<script type="text/html" id="barDemo">
    <div class="layui-clear-space">
        <button type="button" style="display: @isShowInfo;" class="layui-btn layui-btn-sm layui-btn-radius " lay-event="info">查看详情</button>
        <button type="button" style="display: @isPass;" class="layui-btn layui-btn-sm  layui-btn-radius {{d.Status!=0&&d.Status!=1?"isNotShow":""}}" lay-event="pass">审核通过</button>
        <button type="button" style="display: @isTurnDown;" class="layui-btn layui-btn-sm  layui-btn-radius layui-btn-warm {{d.Status!=0&&d.Status!=1?"isNotShow":""}}" lay-event="turnDown">驳回</button>
        <button type="button" style="display: @isCloseShop;" class="layui-btn layui-btn-sm  layui-btn-radius layui-btn-danger {{d.Status==4?"isNotShow":""}}" lay-event="closeShop">关闭店铺</button>
    </div>
</script>
<script type="text/html" id="imgtmp">
    <img src="{{d.SitePhoto}}" style="width:78px;height:78px;" />
</script>


<script>
    function isNotEmptyStr(s) {
        if (typeof s == 'string' && s.length > 0) {
            return true
        }
        return false
    }
    if ("@isShowList" == "block") {
        layui.use(function () {
            var table = layui.table;
            var form = layui.form;
            var util = layui.util;

            // 创建渲染实例
            table.render({
                elem: '#test'
                , url: '@Url.Action("GetCommunityMasterList")' // 此处为静态模拟数据,实际使用时需换成真实接口
                //, toolbar: '#toolbarDemo'
                , defaultToolbar: ['filter', 'exports', 'print']
                , showIcon: true
                , cellMinWidth: 'auto'
                , height: 'full-80' // 最大高度减去其他容器已占有的高度差
                , page: true
                , cols: [[
                    { field: 'StoreID', title: 'ID', hide: true }//hide: true 隐藏列
                    , { field: 'MemberID', title: 'MemberID', hide: true }
                    , { field: 'CategoryMapID', title: 'CategoryMapID', hide: true }
                    , { align: 'center', title: '序号', type: 'numbers' }
                    , { field: 'CategoryName', title: '项目分类', width: 100 }
                    , { field: 'SitePhoto', title: '门头照片', templet: "#imgtmp", width: 120 }
                    , { field: 'StoreName', title: '店铺名称' }
                    , { field: 'RealName', title: '店长姓名' }
                    , { field: 'BossMobile', title: '店长手机号', width: 120 }
                    , { field: 'Address', title: '门店地址' }
                    , { field: 'LibaoPrice', title: '礼包价格' }
                    , { field: 'SettleTypeName', title: '入驻类型' }
                    , { field: 'StatusName', title: '店铺状态' }
                    , { field: 'CreateDateString', title: '提交时间', width: 150 }
                    , { field: 'AuditDateString', title: '审核时间', width: 150 }
                    , { title: '操作', toolbar: '#barDemo', width: 310 }
                ]]
                , error: function (res, msg) {
                    console.log(res, msg)
                }
            });

            // 工具栏事件
            //table.on('toolbar(test)', function (obj) {
            //    var id = obj.config.id;
            //    var checkStatus = table.checkStatus(id);
            //    switch (obj.event) {
            //        //case 'getCheckData':
            //        //    var data = checkStatus.data;
            //        //    layer.msg(layui.util.escape(JSON.stringify(data)));
            //        //    break;
            //    };
            //});

            // 触发单元格工具事件
            table.on('tool(test)', function (obj) { // 双击 toolDouble
                var trData = obj.data; // 获得当前行数据
                //var layEvent = obj.event; // 获得 lay-event 对应的值
                //var trElem = obj.tr;
                //console.log(trData);
                //var tableId = obj.config.id;
                switch (obj.event) {
                    case 'info':
                        layer.open({
                            id: trData.StoreID,
                            icon: 16,
                            type: 2,
                            title: '【' + trData.StoreName + '】达人店铺信息',
                            area: ['80%', '80%'],
                            btn: ['关闭'],
                            shade: 0.6, // 遮罩透明度
                            shadeClose: true, // 点击遮罩区域,关闭弹层
                            maxmin: true, // 允许全屏最小化
                            anim: 0, // 0-6 的动画形式,-1 不开启
                            move: false,
                            content: '/CommunityMaster/Info?id=' + trData.StoreID
                        });
                        break;
                    case 'pass':
                        layer.confirm("是否确定审核通过【" + trData.StoreName + "】达人店铺信息", { icon: 6 }, function (index) {
                            $.ajax({
                                url: "@Url.Action("Pass")",
                                type: "post",
                                dataType: "json",
                                data: {
                                    storeID: trData.StoreID,
                                },
                                success: function (res) {
                                    layer.msg('审核成功', { icon: 1 });
                                    location.reload(1);
                                    layer.close(index);
                                }
                            });
                        });
                        break;
                    case 'turnDown':
                        layer.prompt({ title: "请填写驳回【" + trData.StoreName + "】达人店铺信息原因" }, function (value, index, elem) {
                            if (value === '') return elem.focus();
                            //layer.msg('获得:' + util.escape(value)); // 显示 value
                            $.ajax({
                                url: "@Url.Action("TurnDown")",
                                type: "post",
                                dataType: "json",
                                data: {
                                    storeID: trData.StoreID,
                                    auditMemo: util.escape(value)
                                },
                                success: function (res) {
                                    layer.msg('驳回成功', { icon: 1 });
                                    location.reload(1);
                                    // 关闭 prompt
                                    layer.close(index);
                                }
                            });
                        });
                        break;
                    case 'closeShop':
                        layer.prompt({ title: "请填写关闭【" + trData.StoreName + "】达人店铺信息原因" }, function (value, index, elem) {
                            if (value === '') return elem.focus();
                            //layer.msg('获得:' + util.escape(value)); // 显示 value
                            $.ajax({
                                url: "@Url.Action("CloseShop")",
                                type: "post",
                                dataType: "json",
                                data: {
                                    storeID: trData.StoreID,
                                    cancelMemo: util.escape(value)
                                },
                                success: function (res) {
                                    layer.msg('关闭店铺成功', { icon: 1 });
                                    location.reload(1);
                                    // 关闭 prompt
                                    layer.close(index);
                                }
                            });
                        });
                        break;
                }
            });

            // 搜索提交
            form.on('submit(demo-table-search)', function (data) {
                var field = data.field; // 获得表单字段
                // 执行搜索重载
                table.reload('test', {
                    page: {
                        curr: 1 // 重新从第 1 页开始
                    }
                    , where: field // 搜索的字段
                });
                layer.msg('搜索成功', { icon: 1 });
                return false; // 阻止默认 form 跳转
            });
        });
    }
</script>
<style>
    .isNotShow {
        display: none;
    }

    .layui-table-cell {
        height: auto;
    }
</style>

后台代码

public ActionResult Index()
        {
            var model = new CommunityMasterListModel();
            return View(model);
        }

        /// <summary>
        /// 获取达人店铺信息列表
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpGet]
        public ActionResult GetCommunityMasterList(CommunityMasterListModel model)
        {
            int total;
            var list = _communityMasterService.GetCommunityMasterList(model.SearchText, model.Status, model.SettleType, model.Page, model.Limit, out total);
            return new JsonResult()
            {
                Data = new
                {
                    code = 0,
                    msg = string.Empty,
                    count = total,
                    data = list
                },
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };
        }

        /// <summary>
        /// 获取达人店铺信息详情
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Info(string id)
        {
            var info = _communityMasterService.GetCommunityMasterInfo(id);
            if (info == null)
                return RedirectToAction("Index");
            info.SettleTypeName = info.SettleType == "Unique" ? "独家达人" : "普通达人";
            return View(info);
        }

        /// <summary>
        /// 驳回达人店铺信息
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public ActionResult TurnDown(TurnDownCommunityMaster model)
        {
            _communityMasterService.TurnDown(model.StoreID, model.AuditMemo);
        }

        /// <summary>
        /// 审核通过达人店铺信息
        /// </summary>
        /// <param name="storeID"></param>
        /// <returns></returns>
        [HttpPost]
        public ActionResult Pass(string storeID)
        {
            _communityMasterService.Pass(storeID);
        }

        /// <summary>
        /// 关闭达人店铺
        /// </summary>
        /// <param name="storeID"></param>
        /// <returns></returns>
        [HttpPost]
        public ActionResult CloseShop(string storeID, string cancelMemo)
        {
            var res = _communityMasterService.CloseShop(storeID,cancelMemo);
            if (res.Item1)
            {
                return Json(new { code = 200 });
            }
            else
            {
                return Json(new { code = 201, msg = res.Item2 });
            }
        }

Layui图片点击弹窗大图

<div class="layui-form-item  layui-form-text">
                        <label class="layui-form-label">商家上传图片: </label>
                        <div id="ID-photos-demo" class="class-photos-demo layui-textarea" disabled="disabled">
                            <div id="ID-photos-demo" class="class-photos-demo">
                                @foreach (var item in Model.ServicePic.Split(',').ToList())
                                {
                                    <img src="@item" layer-src="@item" layer-pid="" alt="">
                                }
                            </div>
                        </div>
                    </div>
                    <style>
    .class-photos-demo img {
        width: 160px;
        height: 100px;
        cursor: pointer;
        margin: 5px;
    }

    .layui-layer-photos .layui-layer-phimg img {
        width: 45%;
    }
</style>
<script>
    layui.use(function () {
        var layer = layui.layer;
        // 图片层
        layer.photos({
            photos: '#ID-photos-demo'
        });
    });
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值