Merge remote-tracking branch 'remotes/origin/master' into minJeecg
# Conflicts: # manifest.config.ts # src/manifest.json
This commit is contained in:
commit
e852e1e997
4
env/.env
vendored
4
env/.env
vendored
@ -1,9 +1,9 @@
|
|||||||
VITE_APP_TITLE = '数智产销测试'
|
VITE_APP_TITLE = '数智产销测试'
|
||||||
VITE_APP_PORT = 9000
|
VITE_APP_PORT = 9000
|
||||||
|
|
||||||
#VITE_UNI_APPID = '__UNI__9F097F0'
|
VITE_UNI_APPID = '__UNI__9F097F0'
|
||||||
#测试APPID
|
#测试APPID
|
||||||
VITE_UNI_APPID = '__UNI__1B02D50'
|
#VITE_UNI_APPID = '__UNI__1B02D50'
|
||||||
VITE_WX_APPID = 'wx8e287639924edb51'
|
VITE_WX_APPID = 'wx8e287639924edb51'
|
||||||
|
|
||||||
#发布版本号
|
#发布版本号
|
||||||
|
7
env/.env.development
vendored
7
env/.env.development
vendored
@ -7,8 +7,11 @@ VITE_SHOW_SOURCEMAP = true
|
|||||||
# 是否启用读取配置文件 min
|
# 是否启用读取配置文件 min
|
||||||
#VITE_WEBAPP = 'D://opt//AppUpdateTest'
|
#VITE_WEBAPP = 'D://opt//AppUpdateTest'
|
||||||
VITE_WEBAPP = ''
|
VITE_WEBAPP = ''
|
||||||
#VITE_SERVER_BASEURL = 'http://10.75.15.247:8080/jeecg-boot'
|
VITE_SERVER_BASEURL = 'http://10.75.15.249:8080/jeecg-boot'
|
||||||
#VITE_SERVER_BASEURL = 'https://36.112.48.190/jeecg-boot'
|
#VITE_SERVER_BASEURL = 'https://36.112.48.190/jeecg-boot'
|
||||||
VITE_SERVER_BASEURL = 'https://szcx.zyyt.sinopec.com/jeecg-boot'
|
#VITE_SERVER_BASEURL = 'https://szcx.zyyt.sinopec.com/jeecg-boot'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#VITE_SERVER_BASEURL = 'https://szcx.zyyt.sinopec.com/wwapi'
|
#VITE_SERVER_BASEURL = 'https://szcx.zyyt.sinopec.com/wwapi'
|
||||||
#VITE_SERVER_BASEURL = 'https://szcx.zyyt.sinopec.com/yjapi'
|
#VITE_SERVER_BASEURL = 'https://szcx.zyyt.sinopec.com/yjapi'
|
5
env/.env.production
vendored
5
env/.env.production
vendored
@ -8,6 +8,9 @@ VITE_SHOW_SOURCEMAP = false
|
|||||||
#VITE_WEBAPP = 'D://opt//AppUpdateTest'
|
#VITE_WEBAPP = 'D://opt//AppUpdateTest'
|
||||||
VITE_WEBAPP = ''
|
VITE_WEBAPP = ''
|
||||||
VITE_SERVER_BASEURL = 'https://szcx.zyyt.sinopec.com/jeecg-boot'
|
VITE_SERVER_BASEURL = 'https://szcx.zyyt.sinopec.com/jeecg-boot'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#VITE_SERVER_BASEURL = 'https://szcx.zyyt.sinopec.com/wwapi'
|
#VITE_SERVER_BASEURL = 'https://szcx.zyyt.sinopec.com/wwapi'
|
||||||
#VITE_SERVER_BASEURL = 'https://szcx.zyyt.sinopec.com/yjapi'
|
#VITE_SERVER_BASEURL = 'https://szcx.zyyt.sinopec.com/yjapi'
|
||||||
#VITE_SERVER_BASEURL = 'http://10.75.15.247:8080/jeecg-boot'
|
|
@ -17,8 +17,8 @@ export default defineManifestConfig({
|
|||||||
name: VITE_APP_TITLE,
|
name: VITE_APP_TITLE,
|
||||||
appid: VITE_UNI_APPID,
|
appid: VITE_UNI_APPID,
|
||||||
description: '',
|
description: '',
|
||||||
versionName: '2.0.2',
|
versionName: '2.1.0',
|
||||||
versionCode: '20250617',
|
versionCode: '20250627',
|
||||||
transformPx: false,
|
transformPx: false,
|
||||||
locale: VITE_FALLBACK_LOCALE, // 'zh-Hans'
|
locale: VITE_FALLBACK_LOCALE, // 'zh-Hans'
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
|
@ -80,18 +80,24 @@
|
|||||||
"@tanstack/query-core": "^5.76.0",
|
"@tanstack/query-core": "^5.76.0",
|
||||||
"@tanstack/vue-query": "^5.62.16",
|
"@tanstack/vue-query": "^5.62.16",
|
||||||
"@vant/area-data": "^2.0.0",
|
"@vant/area-data": "^2.0.0",
|
||||||
|
"@vue/devtools-api": "^7.7.6",
|
||||||
|
"@vue/devtools-kit": "^7.7.6",
|
||||||
|
"@vue/devtools-shared": "^7.7.6",
|
||||||
"abortcontroller-polyfill": "^1.7.8",
|
"abortcontroller-polyfill": "^1.7.8",
|
||||||
"base-64": "^1.0.0",
|
"base-64": "^1.0.0",
|
||||||
|
"birpc": "^2.3.0",
|
||||||
"charenc": "^0.0.2",
|
"charenc": "^0.0.2",
|
||||||
"crypt": "^0.0.2",
|
"crypt": "^0.0.2",
|
||||||
"dayjs": "1.11.10",
|
"dayjs": "1.11.10",
|
||||||
"echarts": "^5.6.0",
|
"echarts": "^5.6.0",
|
||||||
"fs-extra": "^11.3.0",
|
"fs-extra": "^11.3.0",
|
||||||
|
"hookable": "^5.5.3",
|
||||||
"is-buffer": "^2.0.5",
|
"is-buffer": "^2.0.5",
|
||||||
"js-base64": "^3.6.1",
|
"js-base64": "^3.6.1",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
"md5": "^2.3.0",
|
"md5": "^2.3.0",
|
||||||
|
"perfect-debounce": "^1.0.0",
|
||||||
"pinia": "2.0.36",
|
"pinia": "2.0.36",
|
||||||
"pinia-plugin-persistedstate": "3.2.1",
|
"pinia-plugin-persistedstate": "3.2.1",
|
||||||
"qs": "6.5.3",
|
"qs": "6.5.3",
|
||||||
|
@ -68,12 +68,24 @@ importers:
|
|||||||
'@vant/area-data':
|
'@vant/area-data':
|
||||||
specifier: ^2.0.0
|
specifier: ^2.0.0
|
||||||
version: 2.0.0
|
version: 2.0.0
|
||||||
|
'@vue/devtools-api':
|
||||||
|
specifier: ^7.7.6
|
||||||
|
version: 7.7.6
|
||||||
|
'@vue/devtools-kit':
|
||||||
|
specifier: ^7.7.6
|
||||||
|
version: 7.7.6
|
||||||
|
'@vue/devtools-shared':
|
||||||
|
specifier: ^7.7.6
|
||||||
|
version: 7.7.6
|
||||||
abortcontroller-polyfill:
|
abortcontroller-polyfill:
|
||||||
specifier: ^1.7.8
|
specifier: ^1.7.8
|
||||||
version: 1.7.8
|
version: 1.7.8
|
||||||
base-64:
|
base-64:
|
||||||
specifier: ^1.0.0
|
specifier: ^1.0.0
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
|
birpc:
|
||||||
|
specifier: ^2.3.0
|
||||||
|
version: 2.3.0
|
||||||
charenc:
|
charenc:
|
||||||
specifier: ^0.0.2
|
specifier: ^0.0.2
|
||||||
version: 0.0.2
|
version: 0.0.2
|
||||||
@ -89,6 +101,9 @@ importers:
|
|||||||
fs-extra:
|
fs-extra:
|
||||||
specifier: ^11.3.0
|
specifier: ^11.3.0
|
||||||
version: 11.3.0
|
version: 11.3.0
|
||||||
|
hookable:
|
||||||
|
specifier: ^5.5.3
|
||||||
|
version: 5.5.3
|
||||||
is-buffer:
|
is-buffer:
|
||||||
specifier: ^2.0.5
|
specifier: ^2.0.5
|
||||||
version: 2.0.5
|
version: 2.0.5
|
||||||
@ -104,6 +119,9 @@ importers:
|
|||||||
md5:
|
md5:
|
||||||
specifier: ^2.3.0
|
specifier: ^2.3.0
|
||||||
version: 2.3.0
|
version: 2.3.0
|
||||||
|
perfect-debounce:
|
||||||
|
specifier: ^1.0.0
|
||||||
|
version: 1.0.0
|
||||||
pinia:
|
pinia:
|
||||||
specifier: 2.0.36
|
specifier: 2.0.36
|
||||||
version: 2.0.36(typescript@5.7.2)(vue@3.4.21(typescript@5.7.2))
|
version: 2.0.36(typescript@5.7.2)(vue@3.4.21(typescript@5.7.2))
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
import { http } from '@/utils/http';
|
||||||
|
|
||||||
|
|
||||||
|
/*通过id查询请假数据*/
|
||||||
|
export function queryByIdApi(id : string) {
|
||||||
|
return http({
|
||||||
|
url: '/cxcbgjjwxsq/cxcBgjjwxsq/queryByIdForApp',//填写表单的queryById请求地址
|
||||||
|
method: 'GET',
|
||||||
|
data: { id }
|
||||||
|
})
|
||||||
|
}
|
11
src/api/SuperiorSystem/bpmApi/index.ts
Normal file
11
src/api/SuperiorSystem/bpmApi/index.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { http } from '@/utils/http';
|
||||||
|
|
||||||
|
|
||||||
|
/*通过id查询数据*/
|
||||||
|
export function queryByIdApi(id : string) {
|
||||||
|
return http({
|
||||||
|
url: '/cxcjyglsjzdgl/cxcJyglSjzdgl/queryByIdForAPP',//填写表单的queryById请求地址
|
||||||
|
method: 'GET',
|
||||||
|
data: { id }
|
||||||
|
})
|
||||||
|
}
|
@ -29,11 +29,11 @@ export function queryZbkhZbByIdApi(id : string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*通过id查询指标考核子表数据*/
|
/*通过id查询指标考核子表数据*/
|
||||||
export function queryZbkhFbByIdApi(mainId : string) {
|
export function queryZbkhFbByIdApi(data : object) {
|
||||||
return http({
|
return http({
|
||||||
url: '/jxkh.zbkh/cxcJxkhZbkhZb/listCxcJxkhZbkhDwkhByMainId',
|
url: '/jxkh.zbkh/cxcJxkhZbkhZb/listCxcJxkhZbkhDwkhByMainId',
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
data: { mainId }
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,3 +46,47 @@ export function queryZbkhBtByIdApi(mainId : string) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*通过id查询考核实施主表数据*/
|
||||||
|
export function queryKhssZbByIdApi(id : string) {
|
||||||
|
return http({
|
||||||
|
url: '/jxkh.khss/cxcJxkhXhss/getAllById',
|
||||||
|
method: 'GET',
|
||||||
|
data: { id }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/*通过id查询考核实施主表自定义表头*/
|
||||||
|
export function queryKhssZbBtByIdApi(mainId : string) {
|
||||||
|
return http({
|
||||||
|
url: '/jxkh.jxkh/cxcJxkhKhssKhjxZb/getByMainId',
|
||||||
|
method: 'GET',
|
||||||
|
data: { mainId }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/*通过id查询考核实施子表数据*/
|
||||||
|
export function queryKhssFbByIdApi(data : object) {
|
||||||
|
return http({
|
||||||
|
url: '/jxkh.khss/cxcJxkhXhss/selectAllByMainId',
|
||||||
|
method: 'GET',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/*通过id查询总金额*/
|
||||||
|
export function queryKhssAllSumByIdApi(mainId : string) {
|
||||||
|
return http({
|
||||||
|
url: '/jxkh.khss/cxcJxkhXhss/getAllSum',
|
||||||
|
method: 'GET',
|
||||||
|
data: { mainId }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/*通过id查询考核实子表自定义表头*/
|
||||||
|
export function queryKhssFbBtByIdApi(mainId : string) {
|
||||||
|
return http({
|
||||||
|
url: '/jxkh.jxfp.bt/cxcJxkhJxfbBtZb/listByMainId',
|
||||||
|
method: 'GET',
|
||||||
|
data: { mainId }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
44
src/api/healthfollow/healthfllow.ts
Normal file
44
src/api/healthfollow/healthfllow.ts
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import { http } from '@/utils/http';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export function followpersonList(config : object) { // 获取随访人员信息
|
||||||
|
return http({
|
||||||
|
url: '/Hmcappselect/appselect/Hmcapplist',
|
||||||
|
method: 'GET',
|
||||||
|
data: config
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
export function addhealthList(config : object) { // 获取随访人员信息
|
||||||
|
return http({
|
||||||
|
url: '/tbbApp/Tbbapp/applist',
|
||||||
|
method: 'GET',
|
||||||
|
data: config
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
export function addByCld(config : object) { //
|
||||||
|
return http({
|
||||||
|
url: '/jksf.tbb/cxcGwjktbTbb/addByCld',
|
||||||
|
method: 'GET',
|
||||||
|
data: config
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*通过id查询数据*/
|
||||||
|
//查询人员回答问题子表
|
||||||
|
export function queryByIdApi(id : string) {
|
||||||
|
return http({
|
||||||
|
url: '/tbbApp/Tbbapp/queryById',
|
||||||
|
method: 'GET',
|
||||||
|
data: { id }
|
||||||
|
})
|
||||||
|
}
|
@ -113,3 +113,12 @@ export function cxcRyDatAstatisticsDetails(parm) { // 员工信息统计
|
|||||||
data: parm
|
data: parm
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*新增打卡记录*/
|
||||||
|
export function clockInApi(data : object) {
|
||||||
|
return http({
|
||||||
|
url: '/cxc_rlzy.wbxm.wbdk/cxcRlzyWbdk/add',
|
||||||
|
method: 'POST',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
11
src/api/lawsAndRegulations/bpmApi/index.ts
Normal file
11
src/api/lawsAndRegulations/bpmApi/index.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { http } from '@/utils/http';
|
||||||
|
|
||||||
|
|
||||||
|
/*通过id查询请假数据*/
|
||||||
|
export function queryByIdApi(id : string) {
|
||||||
|
return http({
|
||||||
|
url: '/cxcoaflgf/cxcOaFlgf/queryByIdForApp',//填写表单的queryById请求地址
|
||||||
|
method: 'GET',
|
||||||
|
data: { id }
|
||||||
|
})
|
||||||
|
}
|
@ -1,18 +1,17 @@
|
|||||||
import { http } from '@/utils/http';
|
import { http } from '@/utils/http';
|
||||||
|
|
||||||
export function getListApi(orgCode : string) {
|
export function getListApi() {
|
||||||
return http({
|
return http({
|
||||||
url: '/sjgl.scnr/cxcSjSc/queryTreeData',
|
url: '/sjgl.scnr/cxcSjSc/queryTreeData',
|
||||||
method: 'GET',
|
method: 'GET'
|
||||||
data: { orgCode }
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getJobDesIdByDepAndName(config : Object) {
|
export function getJobDesIdByDepAndName(jobname : string) {
|
||||||
return http({
|
return http({
|
||||||
url: '/sjgl.tynr/cxcSjJobdescription/queryByNameDep',
|
url: '/sjgl.tynr/cxcSjJobdescription/queryByNameDep',
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
data: config
|
data: { jobname }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,3 +19,20 @@ export function queryIf3rdGxyApi(ldhth : string) { // 根据username获取职位
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//查询登录人本月随访问题
|
||||||
|
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
|
||||||
|
})
|
||||||
|
}
|
@ -97,3 +97,27 @@ export function deleteFile(config : object){//删除文件 by 闵
|
|||||||
data: config
|
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
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"name": "数智产销测试",
|
"name": "数智产销",
|
||||||
"appid": "__UNI__1B02D50",
|
"appid": "__UNI__9F097F0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"versionName": "2.0.2",
|
"versionName": "2.1.0",
|
||||||
"versionCode": "20250617",
|
"versionCode": "20250627",
|
||||||
"transformPx": false,
|
"transformPx": false,
|
||||||
"app-plus": {
|
"app-plus": {
|
||||||
"usingComponents": true,
|
"usingComponents": true,
|
||||||
|
@ -0,0 +1,49 @@
|
|||||||
|
<template>
|
||||||
|
<wd-cell-group title="申请信息">
|
||||||
|
|
||||||
|
<wd-cell title="申请人" :value="info.name" />
|
||||||
|
<wd-cell title="申请时间" :value="info.sqtime" />
|
||||||
|
<wd-cell title="申请单位" :value="info.sqdw_dictText" />
|
||||||
|
<wd-cell title="设备类型" :value="info.sblx" />
|
||||||
|
<wd-cell title="设备型号" :value="info.sbxh" />
|
||||||
|
<wd-cell title="数量" :value="info.sbsl" />
|
||||||
|
<wd-cell title="维修类型" :value="info.wxlx" />
|
||||||
|
<wd-cell title="故障现象" />
|
||||||
|
<wd-textarea title="" v-model="info.gzxx" readonly/>
|
||||||
|
<wd-cell title="维修内容" />
|
||||||
|
<wd-textarea title="维修内容" v-model="info.wxnr" readonly/>
|
||||||
|
</wd-cell-group>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
queryByIdApi
|
||||||
|
} from '@/api/OfficeEquipmentMaintenanceApplication/bpmApi'
|
||||||
|
|
||||||
|
const info = ref({})
|
||||||
|
const image = ref([])
|
||||||
|
const gzxxvalue = ref('')//故障现象
|
||||||
|
const wxnrvalue = ref('')//维修内容
|
||||||
|
const props = defineProps({
|
||||||
|
formData: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// 申请信息
|
||||||
|
const QueryById = () => {
|
||||||
|
queryByIdApi(props.formData.dataId).then((res) => {
|
||||||
|
console.log("res----------------",res)
|
||||||
|
if (res.success) {
|
||||||
|
info.value = res.result.records[0]
|
||||||
|
// gzxxvalue= res.result.gzxx
|
||||||
|
// wxnrvalue= res.result.wxnr
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
QueryById()
|
||||||
|
})
|
||||||
|
</script>
|
56
src/pages-bpm/SuperiorSystem/index.vue
Normal file
56
src/pages-bpm/SuperiorSystem/index.vue
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
<template>
|
||||||
|
<wd-cell-group title="申请信息">
|
||||||
|
|
||||||
|
<!-- <wd-cell title="制度名称" :value="info.zdmc" /> -->
|
||||||
|
<wd-cell title="制度名称" :value="info.sszd">
|
||||||
|
<view style="color: blue;"
|
||||||
|
@click="onlinePreview(`/pages/onlinePreview/detail?data=${info.sszd}`)">
|
||||||
|
{{info.zdmc}}
|
||||||
|
</view>
|
||||||
|
</wd-cell>
|
||||||
|
<wd-cell title="制度类型" :value="info.ssywlx_dictText" />
|
||||||
|
<wd-cell title="制定部门" :value="info.sbbm_dictText" />
|
||||||
|
<wd-cell title="发文字号" :value="info.wh" />
|
||||||
|
<wd-cell title="发文时间" :value="info.fatime" />
|
||||||
|
|
||||||
|
</wd-cell-group>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
queryByIdApi
|
||||||
|
} from '@/api/SuperiorSystem/bpmApi'
|
||||||
|
|
||||||
|
const info = ref({})
|
||||||
|
const image = ref([])
|
||||||
|
const gzxxvalue = ref('')//故障现象
|
||||||
|
const wxnrvalue = ref('')//维修内容
|
||||||
|
const props = defineProps({
|
||||||
|
formData: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const onlinePreview = (url) => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 申请信息
|
||||||
|
const QueryById = () => {
|
||||||
|
queryByIdApi(props.formData.dataId).then((res) => {
|
||||||
|
console.log("res----------------",res)
|
||||||
|
if (res.success) {
|
||||||
|
info.value = res.result.records[0]
|
||||||
|
// gzxxvalue= res.result.gzxx
|
||||||
|
// wxnrvalue= res.result.wxnr
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
QueryById()
|
||||||
|
})
|
||||||
|
</script>
|
230
src/pages-bpm/khss/index.vue
Normal file
230
src/pages-bpm/khss/index.vue
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
<template>
|
||||||
|
<!-- 可滚动内容区域 -->
|
||||||
|
<scroll-view class="content-scroll" :style="{ height: scrollViewHeight }" scroll-y :scroll-top="scrollTop">
|
||||||
|
<!-- 主表内容 -->
|
||||||
|
<wd-cell-group border v-if="tabbar == '0'">
|
||||||
|
<wd-cell size="large" title="年月" :value="zbInfo.assessmentDate" />
|
||||||
|
<wd-cell size="large" title="单位" :value="zbInfo.templetName_dictText" />
|
||||||
|
<wd-cell size="large" title="当月人数" :value="zbInfo.monthNumber" />
|
||||||
|
<wd-cell size="large" title="本次兑现合计" :value="zbInfo.redemptionTotal" />
|
||||||
|
<wd-collapse v-model="collapse">
|
||||||
|
<wd-collapse-item title="考核绩效" name="item01">
|
||||||
|
<wd-cell v-for="(item, index) in zbBtInfo" :key="index" :title="item.name"
|
||||||
|
:value="getKhjxValue(item.id)" />
|
||||||
|
</wd-collapse-item>
|
||||||
|
</wd-collapse>
|
||||||
|
<wd-cell size="large">
|
||||||
|
<template #title>
|
||||||
|
<view style="display: inline-block">考核公报</view>
|
||||||
|
</template>
|
||||||
|
<view style="color: blue;" @click="onlinePreview(zbInfo.bmKhgb)">
|
||||||
|
{{getFilename(zbInfo.bmKhgb)}}
|
||||||
|
</view>
|
||||||
|
</wd-cell>
|
||||||
|
</wd-cell-group>
|
||||||
|
|
||||||
|
<!-- 子表内容 -->
|
||||||
|
<wd-collapse v-model="fbCollapse" v-if="tabbar == '1'">
|
||||||
|
<div style="display: flex;justify-content: space-between;padding: 10px 15px;font-weight: bold;">
|
||||||
|
<span>已分配金额: {{ sumJx }}</span>
|
||||||
|
<span>待分配金额: {{ (allJx - 0) - (sumJx - 0) }}</span>
|
||||||
|
</div>
|
||||||
|
<wd-collapse-item v-for="(fbItem, fbIndex) in fbInfo" :key="fbIndex" :title="fbItem.userName"
|
||||||
|
:name="'item' + (fbIndex + 1)">
|
||||||
|
<wd-cell-group border>
|
||||||
|
<wd-cell size="large" title="单位/部门" :value="fbItem.depart_dictText" />
|
||||||
|
<wd-cell size="large" title="劳动合同号" :value="fbItem.ldhth" />
|
||||||
|
<wd-cell size="large" title="岗位/职务" :value="fbItem.gw" />
|
||||||
|
<wd-cell size="large" title="绩效工资合计" :value="fbItem.jxgz" />
|
||||||
|
<wd-collapse v-model="fbCollapse2">
|
||||||
|
<wd-collapse-item title="绩效详情" :name="'item0' + (fbIndex + 1)">
|
||||||
|
<wd-cell v-for="(item, index) in fbBtInfo" :key="index" :title="item.name"
|
||||||
|
:value="getJxDetailValue(fbItem.id, item.id)" />
|
||||||
|
</wd-collapse-item>
|
||||||
|
</wd-collapse>
|
||||||
|
<wd-cell size="large" title="备注" :value="fbItem.bz" />
|
||||||
|
</wd-cell-group>
|
||||||
|
</wd-collapse-item>
|
||||||
|
</wd-collapse>
|
||||||
|
<wd-pagination v-if="tabbar == '1'" v-model="page" :total="total" @change="handleChange" />
|
||||||
|
|
||||||
|
<!-- 底部占位视图 -->
|
||||||
|
<view class="bottom-spacer" :style="{ height: safeAreaBottom }"></view>
|
||||||
|
</scroll-view>
|
||||||
|
|
||||||
|
<!-- 固定在底部的TabBar -->
|
||||||
|
<wd-tabbar fixed v-model="tabbar" class="safe-area-tabbar">
|
||||||
|
<wd-tabbar-item title="考核实施主表" icon="cart"></wd-tabbar-item>
|
||||||
|
<wd-tabbar-item title="考核实施子表" icon="user"></wd-tabbar-item>
|
||||||
|
</wd-tabbar>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
queryKhssZbByIdApi,
|
||||||
|
queryKhssZbBtByIdApi,
|
||||||
|
queryKhssFbByIdApi,
|
||||||
|
queryKhssFbBtByIdApi,
|
||||||
|
queryKhssAllSumByIdApi
|
||||||
|
} from '@/api/bpm'
|
||||||
|
import {
|
||||||
|
getFilename
|
||||||
|
} from '@/utils'
|
||||||
|
|
||||||
|
// 响应式数据
|
||||||
|
const tabbar = ref(0)
|
||||||
|
const zbInfo = ref({})
|
||||||
|
const fbInfo = ref([])
|
||||||
|
const zbBtInfo = ref([])
|
||||||
|
const fbBtInfo = ref([])
|
||||||
|
const collapse = ref([''])
|
||||||
|
const fbCollapse = ref([''])
|
||||||
|
const fbCollapse2 = ref([''])
|
||||||
|
const jxxqList = ref([])
|
||||||
|
const sumJx = ref(0)
|
||||||
|
const allJx = ref(0)
|
||||||
|
const page = ref(1)
|
||||||
|
const total = ref(0)
|
||||||
|
const scrollTop = ref(0)
|
||||||
|
const tabbarHeight = ref(50)
|
||||||
|
const systemInfo = ref({})
|
||||||
|
const scrollViewHeight = ref('100vh')
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
formData: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// 计算安全区域底部高度
|
||||||
|
const safeAreaBottom = computed(() => {
|
||||||
|
// #ifdef H5
|
||||||
|
return `${tabbarHeight.value}px`
|
||||||
|
// #endif
|
||||||
|
// #ifdef APP-PLUS || MP-WEIXIN
|
||||||
|
return `calc(${tabbarHeight.value}px + env(safe-area-inset-bottom))`
|
||||||
|
// #endif
|
||||||
|
})
|
||||||
|
|
||||||
|
// 获取系统信息
|
||||||
|
const getSystemInfo = () => {
|
||||||
|
uni.getSystemInfo({
|
||||||
|
success: (res) => {
|
||||||
|
systemInfo.value = res
|
||||||
|
const safeBottom = res.safeAreaInsets?.bottom || 0
|
||||||
|
scrollViewHeight.value =
|
||||||
|
`calc(${res.windowHeight}px - ${tabbarHeight.value + safeBottom}px)`
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初始化TabBar高度
|
||||||
|
const initTabbarHeight = () => {
|
||||||
|
const query = uni.createSelectorQuery().select('.safe-area-tabbar')
|
||||||
|
query.boundingClientRect(data => {
|
||||||
|
if (data) {
|
||||||
|
tabbarHeight.value = data.height
|
||||||
|
getSystemInfo()
|
||||||
|
}
|
||||||
|
}).exec()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取数据
|
||||||
|
const queryById = async () => {
|
||||||
|
const zbRes = await queryKhssZbByIdApi(props.formData.dataId)
|
||||||
|
if (zbRes.success) {
|
||||||
|
zbInfo.value = zbRes.result.records[0]
|
||||||
|
allJx.value = zbInfo.value.redemptionTotal
|
||||||
|
if (zbInfo.value.jxxqs) {
|
||||||
|
jxxqList.value = zbInfo.value.jxxqs
|
||||||
|
}
|
||||||
|
if (zbInfo.value.khjxZbId) {
|
||||||
|
const btRes = await queryKhssZbBtByIdApi(zbInfo.value.khjxZbId)
|
||||||
|
zbBtInfo.value = btRes.result
|
||||||
|
}
|
||||||
|
if (zbInfo.value.jxfpBtId) {
|
||||||
|
const btRes = await queryKhssFbBtByIdApi(zbInfo.value.jxfpBtId)
|
||||||
|
fbBtInfo.value = btRes.result
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const fbRes = await queryKhssFbByIdApi({
|
||||||
|
mainId: props.formData.dataId
|
||||||
|
})
|
||||||
|
fbInfo.value = fbRes.result.records
|
||||||
|
total.value = fbRes.result.total
|
||||||
|
|
||||||
|
queryKhssAllSumByIdApi(props.formData.dataId).then(res => {
|
||||||
|
sumJx.value = res.result
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取考核绩效值
|
||||||
|
const getKhjxValue = (khjxId) => {
|
||||||
|
if (!jxxqList.value || jxxqList.value.length === 0) return ''
|
||||||
|
const item = jxxqList.value.find(item => item.khjxId === khjxId)
|
||||||
|
return item ? item.numValue : ''
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取绩效详情值
|
||||||
|
const getJxDetailValue = (mainId, jxfpBtId) => {
|
||||||
|
if (!fbInfo.value || fbInfo.value.length === 0) return ''
|
||||||
|
const currentItem = fbInfo.value.find(item => item.id === mainId)
|
||||||
|
if (!currentItem || !currentItem.jxxfpSaves) return ''
|
||||||
|
const detail = currentItem.jxxfpSaves.find(save => save.jxfpBt === jxfpBtId)
|
||||||
|
return detail ? detail.value : ''
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleChange = (value) => {
|
||||||
|
fbInfo.value = []
|
||||||
|
queryKhssFbByIdApi({
|
||||||
|
mainId: props.formData.dataId,
|
||||||
|
pageNo: value.value
|
||||||
|
}).then(res => {
|
||||||
|
fbInfo.value = res.result.records
|
||||||
|
scrollTop.value = scrollTop.value ? 0 : 1 // 触发滚动
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const onlinePreview = (e) => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/onlinePreview/detail?data=${e}`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
queryById()
|
||||||
|
})
|
||||||
|
|
||||||
|
onReady(() => {
|
||||||
|
initTabbarHeight()
|
||||||
|
getSystemInfo()
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
/* 滚动内容区域 */
|
||||||
|
.content-scroll {
|
||||||
|
width: 100%;
|
||||||
|
flex: 1;
|
||||||
|
overflow-y: auto;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 底部占位视图 */
|
||||||
|
.bottom-spacer {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 安全区域适配 */
|
||||||
|
.safe-area-tabbar {
|
||||||
|
/* #ifdef APP-PLUS || MP-WEIXIN */
|
||||||
|
padding-bottom: env(safe-area-inset-bottom);
|
||||||
|
/* #endif */
|
||||||
|
/* #ifdef H5 */
|
||||||
|
position: sticky;
|
||||||
|
bottom: 0;
|
||||||
|
/* #endif */
|
||||||
|
}
|
||||||
|
</style>
|
59
src/pages-bpm/lawsAndRegulations/index.vue
Normal file
59
src/pages-bpm/lawsAndRegulations/index.vue
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
<template>
|
||||||
|
<wd-cell-group title="审批信息">
|
||||||
|
|
||||||
|
<!-- <wd-cell title="制度名称" :value="info.zdmc" /> -->
|
||||||
|
<wd-cell title="法律法规名称" :value="info.flfgmc">
|
||||||
|
<view style="color: blue;"
|
||||||
|
@click="onlinePreview(`/pages/onlinePreview/detail?data=${info.mingcheng}`)">
|
||||||
|
{{info.flfgmc}}
|
||||||
|
</view>
|
||||||
|
</wd-cell>
|
||||||
|
<wd-cell title="颁布部门" :value="info.fabubumen" />
|
||||||
|
<wd-cell title="法律法规类型" :value="info.flfgfl_dictText" />
|
||||||
|
<wd-cell title="实施日期" :value="info.shishiriqi" />
|
||||||
|
<wd-cell title="最新修订日期" :value="info.zxxdrq" />
|
||||||
|
<wd-cell title="适用条款" />
|
||||||
|
<wd-textarea v-model="info.sytk" readonly/>
|
||||||
|
<wd-cell title="识别人" :value="info.sbr" />
|
||||||
|
|
||||||
|
</wd-cell-group>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
queryByIdApi
|
||||||
|
} from '@/api/lawsAndRegulations/bpmApi'
|
||||||
|
|
||||||
|
const info = ref({})
|
||||||
|
const image = ref([])
|
||||||
|
const gzxxvalue = ref('')//故障现象
|
||||||
|
const wxnrvalue = ref('')//维修内容
|
||||||
|
const props = defineProps({
|
||||||
|
formData: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const onlinePreview = (url) => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 申请信息
|
||||||
|
const QueryById = () => {
|
||||||
|
queryByIdApi(props.formData.dataId).then((res) => {
|
||||||
|
console.log("res----------------",res)
|
||||||
|
if (res.success) {
|
||||||
|
info.value = res.result.records[0]
|
||||||
|
// gzxxvalue= res.result.gzxx
|
||||||
|
// wxnrvalue= res.result.wxnr
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
QueryById()
|
||||||
|
})
|
||||||
|
</script>
|
@ -1,13 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<wd-tabbar fixed v-model="tabbar" shape="round">
|
<!-- 可滚动内容区域 -->
|
||||||
<wd-tabbar-item title="指标考核主表" icon="cart"></wd-tabbar-item>
|
<scroll-view class="content-scroll" :style="{ height: scrollViewHeight }" scroll-y :scroll-top="scrollTop">
|
||||||
<wd-tabbar-item title="指标考核子表" icon="user"></wd-tabbar-item>
|
<!-- 主表内容 -->
|
||||||
</wd-tabbar>
|
|
||||||
<wd-cell-group border v-if="tabbar == '0'">
|
<wd-cell-group border v-if="tabbar == '0'">
|
||||||
<wd-cell size="large" title="年月" :value="zbInfo.year + '年' + zbInfo.month + '月'" />
|
<wd-cell size="large" title="年月" :value="zbInfo.year + '年' + zbInfo.month + '月'" />
|
||||||
<wd-cell size="large" title="考核指标" :value="zbInfo.assessmentIndicators" />
|
<wd-cell size="large" title="考核指标" :value="zbInfo.assessmentIndicators" />
|
||||||
<wd-cell size="large" title="指标类别" :value="zbInfo.indicatorCategory_dictText" />
|
<wd-cell size="large" title="指标类别" :value="zbInfo.indicatorCategory_dictText" />
|
||||||
<wd-cell size="large" title="考核对象" :value="zbInfo.templetName_dictText" />
|
<wd-collapse v-model="khdxCollapse">
|
||||||
|
<wd-collapse-item title="考核对象" name="考核对象">{{zbInfo.templetName_dictText}}</wd-collapse-item>
|
||||||
|
</wd-collapse>
|
||||||
<wd-cell size="large" title="考核周期" :value="zbInfo.assessmentCycle_dictText" />
|
<wd-cell size="large" title="考核周期" :value="zbInfo.assessmentCycle_dictText" />
|
||||||
<wd-cell size="large" title="考核部门" :value="zbInfo.assessmentDepart_dictText" />
|
<wd-cell size="large" title="考核部门" :value="zbInfo.assessmentDepart_dictText" />
|
||||||
<wd-collapse v-model="zbCollapse">
|
<wd-collapse v-model="zbCollapse">
|
||||||
@ -20,10 +21,11 @@
|
|||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<view style="color: blue;" @click="onlinePreview(zbInfo.khfj)">
|
<view style="color: blue;" @click="onlinePreview(zbInfo.khfj)">
|
||||||
{{zbInfo.khfj}}
|
{{getFilename(zbInfo.khfj)}}
|
||||||
</view>
|
</view>
|
||||||
</wd-cell>
|
</wd-cell>
|
||||||
</wd-cell-group>
|
</wd-cell-group>
|
||||||
|
<!-- 子表内容 -->
|
||||||
<wd-collapse v-model="collapse" v-if="tabbar == '1'">
|
<wd-collapse v-model="collapse" v-if="tabbar == '1'">
|
||||||
<wd-collapse-item v-for="(fbItem, fbIndex) in fbInfo" :key="fbIndex" :title="fbItem.depart_dictText"
|
<wd-collapse-item v-for="(fbItem, fbIndex) in fbInfo" :key="fbIndex" :title="fbItem.depart_dictText"
|
||||||
:name="'item' + (fbIndex + 1)">
|
:name="'item' + (fbIndex + 1)">
|
||||||
@ -41,6 +43,15 @@
|
|||||||
</wd-cell>
|
</wd-cell>
|
||||||
</wd-collapse-item>
|
</wd-collapse-item>
|
||||||
</wd-collapse>
|
</wd-collapse>
|
||||||
|
<wd-pagination v-if="tabbar == '1'" v-model="page" :total="total" @change="handleChange" />
|
||||||
|
<!-- 底部占位视图 -->
|
||||||
|
<view class="bottom-spacer" :style="{ height: safeAreaBottom }"></view>
|
||||||
|
</scroll-view>
|
||||||
|
|
||||||
|
<wd-tabbar fixed v-model="tabbar" class="safe-area-tabbar">
|
||||||
|
<wd-tabbar-item title="指标考核主表" icon="cart"></wd-tabbar-item>
|
||||||
|
<wd-tabbar-item title="指标考核子表" icon="user"></wd-tabbar-item>
|
||||||
|
</wd-tabbar>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
@ -58,7 +69,14 @@
|
|||||||
const btInfo = ref([])
|
const btInfo = ref([])
|
||||||
const btDataInfo = ref([])
|
const btDataInfo = ref([])
|
||||||
const zbCollapse = ref(['评价方法'])
|
const zbCollapse = ref(['评价方法'])
|
||||||
const collapse = ref(['item1'])
|
const khdxCollapse = ref(['考核对象'])
|
||||||
|
const collapse = ref(['item01'])
|
||||||
|
const page = ref(1)
|
||||||
|
const total = ref(0)
|
||||||
|
const scrollTop = ref(0)
|
||||||
|
const tabbarHeight = ref(50)
|
||||||
|
const systemInfo = ref({})
|
||||||
|
const scrollViewHeight = ref('100vh')
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
formData: {
|
formData: {
|
||||||
@ -67,20 +85,57 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// 计算安全区域底部高度
|
||||||
|
const safeAreaBottom = computed(() => {
|
||||||
|
// #ifdef H5
|
||||||
|
return `${tabbarHeight.value}px`
|
||||||
|
// #endif
|
||||||
|
// #ifdef APP-PLUS || MP-WEIXIN
|
||||||
|
return `calc(${tabbarHeight.value}px + env(safe-area-inset-bottom))`
|
||||||
|
// #endif
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
// 获取系统信息
|
||||||
|
const getSystemInfo = () => {
|
||||||
|
uni.getSystemInfo({
|
||||||
|
success: (res) => {
|
||||||
|
systemInfo.value = res
|
||||||
|
const safeBottom = res.safeAreaInsets?.bottom || 0
|
||||||
|
scrollViewHeight.value =
|
||||||
|
`calc(${res.windowHeight}px - ${tabbarHeight.value + safeBottom}px)`
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初始化TabBar高度
|
||||||
|
const initTabbarHeight = () => {
|
||||||
|
const query = uni.createSelectorQuery().select('.safe-area-tabbar')
|
||||||
|
query.boundingClientRect(data => {
|
||||||
|
if (data) {
|
||||||
|
tabbarHeight.value = data.height
|
||||||
|
getSystemInfo()
|
||||||
|
}
|
||||||
|
}).exec()
|
||||||
|
}
|
||||||
|
|
||||||
const queryById = async () => {
|
const queryById = async () => {
|
||||||
// 1. 获取主表数据
|
// 1. 获取主表数据
|
||||||
const zbRes = await queryZbkhZbByIdApi(props.formData.dataId);
|
const zbRes = await queryZbkhZbByIdApi(props.formData.dataId);
|
||||||
if (zbRes.success) {
|
if (zbRes.success) {
|
||||||
zbInfo.value = zbRes.result.records[0];
|
zbInfo.value = zbRes.result.records[0];
|
||||||
// 2. 获取指标模板数据(btInfo)
|
// 2. 获取标题数据(btInfo)
|
||||||
if (zbInfo.value.dwkhBtId) {
|
if (zbInfo.value.dwkhBtId) {
|
||||||
const btRes = await queryZbkhBtByIdApi(zbInfo.value.dwkhBtId);
|
const btRes = await queryZbkhBtByIdApi(zbInfo.value.dwkhBtId);
|
||||||
btInfo.value = btRes.result;
|
btInfo.value = btRes.result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 3. 获取子表数据(fbInfo)
|
// 3. 获取子表数据(fbInfo)
|
||||||
const fbRes = await queryZbkhFbByIdApi(props.formData.dataId);
|
const fbRes = await queryZbkhFbByIdApi({
|
||||||
|
mainId: props.formData.dataId
|
||||||
|
});
|
||||||
fbInfo.value = fbRes.result.records;
|
fbInfo.value = fbRes.result.records;
|
||||||
|
total.value = fbRes.result.total
|
||||||
};
|
};
|
||||||
|
|
||||||
const getDwkhValue = (fbItem, btId) => {
|
const getDwkhValue = (fbItem, btId) => {
|
||||||
@ -89,6 +144,18 @@
|
|||||||
return found ? found.value : '';
|
return found ? found.value : '';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleChange = (value) => {
|
||||||
|
fbInfo.value = []
|
||||||
|
queryZbkhFbByIdApi({
|
||||||
|
mainId: props.formData.dataId,
|
||||||
|
pageNo: value.value
|
||||||
|
}).then(res => {
|
||||||
|
fbInfo.value = res.result.records
|
||||||
|
scrollTop.value = scrollTop.value ? 0 : 1 // 触发滚动
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const onlinePreview = (e) => {
|
const onlinePreview = (e) => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/onlinePreview/detail?data=${e}`
|
url: `/pages/onlinePreview/detail?data=${e}`
|
||||||
@ -97,17 +164,32 @@
|
|||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
queryById()
|
queryById()
|
||||||
|
getSystemInfo()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss" scoped>
|
||||||
/* 手动引入 wd-segmented 样式 */
|
/* 滚动内容区域 */
|
||||||
@import 'wot-design-uni/components/wd-segmented/index.scss';
|
.content-scroll {
|
||||||
|
width: 100%;
|
||||||
|
flex: 1;
|
||||||
|
overflow-y: auto;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
}
|
||||||
|
|
||||||
/* 或直接覆盖关键样式 */
|
/* 底部占位视图 */
|
||||||
.wd-segmented {
|
.bottom-spacer {
|
||||||
/* 确保样式优先级 */
|
width: 100%;
|
||||||
opacity: 1 !important;
|
}
|
||||||
visibility: visible !important;
|
|
||||||
|
/* 安全区域适配 */
|
||||||
|
.safe-area-tabbar {
|
||||||
|
/* #ifdef APP-PLUS || MP-WEIXIN */
|
||||||
|
padding-bottom: env(safe-area-inset-bottom);
|
||||||
|
/* #endif */
|
||||||
|
/* #ifdef H5 */
|
||||||
|
position: sticky;
|
||||||
|
bottom: 0;
|
||||||
|
/* #endif */
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
44
src/pages-home/device-control/office/Personaldevices.vue
Normal file
44
src/pages-home/device-control/office/Personaldevices.vue
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<template>
|
||||||
|
<PageLayout :navbarShow="false">
|
||||||
|
<wd-card type="rectangle">
|
||||||
|
<template #title>
|
||||||
|
<view class="title">
|
||||||
|
<view>2020-02-03服务到期</view>
|
||||||
|
<view class="title-tip">
|
||||||
|
<wd-icon name="warning" size="14px" custom-style="vertical-align: bottom" />
|
||||||
|
您可以去电脑上使用该服务
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<view style="height: 40px;" class="content">
|
||||||
|
<image
|
||||||
|
src="https://img11.360buyimg.com/imagetools/jfs/t1/143248/37/5695/265818/5f3a8546E98d998a4/745897ca9c9e474b.jpg"
|
||||||
|
width="40"
|
||||||
|
height="40"
|
||||||
|
alt="joy"
|
||||||
|
style="border-radius: 4px; margin-right: 12px;"
|
||||||
|
/>
|
||||||
|
<view>
|
||||||
|
<view style="color: rgba(0,0,0,0.85); font-size: 16px;">智催评营销</view>
|
||||||
|
<view style="color: rgba(0,0,0,0.25); font-size: 12px;">高级版-快速吸粉 | 周期一年</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<template #footer>
|
||||||
|
<view>
|
||||||
|
<wd-button size="small" style="margin-right: 8px;">评价</wd-button>
|
||||||
|
<wd-button size="small" plain>立即使用</wd-button>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
</wd-card>
|
||||||
|
</PageLayout>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
36
src/pages-home/device-control/office/index.vue
Normal file
36
src/pages-home/device-control/office/index.vue
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<route lang="json5" type="page">
|
||||||
|
{
|
||||||
|
layout: 'default',
|
||||||
|
style: {
|
||||||
|
navigationBarTitleText: '办公室设备列表',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</route>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<PageLayout navTitle="设备管理">
|
||||||
|
<view class="content">
|
||||||
|
<view v-if="current === 0">
|
||||||
|
<Personaldevices></Personaldevices>
|
||||||
|
</view>
|
||||||
|
<view v-if="current === 1">
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</PageLayout>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import Personaldevices from './Personaldevices'
|
||||||
|
|
||||||
|
const current = ref(0)
|
||||||
|
const items = ref(['个人使用房间设备', '全部房间设备'])
|
||||||
|
|
||||||
|
function onClickItem(e) {
|
||||||
|
if (current.value != e.currentIndex) {
|
||||||
|
current.value = e.currentIndex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
@ -1,20 +0,0 @@
|
|||||||
<route lang="json5" type="page">
|
|
||||||
{
|
|
||||||
layout: 'default',
|
|
||||||
style: {
|
|
||||||
navigationBarTitleText: '',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
</route>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<view class=""></view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" setup>
|
|
||||||
//
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
//
|
|
||||||
</style>
|
|
@ -251,8 +251,8 @@
|
|||||||
} else {
|
} else {
|
||||||
toast.warning(res.message)
|
toast.warning(res.message)
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
handleClickLeft()
|
uni.navigateBack()
|
||||||
}, 1000)
|
}, 2000)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -333,6 +333,12 @@
|
|||||||
roleId: '1554379432313397250',
|
roleId: '1554379432313397250',
|
||||||
orgCode: userStore.userInfo.orgCode
|
orgCode: userStore.userInfo.orgCode
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
|
if (res.result.length == 0) {
|
||||||
|
toast.warning('请切换工作单位!')
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.navigateBack()
|
||||||
|
}, 2000)
|
||||||
|
} else {
|
||||||
model.hr = res.result[0].username
|
model.hr = res.result[0].username
|
||||||
hrData.value = res.result.map(item => {
|
hrData.value = res.result.map(item => {
|
||||||
return {
|
return {
|
||||||
@ -340,6 +346,7 @@
|
|||||||
value: item.username
|
value: item.username
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -118,7 +118,6 @@
|
|||||||
pageSize
|
pageSize
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
console.log('----',res.result.records)
|
|
||||||
list.value = [...list.value, ...res.result.records]
|
list.value = [...list.value, ...res.result.records]
|
||||||
}
|
}
|
||||||
loading = false
|
loading = false
|
||||||
|
@ -83,10 +83,7 @@
|
|||||||
new base64().encode(baseUrl + url))
|
new base64().encode(baseUrl + url))
|
||||||
}
|
}
|
||||||
} else if (/^-?\d+$/.test(quote) && !insFlag) {
|
} else if (/^-?\d+$/.test(quote) && !insFlag) {
|
||||||
getJobDesIdByDepAndName({
|
getJobDesIdByDepAndName(quote).then((res) => {
|
||||||
jobname: quote,
|
|
||||||
jobdep: useUserStore().userInfo.orgCode
|
|
||||||
}).then((res) => {
|
|
||||||
fileUrl.value = getEnvBaseUrl() + '/jmreport/view/929517863011811328?id=' + res
|
fileUrl.value = getEnvBaseUrl() + '/jmreport/view/929517863011811328?id=' + res
|
||||||
.id +
|
.id +
|
||||||
"&token=" + useUserStore().userInfo.token;
|
"&token=" + useUserStore().userInfo.token;
|
||||||
@ -113,7 +110,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
const getList = () => {
|
const getList = () => {
|
||||||
getListApi(useUserStore().userInfo.orgCode).then(res => {
|
getListApi().then(res => {
|
||||||
data.value = res.result
|
data.value = res.result
|
||||||
dataSource.value = [data.value.map(item => {
|
dataSource.value = [data.value.map(item => {
|
||||||
return {
|
return {
|
||||||
|
144
src/pages-politics/health/followup.vue
Normal file
144
src/pages-politics/health/followup.vue
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
<route lang="json5" type="page">
|
||||||
|
{
|
||||||
|
layout: 'default',
|
||||||
|
style: {
|
||||||
|
navigationStyle: 'custom',
|
||||||
|
navigationBarTitleText: '健康随访问卷',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</route>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<PageLayout navTitle="健康随访问卷">
|
||||||
|
<wd-form ref="form" :model="model">
|
||||||
|
<wd-cell-group border>
|
||||||
|
<view v-for="(item, index) in list" :key="index" class="question-item">
|
||||||
|
<view class="question-text">{{ index + 1 }}. {{ item.tbnr }}</view>
|
||||||
|
<wd-radio-group v-model="answers[item.id]" class="radio-group">
|
||||||
|
<wd-radio value="是" class="radio-item">是</wd-radio>
|
||||||
|
<wd-radio value="否" class="radio-item">否</wd-radio>
|
||||||
|
</wd-radio-group>
|
||||||
|
</view>
|
||||||
|
</wd-cell-group>
|
||||||
|
|
||||||
|
<view class="footer" v-if="list.length">
|
||||||
|
<wd-button type="primary" size="large" block round @click="submitForm">提交问卷</wd-button>
|
||||||
|
</view>
|
||||||
|
</wd-form>
|
||||||
|
</PageLayout>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
useToast
|
||||||
|
} from 'wot-design-uni'
|
||||||
|
import {
|
||||||
|
querySfwtApi,
|
||||||
|
editApi
|
||||||
|
} from '@/api/politics/health'
|
||||||
|
const toast = useToast()
|
||||||
|
const model = ref({})
|
||||||
|
const list = ref([])
|
||||||
|
const answers = ref({}) // 用于存储所有问题的答案
|
||||||
|
const allAnswered = computed(() => {
|
||||||
|
return list.value.every(item => answers.value[item.id])
|
||||||
|
})
|
||||||
|
|
||||||
|
const getList = () => {
|
||||||
|
querySfwtApi().then(res => {
|
||||||
|
list.value = res.result
|
||||||
|
if (res.result.length > 0) {
|
||||||
|
// 检查是否已填写
|
||||||
|
if (res.result.every(item => item.sf)) {
|
||||||
|
toast.warning('本月问卷已提交!')
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.navigateBack()
|
||||||
|
}, 2000)
|
||||||
|
}
|
||||||
|
// 初始化答案对象
|
||||||
|
answers.value = res.result.reduce((acc, item) => {
|
||||||
|
acc[item.id] = ''
|
||||||
|
return acc
|
||||||
|
}, {})
|
||||||
|
} else {
|
||||||
|
toast.warning('未查询到本月随访问题!')
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.navigateBack()
|
||||||
|
}, 2000)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const submitForm = () => {
|
||||||
|
if (!allAnswered.value) {
|
||||||
|
toast.warning('请回答所有问题!')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
editApi({
|
||||||
|
answers: answers.value
|
||||||
|
}).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
toast.success('提交成功!')
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.navigateBack()
|
||||||
|
}, 2000)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
onLoad(() => {
|
||||||
|
/*获取随访问题*/
|
||||||
|
getList()
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.question-item {
|
||||||
|
padding: 20rpx 24rpx;
|
||||||
|
border-bottom: 1rpx solid #f5f5f5;
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.question-text {
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #333;
|
||||||
|
font-weight: 500;
|
||||||
|
margin-bottom: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.radio-group {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.radio-item {
|
||||||
|
flex: 1;
|
||||||
|
|
||||||
|
:deep(.wd-radio__label) {
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.wd-radio__button) {
|
||||||
|
border-radius: 12rpx;
|
||||||
|
padding: 16rpx 0;
|
||||||
|
text-align: center;
|
||||||
|
background: #f7f7f7;
|
||||||
|
border: none;
|
||||||
|
transition: all 0.3s;
|
||||||
|
|
||||||
|
&.is-checked {
|
||||||
|
background: #4b8df8;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
padding: 12px;
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
77
src/pages-politics/healthfollow/HealthDetails.vue
Normal file
77
src/pages-politics/healthfollow/HealthDetails.vue
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
<route lang="json5" type="page">
|
||||||
|
{
|
||||||
|
layout: 'default',
|
||||||
|
style: {
|
||||||
|
navigationStyle: 'custom',
|
||||||
|
navigationBarTitleText: '健康随访详情',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</route>
|
||||||
|
<template>
|
||||||
|
<PageLayout navTitle="健康随访详情">
|
||||||
|
<wd-cell-group v-for="(item, i) in info" :key="i" border>
|
||||||
|
<wd-cell title="填报内容:" :value="item.tbnr" />
|
||||||
|
<wd-cell title="是否:" :value="item.sf" />
|
||||||
|
</wd-cell-group>
|
||||||
|
</PageLayout>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
useMessage,
|
||||||
|
useToast
|
||||||
|
} from 'wot-design-uni'
|
||||||
|
|
||||||
|
import {
|
||||||
|
followpersonList,
|
||||||
|
addhealthList,
|
||||||
|
queryByIdApi
|
||||||
|
} from '@/api/healthfollow/healthfllow'
|
||||||
|
import {
|
||||||
|
imgUrl
|
||||||
|
} from '@/utils/index'
|
||||||
|
import {
|
||||||
|
useUserStore
|
||||||
|
} from '@/store/user'
|
||||||
|
|
||||||
|
const message = useMessage()
|
||||||
|
const toast = useToast()
|
||||||
|
const userStore = useUserStore();
|
||||||
|
const info = ref({})
|
||||||
|
const path = ref([])
|
||||||
|
const image = ref([])
|
||||||
|
const resumptiontime = ref(0)
|
||||||
|
const minDate = ref(0)
|
||||||
|
const queryById = (e) => {
|
||||||
|
console.log("3334eeeeeeeeeee--", e)
|
||||||
|
queryByIdApi(e).then((res) => {
|
||||||
|
|
||||||
|
if (res.success) {
|
||||||
|
info.value = res.result.records
|
||||||
|
console.log("res---", res.result.records)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理数据排序(按sort字段升序)
|
||||||
|
const sortedInfo = computed(() => {
|
||||||
|
if (info.value && info.value.records) {
|
||||||
|
return [...info.value.records].sort((a, b) => {
|
||||||
|
return parseInt(a.sort) - parseInt(b.sort)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return []
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
onLoad((options) => {
|
||||||
|
console.log("options---传进来的id--", options)
|
||||||
|
queryById(options.id)
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.footer {
|
||||||
|
padding: 12px;
|
||||||
|
}
|
||||||
|
</style>
|
173
src/pages-politics/healthfollow/lookhealth.vue
Normal file
173
src/pages-politics/healthfollow/lookhealth.vue
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
<template>
|
||||||
|
<PageLayout :navbarShow="false">
|
||||||
|
<wd-card id="top1">
|
||||||
|
<wd-row>
|
||||||
|
<wd-col :span="16">
|
||||||
|
<wd-datetime-picker type="year-month" v-model="dataValue" label="填报时间" @confirm="getList" id="top1" />
|
||||||
|
</wd-col>
|
||||||
|
<wd-col :span="8" style="margin-top: 5px;">
|
||||||
|
<wd-button @click="clear">重置</wd-button>
|
||||||
|
</wd-col>
|
||||||
|
</wd-row>
|
||||||
|
</wd-card>
|
||||||
|
<view v-for="(item, i) in list" :key="i" @click="jump(`./HealthDetails?id=${item.id}`)">
|
||||||
|
<wd-card
|
||||||
|
:title="item.xm+'的'+item.createTime.substring(0,4)+'年'+item.ksny.substring(5,7)+'月'+'的健康随访填报表'">
|
||||||
|
<view class="card-content">
|
||||||
|
<view class="meta-info">
|
||||||
|
<wd-icon name="usergroup" size="14px" color="#999"></wd-icon>
|
||||||
|
<text class="meta-text">{{item.depart_dictText}}</text>
|
||||||
|
<!-- <wd-icon name="time" size="14px" color="#999" style="margin-left: auto;"></wd-icon> -->
|
||||||
|
<!-- <text class="meta-text">
|
||||||
|
{{item.ksny}}</text> -->
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</wd-card>
|
||||||
|
</view>
|
||||||
|
</PageLayout>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
useMessage,
|
||||||
|
useToast
|
||||||
|
} from 'wot-design-uni'
|
||||||
|
import SelectDept from '@/components/SelectDept/SelectDept'
|
||||||
|
|
||||||
|
import {
|
||||||
|
followpersonList,
|
||||||
|
addhealthList
|
||||||
|
} from '@/api/healthfollow/healthfllow'
|
||||||
|
|
||||||
|
|
||||||
|
const realname = ref('') //姓名查询
|
||||||
|
const list = ref([])
|
||||||
|
const total = ref(0)
|
||||||
|
const screenHeight = ref(0)
|
||||||
|
const screenWidth = ref(0)
|
||||||
|
const tableHeight = ref(0)
|
||||||
|
const range = ref([]) //日期查询
|
||||||
|
const dataValue = ref(Date.now())
|
||||||
|
let pageNo = 1
|
||||||
|
let pageSize = 10
|
||||||
|
let loading = false
|
||||||
|
|
||||||
|
const clear = () => {
|
||||||
|
dataValue.value = Date.now()
|
||||||
|
getpersonList();
|
||||||
|
}
|
||||||
|
|
||||||
|
//按照时间状态
|
||||||
|
const getList = () => {
|
||||||
|
const date = new Date(dataValue.value);
|
||||||
|
const year = date.getFullYear();
|
||||||
|
const month = date.getMonth() + 1;
|
||||||
|
let monthdate = '';
|
||||||
|
if(month<10){
|
||||||
|
monthdate = '0'+month;
|
||||||
|
}else{
|
||||||
|
monthdate = month;
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
|
||||||
|
}
|
||||||
|
console.log("res--按时间查询-params-111-",params)
|
||||||
|
addhealthList({
|
||||||
|
// ...params,
|
||||||
|
cxdata: year + '-' + monthdate,
|
||||||
|
pageNo,
|
||||||
|
pageSize
|
||||||
|
}).then(res => {
|
||||||
|
console.log("res--按时间查询-222-",res)
|
||||||
|
if (res.success) {
|
||||||
|
list.value = res.result.records.map((item, index) => ({
|
||||||
|
...item, // 保留原有字段
|
||||||
|
}));
|
||||||
|
total.value = res.result.total
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//无时间限制
|
||||||
|
const getpersonList = (e)=> {
|
||||||
|
const date = new Date();
|
||||||
|
const year = date.getFullYear();
|
||||||
|
const month = date.getMonth() + 1;
|
||||||
|
let monthdate = '';
|
||||||
|
if(month<10){
|
||||||
|
monthdate = '0'+month;
|
||||||
|
}else{
|
||||||
|
monthdate = month;
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
// ksny: year + '-' + monthdate +'-01'
|
||||||
|
}
|
||||||
|
console.log("res--初始化----params-111-",params)
|
||||||
|
addhealthList({
|
||||||
|
// ...params,
|
||||||
|
cxdata: year + '-' + monthdate,
|
||||||
|
pageNo,
|
||||||
|
pageSize
|
||||||
|
}).then((res) => {
|
||||||
|
console.log("res--初始化---222--", res)
|
||||||
|
if (res.success) {
|
||||||
|
list.value = res.result.records.map((item, index) => ({
|
||||||
|
...item, // 保留原有字段
|
||||||
|
}));
|
||||||
|
total.value = res.result.total
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*切换页码*/
|
||||||
|
const handleChange = ({
|
||||||
|
value
|
||||||
|
}) => {
|
||||||
|
pageNo = value
|
||||||
|
getpersonList(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
const calculateTableHeight = () => {
|
||||||
|
const systemInfo = uni.getSystemInfoSync();
|
||||||
|
screenWidth.value = systemInfo.screenWidth;
|
||||||
|
screenHeight.value = systemInfo.screenHeight;
|
||||||
|
// 获取页面顶部元素高度(导航栏+日期选择器)
|
||||||
|
const query = uni.createSelectorQuery();
|
||||||
|
query.select('#top1').boundingClientRect(data => {
|
||||||
|
const topHeight = data ? data.height : 0;
|
||||||
|
const navHeight = 88; // 导航栏高度
|
||||||
|
const margin = 20; // 上下边距
|
||||||
|
// 计算表格可用高度
|
||||||
|
tableHeight.value = screenHeight.value - topHeight - navHeight;
|
||||||
|
}).exec();
|
||||||
|
}
|
||||||
|
|
||||||
|
const jump = (url) => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: url
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
getpersonList();
|
||||||
|
followpersonList();
|
||||||
|
calculateTableHeight();
|
||||||
|
// 监听屏幕旋转变化
|
||||||
|
uni.onWindowResize(() => {
|
||||||
|
calculateTableHeight();
|
||||||
|
});
|
||||||
|
})
|
||||||
|
onReachBottom(() => {
|
||||||
|
if (loading) return
|
||||||
|
queryLeave(1); //下拉刷新传1
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
148
src/pages-politics/healthfollow/send.vue
Normal file
148
src/pages-politics/healthfollow/send.vue
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
<template>
|
||||||
|
<PageLayout :navbarShow="false">
|
||||||
|
<wd-card id="top1">
|
||||||
|
<wd-row>
|
||||||
|
<wd-col :span="16" style="margin-top: 5px;">
|
||||||
|
<uni-easyinput v-model="realname" placeholder="姓名模糊查询" @change="getpersonList"
|
||||||
|
@clear="getpersonList" style="width: 100%;" />
|
||||||
|
</wd-col>
|
||||||
|
<wd-col :span="6" style="margin-top: 5px;margin-left: 3px;">
|
||||||
|
<wd-button @click="sendMessage" style="width: 100%;">发送消息</wd-button>
|
||||||
|
</wd-col>
|
||||||
|
</wd-row>
|
||||||
|
</wd-card>
|
||||||
|
<wd-table :data="list" :height="tableHeight">
|
||||||
|
<wd-table-col prop="ldhth" label="" align="center" :width="screenWidth / 5">
|
||||||
|
<template #value="{row}">
|
||||||
|
<wd-checkbox v-model="row.checked" @change="handleCheckboxChange(row)"></wd-checkbox>
|
||||||
|
</template>
|
||||||
|
</wd-table-col>
|
||||||
|
<wd-table-col prop="xm" label="姓名" align="center" :width="screenWidth / 5"></wd-table-col>
|
||||||
|
<wd-table-col prop="gfxry_dictText" label="疾病类别" align="center" :width="screenWidth /5"></wd-table-col>
|
||||||
|
<wd-table-col prop="nl" label="年龄" align="center" :width="screenWidth /5"></wd-table-col>
|
||||||
|
<wd-table-col prop="xb_dictText" label="性别" align="center" :width="screenWidth / 5"></wd-table-col>
|
||||||
|
</wd-table>
|
||||||
|
<wd-pagination custom-style="border: 1px solid #ececec;border-top:none" v-model="pageNo" :total="total"
|
||||||
|
@change="handleChange"></wd-pagination>
|
||||||
|
</PageLayout>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
useMessage,
|
||||||
|
useToast
|
||||||
|
} from 'wot-design-uni'
|
||||||
|
import SelectDept from '@/components/SelectDept/SelectDept'
|
||||||
|
|
||||||
|
import {
|
||||||
|
followpersonList,
|
||||||
|
addByCld
|
||||||
|
} from '@/api/healthfollow/healthfllow'
|
||||||
|
|
||||||
|
|
||||||
|
const realname = ref('') //姓名查询
|
||||||
|
const list = ref([])
|
||||||
|
let pageNo = 0
|
||||||
|
let pageSize = 10
|
||||||
|
const total = ref(0)
|
||||||
|
const screenHeight = ref(0)
|
||||||
|
const screenWidth = ref(0)
|
||||||
|
const tableHeight = ref(0)
|
||||||
|
const message = useMessage()
|
||||||
|
const toast = useToast()
|
||||||
|
|
||||||
|
const getpersonList = (e) => {
|
||||||
|
if (e != 1) { //为1时是切换页码
|
||||||
|
pageNo = 1
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
xm: '*' + realname.value + '*'
|
||||||
|
}
|
||||||
|
followpersonList({
|
||||||
|
...params,
|
||||||
|
pageNo,
|
||||||
|
pageSize
|
||||||
|
}).then((res) => {
|
||||||
|
console.log("res--健康随访---", res)
|
||||||
|
if (res.success) {
|
||||||
|
list.value = res.result.records.map((item, index) => ({
|
||||||
|
...item, // 保留原有字段
|
||||||
|
xh: index + 1, // 添加序号 xh,从 1 开始
|
||||||
|
checked: true // 新增选中状态字段,默认设置为true
|
||||||
|
}));
|
||||||
|
total.value = res.result.total
|
||||||
|
}
|
||||||
|
// getHeight();
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const sendMessage = () => {
|
||||||
|
// 过滤出选中的行
|
||||||
|
const selectedData = list.value.filter(item => item.checked);
|
||||||
|
|
||||||
|
if (selectedData.length === 0) {
|
||||||
|
toast.warning('请先选择要发送消息的人员')
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 收集所有选中项的 ldhth 字段并以逗号拼接
|
||||||
|
const ldhthValues = selectedData.map(item => item.ldhth).join(',');
|
||||||
|
console.log('拼接后的 ldhth 值:', ldhthValues);
|
||||||
|
addByCld({
|
||||||
|
ldhths:ldhthValues
|
||||||
|
}).then(res=>{
|
||||||
|
toast.success(res.message)
|
||||||
|
console.log("res----",res)
|
||||||
|
// if(res.success){
|
||||||
|
// toast.success(res.message)
|
||||||
|
// }
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleCheckboxChange = (row) => {
|
||||||
|
// 这里可以添加额外的选中状态处理逻辑
|
||||||
|
console.log(`选中状态变更: ${row.xm},当前状态: ${row.checked}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*切换页码*/
|
||||||
|
const handleChange = ({
|
||||||
|
value
|
||||||
|
}) => {
|
||||||
|
pageNo = value
|
||||||
|
getpersonList(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
const calculateTableHeight = () => {
|
||||||
|
const systemInfo = uni.getSystemInfoSync();
|
||||||
|
screenWidth.value = systemInfo.screenWidth;
|
||||||
|
screenHeight.value = systemInfo.screenHeight;
|
||||||
|
// 获取页面顶部元素高度(导航栏+日期选择器)
|
||||||
|
const query = uni.createSelectorQuery();
|
||||||
|
query.select('#top1').boundingClientRect(data => {
|
||||||
|
const topHeight = data ? data.height : 0;
|
||||||
|
const navHeight = 88; // 导航栏高度
|
||||||
|
const margin = 20; // 上下边距
|
||||||
|
// 计算表格可用高度
|
||||||
|
tableHeight.value = screenHeight.value - topHeight - navHeight;
|
||||||
|
}).exec();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
getpersonList();
|
||||||
|
followpersonList();
|
||||||
|
calculateTableHeight();
|
||||||
|
// 监听屏幕旋转变化
|
||||||
|
uni.onWindowResize(() => {
|
||||||
|
calculateTableHeight();
|
||||||
|
});
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
81
src/pages-politics/healthfollow/sendmessage.vue
Normal file
81
src/pages-politics/healthfollow/sendmessage.vue
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
<route lang="json5" type="page">
|
||||||
|
{
|
||||||
|
layout: 'default',
|
||||||
|
style: {
|
||||||
|
navigationStyle: 'custom',
|
||||||
|
navigationBarTitleText: '健康随访',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</route>
|
||||||
|
<template>
|
||||||
|
<PageLayout navTitle="健康随访">
|
||||||
|
<view style="margin: 0 10px;">
|
||||||
|
<uni-segmented-control style="margin-top: 10px;margin-bottom: 10px" :current="current" :values="items"
|
||||||
|
@clickItem="onClickItem" styleType="button"></uni-segmented-control>
|
||||||
|
</view>
|
||||||
|
<view class="content">
|
||||||
|
<view v-if="current === 0">
|
||||||
|
<send></send>
|
||||||
|
</view>
|
||||||
|
<view v-if="current === 1">
|
||||||
|
<lookhealth></lookhealth>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</PageLayout>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
useMessage,
|
||||||
|
useToast
|
||||||
|
} from 'wot-design-uni'
|
||||||
|
import {
|
||||||
|
useAppStore
|
||||||
|
} from '@/store';
|
||||||
|
import {
|
||||||
|
useUserStore
|
||||||
|
} from '@/store/user';
|
||||||
|
import {
|
||||||
|
addApi,
|
||||||
|
queryIf3rdGxyApi
|
||||||
|
} from '@/api/politics/health'
|
||||||
|
import {
|
||||||
|
getEnvBaseUrl
|
||||||
|
} from '@/utils/index'
|
||||||
|
import send from './send'
|
||||||
|
import lookhealth from './lookhealth'
|
||||||
|
|
||||||
|
const items = ref(['发送随访信息', '查看随访信息'])
|
||||||
|
const userStore = useUserStore(); //登录人信息
|
||||||
|
const current = ref(0)
|
||||||
|
|
||||||
|
function onClickItem(e) {
|
||||||
|
if (current.value != e.currentIndex) {
|
||||||
|
current.value = e.currentIndex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onLoad(() => {
|
||||||
|
// if3rdGxy()
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.form-container {
|
||||||
|
padding: 20rpx;
|
||||||
|
background-color: #f5f7fa;
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card {
|
||||||
|
background: #ffffff;
|
||||||
|
border-radius: 16rpx;
|
||||||
|
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05);
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
padding: 40rpx 0;
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,13 +1,16 @@
|
|||||||
<!-- component标签可以变换组件 -->
|
<!-- component标签可以变换组件 -->
|
||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<component ref="comptRef" :is="asyncComponent" :formData="formData" :history="history" :activeKey="activeKey" v-if="asyncComponent"
|
<component ref="comptRef" :is="asyncComponent" :formData="formData" :history="history" :activeKey="activeKey"
|
||||||
@getStampSuc="getStampSuccess"></component>
|
v-if="asyncComponent" @getStampSuc="getStampSuccess"></component>
|
||||||
<view v-else>该模块暂未建立审批页面!</view>
|
<view v-else>该模块暂未建立审批页面!</view>
|
||||||
</view>
|
</view>
|
||||||
|
<wd-tabbar v-if="false">
|
||||||
|
<wd-tabbar-item></wd-tabbar-item>
|
||||||
|
</wd-tabbar>
|
||||||
|
<wd-pagination v-if="false"/>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, reactive, onMounted, computed, watch, nextTick } from 'vue';
|
|
||||||
const compName = ref('');
|
const compName = ref('');
|
||||||
const asyncComponent = ref(null);
|
const asyncComponent = ref(null);
|
||||||
const modules = import.meta.glob('/src/pages-bpm/**/*.vue');
|
const modules = import.meta.glob('/src/pages-bpm/**/*.vue');
|
||||||
|
@ -222,12 +222,16 @@
|
|||||||
"root": "pages-home",
|
"root": "pages-home",
|
||||||
"pages": [
|
"pages": [
|
||||||
{
|
{
|
||||||
"path": "home/home",
|
"path": "device-control/office/index",
|
||||||
"type": "page",
|
"type": "page",
|
||||||
"layout": "default",
|
"layout": "default",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": ""
|
"navigationBarTitleText": "办公室设备列表"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "device-control/office/Personaldevices",
|
||||||
|
"type": "page"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -479,6 +483,41 @@
|
|||||||
"navigationStyle": "custom",
|
"navigationStyle": "custom",
|
||||||
"navigationBarTitleText": "健康填报"
|
"navigationBarTitleText": "健康填报"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "health/followup",
|
||||||
|
"type": "page",
|
||||||
|
"layout": "default",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom",
|
||||||
|
"navigationBarTitleText": "健康随访问卷"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "healthfollow/HealthDetails",
|
||||||
|
"type": "page",
|
||||||
|
"layout": "default",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom",
|
||||||
|
"navigationBarTitleText": "健康随访详情"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "healthfollow/lookhealth",
|
||||||
|
"type": "page"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "healthfollow/send",
|
||||||
|
"type": "page"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "healthfollow/sendmessage",
|
||||||
|
"type": "page",
|
||||||
|
"layout": "default",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom",
|
||||||
|
"navigationBarTitleText": "健康随访"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -525,10 +564,26 @@
|
|||||||
"path": "document/index",
|
"path": "document/index",
|
||||||
"type": "page"
|
"type": "page"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "khss/index",
|
||||||
|
"type": "page"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "lawsAndRegulations/index",
|
||||||
|
"type": "page"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "leaveApplication/index",
|
"path": "leaveApplication/index",
|
||||||
"type": "page"
|
"type": "page"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "OfficeEquipmentMaintenanceApplication/index",
|
||||||
|
"type": "page"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "SuperiorSystem/index",
|
||||||
|
"type": "page"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "unconventional/index",
|
"path": "unconventional/index",
|
||||||
"type": "page"
|
"type": "page"
|
||||||
|
@ -52,9 +52,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref, watch, onBeforeUnmount } from 'vue'
|
|
||||||
import { getFileAccessHttpUrl } from '@/common/uitls'
|
import { getFileAccessHttpUrl } from '@/common/uitls'
|
||||||
import { onLoad } from '@dcloudio/uni-app'
|
|
||||||
import { useToast, useMessage } from 'wot-design-uni'
|
import { useToast, useMessage } from 'wot-design-uni'
|
||||||
import { useRouter } from '@/plugin/uni-mini-router'
|
import { useRouter } from '@/plugin/uni-mini-router'
|
||||||
import { http } from '@/utils/http'
|
import { http } from '@/utils/http'
|
||||||
@ -62,20 +60,22 @@
|
|||||||
import useUpload from '@/hooks/useUpload'
|
import useUpload from '@/hooks/useUpload'
|
||||||
import { getEnvBaseUrl } from '@/utils/index'
|
import { getEnvBaseUrl } from '@/utils/index'
|
||||||
import { queryPostByUserIdApi, editUserApi } from '@/api/system/user'
|
import { queryPostByUserIdApi, editUserApi } from '@/api/system/user'
|
||||||
|
import { useAppStore } from '@/store'
|
||||||
|
import { clockInApi } from '@/api/humanResource/personnel'
|
||||||
|
|
||||||
|
const appStore = useAppStore();
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
const toast = useToast()
|
const toast = useToast()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
|
const loading = ref(false)
|
||||||
const post = ref('')
|
const post = ref('')
|
||||||
let stopWatch : any = null
|
let stopWatch : any = null
|
||||||
|
|
||||||
const dataSource = [
|
const dataSource = [
|
||||||
// { key: 'collect', title: '收藏', class: 'cuIcon-favorfill text-yellow' },
|
|
||||||
// { key: 'redPacket', title: '红包', class: 'cuIcon-redpacket_fill text-red' },
|
|
||||||
{ key: 'setting', title: '个人资料', class: 'cuIcon-settingsfill text-cyan' },
|
{ key: 'setting', title: '个人资料', class: 'cuIcon-settingsfill text-cyan' },
|
||||||
|
{ key: 'clockin', title: '打卡', class: 'cuIcon-location text-cyan' },
|
||||||
{ key: 'scan', title: '扫码', class: 'cuIcon-scan text-red' },
|
{ key: 'scan', title: '扫码', class: 'cuIcon-scan text-red' },
|
||||||
// { key: 'location', title: '定位', class: 'cuIcon-location text-cyan' },
|
|
||||||
{ key: 'exit', title: '退出', class: 'cuIcon-exit text-cyan' },
|
{ key: 'exit', title: '退出', class: 'cuIcon-exit text-cyan' },
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -156,8 +156,34 @@
|
|||||||
toast.warning('H5暂不支持')
|
toast.warning('H5暂不支持')
|
||||||
// #endif
|
// #endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const clockin = () => {
|
||||||
|
if (loading.value) return
|
||||||
|
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
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const exit = () => {
|
const exit = () => {
|
||||||
console.log(message)
|
|
||||||
message
|
message
|
||||||
.confirm({
|
.confirm({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
@ -180,6 +206,9 @@
|
|||||||
case 'exit':
|
case 'exit':
|
||||||
exit()
|
exit()
|
||||||
break
|
break
|
||||||
|
case 'clockin':
|
||||||
|
clockin()
|
||||||
|
break
|
||||||
default:
|
default:
|
||||||
toast.show('功能暂未开发~')
|
toast.show('功能暂未开发~')
|
||||||
}
|
}
|
||||||
|
BIN
src/static/index/index/Healthfollow.png
Normal file
BIN
src/static/index/index/Healthfollow.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.8 KiB |
BIN
src/static/index/index/followup.png
Normal file
BIN
src/static/index/index/followup.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.6 KiB |
12
src/types/uni-pages.d.ts
vendored
12
src/types/uni-pages.d.ts
vendored
@ -27,7 +27,8 @@ interface NavigateToOptions {
|
|||||||
"/pages/production/shishishuju/nyxhSssj" |
|
"/pages/production/shishishuju/nyxhSssj" |
|
||||||
"/pages/production/shishishuju/trqSssj" |
|
"/pages/production/shishishuju/trqSssj" |
|
||||||
"/pages/production/shishishuju/ysjSssj" |
|
"/pages/production/shishishuju/ysjSssj" |
|
||||||
"/pages-home/home/home" |
|
"/pages-home/device-control/office/index" |
|
||||||
|
"/pages-home/device-control/office/Personaldevices" |
|
||||||
"/pages-message/chat/chat" |
|
"/pages-message/chat/chat" |
|
||||||
"/pages-message/contacts/contacts" |
|
"/pages-message/contacts/contacts" |
|
||||||
"/pages-message/personPage/personPage" |
|
"/pages-message/personPage/personPage" |
|
||||||
@ -53,12 +54,21 @@ interface NavigateToOptions {
|
|||||||
"/pages-humanResource/personnel/standingbook" |
|
"/pages-humanResource/personnel/standingbook" |
|
||||||
"/pages-integrated/duty/index" |
|
"/pages-integrated/duty/index" |
|
||||||
"/pages-politics/health/add" |
|
"/pages-politics/health/add" |
|
||||||
|
"/pages-politics/health/followup" |
|
||||||
|
"/pages-politics/healthfollow/HealthDetails" |
|
||||||
|
"/pages-politics/healthfollow/lookhealth" |
|
||||||
|
"/pages-politics/healthfollow/send" |
|
||||||
|
"/pages-politics/healthfollow/sendmessage" |
|
||||||
"/pages-process/approvalTabbar" |
|
"/pages-process/approvalTabbar" |
|
||||||
"/pages-process/myApplyProcess" |
|
"/pages-process/myApplyProcess" |
|
||||||
"/pages-process/taskHandle" |
|
"/pages-process/taskHandle" |
|
||||||
"/pages-bpm/carRental/index" |
|
"/pages-bpm/carRental/index" |
|
||||||
"/pages-bpm/document/index" |
|
"/pages-bpm/document/index" |
|
||||||
|
"/pages-bpm/khss/index" |
|
||||||
|
"/pages-bpm/lawsAndRegulations/index" |
|
||||||
"/pages-bpm/leaveApplication/index" |
|
"/pages-bpm/leaveApplication/index" |
|
||||||
|
"/pages-bpm/OfficeEquipmentMaintenanceApplication/index" |
|
||||||
|
"/pages-bpm/SuperiorSystem/index" |
|
||||||
"/pages-bpm/unconventional/index" |
|
"/pages-bpm/unconventional/index" |
|
||||||
"/pages-bpm/unconventional/stamp" |
|
"/pages-bpm/unconventional/stamp" |
|
||||||
"/pages-bpm/zbkh/index";
|
"/pages-bpm/zbkh/index";
|
||||||
|
@ -2,7 +2,7 @@ import { defineStore } from 'pinia'
|
|||||||
import { pages, subPackages, tabBar } from '@/pages.json'
|
import { pages, subPackages, tabBar } from '@/pages.json'
|
||||||
import { isMpWeixin } from './platform'
|
import { isMpWeixin } from './platform'
|
||||||
import { useAppStore } from '@/store'
|
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 {
|
try {
|
||||||
let path = ''
|
let path = ''
|
||||||
let webApp = import.meta.env.VITE_WEBAPP
|
let webApp = import.meta.env.VITE_WEBAPP
|
||||||
console.log(webApp)
|
|
||||||
if (webApp) {//如果是测试环境 ,upDateAppApi 传递参数 by min
|
if (webApp) {//如果是测试环境 ,upDateAppApi 传递参数 by min
|
||||||
path = webApp
|
path = webApp
|
||||||
}
|
}
|
||||||
console.log(path)
|
|
||||||
upDateAppApi(path).then(async (res : any) => {
|
upDateAppApi(path).then(async (res : any) => {
|
||||||
let {
|
let {
|
||||||
result
|
result
|
||||||
@ -389,107 +387,38 @@ export const getLocation = () => {
|
|||||||
type: 'wgs84',
|
type: 'wgs84',
|
||||||
success: function (position) {
|
success: function (position) {
|
||||||
// 成功获取位置后请求地理编码
|
// 成功获取位置后请求地理编码
|
||||||
uni.request({
|
getLocationApi(position.longitude, position.latitude).then((res : any) => {
|
||||||
url: 'https://api.tianditu.gov.cn/geocoder',
|
if (res) {
|
||||||
method: 'GET',
|
const obj = res.addressComponent
|
||||||
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.setPosition(obj.city ? obj.city : obj.province) //市
|
||||||
store.setLocation(obj.city ? obj.province + obj.city + obj.county : obj.province + obj.county) //省市区
|
store.setLocation(obj.city ? obj.province + obj.city + obj.county : obj.province + obj.county) //省市区
|
||||||
getWeather(position.latitude, position.longitude)
|
getWeather(position.longitude, position.latitude)
|
||||||
} else {
|
} else {
|
||||||
handleDefaultLocation()
|
handleDefaultLocation()
|
||||||
}
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
fail: function (err) {
|
fail: function () {
|
||||||
// uni.showToast({
|
|
||||||
// title: '位置解析失败',
|
|
||||||
// icon: 'error'
|
|
||||||
// })
|
|
||||||
handleDefaultLocation()
|
handleDefaultLocation()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
|
||||||
fail: function (err) {
|
|
||||||
// 根据不同错误码处理
|
|
||||||
// if (err.errCode === 2 || err.errCode === 12) {
|
|
||||||
// // 2: 位置服务不可用, 12: 定位权限未开启
|
|
||||||
// uni.showToast({
|
|
||||||
// title: '请开启定位服务',
|
|
||||||
// icon: 'error'
|
|
||||||
// })
|
|
||||||
|
|
||||||
// } else {
|
|
||||||
// uni.showToast({
|
|
||||||
// title: '定位获取失败',
|
|
||||||
// icon: 'error'
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
handleDefaultLocation()
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const getWeather = (lat : number, lon : number) => {
|
|
||||||
let params = {
|
|
||||||
lat: lat,
|
|
||||||
lon: lon
|
|
||||||
}
|
|
||||||
weatherRequest(params)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 处理默认位置和天气
|
// 处理默认位置和天气
|
||||||
function handleDefaultLocation() {
|
function handleDefaultLocation() {
|
||||||
useAppStore().setPosition('濮阳市')
|
useAppStore().setPosition('濮阳市')
|
||||||
weatherRequest({
|
getWeather(115.08784, 35.773116) // //油田总部经纬度
|
||||||
q: '濮阳市'
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function weatherRequest(params : { lat ?: number; lon ?: number; q ?: string }) {
|
function getWeather(lon : number, lat : number) {
|
||||||
const store = useAppStore()
|
const store = useAppStore()
|
||||||
uni.request({
|
getWeatherApi(lon, lat).then((res : any) => {
|
||||||
url: 'https://api.openweathermap.org/data/2.5/weather',
|
if (res) {
|
||||||
method: 'GET',
|
store.setTemperature(Math.round(res.main.temp - 273.15))
|
||||||
data: {
|
store.setWeather(res.weather[0].icon)
|
||||||
...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'
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const imgUrl = (url : string) => {
|
export const imgUrl = (url : string) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user