|
|
@@ -1,53 +1,63 @@
|
|
|
<template>
|
|
|
<div class="list-view">
|
|
|
<div class="filters-container">
|
|
|
- <el-col :span="8">
|
|
|
- <span class="span-size">考级活动名称</span>
|
|
|
- <el-input placeholder="输入考级活动名称" v-model="search" clearable class="filter-item"></el-input>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <span class="span-size">考级机构名称</span>
|
|
|
- <el-input placeholder="输入考级机构名称" v-model="agency" clearable class="filter-item"></el-input>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <label class="span-size">考级地点</label>
|
|
|
- <el-select class="filter-item" v-model="district" clearable placeholder="请选择区县">
|
|
|
- <el-option
|
|
|
- v-for="item in districts"
|
|
|
- :key="item.id"
|
|
|
- :value="item.name"
|
|
|
- :label="item.name"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <span class="span-size">承办单位名称</span>
|
|
|
- <el-input placeholder="输入承办单位名称" v-model="organizer" clearable class="filter-item"></el-input>
|
|
|
- </el-col>
|
|
|
+ <el-form size="mini" inline>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="考级活动名称">
|
|
|
+ <el-input placeholder="输入考级活动名称" v-model="search" clearable></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="考级机构名称"
|
|
|
+ ><el-input placeholder="输入考级机构名称" v-model="agency" clearable></el-input
|
|
|
+ ></el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="考级地点">
|
|
|
+ <el-select v-model="district" clearable placeholder="请选择区县">
|
|
|
+ <el-option
|
|
|
+ v-for="item in districts"
|
|
|
+ :key="item.id"
|
|
|
+ :value="item.name"
|
|
|
+ :label="item.name"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="承办单位名称">
|
|
|
+ <el-input placeholder="输入承办单位名称" v-model="organizer" clearable></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
|
|
|
- <el-col :span="14">
|
|
|
- <label class="span-size">考级活动时间</label>
|
|
|
- <el-date-picker
|
|
|
- v-model="dateRange"
|
|
|
- type="daterange"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- start-placeholder="请选择开始时间"
|
|
|
- end-placeholder="请选择结束时间"
|
|
|
- range-separator="至"
|
|
|
- class="filter-item"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <div style="padding-left: 20px">
|
|
|
- <el-button @click="getData" type="primary" icon="el-icon-search" class="filter-item"
|
|
|
- >查询
|
|
|
- </el-button>
|
|
|
- <el-button @click="showVideo" type="primary" icon="el-icon-video-camera" class="filter-item"
|
|
|
- >监控平台
|
|
|
- </el-button>
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
+ <el-col :span="14">
|
|
|
+ <el-form-item label="考级活动时间">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="dateRange"
|
|
|
+ type="daterange"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ start-placeholder="请选择开始时间"
|
|
|
+ end-placeholder="请选择结束时间"
|
|
|
+ range-separator="至"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item>
|
|
|
+ <el-button @click="getData" type="primary" icon="el-icon-search">查询 </el-button>
|
|
|
+ <el-button @click="showVideo" type="primary" icon="el-icon-video-camera"
|
|
|
+ >监控平台
|
|
|
+ </el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
</div>
|
|
|
<el-table
|
|
|
:data="tableData"
|
|
|
@@ -102,63 +112,7 @@
|
|
|
</div>
|
|
|
<record-log ref="dataRefs" :dialogVisible="isShow" @close="isShow = false"></record-log>
|
|
|
<record-logs ref="dataRef" :dialogVisibles="isShows" @close="isShows = false"></record-logs>
|
|
|
- <el-drawer title="检查记录" :visible.sync="drawer" size="40%" :with-header="false" @close="lists = []">
|
|
|
- <div v-if="lists.length <= 0" style="padding:100px 0; font-size: 14px; color: #4a4646">
|
|
|
- <div style="text-align:center">暂无数据</div>
|
|
|
- </div>
|
|
|
- <div style="margin: 30px" v-else>
|
|
|
- <el-timeline-item :timestamp="item.createdAt" placement="top" v-for="item in lists" :key="item.id">
|
|
|
- <div style="font-size: 14px; color: #4a4646">
|
|
|
- {{ tipsType[item.type] }}
|
|
|
- </div>
|
|
|
- <div style="margin-top:5px">
|
|
|
- <!-- {{ item.value ? '是' : '否' }} -->
|
|
|
- <el-radio-group v-model="item.value" disabled>
|
|
|
- <el-radio :label="true">是</el-radio>
|
|
|
- <el-radio :label="false">否</el-radio>
|
|
|
- </el-radio-group>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div style="margin-top:5px">
|
|
|
- <el-image
|
|
|
- v-for="(img, index) in item.img"
|
|
|
- :key="index"
|
|
|
- :src="img"
|
|
|
- style="width:60px;height:60px;margin-right:3px"
|
|
|
- :preview-src-list="item.img"
|
|
|
- >
|
|
|
- </el-image>
|
|
|
- </div>
|
|
|
- </el-timeline-item>
|
|
|
- <el-timeline reverse>
|
|
|
- <el-timeline-item
|
|
|
- :timestamp="item.createdAt"
|
|
|
- placement="top"
|
|
|
- v-for="item in checkMap.get(recordId)"
|
|
|
- :key="item.id"
|
|
|
- >
|
|
|
- <div style="font-size: 14px; color: #4a4646">
|
|
|
- {{ item.content }}
|
|
|
- </div>
|
|
|
- <div style="margin-top:5px">
|
|
|
- <el-image
|
|
|
- v-for="(img, index) in item.file"
|
|
|
- :key="index"
|
|
|
- :src="img"
|
|
|
- fit="fill"
|
|
|
- :lazy="true"
|
|
|
- style="width:60px;height:60px;margin-right:3px"
|
|
|
- :preview-src-list="item.file"
|
|
|
- >
|
|
|
- </el-image>
|
|
|
- </div>
|
|
|
- </el-timeline-item>
|
|
|
- </el-timeline>
|
|
|
- <div>
|
|
|
- <el-button @click="saveRow(recordId)" size="mini" plain>编辑</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-drawer>
|
|
|
+ <regulation-drawer ref="drawerRefs" :drawerVisible="drawer"></regulation-drawer>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
@@ -169,11 +123,12 @@ import format from 'date-fns/format';
|
|
|
import startOfDay from 'date-fns/startOfDay';
|
|
|
import endOfDay from 'date-fns/endOfDay';
|
|
|
import { th } from 'date-fns/locale';
|
|
|
+import RegulationDrawer from '../../components/RegulationDrawer.vue';
|
|
|
|
|
|
export default {
|
|
|
name: 'RecordRegulationList',
|
|
|
mixins: [pageableTable],
|
|
|
- components: { RecordLog, RecordLogs },
|
|
|
+ components: { RecordLog, RecordLogs, RegulationDrawer },
|
|
|
created() {
|
|
|
this.$http
|
|
|
.post('/setting/byFlag', { flag: 2 })
|
|
|
@@ -191,16 +146,13 @@ export default {
|
|
|
multipleMode: false,
|
|
|
isShow: false,
|
|
|
isShows: false,
|
|
|
- lists: [],
|
|
|
search: '',
|
|
|
url: '/record/all',
|
|
|
downloading: false,
|
|
|
categoryOptions: [{ label: '承办单位', value: 'ORGANIZER' }],
|
|
|
districts: [],
|
|
|
district: '',
|
|
|
- city: '南京市',
|
|
|
status: '',
|
|
|
- recordDateRange: '',
|
|
|
agency: '',
|
|
|
organizer: '',
|
|
|
dateRange: '',
|
|
|
@@ -217,9 +169,7 @@ export default {
|
|
|
safetyt: '考点是否配备测量体温设施设备,并有专人值守',
|
|
|
safetys: '考级现场是否实施预约限流措施'
|
|
|
},
|
|
|
- checkMap: new Map(),
|
|
|
- drawer: false,
|
|
|
- recordId: {}
|
|
|
+ drawer: false
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
|
@@ -263,25 +213,10 @@ export default {
|
|
|
this.$refs.table.clearSelection();
|
|
|
}
|
|
|
},
|
|
|
- addRow() {
|
|
|
- this.$router.push({
|
|
|
- path: '/recordEdit',
|
|
|
- query: {
|
|
|
- ...this.$route.query
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
editRow(row) {
|
|
|
this.isShows = true;
|
|
|
this.$refs.dataRef.init(row.id);
|
|
|
},
|
|
|
- checkRow(row) {
|
|
|
- this.$refs.table.toggleRowExpansion(row, true);
|
|
|
- },
|
|
|
- saveRow(row) {
|
|
|
- this.isShow = true;
|
|
|
- this.$refs.dataRefs.init(row);
|
|
|
- },
|
|
|
download() {
|
|
|
this.downloading = true;
|
|
|
this.$axios
|
|
|
@@ -335,17 +270,6 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- update() {
|
|
|
- this.$http
|
|
|
- .get('/record/update')
|
|
|
- .then(res => {
|
|
|
- this.getData();
|
|
|
- })
|
|
|
- .catch(e => {
|
|
|
- console.log(e);
|
|
|
- this.$message.error(e.error);
|
|
|
- });
|
|
|
- },
|
|
|
openRoom(row) {
|
|
|
this.$router.push({
|
|
|
path: '/showRoomList',
|
|
|
@@ -359,92 +283,16 @@ export default {
|
|
|
path: '/videoList'
|
|
|
});
|
|
|
},
|
|
|
- expand(row) {
|
|
|
- let checks = new Map([...this.checkMap]);
|
|
|
- // if (checks.has(row)) {
|
|
|
- // return;
|
|
|
- // }
|
|
|
- this.$http
|
|
|
- .post(
|
|
|
- 'recordCheck/all',
|
|
|
- {
|
|
|
- size: 20,
|
|
|
- sort: 'createdAt,asc',
|
|
|
- query: { recordId: row }
|
|
|
- },
|
|
|
- { body: 'json' }
|
|
|
- )
|
|
|
- .then(res => {
|
|
|
- if (!res.empty) {
|
|
|
- checks.set(row, res.content);
|
|
|
- } else {
|
|
|
- return Promise.reject();
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(e => {
|
|
|
- checks.set(row, []);
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- this.checkMap = new Map(checks);
|
|
|
- });
|
|
|
- this.$http
|
|
|
- .post(
|
|
|
- 'recordExpertAudit/all',
|
|
|
- {
|
|
|
- size: 20,
|
|
|
- query: {
|
|
|
- recordId: row
|
|
|
- }
|
|
|
- },
|
|
|
- { body: 'json' }
|
|
|
- )
|
|
|
- .then(res => {
|
|
|
- console.log(res);
|
|
|
- this.lists = res.content;
|
|
|
- // this.empty = res.empty;
|
|
|
- });
|
|
|
- },
|
|
|
openDrawer(row) {
|
|
|
this.drawer = true;
|
|
|
- this.recordId = row;
|
|
|
- this.expand(row);
|
|
|
+ this.$refs.drawerRefs.init(row);
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="less" scoped>
|
|
|
-.span-size {
|
|
|
- font-size: 14px;
|
|
|
- color: #565b66;
|
|
|
- line-height: 15px;
|
|
|
- padding: 0 10px 0 10px;
|
|
|
-}
|
|
|
-.span-width {
|
|
|
- width: 330px;
|
|
|
- display: inline-block;
|
|
|
- text-align: right;
|
|
|
-}
|
|
|
-.span-width2 {
|
|
|
- width: 500px;
|
|
|
- // float: left;
|
|
|
- text-align: right;
|
|
|
- display: inline-block;
|
|
|
-}
|
|
|
-/deep/.el-timeline-item__timestamp {
|
|
|
- // color: #0561d9;
|
|
|
- color: #201e1e;
|
|
|
- line-height: 1;
|
|
|
- font-size: 14px;
|
|
|
-}
|
|
|
-/deep/.el-timeline-item__node {
|
|
|
- // background-color: #5b9bed;
|
|
|
- background-color: #9d9a9a;
|
|
|
-}
|
|
|
-/deep/.el-timeline-item__tail {
|
|
|
- // border-left: 2px solid #7cace9;
|
|
|
- border-left: 2px solid #9d9a9a;
|
|
|
-}
|
|
|
-/deep/.el-radio__input.is-disabled + span.el-radio__label {
|
|
|
- color: #606266; // #409EFF;
|
|
|
+/deep/.el-form-item--mini.el-form-item,
|
|
|
+.el-form-item--small.el-form-item {
|
|
|
+ margin-bottom: 10px;
|
|
|
}
|
|
|
</style>
|