Merge remote-tracking branch 'remotes/origin/master'

# Conflicts:
#	src/pages.json
#	src/types/uni-pages.d.ts
This commit is contained in:
yangzhq68909 2025-06-25 09:19:06 +08:00
commit 8ce1ebbe96
14 changed files with 478 additions and 0 deletions

View File

@ -80,18 +80,24 @@
"@tanstack/query-core": "^5.76.0",
"@tanstack/vue-query": "^5.62.16",
"@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",
"base-64": "^1.0.0",
"birpc": "^2.3.0",
"charenc": "^0.0.2",
"crypt": "^0.0.2",
"dayjs": "1.11.10",
"echarts": "^5.6.0",
"fs-extra": "^11.3.0",
"hookable": "^5.5.3",
"is-buffer": "^2.0.5",
"js-base64": "^3.6.1",
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
"md5": "^2.3.0",
"perfect-debounce": "^1.0.0",
"pinia": "2.0.36",
"pinia-plugin-persistedstate": "3.2.1",
"qs": "6.5.3",

View File

@ -68,12 +68,24 @@ importers:
'@vant/area-data':
specifier: ^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:
specifier: ^1.7.8
version: 1.7.8
base-64:
specifier: ^1.0.0
version: 1.0.0
birpc:
specifier: ^2.3.0
version: 2.3.0
charenc:
specifier: ^0.0.2
version: 0.0.2
@ -89,6 +101,9 @@ importers:
fs-extra:
specifier: ^11.3.0
version: 11.3.0
hookable:
specifier: ^5.5.3
version: 5.5.3
is-buffer:
specifier: ^2.0.5
version: 2.0.5
@ -104,6 +119,9 @@ importers:
md5:
specifier: ^2.3.0
version: 2.3.0
perfect-debounce:
specifier: ^1.0.0
version: 1.0.0
pinia:
specifier: 2.0.36
version: 2.0.36(typescript@5.7.2)(vue@3.4.21(typescript@5.7.2))

View File

@ -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 }
})
}

View 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 }
})
}

View File

@ -0,0 +1,12 @@
import { http } from '@/utils/http';
//
export function followpersonList(config : object) { // 访
return http({
url: '/Hmcappselect/appselect/Hmcapplist',
method: 'GET',
data: config
})
}

View 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 }
})
}

View File

@ -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>

View 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>

View 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>

View File

@ -0,0 +1,136 @@
<template>
<PageLayout :navbarShow="false">
<wd-card style="margin: 10px; display: flex; justify-content: center; align-items: center;" id="top1">
<wd-row>
<wd-col :span="12" style="display: flex; justify-content: center;">
<uni-easyinput v-model="realname" placeholder="姓名模糊查询" @change="getpersonList"
@clear="getpersonList" />
</wd-col>
<wd-col :span="12" style="display: flex; justify-content: center;">
<wd-button @click="sendMessage">发送消息</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="xh" label="序号" align="center" :width="screenWidth / 5"></wd-table-col>
<!-- <wd-table-col prop="dw" label="单位" align="center" :width="screenWidth /5"></wd-table-col> -->
<wd-table-col prop="xm" 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
} 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 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) {
useToast().show('请先选择要发送消息的人员');
return;
}
// ldhth
const ldhthValues = selectedData.map(item => item.ldhth).join(',');
console.log('拼接后的 ldhth 值:', ldhthValues);
}
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>

View File

@ -0,0 +1,79 @@
<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">
</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'
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>

View File

@ -488,6 +488,19 @@
"navigationStyle": "custom",
"navigationBarTitleText": "健康随访"
}
},
{
"path": "healthfollow/send",
"type": "page"
},
{
"path": "healthfollow/sendmessage",
"type": "page",
"layout": "default",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "健康随访"
}
}
]
},
@ -538,10 +551,22 @@
"path": "khss/index",
"type": "page"
},
{
"path": "lawsAndRegulations/index",
"type": "page"
},
{
"path": "leaveApplication/index",
"type": "page"
},
{
"path": "OfficeEquipmentMaintenanceApplication/index",
"type": "page"
},
{
"path": "SuperiorSystem/index",
"type": "page"
},
{
"path": "unconventional/index",
"type": "page"

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@ -54,13 +54,18 @@ interface NavigateToOptions {
"/pages-integrated/duty/index" |
"/pages-politics/health/add" |
"/pages-politics/health/followup" |
"/pages-politics/healthfollow/send" |
"/pages-politics/healthfollow/sendmessage" |
"/pages-process/approvalTabbar" |
"/pages-process/myApplyProcess" |
"/pages-process/taskHandle" |
"/pages-bpm/carRental/index" |
"/pages-bpm/document/index" |
"/pages-bpm/khss/index" |
"/pages-bpm/lawsAndRegulations/index" |
"/pages-bpm/leaveApplication/index" |
"/pages-bpm/OfficeEquipmentMaintenanceApplication/index" |
"/pages-bpm/SuperiorSystem/index" |
"/pages-bpm/unconventional/index" |
"/pages-bpm/unconventional/stamp" |
"/pages-bpm/zbkh/index";