From 5b426c8bb73408fc358155882cbaebfeb803d6fa Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Fri, 19 Apr 2024 17:44:21 +0800
Subject: [PATCH] 更新

---
 /dev/null                               |   19 --
 subPackage/workbench/views/editCscj.vue |   61 +++++++
 subPackage/article/signature.vue        |    8 
 pages/home/index.vue                    |   23 ++
 pages.json                              |   26 ++
 subPackage/school/trouble.vue           |  265 +++++++++++++++++++++++++++++++++
 subPackage/workbench/views/cscj.vue     |    8 +
 common/setting.js                       |   11 -
 subPackage/school/clockIn.vue           |   21 -
 subPackage/article/detail.vue           |   32 +++
 10 files changed, 410 insertions(+), 64 deletions(-)

diff --git a/api/dataCenter/dbSafety/dbSafety.js b/api/dataCenter/dbSafety/dbSafety.js
deleted file mode 100644
index 54245f2..0000000
--- a/api/dataCenter/dbSafety/dbSafety.js
+++ /dev/null
@@ -1,118 +0,0 @@
-import http from '@/http/api.js'
-import {
-	dataCenterUrl
-} from '@/common/setting.js'
-
-//水库渗压数据
-export const getSyDetail = (params) => {
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/details_osmotic_pressure/api',
-		method: 'GET',
-		params: {
-			...params
-		}
-	})
-}
-
-//渗压列表
-export const getSyList = (params) => {
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/child/lastest_osmotic_pressure/api',
-		method: 'GET',
-		params: {
-			...params
-		}
-	})
-}
-
-//位移列表
-export const getWyList = (params) => {
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/child/lastest_displacement/api',
-		method: 'GET',
-		params: {
-			...params
-		}
-	})
-}
-
-export const getSlList = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/monitor/sl/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/monitor/sl/api',
-		method: 'GET',
-		params: {
-			...params
-		}
-	})
-}
-
-// 渗压监测明细
-export const getSYBaseDetails = (params) => {
-	return http.request({
-		url: dataCenterUrl + "/1234567890ABCDEFGHIJKLMN/press/analyze/v1/api",
-		method: 'GET',
-		params: {
-			...params
-		}
-	})
-}
-
-//大坝预测数据
-export const getDbFutureData = (params) => {
-	return http.request({
-		url: "/api/blade-nky/arimaPredict/arimaPredict/futureData",
-		method: "get",
-		params: {
-			...params
-		}
-	});
-};
-
-// 渗压设备列表
-export const getDsmSpgSpprmpList = (params) => {
-	return http.request({
-		url: dataCenterUrl + "/1234567890ABCDEFGHIJKLMN/dsm_spg_spprmp_list/api",
-		method: "get",
-		params: {
-			...params
-		}
-	});
-};
-
-
-// 大坝渗流渗压最新数据
-export const getLatestSySlData = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/monitor/last/sy/api
-	// http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/rel/sy_sl/api
-	return http.request({
-		url: dataCenterUrl + "/1234567890ABCDEFGHIJKLMN/rel/sy_sl/api",
-		method: "get",
-		params: {
-			...params
-		}
-	});
-};
-
-// 变形数据明细
-export const getBXBaseDetails = (params) => {
-	return http.request({
-		url: dataCenterUrl + "/1234567890ABCDEFGHIJKLMN/wy/analyze/v1/api",
-		method: "get",
-		params: {
-			...params
-		}
-	})
-}
-
-//获取测站数据
-export const getStationList = (params) => {
-	// /1234567890ABCDEFGHIJKLMN/base/cd/api?res_cd=42011640018&cd_type=sy
-	return http.request({
-		url: dataCenterUrl + "/1234567890ABCDEFGHIJKLMN/base/cd/api",
-		method: "get",
-		params: {
-			...params
-		}
-	})
-}
\ No newline at end of file
diff --git a/api/dataCenter/rainWaterCondition/rainWaterCondition.js b/api/dataCenter/rainWaterCondition/rainWaterCondition.js
deleted file mode 100644
index ae06b56..0000000
--- a/api/dataCenter/rainWaterCondition/rainWaterCondition.js
+++ /dev/null
@@ -1,124 +0,0 @@
-import http from '@/http/api.js'
-import {
-	dataCenterUrl
-} from '@/common/setting.js'
-
-//24小时雨情
-export const rainCodition24 = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/rain_24_level/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/rain/res_cnt/api',
-		method: 'GET',
-		params
-	})
-}
-//实时水情 --水情列表
-export const realTimeWaterCondition = (pageSize, pageNo, params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/st_z_last_is_more/api
-
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/rsvr_z_last/new
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/st_z_last_is_more/api',
-		method: 'GET',
-		params: {
-			...params,
-			pageSize,
-			pageNo
-		}
-	})
-}
-
-//雨情统计
-export const realTimeRainfallCondition = (pageSize, pageNo, params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/dws_rain_res_recent_a/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/dws_rain_res_recent_a/api',
-		method: 'GET',
-		params: {
-			...params,
-			pageSize,
-			pageNo
-		}
-	})
-}
-
-//雨量直方图
-export const ylzftData = (pageNo, pageSize, params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/dws_rain_res_dynamic_intv
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/dws_rain_res_dynamic_intv',
-		method: 'GET',
-		params: {
-			pageNo,
-			pageSize,
-			...params
-		}
-	})
-}
-
-//获取水库测站数据
-export const getStation = (params) => {
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/att_st_base/api',
-		method: "GET",
-		params
-	})
-}
-
-//水库详情-水情图表数据
-export const getSqList = (params) => {
-	return http.request({
-		url: dataCenterUrl + "/1234567890ABCDEFGHIJKLMN/res_z_detail/param",
-		method: "GET",
-		params
-	})
-}
-
-/**
- * 实时水情子级列表
- * @param params
- * @param pageNo
- * @param pageSize
- */
-export const getSKResZLastChildApi = params => {
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/st_z_last/api',
-		method: 'get',
-		params
-	})
-}
-
-/**
- * 实时雨情子级
- * @param params
- * @param pageNo
- * @param pageSize
- */
-export const getSKDwsRainResRecentAApiChilds = params => {
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/child/rain_24_details/api',
-		method: 'get',
-		params
-	})
-}
-
-//获取雨情测站信息
-export const getYqStation = params => {
-	return http.request({
-		//https://sk.hubeishuiyi.cn/services/1234567890ABCDEFGHIJKLMN/att_st_base/api?res_cd=42058350020
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/att_st_base/api',
-		method: 'get',
-		params
-	})
-}
-
-
-
-//水库详情-雨情图表数据
-export const getYqList = (params) => {
-	return http.request({
-		url: dataCenterUrl + "/1234567890ABCDEFGHIJKLMN/dws_rain_res_dynamic_intv",
-		method: "GET",
-		params
-	})
-}
\ No newline at end of file
diff --git a/api/dataCenter/region/region.js b/api/dataCenter/region/region.js
deleted file mode 100644
index 5888072..0000000
--- a/api/dataCenter/region/region.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import http from '@/http/api.js'
-import {
-	dataCenterUrl
-} from '@/common/setting.js'
-
-
-export const regionList = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/ad_scal_cnt/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/ad_scal_cnt/api',
-		method: 'GET',
-		params: {
-			...
-			params
-		}
-	})
-}
-
-export const getRegionList = (params) => {
-	//https://sk.hubeishuiyi.cn/api/blade-sm/sjztmd/attad/select?code=420000000000&showFour=true
-	return http.request({
-		url: '/api//blade-sm/sjztmd/attad/select',
-		method: 'GET',
-		params: {
-			...params,
-			showFour: true
-		}
-	})
-}
\ No newline at end of file
diff --git a/api/dataCenter/reservoir/reservoir.js b/api/dataCenter/reservoir/reservoir.js
deleted file mode 100644
index 76a7d1b..0000000
--- a/api/dataCenter/reservoir/reservoir.js
+++ /dev/null
@@ -1,189 +0,0 @@
-import http from '@/http/api.js'
-import {
-	dataCenterUrl
-} from '@/common/setting.js'
-
-
-//每日8时超汛 根据行政区划 -----对应实时汛情区域超汛分布柱状图
-export const dayEightOverLimit = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/res_water_over_scale
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/res_water_over_scale',
-		method: 'GET',
-		params
-	})
-}
-
-
-//超汛幅度分布 ------对应超汛幅度分布柱状图
-export const dayEightOverLimitDetail = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/over_z_group/param
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/over_z_group/param',
-		method: 'GET',
-		params
-	})
-}
-
-//实时水位-----对应水库详情水位过程线
-export const reservoirRealtimeSw = (params) => {
-	//可传参res_cd,res_nm,st_cd,st_nm,city_cd,county_cd
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/res_z_detail/param
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/res_z_detail/param',
-		method: 'GET',
-		params
-	})
-}
-
-//实时监控水库列表
-export const reservoirList = (pageSize, pageNo, params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/res_list_info_all/api
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/res/main_st/rsvr
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/res/main_st/rsvr',
-		method: 'GET',
-		params: {
-			...params,
-			pageSize,
-			pageNo
-		}
-	})
-}
-
-//水库统计数据
-export const reservoirNumStatistic = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/ad_cd/group/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/ad_cd/group/api',
-		method: 'GET',
-		params
-	})
-}
-
-//超汛限统计数据
-export const reservoirOverLimitNumStatistic = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/res_over_z/day/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/res_over_z/day/api',
-		method: 'GET',
-		params
-	})
-}
-
-//行政区划 水库数量
-export const reservoirNumRegion = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/ad_cd/group/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/ad_cd/group/api',
-		method: 'GET',
-		params
-	})
-}
-
-//监测数据
-export const reservoirMonitorNumRegion = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/ad_st_res_cnt/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/ad_st_res_cnt/api',
-		method: 'GET',
-		params
-	})
-}
-
-//水库详情
-export const reservoirDetail = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/att_res_base/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/att_res_base/api',
-		method: 'GET',
-		params,
-		header: {
-			enableCache: 'false',
-		},
-	})
-}
-
-//获取水库详情-图像信息
-export const getReservoirImage = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/res_imagest_r/api
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/wmst_imagest_r/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/wmst_imagest_r/api',
-		method: "GET",
-		params
-	})
-}
-
-//获取水库详情-基本信息---基本资料
-export const getReservoirBasicInfo = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/att_res_stag_char/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/att_res_stag_char/api',
-		method: "get",
-		header: {
-			enableCache: 'false',
-		},
-		params
-	})
-}
-
-//获取水库详情-基本信息---水位库容曲线
-export const getReservoirSwKrLine = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/att_res_stag_cap_disc/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/att_res_stag_cap_disc/api',
-		method: "get",
-		params
-	})
-}
-
-//获取超汛限水库数量
-export const getSKResInfoZRainApi = (params) => {
-	///services/1234567890ABCDEFGHIJKLMN/res/over_cnt
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/res/over_cnt',
-		method: "get",
-		params
-	})
-}
-
-//获取图像站数据
-export const getStation = (params) => {
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/res_imagest/api',
-		method: "get",
-		params
-	})
-}
-
-//获取该水库图像、视频站信息
-export const getReservoirVideoImageStation = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/res_func_detail/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/res_func_detail/api',
-		method: 'GET',
-		params
-	})
-}
-
-export const getRsbNorspiData = (params) => {
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/att_res_rsb_norspi/api',
-		method: 'GET',
-		header: {
-			enableCache: 'false',
-		},
-		params
-	})
-}
-
-//获取实时超汛统计数据
-export const realTimeOverStatistics = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/over_z_last/eng_scal
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/over_z_last/eng_scal',
-		method: 'GET',
-		params
-	})
-}
\ No newline at end of file
diff --git a/api/dataCenter/responsiblePerson/responsiblePerson.js b/api/dataCenter/responsiblePerson/responsiblePerson.js
deleted file mode 100644
index 1a3e888..0000000
--- a/api/dataCenter/responsiblePerson/responsiblePerson.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import http from '@/http/api.js'
-import {
-	dataCenterUrl
-} from '@/common/setting.js'
-
-//每日8时超汛 责任落实
-export const responsibilityImplementation = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/res/per/wls/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/res/per/wls/api',
-		method: 'GET',
-		params
-	})
-}
-
-//水库详情 水库责任人
-export const findResManagePersonByResId = (params) => {
-	///api/blade-sm/sjztmd/attResManagePerson/findResManagePersonByResId?resGuid=42082150052
-	return http.request({
-		url: '/api/blade-sm/sjztmd/attResManagePerson/findResManagePersonByResId',
-		method: 'GET',
-		params
-	})
-}
-
-//水库详情 水库责任人 只返回系统存在的用户
-export const findResManagePersonByResIdReturnSys = (params) => {
-	return http.request({
-		url: '/api/blade-sm/sjztmd/attResManagePerson/findResManagePersonByResIdReturnSys',
-		method: 'GET',
-		params
-	})
-}
-
-//水库详情 视频监控
-export const getAttWmstBase = (params) => {
-	//http://10.10.2.192/services/1234567890ABCDEFGHIJKLMN/res_wmst_ad/api
-	return http.request({
-		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/res_wmst_base/api',
-		method: 'GET',
-		params
-	})
-}
-
-// //视频站数据
-// export const videoStation = params => {
-// 	return http.request({
-// 		/services?res_cd=42282750021
-// 		url: dataCenterUrl + '/1234567890ABCDEFGHIJKLMN/att_wmst_base/api',
-// 		method: 'GET',
-// 		params
-// 	})
-// }
\ No newline at end of file
diff --git a/api/hsyb/index.js b/api/hsyb/index.js
deleted file mode 100644
index 467bc20..0000000
--- a/api/hsyb/index.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import http from '@/http/api.js'
-import {
-	hsybUrl
-} from '@/common/setting.js'
-
-//水库渗压数据
-export const hsybData = (data) => {
-	return http.request({
-		url: hsybUrl + '/skkr/getFuture',
-		method: 'POST',
-		json: true,
-		custom: {
-			need: true,
-			token:'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiJBRE1JTiIsIlVzZXJJZCI6IjEiLCJzY29wZSI6WyJhbGwiXSwiVXNlclJlYWxOYW1lIjoi6LaF57qn566h55CG5ZGYIiwiVXNlclh6cWhkbSI6IjQyMDUiLCJleHAiOjI1MTk3NzIwMTAsImp0aSI6ImExNTcxYzk1LTBkNjMtNDkyYi1iOWEyLTE2ZTIzNTQ5ZTY1ZiIsImNsaWVudF9pZCI6InVzZXItc2VydmljZSJ9.ebNVZrw9LbhKaj2w6RR8b2wccQiDkhvBeq79SxxCK-yWiOlIFqBkotTN4TNJg8umcpyYvLILwvqXWRJhffEtgi25sX2y6MqLIWM4kMZ9d8ptdnSmTpBPhltSiQOM0KFa1kl5nSDCBwYOLn-pESJglam76cjpgZNoC88x3iNHacdiXDItY0rtY85HrQ26uyJu9UovKtmYmZRHsIbGMpDta5Q1p4vfaCIr-YUayDrCweZJiQDEEcOSpWJ7O7RMk3pRkX_4UmPHFzrOI2lMp1jQIhxnSTE7EVAz_4z8h8r46muSkpF54Ic4XSawHKqdSLHx8T05LB0MpvOzWMPS6c1uHA',
-			Authorization:true,
-		},
-		data
-	})
-}
\ No newline at end of file
diff --git a/common/setting.js b/common/setting.js
index 1d2fd98..1cb651f 100644
--- a/common/setting.js
+++ b/common/setting.js
@@ -10,20 +10,13 @@
 	version: '2.0.0',
 	// 开发环境接口Url
 	// devUrl: 'http://z4042833u6.wicp.vip',
-	// devUrl: 'http://192.168.2.111:9528',
-	devUrl: 'https://srgdjczzxtpt.com:2080/api',
+	devUrl: 'http://192.168.2.111:9528',
+	// devUrl: 'https://srgdjczzxtpt.com:2080/api',
 	// devUrl: 'https://kt39592615.goho.co',
 	minioBaseUrl: "https://srgdjczzxtpt.com:2080/gminio/jczz/",
 	// minioBaseUrl: "http://192.168.0.101:9528/",
-	// 数据中台接口url
-	dataCenterUrl: 'https://sk.hubeishuiyi.cn/services',
-	//洪水预报接口url
-	hsybUrl: "https://sk.hubeishuiyi.cn/hsybApi/api/fh-admin",
 	// 线上环境接口Url
 	prodUrl: 'https://srgdjczzxtpt.com:2080/api',
-
-	// prodUrl: 'http://192.168.2.140:9528',
-
 	// 后端数据的接收方式application/json;charset=UTF-8或者application/x-www-form-urlencoded;charset=UTF-8
 	contentType: 'application/json;charset=UTF-8',
 	// 后端返回状态码
diff --git a/pages.json b/pages.json
index 7e1817c..31023d1 100644
--- a/pages.json
+++ b/pages.json
@@ -1232,14 +1232,26 @@
 		{
 			"root": "subPackage/school",
 			"pages": [{
-				"path": "clockIn",
-				"style": {
-					"navigationBarTitleText": "护学打卡 ",
-					"navigationBarBackgroundColor": "#fff",
-					"navigationBarTextStyle": "black",
-					"enablePullDownRefresh": false
+					"path": "clockIn",
+					"style": {
+						"navigationBarTitleText": "护学打卡 ",
+						"navigationBarBackgroundColor": "#fff",
+						"navigationBarTextStyle": "black",
+						"enablePullDownRefresh": false
+					}
+				},
+
+				{
+					"path": "trouble",
+					"style": {
+						"navigationBarTitleText": "隐患排查",
+						"navigationBarBackgroundColor": "#fff",
+						"navigationBarTextStyle": "black",
+						"enablePullDownRefresh": false
+					}
 				}
-			}]
+
+			]
 		}
 	],
 	"globalStyle": {
diff --git a/pages/home/index.vue b/pages/home/index.vue
index e85f925..5acf4f7 100644
--- a/pages/home/index.vue
+++ b/pages/home/index.vue
@@ -216,6 +216,13 @@
 										<text class="nav-item-text f-26  mt-10">场所任务</text>
 									</view>
 								</u-grid-item>
+								<!-- <u-grid-item @click="navToSchoolClockIn()"
+									v-if="curSelectSite.categoryList[0].parentNo == 1601">
+									<view class="nav-item flex f-d-c a-i-c">
+										<u-icon name="/static/icon/nav-29.png" width="80rpx" height="80rpx"></u-icon>
+										<text class="nav-item-text f-26  mt-10">护学打卡</text>
+									</view>
+								</u-grid-item> -->
 							</block>
 						</u-grid>
 					</view>
@@ -437,12 +444,8 @@
 								text: "居住证申请",
 								path: "/subPackage/reside/edit",
 								icon: "/static/icon/nav-13.png"
-							},
-							// {
-							// 	text: "护学打卡",
-							// 	path: "/subPackage/school/clockIn",
-							// 	icon: "/static/icon/nav-13.png"
-							// }
+							}
+
 						]
 					},
 
@@ -1336,6 +1339,14 @@
 					url: `/subPackage/workbench/views/auditSite?code=${houseCode}&from=index`
 				})
 			},
+
+			//护学打卡跳转
+			navToSchoolClockIn() {
+				uni.navigateTo({
+					url: `/subPackage/school/clockIn`
+				})
+			},
+
 			getRealTimeLocaltion() {
 				this.getDeviceGPS() //获取本机GPS状态
 				wx.startLocationUpdateBackground({
diff --git a/subPackage/article/detail.vue b/subPackage/article/detail.vue
index f5ea66f..c2d2aa9 100644
--- a/subPackage/article/detail.vue
+++ b/subPackage/article/detail.vue
@@ -63,9 +63,10 @@
 					</view>
 
 					<view class="explain-row ">
-						<text class="f-28 c-main" v-if="!isEnd && !isComplete">投票进行中</text>
+						<text class="f-28 c-main" v-if="!isEnd && !isComplete && isStart">投票进行中</text>
 						<text class="f-28 c-main" v-if="isComplete && !isEnd">投票已提交</text>
 						<text class="f-28 c-main" v-if="isEnd">投票已结束</text>
+						<text class="f-28 c-main" v-if="!isStart">投票未开始</text>
 						<text class="ml-20 f-26 " v-if="applyInfo.voteRestrictions == 1">(该议题为一户一票)</text>
 					</view>
 
@@ -93,7 +94,7 @@
 							<view class="" v-if="item.optionRange == 0">
 								<u-radio-group size="22" iconPlacement="right" activeColor="#017BFC" placement="column"
 									v-model="item.selected" @change="selectOption($event,index)"
-									:disabled="item.isSubmit || isEnd  || isComplete">
+									:disabled="item.isSubmit || isEnd  || isComplete  || !isStart">
 									<view class="mb-30" v-for="(i,k) in item.children">
 										<u-radio :label="i.optionContent" :name="i.id"></u-radio>
 										<view class="flex j-c-s-b a-i-c mt-10">
@@ -133,10 +134,11 @@
 								</u-checkbox-group>
 							</view>
 						</view>
-						<button class="apply-btn bgc-main c-ff" v-if="!isEnd  && !isComplete"
+						<button class="apply-btn bgc-main c-ff" v-if="!isEnd  && !isComplete  && isStart"
 							@click="submitVote()">提交</button>
 						<button class="apply-btn bgc-gray c-dd" v-if="isComplete && !isEnd">已提交</button>
 						<button class="apply-btn bgc-gray c-dd" v-if="isEnd">已结束</button>
+						<button class="apply-btn bgc-gray c-dd" v-if="!isStart">未开始</button>
 					</view>
 				</view>
 			</view>
@@ -244,7 +246,9 @@
 				isShowPopup: false,
 				validationCode: "",
 				phone: "",
-				text: "获取验证码"
+				text: "获取验证码",
+				isSendCode: false,
+				isStart: false //投票是否开始
 			}
 		},
 		onLoad(option) {
@@ -286,6 +290,18 @@
 					this.setOptionDisable() //时间结束,所有多项按钮禁用
 				}
 				return Number(endTimestamp) - Number(curTimestamp)
+			},
+			computeStartTime() {
+				let curTimestamp = new Date().getTime();
+				let startTimestamp = new Date(this.applyInfo.startTime).getTime();
+				if (Number(curTimestamp) - Number(startTimestamp) >= 0) {
+					this.isStart = true;
+				} else {
+					this.setOptionDisable()
+					this.isStart = false;
+					//时间没到,所有多项按钮禁用
+				}
+				// return Number(endTimestamp) - Number(curTimestamp)
 			}
 		},
 
@@ -632,8 +648,9 @@
 				// 	return false;
 				// }
 				// this.sendValidationCode();
+				if (this.isSendCode) return;
 				let second = 60;
-
+				this.isSendCode = true;
 				sendCode({
 					phone: uni.getStorageSync("userInfo").phone,
 				}).then(res => {
@@ -641,11 +658,14 @@
 						let time = setInterval(() => {
 							second--
 							this.text = `${second}秒后获取`
-							if (second == 0 || this.data.isLogin) {
+							if (second == 0 || this.isLogin) {
 								clearInterval(time);
+								this.isSendCode = false
 								this.text = "获取验证码";
 							}
 						}, 1000)
+					} else {
+						this.isSendCode = false;
 					}
 				})
 			},
diff --git a/subPackage/article/signature.vue b/subPackage/article/signature.vue
index be179cf..3f87c24 100644
--- a/subPackage/article/signature.vue
+++ b/subPackage/article/signature.vue
@@ -70,7 +70,8 @@
 				phone: "",
 				text: "获取验证码",
 				imgSrc: "",
-				type: ""
+				type: "",
+				isSendCode: false
 			}
 		},
 
@@ -158,7 +159,9 @@
 				// 	return false;
 				// }
 				// this.sendValidationCode();
+				if (this.isSendCode) return;
 				let second = 60;
+				this.isSendCode = true;
 				sendCode({
 					phone: uni.getStorageSync("userInfo").phone,
 				}).then(res => {
@@ -168,9 +171,12 @@
 							this.text = `${second}秒后获取`
 							if (second == 0 || this.data.isLogin) {
 								clearInterval(time);
+								this.isSendCode = false;
 								this.text = "获取验证码";
 							}
 						}, 1000)
+					} else {
+						this.isSendCode = false;
 					}
 				})
 			},
diff --git a/subPackage/school/clockIn.vue b/subPackage/school/clockIn.vue
index 93b6f48..9822d99 100644
--- a/subPackage/school/clockIn.vue
+++ b/subPackage/school/clockIn.vue
@@ -3,20 +3,20 @@
 		<view class="content bgc-ff">
 			<u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="90"
 				:labelStyle="{fontSize:'28rpx'}">
-				<u-form-item label="家长姓名" prop="name" borderBottom ref="name" required>
+				<u-form-item label="家长姓名" prop="name" borderBottom ref="name">
 					<u-input v-model="info.name" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
 						inputAlign="right"></u-input>
 				</u-form-item>
 
-				<u-form-item label="家长手机号" prop="phone" borderBottom ref="phone" required>
+				<u-form-item label="家长手机号" prop="phone" borderBottom ref="phone">
 					<u-input v-model="info.phone" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
 						inputAlign="right"></u-input>
 				</u-form-item>
-				<u-form-item label="学生姓名" prop="realName" borderBottom ref="realName" required>
+				<u-form-item label="学生姓名" prop="realName" borderBottom ref="realName">
 					<u-input v-model="info.realName" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
 						inputAlign="right"></u-input>
 				</u-form-item>
-				<u-form-item label="学生班级" prop="gradeAndClass" borderBottom ref="gradeAndClass" required>
+				<u-form-item label="学生班级" prop="gradeAndClass" borderBottom ref="gradeAndClass">
 					<u-input v-model="info.gradeAndClass" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
 						inputAlign="right"></u-input>
 				</u-form-item>
@@ -74,13 +74,10 @@
 		data() {
 			return {
 				info: {
-					realName: "",
+					name: "",
 					phone: "",
-					remark: "",
-					type: -1,
-					address: "",
-					lat: "",
-					lng: ""
+					location: "",
+					gradeAndClass: ""
 				},
 				rules: {
 					'name': {
@@ -95,17 +92,13 @@
 							message: '请输入手机号',
 							trigger: ['blur', 'change']
 						},
-
 						{
-
 							validator: (rule, value, callback) => {
 								return uni.$u.test.mobile(value);
 							},
 							message: '手机号码不正确',
 							trigger: ['change', 'blur']
-
 						}
-
 					],
 					'location': {
 						type: 'string',
diff --git a/subPackage/school/trouble.vue b/subPackage/school/trouble.vue
index 02409e3..565c6fd 100644
--- a/subPackage/school/trouble.vue
+++ b/subPackage/school/trouble.vue
@@ -1,8 +1,271 @@
 <template>
+	<view class="">
+		<view class="content bgc-ff">
+			<u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="90"
+				:labelStyle="{fontSize:'28rpx'}">
+
+				<u-form-item label="类型:" labelWidth="100" prop="type" :required="isRequired">
+					<u-radio-group v-model="info.type">
+						<u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList" :key="index"
+							:label="item.name" :name="item.id">
+						</u-radio>
+					</u-radio-group>
+
+				</u-form-item>
+
+				<u-form-item label="家长姓名" prop="name" borderBottom ref="name" required>
+					<u-input v-model="info.name" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+						inputAlign="right"></u-input>
+				</u-form-item>
+
+				<u-form-item label="家长手机号" prop="phone" borderBottom ref="phone" required>
+					<u-input v-model="info.phone" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+						inputAlign="right"></u-input>
+				</u-form-item>
+				<u-form-item label="学生姓名" prop="realName" borderBottom ref="realName" required>
+					<u-input v-model="info.realName" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+						inputAlign="right"></u-input>
+				</u-form-item>
+				<u-form-item label="学生班级" prop="gradeAndClass" borderBottom ref="gradeAndClass" required>
+					<u-input v-model="info.gradeAndClass" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+						inputAlign="right"></u-input>
+				</u-form-item>
+				<u-form-item label="位置" prop="location" :borderBottom="false" required>
+					<view class="address-row flex">
+						<view class="address-content f-28" v-if="info.location">
+							{{info.location}}
+						</view>
+						<view class="address-content f-28 c-99" v-if="!info.location">
+							请选择地址
+						</view>
+						<view class="location-btn c-main f-24" @click="getLocation()">
+							获取地址
+						</view>
+					</view>
+					<!-- <u-input v-model="info.address" border="none"  placeholderClass="f-28 c-99"
+						inputAlign="right"    disabled  disabledColor="#fff">
+						<template slot="suffix">
+							<button class="location-btn c-main f-24"   @click="getLocation()">获取地址</button>
+						</template>
+					</u-input> -->
+				</u-form-item>
+
+				<u-form-item label="描述" prop="describe" borderBottom ref="describe" required>
+					<u-textarea v-model="info.describe" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+						inputAlign="right"></u-textarea>
+				</u-form-item>
+			</u-form>
+		</view>
+
+		<view class="upload bgc-ff">
+			<view class="f-28 mb-20">照片</view>
+			<!-- <u-textarea v-model="info.remark" placeholder="请输入内容" border="none"
+				placeholderClass="c-99 f-26"></u-textarea> -->
+			<view class="mt-20">
+				<u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
+					:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
+					:capture="uploadConfig.capture" @afterRead="afterReadImg" @delete="deletePic">
+					<view class="upload-item upload-icon flex_base">
+						<u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon>
+					</view>
+				</u-upload>
+			</view>
+		</view>
+
+
+		<button class="submit-btn" @click="sumitInfo">提交</button>
+		<!-- <button class="list-btn" @click="navigatorPage">我上报的事件</button> -->
+
+	</view>
 </template>
 
 <script>
+	import uploadMixin from "@/mixin/uploadMixin";
+	import {
+		addClockIn
+	} from "@/api/school/school.js";
+	export default {
+		mixins: [uploadMixin],
+		data() {
+			return {
+				info: {
+					name: "",
+					phone: "",
+					location: "",
+					gradeAndClass: ""
+				},
+				rules: {
+					'name': {
+						type: 'string',
+						required: true,
+						message: '请输入家长姓名',
+						trigger: ['blur', 'change']
+					},
+					'phone': [{
+							type: 'string',
+							required: true,
+							message: '请输入手机号',
+							trigger: ['blur', 'change']
+						},
+						{
+							validator: (rule, value, callback) => {
+								return uni.$u.test.mobile(value);
+							},
+							message: '手机号码不正确',
+							trigger: ['change', 'blur']
+						}
+					],
+					'location': {
+						type: 'string',
+						required: true,
+						message: '请选择地址',
+						trigger: ['blur', 'change']
+					},
+				},
+				desc: "",
+				title: "",
+				curSelectSite: {},
+				statusList: [{
+						name: "隐患",
+						id: 1
+					},
+					{
+						name: "矛盾",
+						id: 2
+					}
+				],
+			}
+		},
+		onLoad(option) {
+			if (option.type) {
+				this.info.type = option.type
+			}
+
+
+		},
+		// onShow() {
+		// 	this.curSelectSite = uni.getStorageSync('siteInfo')
+		// 	this.info.addressCode = this.curSelectSite.houseCode
+		// },
+		methods: {
+
+			getLocation() {
+				uni.chooseLocation({
+					success: (res) => {
+						this.$set(this.info, "location", res.address);
+						// this.$set(this.info, "lat", res.latitude);
+						// this.$set(this.info, "lng", res.longitude)
+					}
+				})
+			},
+
+
+			sumitInfo() {
+
+				this.$refs.form.validate().then(valid => {
+					if (this.form.images.length > 0) {
+						let urls = []
+						this.form.images.forEach(e => {
+							urls.push(e.name)
+						})
+						this.info.images = urls.join(",")
+					}
+					addClockIn(this.info).then(res => {
+						this.$showTips("提交成功", "success")
+						setTimeout(() => {
+							uni.navigateBack()
+						}, 300)
+					})
+				})
+			},
+			navigatorPage() {
+				let url = "/subPackage/bs/views/repairList" + "?title=" + this.title + "&type=" + this.info.type
+				this.$u.func.globalNavigator(url, "navTo")
+			}
+		}
+	}
 </script>
 
-<style>
+<style lang="less">
+	page {
+		background-color: #F5F5F5;
+	}
+
+	.content {
+		margin: 20rpx 30rpx;
+		padding: 0 30rpx;
+	}
+
+	.site-box {
+		padding: 30rpx;
+		margin: 20rpx 30rpx;
+		border-radius: 4rpx;
+
+		.c-aa {
+			color: #aaa;
+		}
+
+		.address {
+			width: 60%;
+			margin-left: 25rpx;
+		}
+	}
+
+	.upload-item {
+		width: 140rpx;
+		height: 140rpx;
+		border: 1px solid #EEEEEE;
+	}
+
+	.upload {
+		margin: 0 30rpx;
+		padding: 30rpx;
+
+
+	}
+
+	.submit-btn {
+		width: 690rpx;
+		height: 78rpx;
+		line-height: 78rpx;
+		background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
+		border-radius: 8rpx 8rpx 8rpx 8rpx;
+		font-size: 32rpx;
+		color: #fff;
+		margin-top: 50rpx;
+	}
+
+	.list-btn {
+		width: 690rpx;
+		height: 78rpx;
+		line-height: 78rpx;
+		background: linear-gradient(163deg, #c7d7dc 0%, #c3cdd8 100%);
+		border-radius: 8rpx 8rpx 8rpx 8rpx;
+		font-size: 32rpx;
+		color: #fff;
+		margin-top: 50rpx;
+	}
+
+	.address-row {
+		flex: 1;
+		justify-content: flex-end;
+		align-items: center;
+	}
+
+	.address-content {
+		width: calc(100% - 116rpx - 20rpx);
+		margin-right: 20rpx;
+		text-align: right;
+	}
+
+	.location-btn {
+		width: 116rpx;
+		height: 46rpx;
+		line-height: 46rpx;
+		border-radius: 4rpx;
+		border: 1px solid currentColor;
+		padding: 0;
+		background-color: #fff;
+		text-align: center;
+	}
 </style>
\ No newline at end of file
diff --git a/subPackage/workbench/views/cscj.vue b/subPackage/workbench/views/cscj.vue
index e65389a..c93bf57 100644
--- a/subPackage/workbench/views/cscj.vue
+++ b/subPackage/workbench/views/cscj.vue
@@ -533,6 +533,14 @@
 						legalIdCard: "",
 						placeId: "",
 
+						studentNumber: "",
+						workersNumber: "",
+						securityNumoer: "",
+						gusrdNumber: "",
+						temporarySecurityNumber: "",
+						daystudentsNumber: "",
+						residentialStudentsNumber: "",
+						housemasterNumber: ""
 					}
 				},
 				rules: {
diff --git a/subPackage/workbench/views/editCscj.vue b/subPackage/workbench/views/editCscj.vue
index de16a34..7e3d4ab 100644
--- a/subPackage/workbench/views/editCscj.vue
+++ b/subPackage/workbench/views/editCscj.vue
@@ -218,7 +218,57 @@
 					</u-form-item>
 				</view>
 
-
+				<view class="item" v-if="false">
+					<view class="flex j-c-s-b a-i-c">
+						<view class="box-title" style="width:50%;">
+							<box-title title="学校信息"></box-title>
+						</view>
+					</view>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="学生人数:" prop="studentNumber">
+						<u--input border="none" type="number" v-model="form.placeExtEntity.studentNumber"
+							placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="教职工人数:" prop="workersNumber">
+						<u--input border="none" type="number" v-model="form.placeExtEntity.workersNumber"
+							placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="专职保安:" prop="securityNumoer">
+						<u--input border="none" type="number" v-model="form.placeExtEntity.securityNumoer"
+							placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="专职门卫:" prop="gusrdNumber">
+						<u--input border="none" v-model="form.placeExtEntity.gusrdNumber" placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="专兼职保卫人员:" prop="temporarySecurityNumber">
+						<u--input border="none" v-model="form.placeExtEntity.temporarySecurityNumber" placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="走读/寄宿:" prop="daystudentsNumber">
+						<u--input border="none" v-model="form.placeExtEntity.daystudentsNumber" placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="住校生人数:" prop="residentialStudentsNumber">
+						<u--input border="none" v-model="form.placeExtEntity.residentialStudentsNumber"
+							placeholder="请输入">
+						</u--input>
+					</u-form-item>
+					<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+						label="宿舍管理人员:" prop="housemasterNumber">
+						<u--input border="none" v-model="form.placeExtEntity.housemasterNumber" placeholder="请输入">
+						</u--input>
+					</u-form-item>
+				</view>
 
 
 				<view class="item pic">
@@ -440,6 +490,15 @@
 						legalIdCard: "",
 						placeId: "",
 
+						studentNumber: "",
+						workersNumber: "",
+						securityNumoer: "",
+						gusrdNumber: "",
+						temporarySecurityNumber: "",
+						daystudentsNumber: "",
+						residentialStudentsNumber: "",
+						housemasterNumber: ""
+
 					}
 				},
 				rules: {

--
Gitblit v1.9.3