From 779be6c8e18bb3ac34ea7fa7b7fafc854570cffe Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期六, 07 十月 2023 15:11:14 +0800
Subject: [PATCH] #出差相关

---
 src/main/java/com/zy/crm/manager/controller/BusinessTripController.java |    1 
 src/main/webapp/static/js/order/order.js                                |  204 +++++++++++++++++++++++++
 src/main/java/com/zy/crm/manager/controller/OrderController.java        |    9 +
 src/main/webapp/views/order/order.html                                  |  249 +++++++++++++++++++++++++++++++
 4 files changed, 462 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/crm/manager/controller/BusinessTripController.java b/src/main/java/com/zy/crm/manager/controller/BusinessTripController.java
index 697d224..9454b40 100644
--- a/src/main/java/com/zy/crm/manager/controller/BusinessTripController.java
+++ b/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)) {
diff --git a/src/main/java/com/zy/crm/manager/controller/OrderController.java b/src/main/java/com/zy/crm/manager/controller/OrderController.java
index 05433c2..006bf7f 100644
--- a/src/main/java/com/zy/crm/manager/controller/OrderController.java
+++ b/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) {
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index 45c75c3..0a44d44 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/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',
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index 2817f56..1d2d858 100644
--- a/src/main/webapp/views/order/order.html
+++ b/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>
 

--
Gitblit v1.9.1