中扬CRM客户关系管理系统
LSH
2023-10-07 779be6c8e18bb3ac34ea7fa7b7fafc854570cffe
#出差相关
4个文件已修改
463 ■■■■■ 已修改文件
src/main/java/com/zy/crm/manager/controller/BusinessTripController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/controller/OrderController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/order/order.js 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/order/order.html 249 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/controller/BusinessTripController.java
@@ -278,6 +278,7 @@
                    // 修改规划单状态
                    businessTrip.setSettle(2);  // 申请通过
                    businessTrip.setStatus(1);
                    businessTrip.setUpdateId(getUserId());
                    businessTrip.setUpdateTime(now);
                    if (!businessTripService.updateById(businessTrip)) {
src/main/java/com/zy/crm/manager/controller/OrderController.java
@@ -221,6 +221,15 @@
        return R.ok();
    }
    @PostMapping(value = "/order/business/list/auth")
    @ManagerAuth
    public R orderBusiness(@RequestParam Long orderId){
        List<KeyValueVo> vos = new ArrayList<>();
        vos.add(new KeyValueVo("出差申请", 1L));
        vos.add(new KeyValueVo("其它出差", 2L));
        return R.ok().add(vos);
    }
    @RequestMapping(value = "/orderQuery/auth")
    @ManagerAuth
    public R query(String condition) {
src/main/webapp/static/js/order/order.js
@@ -164,7 +164,7 @@
            ,{field: 'updateTime$', align: 'left',title: '修改时间', hide: true}
            ,{field: 'memo', align: 'left',title: '注释', hide: true}
            ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:120}
            ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:180}
        ]],
        request: {
            pageName: 'curr',
@@ -257,8 +257,174 @@
            case "del":
                del([data.id]);
                break;
            case "business":
                // 选择出差类型
                admin.open({
                    type: 1,
                    area: '300px',
                    title: '选择出差类型',
                    content: $('#businessListDialog').html(),
                    success: function (layero, dIndex) {
                        let businessSel = xmSelect.render({
                            el: '#businessXmlSel',
                            autoRow: true,
                            filterable: true,
                            remoteSearch: true,
                            clickClose: true,
                            radio: true,
                            remoteMethod: function (val, cb, show) {
                                let loadIndex = layer.load(2);
                                $.ajax({
                                    url: baseUrl+"/order/business/list/auth",
                                    headers: {'token': localStorage.getItem('token')},
                                    data: {
                                        orderId: data.id
                                    },
                                    method: 'POST',
                                    success: function (res) {
                                        layer.close(loadIndex);
                                        if (res.code === 200) {
                                            cb(res.data)
                                        } else {
                                            layer.close(dIndex);
                                            layer.msg(res.msg, {icon: 2});
                                        }
                                    }
                                })
                            }
                        });
                        form.on('submit(editSubmit)', function () {
                            let businessSN = businessSel.getValue()[0] ? businessSel.getValue()[0].value : null;
                            if (!businessSN) {
                                layer.msg("请选择出差单类型", {icon: 2});
                                top.requireTip($('#orderStaXmlSel'));
                                return false;
                            }
                            if (businessSN===1){
                                business(data.id);
                            }else {
                                businessOther(data.id);
                            }
                        });
                        $(layero).children('.layui-layer-content').css('overflow', 'visible');
                    }
                });
                break;
        }
    });
    /* 弹窗 - 出差申请 */
    function business(orderId) {
        admin.open({
            type: 1,
            area: '1500px',
            title:  '出差申请',
            content: $('#editDialog2').html(),
            success: function (layero, dIndex) {
                layDateRender("添加");
                cascaderRenderStart();
                cascaderRenderEnd();
                form.val('detail2');
                form.on('submit(editSubmit2)', function (data) {
                    var loadIndex = layer.load(2);
                    console.log(data)
                    data.field.orderId=orderId;
                    console.log(orderId)
                    console.log(data)
                    $.ajax({
                        url: baseUrl+"/businessTrip/add/auth",
                        headers: {'token': localStorage.getItem('token')},
                        data: data.field,
                        method: 'POST',
                        success: function (res) {
                            layer.close(loadIndex);
                            if (res.code === 200){
                                layer.close(dIndex);
                                layer.msg(res.msg, {icon: 1});
                                tableReload();
                            } else if (res.code === 403){
                                top.location.href = baseUrl+"/";
                            }else {
                                layer.msg(res.msg, {icon: 2});
                            }
                        }
                    })
                    return false;
                });
                $(layero).children('.layui-layer-content').css('overflow', 'visible');
                layui.form.render('select');
            }
        });
        // layer.open({
        //     type: 2,
        //     title: '出差申请',
        //     maxmin: true,
        //     area: [top.detailWidth, top.detailHeight],
        //     shadeClose: true,
        //     content: '../../views/businessTrip/businessTrip.html',
        //     success:function(){
        //
        //     }
        //     ,yes:function(){
        //
        //     }
        //
        // });
    }
    /* 弹窗 - 其它出差 */
    function businessOther(mData) {
        admin.open({
            type: 1,
            area: '1500px',
            title:  '出差申请',
            content: $('#editDialog3').html(),
            success: function (layero, dIndex) {
                form.val('detail3');
                form.on('submit(editSubmit3)', function (data) {
                    var loadIndex = layer.load(2);
                    console.log(data)
                    data.field.orderId=orderId
                    console.log(orderId)
                    $.ajax({
                        url: baseUrl+"/businessTripOther/order/add/auth",
                        headers: {'token': localStorage.getItem('token')},
                        data: data.field,
                        method: 'POST',
                        success: function (res) {
                            layer.close(loadIndex);
                            if (res.code === 200){
                                layer.close(dIndex);
                                layer.msg(res.msg, {icon: 1});
                                tableReload();
                            } else if (res.code === 403){
                                top.location.href = baseUrl+"/";
                            }else {
                                layer.msg(res.msg, {icon: 2});
                            }
                        }
                    })
                    return false;
                });
                $(layero).children('.layui-layer-content').css('overflow', 'visible');
                layui.form.render('select');
            }
        });
        // layer.open({
        //     type: 2,
        //     title: '其它出差',
        //     maxmin: true,
        //     area: [top.detailWidth, top.detailHeight],
        //     shadeClose: true,
        //     content: '../../views/businessTrip/businessTripOther.html',
        //     success: function(layero, index){
        //
        //     }
        // });
    }
    /* 弹窗 - 新增、修改 */
    function showEditModel(mData) {
@@ -393,6 +559,16 @@
    function layDateRender(data) {
        setTimeout(function () {
            layDate.render({
                elem: '#businessStartTime\\$',
                type: 'datetime',
                value: data!==undefined?data['businessStartTime\\$']:null
            });
            layDate.render({
                elem: '#businessEndTime\\$',
                type: 'datetime',
                value: data!==undefined?data['businessEndTime\\$']:null
            });
            layDate.render({
                elem: '.layui-laydate-range'
                ,type: 'datetime'
                ,range: true
@@ -413,6 +589,32 @@
    layDateRender();
    // 省市区选择
    function cascaderRenderStart() {
        cascader.render({
            elem: '#cascaderValStart',
            data: citysData,
            itemHeight: '250px',
            filterable: true,
            onChange: function (values, data) {
                // console.log(values);console.log(data);
            }
        });
    }
    // 省市区选择
    function cascaderRenderEnd() {
        cascader.render({
            elem: '#cascaderValEnd',
            data: citysData,
            itemHeight: '250px',
            filterable: true,
            onChange: function (values, data) {
                // console.log(values);console.log(data);
            }
        });
    }
    // 省市区选择
    function cascaderRender() {
        cascader.render({
            elem: '#cascaderVal',
src/main/webapp/views/order/order.html
@@ -106,6 +106,20 @@
<script type="text/html" id="operate">
    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a>
    <a class="layui-btn icon-btn layui-btn-sm" lay-event="business">出差</a>
</script>
<script type="text/html" id="businessListDialog">
    <div class="layui-form admin-form">
        <div class="model-form" style="padding: 30px">
            <div id="businessXmlSel"></div>
        </div>
        <hr class="layui-bg-gray">
        <div class="layui-form-item text-right" style="padding-right: 30px">
            <button class="layui-btn" lay-filter="editSubmit" lay-submit="">继续</button>
            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">关闭</button>
        </div>
    </div>
</script>
<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
@@ -224,5 +238,240 @@
        </div>
    </div>
</script>
<!-- 表单弹窗 -->
<script type="text/html" id="editDialog2">
    <form id="detail2" lay-filter="detail2" class="layui-form admin-form" style="height: 100%;overflow-y: hidden;">
        <div class="model-form" style="height: 87%;overflow-x: hidden;overflow-y: scroll">
            <input name="id" type="hidden">
            <!--基本信息-->
            <blockquote class="layui-elem-quote" style="margin-left: 30px;padding: 8px 15px;">基本信息</blockquote>
            <div class="layui layui-row">
                <div class="layui-col-md12">
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">出差事由: </label>
                        <div class="layui-input-block">
                            <textarea class="layui-textarea" name="businessTripReasons" placeholder="请输入备注" maxlength="1024" autocomplete="off" lay-verify="required"></textarea>
                        </div>
                    </div>
                </div>
            </div>
            <!--行程-->
            <blockquote class="layui-elem-quote" style="margin-left: 30px;padding: 8px 15px;">行程信息</blockquote>
            <div class="layui layui-row">
                <div class="layui-col-md6">
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">交通工具: </label>
                        <div class="layui-input-block">
                            <select name="businessTransportation" lay-vertype="tips" lay-verify="required">
                                <option value="">请选择区分</option>
                                <option value="1">飞机</option>
                                <option value="2">高铁</option>
                                <option value="3">火车</option>
                                <option value="4">汽车</option>
                                <option value="5">摩托</option>
                                <option value="6">电车</option>
                                <option value="7">其它</option>
                            </select>
                        </div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">单程往返: </label>
                        <div class="layui-input-block">
                            <select name="businessReturn" lay-vertype="tips" lay-verify="required">
                                <option value="">请选择区分</option>
                                <option value="1">单程</option>
                                <option value="2">往返</option>
                            </select>
                        </div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">车牌号: </label>
                        <div class="layui-input-block">
                            <input class="layui-input" name="carNumber" placeholder="请输入自驾私家车车牌号(若不用则填写‘无’)" lay-vertype="tips" lay-verify="required">
                        </div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">行程明细及公里数: </label>
                        <div class="layui-input-block">
                            <input class="layui-input" name="kilometers" placeholder="请输入自驾私家车行程明细及公里数(若不用则填写‘无’)" lay-vertype="tips" lay-verify="required">
                        </div>
                    </div>
                </div>
                <div class="layui-col-md6">
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">出发地: </label>
                        <div class="layui-input-block">
                            <input id="cascaderValStart" class="layui-input" name="pcdStart" placeholder="请选择出发地"  lay-verify="required">
                        </div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">出发地详细地址: </label>
                        <div class="layui-input-block">
                            <input class="layui-input" name="businessStartAddr" placeholder="请输入出发地详细地址"  autocomplete="off"  lay-verify="required">
                        </div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">目的地: </label>
                        <div class="layui-input-block">
                            <input id="cascaderValEnd" class="layui-input" name="pcdEnd" placeholder="请选择出发地"  lay-verify="required">
                        </div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">目的地详细地址: </label>
                        <div class="layui-input-block">
                            <input class="layui-input" name="businessEndAddr" placeholder="请输入目的地详细地址"  autocomplete="off"  lay-verify="required">
                        </div>
                    </div>
                    <!--                    <div class="layui-form-item">-->
                    <!--                        <label class="layui-form-label">出差时长: </label>-->
                    <!--                        <div class="layui-input-block">-->
                    <!--                            <input class="layui-input" name="businessDuration" placeholder="请输入出差时长">-->
                    <!--                        </div>-->
                    <!--                    </div>-->
                    <!--                    <div class="layui-form-item">-->
                    <!--                        <label class="layui-form-label">出差天数: </label>-->
                    <!--                        <div class="layui-input-block">-->
                    <!--                            <input class="layui-input" name="businessTripDays" placeholder="请输入出差天数">-->
                    <!--                        </div>-->
                    <!--                    </div>-->
                </div>
            </div>
            <!--自驾-->
            <blockquote class="layui-elem-quote" style="margin-left: 30px;padding: 8px 15px;">日期信息</blockquote>
            <div class="layui layui-row">
                <div class="layui-col-md6">
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">出发日期: </label>
                        <div class="layui-input-block">
                            <input class="layui-input" name="businessStartTime" id="businessStartTime$" placeholder="请输入出发日期" lay-vertype="tips" lay-verify="required" readonly="readonly">
                        </div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">出发时辰: </label>
                        <div class="layui-input-block">
                            <select name="businessStartTimeDay" lay-vertype="tips" lay-verify="required">
                                <option value="">请选择区分</option>
                                <option value="1">上午</option>
                                <option value="2">下午</option>
                            </select>
                        </div>
                    </div>
                </div>
                <div class="layui-col-md6">
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">结束日期: </label>
                        <div class="layui-input-block">
                            <input class="layui-input" name="businessEndTime" id="businessEndTime$" placeholder="请输入结束日期" lay-vertype="tips" lay-verify="required"  readonly="readonly">
                        </div>
                    </div>
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">结束时辰: </label>
                        <div class="layui-input-block">
                            <select name="businessEndTimeDay" lay-vertype="tips" lay-verify="required">
                                <option value="">请选择区分</option>
                                <option value="1">上午</option>
                                <option value="2">下午</option>
                            </select>
                        </div>
                    </div>
                </div>
            </div>
            <!--其它-->
            <blockquote class="layui-elem-quote" style="margin-left: 30px;padding: 8px 15px;">其它信息</blockquote>
            <div class="layui layui-row">
                <div class="layui-col-md6">
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">同行人: </label>
                        <div class="layui-input-block">
                            <input class="layui-input" name="businessPeers" placeholder="请输入同行人" lay-vertype="tips" lay-verify="required">
                        </div>
                    </div>
                </div>
                <div class="layui-col-md6">
                </div>
                <div class="layui-col-md12">
                    <!--                    <div class="layui-form-item">-->
                    <!--                        <label class="layui-form-label">出差备注: </label>-->
                    <!--                        <div class="layui-input-block">-->
                    <!--                            <input class="layui-input" name="businessNotes" placeholder="请输入出差备注">-->
                    <!--                        </div>-->
                    <!--                    </div>-->
                    <div class="layui-form-item">
                        <label class="layui-form-label">备注: </label>
                        <div class="layui-input-block">
                            <textarea class="layui-textarea" name="businessNotes" placeholder="请输入备注" maxlength="1024" autocomplete="off"></textarea>
                        </div>
                    </div>
                    <!--                    <div class="layui-form-item">-->
                    <!--                        <label class="layui-form-label">类型: </label>-->
                    <!--                        <div class="layui-input-block">-->
                    <!--                            <input class="layui-input" name="businessTripType" placeholder="请输入类型">-->
                    <!--                        </div>-->
                    <!--                    </div>-->
                </div>
            </div>
        </div>
        <div style="height: 10%">
            <hr class="layui-bg-gray">
            <div class="layui-form-item text-right" style="padding-right: 30px">
                <button class="layui-btn" lay-filter="editSubmit2" lay-submit="">提交</button>
                <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
            </div>
        </div>
    </form>
</script>
<!-- 表单弹窗 -->
<script type="text/html" id="editDialog3">
    <form id="detail3" lay-filter="detail3" class="layui-form admin-form" style="height: 100%;overflow-y: hidden;">
        <div class="model-form" style="height: 87%;overflow-x: hidden;overflow-y: scroll">
            <input name="id" type="hidden">
            <!--基本信息-->
            <blockquote class="layui-elem-quote" style="margin-left: 30px;padding: 8px 15px;">基本信息</blockquote>
            <div class="layui layui-row">
                <div class="layui-col-md12">
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">出差事由: </label>
                        <div class="layui-input-block">
                            <textarea class="layui-textarea" name="businessTripReasons" placeholder="请输入备注" maxlength="1024" autocomplete="off" lay-verify="required"></textarea>
                        </div>
                    </div>
                </div>
                <div class="layui-col-md12">
                    <div class="layui-form-item">
                        <label class="layui-form-label layui-form-required">预估金额: </label>
                        <div class="layui-input-block">
                            <input class="layui-input" name="amountOfMoney" placeholder="请输入金额(元)" lay-vertype="tips" lay-verify="required">
                        </div>
                    </div>
                </div>
            </div>
            <!--其它-->
            <blockquote class="layui-elem-quote" style="margin-left: 30px;padding: 8px 15px;">其它信息</blockquote>
            <div class="layui layui-row">
                <div class="layui-col-md12">
                    <div class="layui-form-item">
                        <label class="layui-form-label">备注: </label>
                        <div class="layui-input-block">
                            <textarea class="layui-textarea" name="businessNotes" placeholder="请输入备注" maxlength="1024" autocomplete="off"></textarea>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div style="height: 10%">
            <hr class="layui-bg-gray">
            <div class="layui-form-item text-right" style="padding-right: 30px">
                <button class="layui-btn" lay-filter="editSubmit3" lay-submit="">提交</button>
                <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
            </div>
        </div>
    </form>
</script>
</html>