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 | 457 ++++++++++++++++++++++++++++++++------------------------
1 files changed, 261 insertions(+), 196 deletions(-)
diff --git a/src/views/operate/disposal/casepool/pool/index.vue b/src/views/operate/disposal/casepool/pool/index.vue
index 3e6c1f7..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 />
- <myVio v-else :mytype=newAddType />
+ <!-- 浜嬩欢鐧昏 -->
+ <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,65 +52,91 @@
@selection-change="tableChange">
<el-table-column type="selection" min-width="5">
</el-table-column>
- <el-table-column prop="number" 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="typeThird" 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="typeSecond" 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="typeFirst" 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="type" 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="type" 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="type" 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="type" label="鎶ヨ鏃堕棿" min-width="10">
- </el-table-column>
- <el-table-column prop="type" 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="dialogUpdate" width="45%" :title="updateFlag ? '鏉冮檺璁剧疆' :'鏌ョ湅瑙掕壊淇℃伅'"
- v-if="dialogUpdate" :before-close="handleClose">
- <updateUser :updateFlag="updateFlag" :userInfo=userInfo
- :getUserList=" context ? getUserList : getUserList" @changeDialog="changeDialog" />
+ <!-- 璇︽儏椤靛睍绀� -->
+ <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>
@@ -106,30 +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
+ createUser, MyIll, MyVio, MyDetail, MyDispatch, MyIllDetail
},
data() {
return {
tableData: [],
- context: "",
dialogCreate: false,
- dialogUpdate: false,
- dialogNewAdd:false,
- newAddType:0,
- updateFlag: false,
- userInfo: '',
+ dialogView: false,
+ dialogNewAdd: false,
+ dialogDispatch: false,
+ newAddType: 0,
totalNum: null,
pageSize: 10,
currentPage: 1,
all: false,
unsame: false,
myIdx: 0,
+ preMyIdx: 0,
+ info: {},
options: [
{
value: 0,
@@ -153,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
},
{
@@ -189,9 +234,11 @@
checked: false,
},
],
- mystatus:0,
- statusArr:[],
-
+ eventSourceOptions: RESOURCE_OPTIONS,
+ mystatus: 1,
+ statusArr: [],
+ baseId: 0,
+ resource: null
}
},
created() {
@@ -208,51 +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;
- console.log(flag,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() {
@@ -264,78 +324,52 @@
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=1`
- }).then(res => {
- 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.dialogUpdate = 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.dialogUpdate = val.dialogUpdate;
- console.log(val);
+
+ changeDialog({ flag }) {
+ this.dialogNewAdd = flag;
+ this.dialogCreate = flag;
+ this.dialogView = flag;
+ this.dialogDispatch = flag;
},
handleClose(done) {
this.$confirm('纭鍏抽棴锛�')
.then(_ => {
this.dialogCreate = false;
- this.dialogUpdate = false;
+ this.dialogNewAdd = false;
+ this.dialogDispatch = false;
+ this.dialogView = false;
done();
})
.catch(_ => { });
@@ -343,25 +377,88 @@
// 鏇存敼涓�绾ф爣绛剧殑閫変腑
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) {
+ await this.getEventInfo(data.code);
+ },
+ // 鑾峰彇妗堜欢淇℃伅
+ getEventInfo(code) {
+ this.$axios({
+ method: 'get',
+ url: `sccg/base_case/baseCaseDetail/${code}`
+ })
+ .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);
+ }
}
}
</script>
@@ -373,7 +470,6 @@
header {
background-color: #09152f;
- border: 1pox solid #fff;
.headerContent {
padding: 0 40px;
@@ -390,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;
+ }
}
}
@@ -427,8 +533,6 @@
main {
background-color: #09152f;
margin-top: 20px;
- padding-bottom: 50px;
- border: 1pox solid #fff;
.mainTitle {
line-height: 60px;
@@ -458,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;
@@ -486,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;
@@ -502,11 +609,6 @@
.el-select {
width: 120px;
- }
-
- &::v-deep .el-input__inner {
- border: none;
- background-color: #09152f;
}
&:hover {
@@ -552,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;
@@ -575,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