From 30350cae29ec19082a9810080e32fcddd4d9df17 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期五, 19 四月 2024 14:26:54 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/crm/system/controller/UserController.java       |   19 +
 src/main/webapp/views/weekly/weekly.html                             |  317 ++++++++++++++++++++++++++-----
 src/main/java/com/zy/crm/manager/utils/UserChildrenParamUtils.java   |   72 +++++++
 src/main/java/com/zy/crm/manager/controller/DashboardController.java |   20 ++
 src/main/java/com/zy/crm/manager/entity/param/UserChildrenParam.java |   24 ++
 src/main/java/com/zy/crm/manager/controller/WeeklyController.java    |   78 ++++++-
 src/main/java/com/zy/crm/manager/entity/param/UserNowParam.java      |   19 +
 7 files changed, 487 insertions(+), 62 deletions(-)

diff --git a/src/main/java/com/zy/crm/manager/controller/DashboardController.java b/src/main/java/com/zy/crm/manager/controller/DashboardController.java
index 78be2fb..4006406 100644
--- a/src/main/java/com/zy/crm/manager/controller/DashboardController.java
+++ b/src/main/java/com/zy/crm/manager/controller/DashboardController.java
@@ -6,6 +6,7 @@
 import com.core.common.R;
 import com.zy.crm.common.web.BaseController;
 import com.zy.crm.manager.entity.*;
+import com.zy.crm.manager.entity.param.UserNowParam;
 import com.zy.crm.manager.service.*;
 import com.zy.crm.system.entity.Role;
 import com.zy.crm.system.entity.User;
@@ -259,4 +260,23 @@
         return R.ok(item);
     }
 
+    @RequestMapping("/dashboard/user/id/popup/auth2")
+    public R popupUserId2(String token) {
+        UserNowParam userNowParam = new UserNowParam();
+        if (Cools.isEmpty(token)){
+            return R.ok(userNowParam);
+        }
+        try{
+            User user = getUser(token);
+            if (Cools.isEmpty(user) || Cools.isEmpty(user.getId())){
+                return R.ok(userNowParam);
+            }
+            userNowParam.setUserName(user.getNickname());
+            userNowParam.setUserId(user.getId());
+            userNowParam.setDeptId(user.getDeptId());
+            return R.ok().add(userNowParam);
+        }catch (Exception ignored){ }
+        return R.ok(userNowParam);
+    }
+
 }
diff --git a/src/main/java/com/zy/crm/manager/controller/WeeklyController.java b/src/main/java/com/zy/crm/manager/controller/WeeklyController.java
index 3c1b096..0fff081 100644
--- a/src/main/java/com/zy/crm/manager/controller/WeeklyController.java
+++ b/src/main/java/com/zy/crm/manager/controller/WeeklyController.java
@@ -85,16 +85,76 @@
         return R.ok(weeklyService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
+//    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
+//        for (Map.Entry<String, Object> entry : map.entrySet()){
+//            String val = String.valueOf(entry.getValue());
+//            if (val.contains(RANGE_TIME_LINK)){
+//                String[] dates = val.split(RANGE_TIME_LINK);
+//                wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
+//                wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
+//            } else {
+//                wrapper.like(entry.getKey(), val);
+//            }
+//        }
+//    }
+
+    @RequestMapping(value = "/weekly/list/auth2")
+    @ManagerAuth
+    public R list2(@RequestParam(defaultValue = "1")Integer curr,
+                  @RequestParam(defaultValue = "10")Integer limit,
+                  @RequestParam(required = false)String orderByField,
+                  @RequestParam(required = false)String orderByType,
+                  @RequestParam(required = false)String condition,
+                  @RequestParam Map<String, Object> param) {
+        EntityWrapper<Weekly> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        allLike(Weekly.class, param.keySet(), wrapper, condition);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        return R.ok(weeklyService.selectPage(new Page<>(curr, limit), wrapper));
+    }
+
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
+        Long deptId = getDeptId();
+        boolean signUserId = false;
+        boolean signDeptId = false;
+        boolean signHostId = false;
+        for (Map.Entry<String, Object> entry : map.entrySet()){
+            if (entry.getKey().equals("dept_id")){
+                signDeptId = true;
+                if (String.valueOf(entry.getValue()).equals("19")){
+                    signHostId = true;
+                }
+            }
+        }
         for (Map.Entry<String, Object> entry : map.entrySet()){
             String val = String.valueOf(entry.getValue());
             if (val.contains(RANGE_TIME_LINK)){
                 String[] dates = val.split(RANGE_TIME_LINK);
                 wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
                 wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
+            } else if (entry.getKey().equals("dept_id")){
+                if (!val.equals("19")){
+                    wrapper.eq(entry.getKey(), val);
+                }
+            } else if (entry.getKey().equals("user_id") && !signDeptId){
+                signUserId = true;
+                wrapper.eq(entry.getKey(), val);
             } else {
                 wrapper.like(entry.getKey(), val);
             }
+        }
+        if (!signUserId && !signDeptId){
+            if (getRole().getId()==1){
+                wrapper.or().eq("host_id",getHostId());
+            }else if (getRole().getId()==2){
+                wrapper.eq("dept_id",getDeptId());
+            }else {
+                wrapper.eq("user_id", getUserId());
+            }
+        }
+        if (signHostId){
+            wrapper.or().eq("host_id",getHostId());
         }
     }
 
@@ -509,9 +569,10 @@
                 throw new CoolException("鍙傛暟涓虹┖锛歐eeklyId");
             } else if (Cools.isEmpty(param.getType())){
                 throw new CoolException("鍙傛暟涓虹┖锛歍ype");
-            } else if (Cools.isEmpty(param.getWeeklyType())){
-                throw new CoolException("鍙傛暟涓虹┖锛歐eekly");
             }
+//            if (Cools.isEmpty(param.getWeeklyType())){
+//                throw new CoolException("鍙傛暟涓虹┖锛歐eekly");
+//            }
             Date now = new Date();
             Weekly weekly = weeklyService.selectById(param.getWeeklyId());
             weekly.setUpdateBy(getUserId());
@@ -538,22 +599,19 @@
                 if (!Cools.isEmpty(weeklyDailyPlan.getId())){
                     Long weeklyDailyPlanId = weeklyDailyPlan.getId();
                     weeklyDailyPlan1 = weeklyDailyPlanService.selectById(weeklyDailyPlan.getId());
-                    if (Cools.isEmpty(weeklyDailyPlan)){
+                    if (Cools.isEmpty(weeklyDailyPlan1)){
                         throw new CoolException("鏇存柊澶辫触锛歩d:"+weeklyDailyPlanId);
                     }
-                    if (!Cools.isEmpty(weeklyDailyPlan1.getComment())){
-//                        weeklyDailyPlan1.setComment(weeklyDailyPlan1.getComment()+";"+weeklyDailyPlan.getComment());
-                        weeklyDailyPlan1.setComment(weeklyDailyPlan.getComment());
-                    }else {
-                        weeklyDailyPlan1.setComment(weeklyDailyPlan.getComment());
-                    }
+                    weeklyDailyPlan1.setComment(weeklyDailyPlan.getComment());
                     weeklyDailyPlan1.setWorkContent(weeklyDailyPlan.getWorkContent());
                     weeklyDailyPlan1.setWorkPurpose(weeklyDailyPlan.getWorkPurpose());
+                    weeklyDailyPlan1.setWeeklyMatter(weeklyDailyPlan.getWeeklyMatter());
+                    weeklyDailyPlan1.setAddr(weeklyDailyPlan.getAddr());
                     weeklyDailyPlan1.setMemo(weeklyDailyPlan.getMemo());
                     weeklyDailyPlan1.setUpdateBy(getUserId());
                     weeklyDailyPlan1.setUpdateTime(now);
                     if (!Cools.isEmpty(weeklyDailyPlan.getCstmrId())){
-                        weeklyDailyPlan1.setCstmrId(weeklyDailyPlan1.getCstmrId());
+                        weeklyDailyPlan1.setCstmrId(weeklyDailyPlan.getCstmrId());
                     }
                     weeklyDailyPlanService.updateById(weeklyDailyPlan1);
 
diff --git a/src/main/java/com/zy/crm/manager/entity/param/UserChildrenParam.java b/src/main/java/com/zy/crm/manager/entity/param/UserChildrenParam.java
new file mode 100644
index 0000000..4847c73
--- /dev/null
+++ b/src/main/java/com/zy/crm/manager/entity/param/UserChildrenParam.java
@@ -0,0 +1,24 @@
+package com.zy.crm.manager.entity.param;
+
+import com.zy.crm.system.entity.User;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class UserChildrenParam {
+    private Long id;
+    private Long userId;
+    private Long deptId;
+    private String label;
+    private List<UserChildrenParam> children;
+
+    public UserChildrenParam(){}
+    public UserChildrenParam(Long id,Long userId,Long deptId,String label,List<UserChildrenParam> children){
+        this.id = id;
+        this.userId = userId;
+        this.deptId = deptId;
+        this.label = label;
+        this.children = children;
+    }
+}
diff --git a/src/main/java/com/zy/crm/manager/entity/param/UserNowParam.java b/src/main/java/com/zy/crm/manager/entity/param/UserNowParam.java
new file mode 100644
index 0000000..c70f78a
--- /dev/null
+++ b/src/main/java/com/zy/crm/manager/entity/param/UserNowParam.java
@@ -0,0 +1,19 @@
+package com.zy.crm.manager.entity.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class UserNowParam {
+    private Long userId;
+    private Long deptId;
+    private String userName;
+
+    public UserNowParam(){}
+    public UserNowParam(Long userId, Long deptId, String userName){
+        this.userId = userId;
+        this.deptId = deptId;
+        this.userName = userName;
+    }
+}
diff --git a/src/main/java/com/zy/crm/manager/utils/UserChildrenParamUtils.java b/src/main/java/com/zy/crm/manager/utils/UserChildrenParamUtils.java
new file mode 100644
index 0000000..7a1ac1d
--- /dev/null
+++ b/src/main/java/com/zy/crm/manager/utils/UserChildrenParamUtils.java
@@ -0,0 +1,72 @@
+package com.zy.crm.manager.utils;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.zy.crm.manager.entity.param.UserChildrenParam;
+import com.zy.crm.system.entity.Dept;
+import com.zy.crm.system.entity.Host;
+import com.zy.crm.system.entity.User;
+import com.zy.crm.system.service.DeptService;
+import com.zy.crm.system.service.HostService;
+import com.zy.crm.system.service.UserService;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+public class UserChildrenParamUtils {
+    private static Long id = 0L;
+
+    public static UserChildrenParam getUserChildrenParamList(User user) {
+        id = 1L;
+        switch (user.getRoleId().intValue()){
+            case 1:
+            case 2:
+                return getUserChildrenParamListDept(user.getDeptId());
+            case 3:
+                return getUserChildrenParam(user);
+            default:
+                return null;
+        }
+    }
+
+    public static UserChildrenParam getUserChildrenParamListDept(Long deptId) {
+        DeptService deptService = SpringUtils.getBean(DeptService.class);
+        Dept dept = deptService.selectById(deptId);
+        if (Cools.isEmpty(dept) || Cools.isEmpty(dept.getName())){
+            return null;
+        }
+
+        UserService userService = SpringUtils.getBean(UserService.class);
+        List<User> users = userService.selectList(new EntityWrapper<User>().eq("dept_id", dept.getId()));
+
+        List<UserChildrenParam> list = new ArrayList<>();
+
+        for (User userNow:users){
+            id++;
+            UserChildrenParam userChildrenParam = getUserChildrenParam(userNow);
+            list.add(userChildrenParam);
+        }
+        if (dept.getLevel()!=2){
+            List<Dept> deptList = deptService.selectList(new EntityWrapper<Dept>().eq("parent_id", dept.getId()));
+            for (Dept dept1:deptList){
+                UserChildrenParam userChildrenParamListDept = getUserChildrenParamListDept(dept1.getId());
+                list.add(userChildrenParamListDept);
+            }
+        }
+        id++;
+        UserChildrenParam userChildrenParam = new UserChildrenParam(id,0L,dept.getId(),dept.getName(),list);
+        return userChildrenParam;
+    }
+
+    public static UserChildrenParam getUserChildrenParam(User user) {
+        UserChildrenParam userChildrenParam = new UserChildrenParam();
+        userChildrenParam.setId(id);
+        userChildrenParam.setUserId(user.getId());
+        userChildrenParam.setDeptId(user.getDeptId());
+        userChildrenParam.setLabel(user.getNickname());
+        return userChildrenParam;
+    }
+
+}
diff --git a/src/main/java/com/zy/crm/system/controller/UserController.java b/src/main/java/com/zy/crm/system/controller/UserController.java
index 4ab50a0..17336d9 100644
--- a/src/main/java/com/zy/crm/system/controller/UserController.java
+++ b/src/main/java/com/zy/crm/system/controller/UserController.java
@@ -11,7 +11,9 @@
 import com.core.domain.KeyValueVo;
 import com.core.exception.CoolException;
 import com.zy.crm.common.web.BaseController;
+import com.zy.crm.manager.entity.param.UserChildrenParam;
 import com.zy.crm.manager.service.CstmrService;
+import com.zy.crm.manager.utils.UserChildrenParamUtils;
 import com.zy.crm.system.entity.Role;
 import com.zy.crm.system.entity.User;
 import com.zy.crm.system.service.RoleService;
@@ -207,5 +209,22 @@
         return R.ok().add(valueVos);
     }
 
+    @RequestMapping("/user/id/popup/auth")
+    public R popupUserId(String token) {
+        Long item = 0L;
+        if (Cools.isEmpty(token)){
+            return R.ok();
+        }
+        try{
+            User user = getUser(token);
+            if (Cools.isEmpty(user) || Cools.isEmpty(user.getId())){
+                return R.ok(item);
+            }
+            UserChildrenParam userChildrenParamList = UserChildrenParamUtils.getUserChildrenParamList(user);
+            return R.ok().add(userChildrenParamList);
+        }catch (Exception ignored){ }
+        return R.ok();
+    }
+
 
 }
diff --git a/src/main/webapp/views/weekly/weekly.html b/src/main/webapp/views/weekly/weekly.html
index aceb7c8..3fb5b5f 100644
--- a/src/main/webapp/views/weekly/weekly.html
+++ b/src/main/webapp/views/weekly/weekly.html
@@ -17,6 +17,9 @@
 <body>
 <div id="app">
     <div>
+
+    </div>
+    <div>
         <el-dialog title="鍛ㄨ鍒�" :visible.sync="dialogFormVisible" style="width: 1800px">
             <el-form :model="form" style="width: 100%">
                 <el-form-item label="鏃ユ湡" :label-width="formLabelWidth">
@@ -31,21 +34,10 @@
                 </el-form-item>
                 <el-form-item label="鍛ㄨ鍒�" :label-width="formLabelWidth">
                     <el-button type="primary" @click="addWeekPlan">娣诲姞鏃ヨ鍒�</el-button>
-                    <el-table
-                            :data="weeklyFormData"
-                            border
-                            style="width: 100%">
-                        <el-table-column
-                            fixed
-                            :data="addWeekPlanData"
-                            prop="weeklyDay"
-                            label="鏄熸湡"
-                            width="150">
+                    <el-table :data="weeklyFormData" border style="width: 100%">
+                        <el-table-column fixed :data="addWeekPlanData" prop="weeklyDay" label="鏄熸湡" width="150">
                         </el-table-column>
-                        <el-table-column
-                                prop="cstmrId"
-                                label="鐢叉柟鍗曚綅"
-                                width="180">
+                        <el-table-column prop="cstmrId" label="鐢叉柟鍗曚綅" width="180">
                             <div class="item" slot-scope="scope">
                                 <el-select v-model="scope.row.cstmrId" placeholder="鐢叉柟鍗曚綅">
                                     <el-option
@@ -57,43 +49,28 @@
                                 </el-select>
                             </div>
                         </el-table-column>
-                        <el-table-column
-                            prop="workContent"
-                            label="宸ヤ綔鍐呭鍙婄洰鐨�"
-                            width="180">
+                        <el-table-column prop="workContent" label="宸ヤ綔鍐呭鍙婄洰鐨�" width="180">
                             <div class="item" slot-scope="scope">
                                 <el-input v-model="scope.row.workContent" placeholder="宸ヤ綔鍐呭鍙婄洰鐨�"></el-input>
                             </div>
                         </el-table-column>
-                        <el-table-column
-                            prop="weeklyMatter"
-                            label="闇�鍗忓姪浜嬮」"
-                            width="120">
+                        <el-table-column prop="weeklyMatter" label="闇�鍗忓姪浜嬮」" width="120">
                             <div class="item" slot-scope="scope">
                                 <el-input v-model="scope.row.weeklyMatter" placeholder="闇�鍗忓姪浜嬮」"></el-input>
                             </div>
                         </el-table-column>
-                        <el-table-column
-                                prop="addr"
-                                label="鍦板潃"
-                                width="180">
+                        <el-table-column prop="addr" label="鍦板潃" width="180">
                             <div class="item" slot-scope="scope">
                                 <el-input v-model="scope.row.addr" placeholder="鍦板潃"></el-input>
                             </div>
                         </el-table-column>
-                        <el-table-column
-                            prop="memo"
-                            label="澶囨敞"
-                            width="120">
+                        <el-table-column prop="memo" label="澶囨敞" width="120">
                             <div class="item" slot-scope="scope">
                                 <el-input v-model="scope.row.memo" placeholder="澶囨敞"></el-input>
                             </div>
                         </el-table-column>
-                        <el-table-column  :show="false"  property="weeklyDay$" label="鏃ユ湡"  v-if="false"></el-table-column>
-                        <el-table-column
-                            fixed="right"
-                            label="鎿嶄綔"
-                            width="100">
+                        <el-table-column :show="false" property="weeklyDay$" label="鏃ユ湡" v-if="false"></el-table-column>
+                        <el-table-column fixed="right" label="鎿嶄綔" width="100">
                             <template slot-scope="scope">
                                 <el-button @click="delWeeklyPlan(scope.row)" type="text" size="del-weekly-plan">鍒犻櫎</el-button>
                             </template>
@@ -102,10 +79,75 @@
                 </el-form-item>
             </el-form>
             <div slot="footer" class="dialog-footer">
-                <el-button @click="dialogFormVisible = false, weeklyFormData=[]">鍙� 娑�</el-button>
-                <el-button type="primary" @click="dialogFormVisible = false, addWeekly(form,true)">纭� 瀹�</el-button>
+                <el-button @click="dialogFormVisible = false, weeklyFormDataInit()">鍙栨秷</el-button>
+                <el-button type="primary" @click="dialogFormVisible = false, addWeekly(form,true)">纭畾</el-button>
             </div>
         </el-dialog>
+
+        <el-dialog title="鏃ヨ鍒�" :visible.sync="updatePlanDialogFormVisible" style="width: 1800px">
+            <el-form :model="formPlan" style="width: 100%">
+                <el-form-item label="鏃ユ湡" :label-width="formLabelWidth">
+                    <el-select v-model="formPlan.name">
+                        <el-option
+                                v-for="item in addWeekPlanDataWeeklySignPlan"
+                                :key="item.value"
+                                :label="item.label"
+                                :value="item.value">
+                        </el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="鍛ㄨ鍒�" :label-width="formLabelWidth">
+                    <el-button type="primary" @click="addWeekPlan">娣诲姞鏃ヨ鍒�</el-button>
+                    <el-table :data="weeklyFormDataPlan" border style="width: 100%">
+                        <el-table-column fixed :data="addWeekPlanData" prop="weeklyDay" label="鏄熸湡" width="150">
+                        </el-table-column>
+                        <el-table-column prop="cstmrId" label="鐢叉柟鍗曚綅" width="180">
+                            <div class="item" slot-scope="scope">
+                                <el-select v-model="scope.row.cstmrId" placeholder="鐢叉柟鍗曚綅">
+                                    <el-option
+                                            v-for="item in options"
+                                            :key="item.value"
+                                            :label="item.name"
+                                            :value="item.value">
+                                    </el-option>
+                                </el-select>
+                            </div>
+                        </el-table-column>
+                        <el-table-column prop="workContent" label="宸ヤ綔鍐呭鍙婄洰鐨�" width="180">
+                            <div class="item" slot-scope="scope">
+                                <el-input v-model="scope.row.workContent" placeholder="宸ヤ綔鍐呭鍙婄洰鐨�"></el-input>
+                            </div>
+                        </el-table-column>
+                        <el-table-column prop="weeklyMatter" label="闇�鍗忓姪浜嬮」" width="120">
+                            <div class="item" slot-scope="scope">
+                                <el-input v-model="scope.row.weeklyMatter" placeholder="闇�鍗忓姪浜嬮」"></el-input>
+                            </div>
+                        </el-table-column>
+                        <el-table-column prop="addr" label="鍦板潃" width="180">
+                            <div class="item" slot-scope="scope">
+                                <el-input v-model="scope.row.addr" placeholder="鍦板潃"></el-input>
+                            </div>
+                        </el-table-column>
+                        <el-table-column prop="memo" label="澶囨敞" width="120">
+                            <div class="item" slot-scope="scope">
+                                <el-input v-model="scope.row.memo" placeholder="澶囨敞"></el-input>
+                            </div>
+                        </el-table-column>
+                        <el-table-column :show="false" property="weeklyDay$" label="鏃ユ湡" v-if="false"></el-table-column>
+                        <el-table-column fixed="right" label="鎿嶄綔" width="100">
+                            <template slot-scope="scope">
+                                <el-button @click="delWeeklyPlanUpdate(scope.row)" type="text" size="del-weekly-plan">鍒犻櫎</el-button>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                </el-form-item>
+            </el-form>
+            <div slot="footer" class="dialog-footer">
+                <el-button @click="updatePlanDialogFormVisible = false, weeklyFormDataPlanInit()">鍙栨秷</el-button>
+                <el-button type="primary" @click="updatePlanDialogFormVisible = false, updatePlanWeekly(formPlan,false)">纭畾</el-button>
+            </div>
+        </el-dialog>
+
 
         <el-dialog
                 title="鏄熸湡"
@@ -128,6 +170,28 @@
         </el-dialog>
 
         <el-main>
+            <el-popover
+                    placement="top"
+                    width="160"
+                    v-model="visible">
+                <el-input
+                        placeholder="鎼滅储"
+                        v-model="filterText">
+                </el-input>
+
+                <el-tree
+                        class="filter-tree"
+                        :data="data1"
+                        :props="defaultProps"
+                        :default-expand-all="false"
+                        :filter-node-method="filterNode"
+                        :expand-on-click-node="false"
+                        ref="tree"
+                        accordion
+                        @node-click="handleNodeClick">
+                </el-tree>
+                <el-button type="primary" slot="reference" plain>{{userNameNow.userName}}</el-button>
+            </el-popover>
             <el-button type="primary"  @click="dialogFormVisible = true" icon="el-icon-edit" size="mini" circle></el-button>
             <el-table
                     :data="tableData"
@@ -194,9 +258,11 @@
                         prop="oper"
                         fixed="right"
                         label="鎿嶄綔"
-                        width="100">
+                        width="180">
                     <template slot-scope="scope">
                         <el-button @click="delWeekly(scope.row)" type="text" size="del-weekly">鍒犻櫎</el-button>
+                        <el-button @click="showUpdatePlanWeekly(scope.row)" type="text" size="del-weekly">璁″垝</el-button>
+                        <el-button @click="updateRWeekly(scope.row)" type="text" size="del-weekly">缁撴灉</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -207,20 +273,25 @@
     var app = new Vue({
         el: '#app',
         data: {
+            data1: [],
+            defaultProps: {
+                children: 'children',
+                label: 'label'
+            },
+            visible: false,
+            userNameNow: {
+                userId : 0,
+                userName : '',
+                deptId : 0
+            },
+            filterText: '',
             tableData: [],
             weeklyDailyPlanData: [],
             weeklyDailyRealityData: [],
             dialogFormVisible: false,
-            form: {
-                name: '',
-                region: '',
-                date1: '',
-                date2: '',
-                delivery: false,
-                type: [],
-                resource: '',
-                desc: ''
-            },
+            updatePlanDialogFormVisible: false,
+            form: {},
+            formPlan: {},
             formLabelWidth: '120px',
             addWeekPlanVisible: false,
             addWeekPlanDataWeeklySign: [
@@ -237,20 +308,27 @@
                     label: '涓嬪懆'
                 }
             ],
+            addWeekPlanDataWeeklySignPlan: [],
             addWeekPlanData: [],
             addWeekPlanValue: [],
             weeklyFormData: [],
+            weeklyFormDataPlan: [],
             options: [],
             // 闇�瑕佺紪杈戠殑灞炴��
             editProp: ['cstmrId','workContent','weeklyMatter','memo']
         },
         created(){
             this.init();
+            this.initUser();
+            this.weeklyFormDataInit();
             this.getOptionsData();
             this.getAddWeekPlanData();
+            this.getUserNameAndId();
         },
         watch: {
-
+            filterText(val) {
+                this.$refs.tree.filter(val);
+            }
         },
         computed:{
             // cstmrLabel () {
@@ -272,6 +350,67 @@
                         console.log(that.tableData)
                     }
                 });
+            },
+            initUser(){
+                let that = this
+                $.ajax({
+                    url: baseUrl + "/dashboard/user/id/popup/auth2",
+                    data:{token : localStorage.getItem('token')},
+                    method: 'GET',
+                    success: function (res) {
+                        if (res.code === 200) {
+                            console.log(res)
+                            that.userNameNow = res.data;
+                        }
+                    }
+                });
+            },
+            filterNode(value, data) {
+                if (!value) return true;
+                return data.label.indexOf(value) !== -1;
+            },
+            handleNodeClick(data) {
+                // console.log("data");
+                console.log(data);
+                this.userNameNow.userName = data.label
+                this.userNameNow.userId = data.userId
+                this.userNameNow.deptId = data.deptId
+                let that = this
+                $.ajax({
+                    url: baseUrl + '/weekly/list/auth2',
+                    headers: {'token': localStorage.getItem('token')},
+                    method: "get",
+                    data: {
+                        dept_id: Number(that.userNameNow.deptId),
+                        user_id: Number(that.userNameNow.userId),
+                    },
+                    success: (res) => {
+                        that.tableData = res.data.records;
+                        console.log(that.tableData)
+                    }
+                });
+            },
+            weeklyFormDataInit(){
+                this.weeklyFormData = [
+                    {
+                        weeklyDay: 1
+                    },{
+                        weeklyDay: 2
+                    },{
+                        weeklyDay: 3
+                    },{
+                        weeklyDay: 4
+                    },{
+                        weeklyDay: 5
+                    },{
+                        weeklyDay: 6
+                    }]
+                this.form.name = this.addWeekPlanDataWeeklySign[2].value
+            },
+            weeklyFormDataPlanInit(){
+                this.weeklyFormDataPlan = []
+                this.formPlan.name = []
+                this.updatePlanDialogFormVisible = false
             },
             showWeeklyDailyPlan(id) {
                 let that = this;
@@ -311,7 +450,10 @@
             addWeekly(res,isExpAdd){
                 let that = this;
                 let weeklyFormData = this.weeklyFormData;
-
+                console.log("weeklyFormData")
+                console.log(weeklyFormData)
+                console.log("res")
+                console.log(res)
                 $.ajax({
                     url: baseUrl+"/weekly/from/" + (isExpAdd?"add":"modify") + "/auth",
                     headers: {'token': localStorage.getItem('token')},
@@ -333,12 +475,58 @@
                     }
                 })
             },
+            showUpdatePlanWeekly(res) {
+                let that = this;
+                that.formPlan.name = res.weeklyDayMonth
+                that.formPlan.weeklyId = res.id
+                // that.formPlan.weeklyMonth = res.weeklyMonth
+                $.ajax({
+                    url: baseUrl + '/weeklyDailyPlan/list/auth',
+                    headers: {'token': localStorage.getItem('token')},
+                    method: "get",
+                    data: {
+                        weekly_id: res.id
+                    },
+                    success: (res) => {
+                        that.weeklyFormDataPlan = res.data.records;
+                    }
+                });
+                that.updatePlanDialogFormVisible = true
+
+            },
+            updatePlanWeekly(res,isExpAdd){
+                let that = this;
+                that.updatePlanDialogFormVisible = false
+                let weeklyFormDataPlan = this.weeklyFormDataPlan;
+                $.ajax({
+                    url: baseUrl+"/weekly/from/" + (isExpAdd?"add":"modify") + "/auth",
+                    headers: {'token': localStorage.getItem('token')},
+                    data: JSON.stringify({
+                        // weeklyType: Number(that.formPlan.weeklyMonth),
+                        weeklyId: that.formPlan.weeklyId,
+                        // type: Number(data.field.type),
+                        type: Number(1),
+                        weeklyDailyPlanList: weeklyFormDataPlan
+                    }),
+                    contentType:'application/json;charset=UTF-8',
+                    method: 'POST',
+                    success: (res) => {
+                        weeklyFormData=[]
+                    },
+                    error: function (jqXHR, textStatus, errorThrown) {
+                        // 鍦ㄨ繖閲屽仛閿欒澶勭悊:
+                        console.log('Error occurred: ', textStatus, errorThrown);
+                    }
+                })
+                that.weeklyFormDataPlan = []
+                that.formPlan.name = []
+                that.formPlan.weeklyId = 0
+            },
             addWeekPlanConfirm() {
                 let list = this.weeklyFormData
                 let value = this.addWeekPlanValue
                 if (value.length > 0) {
                     value.forEach((item,idx) => {
-                        // console.log(item)
                         list.push({
                             weeklyDay: item
                         })
@@ -346,6 +534,7 @@
                 }
 
                 this.weeklyFormData = list;
+                console.log(list)
                 this.addWeekPlanVisible = false;
                 this.addWeekPlanValue = [];
             },
@@ -355,6 +544,14 @@
                 if (index !== -1) {
                     // 閫氳繃splice鏂规硶鍒犻櫎璇ヨ
                     this.weeklyFormData.splice(index, 1);
+                }
+            },
+            delWeeklyPlanUpdate(row) {
+                // 鎵惧埌瑕佸垹闄ょ殑琛屽湪鏁版嵁鍒楄〃涓殑绱㈠紩
+                const index = this.weeklyFormDataPlan.findIndex(item => item === row);
+                if (index !== -1) {
+                    // 閫氳繃splice鏂规硶鍒犻櫎璇ヨ
+                    this.weeklyFormDataPlan.splice(index, 1);
                 }
             },
             delWeekly(row) {
@@ -413,7 +610,23 @@
 
                     }
                 });
-            }
+            },
+            getUserNameAndId() {
+                let that = this;
+                $.ajax({
+                    url: baseUrl + "/user/id/popup/auth",
+                    data:{token : localStorage.getItem('token')},
+                    method: 'GET',
+                    success: function (res) {
+                        that.data1 = res.data.children;
+                    }
+                });
+            },
+            defaultProps: {
+                children: 'children',
+                label: 'label'
+            },
+
         }
     })
 

--
Gitblit v1.9.1