Commit e1e45127 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 9e82c297 04c3afdb
<template> <template>
<div id="app"> <div id="app">
<router-view/> <router-view />
</div> </div>
</template> </template>
<style lang="less" scoped>
/deep/.el-table th {
background: #fafafa !important;
color: rgba(0, 0, 0, 0.85) !important;
}
/deep/.el-table .cell {
font-size: 14px;
}
/deep/.el-table th,
/deep/.el-table tr {
height: 54px;
text-align: center;
}
/deep/.el-drawer__header {
border-bottom: 1px solid #f0f0f0;
margin-bottom: 0;
padding-bottom: 20px;
color: #000;
}
</style>
...@@ -281,6 +281,7 @@ a { ...@@ -281,6 +281,7 @@ a {
background: linear-gradient(90deg, #1845c6, #2999ff) !important; background: linear-gradient(90deg, #1845c6, #2999ff) !important;
} }
.layout-menu-wrapper .layout-logo { .layout-menu-wrapper .layout-logo {
width: 335px;
font-size: 20px; font-size: 20px;
font-weight: bold; font-weight: bold;
} }
...@@ -311,16 +312,17 @@ a { ...@@ -311,16 +312,17 @@ a {
background-color: #1890ff !important; background-color: #1890ff !important;
} }
.layout-header .layout-submenu-wrapper { .layout-header .layout-submenu-wrapper {
width: 95% !important; width: 98% !important;
margin: 0 auto !important; margin: 0 auto !important;
margin-top: 20px !important; margin-top: 20px !important;
border-top-left-radius: 8px; border-top-left-radius: 8px;
border-top-right-radius: 8px; border-top-right-radius: 8px;
padding-left: 0px !important;
} }
.page.active { .page.active {
width: 95% !important; width: 98% !important;
margin: 0 auto !important; margin: 0 auto !important;
padding: 20px !important; padding: 10px !important;
padding-top: 0 !important; padding-top: 0 !important;
} }
.page { .page {
...@@ -329,3 +331,11 @@ a { ...@@ -329,3 +331,11 @@ a {
border-bottom-left-radius: 8px; border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px; border-bottom-right-radius: 8px;
} }
.el-button--primary {
background: linear-gradient(90deg, #5ab6ff 0%, #2e9aff 100%) !important;
color: #fff !important;
}
.el-button {
height: 32px;
line-height: 8px;
}
...@@ -321,6 +321,7 @@ a { ...@@ -321,6 +321,7 @@ a {
background: linear-gradient(90deg, #1845c6, #2999ff) !important; background: linear-gradient(90deg, #1845c6, #2999ff) !important;
} }
.layout-menu-wrapper .layout-logo { .layout-menu-wrapper .layout-logo {
width: 335px;
font-size: 20px; font-size: 20px;
font-weight: bold; font-weight: bold;
} }
...@@ -351,16 +352,17 @@ a { ...@@ -351,16 +352,17 @@ a {
background-color: #1890ff !important; background-color: #1890ff !important;
} }
.layout-header .layout-submenu-wrapper { .layout-header .layout-submenu-wrapper {
width: 95% !important; width: 98% !important;
margin: 0 auto !important; margin: 0 auto !important;
margin-top: 20px !important; margin-top: 20px !important;
border-top-left-radius: 8px; border-top-left-radius: 8px;
border-top-right-radius: 8px; border-top-right-radius: 8px;
padding-left: 0px !important;
} }
.page.active { .page.active {
width: 95% !important; width: 98% !important;
margin: 0 auto !important; margin: 0 auto !important;
padding: 20px !important; padding: 10px !important;
padding-top: 0 !important; padding-top: 0 !important;
} }
.page { .page {
...@@ -369,3 +371,11 @@ a { ...@@ -369,3 +371,11 @@ a {
border-bottom-left-radius: 8px; border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px; border-bottom-right-radius: 8px;
} }
.el-button--primary {
background: linear-gradient(90deg, #5ab6ff 0%, #2e9aff 100%) !important;
color: #fff !important;
}
.el-button {
height: 32px;
line-height: 8px;
}
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
:width="column.width" :width="column.width"
:sortable="column.sortable" :sortable="column.sortable"
:show-overflow-tooltip="column.tooltip" :show-overflow-tooltip="column.tooltip"
:align="column.align || 'left'" :align="column.align || 'center'"
:formatter="column.formatter" :formatter="column.formatter"
:reserve-selection="column.reserveSelection" :reserve-selection="column.reserveSelection"
:subColumns="column.subColumns" :subColumns="column.subColumns"
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
:label="sunColumn.label" :label="sunColumn.label"
:width="sunColumn.width" :width="sunColumn.width"
:sortable="sunColumn.sortable" :sortable="sunColumn.sortable"
:align="sunColumn.align || 'left'" :align="sunColumn.align || 'center'"
:formatter="sunColumn.formatter" :formatter="sunColumn.formatter"
/> />
</el-table-column> </el-table-column>
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
:label="column.label" :label="column.label"
:width="column.width" :width="column.width"
:show-overflow-tooltip="column.tooltip" :show-overflow-tooltip="column.tooltip"
:align="column.align || 'left'" :align="column.align || 'center'"
:formatter='column.formatter' :formatter='column.formatter'
> >
</el-table-column> </el-table-column>
......
...@@ -272,7 +272,7 @@ export default { ...@@ -272,7 +272,7 @@ export default {
line-height: 50px; line-height: 50px;
font-size: 14px; font-size: 14px;
color: #eee; color: #eee;
background: #1848c8; // background: #1848c8;
.layout-logo { .layout-logo {
height: 50px; height: 50px;
.el-icon-menu { .el-icon-menu {
...@@ -288,6 +288,7 @@ export default { ...@@ -288,6 +288,7 @@ export default {
.menu-list { .menu-list {
li { li {
width: 120px;
a { a {
display: block; display: block;
padding: 0 12px; padding: 0 12px;
...@@ -326,6 +327,7 @@ export default { ...@@ -326,6 +327,7 @@ export default {
white-space: nowrap; white-space: nowrap;
overflow: auto; overflow: auto;
li { li {
margin-right: 10px;
a { a {
display: block; display: block;
padding: 0 10px; padding: 0 10px;
......
...@@ -43,9 +43,9 @@ ...@@ -43,9 +43,9 @@
</div> </div>
</template> </template>
<script> <script>
//import { getSiteTree } from "@/services/businessMatter"; //import { getSiteTree } from "@/services/businessMatter";
import session from "@/assets/utils/session"; import session from "@/assets/utils/session";
//import Cookie from "js-cookie"; //import Cookie from "js-cookie";
export default { export default {
data() { data() {
return { return {
...@@ -111,12 +111,12 @@ export default { ...@@ -111,12 +111,12 @@ export default {
process.env.VUE_APP_SITETREE_URL == "undefined" process.env.VUE_APP_SITETREE_URL == "undefined"
? "http://192.168.0.98:11078/base/site/siteTree" ? "http://192.168.0.98:11078/base/site/siteTree"
: process.env.VUE_APP_SITETREE_URL; : process.env.VUE_APP_SITETREE_URL;
console.log(url) console.log(url);
this.$get(url).then((res) => { this.$get(url).then((res) => {
const { siteTree } = res.data; const { siteTree } = res.data;
this.sitelist = siteTree; this.sitelist = siteTree;
let arr = []; let arr = [];
const treeFn = function (e) { const treeFn = function(e) {
e.forEach((element) => { e.forEach((element) => {
arr.push(element); arr.push(element);
if (element.children && element.children.length > 0) { if (element.children && element.children.length > 0) {
...@@ -155,11 +155,11 @@ export default { ...@@ -155,11 +155,11 @@ export default {
position: relative; position: relative;
} }
.ant-dropdown-link { .ant-dropdown-link {
padding: 0 20px;
font-size: 14px; font-size: 14px;
min-width: 200px; min-width: 150px;
color: #eee; color: #eee;
display: inline-block; display: inline-block;
margin-top: 2px;
} }
.select-site { .select-site {
position: fixed; position: fixed;
......
...@@ -325,13 +325,12 @@ export default { ...@@ -325,13 +325,12 @@ export default {
) { ) {
//支持模糊查询,收尾增加百分号 //支持模糊查询,收尾增加百分号
val = val.trim(); val = val.trim();
if(val.charAt(0)!='%'){ if (val.charAt(0) != "%") {
val = "%" + val val = "%" + val;
} }
if(val.charAt(val.length-1)!='%'){ if (val.charAt(val.length - 1) != "%") {
val =val + "%"; val = val + "%";
} }
} }
}); });
newData[item] = this.decodeVal(val); newData[item] = this.decodeVal(val);
...@@ -379,10 +378,18 @@ export default { ...@@ -379,10 +378,18 @@ export default {
width: 140px; width: 140px;
} }
} }
.el-form--inline .el-form-item {
margin-right: 0;
}
.el-form-item {
margin-bottom: 10px !important;
margin-right: 0;
margin-left: 10px;
}
@media screen and (max-width: 800px) { @media screen and (max-width: 800px) {
.search-form-wapper { .search-form-wapper {
.el-form-item { .el-form-item {
margin-bottom: 10px !important;
width: 100%; width: 100%;
.el-form-item__label { .el-form-item__label {
min-width: 70px; min-width: 70px;
...@@ -397,4 +404,3 @@ export default { ...@@ -397,4 +404,3 @@ export default {
} }
} }
</style> </style>
...@@ -4,9 +4,9 @@ ...@@ -4,9 +4,9 @@
<div class="layout-table" :loading="data.loading"> <div class="layout-table" :loading="data.loading">
<div class="table-head flex flex-pack-justify"> <div class="table-head flex flex-pack-justify">
<div class="table-head-left flex flex-align-center"> <div class="table-head-left flex flex-align-center">
<slot name="breadcrumb"> <!-- <slot name="breadcrumb">
<Breadcrumb style="margin-left: 10px" /> <Breadcrumb style="margin-left: 10px" />
</slot> </slot> -->
<div class="buttons"> <div class="buttons">
<el-row> <el-row>
<slot name="table-head-left"></slot> <slot name="table-head-left"></slot>
...@@ -213,7 +213,7 @@ ...@@ -213,7 +213,7 @@
v-if="!isShowButton('notPagination') ? false : data.pageInfo.totalResult" v-if="!isShowButton('notPagination') ? false : data.pageInfo.totalResult"
> >
<Pagination <Pagination
style="float: left" style="float: right"
:total="data.pageInfo.totalResult" :total="data.pageInfo.totalResult"
:prePageResult="data.pageInfo.prePageResult" :prePageResult="data.pageInfo.prePageResult"
/> />
...@@ -325,10 +325,10 @@ export default { ...@@ -325,10 +325,10 @@ export default {
} }
.layout-table { .layout-table {
.table-head { .table-head {
margin-bottom: 10px; // margin-bottom: 10px;
//padding-bottom: 12px; //padding-bottom: 12px;
// padding-top: 7px; // padding-top: 7px;
border-bottom: 1px solid #ededed; // border-bottom: 1px solid #ededed;
.el-breadcrumb { .el-breadcrumb {
margin-right: 30px; margin-right: 30px;
} }
...@@ -349,7 +349,6 @@ export default { ...@@ -349,7 +349,6 @@ export default {
} }
.table-form { .table-form {
padding-top: 10px; padding-top: 10px;
margin-top: 10px;
overflow: hidden; overflow: hidden;
} }
.search-form-wapper { .search-form-wapper {
......
<template> <template>
<span> <span>
<el-button v-if='!noEdit' type="text" icon="el-icon-edit" size='mini' @click='$emit("edit", row)' title="编辑">编辑</el-button> <el-button
v-if="!noEdit"
type="text"
icon="el-icon-edit"
size="mini"
@click="$emit('edit', row)"
title="编辑"
>编辑</el-button
>
<span>&nbsp;</span> <span>&nbsp;</span>
<el-button v-if='!noView' type="text" icon="el-icon-view" size='mini' @click='$emit("view", row)' title="查看">查看</el-button> <el-button
<span>&nbsp;</span> v-if="!noView"
<Confirm @confirm='$emit("del", row.id)' message='确定要删除该条记录吗?'> type="text"
<el-button v-if='!noDel' type="text" icon="el-icon-delete" size='mini' title="删除">删除</el-button> icon="el-icon-view"
size="mini"
@click="$emit('view', row)"
title="查看"
>查看</el-button
>
<span>&nbsp;</span>
<Confirm @confirm="$emit('del', row.id)" message="确定要删除该条记录吗?">
<el-button
v-if="!noDel"
type="text"
icon="el-icon-delete"
size="mini"
title="删除"
style="margin-left: 0;margin-right: 5px;color: #FA4D4C;"
>删除</el-button
>
</Confirm> </Confirm>
</span> </span>
</template> </template>
<script> <script>
import Confirm from '@/components/Confirm.vue'; import Confirm from "@/components/Confirm.vue";
export default { export default {
props: { props: {
noEdit: { noEdit: {
type: Boolean, type: Boolean,
default: false default: false,
}, },
noDel: { noDel: {
type: Boolean, type: Boolean,
default: false default: false,
}, },
noAdd: { noAdd: {
type: Boolean, type: Boolean,
default: false default: false,
}, },
noView: { noView: {
type: Boolean, type: Boolean,
default: false default: false,
}, },
row: { row: {
type: Object, type: Object,
required: true, required: true,
default: () => {} default: () => {},
}, },
}, },
components: { components: {
Confirm, Confirm,
}, },
methods: { methods: {},
},
data() { data() {
return { return {};
},
} };
}
}
</script> </script>
...@@ -16,7 +16,5 @@ export default { ...@@ -16,7 +16,5 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
.page-home { .page-home {
margin-top: 20px !important; margin-top: 20px !important;
border-top-left-radius: 8px;
border-top-right-radius: 8px;
} }
</style> </style>
<template> <template>
<div :style="menuPageCss" class="pages page-layout"> <div :style="menuPageCss" class="pages page-layout">
<LayoutHeader v-if="menuPage!=='left'"></LayoutHeader> <LayoutHeader v-if="menuPage !== 'left'"></LayoutHeader>
<LayoutHeaderLeft @toggle="toggle" :isOpen="isOpen" v-if="menuPage==='left'" /> <LayoutHeaderLeft
<router-view :class="{'active': !isOpen}" /> @toggle="toggle"
</div> :isOpen="isOpen"
v-if="menuPage === 'left'"
/>
<router-view :class="{ active: !isOpen }" />
</div>
</template> </template>
<script> <script>
import LayoutHeader from "../components/Header"; import LayoutHeader from "../components/Header";
...@@ -13,54 +17,53 @@ const isPC = /(iPhone|iPad|iPod|iOS|Android)/i.test(navigator.userAgent); ...@@ -13,54 +17,53 @@ const isPC = /(iPhone|iPad|iPod|iOS|Android)/i.test(navigator.userAgent);
const MenuPage = "top"; const MenuPage = "top";
export default { export default {
components: { components: {
LayoutHeader, LayoutHeader,
LayoutHeaderLeft, LayoutHeaderLeft,
},
data() {
return {
isOpen: isPC,
menuPage: MenuPage,
};
},
computed: {
menuPageCss() {
//左面和顶面菜单切换时,动态计划相关css参数
return {
"--padding-top": this.menuPage === "left" ? "60px" : "0px",
"--margin-left": this.menuPage === "left" ? "200px" : "0px",
};
}, },
data() { },
return { methods: {
isOpen: isPC, toggle() {
menuPage: MenuPage, this.isOpen = !this.isOpen;
};
},
computed: {
menuPageCss() {
//左面和顶面菜单切换时,动态计划相关css参数
return {
"--padding-top": this.menuPage === "left" ? "60px" : "0px",
"--margin-left": this.menuPage === "left" ? "200px" : "0px",
};
},
},
methods: {
toggle() {
this.isOpen = !this.isOpen;
},
}, },
},
}; };
</script> </script>
<style lang="less"> <style lang="less">
.page { .page {
min-height: calc(100vh - 100px); min-height: calc(100vh - 100px);
width: 100%; width: 100%;
position: relative; position: relative;
background: #fff; background: #fff;
padding: var(--padding-top) 5px 5px 5px; padding: var(--padding-top) 5px 5px 5px;
margin-left: 60px; margin-left: 60px;
&.active { &.active {
margin-left: var(--margin-left); margin-left: var(--margin-left);
} }
} }
.page-layout { .page-layout {
background: #eee; background: #f0f2f5;
} }
.layout-header .layout-menu-wrapper{ .layout-header .layout-menu-wrapper {
background: #2681e8!important; // background: #2681e8!important;
height: 4rem; height: 4rem;
line-height: 4rem; line-height: 4rem;
} }
</style>
</style>
<template> <template>
<!-- 弹出框表单 --> <!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body> <el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="200px"> <el-form ref="form" :model="form" :rules="rules" label-width="200px">
<el-row> <el-row style="margin-bottom: 20px;">
<Field :span="20" label="是否启用该服务" prop="used" v-model="form.used" type="radio" :enumData="dict.used" placeholder="请选择是否启用该服务"/> <Field
<Field :span="20" label="监测周期配置"> :span="20"
<el-checkbox label="是否启用该服务"
true-label="1" prop="used"
false-label="0" v-model="form.used"
v-model="form.monday" type="radio"
>周一</el-checkbox> :enumData="dict.used"
placeholder="请选择是否启用该服务"
/>
<Field :span="20" label="监测周期配置">
<el-checkbox true-label="1" false-label="0" v-model="form.monday"
>周一</el-checkbox
>
<el-checkbox <el-checkbox true-label="1" false-label="0" v-model="form.tuesday"
true-label="1" >周二</el-checkbox
false-label="0" >
v-model="form.tuesday"
>周二</el-checkbox>
<el-checkbox <el-checkbox true-label="1" false-label="0" v-model="form.wednesday"
true-label="1" >周三</el-checkbox
false-label="0" >
v-model="form.wednesday"
>周三</el-checkbox>
<el-checkbox <el-checkbox true-label="1" false-label="0" v-model="form.thursday"
true-label="1" >周四</el-checkbox
false-label="0" >
v-model="form.thursday"
>周四</el-checkbox>
<el-checkbox <el-checkbox true-label="1" false-label="0" v-model="form.friday"
true-label="1" >周五</el-checkbox
false-label="0" >
v-model="form.friday" <el-checkbox true-label="1" false-label="0" v-model="form.saturday"
>周五</el-checkbox> >周六</el-checkbox
<el-checkbox >
true-label="1"
false-label="0"
v-model="form.saturday"
>周六</el-checkbox>
<el-checkbox <el-checkbox true-label="1" false-label="0" v-model="form.sunday"
true-label="1" >周日</el-checkbox
false-label="0" >
v-model="form.sunday" </Field>
>周日</el-checkbox>
</Field>
<Field :span="20" label="单日服务最大人数设置" prop="maxServicePersonNum" v-model="form.maxServicePersonNum" placeholder="请输入单日服务最大人数设置"/> <Field
<Field :span="20" label="累计服务频次预警" prop="alertServiceNum" v-model="form.alertServiceNum" placeholder="请输入累计服务频次预警"/> :span="20"
<Field :span="20" label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/> label="单日服务最大人数设置"
prop="maxServicePersonNum"
v-model="form.maxServicePersonNum"
placeholder="请输入单日服务最大人数设置"
/>
<Field
:span="20"
label="累计服务频次预警"
prop="alertServiceNum"
v-model="form.alertServiceNum"
placeholder="请输入累计服务频次预警"
/>
<Field
:span="20"
label="备注"
prop="remark"
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
/>
</el-row>
</el-row> <el-divider content-position="center" style="color: #aaa;"
><span style="color: #aaa;"
>预约自动签到配置时间段信息</span
></el-divider
>
<br />
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAddAppointmentConfigTimes"
>添加</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
@click="handleDeleteAppointmentConfigTimes"
>删除</el-button
>
</el-col>
</el-row>
<el-table
:data="appointmentConfigTimesList"
:row-class-name="rowAppointmentConfigTimesIndex"
@selection-change="handleAppointmentConfigTimesSelectionChange"
ref="appointmentConfigTimes"
>
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="序号" align="center" prop="index" width="50" />
<el-table-column label="开始时间" prop="serviceTimeStart">
<template slot-scope="scope">
<el-time-select
placeholder="起始时间"
v-model="scope.row.serviceTimeStart"
value-format="yyyy-MM-dd HH:mm:ss"
format="HH:mm"
:picker-options="{
start: '08:00',
step: '00:30',
end: '18:00',
}"
>
</el-time-select>
<!-- <el-input v-model="scope.row.serviceTimeStart" placeholder="请输入时间段时候开始时间" />-->
</template>
</el-table-column>
<el-table-column label="结束时间" prop="serviceTimeEnd">
<template slot-scope="scope">
<el-time-select
placeholder="结束时间"
value-format="yyyy-MM-dd HH:mm:ss"
v-model="scope.row.serviceTimeEnd"
:picker-options="{
start: '08:00',
step: '00:30',
end: '18:00',
}"
>
</el-time-select>
<!-- <el-input v-model="scope.row.serviceTimeEnd" placeholder="请输入时间段结束时间" />-->
</template>
</el-table-column>
<el-table-column label="备注" prop="remark">
<el-divider content-position="center">预约自动签到配置时间段信息</el-divider> <template slot-scope="scope">
<br/> <el-input v-model="scope.row.remark" placeholder="请输入备注" />
<el-row :gutter="10" class="mb8"> </template>
<el-col :span="1.5"> </el-table-column>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddAppointmentConfigTimes">添加</el-button> </el-table>
</el-col> </el-form>
<el-col :span="1.5"> <div slot="footer" class="dialog-footer">
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteAppointmentConfigTimes">删除</el-button> <el-button
</el-col> type="primary"
</el-row> v-if="pageInfo.type !== 'view'"
@click="submitForm"
<el-table :data="appointmentConfigTimesList" :row-class-name="rowAppointmentConfigTimesIndex" @selection-change="handleAppointmentConfigTimesSelectionChange" ref="appointmentConfigTimes"> >确 定</el-button
<el-table-column type="selection" width="50" align="center" /> >
<el-table-column label="序号" align="center" prop="index" width="50"/> <el-button @click="cancel">取 消</el-button>
<el-table-column label="开始时间" prop="serviceTimeStart"> </div>
<template slot-scope="scope"> </el-dialog>
<el-time-select
placeholder="起始时间"
v-model="scope.row.serviceTimeStart"
value-format="yyyy-MM-dd HH:mm:ss"
format="HH:mm"
:picker-options="{
start: '08:00',
step: '00:30',
end: '18:00'
}">
</el-time-select>
<!-- <el-input v-model="scope.row.serviceTimeStart" placeholder="请输入时间段时候开始时间" />-->
</template>
</el-table-column>
<el-table-column label="结束时间" prop="serviceTimeEnd">
<template slot-scope="scope">
<el-time-select
placeholder="结束时间"
value-format="yyyy-MM-dd HH:mm:ss"
v-model="scope.row.serviceTimeEnd"
:picker-options="{
start: '08:00',
step: '00:30',
end: '18:00'
}">
</el-time-select>
<!-- <el-input v-model="scope.row.serviceTimeEnd" placeholder="请输入时间段结束时间" />-->
</template>
</el-table-column>
<el-table-column label="备注" prop="remark">
<template slot-scope="scope">
<el-input v-model="scope.row.remark" placeholder="请输入备注" />
</template>
</el-table-column>
</el-table>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template> </template>
<script> <script>
import moment from 'moment'; import moment from "moment";
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow"; import dialogShow from "./dialogshow";
export default { export default {
mixins: [form], mixins: [form],
components: { components: {
dialogShow , dialogShow,
}, },
data() { data() {
return { return {
// 子表选中数据 // 子表选中数据
checkedAppointmentConfigTimes: [], checkedAppointmentConfigTimes: [],
// 预约自动签到配置时间段表格数据 // 预约自动签到配置时间段表格数据
appointmentConfigTimesList: [], appointmentConfigTimesList: [],
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 弹出层标题 // 弹出层标题
title: "预约自动签到配置", title: "预约自动签到配置",
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
toString:[ toString: [
"used", "used",
"monday", "monday",
"tuesday", "tuesday",
"wednesday", "wednesday",
"thursday", "thursday",
"friday", "friday",
"saturday", "saturday",
"sunday", "sunday",
], ],
// 表单校验 // 表单校验
rules: { rules: {
createTime: [ createTime: [{ required: true, message: "请选择创建时间" }],
{required: true,message: "请选择创建时间" }, },
], };
} },
};
},
methods: { methods: {
/** 预约自动签到配置时间段序号 */ /** 预约自动签到配置时间段序号 */
rowAppointmentConfigTimesIndex({ row, rowIndex }) { rowAppointmentConfigTimesIndex({ row, rowIndex }) {
row.index = rowIndex + 1; row.index = rowIndex + 1;
}, },
/** 预约自动签到配置时间段添加按钮操作 */ /** 预约自动签到配置时间段添加按钮操作 */
handleAddAppointmentConfigTimes() { handleAddAppointmentConfigTimes() {
let obj = {}; let obj = {};
obj.serviceTimeStart = ""; obj.serviceTimeStart = "";
obj.serviceTimeEnd = ""; obj.serviceTimeEnd = "";
obj.remark = ""; obj.remark = "";
obj.createUserId = ""; obj.createUserId = "";
obj.createTime = ""; obj.createTime = "";
obj.updateUserId = ""; obj.updateUserId = "";
obj.updateTime = ""; obj.updateTime = "";
this.appointmentConfigTimesList.push(obj); this.appointmentConfigTimesList.push(obj);
}, },
/** 预约自动签到配置时间段删除按钮操作 */ /** 预约自动签到配置时间段删除按钮操作 */
handleDeleteAppointmentConfigTimes() { handleDeleteAppointmentConfigTimes() {
if (this.checkedAppointmentConfigTimes.length == 0) { if (this.checkedAppointmentConfigTimes.length == 0) {
this.$alert("请先选择要删除的预约自动签到配置时间段数据", "提示", { confirmButtonText: "确定", }); this.$alert("请先选择要删除的预约自动签到配置时间段数据", "提示", {
} else { confirmButtonText: "确定",
this.appointmentConfigTimesList.splice(this.checkedAppointmentConfigTimes[0].index - 1, 1); });
} } else {
}, this.appointmentConfigTimesList.splice(
/** 单选框选中数据 */ this.checkedAppointmentConfigTimes[0].index - 1,
handleAppointmentConfigTimesSelectionChange(selection) { 1
if (selection.length > 1) { );
this.$refs.appointmentConfigTimes.clearSelection(); }
this.$refs.appointmentConfigTimes.toggleRowSelection(selection.pop()); },
} else { /** 单选框选中数据 */
this.checkedAppointmentConfigTimes = selection; handleAppointmentConfigTimesSelectionChange(selection) {
} if (selection.length > 1) {
}, this.$refs.appointmentConfigTimes.clearSelection();
// 渲染前置处理 this.$refs.appointmentConfigTimes.toggleRowSelection(selection.pop());
beforeRender(data) { } else {
if(data.entity.appointmentConfigTimesList) { this.checkedAppointmentConfigTimes = selection;
data.entity.appointmentConfigTimesList.map(i=>{ }
i.serviceTimeStart = moment(i.serviceTimeStart).format('HH:mm') },
i.serviceTimeEnd = moment(i.serviceTimeEnd).format('HH:mm') // 渲染前置处理
}) beforeRender(data) {
this.appointmentConfigTimesList = data.entity.appointmentConfigTimesList; if (data.entity.appointmentConfigTimesList) {
} data.entity.appointmentConfigTimesList.map((i) => {
return data i.serviceTimeStart = moment(i.serviceTimeStart).format("HH:mm");
}, i.serviceTimeEnd = moment(i.serviceTimeEnd).format("HH:mm");
/** 编辑 */ });
edit(row) { this.appointmentConfigTimesList =
this.reset() data.entity.appointmentConfigTimesList;
this.query = { id: row.id }; }
this.urls.currUrl ="appointment/config/edit"; return data;
this.getData(); },
this.pageInfo.type="edit" /** 编辑 */
this.title = "修改预约自动签到配置"; edit(row) {
}, this.reset();
/** 新增 */ this.query = { id: row.id };
add(row) { this.urls.currUrl = "appointment/config/edit";
this.reset() this.getData();
this.urls.currUrl = "appointment/config/add"; this.pageInfo.type = "edit";
this.getData(); this.title = "修改预约自动签到配置";
this.pageInfo.type="add" },
this.title = "新增预约自动签到配置"; /** 新增 */
}, add(row) {
/** 查看*/ this.reset();
view(row) { this.urls.currUrl = "appointment/config/add";
this.reset() this.getData();
this.query = { id: row.id }; this.pageInfo.type = "add";
this.urls.currUrl ="appointment/config/view"; this.title = "新增预约自动签到配置";
this.getData(); },
this.pageInfo.type="view" /** 查看*/
this.title = "预约自动签到配置详细"; view(row) {
}, this.reset();
/**取消按钮 */ this.query = { id: row.id };
cancel() { this.urls.currUrl = "appointment/config/view";
this.open = false; this.getData();
}, this.pageInfo.type = "view";
/**获取数据后弹框 */ this.title = "预约自动签到配置详细";
afterRender(data) { },
this.open = true; /**取消按钮 */
}, cancel() {
beforeSubmit(data) { this.open = false;
data.appointmentConfigTimesList.map(i=>{ },
const serviceTimeStart = moment(i.serviceTimeStart, 'HH:mm'); /**获取数据后弹框 */
const serviceTimeEnd = moment(i.serviceTimeEnd, 'HH:mm'); afterRender(data) {
i.serviceTimeStart = moment().set({hour: serviceTimeStart.hour(), minute: serviceTimeStart.minute()}).format('yyyy-MM-DD HH:mm:ss'); this.open = true;
i.serviceTimeEnd = moment().set({hour: serviceTimeEnd.hour(), minute: serviceTimeEnd.minute()}).format('yyyy-MM-DD HH:mm:ss'); },
}) beforeSubmit(data) {
return data data.appointmentConfigTimesList.map((i) => {
}, const serviceTimeStart = moment(i.serviceTimeStart, "HH:mm");
const serviceTimeEnd = moment(i.serviceTimeEnd, "HH:mm");
i.serviceTimeStart = moment()
.set({
hour: serviceTimeStart.hour(),
minute: serviceTimeStart.minute(),
})
.format("yyyy-MM-DD HH:mm:ss");
i.serviceTimeEnd = moment()
.set({ hour: serviceTimeEnd.hour(), minute: serviceTimeEnd.minute() })
.format("yyyy-MM-DD HH:mm:ss");
});
return data;
},
afterSubmit(data) { afterSubmit(data) {
this.open = false; this.open = false;
this.$emit("ok"); this.$emit("ok");
}, },
// 表单重置 // 表单重置
reset() { reset() {
this.form = { this.form = {
siteId : null, siteId: null,
siteName : "", siteName: "",
used : 0, used: 0,
monday : 0, monday: 0,
tuesday : 0, tuesday: 0,
wednesday : 0, wednesday: 0,
thursday : 0, thursday: 0,
friday : 0, friday: 0,
saturday : 0, saturday: 0,
sunday : 0, sunday: 0,
maxServicePersonNum : 0, maxServicePersonNum: 0,
alertServiceNum : 0, alertServiceNum: 0,
remark : "", remark: "",
}; };
this.resetForm("form"); this.resetForm("form");
}, },
resetForm(refName) { resetForm(refName) {
if (this.$refs[refName]) { if (this.$refs[refName]) {
this.$refs[refName].resetFields(); this.$refs[refName].resetFields();
} }
}, },
}, },
}; };
</script> </script>
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable>
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<dialog-show ref="dialogform" @ok="getData"/>
</div> </div>
</template> </template>
...@@ -16,29 +14,26 @@ import table from "@/assets/mixins/table"; ...@@ -16,29 +14,26 @@ import table from "@/assets/mixins/table";
export default { export default {
name: "AppointmentConfigList", name: "AppointmentConfigList",
components: { components: {
dialogShow dialogShow,
}, },
mixins: [table], mixins: [table],
created() { created() {},
},
methods: { methods: {
renderTable(tableData) { renderTable(tableData) {
return ( return (
<el-table stripe data={tableData} class="total-table"> <el-table stripe data={tableData} class="total-table">
{this.columnSet.map((item) => this.renderTableColumn(item))} {this.columnSet.map((item) => this.renderTableColumn(item))}
</el-table> </el-table>
); );
}, },
renderTableColumn(options) { renderTableColumn(options) {
return ( return (
<el-table-column <el-table-column
prop={options.prop} prop={options.prop}
label={options.label} label={options.label}
width={options.width} width={options.width}
formatter={options.formatter} formatter={options.formatter}
> ></el-table-column>
</el-table-column>
); );
}, },
/** 重写新增方法 */ /** 重写新增方法 */
...@@ -53,41 +48,52 @@ export default { ...@@ -53,41 +48,52 @@ export default {
toView(row) { toView(row) {
this.$refs.dialogform.view(row); this.$refs.dialogform.view(row);
}, },
}, },
data() { data() {
return { return {
/** 子表列元素 */ /** 子表列元素 */
columnSet: [ columnSet: [
{prop: "serviceTimeStart", label: "服务开始时间", width: 200, formatter: this.formatterDate}, {
{prop: "serviceTimeEnd", label: "服务结束时间", width: 200, formatter: this.formatterDate}, prop: "serviceTimeStart",
{prop: "remark", label: "备注", width: 100}, label: "服务开始时间",
width: 200,
formatter: this.formatterDate,
align: "center",
},
{
prop: "serviceTimeEnd",
label: "服务结束时间",
width: 200,
formatter: this.formatterDate,
align: "center",
},
{ prop: "remark", label: "备注", width: 200, align: "center" },
], ],
config: { config: {
search: [], search: [],
columns: [ columns: [
{type: "selection", width: 60}, { type: "selection", width: 60 },
{type: "index", label: "序号", width: 50}, { type: "index", label: "序号", width: 50 },
{label: "启用", prop: "used", formatter: this.formatter}, { label: "启用", prop: "used", formatter: this.formatter },
{label: "周一", prop: "monday", formatter: this.formatter}, { label: "周一", prop: "monday", formatter: this.formatter },
{label: "周二", prop: "tuesday", formatter: this.formatter}, { label: "周二", prop: "tuesday", formatter: this.formatter },
{label: "周三", prop: "wednesday", formatter: this.formatter}, { label: "周三", prop: "wednesday", formatter: this.formatter },
{label: "周四", prop: "thursday", formatter: this.formatter}, { label: "周四", prop: "thursday", formatter: this.formatter },
{label: "周五", prop: "friday", formatter: this.formatter}, { label: "周五", prop: "friday", formatter: this.formatter },
{label: "周六", prop: "saturday", formatter: this.formatter}, { label: "周六", prop: "saturday", formatter: this.formatter },
{label: "周日", prop: "sunday", formatter: this.formatter}, { label: "周日", prop: "sunday", formatter: this.formatter },
{label: "最大人数", prop: "maxServicePersonNum"}, { label: "最大人数", prop: "maxServicePersonNum" },
{label: "累计预警", prop: "alertServiceNum"}, { label: "累计预警", prop: "alertServiceNum" },
{ {
label: "配置时间段", label: "配置时间段",
...@@ -98,25 +104,33 @@ export default { ...@@ -98,25 +104,33 @@ export default {
return pre + Number(cur.width); return pre + Number(cur.width);
}, 50); }, 50);
return ( return (
<el-popover placement="right" width={widthsize} trigger="click"> <el-popover placement="right" width={widthsize} trigger="click">
{this.renderTable(row.appointmentConfigTimesList)} {this.renderTable(row.appointmentConfigTimesList)}
<el-button type="text" slot="reference">详细</el-button> <el-button type="text" slot="reference">
</el-popover> 详细
</el-button>
</el-popover>
); );
}, },
}, },
{ {
label: "操作", label: "操作",
width: 240, width: 240,
formatter: row => { formatter: (row) => {
return ( return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel}/> <table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
); );
} },
} },
] ],
} },
}; };
} },
}; };
</script> </script>
<template> <template>
<div> <div>
<!-- 抽屉框表单 --> <!-- 抽屉框表单 -->
<el-drawer <el-drawer
:title="title" :title="title"
:visible.sync="open" :visible.sync="open"
:direction="direction" :direction="direction"
size="90%"> size="90%"
<div> >
<div class="warning">系统检测以下人员(20人)识别频次过高:</div> <div style="height: 100%;">
<div class="drawer_box"> <div class="warning">
<div class="drawer_box_left"> <i class="el-icon-s-opportunity"></i
<el-table >系统检测以下人员(20人)识别频次过高:
ref="singleTable"
:data="tableDataL"
highlight-current-row
@current-change="handleCurrentChange"
style="width: 100%">
<el-table-column
type="index"
label="序号"
width="50">
</el-table-column>
<el-table-column
property="name"
label="姓名"
width="80">
</el-table-column>
<el-table-column
property="contact"
label="联系电话">
</el-table-column>
<el-table-column
property="identifyNum"
label="识别频次"
width="80">
</el-table-column>
<el-table-column
property="lastIdentifyTime"
label="最近识别时间"
:formatter= "this.formatterDate">
</el-table-column>
</el-table>
</div>
<div class="drawer_box_right">
<div class="recognition">
<div>
<div class="recognition_name">{{ singleSelect.name }}</div>
<div class="recognition_desc">联系电话:{{ singleSelect.contact }} | 身份证号:{{ singleSelect.idNumber }} | 识别频次:{{ singleSelect.identifyNum }}</div>
</div>
<div>
<el-button type="danger" @click="show= true">服务约束</el-button>
</div>
</div>
<el-table
:data="tableDataR"
style="width: 100%">
<el-table-column
type="index"
label="序号"
width="50">
</el-table-column>
<el-table-column
property="monitorDeviceId"
label="监测时间"
:formatter= "this.formatterDate">
</el-table-column>
<el-table-column
property="monitorDevice"
label="监测设备">
</el-table-column>
<el-table-column
property="reservationService"
label="预约业务">
</el-table-column>
<el-table-column
property="reservationNumber"
label="预约编号">
</el-table-column>
<el-table-column
property="checkInMethod"
label="签到方式">
</el-table-column>
<el-table-column
property="monitorCertificate"
label="监测凭证">
<template slot-scope="scope">
<img :src="scope.row.monitorCertificate" alt="图片">
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="changeSize"
@current-change="changePage"
:current-page="this.params.page"
:page-size="this.params.size"
layout="total, prev, pager, next"
:total="this.total">
</el-pagination>
</div>
</div>
</div> </div>
</el-drawer> <div class="drawer_box">
<el-dialog title="限制取号" :visible.sync="show" width="31.25rem" append-to-body> <div class="drawer_box_left">
<el-form ref="form" :model="restrict" :label-position="right" label-width="7.5rem"> <el-table
<el-form-item label="姓名:">{{ restrict.name }}</el-form-item> ref="singleTable"
<el-form-item label="联系电话:">{{ restrict.contact }}</el-form-item> :data="tableDataL"
<el-form-item label="身份证号:">{{ restrict.idNumber }}</el-form-item> highlight-current-row
<el-form-item label="识别频次:">{{ restrict.identifyNum }}</el-form-item> @current-change="handleCurrentChange"
<el-form-item label="限制取号:"> style="width: 100%"
<el-input placeholder="请输入内容" v-model="restrict.times"> border
<template slot="append">次 / 天</template> >
</el-input> <el-table-column
</el-form-item> type="index"
</el-form> label="序号"
<div slot="footer" class="dialog-footer"> width="50"
<el-button type="primary" @click="show= false">确 定</el-button> align="center"
<el-button @click="show= false">取 消</el-button> >
</el-table-column>
<el-table-column
property="name"
label="姓名"
width="80"
align="center"
>
</el-table-column>
<el-table-column
property="contact"
label="联系电话"
align="center"
>
</el-table-column>
<el-table-column
property="identifyNum"
label="识别频次"
width="80"
align="center"
>
</el-table-column>
<el-table-column
property="lastIdentifyTime"
label="最近识别时间"
:formatter="this.formatterDate"
align="center"
>
</el-table-column>
</el-table>
</div>
<div class="drawer_box_right">
<div class="recognition">
<div>
<div class="recognition_name">{{ singleSelect.name }}</div>
<div class="recognition_desc">
联系电话:{{ singleSelect.contact }} <br />
身份证号:{{ singleSelect.idNumber }} <br />
识别频次:{{ singleSelect.identifyNum }}
</div>
</div>
<div>
<el-button
type="danger"
@click="show = true"
style="width: 120px;height: 48px;line-height: 24px;font-size: 16px; font-weight: 600;"
>服务约束</el-button
>
</div>
</div> </div>
</el-dialog> <el-table :data="tableDataR" style="width: 100%" border>
</div> <el-table-column
type="index"
label="序号"
width="50"
align="center"
>
</el-table-column>
<el-table-column
property="monitorDeviceId"
label="监测时间"
:formatter="this.formatterDate"
align="center"
>
</el-table-column>
<el-table-column
property="monitorDevice"
label="监测设备"
align="center"
>
</el-table-column>
<el-table-column
property="reservationService"
label="预约业务"
align="center"
>
</el-table-column>
<el-table-column
property="reservationNumber"
label="预约编号"
align="center"
>
</el-table-column>
<el-table-column
property="checkInMethod"
label="签到方式"
align="center"
>
</el-table-column>
<el-table-column
property="monitorCertificate"
label="监测凭证"
align="center"
>
<template slot-scope="scope">
<img :src="scope.row.monitorCertificate" alt="图片" />
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="changeSize"
@current-change="changePage"
:current-page="this.params.page"
:page-size="this.params.size"
layout="total, prev, pager, next"
:total="this.total"
style="text-align: right;"
>
</el-pagination>
</div>
</div>
</div>
</el-drawer>
<el-dialog
title="限制取号"
:visible.sync="show"
width="31.25rem"
append-to-body
>
<el-form
ref="form"
:model="restrict"
:label-position="right"
label-width="7.5rem"
>
<el-form-item label="姓名:">{{ restrict.name }}</el-form-item>
<el-form-item label="联系电话:">{{ restrict.contact }}</el-form-item>
<el-form-item label="身份证号:">{{ restrict.idNumber }}</el-form-item>
<el-form-item label="识别频次:">{{
restrict.identifyNum
}}</el-form-item>
<el-form-item label="限制取号:">
<el-input placeholder="请输入内容" v-model="restrict.times">
<template slot="append">次 / 天</template>
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="show = false">确 定</el-button>
<el-button @click="show = false">取 消</el-button>
</div>
</el-dialog>
</div>
</template> </template>
<script> <script>
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "dataDrawerShow", name: "dataDrawerShow",
components: { components: {},
}, mixins: [table],
mixins: [table], created() {},
created() { data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "监测预警",
// 是否显示弹出层
open: false,
// 限制取号
show: false,
direction: "rtl",
// 左侧表格数据
tableDataL: [],
// 左侧被选中的数据
singleSelect: {},
// 右侧表格数据
tableDataR: [],
params: {
size: 10,
page: 1,
},
total: 0,
restrict: {
name: "",
contact: "",
idNumber: "",
identifyNum: "",
times: "",
},
};
},
methods: {
view(row) {
this.open = true;
this.getAllMonitor();
}, },
data() { async getAllMonitor() {
return { const res = await this.$post("monitor/alarm/list");
// 遮罩层 if (res && res.code == 1) {
loading: true, this.tableDataL = res.data.data;
// 弹出层标题 console.log(res);
title: "监测预警", this.total = res.data.total;
// 是否显示弹出层 this.params.page = res.data.current_page;
open: false, this.params.size = res.data.per_page;
// 限制取号 this.$refs.singleTable.setCurrentRow(this.tableDataL[0]); // 默认选中第一条
show: false, }
direction:"rtl",
// 左侧表格数据
tableDataL:[],
// 左侧被选中的数据
singleSelect: {},
// 右侧表格数据
tableDataR: [],
params: {
size: 10,
page: 1
},
total: 0,
restrict:{
name: '',
contact: '',
idNumber: '',
identifyNum: '',
times: ''
}
}
}, },
async handleCurrentChange(row) {
methods: { this.singleSelect = row;
view(row) { this.restrict = { ...row };
this.open=true const res = await this.$post("monitor/alarm/record/list");
this.getAllMonitor() if (res && res.code == 1) {
}, this.tableDataR = res.data.data;
async getAllMonitor(){ }
const res = await this.$post('monitor/alarm/list') },
if(res && res.code == 1){ // 监听size改变
this.tableDataL= res.data.data changeSize(newSize) {
console.log(res) this.size = newSize;
this.total= res.data.total },
this.params.page= res.data.current_page // 页码改变
this.params.size= res.data.per_page changePage(newPage) {
this.$refs.singleTable.setCurrentRow(this.tableDataL[0]) // 默认选中第一条 this.page = newPage;
}
},
async handleCurrentChange(row){
this.singleSelect= row
this.restrict= {...row}
const res = await this.$post('monitor/alarm/record/list')
if(res && res.code == 1){
this.tableDataR= res.data.data
}
},
// 监听size改变
changeSize (newSize) {
this.size = newSize
},
// 页码改变
changePage (newPage) {
this.page = newPage
},
}, },
},
}; };
</script> </script>
<style scope> <style scope>
.warning{ .warning {
padding: 0 .625rem; padding: 0 0.625rem;
height: 1.875rem; height: 3rem;
line-height: 1.875rem; line-height: 3rem;
font-size: 1.25rem; font-size: 1.25rem;
color: #F94545; color: #f94545;
padding-left: 20px;
background: rgba(249, 69, 69, 0.1);
} }
.drawer_box{ .drawer_box {
display: flex; display: flex;
height: 90%;
} }
.drawer_box_left{ .drawer_box_left {
width: 37.5rem; height: 100%;
padding: .625rem; width: 37.5rem;
padding: 0.625rem;
border-right: 1px solid #f0f0f0;
} }
.drawer_box_right{ .drawer_box_right {
flex: 1; flex: 1;
padding: .625rem; padding: 0.625rem;
} }
.recognition{ .recognition {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
margin-bottom: .625rem; margin-bottom: 0.625rem;
} }
.recognition_name{ .recognition_name {
font-size: 1.25rem; font-size: 1.25rem;
color: #333; color: #333;
margin-bottom: .3125rem; margin-bottom: 0.3125rem;
} }
.recognition_desc{ .recognition_desc {
font-size: .875rem; font-size: 0.875rem;
color: #666; color: #666;
} }
</style> </style>
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
<LayoutTable notAdd notDel :data="tableData" :config="tableConfig"> <LayoutTable notAdd notDel :data="tableData" :config="tableConfig">
<el-button <el-button
slot="table-head-left2" slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets" icon="el-icon-tickets"
size="mini" size="mini"
type="danger" type="danger"
......
<template> <template>
<!-- 弹出框表单 --> <!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body> <el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="200px"> <el-form ref="form" :model="form" :rules="rules" label-width="200px">
<el-row> <el-row style="margin-bottom: 20px;">
<!-- <!--
<Field :span="20" label="是否启用该服务" prop="used" v-model="form.used" type="radio" :enumData="dict.used" placeholder="请选择是否启用该服务"/> <Field :span="20" label="是否启用该服务" prop="used" v-model="form.used" type="radio" :enumData="dict.used" placeholder="请选择是否启用该服务"/>
--> -->
<Field :span="20" label="启用该服务"> <Field :span="20" label="启用该服务">
<el-switch <el-switch
v-model="form.used" v-model="form.used"
active-color="#13ce66" active-color="#13ce66"
inactive-color="#ff4949" inactive-color="#ff4949"
active-value="1" active-value="1"
inactive-value="0"> inactive-value="0"
</el-switch> >
</Field> </el-switch>
</Field>
<Field :span="20" label="监测周期配置">
<el-checkbox true-label="1" false-label="0" v-model="form.monday"
>周一</el-checkbox
>
<Field :span="20" label="监测周期配置"> <el-checkbox true-label="1" false-label="0" v-model="form.tuesday"
<el-checkbox >周二</el-checkbox
true-label="1" >
false-label="0"
v-model="form.monday"
>周一</el-checkbox>
<el-checkbox <el-checkbox true-label="1" false-label="0" v-model="form.wednesday"
true-label="1" >周三</el-checkbox
false-label="0" >
v-model="form.tuesday"
>周二</el-checkbox>
<el-checkbox <el-checkbox true-label="1" false-label="0" v-model="form.thursday"
true-label="1" >周四</el-checkbox
false-label="0" >
v-model="form.wednesday"
>周三</el-checkbox>
<el-checkbox <el-checkbox true-label="1" false-label="0" v-model="form.friday"
true-label="1" >周五</el-checkbox
false-label="0" >
v-model="form.thursday" <el-checkbox true-label="1" false-label="0" v-model="form.saturday"
>周四</el-checkbox> >周六</el-checkbox
>
<el-checkbox <el-checkbox true-label="1" false-label="0" v-model="form.sunday"
true-label="1" >周日</el-checkbox
false-label="0" >
v-model="form.friday" </Field>
>周五</el-checkbox> <Field
<el-checkbox :span="20"
true-label="1" label="单日服务最大人数设置"
false-label="0" prop="maxServicePersonNum"
v-model="form.saturday" v-model="form.maxServicePersonNum"
>周六</el-checkbox> placeholder="请输入单日服务最大人数设置"
/>
<Field
:span="20"
label="服务阈值设置,单位分钟"
prop="serviceThreshold"
v-model="form.serviceThreshold"
placeholder="请输入服务阈值设置,单位分钟"
/>
<Field
:span="20"
label="累计服务频次预警"
prop="alertServiceNum"
v-model="form.alertServiceNum"
placeholder="请输入累计服务频次预警"
/>
<Field
:span="20"
label="消息发送对象"
prop="msgRecipients"
v-model="form.msgRecipients"
type="checkbox"
:enumData="dict.msgRecipients"
/>
<Field
:span="20"
label="备注"
prop="remark"
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
/>
</el-row>
<el-divider content-position="center" style="color: #aaa;"
><span style="color: #aaa;">主动关怀时间段信息</span></el-divider
>
<br />
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAddCareConfigTimes"
>添加</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
@click="handleDeleteCareConfigTimes"
>删除</el-button
>
</el-col>
</el-row>
<el-checkbox <el-table
true-label="1" :data="careConfigTimesList"
false-label="0" :row-class-name="rowCareConfigTimesIndex"
v-model="form.sunday" @selection-change="handleCareConfigTimesSelectionChange"
>周日</el-checkbox> ref="careConfigTimes"
</Field> >
<Field :span="20" label="单日服务最大人数设置" prop="maxServicePersonNum" v-model="form.maxServicePersonNum" placeholder="请输入单日服务最大人数设置"/> <el-table-column type="selection" width="50" align="center" />
<Field :span="20" label="服务阈值设置,单位分钟" prop="serviceThreshold" v-model="form.serviceThreshold" placeholder="请输入服务阈值设置,单位分钟"/> <el-table-column label="序号" align="center" prop="index" width="50" />
<Field :span="20" label="累计服务频次预警" prop="alertServiceNum" v-model="form.alertServiceNum" placeholder="请输入累计服务频次预警"/> <el-table-column label="开始时间" prop="serviceTimeStart">
<Field :span="20" label="消息发送对象" prop="msgRecipients" v-model="form.msgRecipients" type="checkbox" :enumData="dict.msgRecipients" /> <template slot-scope="scope">
<Field :span="20" label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/> <el-time-select
placeholder="起始时间"
</el-row> v-model="scope.row.serviceTimeStart"
<el-divider content-position="center">主动关怀时间段信息</el-divider> value-format="yyyy-MM-dd HH:mm:ss"
<br/> format="HH:mm"
<el-row :gutter="10" class="mb8"> :picker-options="{
<el-col :span="1.5"> start: '08:00',
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddCareConfigTimes">添加</el-button> step: '00:30',
</el-col> end: '18:00',
<el-col :span="1.5"> }"
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteCareConfigTimes">删除</el-button> >
</el-col> </el-time-select>
</el-row> <!-- <el-input v-model="scope.row.serviceTimeStart" placeholder="请输入时间段时候开始时间" />-->
</template>
<el-table :data="careConfigTimesList" :row-class-name="rowCareConfigTimesIndex" @selection-change="handleCareConfigTimesSelectionChange" ref="careConfigTimes"> </el-table-column>
<el-table-column type="selection" width="50" align="center" /> <el-table-column label="结束时间" prop="serviceTimeEnd">
<el-table-column label="序号" align="center" prop="index" width="50"/> <template slot-scope="scope">
<el-table-column label="开始时间" prop="serviceTimeStart"> <el-time-select
<template slot-scope="scope"> placeholder="结束时间"
value-format="yyyy-MM-dd HH:mm:ss"
<el-time-select v-model="scope.row.serviceTimeEnd"
placeholder="起始时间" :picker-options="{
v-model="scope.row.serviceTimeStart" start: '08:00',
value-format="yyyy-MM-dd HH:mm:ss" step: '00:30',
format="HH:mm" end: '18:00',
:picker-options="{ }"
start: '08:00', >
step: '00:30', </el-time-select>
end: '18:00' </template>
}"> </el-table-column>
</el-time-select> <el-table-column label="备注" prop="remark">
<!-- <el-input v-model="scope.row.serviceTimeStart" placeholder="请输入时间段时候开始时间" />--> <template slot-scope="scope">
</template> <el-input v-model="scope.row.remark" placeholder="请输入备注" />
</el-table-column> </template>
<el-table-column label="结束时间" prop="serviceTimeEnd"> </el-table-column>
<template slot-scope="scope"> </el-table>
<el-time-select </el-form>
placeholder="结束时间" <div slot="footer" class="dialog-footer">
value-format="yyyy-MM-dd HH:mm:ss" <el-button
v-model="scope.row.serviceTimeEnd" type="primary"
:picker-options="{ v-if="pageInfo.type !== 'view'"
start: '08:00', @click="submitForm"
step: '00:30', >确 定</el-button
end: '18:00' >
}"> <el-button @click="cancel">取 消</el-button>
</el-time-select> </div>
</template> </el-dialog>
</el-table-column>
<el-table-column label="备注" prop="remark">
<template slot-scope="scope">
<el-input v-model="scope.row.remark" placeholder="请输入备注" />
</template>
</el-table-column>
</el-table>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template> </template>
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow"; import dialogShow from "./dialogshow";
import moment from "moment/moment"; import moment from "moment/moment";
export default { export default {
mixins: [form], mixins: [form],
components: { components: {
dialogShow , dialogShow,
}, },
data() { data() {
return { return {
// 子表选中数据 // 子表选中数据
checkedCareConfigTimes: [], checkedCareConfigTimes: [],
// 主动关怀时间段表格数据 // 主动关怀时间段表格数据
careConfigTimesList: [], careConfigTimesList: [],
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 弹出层标题 // 弹出层标题
title: "主动关怀配置", title: "主动关怀配置",
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
toArrays: ["msgRecipients"], toArrays: ["msgRecipients"],
toString:[ toString: [
"used", "used",
"monday", "monday",
"tuesday", "tuesday",
"wednesday", "wednesday",
"thursday", "thursday",
"friday", "friday",
"saturday", "saturday",
"sunday", "sunday",
], ],
// 表单校验 // 表单校验
rules: { rules: {
createTime: [{ required: true, message: "请选择创建时间" }],
createTime: [ },
{required: true,message: "请选择创建时间" }, };
], },
}
};
},
methods: { methods: {
/** 主动关怀时间段序号 */ /** 主动关怀时间段序号 */
rowCareConfigTimesIndex({ row, rowIndex }) { rowCareConfigTimesIndex({ row, rowIndex }) {
row.index = rowIndex + 1; row.index = rowIndex + 1;
}, },
/** 主动关怀时间段添加按钮操作 */ /** 主动关怀时间段添加按钮操作 */
handleAddCareConfigTimes() { handleAddCareConfigTimes() {
let obj = {}; let obj = {};
obj.serviceTimeStart = ""; obj.serviceTimeStart = "";
obj.serviceTimeEnd = ""; obj.serviceTimeEnd = "";
obj.remark = ""; obj.remark = "";
obj.createUserId = ""; obj.createUserId = "";
obj.createTime = ""; obj.createTime = "";
obj.updateUserId = ""; obj.updateUserId = "";
obj.updateTime = ""; obj.updateTime = "";
this.careConfigTimesList.push(obj); this.careConfigTimesList.push(obj);
}, },
/** 主动关怀时间段删除按钮操作 */ /** 主动关怀时间段删除按钮操作 */
handleDeleteCareConfigTimes() { handleDeleteCareConfigTimes() {
if (this.checkedCareConfigTimes.length == 0) { if (this.checkedCareConfigTimes.length == 0) {
this.$alert("请先选择要删除的主动关怀时间段数据", "提示", { confirmButtonText: "确定", }); this.$alert("请先选择要删除的主动关怀时间段数据", "提示", {
} else { confirmButtonText: "确定",
this.careConfigTimesList.splice(this.checkedCareConfigTimes[0].index - 1, 1); });
} } else {
}, this.careConfigTimesList.splice(
/** 单选框选中数据 */ this.checkedCareConfigTimes[0].index - 1,
handleCareConfigTimesSelectionChange(selection) { 1
if (selection.length > 1) { );
this.$refs.careConfigTimes.clearSelection(); }
this.$refs.careConfigTimes.toggleRowSelection(selection.pop()); },
} else { /** 单选框选中数据 */
this.checkedCareConfigTimes = selection; handleCareConfigTimesSelectionChange(selection) {
} if (selection.length > 1) {
}, this.$refs.careConfigTimes.clearSelection();
// 渲染前置处理 this.$refs.careConfigTimes.toggleRowSelection(selection.pop());
beforeRender(data) { } else {
if(data.entity.careConfigTimesList) { this.checkedCareConfigTimes = selection;
data.entity.careConfigTimesList.map(i=>{ }
i.serviceTimeStart = moment(i.serviceTimeStart).format('HH:mm') },
i.serviceTimeEnd = moment(i.serviceTimeEnd).format('HH:mm') // 渲染前置处理
}) beforeRender(data) {
this.careConfigTimesList = data.entity.careConfigTimesList; if (data.entity.careConfigTimesList) {
} data.entity.careConfigTimesList.map((i) => {
return data i.serviceTimeStart = moment(i.serviceTimeStart).format("HH:mm");
}, i.serviceTimeEnd = moment(i.serviceTimeEnd).format("HH:mm");
/** 编辑 */ });
edit(row) { this.careConfigTimesList = data.entity.careConfigTimesList;
this.reset() }
this.query = { id: row.id }; return data;
this.urls.currUrl ="care/config/edit"; },
this.getData(); /** 编辑 */
this.pageInfo.type="edit" edit(row) {
this.title = "修改主动关怀配置"; this.reset();
}, this.query = { id: row.id };
/** 新增 */ this.urls.currUrl = "care/config/edit";
add(row) { this.getData();
this.reset() this.pageInfo.type = "edit";
this.urls.currUrl = "care/config/add"; this.title = "修改主动关怀配置";
this.getData(); },
this.pageInfo.type="add" /** 新增 */
this.title = "新增主动关怀配置"; add(row) {
}, this.reset();
/** 查看*/ this.urls.currUrl = "care/config/add";
view(row) { this.getData();
this.reset() this.pageInfo.type = "add";
this.query = { id: row.id }; this.title = "新增主动关怀配置";
this.urls.currUrl ="care/config/view"; },
this.getData(); /** 查看*/
this.pageInfo.type="view" view(row) {
this.title = "主动关怀配置详细"; this.reset();
}, this.query = { id: row.id };
/**取消按钮 */ this.urls.currUrl = "care/config/view";
cancel() { this.getData();
this.open = false; this.pageInfo.type = "view";
}, this.title = "主动关怀配置详细";
/**获取数据后弹框 */ },
afterRender(data) { /**取消按钮 */
this.open = true; cancel() {
}, this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
beforeSubmit(data) { beforeSubmit(data) {
data.careConfigTimesList.map(i=>{ data.careConfigTimesList.map((i) => {
const serviceTimeStart = moment(i.serviceTimeStart, 'HH:mm'); const serviceTimeStart = moment(i.serviceTimeStart, "HH:mm");
const serviceTimeEnd = moment(i.serviceTimeEnd, 'HH:mm'); const serviceTimeEnd = moment(i.serviceTimeEnd, "HH:mm");
i.serviceTimeStart = moment().set({hour: serviceTimeStart.hour(), minute: serviceTimeStart.minute()}).format('yyyy-MM-DD HH:mm:ss'); i.serviceTimeStart = moment()
i.serviceTimeEnd = moment().set({hour: serviceTimeEnd.hour(), minute: serviceTimeEnd.minute()}).format('yyyy-MM-DD HH:mm:ss'); .set({
}) hour: serviceTimeStart.hour(),
minute: serviceTimeStart.minute(),
})
.format("yyyy-MM-DD HH:mm:ss");
i.serviceTimeEnd = moment()
.set({ hour: serviceTimeEnd.hour(), minute: serviceTimeEnd.minute() })
.format("yyyy-MM-DD HH:mm:ss");
});
if (Array.isArray(data["msgRecipients"])) { if (Array.isArray(data["msgRecipients"])) {
data.msgRecipients = data.msgRecipients.filter(Boolean).join(); data.msgRecipients = data.msgRecipients.filter(Boolean).join();
} }
return data return data;
}, },
afterSubmit(data) { afterSubmit(data) {
this.open = false; this.open = false;
this.$emit("ok"); this.$emit("ok");
}, },
// 表单重置 // 表单重置
reset() { reset() {
this.form = { this.form = {
siteId : null, siteId: null,
siteName : "", siteName: "",
used : 0, used: 0,
monday : 0, monday: 0,
tuesday : 0, tuesday: 0,
wednesday : 0, wednesday: 0,
thursday : 0, thursday: 0,
friday : 0, friday: 0,
saturday : 0, saturday: 0,
sunday : 0, sunday: 0,
maxServicePersonNum : 0, maxServicePersonNum: 0,
serviceThreshold : 0, serviceThreshold: 0,
alertServiceNum : null, alertServiceNum: null,
msgRecipients : "", msgRecipients: "",
remark : "", remark: "",
}; };
this.resetForm("form"); this.resetForm("form");
}, },
resetForm(refName) { resetForm(refName) {
if (this.$refs[refName]) { if (this.$refs[refName]) {
this.$refs[refName].resetFields(); this.$refs[refName].resetFields();
} }
}, },
}, },
}; };
</script> </script>
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
columnSet:[ columnSet:[
{prop:"serviceTimeStart",label:"服务开始时间",width:200,formatter: this.formatterDate}, {prop:"serviceTimeStart",label:"服务开始时间",width:200,formatter: this.formatterDate},
{prop:"serviceTimeEnd",label:"服务结束时间",width:200,formatter: this.formatterDate}, {prop:"serviceTimeEnd",label:"服务结束时间",width:200,formatter: this.formatterDate},
{prop:"remark",label:"备注",width:100}, {prop:"remark",label:"备注",width:200},
], ],
config: { config: {
search: [ search: [
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" :config="tableConfig">
<el-button <el-button
slot="table-head-left2" slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets" icon="el-icon-tickets"
size="mini" size="mini"
@click="handleImport" @click="handleImport"
......
<template> <template>
<div> <div>
<!-- 抽屉框表单 --> <!-- 抽屉框表单 -->
<el-drawer <el-drawer
:title="title" :title="title"
:visible.sync="open" :visible.sync="open"
:direction="direction" :direction="direction"
size="95%"> size="95%"
<div> >
<div class="warning">系统检测以下人员(20人)识别频次过高:</div> <div style="height: 100%;">
<div class="drawer_box"> <div class="warning">
<div class="drawer_box_left"> <i class="el-icon-s-opportunity"></i>
<el-table 系统检测以下人员(20人)识别频次过高:
ref="singleTable"
:data="tableDataL"
highlight-current-row
@current-change="handleCurrentChange"
style="width: 100%">
<el-table-column
type="index"
label="序号"
width="50">
</el-table-column>
<el-table-column
property="name"
label="姓名"
width="80">
</el-table-column>
<el-table-column
property="contact"
label="联系电话">
</el-table-column>
<el-table-column
property="identifyNum"
label="识别频次"
width="80">
</el-table-column>
<el-table-column
property="lastIdentifyTime"
label="最近识别时间"
:formatter= "this.formatterDate">
</el-table-column>
</el-table>
</div>
<div class="drawer_box_right">
<div class="recognition">
<div>
<div class="recognition_name">{{ singleSelect.name }}</div>
<div class="recognition_desc">联系电话:{{ singleSelect.contact }} | 身份证号:{{ singleSelect.idNumber }} | 识别频次:{{ singleSelect.identifyNum }}</div>
</div>
<div>
<el-button type="primary" @click="show= true">限制取号</el-button>
</div>
</div>
<el-table
:data="tableDataR"
style="width: 100%">
<el-table-column
type="index"
label="序号"
width="50">
</el-table-column>
<el-table-column
property="monitorTime"
label="监测时间"
:formatter= "this.formatterDate">
</el-table-column>
<el-table-column
property="monitorDevice"
label="监测设备">
</el-table-column>
<el-table-column
property="reservationService"
label="预约业务">
</el-table-column>
<el-table-column
property="reservationNumber"
label="预约编号">
</el-table-column>
<el-table-column
property="checkInMethod"
label="签到方式">
</el-table-column>
<el-table-column
property="monitorCertificate"
label="监测凭证">
<template slot-scope="scope">
<img style="width: 70px; height: 100px" :src="scope.row.monitorCertificate" alt="图片">
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="changeSize"
@current-change="changePage"
:current-page="this.params.page"
:page-size="this.params.size"
layout="total, prev, pager, next"
:total="this.total">
</el-pagination>
</div>
</div>
</div> </div>
</el-drawer> <div class="drawer_box">
<el-dialog title="限制取号" :visible.sync="show" width="31.25rem" append-to-body> <div class="drawer_box_left">
<el-form ref="form" :model="restrict" :label-position="right" label-width="7.5rem"> <el-table
<el-form-item label="姓名:">{{ restrict.name }}</el-form-item> ref="singleTable"
<el-form-item label="联系电话:">{{ restrict.contact }}</el-form-item> :data="tableDataL"
<el-form-item label="身份证号:">{{ restrict.idNumber }}</el-form-item> highlight-current-row
<el-form-item label="识别频次:">{{ restrict.identifyNum }}</el-form-item> @current-change="handleCurrentChange"
<el-form-item label="限制取号:"> style="width: 100%"
<el-input placeholder="请输入内容" v-model="restrict.times"> border
<template slot="append">次 / 天</template> >
</el-input> <el-table-column
</el-form-item> type="index"
</el-form> label="序号"
<div slot="footer" class="dialog-footer"> width="50"
<el-button type="primary" @click="show= false">确 定</el-button> align="center"
<el-button @click="show= false">取 消</el-button> >
</el-table-column>
<el-table-column
property="name"
label="姓名"
width="80"
align="center"
>
</el-table-column>
<el-table-column
property="contact"
label="联系电话"
align="center"
>
</el-table-column>
<el-table-column
property="identifyNum"
label="识别频次"
width="80"
align="center"
>
</el-table-column>
<el-table-column
property="lastIdentifyTime"
label="最近识别时间"
:formatter="this.formatterDate"
align="center"
>
</el-table-column>
</el-table>
</div>
<div class="drawer_box_right">
<div class="recognition">
<div>
<div class="recognition_name">{{ singleSelect.name }}</div>
<div class="recognition_desc">
联系电话:{{ singleSelect.contact }} <br />
身份证号:{{ singleSelect.idNumber }}<br />
识别频次:{{ singleSelect.identifyNum }}
</div>
</div>
<div>
<el-button
type="primary"
@click="show = true"
style="width: 120px;height: 48px;line-height: 24px;font-size: 16px; font-weight: 600;"
>限制取号</el-button
>
</div>
</div> </div>
</el-dialog> <el-table :data="tableDataR" style="width: 100%" border>
</div> <el-table-column
type="index"
label="序号"
width="50"
align="center"
>
</el-table-column>
<el-table-column
property="monitorTime"
label="监测时间"
:formatter="this.formatterDate"
align="center"
>
</el-table-column>
<el-table-column
property="monitorDevice"
label="监测设备"
align="center"
>
</el-table-column>
<el-table-column
property="reservationService"
label="预约业务"
align="center"
>
</el-table-column>
<el-table-column
property="reservationNumber"
label="预约编号"
align="center"
>
</el-table-column>
<el-table-column
property="checkInMethod"
label="签到方式"
align="center"
>
</el-table-column>
<el-table-column
property="monitorCertificate"
label="监测凭证"
align="center"
>
<template slot-scope="scope">
<img
style="width: 70px; height: 100px"
:src="scope.row.monitorCertificate"
alt="图片"
/>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="changeSize"
@current-change="changePage"
:current-page="this.params.page"
:page-size="this.params.size"
layout="total, prev, pager, next"
:total="this.total"
style="text-align: end;"
>
</el-pagination>
</div>
</div>
</div>
</el-drawer>
<el-dialog
title="限制取号"
:visible.sync="show"
width="31.25rem"
append-to-body
>
<el-form
ref="form"
:model="restrict"
:label-position="right"
label-width="7.5rem"
>
<el-form-item label="姓名:">{{ restrict.name }}</el-form-item>
<el-form-item label="联系电话:">{{ restrict.contact }}</el-form-item>
<el-form-item label="身份证号:">{{ restrict.idNumber }}</el-form-item>
<el-form-item label="识别频次:">{{
restrict.identifyNum
}}</el-form-item>
<el-form-item label="限制取号:">
<el-input placeholder="请输入内容" v-model="restrict.times">
<template slot="append">次 / 天</template>
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="show = false">确 定</el-button>
<el-button @click="show = false">取 消</el-button>
</div>
</el-dialog>
</div>
</template> </template>
<script> <script>
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "dataDrawerShow", name: "dataDrawerShow",
components: { components: {},
}, mixins: [table],
mixins: [table], created() {},
created() { data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "监测预警",
// 是否显示弹出层
open: false,
// 限制取号
show: false,
direction: "rtl",
// 左侧表格数据
tableDataL: [],
// 左侧被选中的数据
singleSelect: {},
// 右侧表格数据
tableDataR: [],
params: {
size: 10,
page: 1,
},
total: 0,
restrict: {
name: "",
contact: "",
idNumber: "",
identifyNum: "",
times: "",
},
};
},
methods: {
view(row) {
this.open = true;
this.getAllMonitor();
}, },
data() { async getAllMonitor() {
return { const res = await this.$post("monitor/alarm/list");
// 遮罩层 if (res && res.code == 1) {
loading: true, this.tableDataL = res.data.data;
// 弹出层标题 console.log(res);
title: "监测预警", this.total = res.data.total;
// 是否显示弹出层 this.params.page = res.data.current_page;
open: false, this.params.size = res.data.per_page;
// 限制取号 this.$refs.singleTable.setCurrentRow(this.tableDataL[0]); // 默认选中第一条
show: false, }
direction:"rtl",
// 左侧表格数据
tableDataL:[],
// 左侧被选中的数据
singleSelect: {},
// 右侧表格数据
tableDataR: [],
params: {
size: 10,
page: 1
},
total: 0,
restrict:{
name: '',
contact: '',
idNumber: '',
identifyNum: '',
times: ''
}
}
}, },
async handleCurrentChange(row) {
methods: { this.singleSelect = row;
view(row) { this.restrict = { ...row };
this.open=true const res = await this.$post("monitor/alarm/record/list");
this.getAllMonitor() if (res && res.code == 1) {
}, this.tableDataR = res.data.data;
async getAllMonitor(){ }
const res = await this.$post('monitor/alarm/list') },
if(res && res.code == 1){ // 监听size改变
this.tableDataL= res.data.data changeSize(newSize) {
console.log(res) this.size = newSize;
this.total= res.data.total },
this.params.page= res.data.current_page // 页码改变
this.params.size= res.data.per_page changePage(newPage) {
this.$refs.singleTable.setCurrentRow(this.tableDataL[0]) // 默认选中第一条 this.page = newPage;
}
},
async handleCurrentChange(row){
this.singleSelect= row
this.restrict= {...row}
const res = await this.$post('monitor/alarm/record/list')
if(res && res.code == 1){
this.tableDataR= res.data.data
}
},
// 监听size改变
changeSize (newSize) {
this.size = newSize
},
// 页码改变
changePage (newPage) {
this.page = newPage
},
}, },
},
}; };
</script> </script>
<style scope> <style scope>
.warning{ .warning {
padding: 0 .625rem; padding: 0 0.625rem;
height: 1.875rem; height: 3rem;
line-height: 1.875rem; line-height: 3rem;
font-size: 1.25rem; font-size: 1.25rem;
color: #F94545; color: #f94545;
padding-left: 20px;
background: rgba(249, 69, 69, 0.1);
} }
.drawer_box{ .drawer_box {
display: flex; display: flex;
height: 100%;
padding: 20px 10px;
} }
.drawer_box_left{ .drawer_box_left {
width: 37.5rem; height: 100%;
padding: .625rem; width: 37.5rem;
padding: 0.625rem;
border-right: 1px solid #f0f0f0;
} }
.drawer_box_right{ .drawer_box_right {
flex: 1; flex: 1;
padding: .625rem; padding: 0.625rem;
} }
.recognition{ .recognition {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
margin-bottom: .625rem; margin-bottom: 0.625rem;
} }
.recognition_name{ .recognition_name {
font-size: 1.25rem; font-size: 1.25rem;
color: #333; color: #000;
margin-bottom: .3125rem; font-weight: 600;
margin-bottom: 0.3125rem;
} }
.recognition_desc{ .recognition_desc {
font-size: .875rem; font-size: 0.875rem;
color: #666; color: #666;
} }
</style> </style>
<template> <template>
<div class="page"> <div class="page">
<span
style="position: absolute; top: -30px;right: 0;font-size: 12px; color: #aaa;"
>
<i class="el-icon-warning"></i
> 流量数据由海康提供,本系统提供15日暂存服务。</span
>
<LayoutTable notAdd notDel :data="tableData" :config="tableConfig"> <LayoutTable notAdd notDel :data="tableData" :config="tableConfig">
<el-button <el-button
slot="table-head-left2" slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets" icon="el-icon-tickets"
size="mini" size="mini"
type="danger" type="danger"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment