From e8e17acc60c337194c6a46ec1ef98adee6b9e12c Mon Sep 17 00:00:00 2001
From: fangyuan <527392886@qq.com>
Date: 星期一, 12 十二月 2022 14:32:42 +0800
Subject: [PATCH] 车辆管理及审核管理 批处理修改

---
 src/views/operate/car/myIndex/index.vue        |  207 +++++++++++++++++++++++++++++++++------------------
 src/views/operate/management/myIndex/index.vue |    7 +
 2 files changed, 139 insertions(+), 75 deletions(-)

diff --git a/src/views/operate/car/myIndex/index.vue b/src/views/operate/car/myIndex/index.vue
index df8191b..49be8c7 100644
--- a/src/views/operate/car/myIndex/index.vue
+++ b/src/views/operate/car/myIndex/index.vue
@@ -7,7 +7,7 @@
                     <div class="option">
                         <el-input v-model="context" placeholder="璇疯緭鍏ヨ溅鐗屽彿"></el-input>
                     </div>
-                    
+
                     <div class="findBtn">
                         <el-button type="primary" @click="handleSearch">鏌ヨ</el-button>
                     </div>
@@ -20,29 +20,32 @@
         <main>
             <div class="mainContent">
                 <div class="type-nav">
-                    <div @click="changeTypeChecked(index)" v-for="(item,index) in typeList" :key="item.name"
-                        :class="[item.checked ? 'is-active':'','type-item']">{{item.name}}</div>
+                    <div @click="changeTypeChecked(index)" v-for="(item, index) in typeList" :key="item.name"
+                        :class="[item.checked ? 'is-active' : '', 'type-item']">{{ item.name }}</div>
                 </div>
                 <!-- 鏁版嵁灞曠ず -->
                 <el-table ref="multipleTable"
-                    :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}"
+                    :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="carNumber" label="杞︾墝鍙�" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="carModel" label="杞﹀瀷" min-width="10" v-if="mystatus===2">
+                    <el-table-column prop="carModel" label="杞﹀瀷" min-width="10" v-if="mystatus === 2">
                     </el-table-column>
-                    <el-table-column :prop="mystatus ===1 ? 'ownerName':'carOwner'" label="杞︿富濮撳悕" min-width="10">
+                    <el-table-column :prop="mystatus === 1 ? 'ownerName' : 'carOwner'" label="杞︿富濮撳悕" min-width="10">
                     </el-table-column>
-                    <el-table-column v-if="mystatus ===2" :prop="mystatus ===1 ? 'vehicleUser' : 'carUser'" label="杞﹁締浣跨敤浜哄憳" min-width="10">
+                    <el-table-column v-if="mystatus === 2" :prop="mystatus === 1 ? 'vehicleUser' : 'carUser'"
+                        label="杞﹁締浣跨敤浜哄憳" min-width="10">
                     </el-table-column>
-                    <el-table-column :prop="mystatus ===1 ? 'contact' : 'phone' " label="鑱旂郴鏂瑰紡" min-width="10">
+                    <el-table-column :prop="mystatus === 1 ? 'contact' : 'phone'" label="鑱旂郴鏂瑰紡" min-width="10">
                     </el-table-column>
-                    <el-table-column :prop="mystatus===1 ? 'pdepartName' : 'geographicPosition'" :label="mystatus === 1 ? '鎵�灞為儴闂�':'鏂藉伐鍦板潃'" min-width="10">
+                    <el-table-column :prop="mystatus === 1 ? 'pdepartName' : 'geographicPosition'"
+                        :label="mystatus === 1 ? '鎵�灞為儴闂�' : '鏂藉伐鍦板潃'" min-width="10">
                     </el-table-column>
-                    <el-table-column :prop="mystatus===1 ? 'departName' : 'constructionOrg'" :label="mystatus === 1 ? '鎵�灞炲ぇ闃�' : '鏂藉伐鍗曚綅'" min-width="10">
+                    <el-table-column :prop="mystatus === 1 ? 'departName' : 'constructionOrg'"
+                        :label="mystatus === 1 ? '鎵�灞炲ぇ闃�' : '鏂藉伐鍗曚綅'" min-width="10">
                     </el-table-column>
                     <el-table-column prop="operation" label="鎿嶄綔" min-width="20">
                         <template slot-scope="scope">
@@ -57,20 +60,20 @@
                     </el-table-column>
                 </el-table>
                 <!-- 鏂板 -->
-                <el-dialog :visible.sync="dialogAdd" width="60%" title="鏂板杞﹁締"
-                    v-if="dialogAdd" :before-close="handleClose">
-                    <Mycreate v-if="mystatus === 1"  @closeDialog="closeDialog"></Mycreate>
+                <el-dialog :visible.sync="dialogAdd" width="60%" title="鏂板杞﹁締" v-if="dialogAdd"
+                    :before-close="handleClose">
+                    <Mycreate v-if="mystatus === 1" @closeDialog="closeDialog"></Mycreate>
                     <MySoil v-else @closeDialog="closeDialog"></MySoil>
                 </el-dialog>
                 <!-- 鏌ョ湅 -->
-                <el-dialog :visible.sync="dialogView" width="60%" title="鏌ョ湅杞﹁締淇℃伅"
-                    v-if="dialogView" :before-close="handleNoClose">
+                <el-dialog :visible.sync="dialogView" width="60%" title="鏌ョ湅杞﹁締淇℃伅" v-if="dialogView"
+                    :before-close="handleNoClose">
                     <MyViewLaw v-if="mystatus === 1" :info="info"></MyViewLaw>
                     <MyViewSoil v-else :info="info"></MyViewSoil>
                 </el-dialog>
                 <!-- 缂栬緫 -->
-                <el-dialog :visible.sync="dialogEdit" width="60%" title="缂栬緫杞﹁締淇℃伅"
-                    v-if="dialogEdit" :before-close="handleClose">
+                <el-dialog :visible.sync="dialogEdit" width="60%" title="缂栬緫杞﹁締淇℃伅" v-if="dialogEdit"
+                    :before-close="handleClose">
                     <MyEditLaw v-if="mystatus === 1" @closeDialog="closeDialog" :info="info"></MyEditLaw>
                     <MyEditSoil v-else @closeDialog="closeDialog" :info="info"></MyEditSoil>
                 </el-dialog>
@@ -84,9 +87,9 @@
                             <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                         </div>
                         <div class="funsItem">
-                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" disabled>
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" >
                                 <el-option v-for="item in options" :key="item.value" :label="item.label"
-                                    :value="item.value" :disabled="item.disabled">
+                                    :value="item.value" :disabled="item.disabled" @click.native="selectChange">
                                 </el-option>
                             </el-select>
                         </div>
@@ -111,16 +114,16 @@
 import MyEditSoil from './edit/soil'
 export default {
     components: {
-        Mycreate,MySoil,MyViewLaw,
-        MyViewSoil,MyEditLaw,MyEditSoil
+        Mycreate, MySoil, MyViewLaw,
+        MyViewSoil, MyEditLaw, MyEditSoil
     },
     data() {
         return {
             tableData: [],
             context: "",
-            dialogAdd:false,
-            dialogView:false,
-            dialogEdit:false,
+            dialogAdd: false,
+            dialogView: false,
+            dialogEdit: false,
             info: '',
             totalNum: null,
             pageSize: 10,
@@ -134,14 +137,14 @@
                     label: '鎵归噺鎿嶄綔',
                     disabled: true,
                 },
-                {
-                    value: 1,
-                    label: '鎵归噺鍚敤',
-                },
-                {
-                    value: 2,
-                    label: '鎵归噺绂佺敤',
-                },
+                // {
+                //     value: 1,
+                //     label: '鎵归噺鍚敤',
+                // },
+                // {
+                //     value: 2,
+                //     label: '鎵归噺绂佺敤',
+                // },
                 {
                     value: 3,
                     label: '鎵归噺鍒犻櫎',
@@ -160,9 +163,10 @@
                     checked: false,
                 },
             ],
-            mystatus:1,
-            caseId:'',
-            timer:null,
+            mystatus: 1,
+            caseId: '',
+            timer: null,
+            currentState: 1
         }
     },
     created() {
@@ -170,28 +174,28 @@
     },
     methods: {
         // 缂栬緫杞﹁締
-        handleEdit(data){
+        handleEdit(data) {
             this.dialogEdit = true
             this.info = data;
         },
         // 鎼滅储杞﹁締
-        handleSearch(val){
-            if(this.timer){
+        handleSearch(val) {
+            if (this.timer) {
                 clearTimeout(this.timer);
             }
-            this.timer = setTimeout(()=>{
+            this.timer = setTimeout(() => {
                 this.getCarList();
-            },1000);
+            }, 1000);
         },
         // 娣诲姞杞﹁締
-        handleAddCar(){
+        handleAddCar() {
             this.dialogAdd = true;
         },
         // 鐩戝惉琛ㄦ牸
         tableChange(list) {
             this.tempList = [];
             list.forEach(item => {
-                this.tempList.push(item.code);
+                this.tempList.push(item.id);
             })
             if (list.length === this.tableData.length) {
                 this.all = true;
@@ -210,11 +214,11 @@
             })
         },
         // 鍒犻櫎鍗曟潯鏁版嵁
-        handleDelete({id}) {
+        handleDelete({ id }) {
             this.$confirm('纭鍒犻櫎锛�')
                 .then(_ => {
-                    const {mystatus} = this
-                    let myurl = mystatus === 1 ? 'deletion_enforce':'deletion_slag'
+                    const { mystatus } = this
+                    let myurl = mystatus === 1 ? 'deletion_enforce' : 'deletion_slag'
                     this.$axios({
                         method: 'delete',
                         url: `/sccg/car_Manage/${myurl}?id=${id}`,
@@ -228,42 +232,42 @@
                             this.getCarList();
                         })
                 })
-                .catch(_ => {  });
+                .catch(_ => { });
         },
         // 鑾峰彇杞﹁締鍒楄〃
         async getCarList() {
             const { currentPage, pageSize, context, mystatus } = this;
-            let arr =[];
-            if(mystatus===1){
+            let arr = [];
+            if (mystatus === 1) {
                 arr = await this.getLawCarList(currentPage, pageSize, context);
-            }else{
+            } else {
                 arr = await this.getSoilCarList(currentPage, pageSize, context)
             }
             this.tableData = arr.records;
             this.totalNum = arr.total;
         },
         // 鑾峰彇鎵ф硶杞�
-        async getLawCarList(currentPage,pageSize,carNum){
-            let arr =[];
+        async getLawCarList(currentPage, pageSize, carNum) {
+            let arr = [];
             await this.$axios({
-                method:'get',
-                url:`sccg/car_Manage/query_enforce?current=${currentPage}&size=${pageSize}&carNum=${carNum}`,
+                method: 'get',
+                url: `sccg/car_Manage/query_enforce?current=${currentPage}&size=${pageSize}&carNum=${carNum}`,
             })
-            .then(res=>{
-                arr = res.data;
-            })
+                .then(res => {
+                    arr = res.data;
+                })
             return arr;
         },
         // 鑾峰彇娓e湡杞�
-        async getSoilCarList(currentPage,pageSize,carNum){
-            let arr =[];
+        async getSoilCarList(currentPage, pageSize, carNum) {
+            let arr = [];
             await this.$axios({
-                method:'get',
-                url:`sccg/car_Manage/query_slag?current=${currentPage}&size=${pageSize}&carNum=${carNum}`,
+                method: 'get',
+                url: `sccg/car_Manage/query_slag?current=${currentPage}&size=${pageSize}&carNum=${carNum}`,
             })
-            .then(res=>{
-                arr = res.data;
-            })
+                .then(res => {
+                    arr = res.data;
+                })
             return arr;
         },
         // 鏇存敼鎵ф硶杞�/娓e湡杞�
@@ -271,6 +275,7 @@
             this.typeList.forEach((item, index) => {
                 if (index === idx) {
                     item.checked = true;
+                    this.currentState=item.value;
                 } else {
                     item.checked = false;
                 }
@@ -309,28 +314,75 @@
                 })
                 .catch(_ => { });
         },
-        async JumpView(data){
+        async JumpView(data) {
             await this.getEventInfo(data.code);
         },
-        handleNoClose(done){
+        handleNoClose(done) {
             done();
         },
-        opernDialog(data){
+        opernDialog(data) {
             this.dialogAdd = true;
             this.caseId = data.id;
         },
         // 鍏抽棴鐣岄潰
-        closeDialog({flag,index}){
+        closeDialog({ flag, index }) {
             this.dialogAdd = flag;
             this.dialogEdit = flag
-            if(index===1){
+            if (index === 1) {
                 this.getCarList();
             }
         },
-        handleView(data){
+        handleView(data) {
             this.info = data;
             this.dialogView = true;
-        }
+        },
+        selectChange(list) {
+            if (this.tempList.length !== 0) {
+                
+                this.preMyIdx = list;
+                this.mulDelete(this.tempList);
+                
+            } else {
+                this.myIdx = this.preMyIdx;
+                this.$message({
+                    type: "warning",
+                    message: "鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁",
+                });
+            }
+        },
+        // 澶氭潯鏁版嵁鍒犻櫎
+        mulDelete(idArr) {
+            var path=""
+            if(this.currentState==1){
+                path="/sccg/car_Manage/batch_deletion_enforce?ids="
+            }
+            else{
+                path="/sccg/car_Manage/batch_deletion_slag?ids="
+            }
+            this.$confirm("鎮ㄧ‘瀹氳鎵归噺鍒犻櫎杞﹁締淇℃伅鍚�?")
+                .then((_) => {
+                    this.$axios({
+                        method: "delete",
+                        url: path + idArr,
+                    }).then((res) => {
+                        if (res.code === 200) {
+                            this.$message({
+                                type: "success",
+                                message: "鎵归噺鍒犻櫎杞﹁締淇℃伅鎴愬姛",
+                            });
+                            this.getCarList();
+                        } else {
+                            this.$message({
+                                type: "error",
+                                message: res.message,
+                            });
+                        }
+                    });
+                })
+                .catch((err) => {
+                    console.log(err);
+                });
+        },
     }
 }
 </script>
@@ -339,6 +391,7 @@
     text-align: left;
     margin: 10px 20px;
     color: #4b9bb7;
+
     header {
         background-color: #09152f;
         border: 1pox solid #fff;
@@ -391,18 +444,22 @@
             }
         }
     }
+
     &::v-deep .el-input__inner {
         background-color: #09152f;
         border: 1px solid #17324c;
     }
+
     main {
         background-color: #09152f;
         margin-top: 20px;
         padding-bottom: 50px;
         border: 1pox solid #fff;
-        .btn span:hover{
+
+        .btn span:hover {
             cursor: pointer;
         }
+
         .type-nav {
             display: flex;
             line-height: 40px;
@@ -434,9 +491,11 @@
 
             .funs {
                 display: flex;
-                .funs-sp{
+
+                .funs-sp {
                     border: 1px solid #17324c;
                 }
+
                 .funsItem {
                     line-height: 28px;
                     display: flex;
@@ -561,9 +620,11 @@
             width: 50px !important;
         }
     }
-    .line{
+
+    .line {
         padding: 0 5px;
     }
+
     &::v-deep .el-dialog__header,
     &::v-deep .el-dialog__body {
         background-color: #06122c;
diff --git a/src/views/operate/management/myIndex/index.vue b/src/views/operate/management/myIndex/index.vue
index 151e216..b355df8 100644
--- a/src/views/operate/management/myIndex/index.vue
+++ b/src/views/operate/management/myIndex/index.vue
@@ -88,7 +88,7 @@
                     <MyIllDetail :info=info v-else :mycode="code"></MyIllDetail>
                 </el-dialog>
                 <!-- tools -->
-                <div class="tools">
+                <!-- <div class="tools">
                     <div class="funs">
                         <div class="funsItem funs-sp">
                             <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
@@ -110,7 +110,7 @@
                             @prev-click="handlePrev" @next-click="handleNext">
                         </el-pagination>
                     </div>
-                </div>
+                </div> -->
             </div>
         </main>
     </div>
@@ -468,6 +468,9 @@
                 text-overflow: ellipsis;
                 white-space: nowrap;
                 overflow: hidden;
+                .el-checkbox {
+                    display: none;
+                }
             }
 
             &::v-deep .el-table__empty-block {

--
Gitblit v1.8.0