From 1c391db321fae77ddcd297e14fbe1429960ead49 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期二, 05 三月 2024 14:42:20 +0800
Subject: [PATCH] 景区运行数据基础功能
---
src/api/sceneryInfo/index.ts | 63 ++
src/api/pcr/pcrData/types.ts | 46 -
src/api/indicatorInfo/types.ts | 66 ++
src/api/scenery/sceneryOperationData/index.ts | 21
src/api/scenery/sceneryOperationData/types.ts | 93 +--
src/api/ti/trafficIndex/types.ts | 60 +-
src/views/scenery/sceneryOperationData/index.vue | 161 ++++--
src/views/sceneryInfo/index.vue | 219 +++++++++
src/api/sceneryInfo/types.ts | 81 +++
src/views/ti/trafficIndex/index.vue | 134 +++--
src/views/dg/danger/total.vue | 25
src/views/pcr/pcrData/index.vue | 184 ++++---
src/api/indicatorInfo/index.ts | 63 ++
src/views/indicatorInfo/index.vue | 106 ++++
14 files changed, 980 insertions(+), 342 deletions(-)
diff --git a/src/api/indicatorInfo/index.ts b/src/api/indicatorInfo/index.ts
new file mode 100644
index 0000000..d024779
--- /dev/null
+++ b/src/api/indicatorInfo/index.ts
@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { IndicatorInfoVO, IndicatorInfoForm, IndicatorInfoQuery } from '@/api/indicatorInfo/types';
+
+/**
+ * 鏌ヨ鎸囨爣鍙栧�煎垪琛�
+ * @param query
+ * @returns {*}
+ */
+
+export const listIndicatorInfo = (query?: IndicatorInfoQuery): AxiosPromise<IndicatorInfoVO[]> => {
+ return request({
+ url: '/demo/indicatorInfo/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 鏌ヨ鎸囨爣鍙栧�艰缁�
+ * @param id
+ */
+export const getIndicatorInfo = (id: string | number): AxiosPromise<IndicatorInfoVO> => {
+ return request({
+ url: '/demo/indicatorInfo/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 鏂板鎸囨爣鍙栧��
+ * @param data
+ */
+export const addIndicatorInfo = (data: IndicatorInfoForm) => {
+ return request({
+ url: '/demo/indicatorInfo',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 淇敼鎸囨爣鍙栧��
+ * @param data
+ */
+export const updateIndicatorInfo = (data: IndicatorInfoForm) => {
+ return request({
+ url: '/demo/indicatorInfo',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 鍒犻櫎鎸囨爣鍙栧��
+ * @param id
+ */
+export const delIndicatorInfo = (id: string | number | Array<string | number>) => {
+ return request({
+ url: '/demo/indicatorInfo/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/indicatorInfo/types.ts b/src/api/indicatorInfo/types.ts
new file mode 100644
index 0000000..7d54dce
--- /dev/null
+++ b/src/api/indicatorInfo/types.ts
@@ -0,0 +1,66 @@
+export interface IndicatorInfoVO {
+ /**
+ * 缂栧彿
+ */
+ id: string | number;
+
+ /**
+ * 鎸囨爣鍚嶇О
+ */
+ indicatorName: string;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ createTime: string;
+
+ /**
+ * 鐘舵�� 1鑷畾涔� 2鎸囨爣鍙栧��
+ */
+ status: number;
+
+}
+
+export interface IndicatorInfoForm extends BaseEntity {
+ /**
+ * 缂栧彿
+ */
+ id?: string | number;
+
+ /**
+ * 鎸囨爣鍚嶇О
+ */
+ indicatorName?: string;
+
+ /**
+ * 鐘舵�� 1鑷畾涔� 2鎸囨爣鍙栧��
+ */
+ status?: number;
+
+}
+
+export interface IndicatorInfoQuery extends PageQuery {
+
+ /**
+ * 鎸囨爣鍚嶇О
+ */
+ indicatorName?: string;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ createTime?: string;
+
+ /**
+ * 鐘舵�� 1鑷畾涔� 2鎸囨爣鍙栧��
+ */
+ status?: number;
+
+ /**
+ * 鏃ユ湡鑼冨洿鍙傛暟
+ */
+ params?: any;
+}
+
+
+
diff --git a/src/api/pcr/pcrData/types.ts b/src/api/pcr/pcrData/types.ts
index e410e7c..cbc94f9 100644
--- a/src/api/pcr/pcrData/types.ts
+++ b/src/api/pcr/pcrData/types.ts
@@ -12,12 +12,12 @@
/**
* 鍛ㄦ湡
*/
- periodName: string;
+ period: number;
/**
* 鍛ㄦ湡骞�
*/
- periodYear: string;
+ periodDate: string;
/**
* 鍛ㄦ湡鏈�
@@ -32,7 +32,7 @@
/**
* 鎸囨爣1鍊�
*/
- indexOneValue: number;
+ indexOneValue: string;
/**
* 鎸囨爣2鍚嶇О
@@ -42,7 +42,7 @@
/**
* 鎸囨爣2鍊�
*/
- indexTwoValue: number;
+ indexTwoValue: string;
/**
* 鎸囨爣3鍚嶇О
@@ -52,7 +52,7 @@
/**
* 鎸囨爣3鍊�
*/
- indexThreeValue: number;
+ indexThreeValue: string;
/**
* 鎸囨爣4鍚嶇О
@@ -62,7 +62,7 @@
/**
* 鎸囨爣4鍊�
*/
- indexFourValue: number;
+ indexFourValue: string;
/**
* 鐘舵�� 1鍚敤 0鏈惎鐢�
@@ -85,17 +85,12 @@
/**
* 鍛ㄦ湡
*/
- periodName?: string;
+ period?: number;
/**
* 鍛ㄦ湡骞�
*/
- periodYear?: string;
-
- /**
- * 鍛ㄦ湡鏈�
- */
- periodMonth?: number;
+ periodDate?: string;
/**
* 鎸囨爣1鍚嶇О
@@ -105,7 +100,7 @@
/**
* 鎸囨爣1鍊�
*/
- indexOneValue?: number;
+ indexOneValue?: string;
/**
* 鎸囨爣2鍚嶇О
@@ -115,7 +110,7 @@
/**
* 鎸囨爣2鍊�
*/
- indexTwoValue?: number;
+ indexTwoValue?: string;
/**
* 鎸囨爣3鍚嶇О
@@ -125,7 +120,7 @@
/**
* 鎸囨爣3鍊�
*/
- indexThreeValue?: number;
+ indexThreeValue?: string;
/**
* 鎸囨爣4鍚嶇О
@@ -135,7 +130,7 @@
/**
* 鎸囨爣4鍊�
*/
- indexFourValue?: number;
+ indexFourValue?: string;
/**
* 鐘舵�� 1鍚敤 0鏈惎鐢�
@@ -154,17 +149,12 @@
/**
* 鍛ㄦ湡
*/
- periodName?: string;
+ period?: number;
/**
* 鍛ㄦ湡骞�
*/
- periodYear?: string;
-
- /**
- * 鍛ㄦ湡鏈�
- */
- periodMonth?: number;
+ periodDate?: string;
/**
* 鎸囨爣1鍚嶇О
@@ -174,7 +164,7 @@
/**
* 鎸囨爣1鍊�
*/
- indexOneValue?: number;
+ indexOneValue?: string;
/**
* 鎸囨爣2鍚嶇О
@@ -184,7 +174,7 @@
/**
* 鎸囨爣2鍊�
*/
- indexTwoValue?: number;
+ indexTwoValue?: string;
/**
* 鎸囨爣3鍚嶇О
@@ -194,7 +184,7 @@
/**
* 鎸囨爣3鍊�
*/
- indexThreeValue?: number;
+ indexThreeValue?: string;
/**
* 鎸囨爣4鍚嶇О
@@ -204,7 +194,7 @@
/**
* 鎸囨爣4鍊�
*/
- indexFourValue?: number;
+ indexFourValue?: string;
/**
* 鐘舵�� 1鍚敤 0鏈惎鐢�
diff --git a/src/api/scenery/sceneryOperationData/index.ts b/src/api/scenery/sceneryOperationData/index.ts
index 144700e..3a0cca7 100644
--- a/src/api/scenery/sceneryOperationData/index.ts
+++ b/src/api/scenery/sceneryOperationData/index.ts
@@ -1,6 +1,7 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { SceneryOperationDataVO, SceneryOperationDataForm, SceneryOperationDataQuery } from '@/api/scenery/sceneryOperationData/types';
+import { SceneryInfoVO } from '@/api/sceneryInfo/types';
/**
* 鏌ヨ鏅尯杩愯鏁版嵁鍒楄〃
@@ -10,7 +11,7 @@
export const listSceneryOperationData = (query?: SceneryOperationDataQuery): AxiosPromise<SceneryOperationDataVO[]> => {
return request({
- url: '/sc/sceneryOperationData/list',
+ url: '/demo/sceneryOperationData/list',
method: 'get',
params: query
});
@@ -22,7 +23,17 @@
*/
export const getSceneryOperationData = (id: string | number): AxiosPromise<SceneryOperationDataVO> => {
return request({
- url: '/sc/sceneryOperationData/' + id,
+ url: '/demo/sceneryOperationData/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 鏌ヨ鏅尯鍚嶇О
+ */
+export const getSceneryInfoNames = (): AxiosPromise<SceneryInfoVO[]> => {
+ return request({
+ url: '/demo/sceneryInfo/list',
method: 'get'
});
};
@@ -33,7 +44,7 @@
*/
export const addSceneryOperationData = (data: SceneryOperationDataForm) => {
return request({
- url: '/sc/sceneryOperationData',
+ url: '/demo/sceneryOperationData',
method: 'post',
data: data
});
@@ -45,7 +56,7 @@
*/
export const updateSceneryOperationData = (data: SceneryOperationDataForm) => {
return request({
- url: '/sc/sceneryOperationData',
+ url: '/demo/sceneryOperationData',
method: 'put',
data: data
});
@@ -57,7 +68,7 @@
*/
export const delSceneryOperationData = (id: string | number | Array<string | number>) => {
return request({
- url: '/sc/sceneryOperationData/' + id,
+ url: '/demo/sceneryOperationData/' + id,
method: 'delete'
});
};
diff --git a/src/api/scenery/sceneryOperationData/types.ts b/src/api/scenery/sceneryOperationData/types.ts
index 2473496..8d14742 100644
--- a/src/api/scenery/sceneryOperationData/types.ts
+++ b/src/api/scenery/sceneryOperationData/types.ts
@@ -5,14 +5,24 @@
id: string | number;
/**
- * 鍛ㄦ湡骞�
+ * 鏅尯id
*/
- periodYear: number;
+ sceneryInfoId: string | number;
/**
- * 鍛ㄦ湡鏈�
+ * 鏅尯鍚嶇О
*/
- periodMonth: number;
+ sceneryInfoName: string;
+
+ /**
+ * 骞村害/鏈堝害 1骞村害 2鏈堝害
+ */
+ period: number;
+
+ /**
+ * 鍛ㄦ湡
+ */
+ periodDate: string;
/**
* 杞︽祦閲�
@@ -55,9 +65,9 @@
status: number;
/**
- * 鏅尯id
+ * 鍒涘缓鏃堕棿
*/
- scId: string | number;
+ createTime: string;
}
@@ -68,14 +78,24 @@
id?: string | number;
/**
- * 鍛ㄦ湡骞�
+ * 鏅尯id
*/
- periodYear?: number;
+ sceneryInfoId?: string | number;
/**
- * 鍛ㄦ湡鏈�
+ * 鏅尯鍚嶇О
*/
- periodMonth?: number;
+ sceneryInfoName?: string;
+
+ /**
+ * 骞村害/鏈堝害 1骞村害 2鏈堝害
+ */
+ period?: number;
+
+ /**
+ * 鍛ㄦ湡
+ */
+ periodDate?: string;
/**
* 杞︽祦閲�
@@ -116,70 +136,25 @@
* 鐘舵�� 1鍚敤 0鏈惎鐢�
*/
status?: number;
-
- /**
- * 鏅尯id
- */
- scId?: string | number;
}
export interface SceneryOperationDataQuery extends PageQuery {
/**
- * 鍛ㄦ湡骞�
+ * 鏅尯鍚嶇О
*/
- periodYear?: number;
+ sceneryInfoName?: string;
/**
- * 鍛ㄦ湡鏈�
+ * 鍛ㄦ湡
*/
- periodMonth?: number;
-
- /**
- * 杞︽祦閲�
- */
- carFlowNum?: number;
-
- /**
- * 浜烘祦閲�
- */
- personFlowNum?: number;
-
- /**
- * 娓稿棰勭害
- */
- visitorSubNum?: number;
-
- /**
- * 鍏ュ洯浜烘暟
- */
- enterGardenNum?: number;
-
- /**
- * 鍦ㄥ矖璀﹀姏
- */
- onPolice?: number;
-
- /**
- * 鍦ㄥ矖璀﹁溅
- */
- onPaddyWagon?: number;
-
- /**
- * 澶囧嫟璀﹀姏
- */
- standbyPolice?: number;
+ periodDate?: string;
/**
* 鐘舵�� 1鍚敤 0鏈惎鐢�
*/
status?: number;
-
- /**
- * 鏅尯id
- */
- scId?: string | number;
/**
* 鏃ユ湡鑼冨洿鍙傛暟
diff --git a/src/api/sceneryInfo/index.ts b/src/api/sceneryInfo/index.ts
new file mode 100644
index 0000000..6985608
--- /dev/null
+++ b/src/api/sceneryInfo/index.ts
@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { SceneryInfoVO, SceneryInfoForm, SceneryInfoQuery } from '@/api/sceneryInfo/types';
+
+/**
+ * 鏌ヨ鏅尯閰嶇疆淇℃伅鍒楄〃
+ * @param query
+ * @returns {*}
+ */
+
+export const listSceneryInfo = (query?: SceneryInfoQuery): AxiosPromise<SceneryInfoVO[]> => {
+ return request({
+ url: '/demo/sceneryInfo/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 鏌ヨ鏅尯閰嶇疆淇℃伅璇︾粏
+ * @param id
+ */
+export const getSceneryInfo = (id: string | number): AxiosPromise<SceneryInfoVO> => {
+ return request({
+ url: '/demo/sceneryInfo/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 鏂板鏅尯閰嶇疆淇℃伅
+ * @param data
+ */
+export const addSceneryInfo = (data: SceneryInfoForm) => {
+ return request({
+ url: '/demo/sceneryInfo',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 淇敼鏅尯閰嶇疆淇℃伅
+ * @param data
+ */
+export const updateSceneryInfo = (data: SceneryInfoForm) => {
+ return request({
+ url: '/demo/sceneryInfo',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 鍒犻櫎鏅尯閰嶇疆淇℃伅
+ * @param id
+ */
+export const delSceneryInfo = (id: string | number | Array<string | number>) => {
+ return request({
+ url: '/demo/sceneryInfo/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/sceneryInfo/types.ts b/src/api/sceneryInfo/types.ts
new file mode 100644
index 0000000..14d09d0
--- /dev/null
+++ b/src/api/sceneryInfo/types.ts
@@ -0,0 +1,81 @@
+export interface SceneryInfoVO {
+ /**
+ * 缂栧彿
+ */
+ id: string | number;
+
+ /**
+ * 鏅尯鍚嶇О
+ */
+ sceneryName: string;
+
+ /**
+ * 鎺掑簭
+ */
+ sequence: number;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ createTime: string;
+
+ /**
+ * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
+ */
+ status: number;
+
+}
+
+export interface SceneryInfoForm extends BaseEntity {
+ /**
+ * 缂栧彿
+ */
+ id?: string | number;
+
+ /**
+ * 鏅尯鍚嶇О
+ */
+ sceneryName?: string;
+
+ /**
+ * 鎺掑簭
+ */
+ sequence?: number;
+
+ /**
+ * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
+ */
+ status?: number;
+
+}
+
+export interface SceneryInfoQuery extends PageQuery {
+
+ /**
+ * 鏅尯鍚嶇О
+ */
+ sceneryName?: string;
+
+ /**
+ * 鎺掑簭
+ */
+ sequence?: number;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ createTime?: string;
+
+ /**
+ * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
+ */
+ status?: number;
+
+ /**
+ * 鏃ユ湡鑼冨洿鍙傛暟
+ */
+ params?: any;
+}
+
+
+
diff --git a/src/api/ti/trafficIndex/types.ts b/src/api/ti/trafficIndex/types.ts
index 0ddb981..18c4d69 100644
--- a/src/api/ti/trafficIndex/types.ts
+++ b/src/api/ti/trafficIndex/types.ts
@@ -17,7 +17,7 @@
/**
* 鎸囨爣1鍊�
*/
- targetOneValue: number;
+ targetOneValue: string;
/**
* 鎸囨爣1鍗曚綅
@@ -32,7 +32,7 @@
/**
* 鎸囨爣1涓婃诞鎴栦笅闄嶅��
*/
- targetOneCompareValue: number;
+ targetOneCompareValue: string;
/**
* 鎸囨爣2鍚嶇О
@@ -42,7 +42,7 @@
/**
* 鎸囨爣2鍊�
*/
- targetTwoValue: number;
+ targetTwoValue: string;
/**
* 鎸囨爣2鍗曚綅
@@ -57,7 +57,7 @@
/**
* 鎸囨爣2涓婃诞鎴栦笅闄嶅��
*/
- targetTwoCompareValue: number;
+ targetTwoCompareValue: string;
/**
* 鎸囨爣3鍚嶇О
@@ -67,7 +67,7 @@
/**
* 鎸囨爣3鍊�
*/
- targetThreeValue: number;
+ targetThreeValue: string;
/**
* 鎸囨爣3鍗曚綅
@@ -82,7 +82,7 @@
/**
* 鎸囨爣3涓婃诞鎴栦笅闄嶅��
*/
- targetThreeCompareValue: number;
+ targetThreeCompareValue: string;
/**
* 鎸囨爣4鍚嶇О
@@ -92,7 +92,7 @@
/**
* 鎸囨爣4鍊�
*/
- targetFourValue: number;
+ targetFourValue: string;
/**
* 鎸囨爣4鍗曚綅
@@ -107,7 +107,7 @@
/**
* 鎸囨爣4涓婃诞鎴栦笅闄嶅��
*/
- targetFourCompareValue: number;
+ targetFourCompareValue: string;
/**
* 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
@@ -117,12 +117,12 @@
/**
* 鍛ㄦ湡 1 鏈� 2骞�
*/
- periodName: string;
+ period: number;
/**
* 鍛ㄦ湡鍊�
*/
- periodValue: number;
+ periodDate: string;
/**
* 0鏈垹闄� 1宸插垹闄�
@@ -150,7 +150,7 @@
/**
* 鎸囨爣1鍊�
*/
- targetOneValue?: number;
+ targetOneValue?: string;
/**
* 鎸囨爣1鍗曚綅
@@ -165,7 +165,7 @@
/**
* 鎸囨爣1涓婃诞鎴栦笅闄嶅��
*/
- targetOneCompareValue?: number;
+ targetOneCompareValue?: string;
/**
* 鎸囨爣2鍚嶇О
@@ -175,7 +175,7 @@
/**
* 鎸囨爣2鍊�
*/
- targetTwoValue?: number;
+ targetTwoValue?: string;
/**
* 鎸囨爣2鍗曚綅
@@ -190,7 +190,7 @@
/**
* 鎸囨爣2涓婃诞鎴栦笅闄嶅��
*/
- targetTwoCompareValue?: number;
+ targetTwoCompareValue?: string;
/**
* 鎸囨爣3鍚嶇О
@@ -200,7 +200,7 @@
/**
* 鎸囨爣3鍊�
*/
- targetThreeValue?: number;
+ targetThreeValue?: string;
/**
* 鎸囨爣3鍗曚綅
@@ -215,7 +215,7 @@
/**
* 鎸囨爣3涓婃诞鎴栦笅闄嶅��
*/
- targetThreeCompareValue?: number;
+ targetThreeCompareValue?: string;
/**
* 鎸囨爣4鍚嶇О
@@ -225,7 +225,7 @@
/**
* 鎸囨爣4鍊�
*/
- targetFourValue?: number;
+ targetFourValue?: string;
/**
* 鎸囨爣4鍗曚綅
@@ -240,7 +240,7 @@
/**
* 鎸囨爣4涓婃诞鎴栦笅闄嶅��
*/
- targetFourCompareValue?: number;
+ targetFourCompareValue?: string;
/**
* 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
@@ -250,12 +250,12 @@
/**
* 鍛ㄦ湡 1 鏈� 2骞�
*/
- periodName?: string;
+ period?: number;
/**
* 鍛ㄦ湡鍊�
*/
- periodValue?: number;
+ periodDate?: string;
/**
* 0鏈垹闄� 1宸插垹闄�
@@ -279,7 +279,7 @@
/**
* 鎸囨爣1鍊�
*/
- targetOneValue?: number;
+ targetOneValue?: string;
/**
* 鎸囨爣1鍗曚綅
@@ -294,7 +294,7 @@
/**
* 鎸囨爣1涓婃诞鎴栦笅闄嶅��
*/
- targetOneCompareValue?: number;
+ targetOneCompareValue?: string;
/**
* 鎸囨爣2鍚嶇О
@@ -304,7 +304,7 @@
/**
* 鎸囨爣2鍊�
*/
- targetTwoValue?: number;
+ targetTwoValue?: string;
/**
* 鎸囨爣2鍗曚綅
@@ -319,7 +319,7 @@
/**
* 鎸囨爣2涓婃诞鎴栦笅闄嶅��
*/
- targetTwoCompareValue?: number;
+ targetTwoCompareValue?: string;
/**
* 鎸囨爣3鍚嶇О
@@ -329,7 +329,7 @@
/**
* 鎸囨爣3鍊�
*/
- targetThreeValue?: number;
+ targetThreeValue?: string;
/**
* 鎸囨爣3鍗曚綅
@@ -344,7 +344,7 @@
/**
* 鎸囨爣3涓婃诞鎴栦笅闄嶅��
*/
- targetThreeCompareValue?: number;
+ targetThreeCompareValue?: string;
/**
* 鎸囨爣4鍚嶇О
@@ -354,7 +354,7 @@
/**
* 鎸囨爣4鍊�
*/
- targetFourValue?: number;
+ targetFourValue?: string;
/**
* 鎸囨爣4鍗曚綅
@@ -369,7 +369,7 @@
/**
* 鎸囨爣4涓婃诞鎴栦笅闄嶅��
*/
- targetFourCompareValue?: number;
+ targetFourCompareValue?: string;
/**
* 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
@@ -379,12 +379,12 @@
/**
* 鍛ㄦ湡 1 鏈� 2骞�
*/
- periodName?: string;
+ period?: number;
/**
* 鍛ㄦ湡鍊�
*/
- periodValue?: number;
+ periodDate?: string;
/**
* 0鏈垹闄� 1宸插垹闄�
diff --git a/src/views/dg/danger/total.vue b/src/views/dg/danger/total.vue
index 8657463..34a9652 100644
--- a/src/views/dg/danger/total.vue
+++ b/src/views/dg/danger/total.vue
@@ -82,16 +82,16 @@
<el-form ref="dangerTotalFormRef" :model="form" :rules="rules" label-width="80px">
<el-form-item label="闀囪鍚嶇О" prop="townStreetName" label-width="100">
<!-- <el-input v-model="form.townStreetName" placeholder="璇疯緭鍏ラ晣琛楀悕绉�" /> -->
- <el-select v-model="form.townStreetName" placeholder="璇烽�夋嫨" clearable style="width: 240px" @keyup.enter="handleQuery" >
+ <el-select v-model="form.townStreetName" placeholder="璇烽�夋嫨" clearable style="width: 240px" >
<el-option v-for="item in townStreetNames" :key="item.townStreetName" :label="item.townStreetName" :value="item.townStreetName"/>
</el-select>
</el-form-item>
<el-form-item label="缁熻鍛ㄦ湡" prop="periodDate" label-width="100">
- <el-select v-model="form.period" placeholder="璇烽�夋嫨" style="width: 100px;">
+ <el-select v-model="form.period" placeholder="璇烽�夋嫨" style="width: 100px;" @change="clearPeriod">
<el-option key="1" label="骞村害" :value="1" />
<el-option key="2" label="鏈堝害" :value="2" />
</el-select>
-
+  
<el-date-picker v-model="form.periodDate" :type="pickerType" :value-format="pickerFormat" placeholder="璇烽�夋嫨缁熻鍛ㄦ湡" />
</el-form-item>
<el-form-item label="鍙戠幇闅愭偅" prop="findSecurityRisks" label-width="100">
@@ -144,12 +144,12 @@
});
const townStreetNames = [
- {
- townStreetName: '骞哥琛楅亾',
- },
- {
- townStreetName: '閾舵潖琛楅亾'
- }];
+{
+ townStreetName: '骞哥琛楅亾',
+},
+{
+ townStreetName: '閾舵潖琛楅亾'
+}];
const initFormData: DangerTotalForm = {
id: undefined,
@@ -159,7 +159,7 @@
findSecurityRisks: undefined,
issueNotice: undefined,
dealWithSecurityRisks: undefined,
- status: undefined
+ status: 1
}
const data = reactive<PageData<DangerTotalForm, DangerTotalQuery>>({
form: {...initFormData},
@@ -309,4 +309,9 @@
const pickerFormat = computed(() => {
return form.value.period === 1 ? 'YYYY' : 'YYYY-MM';
});
+
+/** 娓呯┖鍛ㄦ湡 */
+const clearPeriod = () => {
+ form.value.periodDate = undefined;
+};
</script>
diff --git a/src/views/indicatorInfo/index.vue b/src/views/indicatorInfo/index.vue
new file mode 100644
index 0000000..4f9becb
--- /dev/null
+++ b/src/views/indicatorInfo/index.vue
@@ -0,0 +1,106 @@
+<template>
+ <div class="p-2">
+ <el-form ref="indicatorInfoFormRef" :model="form" :rules="rules" label-width="80px">
+ <el-form-item :label="indicator.indicatorName" v-for="indicator in indicatorInfoList" :key="indicator.id">
+ <el-radio-group v-model="indicator.status">
+ <el-radio :label="2">鎺ュ彛鍙栧��</el-radio>
+ <el-radio :label="1">鑷畾涔�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-form>
+ <div class="dialog-footer">
+ <el-button :loading="buttonLoading" type="primary" @click="submitForm">纭� 瀹�</el-button>
+ </div>
+ </div>
+</template>
+
+<script setup lang="ts">
+import { ref, reactive, onMounted, toRefs } from 'vue';
+import { listIndicatorInfo, updateIndicatorInfo } from '@/api/indicatorInfo';
+import { IndicatorInfoVO, IndicatorInfoForm } from '@/api/indicatorInfo/types';
+import { ElForm, ElFormItem, ElRadioGroup, ElRadio, ElButton } from 'element-plus';
+
+const { proxy } = getCurrentInstance() as ComponentInternalInstance;
+
+const indicatorInfoList = ref<IndicatorInfoVO[]>([]);
+const buttonLoading = ref(false);
+const loading = ref(true);
+const total = ref(0);
+
+const indicatorInfoFormRef = ref<ElFormInstance>();
+
+const initFormData: IndicatorInfoForm = {
+ id: undefined,
+ indicatorName: undefined,
+ status: undefined
+}
+const data = reactive({
+ form: {...initFormData},
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ indicatorName: undefined,
+ createTime: undefined,
+ status: undefined,
+ params: {}
+ },
+ rules: {
+ id: [
+ { required: true, message: "缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ indicatorName: [
+ { required: true, message: "鎸囨爣鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ status: [
+ { required: true, message: "鐘舵�� 1鑷畾涔� 2鎸囨爣鍙栧�间笉鑳戒负绌�", trigger: "change" }
+ ]
+ }
+});
+
+const { queryParams, form, rules } = toRefs(data);
+
+/** 鏌ヨ鎸囨爣鍙栧�煎垪琛� */
+const getList = async () => {
+ loading.value = true;
+ try {
+ const res = await listIndicatorInfo(queryParams.value);
+ indicatorInfoList.value = res.rows;
+ total.value = res.total;
+ } catch (error) {
+ console.error(error);
+ } finally {
+ loading.value = false;
+ }
+}
+
+/** 鎻愪氦鎸夐挳 */
+const submitForm = async () => {
+ try {
+ // 寰幆鎻愪氦姣忎釜鍗曠嫭鐨勫璞�
+ for (const indicator of indicatorInfoList.value) {
+ const object = {
+ id: indicator.id,
+ status: indicator.status
+ };
+ console.log(object)
+ await updateIndicatorInfo(object);
+ }
+ await getList();
+ proxy?.$modal.msgSuccess("淇敼鎴愬姛");
+ } catch (error) {
+ console.error(error);
+ } finally {
+ buttonLoading.value = false;
+ }
+}
+
+onMounted(() => {
+ getList();
+});
+</script>
+
+<style scoped>
+.p-2 {
+ padding: 2rem;
+}
+</style>
diff --git a/src/views/pcr/pcrData/index.vue b/src/views/pcr/pcrData/index.vue
index 6df7cf1..4ee1f52 100644
--- a/src/views/pcr/pcrData/index.vue
+++ b/src/views/pcr/pcrData/index.vue
@@ -3,41 +3,14 @@
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div class="search" v-show="showSearch">
<el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
- <el-form-item label="妯″潡鍚嶇О" prop="modeName">
- <el-input v-model="queryParams.modeName" placeholder="璇疯緭鍏ユā鍧楀悕绉�" clearable style="width: 240px" @keyup.enter="handleQuery" />
+ <el-form-item label="缁熻鍛ㄦ湡" prop="periodDate">
+ <el-input v-model="queryParams.periodDate" placeholder="璇疯緭鍏ョ粺璁″懆鏈�" clearable style="width: 240px" @keyup.enter="handleQuery" />
</el-form-item>
- <el-form-item label="鍛ㄦ湡" prop="periodName">
- <el-input v-model="queryParams.periodName" placeholder="璇疯緭鍏ュ懆鏈�" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="鍛ㄦ湡骞�" prop="periodYear">
- <el-input v-model="queryParams.periodYear" placeholder="璇疯緭鍏ュ懆鏈熷勾" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="鍛ㄦ湡鏈�" prop="periodMonth">
- <el-input v-model="queryParams.periodMonth" placeholder="璇疯緭鍏ュ懆鏈熸湀" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="鎸囨爣1鍚嶇О" prop="indexOneName">
- <el-input v-model="queryParams.indexOneName" placeholder="璇疯緭鍏ユ寚鏍�1鍚嶇О" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="鎸囨爣1鍊�" prop="indexOneValue">
- <el-input v-model="queryParams.indexOneValue" placeholder="璇疯緭鍏ユ寚鏍�1鍊�" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="鎸囨爣2鍚嶇О" prop="indexTwoName">
- <el-input v-model="queryParams.indexTwoName" placeholder="璇疯緭鍏ユ寚鏍�2鍚嶇О" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="鎸囨爣2鍊�" prop="indexTwoValue">
- <el-input v-model="queryParams.indexTwoValue" placeholder="璇疯緭鍏ユ寚鏍�2鍊�" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="鎸囨爣3鍚嶇О" prop="indexThreeName">
- <el-input v-model="queryParams.indexThreeName" placeholder="璇疯緭鍏ユ寚鏍�3鍚嶇О" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="鎸囨爣3鍊�" prop="indexThreeValue">
- <el-input v-model="queryParams.indexThreeValue" placeholder="璇疯緭鍏ユ寚鏍�3鍊�" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="鎸囨爣4鍚嶇О" prop="indexFourName">
- <el-input v-model="queryParams.indexFourName" placeholder="璇疯緭鍏ユ寚鏍�4鍚嶇О" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="鎸囨爣4鍊�" prop="indexFourValue">
- <el-input v-model="queryParams.indexFourValue" placeholder="璇疯緭鍏ユ寚鏍�4鍊�" clearable style="width: 240px" @keyup.enter="handleQuery" />
+ <el-form-item label="鐘舵��" prop="status">
+ <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨" clearable style="width: 240px" @keyup.enter="handleQuery" >
+ <el-option key="1" label="宸插惎鐢�" value="1" />
+ <el-option key="2" label="宸茬鐢�" value="2" />
+ </el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button>
@@ -68,20 +41,24 @@
<el-table v-loading="loading" :data="pcrDataList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
- <el-table-column label="" align="center" prop="id" v-if="true" />
+ <el-table-column label="搴忓彿" type="index" width="50"/>
<el-table-column label="妯″潡鍚嶇О" align="center" prop="modeName" />
- <el-table-column label="鍛ㄦ湡" align="center" prop="periodName" />
- <el-table-column label="鍛ㄦ湡骞�" align="center" prop="periodYear" />
- <el-table-column label="鍛ㄦ湡鏈�" align="center" prop="periodMonth" />
- <el-table-column label="鎸囨爣1鍚嶇О" align="center" prop="indexOneName" />
- <el-table-column label="鎸囨爣1鍊�" align="center" prop="indexOneValue" />
- <el-table-column label="鎸囨爣2鍚嶇О" align="center" prop="indexTwoName" />
- <el-table-column label="鎸囨爣2鍊�" align="center" prop="indexTwoValue" />
- <el-table-column label="鎸囨爣3鍚嶇О" align="center" prop="indexThreeName" />
- <el-table-column label="鎸囨爣3鍊�" align="center" prop="indexThreeValue" />
- <el-table-column label="鎸囨爣4鍚嶇О" align="center" prop="indexFourName" />
- <el-table-column label="鎸囨爣4鍊�" align="center" prop="indexFourValue" />
- <el-table-column label="鐘舵�� 1鍚敤 0鏈惎鐢�" align="center" prop="status" />
+ <el-table-column label="缁熻鍛ㄦ湡" align="center" prop="periodDate" />
+ <el-table-column label="鎸囨爣鍚嶇О" align="center" prop="indexOneName" />
+ <el-table-column label="鎸囨爣鏁板��" align="center" prop="indexOneValue" />
+ <el-table-column label="鎸囨爣鍚嶇О" align="center" prop="indexTwoName" />
+ <el-table-column label="鎸囨爣鏁板��" align="center" prop="indexTwoValue" />
+ <el-table-column label="鎸囨爣鍚嶇О" align="center" prop="indexThreeName" />
+ <el-table-column label="鎸囨爣鏁板��" align="center" prop="indexThreeValue" />
+ <el-table-column label="鎸囨爣鍚嶇О" align="center" prop="indexFourName" />
+ <el-table-column label="鎸囨爣鏁板��" align="center" prop="indexFourValue" />
+ <el-table-column label="鐘舵��" align="center" prop="status">
+ <template #default="scope">
+ <span v-show="scope.row['status'] == 1">宸插惎鐢�</span>
+ <span v-show="scope.row['status'] == 2" style="color: rgba(227, 70,101);">宸茬鐢�</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" />
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="淇敼" placement="top">
@@ -105,41 +82,38 @@
<!-- 娣诲姞鎴栦慨鏀逛汉杞﹁矾鍩虹淇℃伅瀵硅瘽妗� -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="pcrDataFormRef" :model="form" :rules="rules" label-width="80px">
- <el-form-item label="妯″潡鍚嶇О" prop="modeName">
- <el-input v-model="form.modeName" placeholder="璇疯緭鍏ユā鍧楀悕绉�" />
+ <el-form-item label="鎸囨爣绫诲瀷" prop="modeName">
+ <el-select v-model="form.modeName" placeholder="璇烽�夋嫨" @change="handleModeNameChange">
+ <el-option key="1" label="閬撹矾閲岀▼鏁伴噺" value="閬撹矾閲岀▼鏁伴噺" />
+ <el-option key="2" label="鏈哄姩杞︿繚鏈夐噺" value="鏈哄姩杞︿繚鏈夐噺" />
+ <el-option key="3" label="椹鹃┒浜轰繚鏈夐噺" value="椹鹃┒浜轰繚鏈夐噺" />
+ </el-select>
</el-form-item>
- <el-form-item label="鍛ㄦ湡" prop="periodName">
- <el-input v-model="form.periodName" placeholder="璇疯緭鍏ュ懆鏈�" />
+ <el-form-item label="鍛ㄦ湡" prop="period">
+ <el-select v-model="form.period" placeholder="璇烽�夋嫨" style="width: 100px;" @change="clearPeriod">
+ <el-option key="1" label="骞村害" :value="1" />
+ <el-option key="2" label="鏈堝害" :value="2" />
+ </el-select>
+  
+ <el-date-picker v-model="form.periodDate" :type="pickerType" :value-format="pickerFormat" placeholder="璇烽�夋嫨缁熻鍛ㄦ湡" />
</el-form-item>
- <el-form-item label="鍛ㄦ湡骞�" prop="periodYear">
- <el-input v-model="form.periodYear" placeholder="璇疯緭鍏ュ懆鏈熷勾" />
- </el-form-item>
- <el-form-item label="鍛ㄦ湡鏈�" prop="periodMonth">
- <el-input v-model="form.periodMonth" placeholder="璇疯緭鍏ュ懆鏈熸湀" />
- </el-form-item>
- <el-form-item label="鎸囨爣1鍚嶇О" prop="indexOneName">
- <el-input v-model="form.indexOneName" placeholder="璇疯緭鍏ユ寚鏍�1鍚嶇О" />
- </el-form-item>
- <el-form-item label="鎸囨爣1鍊�" prop="indexOneValue">
+ <el-form-item :label="form.indexOneName" prop="indexOneValue">
<el-input v-model="form.indexOneValue" placeholder="璇疯緭鍏ユ寚鏍�1鍊�" />
</el-form-item>
- <el-form-item label="鎸囨爣2鍚嶇О" prop="indexTwoName">
- <el-input v-model="form.indexTwoName" placeholder="璇疯緭鍏ユ寚鏍�2鍚嶇О" />
- </el-form-item>
- <el-form-item label="鎸囨爣2鍊�" prop="indexTwoValue">
+ <el-form-item :label="form.indexTwoName" prop="indexTwoValue">
<el-input v-model="form.indexTwoValue" placeholder="璇疯緭鍏ユ寚鏍�2鍊�" />
</el-form-item>
- <el-form-item label="鎸囨爣3鍚嶇О" prop="indexThreeName">
- <el-input v-model="form.indexThreeName" placeholder="璇疯緭鍏ユ寚鏍�3鍚嶇О" />
- </el-form-item>
- <el-form-item label="鎸囨爣3鍊�" prop="indexThreeValue">
+ <el-form-item :label="form.indexThreeName" prop="indexThreeValue">
<el-input v-model="form.indexThreeValue" placeholder="璇疯緭鍏ユ寚鏍�3鍊�" />
</el-form-item>
- <el-form-item label="鎸囨爣4鍚嶇О" prop="indexFourName">
- <el-input v-model="form.indexFourName" placeholder="璇疯緭鍏ユ寚鏍�4鍚嶇О" />
- </el-form-item>
- <el-form-item label="鎸囨爣4鍊�" prop="indexFourValue">
+ <el-form-item :label="form.indexFourName" prop="indexFourValue">
<el-input v-model="form.indexFourValue" placeholder="璇疯緭鍏ユ寚鏍�4鍊�" />
+ </el-form-item>
+ <el-form-item label="鐘舵��" prop="status">
+ <el-select v-model="form.status" placeholder="璇烽�夋嫨">
+ <el-option key="1" label="宸插惎鐢�" :value="1" />
+ <el-option key="2" label="宸茬鐢�" :value="2" />
+ </el-select>
</el-form-item>
</el-form>
<template #footer>
@@ -177,19 +151,18 @@
const initFormData: PcrDataForm = {
id: undefined,
- modeName: undefined,
- periodName: undefined,
- periodYear: undefined,
- periodMonth: undefined,
- indexOneName: undefined,
+ modeName: "閬撹矾閲岀▼鏁伴噺",
+ period: 2,
+ periodDate: undefined,
+ indexOneName: "楂橀�熻矾",
indexOneValue: undefined,
- indexTwoName: undefined,
+ indexTwoName: "鍥界渷閬�",
indexTwoValue: undefined,
- indexThreeName: undefined,
+ indexThreeName: "鍘夸埂閬�",
indexThreeValue: undefined,
- indexFourName: undefined,
+ indexFourName: "鍐滄潙閬撹矾",
indexFourValue: undefined,
- status: undefined,
+ status: 1,
}
const data = reactive<PageData<PcrDataForm, PcrDataQuery>>({
form: {...initFormData},
@@ -197,9 +170,8 @@
pageNum: 1,
pageSize: 10,
modeName: undefined,
- periodName: undefined,
- periodYear: undefined,
- periodMonth: undefined,
+ period: undefined,
+ periodDate: undefined,
indexOneName: undefined,
indexOneValue: undefined,
indexTwoName: undefined,
@@ -219,14 +191,11 @@
modeName: [
{ required: true, message: "妯″潡鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
],
- periodName: [
+ period: [
{ required: true, message: "鍛ㄦ湡涓嶈兘涓虹┖", trigger: "blur" }
],
- periodYear: [
+ periodDate: [
{ required: true, message: "鍛ㄦ湡骞翠笉鑳戒负绌�", trigger: "blur" }
- ],
- periodMonth: [
- { required: true, message: "鍛ㄦ湡鏈堜笉鑳戒负绌�", trigger: "blur" }
],
indexOneName: [
{ required: true, message: "鎸囨爣1鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
@@ -353,4 +322,39 @@
onMounted(() => {
getList();
});
+
+/** 鍛ㄦ湡骞存垨鏈� */
+const pickerType = computed(() => {
+ return form.value.period === 1 ? 'year' : 'month';
+});
+
+const pickerFormat = computed(() => {
+ return form.value.period === 1 ? 'YYYY' : 'YYYY-MM';
+});
+
+/** 鍒囨崲涓嶅悓鎸囨爣 */
+const handleModeNameChange = () => {
+ if (form.value.modeName === "閬撹矾閲岀▼鏁伴噺") {
+ form.value.indexOneName = '楂橀�熻矾';
+ form.value.indexTwoName = '鍥界渷閬�';
+ form.value.indexThreeName = '鍘夸埂閬�';
+ form.value.indexFourName = '鍐滄潙閬撹矾';
+ } else if (form.value.modeName === "鏈哄姩杞︿繚鏈夐噺") {
+ form.value.indexOneName = '璐ц繍杞﹁締';
+ form.value.indexTwoName = '鍏氦瀹㈣繍';
+ form.value.indexThreeName = '灏忓瀷姹借溅';
+ form.value.indexFourName = '鎽╂墭杞�';
+ } else if (form.value.modeName === "椹鹃┒浜轰繚鏈夐噺") {
+ form.value.indexOneName = '璐ц繍杞﹁締椹鹃┒浜�';
+ form.value.indexTwoName = '鍏氦瀹㈣繍椹鹃┒浜�';
+ form.value.indexThreeName = '灏忓瀷姹借溅椹鹃┒浜�';
+ form.value.indexFourName = '鎽╂墭杞﹂┚椹朵汉';
+ }
+};
+
+/** 娓呯┖鍛ㄦ湡 */
+const clearPeriod = () => {
+ form.value.periodDate = undefined;
+};
+
</script>
diff --git a/src/views/scenery/sceneryOperationData/index.vue b/src/views/scenery/sceneryOperationData/index.vue
index 805829f..518eb93 100644
--- a/src/views/scenery/sceneryOperationData/index.vue
+++ b/src/views/scenery/sceneryOperationData/index.vue
@@ -3,35 +3,17 @@
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div class="search" v-show="showSearch">
<el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
- <el-form-item label="鍛ㄦ湡骞�" prop="periodYear">
- <el-input v-model="queryParams.periodYear" placeholder="璇疯緭鍏ュ懆鏈熷勾" clearable style="width: 240px" @keyup.enter="handleQuery" />
+ <el-form-item label="鏅尯鍚嶇О" prop="sceneryInfoName">
+ <el-input v-model="queryParams.sceneryInfoName" placeholder="璇疯緭鍏ユ櫙鍖哄悕绉�" clearable style="width: 240px" @keyup.enter="handleQuery" />
</el-form-item>
- <el-form-item label="鍛ㄦ湡鏈�" prop="periodMonth">
- <el-input v-model="queryParams.periodMonth" placeholder="璇疯緭鍏ュ懆鏈熸湀" clearable style="width: 240px" @keyup.enter="handleQuery" />
+ <el-form-item label="鍛ㄦ湡" prop="periodDate">
+ <el-input v-model="queryParams.periodDate" placeholder="璇疯緭鍏ュ懆鏈�" clearable style="width: 240px" @keyup.enter="handleQuery" />
</el-form-item>
- <el-form-item label="杞︽祦閲�" prop="carFlowNum">
- <el-input v-model="queryParams.carFlowNum" placeholder="璇疯緭鍏ヨ溅娴侀噺" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="浜烘祦閲�" prop="personFlowNum">
- <el-input v-model="queryParams.personFlowNum" placeholder="璇疯緭鍏ヤ汉娴侀噺" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="娓稿棰勭害" prop="visitorSubNum">
- <el-input v-model="queryParams.visitorSubNum" placeholder="璇疯緭鍏ユ父瀹㈤绾�" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="鍏ュ洯浜烘暟" prop="enterGardenNum">
- <el-input v-model="queryParams.enterGardenNum" placeholder="璇疯緭鍏ュ叆鍥汉鏁�" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="鍦ㄥ矖璀﹀姏" prop="onPolice">
- <el-input v-model="queryParams.onPolice" placeholder="璇疯緭鍏ュ湪宀楄鍔�" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="鍦ㄥ矖璀﹁溅" prop="onPaddyWagon">
- <el-input v-model="queryParams.onPaddyWagon" placeholder="璇疯緭鍏ュ湪宀楄杞�" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="澶囧嫟璀﹀姏" prop="standbyPolice">
- <el-input v-model="queryParams.standbyPolice" placeholder="璇疯緭鍏ュ鍕よ鍔�" clearable style="width: 240px" @keyup.enter="handleQuery" />
- </el-form-item>
- <el-form-item label="鏅尯id" prop="scId">
- <el-input v-model="queryParams.scId" placeholder="璇疯緭鍏ユ櫙鍖篿d" clearable style="width: 240px" @keyup.enter="handleQuery" />
+ <el-form-item label="鐘舵��" prop="status">
+ <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨" clearable style="width: 240px" @keyup.enter="handleQuery" >
+ <el-option key="1" label="宸插惎鐢�" value="1" />
+ <el-option key="2" label="宸茬鐢�" value="2" />
+ </el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button>
@@ -45,16 +27,16 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
- <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['rs:sceneryOperationData:add']">鏂板</el-button>
+ <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['demo:sceneryOperationData:add']">鏂板</el-button>
</el-col>
<el-col :span="1.5">
- <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['rs:sceneryOperationData:edit']">淇敼</el-button>
+ <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['demo:sceneryOperationData:edit']">淇敼</el-button>
</el-col>
<el-col :span="1.5">
- <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['rs:sceneryOperationData:remove']">鍒犻櫎</el-button>
+ <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['demo:sceneryOperationData:remove']">鍒犻櫎</el-button>
</el-col>
<el-col :span="1.5">
- <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['rs:sceneryOperationData:export']">瀵煎嚭</el-button>
+ <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['demo:sceneryOperationData:export']">瀵煎嚭</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@@ -62,9 +44,9 @@
<el-table v-loading="loading" :data="sceneryOperationDataList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
- <el-table-column label="id" align="center" prop="id" v-if="true" />
- <el-table-column label="鍛ㄦ湡骞�" align="center" prop="periodYear" />
- <el-table-column label="鍛ㄦ湡鏈�" align="center" prop="periodMonth" />
+ <el-table-column label="搴忓彿" align="center" type="index" v-if="true" width="60" />
+ <el-table-column label="鏅尯鍚嶇О" align="center" prop="sceneryInfoName" />
+ <el-table-column label="缁熻鍛ㄦ湡" align="center" prop="periodDate" />
<el-table-column label="杞︽祦閲�" align="center" prop="carFlowNum" />
<el-table-column label="浜烘祦閲�" align="center" prop="personFlowNum" />
<el-table-column label="娓稿棰勭害" align="center" prop="visitorSubNum" />
@@ -72,15 +54,20 @@
<el-table-column label="鍦ㄥ矖璀﹀姏" align="center" prop="onPolice" />
<el-table-column label="鍦ㄥ矖璀﹁溅" align="center" prop="onPaddyWagon" />
<el-table-column label="澶囧嫟璀﹀姏" align="center" prop="standbyPolice" />
- <el-table-column label="鐘舵�� 1鍚敤 0鏈惎鐢�" align="center" prop="status" />
- <el-table-column label="鏅尯id" align="center" prop="scId" />
+ <el-table-column label="鐘舵��" align="center" prop="status">
+ <template #default="scope">
+ <span v-show="scope.row['status'] == 1">宸插惎鐢�</span>
+ <span v-show="scope.row['status'] == 2" style="color: rgba(227, 70,101);">宸茬鐢�</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" />
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="淇敼" placement="top">
- <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['rs:sceneryOperationData:edit']"></el-button>
+ <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['demo:sceneryOperationData:edit']"></el-button>
</el-tooltip>
<el-tooltip content="鍒犻櫎" placement="top">
- <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['rs:sceneryOperationData:remove']"></el-button>
+ <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['demo:sceneryOperationData:remove']"></el-button>
</el-tooltip>
</template>
</el-table-column>
@@ -97,11 +84,18 @@
<!-- 娣诲姞鎴栦慨鏀规櫙鍖鸿繍琛屾暟鎹璇濇 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="sceneryOperationDataFormRef" :model="form" :rules="rules" label-width="80px">
- <el-form-item label="鍛ㄦ湡骞�" prop="periodYear">
- <el-input v-model="form.periodYear" placeholder="璇疯緭鍏ュ懆鏈熷勾" />
+ <el-form-item label="鏅尯鍚嶇О" prop="sceneryInfoName">
+ <el-select v-model="form.sceneryInfoName" placeholder="璇烽�夋嫨" clearable style="width: 240px" @change="setSceneryInfoId" >
+ <el-option v-for="item in sceneryInfoNames" :key="item.sceneryName" :label="item.sceneryName" :value="item.sceneryName"/>
+ </el-select>
</el-form-item>
- <el-form-item label="鍛ㄦ湡鏈�" prop="periodMonth">
- <el-input v-model="form.periodMonth" placeholder="璇疯緭鍏ュ懆鏈熸湀" />
+ <el-form-item label="缁熻鍛ㄦ湡" prop="periodDate">
+ <el-select v-model="form.period" placeholder="璇烽�夋嫨" style="width: 100px;" @change="clearPeriod">
+ <el-option key="1" label="骞村害" :value="1" />
+ <el-option key="2" label="鏈堝害" :value="2" />
+ </el-select>
+  
+ <el-date-picker v-model="form.periodDate" :type="pickerType" :value-format="pickerFormat" placeholder="璇烽�夋嫨缁熻鍛ㄦ湡" />
</el-form-item>
<el-form-item label="杞︽祦閲�" prop="carFlowNum">
<el-input v-model="form.carFlowNum" placeholder="璇疯緭鍏ヨ溅娴侀噺" />
@@ -124,8 +118,11 @@
<el-form-item label="澶囧嫟璀﹀姏" prop="standbyPolice">
<el-input v-model="form.standbyPolice" placeholder="璇疯緭鍏ュ鍕よ鍔�" />
</el-form-item>
- <el-form-item label="鏅尯id" prop="scId">
- <el-input v-model="form.scId" placeholder="璇疯緭鍏ユ櫙鍖篿d" />
+ <el-form-item label="鐘舵��" prop="status">
+ <el-select v-model="form.status" placeholder="璇烽�夋嫨">
+ <el-option key="1" label="宸插惎鐢�" :value="1" />
+ <el-option key="2" label="宸茬鐢�" :value="2" />
+ </el-select>
</el-form-item>
</el-form>
<template #footer>
@@ -139,8 +136,9 @@
</template>
<script setup name="SceneryOperationData" lang="ts">
-import { listSceneryOperationData, getSceneryOperationData, delSceneryOperationData, addSceneryOperationData, updateSceneryOperationData } from '@/api/scenery/sceneryOperationData';
+import { getSceneryInfoNames, listSceneryOperationData, getSceneryOperationData, delSceneryOperationData, addSceneryOperationData, updateSceneryOperationData } from '@/api/scenery/sceneryOperationData';
import { SceneryOperationDataVO, SceneryOperationDataQuery, SceneryOperationDataForm } from '@/api/scenery/sceneryOperationData/types';
+import { SceneryInfoVO } from '@/api/sceneryInfo/types';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -163,8 +161,10 @@
const initFormData: SceneryOperationDataForm = {
id: undefined,
- periodYear: undefined,
- periodMonth: undefined,
+ sceneryInfoId: undefined,
+ sceneryInfoName: undefined,
+ period: undefined,
+ periodDate: undefined,
carFlowNum: undefined,
personFlowNum: undefined,
visitorSubNum: undefined,
@@ -173,24 +173,15 @@
onPaddyWagon: undefined,
standbyPolice: undefined,
status: undefined,
- scId: undefined
}
const data = reactive<PageData<SceneryOperationDataForm, SceneryOperationDataQuery>>({
form: {...initFormData},
queryParams: {
pageNum: 1,
pageSize: 10,
- periodYear: undefined,
- periodMonth: undefined,
- carFlowNum: undefined,
- personFlowNum: undefined,
- visitorSubNum: undefined,
- enterGardenNum: undefined,
- onPolice: undefined,
- onPaddyWagon: undefined,
- standbyPolice: undefined,
+ sceneryInfoName: undefined,
+ periodDate: undefined,
status: undefined,
- scId: undefined,
params: {
}
},
@@ -198,11 +189,17 @@
id: [
{ required: true, message: "id涓嶈兘涓虹┖", trigger: "blur" }
],
- periodYear: [
- { required: true, message: "鍛ㄦ湡骞翠笉鑳戒负绌�", trigger: "blur" }
+ sceneryInfoId: [
+ { required: true, message: "鏅尯id涓嶈兘涓虹┖", trigger: "blur" }
],
- periodMonth: [
- { required: true, message: "鍛ㄦ湡鏈堜笉鑳戒负绌�", trigger: "blur" }
+ sceneryInfoName: [
+ { required: true, message: "鏅尯鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ period: [
+ { required: true, message: "骞村害/鏈堝害 1骞村害 2鏈堝害涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ periodDate: [
+ { required: true, message: "鍛ㄦ湡涓嶈兘涓虹┖", trigger: "blur" }
],
carFlowNum: [
{ required: true, message: "杞︽祦閲忎笉鑳戒负绌�", trigger: "blur" }
@@ -228,9 +225,6 @@
status: [
{ required: true, message: "鐘舵�� 1鍚敤 0鏈惎鐢ㄤ笉鑳戒负绌�", trigger: "change" }
],
- scId: [
- { required: true, message: "鏅尯id涓嶈兘涓虹┖", trigger: "blur" }
- ]
}
});
@@ -276,9 +270,19 @@
multiple.value = !selection.length;
}
+// 璋冪敤鍚庣API鑾峰彇鏅尯鍚嶇О鍒楄〃
+const sceneryInfoNames = ref<SceneryInfoVO[]>([]);
+
+/** 鏌ヨ鏅尯杩愯鏁版嵁鍒楄〃 */
+const getSceneryInfoName = async () => {
+ const res = await getSceneryInfoNames();
+ sceneryInfoNames.value = res.rows;
+}
+
/** 鏂板鎸夐挳鎿嶄綔 */
const handleAdd = () => {
reset();
+ getSceneryInfoName();
dialog.visible = true;
dialog.title = "娣诲姞鏅尯杩愯鏁版嵁";
}
@@ -312,6 +316,7 @@
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
const handleDelete = async (row?: SceneryOperationDataVO) => {
+ if(row?.status == 1) { proxy?.$modal.msgWarning("褰撳墠涓哄凡鍚敤鐘舵�侊紝涓嶆敮鎸佸垹闄�"); return; }
const _ids = row?.id || ids.value;
await proxy?.$modal.confirm('鏄惁纭鍒犻櫎鏅尯杩愯鏁版嵁缂栧彿涓�"' + _ids + '"鐨勬暟鎹」锛�').finally(() => loading.value = false);
await delSceneryOperationData(_ids);
@@ -321,7 +326,7 @@
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
const handleExport = () => {
- proxy?.download('sc/sceneryOperationData/export', {
+ proxy?.download('demo/sceneryOperationData/export', {
...queryParams.value
}, `sceneryOperationData_${new Date().getTime()}.xlsx`)
}
@@ -329,4 +334,28 @@
onMounted(() => {
getList();
});
+
+
+/** 鍛ㄦ湡骞存垨鏈� */
+const pickerType = computed(() => {
+ return form.value.period === 1 ? 'year' : 'month';
+});
+
+const pickerFormat = computed(() => {
+ return form.value.period === 1 ? 'YYYY' : 'YYYY-MM';
+});
+
+/** 娓呯┖鍛ㄦ湡 */
+const clearPeriod = () => {
+ form.value.periodDate = undefined;
+};
+
+/** 璁剧疆鏅尯ID */
+const setSceneryInfoId = (sceneryInfoName: any) => {
+ const item = sceneryInfoNames.value.find(item => item.sceneryName === sceneryInfoName);
+ if(item) {
+ form.value.sceneryInfoId = item.id;
+ }
+}
+
</script>
diff --git a/src/views/sceneryInfo/index.vue b/src/views/sceneryInfo/index.vue
new file mode 100644
index 0000000..1adff03
--- /dev/null
+++ b/src/views/sceneryInfo/index.vue
@@ -0,0 +1,219 @@
+<template>
+ <div class="p-2">
+ <el-card shadow="never">
+ <template #header>
+ <el-row :gutter="10" class="mb8">
+ <el-col :span="1.5">
+ <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['demo:sceneryInfo:add']">鏂板</el-button>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['demo:sceneryInfo:edit']">淇敼</el-button>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['demo:sceneryInfo:remove']">鍒犻櫎</el-button>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['demo:sceneryInfo:export']">瀵煎嚭</el-button>
+ </el-col>
+ <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
+ </el-row>
+ </template>
+
+ <el-table v-loading="loading" :data="sceneryInfoList" @selection-change="handleSelectionChange">
+ <el-table-column type="selection" width="55" align="center" />
+ <el-table-column label="搴忓彿" align="center" type="index" v-if="true" width="60" />
+ <el-table-column label="鏅尯鍚嶇О" align="center" prop="sceneryName" />
+ <el-table-column label="鎺掑簭" align="center" prop="sequence" />
+ <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+ <template #default="scope">
+ <el-tooltip content="淇敼" placement="top">
+ <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['demo:sceneryInfo:edit']"></el-button>
+ </el-tooltip>
+ <el-tooltip content="鍒犻櫎" placement="top">
+ <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['demo:sceneryInfo:remove']"></el-button>
+ </el-tooltip>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <pagination
+ v-show="total>0"
+ :total="total"
+ v-model:page="queryParams.pageNum"
+ v-model:limit="queryParams.pageSize"
+ @pagination="getList"
+ />
+ </el-card>
+ <!-- 娣诲姞鎴栦慨鏀规櫙鍖洪厤缃俊鎭璇濇 -->
+ <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
+ <el-form ref="sceneryInfoFormRef" :model="form" :rules="rules" label-width="80px">
+ <el-form-item label="鏅尯鍚嶇О" prop="sceneryName">
+ <el-input v-model="form.sceneryName" placeholder="璇疯緭鍏ユ櫙鍖哄悕绉�" />
+ </el-form-item>
+ <el-form-item label="鎺掑簭" prop="sequence">
+ <el-input v-model="form.sequence" placeholder="璇疯緭鍏ユ帓搴�" />
+ </el-form-item>
+ </el-form>
+ <template #footer>
+ <div class="dialog-footer">
+ <el-button :loading="buttonLoading" type="primary" @click="submitForm">纭� 瀹�</el-button>
+ <el-button @click="cancel">鍙� 娑�</el-button>
+ </div>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<script setup name="SceneryInfo" lang="ts">
+import { listSceneryInfo, getSceneryInfo, delSceneryInfo, addSceneryInfo, updateSceneryInfo } from '@/api/sceneryInfo';
+import { SceneryInfoVO, SceneryInfoQuery, SceneryInfoForm } from '@/api/sceneryInfo/types';
+
+const { proxy } = getCurrentInstance() as ComponentInternalInstance;
+
+const sceneryInfoList = ref<SceneryInfoVO[]>([]);
+const buttonLoading = ref(false);
+const loading = ref(true);
+const showSearch = ref(true);
+const ids = ref<Array<string | number>>([]);
+const single = ref(true);
+const multiple = ref(true);
+const total = ref(0);
+
+const queryFormRef = ref<ElFormInstance>();
+const sceneryInfoFormRef = ref<ElFormInstance>();
+
+const dialog = reactive<DialogOption>({
+ visible: false,
+ title: ''
+});
+
+const initFormData: SceneryInfoForm = {
+ id: undefined,
+ sceneryName: undefined,
+ sequence: undefined,
+ status: undefined
+}
+const data = reactive<PageData<SceneryInfoForm, SceneryInfoQuery>>({
+ form: {...initFormData},
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ sceneryName: undefined,
+ sequence: undefined,
+ createTime: undefined,
+ status: undefined,
+ params: {
+ }
+ },
+ rules: {
+ id: [
+ { required: true, message: "缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ sceneryName: [
+ { required: true, message: "鏅尯鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ sequence: [
+ { required: true, message: "鎺掑簭涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ status: [
+ { required: true, message: "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢ㄤ笉鑳戒负绌�", trigger: "change" }
+ ]
+ }
+});
+
+const { queryParams, form, rules } = toRefs(data);
+
+/** 鏌ヨ鏅尯閰嶇疆淇℃伅鍒楄〃 */
+const getList = async () => {
+ loading.value = true;
+ const res = await listSceneryInfo(queryParams.value);
+ sceneryInfoList.value = res.rows;
+ total.value = res.total;
+ loading.value = false;
+}
+
+/** 鍙栨秷鎸夐挳 */
+const cancel = () => {
+ reset();
+ dialog.visible = false;
+}
+
+/** 琛ㄥ崟閲嶇疆 */
+const reset = () => {
+ form.value = {...initFormData};
+ sceneryInfoFormRef.value?.resetFields();
+}
+
+/** 鎼滅储鎸夐挳鎿嶄綔 */
+const handleQuery = () => {
+ queryParams.value.pageNum = 1;
+ getList();
+}
+
+/** 閲嶇疆鎸夐挳鎿嶄綔 */
+const resetQuery = () => {
+ queryFormRef.value?.resetFields();
+ handleQuery();
+}
+
+/** 澶氶�夋閫変腑鏁版嵁 */
+const handleSelectionChange = (selection: SceneryInfoVO[]) => {
+ ids.value = selection.map(item => item.id);
+ single.value = selection.length != 1;
+ multiple.value = !selection.length;
+}
+
+/** 鏂板鎸夐挳鎿嶄綔 */
+const handleAdd = () => {
+ reset();
+ dialog.visible = true;
+ dialog.title = "娣诲姞鏅尯閰嶇疆淇℃伅";
+}
+
+/** 淇敼鎸夐挳鎿嶄綔 */
+const handleUpdate = async (row?: SceneryInfoVO) => {
+ reset();
+ const _id = row?.id || ids.value[0]
+ const res = await getSceneryInfo(_id);
+ Object.assign(form.value, res.data);
+ dialog.visible = true;
+ dialog.title = "淇敼鏅尯閰嶇疆淇℃伅";
+}
+
+/** 鎻愪氦鎸夐挳 */
+const submitForm = () => {
+ sceneryInfoFormRef.value?.validate(async (valid: boolean) => {
+ if (valid) {
+ buttonLoading.value = true;
+ if (form.value.id) {
+ await updateSceneryInfo(form.value).finally(() => buttonLoading.value = false);
+ } else {
+ await addSceneryInfo(form.value).finally(() => buttonLoading.value = false);
+ }
+ proxy?.$modal.msgSuccess("淇敼鎴愬姛");
+ dialog.visible = false;
+ await getList();
+ }
+ });
+}
+
+/** 鍒犻櫎鎸夐挳鎿嶄綔 */
+const handleDelete = async (row?: SceneryInfoVO) => {
+ const _ids = row?.id || ids.value;
+ await proxy?.$modal.confirm('鏄惁纭鍒犻櫎鏅尯閰嶇疆淇℃伅缂栧彿涓�"' + _ids + '"鐨勬暟鎹」锛�').finally(() => loading.value = false);
+ await delSceneryInfo(_ids);
+ proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ await getList();
+}
+
+/** 瀵煎嚭鎸夐挳鎿嶄綔 */
+const handleExport = () => {
+ proxy?.download('demo/sceneryInfo/export', {
+ ...queryParams.value
+ }, `sceneryInfo_${new Date().getTime()}.xlsx`)
+}
+
+onMounted(() => {
+ getList();
+});
+</script>
diff --git a/src/views/ti/trafficIndex/index.vue b/src/views/ti/trafficIndex/index.vue
index 9c5c0c8..8dd6780 100644
--- a/src/views/ti/trafficIndex/index.vue
+++ b/src/views/ti/trafficIndex/index.vue
@@ -9,7 +9,7 @@
<div class="search" v-show="showSearch">
<el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form-item label="缁熻鍛ㄦ湡" prop="periodDate">
- <el-input v-model="queryParams.periodValue" placeholder="璇疯緭鍏ョ粺璁″懆鏈�" clearable style="width: 240px" @keyup.enter="handleQuery" />
+ <el-input v-model="queryParams.periodDate" placeholder="璇疯緭鍏ョ粺璁″懆鏈�" clearable style="width: 240px" @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="鐘舵��" prop="status">
<el-select v-model="queryParams.status" placeholder="璇烽�夋嫨" clearable style="width: 240px" @keyup.enter="handleQuery" >
@@ -97,62 +97,87 @@
<el-form-item label="妯″潡鍚嶇О" prop="modeName">
<el-input v-model="form.modeName" placeholder="璇疯緭鍏ユā鍧楀悕绉�" />
</el-form-item>
- <el-form-item label="鎸囨爣1鍚嶇О" prop="targetOneName">
+ <el-form-item label="缁熻鍛ㄦ湡" prop="periodDate" @change="clearPeriod">
+ <el-select v-model="form.period" placeholder="璇烽�夋嫨" style="width: 100px;">
+ <el-option key="1" label="骞村害" :value="1" />
+ <el-option key="2" label="鏈堝害" :value="2" />
+ </el-select>
+  
+ <el-date-picker v-model="form.periodDate" :type="pickerType" :value-format="pickerFormat" placeholder="璇烽�夋嫨缁熻鍛ㄦ湡" />
+ </el-form-item>
+ <el-form-item label="鎸囨爣1" prop="targetOneName">
<el-input v-model="form.targetOneName" placeholder="璇疯緭鍏ユ寚鏍�1鍚嶇О" />
</el-form-item>
- <el-form-item label="鎸囨爣1鍊�" prop="targetOneValue">
+ <el-form-item label="鏁板��" prop="targetOneValue">
<el-input v-model="form.targetOneValue" placeholder="璇疯緭鍏ユ寚鏍�1鍊�" />
</el-form-item>
- <el-form-item label="鎸囨爣1鍗曚綅" prop="targetOneUnit">
+ <el-form-item label="鍗曚綅" prop="targetOneUnit">
<el-input v-model="form.targetOneUnit" placeholder="璇疯緭鍏ユ寚鏍�1鍗曚綅" />
</el-form-item>
- <el-form-item label="鎸囨爣1涓婃诞鎴栦笅闄嶅��" prop="targetOneCompareValue">
- <el-input v-model="form.targetOneCompareValue" placeholder="璇疯緭鍏ユ寚鏍�1涓婃诞鎴栦笅闄嶅��" />
+ <el-form-item label="娑ㄥ箙" prop="targetOneCompareValue">
+ <el-select v-model="form.targetOneStatus" placeholder="璇烽�夋嫨" style="width: 100px;">
+ <el-option key="1" label="涓婂崌" :value="1" />
+ <el-option key="2" label="涓嬮檷" :value="2" />
+ </el-select>
+  
+ <el-input v-model="form.targetOneCompareValue" placeholder="璇疯緭鍏ユ寚鏍�1涓婃诞鎴栦笅闄嶅��" style="width: 200px;"/>
</el-form-item>
- <el-form-item label="鎸囨爣2鍚嶇О" prop="targetTwoName">
+ <el-form-item label="鎸囨爣2" prop="targetTwoName">
<el-input v-model="form.targetTwoName" placeholder="璇疯緭鍏ユ寚鏍�2鍚嶇О" />
</el-form-item>
- <el-form-item label="鎸囨爣2鍊�" prop="targetTwoValue">
+ <el-form-item label="鏁板��" prop="targetTwoValue">
<el-input v-model="form.targetTwoValue" placeholder="璇疯緭鍏ユ寚鏍�2鍊�" />
</el-form-item>
- <el-form-item label="鎸囨爣2鍗曚綅" prop="targetTwoUnit">
+ <el-form-item label="鍗曚綅" prop="targetTwoUnit">
<el-input v-model="form.targetTwoUnit" placeholder="璇疯緭鍏ユ寚鏍�2鍗曚綅" />
</el-form-item>
- <el-form-item label="鎸囨爣2涓婃诞鎴栦笅闄嶅��" prop="targetTwoCompareValue">
- <el-input v-model="form.targetTwoCompareValue" placeholder="璇疯緭鍏ユ寚鏍�2涓婃诞鎴栦笅闄嶅��" />
+ <el-form-item label="娑ㄥ箙" prop="targetTwoCompareValue">
+ <el-select v-model="form.targetTwoStatus" placeholder="璇烽�夋嫨" style="width: 100px;">
+ <el-option key="1" label="涓婂崌" :value="1" />
+ <el-option key="2" label="涓嬮檷" :value="2" />
+ </el-select>
+  
+ <el-input v-model="form.targetTwoCompareValue" placeholder="璇疯緭鍏ユ寚鏍�2涓婃诞鎴栦笅闄嶅��" style="width: 200px;" />
</el-form-item>
- <el-form-item label="鎸囨爣3鍚嶇О" prop="targetThreeName">
+ <el-form-item label="鎸囨爣3" prop="targetThreeName">
<el-input v-model="form.targetThreeName" placeholder="璇疯緭鍏ユ寚鏍�3鍚嶇О" />
</el-form-item>
- <el-form-item label="鎸囨爣3鍊�" prop="targetThreeValue">
+ <el-form-item label="鏁板��" prop="targetThreeValue">
<el-input v-model="form.targetThreeValue" placeholder="璇疯緭鍏ユ寚鏍�3鍊�" />
</el-form-item>
- <el-form-item label="鎸囨爣3鍗曚綅" prop="targetThreeUnit">
+ <el-form-item label="鍗曚綅" prop="targetThreeUnit">
<el-input v-model="form.targetThreeUnit" placeholder="璇疯緭鍏ユ寚鏍�3鍗曚綅" />
</el-form-item>
- <el-form-item label="鎸囨爣3涓婃诞鎴栦笅闄嶅��" prop="targetThreeCompareValue">
- <el-input v-model="form.targetThreeCompareValue" placeholder="璇疯緭鍏ユ寚鏍�3涓婃诞鎴栦笅闄嶅��" />
+ <el-form-item label="娑ㄥ箙" prop="targetThreeCompareValue">
+ <el-select v-model="form.targetThreeStatus" placeholder="璇烽�夋嫨" style="width: 100px;">
+ <el-option key="1" label="涓婂崌" :value="1" />
+ <el-option key="2" label="涓嬮檷" :value="2" />
+ </el-select>
+  
+ <el-input v-model="form.targetThreeCompareValue" placeholder="璇疯緭鍏ユ寚鏍�3涓婃诞鎴栦笅闄嶅��" style="width: 200px;" />
</el-form-item>
- <el-form-item label="鎸囨爣4鍚嶇О" prop="targetFourName">
+ <el-form-item label="鎸囨爣4" prop="targetFourName">
<el-input v-model="form.targetFourName" placeholder="璇疯緭鍏ユ寚鏍�4鍚嶇О" />
</el-form-item>
- <el-form-item label="鎸囨爣4鍊�" prop="targetFourValue">
+ <el-form-item label="鏁板��" prop="targetFourValue">
<el-input v-model="form.targetFourValue" placeholder="璇疯緭鍏ユ寚鏍�4鍊�" />
</el-form-item>
- <el-form-item label="鎸囨爣4鍗曚綅" prop="targetFourUnit">
+ <el-form-item label="鍗曚綅" prop="targetFourUnit">
<el-input v-model="form.targetFourUnit" placeholder="璇疯緭鍏ユ寚鏍�4鍗曚綅" />
</el-form-item>
- <el-form-item label="鎸囨爣4涓婃诞鎴栦笅闄嶅��" prop="targetFourCompareValue">
- <el-input v-model="form.targetFourCompareValue" placeholder="璇疯緭鍏ユ寚鏍�4涓婃诞鎴栦笅闄嶅��" />
+ <el-form-item label="娑ㄥ箙" prop="targetFourCompareValue">
+ <el-select v-model="form.targetFourStatus" placeholder="璇烽�夋嫨" style="width: 100px;">
+ <el-option key="1" label="涓婂崌" :value="1" />
+ <el-option key="2" label="涓嬮檷" :value="2" />
+ </el-select>
+  
+ <el-input v-model="form.targetFourCompareValue" placeholder="璇疯緭鍏ユ寚鏍�4涓婃诞鎴栦笅闄嶅��" style="width: 200px;" />
</el-form-item>
- <el-form-item label="鍛ㄦ湡 1 鏈� 2骞�" prop="periodName">
- <el-input v-model="form.periodName" placeholder="璇疯緭鍏ュ懆鏈� 1 鏈� 2骞�" />
- </el-form-item>
- <el-form-item label="鍛ㄦ湡鍊�" prop="periodValue">
- <el-input v-model="form.periodValue" placeholder="璇疯緭鍏ュ懆鏈熷��" />
- </el-form-item>
- <el-form-item label="0鏈垹闄� 1宸插垹闄�" prop="del">
- <el-input v-model="form.del" placeholder="璇疯緭鍏�0鏈垹闄� 1宸插垹闄�" />
+ <el-form-item label="鐘舵��" prop="status">
+ <el-select v-model="form.status" placeholder="璇烽�夋嫨">
+ <el-option key="1" label="宸插惎鐢�" :value="1" />
+ <el-option key="2" label="宸茬鐢�" :value="2" />
+ </el-select>
</el-form-item>
</el-form>
<template #footer>
@@ -196,29 +221,29 @@
const initFormData: TrafficIndexForm = {
id: undefined,
modeName: undefined,
+ periodDate: undefined,
+ period: 2,
targetOneName: undefined,
targetOneValue: undefined,
targetOneUnit: undefined,
- targetOneStatus: undefined,
+ targetOneStatus: 1,
targetOneCompareValue: undefined,
targetTwoName: undefined,
targetTwoValue: undefined,
targetTwoUnit: undefined,
- targetTwoStatus: undefined,
+ targetTwoStatus: 1,
targetTwoCompareValue: undefined,
targetThreeName: undefined,
targetThreeValue: undefined,
targetThreeUnit: undefined,
- targetThreeStatus: undefined,
+ targetThreeStatus: 1,
targetThreeCompareValue: undefined,
targetFourName: undefined,
targetFourValue: undefined,
targetFourUnit: undefined,
- targetFourStatus: undefined,
+ targetFourStatus: 1,
targetFourCompareValue: undefined,
- status: undefined,
- periodName: undefined,
- periodValue: undefined,
+ status: 1,
del: undefined
}
const data = reactive<PageData<TrafficIndexForm, TrafficIndexQuery>>({
@@ -248,8 +273,8 @@
targetFourStatus: undefined,
targetFourCompareValue: undefined,
status: undefined,
- periodName: undefined,
- periodValue: undefined,
+ period: undefined,
+ periodDate: undefined,
del: undefined,
params: {
}
@@ -324,10 +349,10 @@
status: [
{ required: true, message: "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢ㄤ笉鑳戒负绌�", trigger: "change" }
],
- periodName: [
+ period: [
{ required: true, message: "鍛ㄦ湡 1 鏈� 2骞翠笉鑳戒负绌�", trigger: "blur" }
],
- periodValue: [
+ periodDate: [
{ required: true, message: "鍛ㄦ湡鍊间笉鑳戒负绌�", trigger: "blur" }
],
del: [
@@ -416,6 +441,7 @@
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
const handleDelete = async (row?: TrafficIndexVO) => {
+ if(row?.status == 1) { proxy?.$modal.msgWarning("褰撳墠涓哄凡鍚敤鐘舵�侊紝涓嶆敮鎸佸垹闄�"); return; }
const _ids = row?.id || ids.value;
await proxy?.$modal.confirm('鏄惁纭鍒犻櫎浜ら�氭寚鏁扮紪鍙蜂负"' + _ids + '"鐨勬暟鎹」锛�').finally(() => loading.value = false);
await delTrafficIndex(_ids);
@@ -430,21 +456,21 @@
}, `trafficIndex_${new Date().getTime()}.xlsx`)
}
+/** 鍛ㄦ湡骞存垨鏈� */
+const pickerType = computed(() => {
+ return form.value.period === 1 ? 'year' : 'month';
+});
+
+const pickerFormat = computed(() => {
+ return form.value.period === 1 ? 'YYYY' : 'YYYY-MM';
+});
+
onMounted(() => {
getList();
});
-function handleRemove(file:string) {
- console.log(file);
- };
-type files = { //鑷畾涔夌被鍨�
- url: string;
- };
-function handlePictureCardPreview(file:files) {
- dialogImageUrl.value = file.url;
- dialogVisible.value = true;
- };
-function handleDownload(file:string) {
- console.log(file);
- };
-
+
+/** 娓呯┖鍛ㄦ湡 */
+const clearPeriod = () => {
+ form.value.periodDate = undefined;
+};
</script>
--
Gitblit v1.8.0