duhe
2023-09-22 f42f6a3d82cb81f0951b97d29d3741376994b557
工作任务:文件上传初稿
2个文件已修改
235 ■■■■■ 已修改文件
WebTM/Properties/PublishProfiles/JFTM.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/工作任务/PM_WorkTaskBill.html 233 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/Properties/PublishProfiles/JFTM.pubxml.user
@@ -4578,7 +4578,7 @@
      <publishTime>09/22/2023 14:53:55</publishTime>
    </File>
    <File Include="views/项目管理/工作任务/PM_WorkTaskBill.html">
      <publishTime>09/07/2023 10:55:19</publishTime>
      <publishTime>09/22/2023 16:19:57</publishTime>
    </File>
    <File Include="views/项目管理/工作任务/PM_WorkTaskBillList.html">
      <publishTime>09/22/2023 14:45:23</publishTime>
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤×÷ÈÎÎñ/PM_WorkTaskBill.html
@@ -67,6 +67,7 @@
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <ul class="layui-tab-title" lay-filter="tab-all">
                            <li lay-id="1" style="padding:1px;" class="layui-this">基本信息</li>
                            <li lay-id="2" style="padding:1px;">附件信息</li>
                            <li lay-id="2" style="padding:1px;">其他信息</li>
                        </ul>
                        <div class="layui-tab-content">
@@ -82,11 +83,11 @@
                                            </div>
                                        </div>
                                        <!--<div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">项目代码<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" lay-verify="HProNumber" name="HProNumber" id="HProNumber">
                                            </div>
                                        </div>-->
                    <label class="layui-form-label" style="width: 85px;">项目代码<label style="color:red"> * </label></label>
                    <div class="layui-input-block" style="margin-left: 120px;">
                        <input type="text" class="layui-input" lay-verify="HProNumber" name="HProNumber" id="HProNumber">
                    </div>
                </div>-->
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">项目代码<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
@@ -227,6 +228,62 @@
                                    </div>
                                </div>
                            </div>
                            <!--附件信息-->
                            <div class="layui-tab-item">
                                <div class="layui-form-item" style="padding-top: 10px;">
                                    <div class="layui-upload">
                                        <button type="button" class="layui-btn" id="testList">选择文件</button><input class="layui-upload-file" type="file" accept="" name="file" multiple="">
                                        <div class="layui-tab" lay-filter="tab-fileList">
                                            <ul class="layui-tab-title" lay-filter="tab-all">
                                                <li lay-id="1" style="padding:1px;" class="layui-this">等待上传</li>
                                                <li lay-id="2" style="padding:1px;">已经上传</li>
                                            </ul>
                                            <div class="layui-tab-content">
                                                <!--等待上传-->
                                                <div class="layui-tab-item layui-show">
                                                    <div class="layui-form-item" style="padding-top: 10px;">
                                                        <div class="layui-upload-list">
                                                            <table class="layui-table">
                                                                <thead>
                                                                    <tr>
                                                                        <th>文件名</th>
                                                                        <th>大小</th>
                                                                        <th>状态</th>
                                                                        <th>操作</th>
                                                                    </tr>
                                                                </thead>
                                                                <tbody id="ProImgByList">
                                                                </tbody>
                                                            </table>
                                                        </div>
                                                    </div>
                                                </div>
                                                <!--已经上传-->
                                                <div class="layui-tab-item">
                                                    <div class="layui-form-item" style="padding-top: 10px;">
                                                        <div class="layui-upload-list">
                                                            <table class="layui-table">
                                                                <thead>
                                                                    <tr>
                                                                        <th>文件名</th>
                                                                        <th>大小</th>
                                                                        <th>状态</th>
                                                                        <th>操作</th>
                                                                    </tr>
                                                                </thead>
                                                                <tbody id="ProImgByList1">
                                                                </tbody>
                                                            </table>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <!--其他信息-->
                            <div class="layui-tab-item">
                                <div class="layui-form-item">
@@ -334,14 +391,15 @@
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
        }).use(['index', 'form', 'laydate', 'table', 'element','upload'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , element = layui.element;
                , element = layui.element
                , upload = layui.upload;
            //模块名
            var HModName = "PM_WorkTaskBill";
@@ -385,6 +443,9 @@
                $("#HLastDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化日期
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                //文件选择初始化
                PicUpload();
            }
            //else if (OperationType == 2) {                                      //复制
            //    //禁用组织选项
@@ -407,6 +468,11 @@
                //$("#HOrgID").attr("disabled", true);
                //初始化项目阶段表
                RoadBillMain(linterid);
                //文件选择初始化
                PicUpload();
                //展示已上传的文件
                getFileList_loaded();
            } else if (OperationType == 4 && HProjectStageID != null) {                     //下推
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
@@ -427,6 +493,8 @@
                //下推-页面设置
                set_WorkTaskReport();
                //文件选择初始化
                PicUpload();
            }
            //#endregion
@@ -589,6 +657,7 @@
            function createBillNo() {
                $.ajax({
                    url: GetWEBURL() + "/Web/GetMAXNum",
                    async: false,
                    type: "GET",
                    data: { "HBillType": '4753' },
                    success: function (d) {
@@ -809,6 +878,113 @@
                    }
                });
            }
            //#endregion
            //#region æ–‡ä»¶ä¸Šä¼ 
            function PicUpload() {
                //多图片上传
                //多文件列表示例
                var ProImgByList = $('#ProImgByList')
                    , uploadListIns = upload.render({
                        elem: '#testList'
                        , url: GetWEBURL() + "/Cj_StationOutBill/UploadFile1"
                        , accept: 'file'
                        , multiple: true
                        , auto: false
                        //, bindAction: '#testListAction' //按扭绑定
                        , data: { "HBillNo": $("#HBillNo").val(), "HRemark": $("#HRemark").val(), "HUserName": sessionStorage["HUserName"] }
                        , choose: function (obj) {
                            var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
                            //读取本地文件
                            obj.preview(function (index, file, result) {
                                var tr = $(['<tr id="upload-' + index + '">'
                                    , '<td>' + file.name + '</td>'
                                    , '<td>' + (file.size / 1014).toFixed(1) + 'kb</td>'
                                    , '<td>等待上传</td>'
                                    , '<td>'
                                    , '<button class="layui-btn layui-btn-xs demo-reload ">上传</button>'
                                    , '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'
                                    , '</td>'
                                    , '</tr>'].join(''));
                                //单个重传
                                tr.find('.demo-reload').on('click', function () {
                                    obj.upload(index, file);
                                    return false;
                                });
                                //删除
                                tr.find('.demo-delete').on('click', function () {
                                    delete files[index]; //删除对应的文件
                                    tr.remove();
                                    uploadListIns.config.elem.next()[0].value = ''; //清空 input file å€¼ï¼Œä»¥å…åˆ é™¤åŽå‡ºçŽ°åŒåæ–‡ä»¶ä¸å¯é€‰
                                });
                                ProImgByList.append(tr);
                            });
                        }
                        , done: function (res, index, upload) {
                            if (res.code == 1) { //上传成功
                                var tr = ProImgByList.find('tr#upload-' + index)
                                    , tds = tr.children();
                                tds.eq(2).html('<span style="color: #5FB878;">上传成功</span>');
                                tds.eq(3).html(''); //清空操作
                                //tds.eq(3).find('.demo-reload').addClass('layui-hide'); //隐藏上传
                                //展示该单据全部上传的文件
                                getFileList_loaded();
                                return delete this.files[index]; //删除文件队列已经上传成功的文件
                            }
                            this.error(index, upload);
                        }
                        , error: function (index, upload) {
                            var tr = ProImgByList.find('tr#upload-' + index)
                                , tds = tr.children();
                            tds.eq(2).html('<span style="color: #FF5722;">上传失败[检查文件名及文件格式]</span>');
                            tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示上传
                        }
                    });
            }
            //#endregion
            //#region ç¼–辑时,获取已上传的文件列表
            function getFileList_loaded() {
                var HBillNo = $("#HBillNo").val();
                if (HBillNo != null || HBillNo != undefined) {
                    var ProImgByList = $('#ProImgByList1')
                    $.ajax({
                        url: GetWEBURL() + '/Cj_StationOutBill/Filelist',
                        async: false,
                        type: "GET",
                        data: { "HBillNo": HBillNo },
                        success: function (data1) {
                            if (data1.count == 1) {
                                var index = 0;
                                $('#ProImgByList1').empty();
                                for (var i = 0; i < data1.data.length; i++) {
                                    var tr = $(['<tr id="upload-' + i + '">'
                                        , '<td style="display:none">' + data1.data[i].HItemID + '</td>'
                                        , '<td style="display:none">' + data1.data[i].HSourceBillNo + '</td>'
                                        , '<td>' + data1.data[i].HFileName + '</td>'
                                        , '<td>' + (data1.data[i].HFileSize / 1014).toFixed(1) + 'kb</td>'
                                        , '<td style="color: #5FB878;">上传成功</td>'
                                        , '<td style="display:none">' + data1.data[i].url + '</td>'
                                        , '<td>'
                                        , '<button class="layui-btn layui-btn-xs  demo-dowload" type="button" id="deltefile" onclick="javascript:dowload(this)"><i class="layui-icon layui-icon-download-circle layuiadmin-button-btn"></i>下载</button>'
                                        , '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete" type="button" id="deltefile" onclick="javascript:toManager(this)"><i class="layui-icon layui-icon-delete layuiadmin-button-btn"></i>删除</button>'
                                        , '</td>'
                                        , '</tr>'].join(''));
                                    $('#ProImgByList1').append(tr);
                                }
                            } else {
                                layer.alert(data1.code + data1.Message, { icon: 5 });
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                        }
                    });
                }
            }
            //#endregion
@@ -1252,6 +1428,49 @@
        });
        //#region ä¸‹è½½å·²ä¸Šä¼ çš„æ–‡ä»¶
        function dowload(r) {
            //得到当前所在行
            var rows = r.parentNode.parentNode.rowIndex;
            //得到所在行的第五列的内容:文件地址
            var url = $("#ProImgByList1 tr:eq(" + (rows - 1) + ") td:eq(5)").html();
            /*window.location.href = url;*/
            window.open(url)
        }
        //#endregion
        //#region åˆ é™¤å·²ä¸Šä¼ çš„æ–‡ä»¶
        function toManager(r) {
            //得到当前所在行
            var rows = r.parentNode.parentNode.rowIndex;
            //得到所在行的第一列的内容:主键ID
            var HItemID = $("#ProImgByList1 tr:eq(" + (rows - 1) + ") td:eq(0)").html();
            //得到所在行的第二列的内容:单据号
            var HSourceBillNo = $("#ProImgByList1 tr:eq(" + (rows - 1) + ") td:eq(1)").html();
            //得到所在行的第三列的内容:文件名称
            var HFileName = $("#ProImgByList1 tr:eq(" + (rows - 1) + ") td:eq(2)").html();
            layer.confirm("确认要删除吗,删除后不能恢复", { title: "删除确认" }, function (index) {
                //删除已上传文件
                $.ajax({
                    url: GetWEBURL() + '/Cj_StationOutBill/DeleteFilelist',
                    type: "GET",
                    data: { "HItemID": HItemID, "HSourceBillNo": HSourceBillNo, "HFileName": HFileName },
                    success: function (data1) {
                        if (data1.count == 1) {
                            layer.alert(data1.Message, { icon: 1 });
                            $("#ProImgByList1 tr").eq((rows - 1)).remove();
                        }
                        else {
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            })
        }
            //#endregion
    </script>
</body>