From 3b26fd394efacb75b24b9575effbbcbbe63361aa Mon Sep 17 00:00:00 2001
From: whycwx <1272078254@qq.com>
Date: 星期三, 10 十一月 2021 17:21:39 +0800
Subject: [PATCH] 查询用户组

---
 src/pages/alarmWork/workInfo.vue |  201 ++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 160 insertions(+), 41 deletions(-)

diff --git a/src/pages/alarmWork/workInfo.vue b/src/pages/alarmWork/workInfo.vue
index c9d5fef..3adb0bf 100644
--- a/src/pages/alarmWork/workInfo.vue
+++ b/src/pages/alarmWork/workInfo.vue
@@ -24,8 +24,24 @@
                         <!-- <p><span class="label_box">鍛婅缁撴潫鏃堕棿锛歿{ workInfo.planEndTime }}</span></p> -->
                         <p><span class="label_box">鍛婅绾у埆锛�</span><span class="color_red">{{ numList[workInfo.alarmLevel-1] }}绾у憡璀�</span></p>
                         <!-- <p><span class="label_box">鍛婅闄勪欢锛�</span><a href="#" download>鏌愭煇鏂囦欢.txt</a></p> -->
+                         <!-- 澶勭悊鍒嗘淳鍥炲 -->
+                        <div class="change_box" v-if="tableData.length>0">
+                                <el-table :data="tableData" stripe style="width: 100%">
+                                <el-table-column type="selection" width="55"></el-table-column>
+                                <el-table-column prop="dealUserId" label="鍒嗘淳澶勭悊浜�"></el-table-column>
+                                <el-table-column prop="dealReason" label="澶勭悊鍥炲鍐呭" ></el-table-column>
+                                <!-- <el-table-column prop="fj" label="闄勪欢"></el-table-column> -->
+                                <el-table-column prop="createTime" label="鏃ユ湡"></el-table-column>
+                                <el-table-column prop="option" label="鎿嶄綔">
+                                    <template slot-scope="scope">
+                                        <el-button size="mini" type="success">閫氳繃</el-button>
+                                        <el-button size="mini" type="info">椹冲洖</el-button>
+                                    </template>
+                                </el-table-column>
+                            </el-table>
+                        </div>
                     </div>
-                    
+                   
                     <div class="select_box">
                         <p>
                             <span class="label_box">澶勭悊鍔ㄤ綔:</span>
@@ -40,23 +56,14 @@
                         </p>
                     </div>
                     <div class="event_box">
-                        <!-- 澶勭悊鍒嗘淳鍥炲 -->
+                        <!-- 杞淳 -->
                         <div class="change_box" v-if="value==1">
-                            <el-button size="mini" type="success">閫氳繃</el-button>
-                            <el-button size="mini" type="info">椹冲洖</el-button>
-                             <el-table :data="tableData" stripe style="width: 100%">
-                                <el-table-column type="selection" width="55"></el-table-column>
-                                <el-table-column prop="name" label="鍒嗘淳澶勭悊浜�"></el-table-column>
-                                <el-table-column prop="data" label="澶勭悊鍥炲鍐呭" ></el-table-column>
-                                <el-table-column prop="fj" label="闄勪欢"></el-table-column>
-                                <el-table-column prop="date" label="鏃ユ湡"></el-table-column>
-                            </el-table>
-                        </div>
-                        <!-- 杞淳T2澶勭悊 -->
-                        <div class="change_box" v-if="value==2">
                             <el-form ref="form2" :model="form2" label-width="120px">
                                 <el-form-item label="瑕佹眰瀹屾垚鏃堕棿锛�">
                                     <el-date-picker v-model="form2.date2" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" > </el-date-picker>
+                                </el-form-item>
+                                <el-form-item label="杞淳澶勭悊浜猴細">
+                                    <el-input v-model="form2.user" placeholder="璇烽�夋嫨" readonly=""  @click.native="getUserList()" style="width: 20%;"></el-input>
                                 </el-form-item>
                                 <el-form-item label="杞淳鎰忚锛�">
                                     <el-input type="textarea" v-model="form2.desc" style="width: 40%;"></el-input>
@@ -74,7 +81,7 @@
                                     <el-date-picker v-model="form3.date2" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" > </el-date-picker>
                                 </el-form-item>
                                 <el-form-item label="鍒嗘淳澶勭悊浜猴細">
-                                    <el-input v-model="form3.user" placeholder="璇疯緭鍏�" style="width: 40%;"></el-input>
+                                    <el-input v-model="form3.user" placeholder="璇疯緭鍏�" readonly=""  @click.native="getUserList()" style="width: 40%;"></el-input>
                                 </el-form-item>
                                 <el-form-item label="杞淳鎰忚锛�">
                                     <el-input type="textarea" v-model="form3.desc" style="width: 40%;"></el-input>
@@ -85,13 +92,13 @@
                             </el-form>
                         </div>
                         <!-- 绉讳氦 -->
-                        <div class="change_box" v-if="value==4">
+                        <div class="change_box" v-if="value==2">
                             <el-form ref="form4" :model="form4" label-width="120px">
                                 <el-form-item label="瑕佹眰瀹屾垚鏃堕棿锛�">
                                     <el-date-picker v-model="form4.date2" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" > </el-date-picker>
                                 </el-form-item>
                                 <el-form-item label="绉讳氦澶勭悊缁勶細">
-                                    <el-input v-model="form4.user" placeholder="璇烽�夋嫨" style="width: 40%;"></el-input>
+                                    <el-input v-model="form4.user" placeholder="璇烽�夋嫨" readonly=""  @click.native="getUserList()" style="width: 40%;"></el-input>
                                 </el-form-item>
                                 <el-form-item label="绉讳氦鎰忚锛�">
                                     <el-input type="textarea" v-model="form4.desc" style="width: 40%;"></el-input>
@@ -279,16 +286,46 @@
                 <el-tab-pane label="娴佺▼鍥�">娴佺▼鍥�</el-tab-pane>
             </el-tabs>
             
-            <el-button size="mini" type="primary" @click="basicInfo">鏌ヨ</el-button>
+            <!-- <el-button size="mini" type="primary" @click="basicInfo">鏌ヨ</el-button> -->
         </div>
+        <!-- 鐢ㄦ埛鍒楄〃 -->
+        <el-dialog
+        title="鎻愮ず"
+        :visible.sync="dialog"
+        width="30%"
+        center>
+            <div>
+                <el-tree
+                :data="userList"
+                show-checkbox
+                @check="check"
+                node-key="id"
+                :default-expanded-keys="expandedList"
+                :props="defaultProps">
+                </el-tree>
+            </div>
+            <span slot="footer" class="dialog-footer">
+                <el-button type="primary" @click="ok()">纭� 瀹�</el-button>
+                <el-button @click="cancel()">鍙� 娑�</el-button>
+            </span>
+        </el-dialog>
     </div>
 </template>
 <script>
-import { login,basicInfo } from './js/workInfo/workInfo'
+import { login,basicInfo , userList} from './js/workInfo/workInfo'
 import  {STATUS}  from './js/const'
 export default {
     data(){
         return {
+            dialog:false,
+            expandedList:[],
+            userCheckId:"",
+            userCheckName:"",
+            userList:[],
+            defaultProps: {
+                children: 'children',
+                label: 'label'
+            },
             value:"",
             workInfo:{
                 status:0,
@@ -299,25 +336,22 @@
                 taskDesc:"",
                 alarmLevel:"",
                 countdown:"",
+                stationId:"",
             },
             numList:["涓�","浜�","涓�","鍥�","浜�","鍏�","涓�","鍏�","涔�","鍗�"],
             selectList:[
-                {value:1,label:"澶勭悊鍒嗘淳鍥炲"},
-                {value:2,label:"杞淳T2澶勭悊"},
+                {value:1,label:"杞淳"},
                 {value:3,label:"鍒嗘淳"},
-                {value:4,label:"绉讳氦"},
+                {value:2,label:"绉讳氦"},
                 {value:5,label:"鍥炲"},
                 {value:6,label:"澶勭悊骞跺綊妗�"},
             ],
-            tableData:[
-                {name:"寮犱笁",data:"宸插鐞嗭紝鏁呴殰宸叉仮澶�",fj:"xxx.txt",date:"2021-10-08 15:51:43"},
-                {name:"鏉庡洓",data:"宸插鐞嗭紝鏁呴殰宸叉仮澶�",fj:"xxx.txt",date:"2021-10-08 15:51:43"},
-                {name:"鐜嬩簲",data:"宸插鐞嗭紝鏁呴殰宸叉仮澶�",fj:"xxx.txt",date:"2021-10-08 15:51:43"}
-            ],
+            tableData:[],
             form2:{
                 date1:"",
                 date2:"",
-                desc:""
+                desc:"",
+                user:"",
             },
             form3:{
                 date1:"",
@@ -338,7 +372,8 @@
                 desc:"",
             },
             detailsData:[],
-            time: null
+            time: null,
+
         }
     },
     mounted(){
@@ -351,24 +386,108 @@
             console.log(val)
             console.log("val:" + this.value)
         },
+        // 鑾峰彇鐢ㄦ埛鍒楄〃
+        getUserList:function(){
+            let self = this;
+            let params = {
+                stationId:self.workInfo.stationId
+            }
+                userList(params).then((res)=>{
+                    let resdata = res.data;
+                        if(resdata.code == 1){
+                            let dataList = [
+                                    {
+                                        id:self.workInfo.stationId,
+                                        label:self.workInfo.stationName,
+                                        children:[]
+                                    }
+                                ];
+                                resdata.data.forEach(item => {
+                                    let obj = {
+                                        id:item.uid,
+                                        label:item.uname
+                                    }
+                                    dataList[0].children.push(obj);
+                                });
+                                self.userList = dataList;
+                                self.dialog = true;
+                        }
+                        console.log(resData)
+                }).catch((err)=>{
+
+                })
+                
+        },
+        // 鏍戝凡閫夋暟鎹�
+        check:function(obj,data){
+            /*
+            *obj=褰撳墠閫変腑鐨勬暟鎹�
+            *data{
+            * checkedKeys:宸查�夋暟鎹殑ID
+            * checkedNodes锛氬凡閫夋暟鎹缁嗕俊鎭�
+            * halfCheckedKeys锛氬凡閫夋暟鎹墍灞炵殑缁�
+            * halfCheckedNodes锛氬凡閫夋暟鎹墍灞炵粍鐨勮缁嗕俊鎭�   
+            *}
+            */ 
+           let self = this;
+                if(obj.id!=self.workInfo.stationId){
+                    self.userCheckId = data.checkedKeys.join(",");
+                }else{
+                    self.userCheckId = data.checkedKeys.slice(1, data.checkedKeys.length).join(",");
+                }
+                let nameArr = [];
+                data.checkedNodes.forEach((item,i) => {
+                    if(obj.id!=self.workInfo.stationId){
+                        nameArr.push(item.label);
+                    }else{
+                        if(i>0){
+                            nameArr.push(item.label);
+                        }
+                    }
+                    
+                });
+                self.userCheckName = nameArr.join(",");
+            console.log(obj,data)
+            console.log(self.userCheckId,self.userCheckName)
+        },
+        // 纭畾
+        ok:function(){
+            let self = this;
+                self.form2.user = self.userCheckName;
+                self.dialog = false;
+        },
+        // 鍙栨秷
+        cancel:function(){
+            let self = this;
+                self.userCheckName = "";
+                self.form2.user = "";
+                self.dialog = false;
+        },
         // 鏌ヨ宸ュ崟鍩烘湰淇℃伅
         basicInfo:function(){
             let self = this;
 
                 // login();
                 basicInfo({mainId:31}).then((res)=>{
-                    let resdata = res.data.data;
-                        self.workInfo.status = STATUS[resdata.status];
-                        self.workInfo.title = resdata.title;//鏍囬
-                        self.workInfo.orderId = resdata.orderId;//宸ュ崟缂栧彿
-                        self.workInfo.createTime = resdata.createTime;//宸ュ崟鐢熸垚鏃堕棿
-                        self.workInfo.alarmTime = resdata.workflowAlarm.alarmTime;//鍛婅寮�濮嬫椂闂�
-                        self.workInfo.alarmLevel = resdata.workflowAlarm.alarmLevel;//鍛婅绛夌骇
-                        self.workInfo.taskDesc = resdata.taskDesc;//鍛婅鎻忚堪
-                        console.log(resdata)
-                        // 鍊掕鏃�
-                        self.time = setInterval(function(){self.showTime()},1000);
-                        // self.time;
+                    if(res.data.code == 1){
+                        let resdata = res.data.data;
+                            self.workInfo.status = STATUS[resdata.status];
+                            self.workInfo.title = resdata.title;//鏍囬
+                            self.workInfo.orderId = resdata.orderId;//宸ュ崟缂栧彿
+                            self.workInfo.createTime = resdata.createTime;//宸ュ崟鐢熸垚鏃堕棿
+                            self.workInfo.alarmTime = resdata.workflowAlarm.alarmTime;//鍛婅寮�濮嬫椂闂�
+                            self.workInfo.alarmLevel = resdata.workflowAlarm.alarmLevel;//鍛婅绛夌骇
+                            self.workInfo.taskDesc = resdata.taskDesc;//鍛婅鎻忚堪
+                            console.log(resdata)
+                            // 鍊掕鏃�
+                            self.time = setInterval(function(){self.showTime()},1000);
+                            // 鍒嗘淳浜哄洖澶嶅垪琛�
+                            self.tableData = resdata.linkList;
+                            // 褰撳墠鍖呮満缁処D銆佸悕绉�
+                            self.workInfo.stationId = resdata.workflowAlarm.stationId;
+                            self.workInfo.stationName = resdata.workflowAlarm.stationName;
+                            // self.time;
+                    }
                 }).catch((err)=>{
 
                 })

--
Gitblit v1.9.1