From 4d9a35462803c7392dedca8d95fe21ff3d949466 Mon Sep 17 00:00:00 2001
From: “dzb” <2632970487@qq.com>
Date: 星期一, 03 十月 2022 08:42:36 +0800
Subject: [PATCH] 用户、角色、部门,新增批量操作,案件池详情展示、以及调度

---
 src/views/operate/disposal/casepool/pool/index.vue |  221 +++++++++++++++++++++++++++++++++----------------------
 1 files changed, 133 insertions(+), 88 deletions(-)

diff --git a/src/views/operate/disposal/casepool/pool/index.vue b/src/views/operate/disposal/casepool/pool/index.vue
index d7593f3..b9cb8fa 100644
--- a/src/views/operate/disposal/casepool/pool/index.vue
+++ b/src/views/operate/disposal/casepool/pool/index.vue
@@ -4,19 +4,31 @@
             <div class="headerContent">
                 <div class="search">
                     <span>鏉ユ簮鏌ヨ:</span>
-                    <el-input placeholder="璇疯緭鍏ラ棶棰樻潵婧�" v-model="context"></el-input>
+                    <div class="option">
+                        <el-select v-model="mystatus" placeholder="杩濊" @change="setMystatus">
+                            <el-option v-for="item in typeList" :key="item.label" :label="item.name"
+                                :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </div>
                     <div class="findBtn">
                         <el-button type="primary" @click="getUserList">鏌ヨ</el-button>
                     </div>
                 </div>
                 <div class="addUser">
                     <el-button class="addBtn" type="primary" @click="dialogCreate = true">娣诲姞</el-button>
-                    <el-dialog :before-close="handleClose" :visible.sync="dialogCreate" title="璇烽�夋嫨涓婃姤浜嬩欢绫诲瀷" width="45%" v-if="dialogCreate">
+                    <!-- 閫夋嫨鐧昏绫诲瀷 -->
+                    <el-dialog :before-close="handleClose" :visible.sync="dialogCreate" title="璇烽�夋嫨涓婃姤浜嬩欢绫诲瀷" width="45%"
+                        v-if="dialogCreate">
                         <createUser @getPageProp=setDialog />
                     </el-dialog>
-                    <el-dialog :before-close="handleClose" :visible.sync="dialogNewAdd" :title="newAddType === 0 ? '杩濊浜嬩欢鐧昏' : '杩濆缓浜嬩欢鐧昏' " width="45%" v-if="dialogNewAdd">
+                    <!-- 浜嬩欢鐧昏 -->
+                    <el-dialog :before-close="handleClose" :visible.sync="dialogNewAdd"
+                        :title="newAddType === 0 ? '杩濊浜嬩欢鐧昏' : '杩濆缓浜嬩欢鐧昏' " width="60%" v-if="dialogNewAdd">
+                        <!-- 杩濆缓鐧昏 -->
                         <MyIll v-if="newAddType === 1" :mytype=newAddType @changeDialog=changeDialog />
-                        <myVio v-else :mytype=newAddType  @changeDialog=changeDialog />
+                        <!-- 杩濊鐧昏 -->
+                        <myVio v-else :mytype=newAddType @changeDialog=changeDialog />
                     </el-dialog>
                 </div>
             </div>
@@ -39,9 +51,9 @@
                     @selection-change="tableChange">
                     <el-table-column type="selection" min-width="5">
                     </el-table-column>
-                    <el-table-column prop="code" label="浜嬩欢缂栧彿" min-width="10">
+                    <el-table-column prop="id" label="浜嬩欢缂栧彿" min-width="10">
                         <template slot-scope="scope">
-                            <el-link @click="JumpView(scope.row)">{{scope.row.code}}</el-link>
+                            <el-link @click="JumpView(scope.row)">{{scope.row.id}}</el-link>
                         </template>
                     </el-table-column>
                     <el-table-column prop="eventSource" label="闂鏉ユ簮" min-width="10">
@@ -65,7 +77,7 @@
                             <div class="operation">
                                 <span @click="handleFind(scope.row)">涓婃姤</span>
                                 <span class="line">|</span>
-                                <span @click="handleDelete(scope.row)">璋冨害</span>
+                                <span @click="handleDispatch(scope.row)">璋冨害</span>
                                 <span class="line">|</span>
                                 <span @click="handleDelete(scope.row)">鍦ㄥ涔�</span>
                                 <span class="line">|</span>
@@ -75,11 +87,14 @@
                     </el-table-column>
                 </el-table>
                 <!-- 璇︽儏椤靛睍绀� -->
-                <el-dialog :visible.sync="dialogView" width="80%" title="鍩虹淇℃伅(浜哄伐)"
-                    v-if="dialogView" :before-close="handleClose">
-                    <!-- <updateUser :updateFlag="updateFlag" :userInfo=userInfo
-                        :getUserList=" context ? getUserList : getUserList" @changeDialog="changeDialog" /> -->
-                    <MyDetail :info=info ></MyDetail>
+                <el-dialog :visible.sync="dialogView" width="80%" title="鍩虹淇℃伅(浜哄伐)" v-if="dialogView"
+                    :before-close="handleClose">
+                    <MyDetail :info=info></MyDetail>
+                </el-dialog>
+                <!-- 璋冨害 -->
+                <el-dialog :visible.sync="dialogDispatch" width="80%" title="璋冨害淇℃伅" v-if="dialogDispatch"
+                    :before-close="handleClose">
+                    <MyDispatch :id="baseId" @changeDialog="changeDialog"></MyDispatch>
                 </el-dialog>
                 <!-- tools -->
                 <div class="tools">
@@ -110,15 +125,14 @@
     </div>
 </template>
 <script>
-// import updateUser from "./updateUser"
 import MyDetail from '@/components/detail'
 import createUser from "./createUser"
 import MyIll from './createUser/ill'
 import MyVio from './createUser/vio'
+import MyDispatch from '@/components/dispatch'
 export default {
     components: {
-        // updateUser
-        createUser,MyIll,MyVio,MyDetail
+        createUser, MyIll, MyVio, MyDetail, MyDispatch
     },
     data() {
         return {
@@ -135,18 +149,19 @@
                 //     continueTime:'8灏忔椂',
                 // }
             ],
-            context: "",
             dialogCreate: false,
             dialogView: false,
-            dialogNewAdd:false,
-            newAddType:0,
+            dialogNewAdd: false,
+            dialogDispatch:false,
+            newAddType: 0,
             totalNum: null,
             pageSize: 10,
             currentPage: 1,
             all: false,
             unsame: false,
             myIdx: 0,
-            info:{},
+            preMyIdx: 0,
+            info: {},
             options: [
                 {
                     value: 0,
@@ -170,17 +185,17 @@
             tagList: [
                 {
                     name: '寰呭鐞�',
-                    value: 7,
+                    value: 0,
                     checked: true
                 },
                 {
                     name: '宸蹭笂鎶�',
-                    value: 1,
+                    value: 3,
                     checked: false
                 },
                 {
                     name: '宸茶皟搴�',
-                    value: 3,
+                    value: 6,
                     checked: false
                 },
                 {
@@ -190,7 +205,7 @@
                 },
                 {
                     name: '鏆備笉澶勭悊',
-                    value: 4,
+                    value: 5,
                     checked: false
                 },
             ],
@@ -206,8 +221,9 @@
                     checked: false,
                 },
             ],
-            mystatus:0,
-            statusArr:[],
+            mystatus: '',
+            statusArr: [],
+            baseId:0
 
         }
     },
@@ -225,45 +241,72 @@
         this.getUserList();
     },
     methods: {
-        setDialog({flag,type}){
+        // 璋冨害
+        handleDispatch(data) {
+            this.baseId = data.id;
+            this.dialogDispatch = true;
+        },
+        // 椤堕儴涓嬫媺妗�
+        setMystatus(value) {
+            console.log(value);
+            this.statusArr[1] = value;
+            this.changeTypeChecked(value - 1);
+            this.getUserList();
+        },
+        // 閫夋嫨杩濊杩濆缓
+        setDialog({ flag, type }) {
             this.dialogCreate = flag;
             this.dialogNewAdd = true;
             this.newAddType = type;
         },
         // 鎵归噺鍒犻櫎
         mulDelete(idArr) {
-            console.log(idArr);
-            // this.$axios({
-            //     method: 'delete',
-            //     url: 'sccg/violations/batch_delete?ids=' + idArr,
-            // }).then(res => {
-            //     this.getUserList();
-            //     this.$message({
-            //         message: res.message,
-            //         type: res.code === 200 ? 'success' : 'warning'
-            //     })
-            // })
+            console.log(idArr instanceof Array);
+            const { statusArr } = this;
+            this.$confirm('鎮ㄧ‘瀹氳鎵归噺鍒犻櫎妗堜欢鍚�?')
+                .then(_ => {
+                    this.$axios({
+                        method: 'delete',
+                        url: 'sccg/base-case/batch_deletion?ids=' + idArr + '&type=' + statusArr[1],
+                    }).then(res => {
+                        if (res.code === 200) {
+                            this.getUserList();
+                            this.$message({
+                                message: '鎵归噺鍒犻櫎妗堜欢鎴愬姛',
+                                type: 'success'
+                            })
+                        } else {
+                            this.$message({
+                                message: res.data,
+                                type: 'warning'
+                            })
+                        }
+                    })
+                })
+                .catch(err => { console.log(err) })
         },
         // 鎵ц涓嬫媺妗嗘搷浣�
-        selectChange(val) {
-            let ids = [];
-            this.tempList.forEach(item => {
-                ids.push(item.number);
-            })
-            if (ids.length !== 0) {
-                if (val === 3) {
-                    this.mulDelete(ids);
+        selectChange(list) {
+            console.log(this.tempList);
+            if (this.tempList.length !== 0) {
+                if (list === 3) {
+                    this.preMyIdx = list;
+                    this.mulDelete(this.tempList);
                 }
             } else {
+                this.myIdx = this.preMyIdx;
                 this.$message({
                     type: 'warning',
                     message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
                 })
             }
         },
-        // 鐩戝惉琛ㄦ牸閫変腑鐘舵��
+        // 鐩戝惉琛ㄦ牸
         tableChange(list) {
-            this.tempList = list;
+            this.tempList = [];
+            list.forEach(item => {
+                this.tempList.push(item.code);
+            })
             if (list.length === this.tableData.length) {
                 this.all = true;
             } else {
@@ -280,35 +323,13 @@
                 this.$refs.multipleTable.toggleRowSelection(row)
             })
         },
-        // 鍒犻櫎鍗曟潯鏁版嵁
-        handleDelete({ number }) {
-            console.log(number);
-            this.$confirm('纭鍒犻櫎锛�')
-                .then(_ => {
-                    console.log(1);
-                    // this.$axios({
-                    //     method: 'delete',
-                    //     url: `sccg/violations/delete?id=${number}`,
-                    // })
-                    //     .then(res => {
-                    //         console.log(res);
-                    //         this.$message({
-                    //             type: res.code === 200 ? 'success' : 'warning',
-                    //             message: res.message
-                    //         })
-
-                    //         this.getUserList();
-                    //     })
-                })
-                .catch(_ => { console.log(2) });
-        },
         // 鑾峰彇鐢ㄦ埛鍒楄〃
         getUserList() {
-            const { currentPage, pageSize, context, statusArr } = this;
+            const { currentPage, pageSize, statusArr } = this;
             console.log(statusArr);
             this.$axios({
                 method: 'get',
-                url: `sccg/base-case/query/${statusArr[1]}?state=${statusArr[0]}&current=${currentPage}&size=${pageSize}&resource=2`
+                url: `sccg/base_case/query?state=${statusArr[0]}&current=${currentPage}&size=${pageSize}&resource=2&type=${statusArr[1]}`
             }).then(res => {
                 this.totalNum = res.data.total;
                 this.tableData = res.data.records;
@@ -326,9 +347,8 @@
         },
         // 鏌ョ湅鐢ㄦ埛淇℃伅(涓嶅彲淇敼)
         handleFind(rowData) {
-            this.dialogView = true;
-            this.updateFlag = false;
-            this.userInfo = rowData;
+            // this.dialogView = true;
+            // this.userInfo = rowData;
         },
         // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
         changeCurrentPage(page) {
@@ -349,12 +369,15 @@
             this.dialogNewAdd = val.dialogView;
             this.dialogCreate = val.dialogView;
             this.dialogView = val.dialogView;
+            this.dialogDispatch = val.dialogView;
             this.getUserList();
         },
         handleClose(done) {
             this.$confirm('纭鍏抽棴锛�')
                 .then(_ => {
                     this.dialogCreate = false;
+                    this.dialogNewAdd = false;
+                    this.dialogDispatch = false;
                     this.dialogView = false;
                     done();
                 })
@@ -371,6 +394,9 @@
             })
             this.typeList[0].checked = true;
             this.typeList[1].checked = false;
+            this.statusArr[0] = this.tagList[idx].value;
+            this.statusArr[1] = 1;
+            this.getUserList();
         },
         // 鏇存敼杩濊/杩濆缓
         changeTypeChecked(idx) {
@@ -381,20 +407,24 @@
                     item.checked = false;
                 }
             })
+            this.mystatus = idx + 1;
+            this.statusArr[1] = this.typeList[idx].value;
+            this.getUserList();
         },
-        async JumpView(data){
+        async JumpView(data) {
             await this.getEventInfo(data.code);
-            this.dialogView = true;
         },
         // 鑾峰彇妗堜欢淇℃伅
-        getEventInfo(code){
+        getEventInfo(code) {
+            console.log('鑾峰彇鍏蜂綋妗堜欢淇℃伅', code);
             this.$axios({
-                method:'get',
-                url:`sccg/base-case/baseCaseDetail/${code}`
+                method: 'get',
+                url: `sccg/base_case/baseCaseDetail/${code}`
             })
-            .then(res=>{
-                this.info = res.data;  
-            })
+                .then(res => {
+                    this.info = res.data;
+                    this.dialogView = true;
+                })
         }
     }
 }
@@ -424,13 +454,23 @@
                     flex: 1;
                 }
 
-                .el-input {
-                    flex: 2;
-                    color: #1d3f57;
+                .option {
+                    line-height: 100px;
+                    display: flex;
+                    align-items: center;
 
-                    &::v-deep .el-input__inner {
-                        background-color: #09152f;
-                        border: 1px solid #17324c;
+                    // ::v-deep .el-select {
+                    //     background-color: #09152f;
+                    //     border: 1px solid #17324c;
+                    // }
+
+                    .el-select {
+                        line-height: 40px;
+
+                        .el-input {
+                            flex: 2;
+                            color: #1d3f57;
+                        }
                     }
                 }
 
@@ -458,6 +498,11 @@
         }
     }
 
+    &::v-deep .el-input__inner {
+        background-color: #09152f;
+        border: 1px solid #17324c;
+    }
+
     main {
         background-color: #09152f;
         margin-top: 20px;

--
Gitblit v1.8.0