ly месяцев назад: 6
Родитель
Сommit
b1a4772745

+ 33 - 0
src/main/java/com/liang/common/utils/ResponseData.java

@@ -0,0 +1,33 @@
1
+package com.liang.common.utils;
2
+
3
+import lombok.Data;
4
+
5
+/**
6
+ * @Author ly 定义返回类型
7
+ * @Date 2024/11/3 21:10
8
+ * @Version 1.0
9
+ */
10
+@Data
11
+public class ResponseData {  
12
+
13
+    private int code;
14
+    private String message;
15
+    private Object data;
16
+
17
+    // 构造方法、getter和setter等
18
+
19
+    public static ResponseData success(String message) {
20
+        ResponseData responseData = new ResponseData();
21
+        responseData.setCode(0);
22
+        responseData.setMessage(message);
23
+        return responseData;
24
+    }
25
+
26
+    public static ResponseData failure(int code, String message) {
27
+        ResponseData responseData = new ResponseData();
28
+        responseData.setCode(code);
29
+        responseData.setMessage(message);
30
+        return responseData;
31
+    }
32
+
33
+}

+ 70 - 0
src/main/java/com/liang/controller/PrjContractController.java

@@ -45,6 +45,11 @@ public class PrjContractController extends BaseController {
45 45
     private PrjApproverecordService prjApproverecordService;
46 46
     @Resource
47 47
     private StaPayapprovalService staPayapprovalService;
48
+
49
+    @Resource
50
+    private BasePersonService basePersonService;
51
+
52
+
48 53
     /**
49 54
      * 分页查询
50 55
      *
@@ -346,5 +351,70 @@ public class PrjContractController extends BaseController {
346 351
     public String forApproveList() {
347 352
         return "prjcontract/list_approve";
348 353
     }
354
+
355
+
356
+    /**
357
+     * 获取电科院人员名单
358
+     */
359
+    @ResponseBody
360
+    @RequestMapping(value = "/dkyfzr", method = RequestMethod.GET)
361
+    public Object dkyfzr(@RequestParam("page") Integer pageNum,
362
+                         @RequestParam("limit") Integer pageSize,
363
+                         @RequestParam(required = false, defaultValue = "", value = "xm") String xm) {
364
+        PageHelper.startPage(pageNum, pageSize);
365
+
366
+        Map<String, String> paraMap = new HashMap<>();
367
+        paraMap.put("xm", xm);
368
+        List<BasePerson> list = basePersonService.getBasePersonList(paraMap);
369
+
370
+        PageInfo<BasePerson> pageinfo = new PageInfo<>(list);
371
+        // 取出查询结果
372
+        List<BasePerson> rows = pageinfo.getList();
373
+        int total = (int) pageinfo.getTotal();
374
+
375
+        Map<String, Object> resultMap = new HashMap<>();
376
+        resultMap.put("code", 0);
377
+        resultMap.put("msg", "");
378
+        resultMap.put("count", total);
379
+        resultMap.put("data", list);
380
+
381
+        return resultMap;
382
+    }
383
+
384
+
385
+    /**
386
+     * 获取创建人
387
+     * @param pageNum
388
+     * @param pageSize
389
+     * @param cjr
390
+     * @return
391
+     */
392
+    @ResponseBody
393
+    @RequestMapping(value = "/cjr", method = RequestMethod.GET)
394
+    public Object dwlist(@RequestParam("page") Integer pageNum,
395
+                         @RequestParam("limit") Integer pageSize,
396
+                         @RequestParam(required = false, defaultValue = "", value = "name") String name) {
397
+        PageHelper.startPage(pageNum, pageSize);
398
+
399
+        Map<String, String> paraMap = new HashMap<>();
400
+        paraMap.put("name", name);
401
+        List<SysUserInfo> list = sysUserInfoService.getSysUserInfoList(paraMap);
402
+
403
+        PageInfo<SysUserInfo> pageinfo = new PageInfo<>(list);
404
+        // 取出查询结果
405
+        List<SysUserInfo> rows = pageinfo.getList();
406
+        int total = (int) pageinfo.getTotal();
407
+
408
+        Map<String, Object> resultMap = new HashMap<>();
409
+        resultMap.put("code", 0);
410
+        resultMap.put("msg", "");
411
+        resultMap.put("count", total);
412
+        resultMap.put("data", list);
413
+
414
+        return resultMap;
415
+    }
416
+
417
+
418
+
349 419
 }
350 420
 

+ 55 - 6
src/main/java/com/liang/controller/PrjProjectController.java

@@ -19,6 +19,7 @@ import com.liang.entity.baobiao.UtilEntity;
19 19
 import com.liang.service.*;
20 20
 //import com.liang.vo.service.*;
21 21
 import io.swagger.annotations.ApiOperation;
22
+import org.apache.commons.collections.map.HashedMap;
22 23
 import org.apache.commons.collections4.CollectionUtils;
23 24
 import org.json.JSONArray;
24 25
 import org.json.JSONException;
@@ -37,6 +38,7 @@ import org.springframework.web.multipart.MultipartFile;
37 38
 import javax.annotation.Resource;
38 39
 import javax.servlet.http.HttpServletRequest;
39 40
 import javax.servlet.http.HttpServletResponse;
41
+import javax.xml.crypto.Data;
40 42
 import java.io.*;
41 43
 import java.math.BigDecimal;
42 44
 import java.text.DateFormat;
@@ -579,11 +581,11 @@ public class PrjProjectController extends BaseController {
579 581
             model.addAttribute("project",project);
580 582
         }
581 583
         // 电科院负责人
582
-        List<BasePerson> list1 = basePersonService.getBasePersonList(map);
583
-        model.addAttribute("dkyfzr",list1);
584
-        // 申请人
584
+/*        List<BasePerson> list1 = basePersonService.getBasePersonList(map);
585
+        model.addAttribute("dkyfzr",list1);*/
586
+/*        // 申请人
585 587
         List<SysUserInfo> list2 = sysUserInfoService.getSysUserInfoList(map);
586
-        model.addAttribute("cjr",list2);
588
+        model.addAttribute("cjr",list2);*/
587 589
         return "prjproject/updateSsbm";
588 590
     }
589 591
 
@@ -2493,8 +2495,55 @@ public class PrjProjectController extends BaseController {
2493 2495
 
2494 2496
         return BaseResult.success(result);
2495 2497
     }
2496
-
2497
-
2498
+    /**
2499
+     * 项目转移
2500
+     */
2501
+    @ResponseBody
2502
+    @RequestMapping(value = "/upssbm",method = RequestMethod.POST)
2503
+    public BaseResult upSsbm(@RequestBody PrjProjects formData){
2504
+        // 创建一个Object
2505
+            // 开始解析 formData 将其解析成 Prjproject 对象
2506
+            PrjProjects pr = new PrjProjects();
2507
+        PrjProject prjProject = prjProjectService.queryById(formData.getId());
2508
+        SysDeptInfo sysDeptInfo = sysDeptInfoService.queryById(formData.getSsbmmc());
2509
+        // 获取当前系统时间
2510
+        Date data = new Date();
2511
+        // 转换时间格式
2512
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
2513
+        // 审批列表记录
2514
+        PrjApproverecord prjApproverecord = new PrjApproverecord();
2515
+        prjApproverecord.setTablename("prj_Project");
2516
+        prjApproverecord.setXmid(formData.getId());
2517
+        prjApproverecord.setYj( "项目名称:"+formData.getXmmc1()+",ERP编号:"+formData.getErpbh1()+","+"部门从'"+
2518
+                prjProject.getSsbmmc()+"'转移至"+sysDeptInfo.getDeptName()+"'电科院负责人从'"+prjProject.getDkyfzrxm()+"'转移为:"
2519
+                +formData.getDkyfzrxm() +",创建人从"+
2520
+                prjProject.getCjrxm()+"转移为:"+
2521
+                formData.getSqrxm()+",操作员:"+
2522
+                sysUserInfoService.queryById(getSysUserId()).getName());
2523
+        prjApproverecord.setSfsjsh(true);
2524
+        prjApproverecord.setSjshr(getSysUserId());
2525
+        prjApproverecord.setShsj(format.format(data));
2526
+        prjApproverecord.setTjsj(format.format(data));
2527
+        prjApproverecord.setTjr(getSysUserId());
2528
+        prjApproverecord.setShr(getSysUserId());
2529
+        prjApproverecord.setSpcz("项目转移");
2530
+        prjApproverecord.setXm(formData.getXmmc1());
2531
+        prjApproverecord.setZt("已完成");
2532
+        prjApproverecord.setWc(true);
2533
+        int mun = prjApproverecordService.insert(prjApproverecord);
2534
+            if (mun > 0 ){
2535
+                pr.setSsbm(formData.getSsbmmc());
2536
+                pr.setDkyfzr(formData.getDkyfzr1());
2537
+                pr.setCjr(formData.getSqr1());
2538
+                pr.setId(formData.getId());
2539
+                int num = prjProjectService.updateZy(pr);
2540
+                if (num > 0){
2541
+                    return BaseResult.success("项目已成功转移!");
2542
+                }
2543
+            }
2544
+            // 审批列表增加
2545
+        return BaseResult.failure(-1,"项目转移失败!");
2546
+    }
2498 2547
 
2499 2548
 
2500 2549
 }

+ 7 - 0
src/main/java/com/liang/dao/PrjProjectDao.java

@@ -2,6 +2,7 @@ package com.liang.dao;
2 2
 
3 3
 import com.liang.entity.FeeManagemant;
4 4
 import com.liang.entity.PrjProject;
5
+import com.liang.entity.PrjProjects;
5 6
 import com.liang.entity.StaBudgetapproval;
6 7
 import org.apache.ibatis.annotations.Param;
7 8
 import org.springframework.data.domain.Pageable;
@@ -188,4 +189,10 @@ public interface PrjProjectDao {
188 189
 
189 190
 
190 191
     void updateSFXG(Integer xmid);
192
+
193
+
194
+    /**
195
+     * 项目转移
196
+     */
197
+    int updateZy(PrjProjects prjProjects);
191 198
 }

+ 5 - 0
src/main/java/com/liang/entity/PrjProject.java

@@ -202,5 +202,10 @@ public class PrjProject implements Serializable {
202 202
      */
203 203
     private Integer sfxg;
204 204
 
205
+    /**
206
+     * 申请人
207
+     */
208
+
209
+    private Integer sqrxm;
205 210
 }
206 211
 

+ 42 - 0
src/main/java/com/liang/entity/PrjProjects.java

@@ -0,0 +1,42 @@
1
+package com.liang.entity;
2
+
3
+import lombok.AllArgsConstructor;
4
+import lombok.Builder;
5
+import lombok.Data;
6
+import lombok.NoArgsConstructor;
7
+
8
+/**
9
+ * @Author ly
10
+ * @Date 2024/10/29 16:52
11
+ * @Version 1.0
12
+ */
13
+
14
+@Data
15
+@Builder
16
+@NoArgsConstructor
17
+@AllArgsConstructor
18
+public class PrjProjects {
19
+
20
+    private Integer id;
21
+
22
+    private String xmmc1;
23
+
24
+    private String erpbh1;
25
+
26
+    private Integer ssbmmc;
27
+
28
+    private Integer ssbm1;
29
+
30
+    private String dkyfzr1;
31
+
32
+    private String dkyfzrxm;
33
+
34
+    private String sqr1;
35
+
36
+    private String sqrxm;
37
+
38
+    private String cjr;
39
+    private String dkyfzr;
40
+    private Integer ssbm;
41
+
42
+}

+ 4 - 0
src/main/java/com/liang/service/PrjProjectService.java

@@ -3,6 +3,7 @@ package com.liang.service;
3 3
 import com.liang.common.base.BaseResult;
4 4
 import com.liang.entity.FeeManagemant;
5 5
 import com.liang.entity.PrjProject;
6
+import com.liang.entity.PrjProjects;
6 7
 import com.liang.entity.StaBudgetapproval;
7 8
 import org.springframework.data.domain.Page;
8 9
 import org.springframework.data.domain.PageRequest;
@@ -167,4 +168,7 @@ public interface PrjProjectService {
167 168
     void updateSPTGZT1(Integer rws);
168 169
 
169 170
     void updateSFXG(Integer xmid);
171
+
172
+
173
+    int updateZy(PrjProjects prjProjects);
170 174
 }

+ 5 - 0
src/main/java/com/liang/service/impl/PrjProjectServiceImpl.java

@@ -498,5 +498,10 @@ public class PrjProjectServiceImpl implements PrjProjectService {
498 498
         prjProjectDao.updateSFXG(xmid);
499 499
     }
500 500
 
501
+    @Override
502
+    public int updateZy(PrjProjects prjProjects) {
503
+        return this.prjProjectDao.updateZy(prjProjects);
504
+    }
505
+
501 506
 
502 507
 }

+ 16 - 0
src/main/resources/mapper/PrjProjectDao.xml

@@ -439,6 +439,22 @@
439 439
             SPZT       = #{spzt}
440 440
         where ID = #{id}
441 441
     </update>
442
+    <!-- 通过主键修改数据 -->
443
+    <update id="updateZy">
444
+        update prj_Project
445
+        set
446
+            <if test="ssbm != null and ssbm != ''">
447
+                SSBM = #{ssbm}
448
+            </if>
449
+        <if test="dkyfzr != null and dkyfzr != ''">
450
+            ,DKYFZR = #{dkyfzr}
451
+        </if>
452
+        <if test="cjr != null and cjr != ''">
453
+          ,CJR = #{cjr}
454
+        </if>
455
+            where ID = #{id}
456
+
457
+    </update>
442 458
 
443 459
     <!--通过主键删除-->
444 460
     <delete id="deleteById">

+ 3 - 0
src/main/resources/mapper/SysUserInfoDao.xml

@@ -294,6 +294,9 @@
294 294
         <if test="postName != null and postName != ''">
295 295
             and p.post_name like '%'+#{postName}+'%'
296 296
         </if>
297
+        <if test="ssbm != null and ssbm != ''">
298
+            and d.dept_id = #{ssbm}
299
+        </if>
297 300
         <choose>
298 301
             <when test="sortName != null and sortName != '' and sortOrder != null and sortOrder != ''">
299 302
                 order by ${sortName} ${sortOrder}

+ 18 - 21
src/main/resources/templates/prjproject/list.html

@@ -7,6 +7,13 @@
7 7
     <link rel="stylesheet" th:href="@{/lib/layui/css/layui.css}" media="all">
8 8
     <link rel="stylesheet" th:href="@{/css/public.css}" media="all">
9 9
     <link rel="stylesheet" th:href="@{/lib/font-awesome-4.7.0/css/font-awesome.min.css}" media="all">
10
+    <style>
11
+        .layui-btn-container {
12
+            display: flex; /* 启用弹性盒布局 */
13
+            flex-wrap: wrap; /* 如果需要,允许换行 */
14
+            gap: 3px; /* 可选:为按钮之间添加间距 */
15
+        }
16
+    </style>
10 17
 </head>
11 18
 <body>
12 19
 <div class="layuimini-container">
@@ -179,7 +186,8 @@
179 186
     var xmApproval = {};
180 187
     layui.use(['form', 'table'], function () {
181 188
         var form = layui.form,
182
-            table = layui.table;
189
+            table = layui.table,
190
+        layer = layui.layer;
183 191
         var userId = $("#userId").val();
184 192
         var postId = $("#postId").val();
185 193
 
@@ -233,7 +241,6 @@
233 241
 
234 242
         // 监听搜索操作
235 243
         form.on('submit(data-search-btn)', function (data) {
236
-
237 244
             // 执行搜索重载
238 245
             currTable.reload({
239 246
                 page: {
@@ -241,6 +248,13 @@
241 248
                 },
242 249
                 where: form.val("search-form")
243 250
             });
251
+            // 刷新按钮
252
+            var userId = $("#userId").val();
253
+            console.log("搜索"+userId);
254
+            if (userId == 1 || userId == 42){
255
+                document.getElementById('zy').style.display = 'block'
256
+                layer.msg('加载完成',{icon:1});
257
+            }
244 258
             return false;
245 259
         });
246 260
 
@@ -784,19 +798,6 @@
784 798
                 }else if (data[0].spzt != '审批结束'){
785 799
                     layer.msg('该任务书未审批结束,不能转移',{icon:3});
786 800
                 }else {
787
-                    // 项目转移后 ,项目之下的所有 年度预算、全部费用申请、报账列表转移
788
-/*                    layer.open({
789
-                        title: '项目转移',
790
-                        type: 2,
791
-                        shade: 0.3,
792
-                        maxmin: true,
793
-                        shadeClose: true,
794
-                        area: ['1090px', layerheight + 'px'],
795
-                        content: AjaxUtil.ctx + 'prjProject/updateSsbm?id='+ data[0].id,
796
-                            end: function (index) {
797
-                            layer.close(index);
798
-                        }
799
-                    });*/
800 801
                     layer.open({
801 802
                         title: '项目转移',
802 803
                         type: 2,
@@ -806,8 +807,10 @@
806 807
                         area: ['1090px', layerheight + 'px'],
807 808
                         content: AjaxUtil.ctx + 'prjProject/updateSsbm/' + data[0].id,
808 809
                         success: function (layero, index) {
810
+
809 811
                         },
810 812
                         end: function (index) {
813
+                            // 刷新表格
811 814
                             if (updateflag == 1)
812 815
                                 currTable.reload();
813 816
                             updateflag = 0;
@@ -818,7 +821,6 @@
818 821
             }
819 822
 
820 823
         });
821
-
822 824
         //双击
823 825
         table.on('rowDouble(currentTableFilter)', function (obj) {
824 826
             var data = obj.data;
@@ -857,11 +859,6 @@
857 859
 
858 860
         },1000);
859 861
     });
860
-
861
-
862
-
863
-
864
-
865 862
 </script>
866 863
 </body>
867 864
 </html>

+ 110 - 29
src/main/resources/templates/prjproject/updateSsbm.html

@@ -1,9 +1,11 @@
1 1
 <!DOCTYPE html>
2
-<html lang="en">
2
+<html lang="en" xmlns:th="http://www.thymeleaf.org">
3 3
 <head>
4 4
     <meta charset="UTF-8">
5 5
     <title>项目转移</title>
6 6
     <link rel="stylesheet" th:href="@{/lib/layui/css/layui.css}" media="all">
7
+    <link rel="stylesheet" th:href="@{/css/public.css}" media="all">
8
+    <link rel="stylesheet" th:href="@{/lib/font-awesome-4.7.0/css/font-awesome.min.css}" media="all">
7 9
     <style>
8 10
         body {
9 11
             display: flex;
@@ -31,6 +33,7 @@
31 33
         h3 {
32 34
             text-align: center;
33 35
             margin-top: 0px;
36
+            color: #4ac14a;
34 37
         }
35 38
 
36 39
         .layui-form-item {
@@ -97,25 +100,26 @@
97 100
 <div class="right-section">
98 101
     <!-- 右侧内容 -->
99 102
     <h3>转移后</h3>
100
-    <form class="layui-form" action="" lay-filter="formDemo">
103
+    <form class="layui-form" action="" lay-filter="formDemo" id="myForm">
101 104
         <div class="layui-form layuimini-form">
102 105
             <div class="layui-form-item layui-inline" style="width: 100%">
103 106
                 <label class="layui-form-label required" style="width: 17%">项目名称</label>
104 107
                 <div class="layui-input-inline" style="width: 70%">
105
-                    <input type="text" id="xmmc1" name="xmmc" class="layui-input" th:value="${project.zwmc}" disabled>
108
+                    <input type="text" id="xmmc1" name="xmmc1" class="layui-input" th:value="${project.zwmc}" disabled>
109
+                    <input type="hidden" id="id" name="id" class="layui-input" th:value="${project.id}">
106 110
                 </div>
107 111
             </div>
108 112
             <div class="layui-form-item layui-inline" style="width: 100%">
109 113
                 <label class="layui-form-label" style="width: 17%">ERP编号</label>
110 114
                 <div class="layui-input-inline" style="width: 70%">
111
-                    <input type="text" id="erpbh1" name="erpbh" class="layui-input" th:value="${project.erpbh}" disabled>
115
+                    <input type="text" id="erpbh1" name="erpbh1" class="layui-input" th:value="${project.erpbh}" disabled>
112 116
                 </div>
113 117
             </div>
114 118
 
115 119
             <div class="layui-form-item layui-inline" style="width: 100%">
116 120
                 <label class="layui-form-label" style="width: 17%">所属部门<span style="color: red;">*</span></label>
117 121
                 <div class="layui-input-inline" style="width: 70%">
118
-                    <input type="hidden" id="ssbm1" name="ssbm" class="layui-input">
122
+                    <input type="hidden" id="ssbm1" name="ssbm1" class="layui-input">
119 123
                     <!-- 设置一个下拉框 -->
120 124
                     <select name="ssbmmc" id="ssbmmc"  lay-search>
121 125
                         <option value="">请选择</option>
@@ -127,28 +131,19 @@
127 131
             <div class="layui-form-item layui-inline" style="width: 100%">
128 132
                 <label class="layui-form-label" style="width: 17%">电科院负责人<span style="color: red;">*</span></label>
129 133
                 <div class="layui-input-inline" style="width: 70%">
130
-                    <input type="hidden" id="dkyfzr1" name="dkyfzr" class="layui-input">
131
-                    <!-- 设置一个下拉框选项 -->
132
-                    <select name="dkyfzrxm" id="dkyfzrxm"  lay-search>
133
-                        <option value="">请选择</option>
134
-                        <option th:each="item:${dkyfzr}" th:text="${item.xm}" th:value="${item.id}"></option>
135
-                    </select>
134
+                    <input type="hidden" id="dkyfzr1" name="dkyfzr1" class="layui-input">
135
+                    <input type="text" id = 'dkyfzrxm' name="dkyfzrxm" class="layui-input">
136 136
                 </div>
137 137
             </div>
138 138
             <div class="layui-form-item layui-inline" style="width: 100%">
139 139
                 <label class="layui-form-label" style="width: 17%">申请人<span style="color: red;">*</span></label>
140 140
                 <div class="layui-input-inline" style="width: 70%">
141
-                    <input type="hidden" id="sqr1" name="sqr" class="layui-input">
142
-                    <!-- 设置一个下拉框选项 -->
143
-                    <select name="sqrxm" id="sqrxm"  lay-search>
144
-                        <option value="">请选择</option>
145
-                        <option th:each="item:${cjr}" th:text="${item.name}" th:value="${item.userId}"></option>
146
-                    </select>
141
+                    <input type="hidden" id="sqr1" name="sqr1" class="layui-input">
142
+                    <input type="text" id = 'sqrxm' name="sqrxm" class="layui-input">
147 143
 
148 144
                 </div>
149 145
             </div>
150 146
         </div>
151
-    </form>
152 147
 
153 148
         <!-- 右侧悬浮按钮 -->
154 149
         <div class="right-bottom-btn">
@@ -159,31 +154,117 @@
159 154
                 <i class="layui-icon layui-icon-close"></i>取消
160 155
             </button>
161 156
         </div>
157
+    </form>
162 158
 </div>
163 159
 <script th:src="@{/lib/jquery-3.4.1/jquery-3.4.1.min.js}" charset="utf-8"></script>
164
-<script th:src="@{/lib/layui-v2.6.3/layui.js}" charset="utf-8"></script>
160
+<script th:src="@{/lib/layui/layui.js}" charset="utf-8"></script>
165 161
 <script th:src="@{/lib/coco-message/coco-message.js}" charset="utf-8"></script>
166 162
 <script th:src="@{/lib/xm-select-v1.2.2/xm-select.js}" charset="utf-8"></script>
167 163
 <script th:src="@{/js/lay-config.js}" charset="utf-8"></script>
168 164
 <script type="text/javascript" th:inline="javascript">
169 165
     AjaxUtil.ctx = /*[[@{/}]]*/'';
170 166
     var updateflag = 0;
171
-    var prjMember = [];
172
-    var prjCompany = [];
173
-    var subTopic = [];
174
-    var budgetCols = [];
175
-    layui.use(['form', 'table', 'treeTable', 'layCascader', 'tableSelect'], function () {
176
-        var table = layui.table,
167
+    var xmApproval = {};
168
+    // 初始化 LayUI
169
+    layui.use(['form','table','tableSelect'], function () {
170
+        var form = layui.form,
177 171
             layer = layui.layer,
178
-            treeTable = layui.treeTable;
179
-        var xmId = parseInt($("#id").val());
180
-        form.on('submit(saveBtn)', function (data) {
181
-            //
172
+            tableSelect = layui.tableSelect,
173
+        table = layui.table;
174
+        //获取创建人
175
+        tableSelect.render({
176
+            elem: '#sqrxm',
177
+            checkedKey: 'userid',
178
+            searchKey: 'name',
179
+            searchPlaceholder: '搜索申请人',
180
+            table:{
181
+                url:AjaxUtil.ctx+'prjContract/cjr',
182
+                cols:[
183
+                    [
184
+                        {type:'radio',title:'😊',width: '7%'},
185
+                        {type: 'numbers',title: '序号',align: 'center',width: '10%'},
186
+                        {field:'name',title: '姓名',align: 'center',width:'30%'},
187
+                        {field: 'deptName',title: '部门',align: 'left',width: '50%'}
188
+                    ]
189
+                ]
190
+            },
191
+            done: function (elem, data) {
192
+                var NEWJSON = [];
193
+                var NEWJSON1 = [];
194
+                layui.each(data.data, function (index, item) {
195
+                    NEWJSON.push(item.name);
196
+                    NEWJSON1.push(item.userId);
197
+                });
198
+                elem.val(NEWJSON.join(","));
199
+                $("#sqr1").val(NEWJSON1.join(","));
200
+                
201
+            }
202
+        });
203
+        // 获取电科院负责人
204
+        tableSelect.render({
205
+            elem: '#dkyfzrxm',
206
+            checkedKey: 'id',
207
+            searchKey: 'xm',
208
+            searchPlaceholder: '搜索电科院负责人',
209
+            table:{
210
+                url:AjaxUtil.ctx +'prjContract/dkyfzr',
211
+                cols: [
212
+                    [
213
+                        {type:'radio',title:'😊',width:'7%'},
214
+                        {type: 'numbers',title: '序号',align:'center',width: '10%'},
215
+                        {field: 'xm',title: '姓名',align: 'center',width: '30%'},
216
+                        {field: 'bmmc',title: '部门',align: 'left',width: '50%'}
182 217
 
218
+                    ]
219
+                ]
220
+            },
221
+            done: function (elem,data) {
222
+                var NEWJSON = [];
223
+                var NEWJSON1 = [];
224
+                layui.each(data.data, function (index, item) {
225
+                    NEWJSON.push(item.xm);
226
+                    NEWJSON1.push(item.id);
227
+                });
228
+                elem.val(NEWJSON.join(","));
229
+                $('#dkyfzr1').val(NEWJSON1.join(","));
183 230
 
231
+            }
184 232
         });
185 233
 
234
+        form.on('submit(saveBtn)', function (data) {
235
+            // 提交表单元素
236
+            // 将表单元素提交至后台
237
+            // 获取表单的数据
238
+            const travelExpenses = data.field; // data.field 包含表单的数据
239
+            // 将对象转换为 JSON 字符串
240
+            AjaxUtil.post({
241
+                url: AjaxUtil.ctx + 'prjProject/upssbm',
242
+                contentType: "application/json",
243
+                data: JSON.stringify(travelExpenses),
244
+                success: function (res) {
245
+                    console.log('hello');
246
+                    console.log(res);
247
+                    if (res.code === 0) {
248
+                        Message.success(1000,res.message,function (){
249
+
250
+                            setTimeout(function () {
251
+                                var index = parent.layer.getFrameIndex(window.name);
252
+                                parent.layer.close(index);
253
+                            },2000);
186 254
 
255
+                        });
256
+                        // 获取弹框 并关闭弹
257
+                    }else {
258
+                        layer.msg(res.message,{ icon:2 });
259
+                    }
260
+                },
261
+                error: function (error) {
262
+                    layer.msg("请求出错,请稍后重试!", { icon: 2 }); // 处理 Ajax 错误
263
+                }
264
+            });
265
+
266
+
267
+        });
187 268
         // 监听取消按钮
188 269
         $("button[lay-filter='cancleBtn']").click(function () {
189 270
             var iframeIndex = parent.layer.getFrameIndex(window.name);