From 46871cc790a14fd3aee71fd564938411fa39e3d6 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期六, 07 十月 2023 17:12:37 +0800
Subject: [PATCH] #报销相关相关

---
 src/main/webapp/views/businessTrip/businessTrip.html                          |   74 ++++++++
 src/main/webapp/views/reimburseOnline/reimburseOnline.html                    |   26 --
 src/main/java/com/zy/crm/common/model/SettleDto.java                          |   19 +
 src/main/java/com/zy/crm/manager/entity/ReimburseOnline.java                  |   26 ++
 src/main/webapp/static/js/reimburseOnline/reimburseOnline.js                  |    9 
 src/main/java/com/zy/crm/manager/entity/param/ReimburseOnlineDomainParam.java |    3 
 src/main/webapp/static/js/businessTrip/businessTrip.js                        |  268 +++++++++++++++++++++++++++++
 src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java    |   65 +++---
 src/main/webapp/views/order/order.html                                        |   25 --
 9 files changed, 419 insertions(+), 96 deletions(-)

diff --git a/src/main/java/com/zy/crm/common/model/SettleDto.java b/src/main/java/com/zy/crm/common/model/SettleDto.java
index 8f3ecad..a1bb707 100644
--- a/src/main/java/com/zy/crm/common/model/SettleDto.java
+++ b/src/main/java/com/zy/crm/common/model/SettleDto.java
@@ -124,19 +124,22 @@
             SettleDto dto = new SettleDto();
             dto.setStep(i);
             switch (i) {
-                case 0:
+//                case 0:
+//                    dto.setTitle("寮�濮�");
+//                    dto.setMsg(user.getUsername() + "鍒涘缓浜嗗鎵�");
+//                    dto.setUserId(user.getId());
+//                    dto.setUsername(user.getUsername());
+//                    dto.setTime(DateUtils.convert(new Date()));
+//                    dto.setCurr(Boolean.TRUE);
+//                    list.add(dto);
+//                    break;
+                case 1:
                     dto.setTitle("寮�濮�");
                     dto.setMsg(user.getUsername() + "鍒涘缓浜嗗鎵�");
                     dto.setUserId(user.getId());
-                    dto.setUsername(user.getUsername());
+                    dto.setUsername(user.getNickname());
                     dto.setTime(DateUtils.convert(new Date()));
                     dto.setCurr(Boolean.TRUE);
-                    list.add(dto);
-                    break;
-                case 1:
-                    dto.setTitle("鎻愪氦鎶ラ攢");
-                    dto.setUserId(user.getId());
-                    dto.setUsername(user.getNickname());
                     list.add(dto);
                     break;
                 case 2:
diff --git a/src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java b/src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java
index 2505934..37ed5f7 100644
--- a/src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java
+++ b/src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java
@@ -56,6 +56,12 @@
     @Autowired
     private ProcessPermissionsService processPermissionsService;
 
+    @Autowired
+    private BusinessTripService businessTripService;
+
+    @Autowired
+    private BusinessTripOtherService businessTripOtherService;
+
     @RequestMapping(value = "/reimburseOnline/{id}/auth")
     @ManagerAuth
     public R get(@PathVariable("id") String id) {
@@ -144,23 +150,36 @@
     @ManagerAuth(memo = "娣诲姞鎶ラ攢鍗�")
     @Transactional
     public R formAdd(@RequestBody ReimburseOnlineDomainParam param){
-        long planId = 0;
+        long orderId = 0;
         if (!param.getTemplateName().equals("闈為」鐩瀷鎶ラ攢")){
-            if (Cools.isEmpty(param.getOrderNo())){
-                return R.error("娣诲姞澶辫触锛�"+param.getTemplateName()+"闇�瑕佸叧鑱旈」鐩彿");
+            if (Cools.isEmpty(param.getOrderId())){
+                if (Cools.isEmpty(param.getBusinessId())){
+                    if (Cools.isEmpty(param.getBusinessOtherId())){
+                        return R.error("娣诲姞澶辫触锛�"+param.getTemplateName()+"闇�瑕佸叧鑱旈」鐩彿");
+                    }
+                    BusinessTripOther businessTripOther = businessTripOtherService.selectById(param.getBusinessOtherId());
+                    param.setOrderId(businessTripOther.getOrderId());
+                }else {
+                    BusinessTrip businessTrip = businessTripService.selectById(param.getBusinessId());
+                    param.setOrderId(businessTrip.getOrderId());
+                }
             }
-            String[] split = param.getOrderNo().split("---");
-            planId = Long.parseLong(split[1]);
+            orderId = param.getOrderId();
         }
         Date now = new Date();
         Rule rule = ruleService.selectById(1);
-        ReimburseOnline reimburseOnline = new ReimburseOnline(planId,RuleUtils.rule(rule),now,getUser());
+        ReimburseOnline reimburseOnline = new ReimburseOnline(orderId,RuleUtils.rule(rule),now,getUser());
         reimburseOnline.setCheckData(param.getCheckData());
         reimburseOnline.setTemplateName(param.getTemplateName());
-        reimburseOnline.setName(param.getName());
+        reimburseOnline.setName("");
 
-        reimburseOnline.setSettle(0);  // 0.鍒涘缓
-        User manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 鑾峰彇閮ㄩ棬棰嗗
+        reimburseOnline.setSettle(1);  // 1.鍒涘缓
+        User manager = new User();
+        try{
+            manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 鑾峰彇閮ㄩ棬棰嗗
+        }catch (Exception e){
+            manager = getUser();
+        }
 
         ProcessPermissions processPermissions3 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 3).eq("process", param.getCheckData().equals("鍚�")? "3-1" : "3-2"));//3锛氭姤閿�娴佺▼
         User president3 = userService.selectById(processPermissions3.getUserId());       // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣3纭浜�
@@ -175,15 +194,6 @@
         User president6 = userService.selectById(processPermissions6.getUserId());       // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣6纭浜�
 
         reimburseOnline.setSettleMsg(JSON.toJSONString(SettleDto.initPriQuote(reimburseOnline, manager,president3,president4,president5,president6,getUser())));
-        Map<String, Object> map = new HashMap<>();
-        map.put("title","闈為」鐩瀷鎶ラ攢");
-        map.put("reimburseId",reimburseOnline.getPlanId$());
-        map.put("docType",param.getDocType());
-        map.put("orderNo",param.getOrderNo());
-        map.put("templateName",param.getTemplateName());
-        map.put("checkData",param.getCheckData());
-        map.put("name",param.getName());
-        reimburseOnline.setForm(JSON.toJSONString(map));
         reimburseOnline.setMemberId(getUser().getId());
 
         if (!reimburseOnlineService.insert(reimburseOnline)){
@@ -226,16 +236,6 @@
         reimburseOnline.setItemId(planId);
         reimburseOnline.setName(param.getName());
         reimburseOnline.setUpdateTime(new Date());
-
-        Map<String, Object> map = new HashMap<>();
-        map.put("title",reimburseOnline.getPlanId$());
-        map.put("reimburseId",param.getReimburseId());
-        map.put("docType",param.getDocType());
-        map.put("orderNo",param.getOrderNo());
-        map.put("templateName",param.getTemplateName());
-        map.put("checkData",param.getCheckData());
-        map.put("name",param.getName());
-        reimburseOnline.setForm(JSON.toJSONString(map));
 
         if (!reimburseOnlineService.updateById(reimburseOnline)){
             return R.error("鏇存柊鎶ラ攢涓绘。澶辫触");
@@ -465,7 +465,7 @@
         for (ReimburseOnline priOnline : page.getRecords()){
             Map<String, Object> map = new HashMap<>();
             map.put("id", priOnline.getId());
-            map.put("value", priOnline.getOrderNum() + "/" + priOnline.getPlanId$() + "/" + priOnline.getMemberId$());
+            map.put("value", priOnline.getOrderNum() + "/" + priOnline.getOrderId$() + "/" + priOnline.getMemberId$());
             result.add(map);
         }
         return R.ok(result);
@@ -540,7 +540,12 @@
             case 1:
                 // 鏈儴闂ㄧ粡鐞嗗鏍�
                 User user = userService.selectById(reimburseOnline.getUserId());
-                User manager = userService.getDeptManager(getHostId(), user.getDeptId());
+                User manager = new User();
+                try{
+                    manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 鑾峰彇閮ㄩ棬棰嗗
+                }catch (Exception e){
+                    manager = user;
+                }
                 if (manager.getId().equals(getUserId())) {
 
                     // 淇敼 settle 姝ラ鏁版嵁
diff --git a/src/main/java/com/zy/crm/manager/entity/ReimburseOnline.java b/src/main/java/com/zy/crm/manager/entity/ReimburseOnline.java
index a5c7538..40a3088 100644
--- a/src/main/java/com/zy/crm/manager/entity/ReimburseOnline.java
+++ b/src/main/java/com/zy/crm/manager/entity/ReimburseOnline.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.enums.IdType;
 import com.core.common.Cools;
 import com.core.common.SpringUtils;
+import com.zy.crm.manager.service.CstmrService;
 import com.zy.crm.manager.service.OrderService;
 import com.zy.crm.system.entity.User;
 import com.zy.crm.system.service.UserService;
@@ -214,11 +215,32 @@
 //        return null;
 //    }
 
-    public String getPlanId$() {
+//    public String getPlanId$() {
+//        OrderService orderService = SpringUtils.getBean(OrderService.class);
+//        Order order = orderService.selectById(this.itemId);
+//        if (!Cools.isEmpty(order)){
+//            return String.valueOf(order.getUuid()+"---"+order.getName());
+//        }
+//        return "闈為」鐩瀷鎶ラ攢";
+//    }
+
+    public String getOrderId$() {
+        if (null == this.itemId){ return "闈為」鐩瀷鎶ラ攢"; }
         OrderService orderService = SpringUtils.getBean(OrderService.class);
         Order order = orderService.selectById(this.itemId);
         if (!Cools.isEmpty(order)){
-            return String.valueOf(order.getUuid()+"---"+order.getName());
+//            return String.valueOf(order.getId()+"---"+order.getName());
+            return String.valueOf(order.getId());
+        }
+        return "闈為」鐩瀷鎶ラ攢";
+    }
+
+    public String getName$() {
+        if (null == this.itemId){ return "闈為」鐩瀷鎶ラ攢"; }
+        OrderService orderService = SpringUtils.getBean(OrderService.class);
+        Order order = orderService.selectById(this.itemId);
+        if (!Cools.isEmpty(order)){
+            return String.valueOf(order.getCstmrId$());
         }
         return "闈為」鐩瀷鎶ラ攢";
     }
diff --git a/src/main/java/com/zy/crm/manager/entity/param/ReimburseOnlineDomainParam.java b/src/main/java/com/zy/crm/manager/entity/param/ReimburseOnlineDomainParam.java
index 57958b2..d483a0c 100644
--- a/src/main/java/com/zy/crm/manager/entity/param/ReimburseOnlineDomainParam.java
+++ b/src/main/java/com/zy/crm/manager/entity/param/ReimburseOnlineDomainParam.java
@@ -13,6 +13,9 @@
     private Long docType;
 
     private String orderNo;
+    private Long orderId;
+    private Long businessId;
+    private Long businessOtherId;
 
     private String templateName;
 
diff --git a/src/main/webapp/static/js/businessTrip/businessTrip.js b/src/main/webapp/static/js/businessTrip/businessTrip.js
index 9d7bd64..3aae194 100644
--- a/src/main/webapp/static/js/businessTrip/businessTrip.js
+++ b/src/main/webapp/static/js/businessTrip/businessTrip.js
@@ -3,7 +3,7 @@
     base: baseUrl + "/static/layui/lay/modules/"
 }).extend({
     cascader: 'cascader/cascader',
-}).use(['table','laydate', 'form', 'admin', 'cascader', 'tree', 'dropdown'], function(){
+}).use(['table','laydate', 'form', 'admin', 'xmSelect', 'cascader', 'tree', 'dropdown'], function(){
     var table = layui.table;
     var $ = layui.jquery;
     var layer = layui.layer;
@@ -111,7 +111,7 @@
             ,{field: 'businessTripType', align: 'center',title: '绫诲瀷',hide: true}
             ,{field: 'businessNotes', align: 'center',title: '鍑哄樊澶囨敞',hide: false}
 
-            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:180}
+            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:240}
         ]],
         request: {
             pageName: 'curr',
@@ -212,6 +212,9 @@
     table.on('tool(businessTrip)', function(obj){
         var data = obj.data;
         switch (obj.event) {
+            case 'addBlank':
+                showEditModelBlank(data.id);
+                break;
             case 'approval':
                 layer.confirm('瀹℃壒閫氳繃锛�', {
                     skin: 'layui-layer-admin',
@@ -318,6 +321,267 @@
         });
     }
 
+    // 鏄剧ず琛ㄥ崟寮圭獥
+    function showEditModelBlank(businessId) {
+        admin.open({
+            type: 1,
+            title: '娣诲姞鎶ラ攢瀹℃壒',
+            content: $('#editDialog2').html(),
+            area: '2200px',
+            success: function (layero, dIndex) {
+                $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                var isExpAdd = true;
+                // 鍥炴樉鏁版嵁
+                form.val('editForm', false);
+                // console.log(expTpe)
+                // if (expTpe) {
+                //     // $('#orderNo').attr("disabled", "disabled");
+                // }
+                // 琛ㄥ崟鎻愪氦浜嬩欢
+                form.on('submit(orderEditSubmit)', function (data) {
+                    // 缁勮鏁版嵁
+                    if (xxDataList.length <= 0) {
+                        layer.tips('璇锋坊鍔犳姤閿�鏄庣粏', '#matAddBtnComment', {tips: [1, '#ff4c4c']});
+                        return false;
+                    }
+                    let nList = admin.util.deepClone(xxDataList);
+                    for (let xi = 0; xi < nList.length; xi++) {
+                        // if (nList[xi].anfme <= 0){
+                        //     layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', {icon: 2});
+                        //     return false;
+                        // }
+                    }
+                    layer.load(2);
+                    $.ajax({
+                        url: baseUrl+"/reimburseOnline/from/" + (isExpAdd?"add":"modify") + "/auth",
+                        headers: {'token': localStorage.getItem('token')},
+                        data: JSON.stringify({
+                            reimburseId: Number(data.field.id),
+                            docType: Number(data.field.docType),
+                            businessId: businessId,
+                            templateName: data.field.templateName,
+                            checkData: data.field.checkData,
+                            reimburseOnlineDetls: nList
+                        }),
+                        contentType:'application/json;charset=UTF-8',
+                        method: 'POST',
+                        success: function (res) {
+                            console.log(data)
+                            layer.closeAll('loading');
+                            if (res.code === 200){
+                                layer.close(dIndex);
+                                $(".layui-laypage-btn")[0].click();
+                                layer.msg(res.msg, {icon: 1});
+                            } else if (res.code === 403){
+                                top.location.href = baseUrl+"/";
+                            }else {
+                                layer.msg(res.msg, {icon: 2});
+                            }
+                        }
+                    })
+                    return false;
+                });
+                // 鏄庣粏琛ㄦ牸
+                var xxDataList = [];
+                var tbOptions = {
+                    elem: '#formSSXMTable',
+                    headers: {token: localStorage.getItem('token')},
+                    data: xxDataList,
+                    page: true,
+                    height: '350px;',
+                    cellMinWidth: 100,
+                    cols: [[
+                        {type: 'numbers', title: '#'},
+                        {field: 'occupation', title: '浜嬬敱', width: 100, style: 'color: blue;font-weight: bold', edit:true},
+                        // {field: 'expenseType', title: '璐圭敤绫诲瀷', width: 100},
+                        {field: 'expenseType$', title: '璐圭敤绫诲瀷', width: 100},
+                        {field: 'taxRate', title: '绋庣巼', width: 60, edit: true},
+                        {field: 'untaxedAmountInLocalCurrency', title: '鏈◣鏈竵閲戦', width: 120, edit: true},
+                        {field: 'untaxedAmount', title: '鏈◣閲戦', width: 100, edit: true},
+                        {field: 'taxAmount', title: '绋庨', width: 60, edit: true},
+                        {field: 'invoiceValue', title: '鍙戠エ閲戦', width: 100, edit: true},
+                        {field: 'invoiceAmountInLocalCurrency', title: '鍙戠エ鏈竵閲戦', width: 120, edit: true},
+                        {field: 'reimbursementRatio', title: '鎶ラ攢姣斾緥', width: 100, edit: true},
+                        {field: 'reimbursementAmount', title: '鎶ラ攢閲戦', width: 100, edit: true},
+                        {field: 'reimbursementAmountInLocalCurrency', title: '鎶ラ攢鏈竵閲戦', width: 120, edit: true},
+                        {field: 'cashierConfirmationAmount', title: '鍑虹撼纭閲戦', width: 120, edit: true},
+                        {field: 'cashierCurrency', title: '鍑虹撼甯佺', width: 100, edit: true},
+                        {field: 'departureTime', title: '鍑哄彂鏃ユ湡', width: 100},
+                        {field: 'cashierConfirmationAmount', title: '鍑虹撼纭閲戦', width: 120, edit: true},
+                        {field: 'userId', title: '鍒楁敮浜哄憳', width: 120},
+                        {field: 'deptId', title: '鍒楁敮閮ㄩ棬', width: 120},
+                        {field: 'updateTime', title: '鏇存柊鏃ユ湡', width: 100},
+                        // {field: 'updateUserId', title: '鏇存柊浜哄憳ID', width: 160},
+                        {field: 'updateUserName', title: '鏇存柊浜哄憳鍚嶅瓧'},
+                        // {field: 'creationTime', title: '鍒涘缓鏃ユ湡', width: 160}
+                        {align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'}
+                    ]],
+                    done: function (res, curr, count) {
+                        $(layero).find('.layui-table-view').css('margin', '0');
+                        var options = this;
+
+                        // 鑾峰彇褰撳墠琛屾暟鎹�
+                        table.getRowData = function(elem){
+                            var index = $(elem).closest('tr').data('index');
+                            return table.cache[options.id][index] || {};
+                        };
+
+                        $('.input-occupation').on('text', function(){
+                            var value = this.value; // 鑾峰彇閫変腑椤� value
+                            var data = table.getRowData(this);
+                            console.log(value);
+                            console.log("value------===");
+                            xxDataList.forEach(res => {
+                                if (data.id === res.id){
+                                    console.log(res)
+                                    res.occupation = value;
+                                }
+                            })
+
+                        });
+                    },
+                    size: ''
+                };
+                var insTbSSXM = table.render(tbOptions);
+                // 宸ュ叿鏉$偣鍑讳簨浠�
+                table.on('tool(formSSXMTable)', function (obj) {
+                    var data = obj.data;
+                    var layEvent = obj.event;
+                    if (layEvent === 'edit') {
+                        showEditModel2(data);
+                    } else if (layEvent === 'del') {
+                        layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
+                            shade: .1,
+                            skin: 'layui-layer-admin'
+                        }, function (i) {
+                            layer.close(i);
+                            for (var j = 0; j < xxDataList.length; j++) {
+                                if (xxDataList[j].matnr === data.matnr && xxDataList[j].batch === data.batch) {
+                                    xxDataList.splice(j, 1);
+                                    break;
+                                }
+                            }
+                            insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+                        });
+                    }
+                });
+                // 鏄庣粏鏁版嵁淇敼
+                table.on('edit(formSSXMTable)', function (obj) {
+                    let index = obj.tr.attr("data-index");
+                    let data = xxDataList[index];
+                    if (obj.field === 'anfme'){
+                        let vle = Number(obj.value);
+                        if (isNaN(vle)) {
+                            layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2});
+                            return false;
+                        } else {
+                            if (vle <= 0) {
+                                layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2});
+                                return false;
+                            }
+                        }
+                    }
+                    data[obj.field] = obj.value;
+                    insTbSSXM.reload({data: xxDataList});
+                });
+
+                $('#matAddBtnComment').click(function () {
+                    showEditModel2();
+                });
+
+                // 鏄剧ず娣诲姞鏄庣粏琛ㄥ崟寮圭獥
+                function showEditModel2(exp) {
+                    admin.open({
+                        type: 1,
+                        offset: '150px',
+                        area: '680px',
+                        title: (exp ? '淇敼' : '娣诲姞') + '鏄庣粏',
+                        content: $('#matEditDialog').html(),
+                        success: function (layero, dIndex) {
+                            console.log("exp")
+                            console.log(exp)
+                            // 鍥炴樉鏁版嵁
+                            form.val('matEditForm', exp);
+                            // 琛ㄥ崟鎻愪氦浜嬩欢
+                            form.on('submit(matEditSubmit)', function (data) {
+                                let selectList = matXmSelect.getValue();
+                                console.log("selectList")
+                                console.log(selectList)
+                                console.log(selectList)
+                                for (let i = 0; i<selectList.length; i++) {
+                                    let item = selectList[i];
+                                    // 鏌ヨ鐗╂枡璇︽儏
+                                    $.ajax({
+                                        url: baseUrl+"/reimburseCostTypes/covert/"+item.value+"/auth",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        method: 'GET',
+                                        async: false,
+                                        success: function (res) {
+                                            if (res.code === 200){
+                                                var bige=true;
+                                                // console.log("-------2.1-------")
+                                                // for (var j = 0; j < xxDataList.length; j++) {
+                                                //     if (xxDataList[j].expenseType === res.data.expenseType && xxDataList[j].batch === res.data.batch) {
+                                                //         bige=false;
+                                                //         console.log("-------2.2-------")
+                                                //         break;
+                                                //     }
+                                                // }
+                                                if (bige){
+                                                    // console.log("-------2.3-------")
+                                                    xxDataList.push(res.data);
+                                                    insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+                                                }
+                                            } else if (res.code === 403){
+                                                top.location.href = baseUrl+"/";
+                                            }else {
+                                                layer.msg(res.msg, {icon: 2})
+                                            }
+                                        }
+                                    })
+                                }
+                                layer.close(dIndex);
+                                return false;
+                            });
+                            // 娓叉煋鐗╂枡閫夋嫨
+                            var matXmSelect = xmSelect.render({
+                                el: '#reimburseCostTypes',
+                                style: {
+                                    width: '340px',
+                                },
+                                autoRow: true,
+                                toolbar: { show: true },
+                                filterable: true,
+                                remoteSearch: true,
+                                remoteMethod: function(val, cb, show){
+                                    $.ajax({
+                                        url: baseUrl+"/reimburseCostTypes/all/get/kv",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        data: {
+                                            condition: val
+                                        },
+                                        method: 'POST',
+                                        success: function (res) {
+                                            if (res.code === 200){
+                                                cb(res.data)
+                                            } else {
+                                                cb([]);
+                                                layer.msg(res.msg, {icon: 2});
+                                            }
+                                        }
+                                    });
+                                }
+                            })
+                            // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+                            $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                            layui.form.render('select');
+                        }
+                    });
+                }
+            }
+        });
+    }
+
     // 鎼滅储
     form.on('submit(search)', function (data) {
         pageCurr = 1;
diff --git a/src/main/webapp/static/js/reimburseOnline/reimburseOnline.js b/src/main/webapp/static/js/reimburseOnline/reimburseOnline.js
index 476bd87..facf1af 100644
--- a/src/main/webapp/static/js/reimburseOnline/reimburseOnline.js
+++ b/src/main/webapp/static/js/reimburseOnline/reimburseOnline.js
@@ -88,8 +88,8 @@
             ,{field: 'templateName', align: 'center',title: '鎶ラ攢绫诲瀷',hide: false}
             ,{field: 'checkData', align: 'center',title: '鏄惁鍐茶处',hide: false}
             ,{field: 'orderNum', align: 'center',title: '鎶ラ攢鍗曞彿',width: 320,hide: false}
-            ,{field: 'planId$', align: 'center',title: '椤圭洰鍙�',hide: false}
-            ,{field: 'name', align: 'center',title: '瀹㈡埛淇℃伅',hide: false}
+            ,{field: 'orderId$', align: 'center',title: '椤圭洰鍙�',hide: false}
+            ,{field: 'name$', align: 'center',title: '瀹㈡埛淇℃伅',hide: false}
             ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿',hide: false}
             ,{field: 'updateTime$', align: 'center',title: '鏇存柊鏃堕棿',hide: false}
             ,{field: 'status$', align: 'center',title: '鐘舵��',hide: false}
@@ -420,11 +420,10 @@
                         data: JSON.stringify({
                             reimburseId: Number(data.field.id),
                             docType: Number(data.field.docType),
-                            orderNo: data.field.planId,
+                            orderId: data.field.orderId,
                             templateName: data.field.templateName,
                             checkData: data.field.checkData,
-                            reimburseOnlineDetls: nList,
-                            name: data.field.name
+                            reimburseOnlineDetls: nList
                         }),
                         contentType:'application/json;charset=UTF-8',
                         method: 'POST',
diff --git a/src/main/webapp/views/businessTrip/businessTrip.html b/src/main/webapp/views/businessTrip/businessTrip.html
index c1fbd1d..8e3dd9c 100644
--- a/src/main/webapp/views/businessTrip/businessTrip.html
+++ b/src/main/webapp/views/businessTrip/businessTrip.html
@@ -84,6 +84,7 @@
         <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="addBlank">鐢宠鎶ラ攢</a>
 </script>
 
 <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
@@ -109,8 +110,8 @@
                             <input class="layui-input" name="orderId" placeholder="璇疯緭鍏ラ」鐩悕" style="display: none" lay-verify="required">
                             <input id="orderId$" name="orderId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ラ」鐩悕" onfocus=this.blur()>
                             <div class="cool-auto-complete-window">
-                                <input class="cool-auto-complete-window-input" data-key="planQueryNameBydirector" onkeyup="autoLoad(this.getAttribute('data-key'))">
-                                <select class="cool-auto-complete-window-select" data-key="planQueryNameBydirectorSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                                <input class="cool-auto-complete-window-input" data-key="orderQueryNameBydirector" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                                <select class="cool-auto-complete-window-select" data-key="orderQueryNameBydirectorSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                                 </select>
                             </div>
                         </div>
@@ -293,5 +294,74 @@
         </div>
     </form>
 </script>
+
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog2">
+    <form id="editForm" lay-filter="editForm" class="layui-form model-form">
+        <input name="id" type="hidden"/>
+        <div class="layui-form-item">
+            <label class="layui-form-label layui-form-required">鎶ラ攢绫诲瀷: </label>
+            <div class="layui-input-inline">
+                <select class="layui-input" name="templateName" lay-vertype="tips" lay-verify="required">
+                    <option style="display: none"></option>
+                    <option value="椤圭洰鏈畬鎴�">椤圭洰鏈畬鎴�</option>
+                    <option value="椤圭洰宸插畬鎴愬湪璐ㄤ繚鏈熷唴">椤圭洰宸插畬鎴愬湪璐ㄤ繚鏈熷唴</option>
+                    <option value="闈為」鐩瀷鎶ラ攢">闈為」鐩瀷鎶ラ攢</option>
+                    <option value="鍏跺畠">鍏跺畠</option>
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label layui-form-required">鏄惁鍐茶处: </label>
+            <div class="layui-input-inline">
+                <select class="layui-input" name="checkData" lay-vertype="tips" lay-verify="required">
+                    <option style="display: none"></option>
+                    <option value="鍚�">鍚�</option>
+                    <option value="鏄�">鏄�</option>
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item" style="position: relative;">
+            <label class="layui-form-label">鎶ラ攢鏄庣粏锛�</label>
+            <div class="layui-input-block">
+                <table id="formSSXMTable" lay-filter="formSSXMTable"></table>
+            </div>
+            <button class="layui-btn layui-btn-sm icon-btn" id="matAddBtnComment"
+                    style="position: absolute; left: 20px;top: 60px;padding: 0 5px;" type="button">
+                <i class="layui-icon">&#xe654;</i>娣诲姞鏄庣粏
+            </button>
+        </div>
+        <div class="layui-form-item text-right">
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+            <button class="layui-btn" lay-filter="orderEditSubmit" lay-submit>淇濆瓨</button>
+        </div>
+    </form>
+</script>
+
+<!-- 琛ㄦ牸鎿嶄綔鍒� -->
+<script type="text/html" id="formSSXMTableBar">
+    <!--    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">淇敼</a>-->
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">鍒犻櫎</a>
+</script>
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="matEditDialog">
+    <form id="matEditForm" lay-filter="matEditForm" class="layui-form model-form">
+        <input name="experimentId" type="hidden"/>
+
+        <div class="layui-form-item" style="float: left">
+            <label class="layui-form-label">璐圭敤绫诲瀷 - 澶氶��</label>
+            <div class="layui-input-block">
+                <div id="reimburseCostTypes" name="reimburseCostTypes">
+                </div>
+            </div>
+        </div>
+
+        <div class="layui-form-item text-right" style="display: inline-block; margin-left: 35px">
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+            <button class="layui-btn" lay-filter="matEditSubmit" lay-submit>淇濆瓨</button>
+        </div>
+
+    </form>
+</script>
 </html>
 
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index 1d2d858..a8f943f 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -324,18 +324,6 @@
                             <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>
             <!--鑷┚-->
@@ -393,25 +381,12 @@
                 <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>
diff --git a/src/main/webapp/views/reimburseOnline/reimburseOnline.html b/src/main/webapp/views/reimburseOnline/reimburseOnline.html
index 232516e..3d39360 100644
--- a/src/main/webapp/views/reimburseOnline/reimburseOnline.html
+++ b/src/main/webapp/views/reimburseOnline/reimburseOnline.html
@@ -146,29 +146,11 @@
         <div class="layui-form-item">
             <label class="layui-form-label">椤圭洰鍚�: </label>
             <div class="layui-input-block cool-auto-complete">
-                <input class="layui-input" name="planId" placeholder="璇疯緭鍏ラ」鐩悕" style="display: none">
-                <input id="planId$" name="planId" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)"
-                       type="text" placeholder="璇疯緭鍏ラ」鐩悕" onfocus=this.blur()>
+                <input class="layui-input" name="orderId" placeholder="璇疯緭鍏ラ」鐩悕" style="display: none">
+                <input id="orderId$" name="orderId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ラ」鐩悕" onfocus=this.blur()>
                 <div class="cool-auto-complete-window">
-                    <input class="cool-auto-complete-window-input" data-key="planQueryNameBydirector"
-                           onkeyup="autoLoad(this.getAttribute('data-key'))">
-                    <select class="cool-auto-complete-window-select" data-key="planQueryNameBydirectorSelect"
-                            onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
-                    </select>
-                </div>
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label">瀹㈡埛淇℃伅: </label>
-            <div class="layui-input-block cool-auto-complete">
-                <input class="layui-input" name="name" placeholder="璇疯緭鍏ュ鎴蜂俊鎭�" style="display: none">
-                <input id="name" name="name" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)"
-                       type="text" placeholder="璇疯緭鍏ュ鎴蜂俊鎭�" onfocus=this.blur()>
-                <div class="cool-auto-complete-window">
-                    <input class="cool-auto-complete-window-input" data-key="cstmrQueryBydirector"
-                           onkeyup="autoLoad(this.getAttribute('data-key'))">
-                    <select class="cool-auto-complete-window-select" data-key="cstmrQueryBydirectorSelect"
-                            onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    <input class="cool-auto-complete-window-input" data-key="orderQueryNameBydirector" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="orderQueryNameBydirectorSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                     </select>
                 </div>
             </div>

--
Gitblit v1.9.1