From 73b48dd59a2d47b365b87784371c4ef57dde659b Mon Sep 17 00:00:00 2001
From: Oliver <1070107765@qq.com>
Date: 星期四, 22 十二月 2022 11:17:47 +0800
Subject: [PATCH] 首页新增
---
src/views/operate/disposal/casepool/pool/index.vue | 465 +++++++++++++++++++++++++++++++---------------------------
1 files changed, 248 insertions(+), 217 deletions(-)
diff --git a/src/views/operate/disposal/casepool/pool/index.vue b/src/views/operate/disposal/casepool/pool/index.vue
index d7593f3..2c952e4 100644
--- a/src/views/operate/disposal/casepool/pool/index.vue
+++ b/src/views/operate/disposal/casepool/pool/index.vue
@@ -4,19 +4,32 @@
<div class="headerContent">
<div class="search">
<span>鏉ユ簮鏌ヨ:</span>
- <el-input placeholder="璇疯緭鍏ラ棶棰樻潵婧�" v-model="context"></el-input>
+ <div class="option">
+ <el-select clearable v-model="resource" placeholder="璇烽�夋嫨鏉ユ簮">
+ <el-option v-for="item in eventSourceOptions" :key="item.label" :label="item.label"
+ :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-button class="addBtn button-addition" type="primary" @click="dialogCreate = true">娣诲姞</el-button>
+ <!-- 閫夋嫨鐧昏绫诲瀷 -->
+ <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">
- <MyIll v-if="newAddType === 1" :mytype=newAddType @changeDialog=changeDialog />
- <myVio v-else :mytype=newAddType @changeDialog=changeDialog />
+ <!-- 浜嬩欢鐧昏 -->
+ <el-dialog :before-close="handleClose" :visible.sync="dialogNewAdd"
+ :title="newAddType === 0 ? '杩濊浜嬩欢鐧昏' : '杩濆缓浜嬩欢鐧昏' " width="80%" v-if="dialogNewAdd">
+ <!-- 杩濆缓鐧昏 -->
+ <MyIll v-if="newAddType === 1" :refresh="getUserList" :mytype=newAddType
+ @changeDialog=changeDialog />
+ <!-- 杩濊鐧昏 -->
+ <myVio v-else :refresh="getUserList" :mytype=newAddType @changeDialog=changeDialog />
</el-dialog>
</div>
</div>
@@ -39,69 +52,91 @@
@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="code" label="浜嬩欢缂栧彿" min-width="18">
<template slot-scope="scope">
<el-link @click="JumpView(scope.row)">{{scope.row.code}}</el-link>
</template>
</el-table-column>
- <el-table-column prop="eventSource" label="闂鏉ユ簮" min-width="10">
+ <el-table-column prop="eventSource" label="闂鏉ユ簮" min-width="8">
+ <template slot-scope="scope">
+ <span>{{scope.row.eventSource === 2 ? '浜哄伐涓婁紶' : '瑙嗛宸℃煡'}}</span>
+ </template>
</el-table-column>
- <el-table-column prop="category" label="澶х被鍚嶇О" min-width="10">
+ <el-table-column :prop="mystatus === 1 ? 'category' :'category'"
+ :label="mystatus===1 ? '澶х被鍚嶇О' : '杩濆缓绫诲埆'" :min-width="mystatus===1?'10':'15'">
</el-table-column>
- <el-table-column prop="type" label="灏忕被鍚嶇О" min-width="10">
+ <el-table-column :prop="mystatus === 1 ? 'type' :'site'" :label="mystatus===1 ? '灏忕被鍚嶇О' : '杩濆缓鍦扮偣'"
+ min-width="10">
</el-table-column>
- <el-table-column prop="actionCause" label="妗堢敱" min-width="10">
+ <el-table-column :prop="mystatus === 1 ? 'site' :''" :label="mystatus===1 ? '鎶ヨ鐐逛綅' : '杩濇硶寤虹瓚闀裤�佸銆侀珮'"
+ :min-width="mystatus===1?'10' :'20' ">
+ <template slot-scope="scope">
+ <div v-if="mystatus ===2"><span>{{scope.row.buildingLength+'绫�'+'銆�'+
+ scope.row.buildingWidth+'绫�'+'銆�'+scope.row.buildingHigh+'绫�'}}</span></div>
+ <div v-else>{{scope.row.site}}</div>
+ </template>
</el-table-column>
- <el-table-column prop="site" label="鎶ヨ鐐逛綅" min-width="10">
+ <el-table-column :prop="mystatus === 1 ? 'street' :'buildingArea'"
+ :label="mystatus===1 ? '鎵�灞炲尯鍩�' : '杩濇硶寤虹瓚闈㈢Н'" min-width="12">
</el-table-column>
- <el-table-column prop="streetId" label="鎵�灞炲尯鍩�" min-width="10">
+ <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="15" v-if="mystatus===1">
+ <template slot-scope="scope">
+ <span>{{filterTime(scope.row.alarmTime)}}</span>
+ </template>
</el-table-column>
- <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="10">
- </el-table-column>
- <el-table-column prop="continueTime" label="鎸佺画鏃堕棿" min-width="10">
+ <el-table-column :prop="mystatus === 1 ? 'continueTime' :'materials'"
+ :label="mystatus===1 ? '鎸佺画鏃堕棿' : '杩濇硶寤虹瓚鏉愭枡'" min-width="12">
</el-table-column>
<el-table-column prop="operation" label="鎿嶄綔" min-width="20">
<template slot-scope="scope">
- <div class="operation">
+ <div class="operation" v-if="statusArr[0]===0">
<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 @click="handleLearn(scope.row)">鍦ㄥ涔�</span>
<span class="line">|</span>
- <span @click="handleDelete(scope.row)">鏆備笉澶勭悊</span>
+ <span @click="handleNotDeal(scope.row)">鏆備笉澶勭悊</span>
+ </div>
+ <div class="operation" v-else>
+ <span @click="JumpView(scope.row)">鏌ョ湅</span>
</div>
</template>
</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="60%" title="鍩虹淇℃伅(浜哄伐)" v-if="dialogView"
+ :before-close="handleClose">
+ <MyDetail :info=info v-if="mystatus === 1"></MyDetail>
+ <MyIllDetail :info=info v-else></MyIllDetail>
+ </el-dialog>
+ <!-- 璋冨害 -->
+ <el-dialog :visible.sync="dialogDispatch" width="60%" title="璋冨害淇℃伅" v-if="dialogDispatch"
+ :before-close="handleClose">
+ <MyDispatch :id="baseId" :mytype="mystatus" @changeDialog="changeDialog" :refresh="getUserList">
+ </MyDispatch>
</el-dialog>
<!-- tools -->
<div class="tools">
- <div class="funs">
- <div class="funsItem">
- <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+ <!-- <div class="funs">
+ <div class="funsItem funs-sp">
+ <el-checkbox v-model="all" @change="selectAll()"
+ :disabled="tableData.length === 0">鍏ㄩ��</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="鎵归噺鎿嶄綔" @change="selectChange">
+ <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange" disabled>
<el-option v-for="item in options" :key="item.value" :label="item.label"
:value="item.value" :disabled="item.disabled">
</el-option>
</el-select>
</div>
- </div>
+ </div> -->
<div class="pagination">
<el-pagination background :current-page="currentPage" layout="prev, pager, next"
- :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage"
- @prev-click="handlePrev" @next-click="handleNext">
+ :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage">
</el-pagination>
</div>
</div>
@@ -110,43 +145,36 @@
</div>
</template>
<script>
-// import updateUser from "./updateUser"
import MyDetail from '@/components/detail'
+import MyIllDetail from '@/components/illdetail'
import createUser from "./createUser"
import MyIll from './createUser/ill'
import MyVio from './createUser/vio'
+import MyDispatch from '@/components/dispatch'
+import helper from '@/utils/mydate'
+import { RESOURCE_OPTIONS } from "@/utils/helper";
+import basecase from "@/api/operate/basecase";
+
export default {
components: {
- // updateUser
- createUser,MyIll,MyVio,MyDetail
+ createUser, MyIll, MyVio, MyDetail, MyDispatch, MyIllDetail
},
data() {
return {
- tableData: [
- // {
- // code:1,
- // eventSource:1,
- // category:1,
- // type:1,
- // actionCause:'妗堢敱1111',
- // site:'浣犲ソ',
- // streetId:1,
- // alarmTime:'2022-21-20',
- // continueTime:'8灏忔椂',
- // }
- ],
- context: "",
+ tableData: [],
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,22 +198,22 @@
tagList: [
{
name: '寰呭鐞�',
- value: 7,
+ value: 0,
checked: true
},
{
name: '宸蹭笂鎶�',
- value: 1,
- checked: false
- },
- {
- name: '宸茶皟搴�',
value: 3,
checked: false
},
{
+ name: '宸茶皟搴�',
+ value: 6,
+ checked: false
+ },
+ {
name: '鍦ㄥ涔�',
- value: 4,
+ value: 3,
checked: false
},
{
@@ -206,9 +234,11 @@
checked: false,
},
],
- mystatus:0,
- statusArr:[],
-
+ eventSourceOptions: RESOURCE_OPTIONS,
+ mystatus: 1,
+ statusArr: [],
+ baseId: 0,
+ resource: null
}
},
created() {
@@ -225,50 +255,64 @@
this.getUserList();
},
methods: {
- setDialog({flag,type}){
+ // 璋冨害
+ handleDispatch(data) {
+ this.baseId = data.id;
+ this.dialogDispatch = true;
+ },
+ // 閫夋嫨杩濊杩濆缓
+ 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'
- // })
- // })
+ 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 => { })
},
// 鎵ц涓嬫媺妗嗘搷浣�
- selectChange(val) {
- let ids = [];
- this.tempList.forEach(item => {
- ids.push(item.number);
- })
- if (ids.length !== 0) {
- if (val === 3) {
- this.mulDelete(ids);
+ selectChange(list) {
+ 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;
- if (list.length === this.tableData.length) {
- this.all = true;
- } else {
- this.all = false
- }
+ this.tempList = [];
+ list.forEach(item => {
+ this.tempList.push(item.id);
+ })
+ this.all = list.length === this.tableData.length;
},
// 鍏ㄩ��
selectAll() {
@@ -280,81 +324,51 @@
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;
- console.log(statusArr);
- this.$axios({
- method: 'get',
- url: `sccg/base-case/query/${statusArr[1]}?state=${statusArr[0]}¤t=${currentPage}&size=${pageSize}&resource=2`
- }).then(res => {
- this.totalNum = res.data.total;
- this.tableData = res.data.records;
- console.log(res);
- })
+ const params = {
+ current: this.currentPage,
+ state: this.statusArr[0] ?? null,
+ size: this.pageSize,
+ resource: this.resource,
+ type: this.statusArr[1] ?? null
+ }
+ basecase.baseCasePoolList(params)
+ .then(({ records, total }) => {
+ this.tableData = records;
+ this.totalNum = total;
+ })
+ .catch(err => this.$message.error(err))
},
// 璁剧疆琛ㄦ牸鏂戦┈绾�
tableRowClassName({ row, rowIndex }) {
- if ((rowIndex + 1) % 2 == 0) {
+ if ((rowIndex + 1) % 2 === 0) {
return 'warning-row';
} else {
return 'success-row';
}
- return '';
},
// 鏌ョ湅鐢ㄦ埛淇℃伅(涓嶅彲淇敼)
handleFind(rowData) {
- this.dialogView = true;
- this.updateFlag = false;
- this.userInfo = rowData;
},
// 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
changeCurrentPage(page) {
this.currentPage = page;
this.getUserList();
},
- // 涓婁竴椤电偣鍑讳簨浠�
- handlePrev(page) {
- this.currentPage = page;
- this.getUserList();
- },
- // 涓嬩竴椤电偣鍑讳簨浠�
- handleNext(page) {
- this.currentPage = page;
- this.getUserList();
- },
- changeDialog(val) {
- this.dialogNewAdd = val.dialogView;
- this.dialogCreate = val.dialogView;
- this.dialogView = val.dialogView;
- this.getUserList();
+
+ changeDialog({ flag }) {
+ this.dialogNewAdd = flag;
+ this.dialogCreate = flag;
+ this.dialogView = flag;
+ this.dialogDispatch = flag;
},
handleClose(done) {
this.$confirm('纭鍏抽棴锛�')
.then(_ => {
this.dialogCreate = false;
+ this.dialogNewAdd = false;
+ this.dialogDispatch = false;
this.dialogView = false;
done();
})
@@ -363,38 +377,87 @@
// 鏇存敼涓�绾ф爣绛剧殑閫変腑
changeNavChecked(idx) {
this.tagList.forEach((item, index) => {
- if (index === idx) {
- item.checked = true;
- } else {
- item.checked = false;
- }
+ item.checked = index === idx;
})
+ this.mystatus = 1
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) {
this.typeList.forEach((item, index) => {
- if (index === idx) {
- item.checked = true;
- } else {
- item.checked = false;
- }
+ item.checked = index === idx;
})
+ 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) {
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;
+ })
+ },
+ // 鍦ㄥ涔�
+ handleLearn({ id }) {
+ this.$axios({
+ method: 'put',
+ url: 'sccg/base_case/case_status_update?caseId=' + id + '&state=' + 3
})
+ .then(res => {
+ if (res.code === 200) {
+ this.$notify({
+ title: '娓╅Θ鎻愮ず',
+ message: '姝や簨浠跺凡蹇界暐,杩斿洖绯荤粺鍦ㄥ涔�',
+ type: 'success',
+ position: 'bottom-right'
+ })
+ this.getUserList();
+ } else {
+ this.$message({
+ type: 'error',
+ message: '鎿嶄綔澶辫触'
+ })
+ }
+ })
+ },
+ // 鏆備笉澶勭悊
+ handleNotDeal({ id }) {
+ this.$axios({
+ method: 'put',
+ url: 'sccg/base_case/case_status_update?caseId=' + id + '&state=' + 4
+ })
+ .then(res => {
+ if (res.code === 200) {
+ this.$notify({
+ title: '娓╅Θ鎻愮ず',
+ message: '姝や簨浠舵殏涓嶅鐞�,璇峰墠寰�鏆備笉澶勭悊鐣岄潰鏌ョ湅璇︽儏',
+ type: 'success',
+ position: 'bottom-right'
+ })
+ this.getUserList();
+ } else {
+ this.$message({
+ type: 'error',
+ message: '鎿嶄綔澶辫触'
+ })
+ }
+ })
+ },
+ // 澶勭悊鏃堕棿
+ filterTime(time) {
+ return helper(time);
}
}
}
@@ -407,7 +470,6 @@
header {
background-color: #09152f;
- border: 1pox solid #fff;
.headerContent {
padding: 0 40px;
@@ -424,13 +486,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;
+ }
}
}
@@ -461,8 +533,6 @@
main {
background-color: #09152f;
margin-top: 20px;
- padding-bottom: 50px;
- border: 1pox solid #fff;
.mainTitle {
line-height: 60px;
@@ -492,8 +562,8 @@
.type-nav {
display: flex;
line-height: 40px;
- margin-left: 30px;
- margin-top: 2px;
+ // margin-left: 30px;
+ // margin-top: 2px;
.type-item {
width: 80px;
@@ -520,11 +590,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;
@@ -536,11 +609,6 @@
.el-select {
width: 120px;
- }
-
- &::v-deep .el-input__inner {
- border: none;
- background-color: #09152f;
}
&:hover {
@@ -586,15 +654,12 @@
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
+ // display: none;
+ .el-checkbox{
+ display:none
}
-
- &::v-deep .el-table__empty-block {
- background-color: #09152f;
}
-
- &::v-deep .el-table__empty-block {
- color: #4b9bb7;
- }
+
.operation {
display: flex;
@@ -609,40 +674,6 @@
}
}
- .el-table::v-deep .warning-row {
- background: #06122c;
- }
-
- .el-table::v-deep .success-row {
- background: #071f39;
- }
- }
-
- &::v-deep .el-dialog__header,
- &::v-deep .el-dialog__body {
- background-color: #06122c;
- }
-
- &::v-deep .el-dialog__header {
- display: flex;
- align-items: center;
- background-color: #fff;
- padding: 20px;
- line-height: 60px;
- }
-
- &::v-deep .el-dialog__title {
- color: #4b9bb7;
- }
-
- &::v-deep .el-dialog__close {
- width: 20px;
- height: 20px;
- // color: #fff;
- }
-
- &::v-deep .el-dialog__body {
- padding: 0;
}
}
</style>
\ No newline at end of file
--
Gitblit v1.8.0