diff --git a/src/api/humanResource/clockin/index.ts b/src/api/humanResource/clockin/index.ts
deleted file mode 100644
index 57c1f37..0000000
--- a/src/api/humanResource/clockin/index.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { http } from '@/utils/http';
-
-
-/*新增打卡记录*/
-export function addApi(config : Object) {
- return http({
- url: '/cxc_rlzy.wbxm.wbdk/cxcRlzyWbdk/add',
- method: 'POST',
- data: config
- })
-}
\ No newline at end of file
diff --git a/src/api/humanResource/personnel/index.ts b/src/api/humanResource/personnel/index.ts
index 5c932d2..a2b7464 100644
--- a/src/api/humanResource/personnel/index.ts
+++ b/src/api/humanResource/personnel/index.ts
@@ -112,4 +112,13 @@ export function cxcRyDatAstatisticsDetails(parm) { // 员工信息统计
method: 'GET',
data: parm
})
+}
+
+/*新增打卡记录*/
+export function clockInApi(data : object) {
+ return http({
+ url: '/cxc_rlzy.wbxm.wbdk/cxcRlzyWbdk/add',
+ method: 'POST',
+ data
+ })
}
\ No newline at end of file
diff --git a/src/api/politics/health.ts b/src/api/politics/health.ts
index eade129..346a12b 100644
--- a/src/api/politics/health.ts
+++ b/src/api/politics/health.ts
@@ -18,4 +18,21 @@ export function queryIf3rdGxyApi(ldhth : string) { // 根据username获取职位
ldhth
}
})
+}
+
+//查询登录人本月随访问题
+export function querySfwtApi() {
+ return http({
+ url: '/jksf.tbb/cxcGwjktbTbb/querySfwtByMonthLdhth',
+ method: 'GET'
+ })
+}
+
+// 提交随访问题
+export function editApi(data : object) {
+ return http({
+ url: '/jksf.tbb/cxcGwjktbTbb/editCxcGwjktbTbbZb',
+ method: 'PUT',
+ data
+ })
}
\ No newline at end of file
diff --git a/src/api/system/index.ts b/src/api/system/index.ts
index f1c117c..a257519 100644
--- a/src/api/system/index.ts
+++ b/src/api/system/index.ts
@@ -90,10 +90,34 @@ export function getDictItemsApi(dictCode : string) { // 字典标签专用
})
}
-export function deleteFile(config : object){//删除文件 by 闵
+export function deleteFile(config : object) {//删除文件 by 闵
return http({
url: `/sys/common/deleteFileAndCache`,
method: 'GET',
data: config
})
}
+
+/*根据经纬度获取地理位置*/
+export function getLocationApi(longitude : number, latitude : number) {
+ return http({
+ url: `/sys/common/getLocation`,
+ method: 'GET',
+ data: {
+ longitude,
+ latitude
+ }
+ })
+}
+
+/*根据经纬度或城市名称获取天气信息*/
+export function getWeatherApi(longitude : number, latitude : number) {
+ return http({
+ url: `/sys/common/getWeather`,
+ method: 'GET',
+ data: {
+ longitude,
+ latitude
+ }
+ })
+}
\ No newline at end of file
diff --git a/src/pages-humanResource/absence/add.vue b/src/pages-humanResource/absence/add.vue
index 9e3d463..47d59ee 100644
--- a/src/pages-humanResource/absence/add.vue
+++ b/src/pages-humanResource/absence/add.vue
@@ -27,7 +27,7 @@
:rules="[{ required: true, message: '请选择结束时间' }]" :min-date="minEndtime" />
-
+
@@ -251,8 +251,8 @@
} else {
toast.warning(res.message)
setTimeout(() => {
- handleClickLeft()
- }, 1000)
+ uni.navigateBack()
+ }, 2000)
}
})
}
@@ -333,13 +333,20 @@
roleId: '1554379432313397250',
orgCode: userStore.userInfo.orgCode
}).then(res => {
- model.hr = res.result[0].username
- hrData.value = res.result.map(item => {
- return {
- label: item.realname,
- value: item.username
- }
- })
+ if (res.result.length == 0) {
+ toast.warning('请切换工作单位!')
+ setTimeout(() => {
+ uni.navigateBack()
+ }, 2000)
+ } else {
+ model.hr = res.result[0].username
+ hrData.value = res.result.map(item => {
+ return {
+ label: item.realname,
+ value: item.username
+ }
+ })
+ }
})
}
diff --git a/src/pages-politics/health/followup.vue b/src/pages-politics/health/followup.vue
new file mode 100644
index 0000000..ce7b71c
--- /dev/null
+++ b/src/pages-politics/health/followup.vue
@@ -0,0 +1,145 @@
+
+ {
+ layout: 'default',
+ style: {
+ navigationStyle: 'custom',
+ navigationBarTitleText: '健康随访',
+ },
+ }
+
+
+
+
+
+
+
+ {{ index + 1 }}. {{ item.tbnr }}
+
+ 是
+ 否
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages.json b/src/pages.json
index 88e5087..2bc63ea 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -479,6 +479,15 @@
"navigationStyle": "custom",
"navigationBarTitleText": "健康填报"
}
+ },
+ {
+ "path": "health/followup",
+ "type": "page",
+ "layout": "default",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "健康随访"
+ }
}
]
},
diff --git a/src/pages/user/people.vue b/src/pages/user/people.vue
index d67f01c..ccb4f7d 100644
--- a/src/pages/user/people.vue
+++ b/src/pages/user/people.vue
@@ -61,8 +61,8 @@
import { getEnvBaseUrl } from '@/utils/index'
import { queryPostByUserIdApi, editUserApi } from '@/api/system/user'
import { useAppStore } from '@/store'
- import { addApi } from '@/api/humanResource/clockin'
-
+ import { clockInApi } from '@/api/humanResource/personnel'
+
const appStore = useAppStore();
const userStore = useUserStore()
const toast = useToast()
@@ -156,19 +156,30 @@
toast.warning('H5暂不支持')
// #endif
}
-
+
const clockin = () => {
if (loading.value) return
- addApi({
- weizhi: appStore.clockin
- }).then((res : any) => {
- if(res.success){
- toast.success(res.message)
- }else{
- toast.warning(res.message)
+ loading.value = true;
+ uni.getLocation({
+ type: 'wgs84',
+ success: function (position) {
+ clockInApi({
+ longitude: position.longitude,
+ latitude: position.latitude
+ }).then((res : any) => {
+ if (res.success) {
+ toast.success(res.message)
+ } else {
+ toast.warning(res.message)
+ }
+ loading.value = false
+ })
+ },
+ fail: function (err) {
+ toast.warning('请打开系统定位再打卡!')
+ loading.value = false
}
- loading.value = true
- })
+ });
}
diff --git a/src/static/index/index/followup.png b/src/static/index/index/followup.png
new file mode 100644
index 0000000..95bbd53
Binary files /dev/null and b/src/static/index/index/followup.png differ
diff --git a/src/store/index.ts b/src/store/index.ts
index d23a18b..159cdf9 100644
--- a/src/store/index.ts
+++ b/src/store/index.ts
@@ -15,7 +15,6 @@ export const useAppStore = defineStore('app', {
isGray: 0 as 0 | 1, // 0=正常,1=灰化
position: null, //市
location: null, //省市区
- clockin: null, //详细位置 精确到街道
temperature: null, //温度
weather: null //天气
}),
@@ -29,9 +28,6 @@ export const useAppStore = defineStore('app', {
setLocation(value : string) {
this.location = value
},
- setClockin(value : string) {
- this.clockin = value
- },
setTemperature(value : number) {
this.temperature = value
},
diff --git a/src/types/uni-pages.d.ts b/src/types/uni-pages.d.ts
index 34686a6..5b03bf8 100644
--- a/src/types/uni-pages.d.ts
+++ b/src/types/uni-pages.d.ts
@@ -53,6 +53,7 @@ interface NavigateToOptions {
"/pages-humanResource/personnel/standingbook" |
"/pages-integrated/duty/index" |
"/pages-politics/health/add" |
+ "/pages-politics/health/followup" |
"/pages-process/approvalTabbar" |
"/pages-process/myApplyProcess" |
"/pages-process/taskHandle" |
diff --git a/src/utils/index.ts b/src/utils/index.ts
index 431290f..419f779 100644
--- a/src/utils/index.ts
+++ b/src/utils/index.ts
@@ -2,7 +2,7 @@ import { defineStore } from 'pinia'
import { pages, subPackages, tabBar } from '@/pages.json'
import { isMpWeixin } from './platform'
import { useAppStore } from '@/store'
-import { upDateAppApi } from '@/api/system'
+import { upDateAppApi, getLocationApi, getWeatherApi } from '@/api/system'
@@ -232,11 +232,9 @@ export const useUpdateApp = defineStore('updateApp', () => {
try {
let path = ''
let webApp = import.meta.env.VITE_WEBAPP
- console.log(webApp)
- if(webApp){//如果是测试环境 ,upDateAppApi 传递参数 by min
+ if (webApp) {//如果是测试环境 ,upDateAppApi 传递参数 by min
path = webApp
}
- console.log(path)
upDateAppApi(path).then(async (res : any) => {
let {
result
@@ -285,19 +283,19 @@ export const useUpdateApp = defineStore('updateApp', () => {
* @param isWgt 是否是热资源更新 默认不是
*/
export const hasNewVersion = (version, isWgt = false) => {
- // #ifdef APP_PLUS
- return new Promise((resolve) => {
- if (isWgt) {
- plus.runtime.getProperty(plus.runtime.appid, (widgetInfo) => {
- const currentVersion = widgetInfo.versionCode
- resolve(Number(version) > Number(currentVersion))
- })
- } else {
- const currentVersion = plus.runtime.versionCode
- resolve(Number(version) > Number(currentVersion))
- }
- })
- // #endif
+ // #ifdef APP_PLUS
+ return new Promise((resolve) => {
+ if (isWgt) {
+ plus.runtime.getProperty(plus.runtime.appid, (widgetInfo) => {
+ const currentVersion = widgetInfo.versionCode
+ resolve(Number(version) > Number(currentVersion))
+ })
+ } else {
+ const currentVersion = plus.runtime.versionCode
+ resolve(Number(version) > Number(currentVersion))
+ }
+ })
+ // #endif
}
export function onClickUpdate(updateType : string, url) {
@@ -389,108 +387,38 @@ export const getLocation = () => {
type: 'wgs84',
success: function (position) {
// 成功获取位置后请求地理编码
- uni.request({
- url: 'https://api.tianditu.gov.cn/geocoder',
- method: 'GET',
- data: {
- postStr: JSON.stringify({
- lon: position.longitude,
- lat: position.latitude,
- ver: 1
- }),
- type: 'geocode',
- tk: '30fe0f0c1b2320e112bde797f3ddaff4'
- },
- success: function (res : any) {
- let data = res.data;
- if (data.status == 0) {
- const obj = data.result.addressComponent
- store.setPosition(obj.city ? obj.city : obj.province) //市
- store.setLocation(obj.city ? obj.province + obj.city + obj.county : obj.province + obj.county) //省市区
- store.setClockin(data.result.formatted_address)
- getWeather(position.latitude, position.longitude)
- } else {
- handleDefaultLocation()
- }
- },
- fail: function (err) {
- // uni.showToast({
- // title: '位置解析失败',
- // icon: 'error'
- // })
+ getLocationApi(position.longitude, position.latitude).then((res : any) => {
+ if (res) {
+ const obj = res.addressComponent
+ store.setPosition(obj.city ? obj.city : obj.province) //市
+ store.setLocation(obj.city ? obj.province + obj.city + obj.county : obj.province + obj.county) //省市区
+ getWeather(position.longitude, position.latitude)
+ } else {
handleDefaultLocation()
}
- });
+ })
},
- fail: function (err) {
- // 根据不同错误码处理
- // if (err.errCode === 2 || err.errCode === 12) {
- // // 2: 位置服务不可用, 12: 定位权限未开启
- // uni.showToast({
- // title: '请开启定位服务',
- // icon: 'error'
- // })
-
- // } else {
- // uni.showToast({
- // title: '定位获取失败',
- // icon: 'error'
- // })
- // }
+ fail: function () {
handleDefaultLocation()
}
});
}
-const getWeather = (lat : number, lon : number) => {
- let params = {
- lat: lat,
- lon: lon
- }
- weatherRequest(params)
-}
-
// 处理默认位置和天气
function handleDefaultLocation() {
useAppStore().setPosition('濮阳市')
- weatherRequest({
- q: '濮阳市'
- })
+ getWeather(115.08784, 35.773116) // //油田总部经纬度
}
-function weatherRequest(params : { lat ?: number; lon ?: number; q ?: string }) {
+function getWeather(lon : number, lat : number) {
const store = useAppStore()
- uni.request({
- url: 'https://api.openweathermap.org/data/2.5/weather',
- method: 'GET',
- data: {
- ...params,
- appid: '600a60694b0e453dfbaafa862f1d1482',
- lang: 'zh_cn'
- },
- success: function (res : any) {
- if (res.data && res.data.main && res.data.weather) {
- store.setTemperature(
- Math.round(res.data.main.temp - 273.15)
- )
- store.setWeather(
- res.data.weather[0].icon
- )
- } else {
- // uni.showToast({
- // title: '天气数据格式错误',
- // icon: 'error'
- // })
- }
- },
- // fail: function () {
- // uni.showToast({
- // title: '天气获取失败',
- // icon: 'error'
- // })
- // }
- });
+ getWeatherApi(lon, lat).then((res : any) => {
+ if (res) {
+ store.setTemperature(Math.round(res.main.temp - 273.15))
+ store.setWeather(res.weather[0].icon)
+ }
+ })
}
export const imgUrl = (url : string) => {
@@ -518,7 +446,7 @@ export function getFileAccessHttpUrl(avatar, subStr) {
/* 获取文件名 */
export function getFilename(text : string) {
if (!text) {
- return text === null ? null : "";
+ return text === null ? null : "";
}
if (text.indexOf(',') > 0) {
let arr = text.split(",")