From 019dabc295328daf7835a0a5e3ab42e13496f68a Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期三, 06 三月 2024 15:39:02 +0800
Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/zgyw-ui
---
src/views/system/default-auditing/index.vue | 147 +++-
src/views/system/video/index.vue | 329 ++++++++++
src/views/system/point/index.vue | 2
src/api/platform/default-auditing.js | 15
src/views/system/default-rule/index.vue | 130 +++
src/api/platform/default-rule.js | 15
src/views/system/car/index.vue | 328 ++++++++++
src/views/system/work-order/index.vue | 24
src/views/system/recovery/index.vue | 330 +++++++++++
src/views/system/face/index.vue | 370 ++++++++++++
src/views/system/dict/index.vue | 2
src/api/platform/monitor.js | 44 +
src/api/platform/work-order.js | 18
13 files changed, 1,679 insertions(+), 75 deletions(-)
diff --git a/src/api/platform/default-auditing.js b/src/api/platform/default-auditing.js
index 8d3ac9b..b5c5b02 100644
--- a/src/api/platform/default-auditing.js
+++ b/src/api/platform/default-auditing.js
@@ -1,11 +1,11 @@
import request from '@/utils/request'
// 鏌ヨ杩濊瀹℃牳鍒楄〃
-export function listAuditing(query) {
+export function listAuditing(data) {
return request({
url: '/default-auditing/page',
- method: 'get',
- params: query
+ method: 'post',
+ data: data
})
}
@@ -42,3 +42,12 @@
method: 'delete'
})
}
+
+// 瀹℃牳
+export function auditing(data) {
+ return request({
+ url: '/default-auditing/auditing',
+ method: 'post',
+ data: data
+ })
+}
diff --git a/src/api/platform/default-rule.js b/src/api/platform/default-rule.js
index 1323364..e43c2de 100644
--- a/src/api/platform/default-rule.js
+++ b/src/api/platform/default-rule.js
@@ -1,11 +1,11 @@
import request from '@/utils/request'
// 鏌ヨ杩濈害瑙勫垯鍒楄〃
-export function listRule(query) {
+export function listRule(data) {
return request({
url: '/default-rule/page',
- method: 'get',
- params: query
+ method: 'post',
+ data: data
})
}
@@ -42,3 +42,12 @@
method: 'delete'
})
}
+
+// 鍚敤/鍋滅敤杩濈害瑙勫垯
+export function setRule(data) {
+ return request({
+ url: '/default-rule/set',
+ method: 'post',
+ data: data
+ })
+}
diff --git a/src/api/platform/monitor.js b/src/api/platform/monitor.js
new file mode 100644
index 0000000..d3f6317
--- /dev/null
+++ b/src/api/platform/monitor.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ璁惧璧勪骇鍒楄〃
+export function listMonitor(query) {
+ return request({
+ url: '/system/monitor/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 鏌ヨ璁惧璧勪骇璇︾粏
+export function getMonitor(id) {
+ return request({
+ url: '/system/monitor/' + id,
+ method: 'get'
+ })
+}
+
+// 鏂板璁惧璧勪骇
+export function addMonitor(data) {
+ return request({
+ url: '/system/monitor',
+ method: 'post',
+ data: data
+ })
+}
+
+// 淇敼璁惧璧勪骇
+export function updateMonitor(data) {
+ return request({
+ url: '/system/monitor',
+ method: 'put',
+ data: data
+ })
+}
+
+// 鍒犻櫎璁惧璧勪骇
+export function delMonitor(id) {
+ return request({
+ url: '/system/monitor/' + id,
+ method: 'delete'
+ })
+}
diff --git a/src/api/platform/work-order.js b/src/api/platform/work-order.js
index 2ca99f5..4b02485 100644
--- a/src/api/platform/work-order.js
+++ b/src/api/platform/work-order.js
@@ -42,3 +42,21 @@
method: 'delete'
})
}
+
+// 瀹℃牳宸ュ崟
+export function auditing(data) {
+ return request({
+ url: '/work-order/auditing',
+ method: 'put',
+ data: data
+ })
+}
+
+// 宸ュ崟杩愮淮鎯呭喌
+export function ywCondition(data) {
+ return request({
+ url: '/work-order/yw-condition',
+ method: 'put',
+ data: data
+ })
+}
diff --git a/src/views/system/car/index.vue b/src/views/system/car/index.vue
new file mode 100644
index 0000000..3fa5a77
--- /dev/null
+++ b/src/views/system/car/index.vue
@@ -0,0 +1,328 @@
+<template>
+ <div class="app-container">
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+ <el-form-item label="璁惧鍚嶇О" prop="name">
+ <el-input
+ v-model="queryParams.name"
+ placeholder="璇疯緭鍏ヨ澶囧悕绉�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <el-form-item label="璁惧鐘舵��" prop="onState">
+ <el-select
+ v-model="queryParams.onState"
+ placeholder="璁惧鐘舵��"
+ clearable
+ style="width: 100px"
+ >
+ <el-option
+ v-for="dict in dict.type.camera_state"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鍦板潃" prop="address">
+ <el-input
+ v-model="queryParams.address"
+ placeholder="璇疯緭鍏ヨ鏀垮尯鍩�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <el-form-item label="瀹夎鏃堕棿" prop="installedTime">
+ <el-date-picker clearable
+ v-model="queryParams.installedTime"
+ type="date"
+ value-format="yyyy-MM-dd"
+ placeholder="璇烽�夋嫨瀹夎鏃堕棿">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="绠$悊鍗曚綅" prop="managementUnit">
+ <el-input
+ v-model="queryParams.managementUnit"
+ placeholder="璇疯緭鍏ョ鐞嗗崟浣�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <el-form-item label="鏄惁鐢熸垚寮傚父宸ュ崟" prop="defaultOrder" label-width="130px">
+ <el-select
+ v-model="queryParams.defaultOrder"
+ placeholder="鏄惁鐢熸垚寮傚父宸ュ崟"
+ clearable
+ style="width: 170px"
+ >
+ <el-option
+ v-for="dict in dict.type.platform_yes_no"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
+
+ <el-row :gutter="10" class="mb8">
+ <el-col :span="1.5">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-download"
+ size="mini"
+ @click="handleExport"
+ v-hasPermi="['system:monitor:export']"
+ >瀵煎嚭</el-button>
+ </el-col>
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+ </el-row>
+
+ <el-table v-loading="loading" :data="monitorList" @selection-change="handleSelectionChange">
+ <el-table-column type="selection" width="55" align="center" />
+ <el-table-column label="璁惧缂栫爜" align="center" prop="serialNumber" />
+ <el-table-column label="璁惧鍚嶇О" align="center" prop="name" />
+ <el-table-column label="璁惧鐘舵��" align="center" prop="onState">
+ <template slot-scope="scope">
+ <dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍦板潃" align="center" prop="address" />
+ <el-table-column label="鏄惁鐢熸垚寮傚父宸ュ崟" align="center" prop="defaultOrder">
+ <template slot-scope="scope">
+ <dict-tag :options="dict.type.platform_yes_no" :value="scope.row.defaultOrder"/>
+ </template>
+ </el-table-column>
+ <el-table-column label="寮傚父鍘熷洜" align="center" prop="reason" />
+ <el-table-column label="瀹夎鏃堕棿" align="center" prop="installedTime" width="180">
+ </el-table-column>
+ <el-table-column label="绠$悊鍗曚綅" align="center" prop="managementUnit" />
+ <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+ <template slot-scope="scope">
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-view"
+ @click="handleView(scope.row,scope.index)"
+ v-hasPermi="['system:monitor:query']"
+ >璇︾粏</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <pagination
+ v-show="total>0"
+ :total="total"
+ :page.sync="queryParams.pageNum"
+ :limit.sync="queryParams.pageSize"
+ @pagination="getList"
+ />
+
+ <!-- 璁惧璧勪骇璇︽儏 -->
+ <el-dialog title="鎿嶄綔鏃ュ織璇︾粏" :visible.sync="open" width="800px" append-to-body>
+ <el-form ref="form" :model="form" label-width="150px" size="mini">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="璁惧缂栫爜锛�">{{ form.serialNumber }}</el-form-item>
+ <el-form-item label="璁惧鍚嶇О锛�">{{ form.name }} </el-form-item>
+ <el-form-item label="璁惧鐘舵�侊細">
+ <div v-if="form.onState === 1">鍙敤</div>
+ <div v-else-if="form.onState === 2">涓嶅彲鐢�</div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="鍦板潃锛�">{{ form.address }}</el-form-item>
+ <el-form-item label="鏄惁鐢熸垚寮傚父宸ュ崟锛�">
+ <div v-if="form.defaultOrder === 1">鏄�</div>
+ <div v-else-if="form.defaultOrder === 2">鍚�</div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="寮傚父鍘熷洜锛�">{{ form.reason }}</el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="瀹夎鏃堕棿锛�">{{ form.installedTime }}</el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="绠$悊鍗曚綅锛�">{{ form.managementUnit }}</el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="open = false">鍏� 闂�</el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import { listMonitor, getMonitor, delMonitor, addMonitor, updateMonitor } from "@/api/platform/monitor";
+
+export default {
+ name: "Monitor",
+ dicts: ['sys_normal_disable','platform_yes_no','camera_state'],
+ data() {
+ return {
+ // 閬僵灞�
+ loading: true,
+ // 閫変腑鏁扮粍
+ ids: [],
+ // 闈炲崟涓鐢�
+ single: true,
+ // 闈炲涓鐢�
+ multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
+ // 鎬绘潯鏁�
+ total: 0,
+ // 璁惧璧勪骇琛ㄦ牸鏁版嵁
+ monitorList: [],
+ // 寮瑰嚭灞傛爣棰�
+ title: "",
+ // 鏄惁鏄剧ず寮瑰嚭灞�
+ open: false,
+ // 鏌ヨ鍙傛暟
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ serialNumber: null,
+ name: null,
+ onState: null,
+ address: null,
+ installedTime: null,
+ managementUnit: null,
+ defaultOrder: null,
+ cameraFunType: 2,
+ },
+ // 琛ㄥ崟鍙傛暟
+ form: {},
+ // 琛ㄥ崟鏍¢獙
+ rules: {
+ serialNumber: [
+ { required: true, message: "璁惧缂栫爜涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ name: [
+ { required: true, message: "璁惧鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ onState: [
+ { required: true, message: "璁惧鐘舵��", trigger: "blur" }
+ ],
+ address: [
+ { required: true, message: "鍦板潃涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ }
+ };
+ },
+ created() {
+ this.getList();
+ },
+ methods: {
+ /** 鏌ヨ璁惧璧勪骇鍒楄〃 */
+ getList() {
+ this.loading = true;
+ listMonitor(this.queryParams).then(response => {
+ this.monitorList = response.rows;
+ this.total = response.total;
+ this.loading = false;
+ });
+ },
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.open = false;
+ this.reset();
+ },
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.form = {
+ id: null,
+ serialNumber: null,
+ name: null,
+ onState: null,
+ address: null,
+ installedTime: null,
+ managementUnit: null,
+ };
+ this.resetForm("form");
+ },
+ /** 璇︾粏鎸夐挳鎿嶄綔 */
+ handleView(row) {
+ this.open = true;
+ this.form = row;
+ },
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery() {
+ this.queryParams.pageNum = 1;
+ this.queryParams.cameraFunType = 2;
+ this.getList();
+ },
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.resetForm("queryForm");
+ this.handleQuery();
+ },
+ // 澶氶�夋閫変腑鏁版嵁
+ handleSelectionChange(selection) {
+ this.ids = selection.map(item => item.id)
+ this.single = selection.length!==1
+ this.multiple = !selection.length
+ },
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd() {
+ this.reset();
+ this.open = true;
+ this.title = "娣诲姞璁惧璧勪骇";
+ },
+ /** 淇敼鎸夐挳鎿嶄綔 */
+ handleUpdate(row) {
+ this.reset();
+ const id = row.id || this.ids
+ getMonitor(id).then(response => {
+ this.form = response.data;
+ this.open = true;
+ this.title = "淇敼璁惧璧勪骇";
+ });
+ },
+ /** 鎻愪氦鎸夐挳 */
+ submitForm() {
+ this.$refs["form"].validate(valid => {
+ if (valid) {
+ if (this.form.id != null) {
+ updateMonitor(this.form).then(response => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
+ } else {
+ addMonitor(this.form).then(response => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
+ }
+ }
+ });
+ },
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ handleDelete(row) {
+ const ids = row.id || this.ids;
+ this.$modal.confirm('鏄惁纭鍒犻櫎璁惧璧勪骇缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+ return delMonitor(ids);
+ }).then(() => {
+ this.getList();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }).catch(() => {});
+ },
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ this.download('system/monitor/export', {
+ ...this.queryParams
+ }, `monitor_${new Date().getTime()}.xlsx`)
+ }
+ }
+};
+</script>
diff --git a/src/views/system/default-auditing/index.vue b/src/views/system/default-auditing/index.vue
index aaf359a..b52c657 100644
--- a/src/views/system/default-auditing/index.vue
+++ b/src/views/system/default-auditing/index.vue
@@ -1,38 +1,33 @@
<template>
<div class="app-container">
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
- <el-form-item label="杩濊" prop="defaultId">
- <el-input
- v-model="queryParams.defaultId"
- placeholder="璇疯緭鍏ヨ繚瑙�"
- clearable
- @keyup.enter.native="handleQuery"
- />
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
+ <el-form-item label="杩濈害杩愮淮鍗曚綅" prop="belongUnit">
+ <el-select v-model="queryParams.unitId" @change="handleQuery" clearable placeholder="杩濈害鍗曚綅">
+ <el-option
+ v-for="item in unitList"
+ :key="item.id"
+ :label="item.value"
+ :value="item.id">
+ </el-option>
+ </el-select>
</el-form-item>
<el-form-item label="瀹℃牳鏃堕棿">
<el-date-picker
v-model="daterangeAuditingTime"
style="width: 240px"
- value-format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="寮�濮嬫棩鏈�"
end-placeholder="缁撴潫鏃ユ湡"
></el-date-picker>
</el-form-item>
- <el-form-item label="瀹℃牳浜�" prop="auditingUser">
- <el-input
- v-model="queryParams.auditingUser"
- placeholder="璇疯緭鍏ュ鏍镐汉"
- clearable
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
+
<el-form-item label="鍒涘缓鏃堕棿">
<el-date-picker
v-model="daterangeCreateTime"
style="width: 240px"
- value-format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="寮�濮嬫棩鏈�"
@@ -93,29 +88,29 @@
<el-table v-loading="loading" :data="auditingList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
- <el-table-column label="杩濊" align="center" prop="defaultId" />
+ <el-table-column label="杩濈害鍗曚綅" align="center" prop="unitName" width="180"/>
+ <el-table-column label="杩濈害瑙勫垯" align="center" prop="defaultRuleName"width="120" />
+ <el-table-column label="瀹℃牳浜�" align="center" prop="auditingUserName" />
<el-table-column label="瀹℃牳鐘舵��" align="center" prop="auditingStatus" />
- <el-table-column label="瀹℃牳璇存槑" align="center" prop="remark" />
- <el-table-column label="瀹℃牳鏃堕棿" align="center" prop="auditingTime" width="180">
- <template slot-scope="scope">
- <span>{{ parseTime(scope.row.auditingTime, '{y}-{m}-{d}') }}</span>
- </template>
- </el-table-column>
- <el-table-column label="瀹℃牳浜�" align="center" prop="auditingUser" />
- <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180">
- <template slot-scope="scope">
- <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
- </template>
- </el-table-column>
- <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+ <el-table-column label="瀹℃牳璇存槑" align="center" prop="remark" width="180"/>
+ <el-table-column label="瀹℃牳鏃堕棿" align="center" prop="auditingTime" width="180"/>
+ <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"/>
+ <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
- icon="el-icon-edit"
- @click="handleUpdate(scope.row)"
- v-hasPermi="['system:auditing:edit']"
- >淇敼</el-button>
+ icon="el-icon-s-check"
+ @click="handleAuditing(scope.row)"
+ v-hasPermi="['system:auditing:auditing']"
+ >瀹℃牳</el-button>
+<!-- <el-button-->
+<!-- size="mini"-->
+<!-- type="text"-->
+<!-- icon="el-icon-edit"-->
+<!-- @click="handleUpdate(scope.row)"-->
+<!-- v-hasPermi="['system:auditing:edit']"-->
+<!-- >淇敼</el-button>-->
<el-button
size="mini"
type="text"
@@ -135,25 +130,42 @@
@pagination="getList"
/>
- <!-- 娣诲姞鎴栦慨鏀硅繚瑙勫鏍稿璇濇 -->
- <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
- <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+ <!-- 瀹℃牳 -->
+ <el-dialog title="杩濈害瀹℃牳" :visible.sync="auditingOpen" width="500px" append-to-body>
+ <el-form ref="auditingForm" :model="auditingForm" :rules="auditingRules" label-width="80px">
+ <el-form-item label="杩濈害鍗曚綅">
+ <el-input v-model="auditingForm.unitName" disabled/>
+ </el-form-item>
+ <el-form-item label="杩濈害瑙勫垯">
+ <el-input v-model="auditingForm.defaultRuleName" disabled/>
+ </el-form-item>
+ <el-form-item label="瀹℃牳缁撴灉" prop="auditingStatus">
+ <el-radio v-model="auditingForm.auditingResult" label="pass">閫氳繃</el-radio>
+ <el-radio v-model="auditingForm.auditingResult" label="return">椹冲洖</el-radio>
+ </el-form-item>
+ <el-form-item label="瀹℃牳璇存槑" prop="remark">
+ <el-input v-model="auditingForm.remark" type="textarea" show-word-limit maxlength="100"/>
+ </el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
- <el-button @click="cancel">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitAuditing">纭� 瀹�</el-button>
+ <el-button @click="closeAuditing">鍙� 娑�</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
-import { listAuditing, getAuditing, delAuditing, addAuditing, updateAuditing } from "@/api/platform/default-auditing";
+import { listAuditing, getAuditing, delAuditing, addAuditing, updateAuditing,auditing } from "@/api/platform/default-auditing";
+import { unitSelect } from "@/api/platform/unit";
export default {
name: "Auditing",
data() {
return {
+ auditingOpen: false,
+ auditingForm: {},
+ unitList: [],
// 閬僵灞�
loading: true,
// 閫変腑鏁扮粍
@@ -189,31 +201,64 @@
// 琛ㄥ崟鍙傛暟
form: {},
// 琛ㄥ崟鏍¢獙
- rules: {
- defaultId: [
- { required: true, message: "杩濊涓嶈兘涓虹┖", trigger: "blur" }
+ auditingRules: {
+ auditingStatus: [
+ { required: true, message: "璇峰厛瀹屾垚瀹℃牳缁撴灉", trigger: "blur" }
],
}
};
},
created() {
this.getList();
+ this.getUnitSelect();
},
methods: {
+ // 鎻愪氦瀹℃牳
+ submitAuditing() {
+ this.$refs["auditingForm"].validate(valid => {
+ if (valid) {
+ auditing(this.auditingForm).then(res => {
+ if (res.code === 200) {
+ this.auditingOpen = false;
+ this.$modal.msgSuccess("瀹℃牳鎴愬姛");
+ this.getList();
+ } else {
+ this.$modal.msgSuccess(res.msg)
+ }
+ })
+ }
+ })
+ },
+ // 鎵撳紑瀹℃牳
+ handleAuditing(row) {
+ this.auditingOpen = true;
+ this.auditingForm = row;
+ this.auditingForm.auditingStatus = this.auditingForm.auditingStatus ? this.auditingForm.auditingStatus : null
+ },
+ // 鍏抽棴瀹℃牳
+ closeAuditing() {
+ this.auditingForm = {};
+ this.auditingOpen = false;
+ },
+ getUnitSelect() {
+ // 杩愮淮鍗曚綅涓嬫媺鍒楄〃
+ unitSelect().then((res) => {
+ this.unitList = res.data;
+ })
+ },
/** 鏌ヨ杩濊瀹℃牳鍒楄〃 */
getList() {
this.loading = true;
- this.queryParams.params = {};
if (null != this.daterangeAuditingTime && '' != this.daterangeAuditingTime) {
- this.queryParams.params["beginAuditingTime"] = this.daterangeAuditingTime[0];
- this.queryParams.params["endAuditingTime"] = this.daterangeAuditingTime[1];
+ this.queryParams["auditingStartTime"] = this.daterangeAuditingTime[0];
+ this.queryParams["auditingEndTime"] = this.daterangeAuditingTime[1];
}
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
- this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
- this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
+ this.queryParams["createStartTime"] = this.daterangeCreateTime[0];
+ this.queryParams["createEndTime"] = this.daterangeCreateTime[1];
}
listAuditing(this.queryParams).then(response => {
- this.auditingList = response.rows;
+ this.auditingList = response.data;
this.total = response.total;
this.loading = false;
});
diff --git a/src/views/system/default-rule/index.vue b/src/views/system/default-rule/index.vue
index a6c6c00..1b26798 100644
--- a/src/views/system/default-rule/index.vue
+++ b/src/views/system/default-rule/index.vue
@@ -6,6 +6,7 @@
v-model="queryParams.ruleName"
placeholder="璇疯緭鍏ヨ鍒欏悕绉�"
clearable
+ @clear="handleQuery"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@@ -13,7 +14,7 @@
<el-date-picker
v-model="daterangeCreateTime"
style="width: 240px"
- value-format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="寮�濮嬫棩鏈�"
@@ -74,11 +75,9 @@
<el-table v-loading="loading" :data="ruleList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
- <el-table-column label="涓婚敭" align="center" prop="id" />
<el-table-column label="瑙勫垯鍚嶇О" align="center" prop="ruleName" />
- <el-table-column label="瑙勫垯璇︽儏JSON" align="center" prop="ruleDetail" />
<el-table-column label="瑙勫垯鎻忚堪" align="center" prop="ruleDesc" />
- <el-table-column label="瑙勫垯鐘舵�侊細鍚敤銆佹湭鍚敤" align="center" prop="ruleStatus" />
+ <el-table-column label="瑙勫垯鐘舵��" align="center" prop="ruleStatus" />
<el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
@@ -86,6 +85,29 @@
</el-table-column>
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
+ <el-button
+ v-if="scope.row.ruleStatus === '鏈惎鐢�'"
+ size="mini"
+ type="text"
+ icon="el-icon-zoom-in"
+ @click="handleUse(scope.row.id, true)"
+ v-hasPermi="['system:rule:use']"
+ >鍚敤</el-button>
+ <el-button
+ v-else
+ size="mini"
+ type="text"
+ icon="el-icon-zoom-in"
+ @click="handleUse(scope.row.id, false)"
+ v-hasPermi="['system:rule:use']"
+ >鍋滅敤</el-button>
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-zoom-in"
+ @click="handleDetail(scope.row)"
+ v-hasPermi="['system:rule:detail']"
+ >璇︽儏</el-button>
<el-button
size="mini"
type="text"
@@ -112,17 +134,53 @@
@pagination="getList"
/>
+ <!-- 瑙勫垯璇︽儏 -->
+ <el-dialog title="瑙勫垯璇︽儏" :visible.sync="detailOpen" width="500px" append-to-body>
+ <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+ <el-form-item label="瑙勫垯鍚嶇О" prop="ruleName">
+ <el-input disabled v-model="form.ruleName" placeholder="璇疯緭鍏ヨ鍒欏悕绉�" />
+ </el-form-item>
+ <el-form-item label="瑙勫垯鎻忚堪" prop="ruleDesc">
+ <el-input disabled v-model="form.ruleDesc" placeholder="璇疯緭鍏ヨ鍒欐弿杩�" />
+ </el-form-item>
+ <el-form-item label="瑙勫垯璁剧疆">
+ <div style="margin-top: 30px">
+ <div class="line">
+ <div class="line-left">宸ュ崟鏈強鏃跺鐞嗘暟锛�</div>
+ <div class="line-right"><el-input disabled v-model="jsonRule.overTime" type="number"/></div>
+ </div>
+ <div class="line">
+ <div class="line-left">杩愮淮澶辫触鏁伴噺瓒呰繃锛�</div>
+ <div class="line-right"><el-input disabled v-model="jsonRule.failNum" type="number"/></div>
+ </div>
+ </div>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="closeDetail">鍏抽棴</el-button>
+ </div>
+ </el-dialog>
+
<!-- 娣诲姞鎴栦慨鏀硅繚绾﹁鍒欏璇濇 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="瑙勫垯鍚嶇О" prop="ruleName">
<el-input v-model="form.ruleName" placeholder="璇疯緭鍏ヨ鍒欏悕绉�" />
</el-form-item>
- <el-form-item label="瑙勫垯璇︽儏JSON" prop="ruleDetail">
- <el-input v-model="form.ruleDetail" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
- </el-form-item>
<el-form-item label="瑙勫垯鎻忚堪" prop="ruleDesc">
<el-input v-model="form.ruleDesc" placeholder="璇疯緭鍏ヨ鍒欐弿杩�" />
+ </el-form-item>
+ <el-form-item label="瑙勫垯璁剧疆">
+ <div style="margin-top: 30px">
+ <div class="line">
+ <div class="line-left">宸ュ崟鏈強鏃跺鐞嗘暟锛�</div>
+ <div class="line-right"><el-input v-model="jsonRule.overTime" type="number"/></div>
+ </div>
+ <div class="line">
+ <div class="line-left">杩愮淮澶辫触鏁伴噺瓒呰繃锛�</div>
+ <div class="line-right"><el-input v-model="jsonRule.failNum" type="number"/></div>
+ </div>
+ </div>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -134,12 +192,13 @@
</template>
<script>
-import { listRule, getRule, delRule, addRule, updateRule } from "@/api/platform/default-rule";
+import { listRule, getRule, delRule, addRule, updateRule, setRule } from "@/api/platform/default-rule";
export default {
name: "Rule",
data() {
return {
+ detailOpen: false,
// 閬僵灞�
loading: true,
// 閫変腑鏁扮粍
@@ -170,6 +229,7 @@
},
// 琛ㄥ崟鍙傛暟
form: {},
+ jsonRule: {},
// 琛ㄥ崟鏍¢獙
rules: {
ruleName: [
@@ -185,13 +245,12 @@
/** 鏌ヨ杩濈害瑙勫垯鍒楄〃 */
getList() {
this.loading = true;
- this.queryParams.params = {};
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
- this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
- this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
+ this.queryParams["start"] = this.daterangeCreateTime[0];
+ this.queryParams["end"] = this.daterangeCreateTime[1];
}
listRule(this.queryParams).then(response => {
- this.ruleList = response.rows;
+ this.ruleList = response.data;
this.total = response.total;
this.loading = false;
});
@@ -244,6 +303,7 @@
const id = row.id || this.ids
getRule(id).then(response => {
this.form = response.data;
+ this.jsonRule = JSON.parse(this.form.ruleDetail)
this.open = true;
this.title = "淇敼杩濈害瑙勫垯";
});
@@ -252,6 +312,9 @@
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
+ this.jsonRule.overtime = this.jsonRule.overtime ? this.jsonRule.overtime : 0;
+ this.jsonRule.failNum = this.jsonRule.failNum ? this.jsonRule.failNum : 0;
+ this.form.ruleDetail = JSON.stringify(this.jsonRule);
if (this.form.id != null) {
updateRule(this.form).then(response => {
this.$modal.msgSuccess("淇敼鎴愬姛");
@@ -267,6 +330,33 @@
}
}
});
+ },
+ // 鍚敤銆佸仠鐢�
+ handleUse(id, flag) {
+ let data = {
+ id: id,
+ flag: flag
+ }
+ setRule(data).then(res => {
+ if (res.code === 200) {
+ this.$modal.msgSuccess("璁剧疆鎴愬姛");
+ } else {
+ this.$modal.msgError(res.msg);
+ }
+ this.getList();
+ })
+ },
+ // 璇︽儏鎸夐挳
+ handleDetail(row) {
+ this.detailOpen = true;
+ this.form = row;
+ this.jsonRule = JSON.parse(this.form.ruleDetail);
+ },
+ // 鍏抽棴璇︽儏
+ closeDetail() {
+ this.jsonRule = {};
+ this.form = {};
+ this.detailOpen = false;
},
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
@@ -287,3 +377,19 @@
}
};
</script>
+
+<style scoped>
+.line {
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-start;
+ align-items: center;
+}
+.line-left {
+ width: 200px;
+ text-align: center;
+}
+.line-right {
+ width: 100px;
+}
+</style>
diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue
index 6ca5457..b6ed788 100644
--- a/src/views/system/dict/index.vue
+++ b/src/views/system/dict/index.vue
@@ -344,4 +344,4 @@
}
}
};
-</script>
\ No newline at end of file
+</script>
diff --git a/src/views/system/face/index.vue b/src/views/system/face/index.vue
new file mode 100644
index 0000000..7b719d6
--- /dev/null
+++ b/src/views/system/face/index.vue
@@ -0,0 +1,370 @@
+<template>
+ <div class="app-container">
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+ <el-form-item label="璁惧鍚嶇О" prop="name">
+ <el-input
+ v-model="queryParams.name"
+ placeholder="璇疯緭鍏ヨ澶囧悕绉�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <el-form-item label="璁惧鐘舵��" prop="onState">
+ <el-select
+ v-model="queryParams.onState"
+ placeholder="璁惧鐘舵��"
+ clearable
+ style="width: 100px"
+ >
+ <el-option
+ v-for="dict in dict.type.camera_state"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鍦板潃" prop="address">
+ <el-input
+ v-model="queryParams.address"
+ placeholder="璇疯緭鍏ュ湴鍧�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <el-form-item label="瀹夎鏃堕棿" prop="installedTime">
+ <el-date-picker clearable
+ v-model="queryParams.installedTime"
+ type="date"
+ value-format="yyyy-MM-dd"
+ placeholder="璇烽�夋嫨瀹夎鏃堕棿">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="绠$悊鍗曚綅" prop="managementUnit">
+ <el-input
+ v-model="queryParams.managementUnit"
+ placeholder="璇疯緭鍏ョ鐞嗗崟浣�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <el-form-item label="鏄惁鐢熸垚寮傚父宸ュ崟" prop="defaultOrder" label-width="130px">
+ <el-select
+ v-model="queryParams.defaultOrder"
+ placeholder="鏄惁鐢熸垚寮傚父宸ュ崟"
+ clearable
+ style="width: 170px"
+ >
+ <el-option
+ v-for="dict in dict.type.platform_yes_no"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
+
+ <el-row :gutter="10" class="mb8">
+ <el-col :span="1.5">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-download"
+ size="mini"
+ @click="handleExport"
+ v-hasPermi="['system:monitor:export']"
+ >瀵煎嚭</el-button>
+ </el-col>
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+ </el-row>
+
+ <el-table v-loading="loading" :data="monitorList" @selection-change="handleSelectionChange">
+ <el-table-column type="selection" width="55" align="center" />
+ <el-table-column label="璁惧缂栫爜" align="center" prop="serialNumber" />
+ <el-table-column label="璁惧鍚嶇О" align="center" prop="name" />
+ <el-table-column label="璁惧鐘舵��" align="center" prop="onState">
+ <template slot-scope="scope">
+ <dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍦板潃" align="center" prop="address" />
+ <el-table-column label="鏄惁鐢熸垚寮傚父宸ュ崟" align="center" prop="defaultOrder">
+ <template slot-scope="scope">
+ <dict-tag :options="dict.type.platform_yes_no" :value="scope.row.defaultOrder"/>
+ </template>
+ </el-table-column>
+ <el-table-column label="寮傚父鍘熷洜" align="center" prop="reason" />
+ <el-table-column label="瀹夎鏃堕棿" align="center" prop="installedTime" width="180">
+ </el-table-column>
+ <el-table-column label="绠$悊鍗曚綅" align="center" prop="managementUnit" />
+ <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+ <template slot-scope="scope">
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-view"
+ @click="handleView(scope.row,scope.index)"
+ v-hasPermi="['system:monitor:query']"
+ >璇︾粏</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <pagination
+ v-show="total>0"
+ :total="total"
+ :page.sync="queryParams.pageNum"
+ :limit.sync="queryParams.pageSize"
+ @pagination="getList"
+ />
+
+ <!-- 娣诲姞鎴栦慨鏀硅澶囪祫浜у璇濇 -->
+ <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+ <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+ <el-form-item label="璁惧缂栫爜" prop="serialNumber">
+ <el-input v-model="form.serialNumber" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+ </el-form-item>
+ <el-form-item label="璁惧鍚嶇О" prop="name">
+ <el-input v-model="form.name" placeholder="璇疯緭鍏ヨ澶囧悕绉�" />
+ </el-form-item>
+ <el-form-item label="璁惧鐘舵��" prop="onState">
+ <el-input v-model="form.onState" placeholder="璇疯緭鍏ヨ澶囩姸鎬� 1/2 鍙敤/涓嶅彲鐢�" />
+ </el-form-item>
+ <el-form-item label="鍦板潃" prop="address">
+ <el-input v-model="form.address" placeholder="璇疯緭鍏ュ湴鍧�" />
+ </el-form-item>
+ <el-form-item label="瀹夎鏃堕棿" prop="installedTime">
+ <el-date-picker clearable
+ v-model="form.installedTime"
+ type="date"
+ value-format="yyyy-MM-dd"
+ placeholder="璇烽�夋嫨瀹夎鏃堕棿">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="绠$悊鍗曚綅" prop="managementUnit">
+ <el-input v-model="form.managementUnit" placeholder="璇疯緭鍏ョ鐞嗗崟浣�" />
+ </el-form-item>
+ <el-form-item label="鏄惁鐢熸垚寮傚父宸ュ崟" prop="defaultOrder">
+ <el-radio-group v-model="form.role">
+ <el-radio
+ v-for="dict in dict.type.platform_yes_no"
+ :key="dict.value"
+ :label="dict.value"
+ >{{dict.label}}</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+ <el-button @click="cancel">鍙� 娑�</el-button>
+ </div>
+ </el-dialog>
+
+ <!-- 璁惧璧勪骇璇︽儏 -->
+ <el-dialog title="鎿嶄綔鏃ュ織璇︾粏" :visible.sync="open" width="800px" append-to-body>
+ <el-form ref="form" :model="form" label-width="150px" size="mini">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="璁惧缂栫爜锛�">{{ form.serialNumber }}</el-form-item>
+ <el-form-item label="璁惧鍚嶇О锛�">{{ form.name }} </el-form-item>
+ <el-form-item label="璁惧鐘舵�侊細">
+ <div v-if="form.onState === 1">鍙敤</div>
+ <div v-else-if="form.onState === 2">涓嶅彲鐢�</div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="鍦板潃锛�">{{ form.address }}</el-form-item>
+ <el-form-item label="鏄惁鐢熸垚寮傚父宸ュ崟锛�">
+ <div v-if="form.defaultOrder === 1">鏄�</div>
+ <div v-else-if="form.defaultOrder === 2">鍚�</div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="寮傚父鍘熷洜锛�">{{ form.reason }}</el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="瀹夎鏃堕棿锛�">{{ form.installedTime }}</el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="绠$悊鍗曚綅锛�">{{ form.managementUnit }}</el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="open = false">鍏� 闂�</el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import { listMonitor, getMonitor, delMonitor, addMonitor, updateMonitor } from "@/api/platform/monitor";
+
+export default {
+ name: "Monitor",
+ dicts: ['sys_normal_disable','platform_yes_no','camera_state'],
+ data() {
+ return {
+ // 閬僵灞�
+ loading: true,
+ // 閫変腑鏁扮粍
+ ids: [],
+ // 闈炲崟涓鐢�
+ single: true,
+ // 闈炲涓鐢�
+ multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
+ // 鎬绘潯鏁�
+ total: 0,
+ // 璁惧璧勪骇琛ㄦ牸鏁版嵁
+ monitorList: [],
+ // 寮瑰嚭灞傛爣棰�
+ title: "",
+ // 鏄惁鏄剧ず寮瑰嚭灞�
+ open: false,
+ // 鏌ヨ鍙傛暟
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ serialNumber: null,
+ name: null,
+ onState: null,
+ address: null,
+ installedTime: null,
+ managementUnit: null,
+ defaultOrder: null,
+ cameraFunType: 3,
+ },
+ // 琛ㄥ崟鍙傛暟
+ form: {},
+ // 琛ㄥ崟鏍¢獙
+ rules: {
+ serialNumber: [
+ { required: true, message: "璁惧缂栫爜涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ name: [
+ { required: true, message: "璁惧鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ onState: [
+ { required: true, message: "璁惧鐘舵��", trigger: "blur" }
+ ],
+ address: [
+ { required: true, message: "鍦板潃涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ }
+ };
+ },
+ created() {
+ this.getList();
+ },
+ methods: {
+ /** 鏌ヨ璁惧璧勪骇鍒楄〃 */
+ getList() {
+ this.loading = true;
+ listMonitor(this.queryParams).then(response => {
+ this.monitorList = response.rows;
+ this.total = response.total;
+ this.loading = false;
+ });
+ },
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.open = false;
+ this.reset();
+ },
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.form = {
+ id: null,
+ serialNumber: null,
+ name: null,
+ onState: null,
+ address: null,
+ installedTime: null,
+ managementUnit: null,
+ };
+ this.resetForm("form");
+ },
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery() {
+ this.queryParams.pageNum = 1;
+ this.queryParams.cameraFunType = 3
+ this.getList();
+ },
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.resetForm("queryForm");
+ this.handleQuery();
+ },
+ // 澶氶�夋閫変腑鏁版嵁
+ handleSelectionChange(selection) {
+ this.ids = selection.map(item => item.id)
+ this.single = selection.length!==1
+ this.multiple = !selection.length
+ },
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd() {
+ this.reset();
+ this.open = true;
+ this.title = "娣诲姞璁惧璧勪骇";
+ },
+ /** 淇敼鎸夐挳鎿嶄綔 */
+ handleUpdate(row) {
+ this.reset();
+ const id = row.id || this.ids
+ getMonitor(id).then(response => {
+ this.form = response.data;
+ this.open = true;
+ this.title = "淇敼璁惧璧勪骇";
+ });
+ },
+ /** 璇︾粏鎸夐挳鎿嶄綔 */
+ handleView(row) {
+ this.open = true;
+ this.form = row;
+ },
+ /** 鎻愪氦鎸夐挳 */
+ submitForm() {
+ this.$refs["form"].validate(valid => {
+ if (valid) {
+ if (this.form.id != null) {
+ updateMonitor(this.form).then(response => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
+ } else {
+ addMonitor(this.form).then(response => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
+ }
+ }
+ });
+ },
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ handleDelete(row) {
+ const ids = row.id || this.ids;
+ this.$modal.confirm('鏄惁纭鍒犻櫎璁惧璧勪骇缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+ return delMonitor(ids);
+ }).then(() => {
+ this.getList();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }).catch(() => {});
+ },
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ this.download('system/monitor/export', {
+ ...this.queryParams
+ }, `monitor_${new Date().getTime()}.xlsx`)
+ }
+ }
+};
+</script>
diff --git a/src/views/system/point/index.vue b/src/views/system/point/index.vue
index ff84d5d..73ec4a3 100644
--- a/src/views/system/point/index.vue
+++ b/src/views/system/point/index.vue
@@ -1,6 +1,6 @@
<template>
<div class="app-container">
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="鐐逛綅鍚嶇О" prop="pointName">
<el-input
v-model="queryParams.pointName"
diff --git a/src/views/system/recovery/index.vue b/src/views/system/recovery/index.vue
new file mode 100644
index 0000000..a260dfc
--- /dev/null
+++ b/src/views/system/recovery/index.vue
@@ -0,0 +1,330 @@
+<template>
+ <div class="app-container">
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+ <el-form-item label="璁惧鍚嶇О" prop="name">
+ <el-input
+ v-model="queryParams.name"
+ placeholder="璇疯緭鍏ヨ澶囧悕绉�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <el-form-item label="璁惧鐘舵��" prop="onState">
+ <el-select
+ v-model="queryParams.onState"
+ placeholder="璁惧鐘舵��"
+ clearable
+ style="width: 100px"
+ >
+ <el-option
+ v-for="dict in dict.type.camera_state"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鍦板潃" prop="address">
+ <el-input
+ v-model="queryParams.address"
+ placeholder="璇疯緭鍏ュ湴鍧�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ style="width: 170px"
+ />
+ </el-form-item>
+ <el-form-item label="寮傚父鎭㈠鏃堕棿" prop="recoveryTime" label-width="130px">
+ <el-date-picker clearable
+ v-model="queryParams.recoveryTime"
+ type="date"
+ value-format="yyyy-MM-dd"
+ placeholder="璇烽�夋嫨寮傚父鎭㈠鏃堕棿">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="绠$悊鍗曚綅" prop="managementUnit">
+ <el-input
+ v-model="queryParams.managementUnit"
+ placeholder="璇疯緭鍏ョ鐞嗗崟浣�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ style="width: 170px"
+ />
+ </el-form-item>
+ <el-form-item label="鏄惁鐢熸垚寮傚父宸ュ崟" prop="defaultOrder" label-width="130px">
+ <el-select
+ v-model="queryParams.defaultOrder"
+ placeholder="鏄惁鐢熸垚寮傚父宸ュ崟"
+ clearable
+ style="width: 170px"
+ >
+ <el-option
+ v-for="dict in dict.type.platform_yes_no"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
+
+ <el-row :gutter="10" class="mb8">
+ <el-col :span="1.5">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-download"
+ size="mini"
+ @click="handleExport"
+ v-hasPermi="['system:monitor:export']"
+ >瀵煎嚭</el-button>
+ </el-col>
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+ </el-row>
+
+ <el-table v-loading="loading" :data="monitorList" @selection-change="handleSelectionChange">
+ <el-table-column type="selection" width="55" align="center" />
+ <el-table-column label="璁惧缂栫爜" align="center" prop="serialNumber" />
+ <el-table-column label="璁惧鍚嶇О" align="center" prop="name" />
+ <el-table-column label="璁惧鐘舵��" align="center" prop="onState">
+ <template slot-scope="scope">
+ <dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍦板潃" align="center" prop="address" />
+ <el-table-column label="鏄惁鐢熸垚寮傚父宸ュ崟" align="center" prop="defaultOrder">
+ <template slot-scope="scope">
+ <dict-tag :options="dict.type.platform_yes_no" :value="scope.row.defaultOrder"/>
+ </template>
+ </el-table-column>
+ <el-table-column label="寮傚父鍘熷洜" align="center" prop="reason" />
+ <el-table-column label="寮傚父鎭㈠鏃堕棿" align="center" prop="recoveryTime" width="180">
+ </el-table-column>
+ <el-table-column label="绠$悊鍗曚綅" align="center" prop="managementUnit" />
+ <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+ <template slot-scope="scope">
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-view"
+ @click="handleView(scope.row,scope.index)"
+ v-hasPermi="['system:monitor:query']"
+ >璇︾粏</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <pagination
+ v-show="total>0"
+ :total="total"
+ :page.sync="queryParams.pageNum"
+ :limit.sync="queryParams.pageSize"
+ @pagination="getList"
+ />
+
+ <!-- 璁惧璧勪骇璇︽儏 -->
+ <el-dialog title="鎿嶄綔鏃ュ織璇︾粏" :visible.sync="open" width="800px" append-to-body>
+ <el-form ref="form" :model="form" label-width="150px" size="mini">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="璁惧缂栫爜锛�">{{ form.serialNumber }}</el-form-item>
+ <el-form-item label="璁惧鍚嶇О锛�">{{ form.name }} </el-form-item>
+ <el-form-item label="璁惧鐘舵�侊細">
+ <div v-if="form.onState === 1">鍙敤</div>
+ <div v-else-if="form.onState === 2">涓嶅彲鐢�</div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="鍦板潃锛�">{{ form.address }}</el-form-item>
+ <el-form-item label="鏄惁鐢熸垚寮傚父宸ュ崟锛�">
+ <div v-if="form.defaultOrder === 1">鏄�</div>
+ <div v-else-if="form.defaultOrder === 2">鍚�</div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="寮傚父鍘熷洜锛�">{{ form.reason }}</el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="瀹夎鏃堕棿锛�">{{ form.installedTime }}</el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="绠$悊鍗曚綅锛�">{{ form.managementUnit }}</el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="open = false">鍏� 闂�</el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import { listMonitor, getMonitor, delMonitor, addMonitor, updateMonitor } from "@/api/platform/monitor";
+
+export default {
+ name: "Monitor",
+ dicts: ['sys_normal_disable','platform_yes_no','camera_state'],
+ data() {
+ return {
+ // 閬僵灞�
+ loading: true,
+ // 閫変腑鏁扮粍
+ ids: [],
+ // 闈炲崟涓鐢�
+ single: true,
+ // 闈炲涓鐢�
+ multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
+ // 鎬绘潯鏁�
+ total: 0,
+ // 璁惧璧勪骇琛ㄦ牸鏁版嵁
+ monitorList: [],
+ // 寮瑰嚭灞傛爣棰�
+ title: "",
+ // 鏄惁鏄剧ず寮瑰嚭灞�
+ open: false,
+ // 鏌ヨ鍙傛暟
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ serialNumber: null,
+ name: null,
+ onState: null,
+ address: null,
+ recoveryTime: null,
+ managementUnit: null,
+ defaultOrder: null,
+ recovery: 1,
+ },
+ // 琛ㄥ崟鍙傛暟
+ form: {},
+ // 琛ㄥ崟鏍¢獙
+ rules: {
+ serialNumber: [
+ { required: true, message: "璁惧缂栫爜涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ name: [
+ { required: true, message: "璁惧鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ onState: [
+ { required: true, message: "璁惧鐘舵��", trigger: "blur" }
+ ],
+ address: [
+ { required: true, message: "鍦板潃涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ }
+ };
+ },
+ created() {
+ this.getList();
+ },
+ methods: {
+ /** 鏌ヨ璁惧璧勪骇鍒楄〃 */
+ getList() {
+ this.loading = true;
+ listMonitor(this.queryParams).then(response => {
+ this.monitorList = response.rows;
+ this.total = response.total;
+ this.loading = false;
+ });
+ },
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.open = false;
+ this.reset();
+ },
+ /** 璇︾粏鎸夐挳鎿嶄綔 */
+ handleView(row) {
+ this.open = true;
+ this.form = row;
+ },
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.form = {
+ id: null,
+ serialNumber: null,
+ name: null,
+ onState: null,
+ address: null,
+ installedTime: null,
+ managementUnit: null,
+ };
+ this.resetForm("form");
+ },
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery() {
+ this.queryParams.pageNum = 1;
+ this.queryParams.recovery = 1
+ this.getList();
+ },
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.resetForm("queryForm");
+ this.handleQuery();
+ },
+ // 澶氶�夋閫変腑鏁版嵁
+ handleSelectionChange(selection) {
+ this.ids = selection.map(item => item.id)
+ this.single = selection.length!==1
+ this.multiple = !selection.length
+ },
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd() {
+ this.reset();
+ this.open = true;
+ this.title = "娣诲姞璁惧璧勪骇";
+ },
+ /** 淇敼鎸夐挳鎿嶄綔 */
+ handleUpdate(row) {
+ this.reset();
+ const id = row.id || this.ids
+ getMonitor(id).then(response => {
+ this.form = response.data;
+ this.open = true;
+ this.title = "淇敼璁惧璧勪骇";
+ });
+ },
+ /** 鎻愪氦鎸夐挳 */
+ submitForm() {
+ this.$refs["form"].validate(valid => {
+ if (valid) {
+ if (this.form.id != null) {
+ updateMonitor(this.form).then(response => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
+ } else {
+ addMonitor(this.form).then(response => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
+ }
+ }
+ });
+ },
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ handleDelete(row) {
+ const ids = row.id || this.ids;
+ this.$modal.confirm('鏄惁纭鍒犻櫎璁惧璧勪骇缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+ return delMonitor(ids);
+ }).then(() => {
+ this.getList();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }).catch(() => {});
+ },
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ this.download('system/monitor/export', {
+ ...this.queryParams
+ }, `monitor_${new Date().getTime()}.xlsx`)
+ }
+ }
+};
+</script>
diff --git a/src/views/system/video/index.vue b/src/views/system/video/index.vue
new file mode 100644
index 0000000..3f4c426
--- /dev/null
+++ b/src/views/system/video/index.vue
@@ -0,0 +1,329 @@
+<template>
+ <div class="app-container">
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+ <el-form-item label="璁惧鍚嶇О" prop="name">
+ <el-input
+ v-model="queryParams.name"
+ placeholder="璇疯緭鍏ヨ澶囧悕绉�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <el-form-item label="璁惧鐘舵��" prop="onState">
+ <el-select
+ v-model="queryParams.onState"
+ placeholder="璁惧鐘舵��"
+ clearable
+ style="width: 100px"
+ >
+ <el-option
+ v-for="dict in dict.type.camera_state"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鍦板潃" prop="address">
+ <el-input
+ v-model="queryParams.address"
+ placeholder="璇疯緭鍏ュ湴鍧�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <el-form-item label="瀹夎鏃堕棿" prop="installedTime">
+ <el-date-picker clearable
+ v-model="queryParams.installedTime"
+ type="date"
+ value-format="yyyy-MM-dd"
+ placeholder="璇烽�夋嫨瀹夎鏃堕棿">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="绠$悊鍗曚綅" prop="managementUnit">
+ <el-input
+ v-model="queryParams.managementUnit"
+ placeholder="璇疯緭鍏ョ鐞嗗崟浣�"
+ clearable
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <el-form-item label="鏄惁鐢熸垚寮傚父宸ュ崟" prop="defaultOrder" label-width="130px">
+ <el-select
+ v-model="queryParams.defaultOrder"
+ placeholder="鏄惁鐢熸垚寮傚父宸ュ崟"
+ clearable
+ style="width: 170px"
+ >
+ <el-option
+ v-for="dict in dict.type.platform_yes_no"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
+
+ <el-row :gutter="10" class="mb8">
+ <el-col :span="1.5">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-download"
+ size="mini"
+ @click="handleExport"
+ v-hasPermi="['system:monitor:export']"
+ >瀵煎嚭</el-button>
+ </el-col>
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+ </el-row>
+
+ <el-table v-loading="loading" :data="monitorList" @selection-change="handleSelectionChange">
+ <el-table-column type="selection" width="55" align="center" />
+ <el-table-column label="璁惧缂栫爜" align="center" prop="serialNumber" />
+ <el-table-column label="璁惧鍚嶇О" align="center" prop="name" />
+ <el-table-column label="璁惧鐘舵��" align="center" prop="onState">
+ <template slot-scope="scope">
+ <dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍦板潃" align="center" prop="address" />
+ <el-table-column label="鏄惁鐢熸垚寮傚父宸ュ崟" align="center" prop="defaultOrder">
+ <template slot-scope="scope">
+ <dict-tag :options="dict.type.platform_yes_no" :value="scope.row.defaultOrder"/>
+ </template>
+ </el-table-column>
+ <el-table-column label="寮傚父鍘熷洜" align="center" prop="reason" />
+ <el-table-column label="瀹夎鏃堕棿" align="center" prop="installedTime" width="180"/>
+ <el-table-column label="绠$悊鍗曚綅" align="center" prop="managementUnit" />
+ <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+ <template slot-scope="scope">
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-view"
+ @click="handleView(scope.row,scope.index)"
+ v-hasPermi="['system:monitor:query']"
+ >璇︾粏</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <pagination
+ v-show="total>0"
+ :total="total"
+ :page.sync="queryParams.pageNum"
+ :limit.sync="queryParams.pageSize"
+ @pagination="getList"
+ />
+
+ <!-- 璁惧璧勪骇璇︽儏 -->
+ <el-dialog title="鎿嶄綔鏃ュ織璇︾粏" :visible.sync="open" width="800px" append-to-body>
+ <el-form ref="form" :model="form" label-width="150px" size="mini">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="璁惧缂栫爜锛�">{{ form.serialNumber }}</el-form-item>
+ <el-form-item label="璁惧鍚嶇О锛�">{{ form.name }} </el-form-item>
+ <el-form-item label="璁惧鐘舵�侊細">
+ <div v-if="form.onState === 1">鍙敤</div>
+ <div v-else-if="form.onState === 2">涓嶅彲鐢�</div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="鍦板潃锛�">{{ form.address }}</el-form-item>
+ <el-form-item label="鏄惁鐢熸垚寮傚父宸ュ崟锛�">
+ <div v-if="form.defaultOrder === 1">鏄�</div>
+ <div v-else-if="form.defaultOrder === 2">鍚�</div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="寮傚父鍘熷洜锛�">{{ form.reason }}</el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="瀹夎鏃堕棿锛�">{{ form.installedTime }}</el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="绠$悊鍗曚綅锛�">{{ form.managementUnit }}</el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="open = false">鍏� 闂�</el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import { listMonitor, getMonitor, delMonitor, addMonitor, updateMonitor } from "@/api/platform/monitor";
+
+export default {
+ name: "Monitor",
+ dicts: ['sys_normal_disable', 'platform_yes_no','camera_state'],
+ data() {
+ return {
+ // 閬僵灞�
+ loading: true,
+ // 閫変腑鏁扮粍
+ ids: [],
+ // 闈炲崟涓鐢�
+ single: true,
+ // 闈炲涓鐢�
+ multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
+ // 鎬绘潯鏁�
+ total: 0,
+ // 璁惧璧勪骇琛ㄦ牸鏁版嵁
+ monitorList: [],
+ // 寮瑰嚭灞傛爣棰�
+ title: "",
+ // 鏄惁鏄剧ず寮瑰嚭灞�
+ open: false,
+ // 鏌ヨ鍙傛暟
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ serialNumber: null,
+ name: null,
+ onState: null,
+ address: null,
+ installedTime: null,
+ managementUnit: null,
+ defaultOrder: null,
+ cameraFunType: 1,
+ },
+ // 琛ㄥ崟鍙傛暟
+ form: {},
+ // 琛ㄥ崟鏍¢獙
+ rules: {
+ serialNumber: [
+ { required: true, message: "璁惧缂栫爜涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ name: [
+ { required: true, message: "璁惧鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ onState: [
+ { required: true, message: "璁惧鐘舵��", trigger: "blur" }
+ ],
+ address: [
+ { required: true, message: "鍦板潃涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ }
+ };
+ },
+ created() {
+ this.getList();
+ },
+ methods: {
+ /** 鏌ヨ璁惧璧勪骇鍒楄〃 */
+ getList() {
+ this.loading = true;
+ listMonitor(this.queryParams).then(response => {
+ this.monitorList = response.rows;
+ this.total = response.total;
+ this.loading = false;
+ });
+ },
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.open = false;
+ this.reset();
+ },
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.form = {
+ id: null,
+ serialNumber: null,
+ name: null,
+ onState: null,
+ address: null,
+ installedTime: null,
+ managementUnit: null,
+ defaultOrder: "1",
+ };
+ this.resetForm("form");
+ },
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery() {
+ this.queryParams.pageNum = 1;
+ this.queryParams.cameraFunType = 1;
+ this.getList();
+ },
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.resetForm("queryForm");
+ this.handleQuery();
+ },
+
+ // 澶氶�夋閫変腑鏁版嵁
+ handleSelectionChange(selection) {
+ this.ids = selection.map(item => item.id)
+ this.single = selection.length!==1
+ this.multiple = !selection.length
+ },
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd() {
+ this.reset();
+ this.open = true;
+ this.title = "娣诲姞璁惧璧勪骇";
+ },
+ /** 璇︾粏鎸夐挳鎿嶄綔 */
+ handleView(row) {
+ this.open = true;
+ this.form = row;
+ },
+ /** 淇敼鎸夐挳鎿嶄綔 */
+ handleUpdate(row) {
+ this.reset();
+ const id = row.id || this.ids
+ getMonitor(id).then(response => {
+ this.form = response.data;
+ this.open = true;
+ this.title = "淇敼璁惧璧勪骇";
+ });
+ },
+ /** 鎻愪氦鎸夐挳 */
+ submitForm() {
+ this.$refs["form"].validate(valid => {
+ if (valid) {
+ if (this.form.id != null) {
+ updateMonitor(this.form).then(response => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
+ } else {
+ addMonitor(this.form).then(response => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
+ }
+ }
+ });
+ },
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ handleDelete(row) {
+ const ids = row.id || this.ids;
+ this.$modal.confirm('鏄惁纭鍒犻櫎璁惧璧勪骇缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+ return delMonitor(ids);
+ }).then(() => {
+ this.getList();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }).catch(() => {});
+ },
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ this.download('system/monitor/export', {
+ ...this.queryParams
+ }, `monitor_${new Date().getTime()}.xlsx`)
+ }
+ }
+};
+</script>
diff --git a/src/views/system/work-order/index.vue b/src/views/system/work-order/index.vue
index c476d51..993fa72 100644
--- a/src/views/system/work-order/index.vue
+++ b/src/views/system/work-order/index.vue
@@ -16,7 +16,7 @@
@clear="handleQuery"
v-model="daterangeYwHandleTime"
style="width: 240px"
- value-format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="寮�濮嬫棩鏈�"
@@ -78,6 +78,8 @@
<el-table v-loading="loading" :data="workOrderList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="宸ュ崟鍙�" align="center" prop="workOrderNo" width="170"/>
+ <el-table-column label="宸ュ崟鏉ユ簮" align="center" prop="source" width="170"/>
+ <el-table-column label="鏁呴殰绫诲瀷" align="center" prop="errorType" width="170"/>
<el-table-column label="杩愮淮鍗曚綅" align="center" prop="unitName" width="150"/>
<el-table-column label="杩愮淮浜哄憳" align="center" prop="ywPeopleName" />
<el-table-column label="杩愮淮澶勭悊鏃堕棿" align="center" prop="ywHandleTime" width="180"/>
@@ -250,7 +252,7 @@
</template>
<script>
-import { listWorkOrder, getWorkOrder, delWorkOrder, addWorkOrder, updateWorkOrder } from "@/api/platform/work-order";
+import { listWorkOrder, getWorkOrder, delWorkOrder, addWorkOrder, updateWorkOrder,auditing, ywCondition } from "@/api/platform/work-order";
export default {
name: "Work-order",
@@ -357,7 +359,14 @@
},
// 鎻愪氦瀹℃牳
submitAuditing() {
- // todo
+ this.$refs["auditingForm"].validate(valid => {
+ if (valid) {
+ auditing(this.auditingForm).then(res => {
+ this.auditingOpen = false;
+ this.$modal.msgSuccess("鎿嶄綔鎴愬姛");
+ })
+ }
+ })
},
// 鍙栨秷瀹℃牳
cancelAuditing() {
@@ -366,7 +375,14 @@
},
// 鎻愪氦杩愮淮鎯呭喌
submitYwCondition() {
- // todo
+ this.$refs["ywConditionForm"].validate(valid => {
+ if (valid) {
+ ywCondition(this.ywConditionForm).then(res => {
+ this.ywConditionOpen = false;
+ this.$modal.msgSuccess("鎿嶄綔鎴愬姛");
+ })
+ }
+ })
},
cancelYwCondition() {
this.ywConditionForm = {};
--
Gitblit v1.8.0