From f979c8991929e0e8372f86b34537172d77c3739e Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期三, 14 十二月 2022 14:36:11 +0800 Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_ui --- src/views/operate/car/myIndex/index.vue | 275 ++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 190 insertions(+), 85 deletions(-) diff --git a/src/views/operate/car/myIndex/index.vue b/src/views/operate/car/myIndex/index.vue index 5bd43a7..49be8c7 100644 --- a/src/views/operate/car/myIndex/index.vue +++ b/src/views/operate/car/myIndex/index.vue @@ -5,75 +5,91 @@ <div class="search"> <span>杞﹁締鎼滅储:</span> <div class="option"> - <el-input placeholder="璇疯緭鍏ヨ溅鐗屽彿"></el-input> + <el-input v-model="context" placeholder="璇疯緭鍏ヨ溅鐗屽彿"></el-input> + </div> + + <div class="findBtn"> + <el-button type="primary" @click="handleSearch">鏌ヨ</el-button> </div> </div> <div class="addCar"> - <el-button type="primary" class="addBtn" @click="handleAddCar">娣诲姞杞﹁締</el-button> + <el-button type="primary" class="addBtn button-addition" @click="handleAddCar">娣诲姞杞﹁締</el-button> </div> </div> </header> <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="code" label="杞︾墝鍙�" min-width="10"> - <template slot-scope="scope"> - <el-link @click="JumpView(scope.row)">{{scope.row.code}}</el-link> - </template> + <el-table-column prop="carNumber" label="杞︾墝鍙�" min-width="10"> </el-table-column> - <el-table-column prop="code" 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="eventSource" label="杞︿富濮撳悕" min-width="10"> - <template slot-scope="scope"> - <span>{{scope.row.eventSource === 2 ? '浜哄伐涓婃姤' : '瑙嗛涓婁紶'}}</span> - </template> + <el-table-column :prop="mystatus === 1 ? 'ownerName' : 'carOwner'" label="杞︿富濮撳悕" min-width="10"> </el-table-column> - <el-table-column prop="category" 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="type" label="鑱旂郴鏂瑰紡" min-width="10"> + <el-table-column :prop="mystatus === 1 ? 'contact' : 'phone'" label="鑱旂郴鏂瑰紡" min-width="10"> </el-table-column> - <el-table-column prop="actionCause" :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="site" :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"> <div class="btn"> - <span @click="handleReset(scope.row)">鏌ョ湅</span> + <!-- <span @click="handleView(scope.row)">鏌ョ湅</span> + <span class="line">|</span> --> + <span @click="handleEdit(scope.row)">缂栬緫</span> <span class="line">|</span> - <span>鍒犻櫎</span> + <span @click="handleDelete(scope.row)">鍒犻櫎</span> </div> </template> </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"> + <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"> + <MyEditLaw v-if="mystatus === 1" @closeDialog="closeDialog" :info="info"></MyEditLaw> + <MyEditSoil v-else @closeDialog="closeDialog" :info="info"></MyEditSoil> </el-dialog> <!-- tools --> <div class="tools"> <div class="funs"> - <div class="funsItem"> + <div class="funsItem funs-sp"> <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox> </div> - <div class="funsItem"> + <div class="funsItem funs-sp"> <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> @@ -90,38 +106,45 @@ </div> </template> <script> -import Mycreate from './createUser' +import Mycreate from './create/law' +import MySoil from './create/soil' +import MyViewLaw from './update/law' +import MyViewSoil from './update/soil' +import MyEditLaw from './edit/law' +import MyEditSoil from './edit/soil' export default { components: { - Mycreate + Mycreate, MySoil, MyViewLaw, + MyViewSoil, MyEditLaw, MyEditSoil }, data() { return { tableData: [], context: "", - dialogAdd:false, - info: {}, + dialogAdd: false, + dialogView: false, + dialogEdit: false, + info: '', totalNum: null, pageSize: 10, currentPage: 1, all: false, unsame: false, myIdx: 0, - preMyIdx:0, options: [ { value: 0, label: '鎵归噺鎿嶄綔', disabled: true, }, - { - value: 1, - label: '鎵归噺鍚敤', - }, - { - value: 2, - label: '鎵归噺绂佺敤', - }, + // { + // value: 1, + // label: '鎵归噺鍚敤', + // }, + // { + // value: 2, + // label: '鎵归噺绂佺敤', + // }, { value: 3, label: '鎵归噺鍒犻櫎', @@ -140,23 +163,39 @@ checked: false, }, ], - mystatus:1, - caseId:'', + mystatus: 1, + caseId: '', + timer: null, + currentState: 1 } }, created() { - this.getUserList(); + this.getCarList(); }, methods: { + // 缂栬緫杞﹁締 + handleEdit(data) { + this.dialogEdit = true + this.info = data; + }, + // 鎼滅储杞﹁締 + handleSearch(val) { + if (this.timer) { + clearTimeout(this.timer); + } + this.timer = setTimeout(() => { + this.getCarList(); + }, 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; @@ -175,62 +214,60 @@ }) }, // 鍒犻櫎鍗曟潯鏁版嵁 - handleDelete({ number }) { - console.log(number); + handleDelete({ id }) { this.$confirm('纭鍒犻櫎锛�') .then(_ => { - console.log(1); + const { mystatus } = this + let myurl = mystatus === 1 ? 'deletion_enforce' : 'deletion_slag' this.$axios({ method: 'delete', - url: `sccg/violations/delete?id=${number}`, + url: `/sccg/car_Manage/${myurl}?id=${id}`, }) .then(res => { - console.log(res); this.$message({ type: res.code === 200 ? 'success' : 'warning', message: res.message }) - this.getUserList(); + this.getCarList(); }) }) - .catch(_ => { console.log(2) }); + .catch(_ => { }); }, - // 鑾峰彇鐢ㄦ埛鍒楄〃 - async getUserList() { + // 鑾峰彇杞﹁締鍒楄〃 + 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) } - console.log(arr); 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湡杞� @@ -238,12 +275,13 @@ this.typeList.forEach((item, index) => { if (index === idx) { item.checked = true; + this.currentState=item.value; } else { item.checked = false; } }) this.mystatus = idx + 1; - this.getUserList(); + this.getCarList(); }, // 璁剧疆琛ㄦ牸鏂戦┈绾� tableRowClassName({ row, rowIndex }) { @@ -257,17 +295,17 @@ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠� changeCurrentPage(page) { this.currentPage = page; - this.getUserList(); + this.getCarList(); }, // 涓婁竴椤电偣鍑讳簨浠� handlePrev(page) { this.currentPage = page; - this.getUserList(); + this.getCarList(); }, // 涓嬩竴椤电偣鍑讳簨浠� handleNext(page) { this.currentPage = page; - this.getUserList(); + this.getCarList(); }, handleClose(done) { this.$confirm('纭鍏抽棴锛�') @@ -276,18 +314,75 @@ }) .catch(_ => { }); }, - async JumpView(data){ + async JumpView(data) { await this.getEventInfo(data.code); }, - opernDialog(data){ + handleNoClose(done) { + done(); + }, + opernDialog(data) { this.dialogAdd = true; this.caseId = data.id; - // console.log(data); }, - // 鍏抽棴涓婁紶鐣岄潰 - closeDialog({flag}){ + // 鍏抽棴鐣岄潰 + closeDialog({ flag, index }) { this.dialogAdd = flag; - } + this.dialogEdit = flag + if (index === 1) { + this.getCarList(); + } + }, + 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> @@ -296,6 +391,7 @@ text-align: left; margin: 10px 20px; color: #4b9bb7; + header { background-color: #09152f; border: 1pox solid #fff; @@ -348,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; @@ -392,11 +492,14 @@ .funs { display: flex; + .funs-sp { + border: 1px solid #17324c; + } + .funsItem { line-height: 28px; display: flex; align-items: center; - border: 1px solid #17324c; border-radius: 4px; font-size: 12px; margin-left: 10px; @@ -517,9 +620,11 @@ width: 50px !important; } } - .line{ + + .line { padding: 0 5px; } + &::v-deep .el-dialog__header, &::v-deep .el-dialog__body { background-color: #06122c; -- Gitblit v1.8.0