From 2406ac9a70e51e76c6ba95efb69f641c7b22e8ea Mon Sep 17 00:00:00 2001
From: luobisheng <727299681@qq.com>
Date: 星期二, 08 十一月 2022 18:48:48 +0800
Subject: [PATCH] 队伍建设接口对接

---
 src/views/systemSetting/platform/cockpitManage/index.vue |  387 +++++++++++++++++++++----------------------------------
 1 files changed, 148 insertions(+), 239 deletions(-)

diff --git a/src/views/systemSetting/platform/cockpitManage/index.vue b/src/views/systemSetting/platform/cockpitManage/index.vue
index 86e4e2f..1777883 100644
--- a/src/views/systemSetting/platform/cockpitManage/index.vue
+++ b/src/views/systemSetting/platform/cockpitManage/index.vue
@@ -6,13 +6,13 @@
                     <div class="search-item">
                         <span>閮ㄩ棬鍚嶇О:</span>
                         <div class="option">
-                            <el-input v-model="info.type" placeholder="璇疯緭鍏ラ儴闂�"></el-input>
+                            <el-input v-model="searchDepartment" placeholder="璇疯緭鍏ラ儴闂�"></el-input>
                         </div>
                     </div>
                     <div class="search-item">
                         <span>鐘舵��:</span>
                         <div class="option">
-                            <el-input v-model="info.startTime" placeholder="閫夋嫨鐘舵��"></el-input>
+                            <el-input v-model="searchStatus" placeholder="閫夋嫨鐘舵��"></el-input>
                         </div>
                     </div>
                     <div class="findBtn">
@@ -24,49 +24,54 @@
         <main>
             <div class="mainContent">
                 <div class="type-nav">
-                    <el-button type="primary">瀵煎叆</el-button>
-                    <el-button type="primary">瀵煎嚭</el-button>
-                    <el-button type="primary" @click="addImages">娣诲姞</el-button>
+                    <el-upload
+                        class="upload-demo"
+                        action=""
+                        :http-request="importTable"
+                        :show-file-list="false"
+                        :auto-upload="true"
+                        multiple
+                        :limit="1">
+                      <el-button type="primary">瀵煎叆</el-button>
+                    </el-upload>
+                    <el-button type="primary" @click="exportTable">瀵煎嚭</el-button>
+                    <el-button type="primary" @click="showAddDialog">娣诲姞</el-button>
                 </div>
                 <!-- 鏁版嵁灞曠ず -->
                 <el-table ref="multipleTable"
                     :header-cell-style="{ background: '#06122c', 'font-size': '12px', color: '#4b9bb7', 'font-weight': '650', 'line-height': '45px' }"
                     :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"
                     @selection-change="tableChange">
-                    <!-- <el-table-column type="selection" min-width="5">
-                    </el-table-column> -->
-                    <el-table-column prop="code" label="閮ㄩ棬鍚嶇О" min-width="8">
+                    <el-table-column prop="name" label="閮ㄩ棬鍚嶇О" min-width="8">
                     </el-table-column>
-                    <el-table-column prop="questionType" label="閮ㄩ棬浜烘暟" min-width="10">
+                    <el-table-column prop="peopleNumber" label="閮ㄩ棬浜烘暟" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="bigType" label="鏈瀛﹀巻鍙婁互涓婁汉鏁�" min-width="15">
+                    <el-table-column prop="upUndergraduatePeopleNumber" label="鏈瀛﹀巻鍙婁互涓婁汉鏁�" min-width="15">
                     </el-table-column>
-                    <el-table-column prop="smallType" label="鎸佽瘉浜哄憳鏁�" min-width="8">
+                    <el-table-column prop="holderNumber" label="鎸佽瘉浜哄憳鏁�" min-width="8">
                     </el-table-column>
-                    <el-table-column prop="imagesId" label="45鏁颁互涓嬩汉鏁�" min-width="8">
+                    <el-table-column prop="underFortyFivePeopleNumber" label="45鏁颁互涓嬩汉鏁�" min-width="8">
                     </el-table-column>
-                    <el-table-column prop="uploadTime" label="鎸佹硶寰嬭亴涓氳祫鏍艰瘉浜烘暟" min-width="15" v-if="mystatus === 1">
+                    <el-table-column prop="legalProfessionalQualificationCertificatePeopleNumber" label="鎸佹硶寰嬭亴涓氳祫鏍艰瘉浜烘暟" min-width="15" v-if="mystatus === 1">
                     </el-table-column>
-                    <el-table-column prop="imagesId" label="閫氭姤鏁伴噺" min-width="8">
+                    <el-table-column prop="reportNumber" label="閫氭姤鏁伴噺" min-width="8">
                     </el-table-column>
-                    <el-table-column prop="breakRuleActiveNumber" label="杩濈邯琛屼负鏁伴噺" min-width="15" v-if="mystatus === 1">
+                    <el-table-column prop="disciplinaryOffenceNumber" label="杩濈邯琛屼负鏁伴噺" min-width="15" v-if="mystatus === 1">
                     </el-table-column>
-                    <el-table-column prop="crimeActiveNumber" label="杩濇硶鐘姜琛屼负鏁伴噺" min-width="8">
+                    <el-table-column prop="criminalOffenseNumber" label="杩濇硶鐘姜琛屼负鏁伴噺" min-width="8">
                     </el-table-column>
                     <el-table-column prop="monthCaseNumber" label="姣忔湀妗堜欢妗�" min-width="15" v-if="mystatus === 1">
                     </el-table-column>
                     <el-table-column prop="noTimeoutCaseNumber" label="鏈秴鏃舵浠堕噺" min-width="8">
                     </el-table-column>
-                    <el-table-column prop="reViewNumber" label="澶嶈鎴栬瘔璁兼暟" min-width="15" v-if="mystatus === 1">
+                    <el-table-column prop="reviewOrLawsuitNumber" label="澶嶈鎴栬瘔璁兼暟" min-width="15" v-if="mystatus === 1">
                     </el-table-column>
                     <el-table-column prop="status" label="鐘舵��" min-width="15" v-if="mystatus === 1">
                     </el-table-column>
                     <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
                         <template slot-scope="scope">
                             <div class="operation">
-                                <!-- <span @click="handleFind(scope.row)">鏌ョ湅</span>
-                                <span class="line">|</span> -->
-                                <span @click="handleUpdate(scope.row)">淇敼</span>
+                                <span @click="showUpdateDialog(scope.row)">淇敼</span>
                                 <span class="line">|</span>
                                 <span @click="handleDelete(scope.row)">鍒犻櫎</span>
                             </div>
@@ -76,41 +81,23 @@
                 <!-- 璇︽儏椤靛睍绀� -->
                 <el-dialog :visible.sync="dialogView" width="80%" title="鍩虹淇℃伅(浜哄伐)" v-if="dialogView"
                     :before-close="handleClose">
-                    <MyDetail :info=info v-if="mystatus == 1 ? true : false"></MyDetail>
+                    <MyDetail :info=info v-if="mystatus === 1"></MyDetail>
                     <MyIllDetail :info=info v-else></MyIllDetail>
                 </el-dialog>
-                <!-- 涓婁紶椤甸潰 -->
-                <!-- <el-dialog :visible.sync="dialogUpload" width="80%" title="涓婁紶澶勭疆缁撴灉" v-if="dialogUpload"
-                    :before-close="handleClose"> -->
-                <!-- <uploadVio v-if="mystatus === 1" :caseId="caseId" :mycode="caseCode"  @closeDialog="closeDialog"></uploadVio>
-                    <uploadIll v-else :caseId="caseId" :mycode="caseCode" @closeDialog="closeDialog"></uploadIll> -->
-                <!-- </el-dialog> -->
-                <!-- tools -->
-                <!-- 鏌ョ湅淇敼椤甸潰 -->
+
                 <el-dialog :visible.sync="dialogUpdate" width="40%" title="淇敼閮ㄩ棬" v-if="dialogUpdate"
                     :before-close="handleClose">
-                    <updateUser />
-                    <!-- :updateFlag="updateFlag"
-            :userInfo="userInfo"
-            :getDepartList="context === '' ? getUserList : search"
-            @changeDialog="changMyDialog" -->
+                    <updateUser @closeUpdateDialog="closeUpdateDialog()" :updateDepartmentData="updateDepartmentData" />
+
                 </el-dialog>
                 <el-dialog :visible.sync="dialogcheck" width="40%" title="鏌ョ湅" v-if="dialogcheck"
-                    :before-close="handleClose">
+                    :before-close="handleClose" >
                     <detailUser />
-                    <!-- :updateFlag="updateFlag"
-            :userInfo="userInfo"
-            :getDepartList="context === '' ? getUserList : search"
-            @changeDialog="changMyDialog" -->
                 </el-dialog>
 
                 <el-dialog :visible.sync="dialogAdd" width="40%" title="娣诲姞閮ㄩ棬" v-if="dialogAdd"
                     :before-close="handleClose">
-                    <createUser />
-                    <!-- :updateFlag="updateFlag"
-            :userInfo="userInfo"
-            :getDepartList="context === '' ? getUserList : search"
-            @changeDialog="changMyDialog" -->
+                    <createUser @closeUpdateDialog="closeUpdateDialog()" />
                 </el-dialog>
 
                 <div class="tools">
@@ -141,138 +128,28 @@
     </div>
 </template>
 <script>
-// import uploadVio from './updateUser/uploadResult/vio'
-// import uploadIll from "./updateUser/uploadResult/ill"
 import createUser from "./createUser";
 import updateUser from "./updateUser";
 import detailUser from "./detailUser";
+import { deleteTeam, exportTeamInfo, importTeamInfo, searchTeamInfo } from "@/api/system/portal/teamConstruction";
+import {SUCCESS_CODE} from "@/utils";
+
 export default {
     components: {
-        // updateUser,
-        // uploadVio, uploadIll,
         updateUser, createUser, detailUser
     },
+
     data() {
         return {
+            updateDepartmentData: null,
+            searchDepartment: '',
+            searchStatus: '',
+            tableFile: null,
             dialogUpdate: false,
             dialogcheck: false,
-            tableData: [
-                {
-                    code: "琛楅亾1",
-                    questionType: "34",
-                    bigType: "20",
-                    smallType: "16",
-                    imagesId: "26",
-                    uploadTime: "8",
-                    breakRuleActiveNumber: "2",
-                    crimeActiveNumber: "1",
-                    monthCaseNumber: "0",
-                    noTimeoutCaseNumber: "145",
-                    reViewNumber: "100",
-                    status: "23",
-                },
-                {
-                    code: "琛楅亾1",
-                    questionType: "34",
-                    bigType: "20",
-                    smallType: "16",
-                    imagesId: "26",
-                    uploadTime: "8",
-                    breakRuleActiveNumber: "2",
-                    crimeActiveNumber: "1",
-                    monthCaseNumber: "0",
-                    noTimeoutCaseNumber: "145",
-                    reViewNumber: "100",
-                    status: "23",
-                },
-                {
-                    code: "琛楅亾1",
-                    questionType: "34",
-                    bigType: "20",
-                    smallType: "16",
-                    imagesId: "26",
-                    uploadTime: "8",
-                    breakRuleActiveNumber: "2",
-                    crimeActiveNumber: "1",
-                    monthCaseNumber: "0",
-                    noTimeoutCaseNumber: "145",
-                    reViewNumber: "100",
-                    status: "23",
-                },
-                {
-                    code: "琛楅亾1",
-                    questionType: "34",
-                    bigType: "20",
-                    smallType: "16",
-                    imagesId: "26",
-                    uploadTime: "8",
-                    breakRuleActiveNumber: "2",
-                    crimeActiveNumber: "1",
-                    monthCaseNumber: "0",
-                    noTimeoutCaseNumber: "145",
-                    reViewNumber: "100",
-                    status: "23",
-                },
-                {
-                    code: "琛楅亾1",
-                    questionType: "34",
-                    bigType: "20",
-                    smallType: "16",
-                    imagesId: "26",
-                    uploadTime: "8",
-                    breakRuleActiveNumber: "2",
-                    crimeActiveNumber: "1",
-                    monthCaseNumber: "0",
-                    noTimeoutCaseNumber: "145",
-                    reViewNumber: "100",
-                    status: "23",
-                },
-                {
-                    code: "琛楅亾1",
-                    questionType: "34",
-                    bigType: "20",
-                    smallType: "16",
-                    imagesId: "26",
-                    uploadTime: "8",
-                    breakRuleActiveNumber: "2",
-                    crimeActiveNumber: "1",
-                    monthCaseNumber: "0",
-                    noTimeoutCaseNumber: "145",
-                    reViewNumber: "100",
-                    status: "23",
-                },
-                {
-                    code: "琛楅亾1",
-                    questionType: "34",
-                    bigType: "20",
-                    smallType: "16",
-                    imagesId: "26",
-                    uploadTime: "8",
-                    breakRuleActiveNumber: "2",
-                    crimeActiveNumber: "1",
-                    monthCaseNumber: "0",
-                    noTimeoutCaseNumber: "145",
-                    reViewNumber: "100",
-                    status: "23",
-                },
-                {
-                    code: "琛楅亾1",
-                    questionType: "34",
-                    bigType: "20",
-                    smallType: "16",
-                    imagesId: "26",
-                    uploadTime: "8",
-                    breakRuleActiveNumber: "2",
-                    crimeActiveNumber: "1",
-                    monthCaseNumber: "0",
-                    noTimeoutCaseNumber: "145",
-                    reViewNumber: "100",
-                    status: "23",
-                },
-            ],
+            tableData: [],
             context: "",
             dialogUpload: false,
-            // dialogUpdate: false,
             dialogView: false,
             updateFlag: false,
             userInfo: {},
@@ -323,6 +200,7 @@
             dialogAdd: false,
         }
     },
+
     created() {
         this.statusArr[0] = 6;
         this.typeList.forEach(item => {
@@ -332,25 +210,80 @@
         })
         this.getUserList();
     },
+
     methods: {
+
         //淇敼
-        handleUpdate() {
+        showUpdateDialog(data) {
             this.dialogUpdate = true;
+            this.updateDepartmentData = data;
         },
+
         // 鏌ョ湅
-        handleFind() {
+        showViewDialog() {
             this.dialogcheck = true;
         },
+
+        // 娣诲姞鐣岄潰
+        showAddDialog() {
+          this.dialogAdd = true;
+        },
+
+        // 瀵煎嚭
+        exportTable() {
+          exportTeamInfo({ current: this.currentPage, size: this.pageSize, departName: this.searchDepartment, status: this.searchStatus })
+              .then(res => {
+                const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' });
+                const fileName = res.contentDisposition.split('=')[1];
+                if (window.navigator && window.navigator.msSaveBlob) {
+                  navigator.msSaveBlob(blob, fileName);
+                } else {
+                  const link = document.createElement('a');
+                  link.style.display = 'none';
+                  link.href = URL.createObjectURL(blob);
+                  link.setAttribute('download', decodeURI(fileName));
+                  document.body.appendChild(link);
+                  link.click();
+                  URL.revokeObjectURL(link.href);
+                  document.body.removeChild(link);
+                }
+              })
+              .catch(err => {
+                this.$message({ type: 'error', message: err });
+              });
+        },
+
+        // 瀵煎叆
+        importTable(file) {
+          importTeamInfo({'multipartFile': file.file})
+              .then(({ code, message }) => {
+                if (code === SUCCESS_CODE) {
+                  this.$message({ type: 'success', message });
+                  this.getUserList();
+                } else {
+                  this.$message({ type: 'error', message });
+                }
+              })
+              .catch(err => {
+                this.$message({ type: 'error', message: err });
+              });
+        },
+
+        closeUpdateDialog() {
+          this.dialogAdd = false;
+          this.dialogUpdate = false;
+          this.getUserList();
+        },
+
         // 椤堕儴涓嬫媺妗�
         setMystatus(value) {
-            console.log(value);
             this.statusArr[1] = value;
             this.changeTypeChecked(value - 1);
             this.getUserList();
         },
+
         // 鎵归噺鍒犻櫎
         mulDelete(idArr) {
-            console.log(idArr);
             this.$axios({
                 method: 'delete',
                 url: 'sccg/violations/batch_delete?ids=' + idArr,
@@ -362,9 +295,9 @@
                 })
             })
         },
+
         // 鎵ц涓嬫媺妗嗘搷浣�
         selectChange(list) {
-            console.log(this.tempList);
             if (this.tempList.length !== 0) {
                 if (list === 3) {
                     this.preMyIdx = list;
@@ -378,125 +311,112 @@
                 })
             }
         },
+
         // 鐩戝惉琛ㄦ牸
         tableChange(list) {
             this.tempList = [];
             list.forEach(item => {
                 this.tempList.push(item.code);
             })
-            if (list.length === this.tableData.length) {
-                this.all = true;
-            } else {
-                this.all = false
-            }
+            this.all = list.length === this.tableData.length;
         },
+
         // 鍏ㄩ��
         selectAll() {
             this.$refs.multipleTable.toggleAllSelection();
         },
+
         // 鍙嶉��
         disSame(list) {
             list.forEach(row => {
                 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) });
+        // 鍒犻櫎鍗曟潯鏁版嵁
+        handleDelete(row) {
+          this.$confirm('纭鍒犻櫎锛�')
+              .then(() => {
+                deleteTeam({ id: row.id })
+                    .then(({ code, message }) => {
+                      if (code === SUCCESS_CODE) {
+                        this.$message({ type: 'success', message });
+                        this.getUserList();
+                      } else {
+                        this.$message({ type: 'error', message });
+                      }
+                    })
+                    .catch(err => {
+                      this.$message({ type: 'error', message: err });
+                    })
+              })
         },
+
         // 鑾峰彇鐢ㄦ埛鍒楄〃
         getUserList() {
-            const { currentPage, pageSize, context, statusArr } = this;
-            console.log(statusArr);
-            // this.$axios({
-            //     method: 'get',
-            //     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;
-            //     console.log(res);
-            // })
+          const searchInfo = {
+            current: this.currentPage, size: this.pageSize, departName: this.searchDepartment, status: this.searchStatus
+          };
+          searchTeamInfo(searchInfo)
+              .then(({ data }) => {
+                this.tableData = data.records;
+                this.totalNum = data.total;
+              })
+              .catch(err => {
+                console.log(err);
+              });
         },
+
         // 鏇存敼杩濊/杩濆缓
         changeTypeChecked(idx) {
             this.typeList.forEach((item, index) => {
-                if (index === idx) {
-                    item.checked = true;
-                } else {
-                    item.checked = false;
-                }
+                item.checked = index === idx;
             })
             this.mystatus = idx + 1;
-            console.log(this.mystatus);
             this.statusArr[1] = this.typeList[idx].value;
             this.getUserList();
         },
+
         // 璁剧疆琛ㄦ牸鏂戦┈绾�
         tableRowClassName({ row, rowIndex }) {
-            if ((rowIndex + 1) % 2 == 0) {
+            if ((rowIndex + 1) % 2 === 0) {
                 return 'warning-row';
             } else {
                 return 'success-row';
             }
-            return '';
         },
+
         // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
         changeCurrentPage(page) {
             this.currentPage = page;
             this.getUserList();
         },
+
         // 涓婁竴椤电偣鍑讳簨浠�
         handlePrev(page) {
             this.currentPage = page;
             this.getUserList();
         },
+
         // 涓嬩竴椤电偣鍑讳簨浠�
         handleNext(page) {
             this.currentPage = page;
             this.getUserList();
         },
-        addImages() {
-            this.dialogAdd = true;
-        },
+
         handleClose(done) {
             this.$confirm('纭鍏抽棴锛�')
                 .then(_ => {
                     this.dialogUpload = false;
-                    // this.dialogUpdate = false;
                     done();
                 })
                 .catch(_ => { });
         },
-        handleClose(done) {
-            this.$confirm('纭鍏抽棴锛�')
-                .then(_ => {
-                    this.dialogUpload = false;
-                    // this.dialogUpdate = false;
-                    done();
-                })
-                .catch(_ => { });
-        },
+
         async JumpView(data) {
             await this.getEventInfo(data.code);
         },
+
         // 鑾峰彇妗堜欢淇℃伅
         async getEventInfo(code) {
             await this.$axios({
@@ -508,17 +428,19 @@
                     this.dialogView = true;
                 })
         },
-        opernDialog(data) {
+
+        openDialog(data) {
             this.dialogUpload = true;
             this.caseId = data.id;
             this.caseCode = data.code
-            // console.log(data); 
         },
+
         // 鍏抽棴涓婁紶鐣岄潰
         closeDialog({ flag }) {
             this.dialogUpload = flag;
             this.getUserList();
         },
+
         // 澶勭悊鏃堕棿
         filterTime(time) {
             return helper(time);
@@ -534,15 +456,10 @@
 
     header {
         background-color: #09152f;
-        border: 1pox solid #fff;
 
         .headerContent {
-            // padding: 0 40px;
             width: 100%;
-            // display: flex;
             line-height: 60px;
-            // justify-content: space-between;
-            // align-items: center;
 
             .search {
                 display: flex;
@@ -596,7 +513,6 @@
         background-color: #09152f;
         margin-top: 20px;
         padding-bottom: 50px;
-        border: 1pox solid #fff;
 
         .btn span:hover {
             cursor: pointer;
@@ -692,13 +608,6 @@
         .el-table {
             color: #4b9bb7;
             font-size: 10px;
-
-            // &::v-deep .cell {
-            //     text-overflow: ellipsis;
-            //     white-space: nowrap;
-            //     overflow: hidden;
-            // }
-
 
             .operation {
                 display: flex;

--
Gitblit v1.8.0