1.审批角标 2.请假审批历史查询

This commit is contained in:
yangzhq68909 2025-05-27 11:35:28 +08:00
parent 61a1034efd
commit 0aafb0d04a
33 changed files with 238 additions and 211 deletions

View File

@ -4,5 +4,5 @@ NODE_ENV = 'development'
VITE_DELETE_CONSOLE = false VITE_DELETE_CONSOLE = false
# 是否开启sourcemap # 是否开启sourcemap
VITE_SHOW_SOURCEMAP = true VITE_SHOW_SOURCEMAP = true
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'

View File

@ -33,16 +33,16 @@ export default defineUniPages({
text: '首页', text: '首页',
}, },
{ {
"iconPath": "static/tabbar/tabbar-produce.png", "iconPath": "static/tabbar/tabbar-production.png",
"selectedIconPath": "static/tabbar/tabbar-produce-2.png", "selectedIconPath": "static/tabbar/tabbar-production-2.png",
"pagePath": "pages/produce/index", "pagePath": "pages/production/index",
"text": "生产" "text": "生产"
}, },
{ {
iconPath: 'static/tabbar/tabbar-workHome-2.png', iconPath: 'static/tabbar/tabbar-operation.png',
selectedIconPath: 'static/tabbar/tabbar-workHome.png', selectedIconPath: 'static/tabbar/tabbar-operation-2.png',
pagePath: 'pages/workHome/index', pagePath: 'pages/operation/index',
text: '工作台', text: '经营',
}, },
{ {
iconPath: 'static/tabbar/tabbar-user-2.png', iconPath: 'static/tabbar/tabbar-user-2.png',

View File

@ -26,7 +26,7 @@ export function querySuperiorSystemApi(config : Object) { // 上级制度
export function queryFactorySystemApi(config : Object) { // export function queryFactorySystemApi(config : Object) { //
return http({ return http({
url: '/cxczd/cxcZdgl/list', url: '/cxczd/cxcZdgl/zsList',
method: 'GET', method: 'GET',
data: config data: config
}) })

View File

@ -1,5 +1,6 @@
<template> <template>
<wd-cell-group border> <wd-cell-group>
<wd-cell title="申请信息" value="历史查询" size="large" clickable @click="onClick"/>
<wd-cell title="职工姓名" :value="info.username_dictText" /> <wd-cell title="职工姓名" :value="info.username_dictText" />
<wd-cell title="所属单位" :value="info.sysOrgCode_dictText" /> <wd-cell title="所属单位" :value="info.sysOrgCode_dictText" />
<wd-cell title="联系方式" :value="info.phone" /> <wd-cell title="联系方式" :value="info.phone" />
@ -10,29 +11,21 @@
<wd-cell title="出发地" :value="info.departure" /> <wd-cell title="出发地" :value="info.departure" />
<wd-cell title="目的地" :value="info.destination" /> <wd-cell title="目的地" :value="info.destination" />
<wd-cell title="请假原因" :value="info.reason" /> <wd-cell title="请假原因" :value="info.reason" />
<wd-cell title="附件" v-if="info.path&&info.path.length>0"> <wd-cell title="附件" v-if="info.path">
<template v-for="(img, index) in info.path" :key="index"> <template v-for="(img, index) in image" :key="index">
<wd-img :width="100" :height="100" :src="img" :enable-preview="true" /> <wd-img :width="100" :height="100" :src="img" :enable-preview="true" />
</template> </template>
</wd-cell> </wd-cell>
</wd-cell-group> </wd-cell-group>
</template> </template>
<script setup lang="ts"> <script setup>
import {
ref,
onMounted
} from 'vue'
import { import {
queryByIdApi queryByIdApi
} from '@/api/humanResource/absence' } from '@/api/humanResource/absence'
import { import {
getEnvBaseUrl,
imgUrl imgUrl
} from '@/utils/index' } from '@/utils/index'
import {
useUserStore
} from '@/store/user'
defineOptions({ defineOptions({
name: 'index', name: 'index',
@ -40,54 +33,26 @@
styleIsolation: 'shared', styleIsolation: 'shared',
}, },
}) })
const userStore = useUserStore(); const info = ref({})
const examineleader = ref('') const image = ref([])
const imageValue = ref([])
const ifShowFj = ref(false)
const imageStyles = {
width: 64,
height: 64,
border: {
color: "#dce7e1",
width: 2,
style: 'dashed',
radius: '2px'
}
}
const uploadUrl = getEnvBaseUrl() + '/sys/common/upload?appPath=职工请假/' + userStore.userInfo.department + '/' +
userStore.userInfo.realname
const props = defineProps({ const props = defineProps({
history: {
type: String,
default: ""
},
activeKey: {
type: String,
default: ""
},
formData: { formData: {
type: Object, type: Object,
default: () => { }, default: () => {},
} }
}) })
const info = ref({})
const onClick = () => {
uni.navigateTo({
url: `/pages-humanResource/absence/index?username=${info.value.username}`
});
}
// //
const qjQueryById = () => { const qjQueryById = () => {
console.log(props.formData)
queryByIdApi(props.formData.dataId).then((res) => { queryByIdApi(props.formData.dataId).then((res) => {
if (res.success) { if (res.success) {
if (res.result.records[0].zwmc == '单位专家' || res.result.records[0].zwmc == '基层正职' ||
res.result.records[0].zwmc == '高级主管') {
examineleader.value = '分管领导';
} else {
examineleader.value = '审批领导';
}
info.value = res.result.records[0] info.value = res.result.records[0]
// imageValue image.value = info.value.path.split(',').map(path => imgUrl(path))
info.value.path = info.value.path.split(',').map(path => imgUrl(path))
console.log(info)
} }
}) })
} }
@ -95,7 +60,6 @@
onMounted(() => { onMounted(() => {
qjQueryById() qjQueryById()
}) })
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -167,7 +167,6 @@
errors errors
}) => { }) => {
if (valid) { if (valid) {
console.log('----',model)
const submitData = { const submitData = {
...model, ...model,
type: model.type[model.type.length - 1], // type: model.type[model.type.length - 1], //

View File

@ -21,10 +21,11 @@
<wd-cell title="目的地" :value="info.destination" /> <wd-cell title="目的地" :value="info.destination" />
<wd-cell title="请假原因" :value="info.reason" /> <wd-cell title="请假原因" :value="info.reason" />
<wd-cell title="附件" v-if="info.path"> <wd-cell title="附件" v-if="info.path">
<template v-for="(img, index) in joy" :key="index"> <template v-for="(img, index) in image" :key="index">
<wd-img :width="100" :height="100" :src="img" :enable-preview="true" /> <wd-img :width="100" :height="100" :src="img" :enable-preview="true" />
</template> </template>
</wd-cell> </wd-cell>
<wd-cell title="流程状态" :value="info.bpmStatus_dictText" />
<wd-cell title="销假时间" :value="info.resumptiontime" v-if="info.resumptiontime && info.bpmStatus == '3'" /> <wd-cell title="销假时间" :value="info.resumptiontime" v-if="info.resumptiontime && info.bpmStatus == '3'" />
<view v-if="!info.resumptiontime && info.bpmStatus == '3'"> <view v-if="!info.resumptiontime && info.bpmStatus == '3'">
<wd-calendar label="销假时间" prop="resumptiontime" v-model="resumptiontime" :min-date="minDate"/> <wd-calendar label="销假时间" prop="resumptiontime" v-model="resumptiontime" :min-date="minDate"/>
@ -58,7 +59,7 @@
const userStore = useUserStore(); const userStore = useUserStore();
const info = ref({}) const info = ref({})
const path = ref([]) const path = ref([])
const joy = ref([]) const image = ref([])
const resumptiontime = ref(0) const resumptiontime = ref(0)
const minDate = ref(0) const minDate = ref(0)
const queryById = (e) => { const queryById = (e) => {
@ -66,7 +67,7 @@
if (res.success) { if (res.success) {
info.value = res.result.records[0] info.value = res.result.records[0]
minDate.value = dateStringToTimestamp(info.value.begintime) minDate.value = dateStringToTimestamp(info.value.begintime)
joy.value = info.value.path.split(',').map(path => imgUrl(path)) image.value = info.value.path.split(',').map(path => imgUrl(path))
} }
}) })
} }

View File

@ -10,6 +10,7 @@
<template> <template>
<PageLayout navTitle="请假信息"> <PageLayout navTitle="请假信息">
<wd-card style="margin-top: 10px;"> <wd-card style="margin-top: 10px;">
<view v-show="!username">
<wd-row> <wd-row>
<wd-col :span="12"><uni-title title="所属单位" align="left" type="h5"></uni-title></wd-col> <wd-col :span="12"><uni-title title="所属单位" align="left" type="h5"></uni-title></wd-col>
<wd-col :span="12"><uni-title title="重置" align="right" type="h5" color="#666666" <wd-col :span="12"><uni-title title="重置" align="right" type="h5" color="#666666"
@ -27,14 +28,19 @@
</wd-row> </wd-row>
<wd-row> <wd-row>
<wd-col :span="12"> <wd-col :span="12">
<uni-easyinput v-model="realname" placeholder="姓名模糊查询" @change="queryLeave" @clear="queryLeave" /> <uni-easyinput v-model="realname" placeholder="姓名模糊查询" @change="queryLeave"
@clear="queryLeave" />
</wd-col> </wd-col>
<wd-col :span="12"> <wd-col :span="12">
<uni-easyinput v-model="contractNumber" placeholder="劳动合同号查询" @change="queryLeave" @clear="queryLeave" /> <uni-easyinput v-model="contractNumber" placeholder="劳动合同号查询" @change="queryLeave"
@clear="queryLeave" />
</wd-col> </wd-col>
</wd-row> </wd-row>
</view>
<wd-row> <wd-row>
<wd-col :span="24"><uni-title title="请假时间" align="left" type="h5"></uni-title></wd-col> <wd-col :span="12"><uni-title title="请假时间" align="left" type="h5"></uni-title></wd-col>
<wd-col :span="12"><uni-title title="重置" align="right" type="h5" color="#666666"
@click="reset" v-show="username"></uni-title></wd-col>
</wd-row> </wd-row>
<wd-row> <wd-row>
<wd-col :span="24"> <wd-col :span="24">
@ -74,17 +80,19 @@
const type = ref('') // const type = ref('') //
const range = ref([]) // const range = ref([]) //
const timeout = ref(null) const timeout = ref(null)
const username = ref('') //
let pageNo = 1 let pageNo = 1
let pageSize = 10 let pageSize = 10
let loading = false let loading = false
const queryLeave = (e) => { const queryLeave = (e) => {
console.log('----', range.value)
let param = { let param = {
sysOrgCode: orgCode.value, sysOrgCode: orgCode.value,
begin: range.value[0], begin: range.value[0],
end: range.value[1], end: range.value[1],
type: type.value, type: type.value,
// username: username.value, username: username.value,
realname: realname.value, realname: realname.value,
contractNumbers: contractNumber.value contractNumbers: contractNumber.value
} }
@ -151,7 +159,6 @@
orgCode.value = '' orgCode.value = ''
range.value = [] range.value = []
type.value = '' type.value = ''
// username.value = ''
realname.value = '' realname.value = ''
contractNumber.value = '' contractNumber.value = ''
queryLeave() queryLeave()
@ -164,8 +171,12 @@
} }
onLoad((options) => { onLoad((options) => {
getList() if (options.username) {
username.value = options.username
}
queryLeave()
}); });
onReachBottom(() => { onReachBottom(() => {
if (loading) return if (loading) return
queryLeave(1); //1 queryLeave(1); //1

View File

@ -37,7 +37,6 @@
}) })
// option // option
watch(() => props.path, (newVal) => { watch(() => props.path, (newVal) => {
console.log(newVal)
if (newVal) compName.value = newVal; if (newVal) compName.value = newVal;
// //
const comp = modules[`/src/pages-bpm/${compName.value}.vue`] const comp = modules[`/src/pages-bpm/${compName.value}.vue`]

View File

@ -102,7 +102,6 @@
pageNo, pageNo,
pageSize pageSize
}).then((res) => { }).then((res) => {
console.log(res)
if (res.success) { if (res.success) {
list.value = [...list.value,...res.result.records]; list.value = [...list.value,...res.result.records];
} }
@ -120,7 +119,6 @@
const handleChange = (data) => { const handleChange = (data) => {
const rowkey = data.map((item) => item.username).join(',') const rowkey = data.map((item) => item.username).join(',')
console.log(rowkey)
// var params = { // var params = {
// taskId:userTask.value.id, // taskId:userTask.value.id,
// taskAssignee:rowkey // taskAssignee:rowkey
@ -140,7 +138,6 @@
const goToPage = (item)=>{ const goToPage = (item)=>{
// //
if(item.taskAssigneeName&&item.taskAssigneeName!=''){ if(item.taskAssigneeName&&item.taskAssigneeName!=''){
console.log(11)
// //
uni.navigateTo({ uni.navigateTo({
url:`/pages-process/taskHandle`, url:`/pages-process/taskHandle`,

View File

@ -132,7 +132,6 @@
const show1Change = (val, type) => { const show1Change = (val, type) => {
let selectUser = val[0] let selectUser = val[0]
console.log(selectUser)
switch (type) { switch (type) {
case 'show1': case 'show1':
model.value.entrust = selectUser.username model.value.entrust = selectUser.username

View File

@ -94,7 +94,6 @@
} }
const showNodeInfo= (data,taskId)=>{ const showNodeInfo= (data,taskId)=>{
console.log(data)
// this.$refs.nodeInfoModel.close(); // this.$refs.nodeInfoModel.close();
// this.$refs.nodeInfoModel.showInfo(data,taskId); // this.$refs.nodeInfoModel.showInfo(data,taskId);
} }
@ -103,9 +102,7 @@
const eventChannel = proxy.getOpenerEventChannel(); const eventChannel = proxy.getOpenerEventChannel();
eventChannel.on('taskData',(params)=>{ eventChannel.on('taskData',(params)=>{
let useData = JSON.parse(params); let useData = JSON.parse(params);
console.log(123)
getProcessNodeInfo({taskId:useData.id}).then(res=>{ getProcessNodeInfo({taskId:useData.id}).then(res=>{
console.log(res)
if(res.success){ if(res.success){
let data = { let data = {
dataId:res.result.dataId, dataId:res.result.dataId,
@ -123,19 +120,14 @@
path.value = tempFormUrl; //url path.value = tempFormUrl; //url
} }
}) })
console.log(useData)
getNodePositionInfo({processInstanceId:useData.processInstanceId}).then((res)=>{ getNodePositionInfo({processInstanceId:useData.processInstanceId}).then((res)=>{
console.log(res)
if (res.success) { if (res.success) {
nodePositionInfo.value = res.result nodePositionInfo.value = res.result
console.log(res)
} }
}) })
getHisInfo({processInstanceId:useData.processInstanceId}).then((res)=>{ getHisInfo({processInstanceId:useData.processInstanceId}).then((res)=>{
console.log(res)
if (res.success) { if (res.success) {
console.log(res)
dataSource.value = res.result.records dataSource.value = res.result.records
// //
completedNum.value = res.result.records.length completedNum.value = res.result.records.length
@ -153,7 +145,6 @@
'processInstanceId': formData.value.procInsId 'processInstanceId': formData.value.procInsId
}) })
let url = `${getEnvBaseUrl()}/act/task/traceImage?${params}`; let url = `${getEnvBaseUrl()}/act/task/traceImage?${params}`;
console.log(url)
return url; return url;
}) })
</script> </script>

View File

@ -30,16 +30,16 @@
"text": "首页" "text": "首页"
}, },
{ {
"iconPath": "static/tabbar/tabbar-produce.png", "iconPath": "static/tabbar/tabbar-production.png",
"selectedIconPath": "static/tabbar/tabbar-produce-2.png", "selectedIconPath": "static/tabbar/tabbar-production-2.png",
"pagePath": "pages/produce/index", "pagePath": "pages/production/index",
"text": "生产" "text": "生产"
}, },
{ {
"iconPath": "static/tabbar/tabbar-workHome-2.png", "iconPath": "static/tabbar/tabbar-operation.png",
"selectedIconPath": "static/tabbar/tabbar-workHome.png", "selectedIconPath": "static/tabbar/tabbar-operation-2.png",
"pagePath": "pages/workHome/index", "pagePath": "pages/operation/index",
"text": "工作台" "text": "经营"
}, },
{ {
"iconPath": "static/tabbar/tabbar-user-2.png", "iconPath": "static/tabbar/tabbar-user-2.png",
@ -131,7 +131,16 @@
} }
}, },
{ {
"path": "pages/produce/index", "path": "pages/operation/index",
"type": "page",
"layout": "default",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "经营数据"
}
},
{
"path": "pages/production/index",
"type": "page", "type": "page",
"layout": "default", "layout": "default",
"style": { "style": {
@ -158,39 +167,39 @@
} }
}, },
{ {
"path": "pages/produce/ribaoshuju/rbsjLsxq", "path": "pages/production/ribaoshuju/rbsjLsxq",
"type": "page" "type": "page"
}, },
{ {
"path": "pages/produce/ribaoshuju/trqRbsj", "path": "pages/production/ribaoshuju/trqRbsj",
"type": "page" "type": "page"
}, },
{ {
"path": "pages/produce/ribaoshuju/yyRbsj", "path": "pages/production/ribaoshuju/yyRbsj",
"type": "page" "type": "page"
}, },
{ {
"path": "pages/produce/shishishuju/aqbjSssj", "path": "pages/production/shishishuju/aqbjSssj",
"type": "page" "type": "page"
}, },
{ {
"path": "pages/produce/shishishuju/gycsSssj", "path": "pages/production/shishishuju/gycsSssj",
"type": "page" "type": "page"
}, },
{ {
"path": "pages/produce/shishishuju/index", "path": "pages/production/shishishuju/index",
"type": "page" "type": "page"
}, },
{ {
"path": "pages/produce/shishishuju/nyxhSssj", "path": "pages/production/shishishuju/nyxhSssj",
"type": "page" "type": "page"
}, },
{ {
"path": "pages/produce/shishishuju/trqSssj", "path": "pages/production/shishishuju/trqSssj",
"type": "page" "type": "page"
}, },
{ {
"path": "pages/produce/shishishuju/ysjSssj", "path": "pages/production/shishishuju/ysjSssj",
"type": "page" "type": "page"
} }
], ],

View File

@ -39,13 +39,31 @@
</swiper> </swiper>
<wd-row> <wd-row>
<wd-col :span="12" v-for="(item, index) in middleApps" :key="index" @click="goToProcess"> <wd-col :span="12" @click="goToProcess">
<wd-img :width="50" :height="50" :src="getFileAccessHttpUrl(item.icon)"></wd-img> <wd-img :width="50" :height="50"
:src="getFileAccessHttpUrl('https://static.jeecg.com/upload/test/line2_icon1_1595818065964.png')"></wd-img>
<view class="textBox"> <view class="textBox">
<wd-text :text="item.title"></wd-text> <wd-badge :modelValue="badge">
<wd-text :text="item.subTitle"></wd-text> <wd-text text="个人审批"></wd-text>
</wd-badge>
</view> </view>
</wd-col> </wd-col>
<wd-col :span="12" @click="goToProcess">
<wd-img :width="50" :height="50"
:src="getFileAccessHttpUrl('https://static.jeecg.com/upload/test/line2_icon2_1595818070168.png')"></wd-img>
<view class="textBox">
<wd-text text="我发起流程"></wd-text>
</view>
</wd-col>
<!-- <wd-col :span="12" v-for="(item, index) in middleApps" :key="index" @click="goToProcess">
<wd-img :width="50" :height="50" :src="getFileAccessHttpUrl(item.icon)"></wd-img>
<view class="textBox">
<wd-badge modelValue="12">
<wd-text :text="item.title"></wd-text>
</wd-badge>
<wd-text :text="item.subTitle"></wd-text>
</view>
</wd-col> -->
</wd-row> </wd-row>
<view class="serveBox"> <view class="serveBox">
@ -67,17 +85,39 @@
</PageLayout> </PageLayout>
</template> </template>
<script lang="ts" setup> <script setup>
import { ref } from 'vue' import {
import { getFileAccessHttpUrl } from '@/common/uitls' ref
import { onLoad } from '@dcloudio/uni-app' } from 'vue'
import { useToast } from 'wot-design-uni' import {
import { useRouter } from '@/plugin/uni-mini-router' getFileAccessHttpUrl
} from '@/common/uitls'
import {
onLoad
} from '@dcloudio/uni-app'
import {
useToast
} from 'wot-design-uni'
import {
useRouter
} from '@/plugin/uni-mini-router'
import Grid from '@/components/Grid/Grid.vue' import Grid from '@/components/Grid/Grid.vue'
import { queryCarouselApi, getUserPermissionApi } from '@/api/system' import {
import { getEnvBaseUrl } from '@/utils/index' queryCarouselApi,
import { useUserStore } from '@/store/user' getUserPermissionApi
import { useAppStore } from '@/store' } from '@/api/system'
import {
getEnvBaseUrl
} from '@/utils/index'
import {
useUserStore
} from '@/store/user'
import {
useAppStore
} from '@/store'
import {
taskListApi
} from '@/api/process'
defineOptions({ defineOptions({
name: 'index', name: 'index',
options: { options: {
@ -93,19 +133,22 @@
const usList = ref([]) const usList = ref([])
const osList = ref([]) const osList = ref([])
const msgCount = ref(0) const msgCount = ref(0)
const dot = ref({ mailHome: false }) const dot = ref({
mailHome: false
})
const userStore = useUserStore() const userStore = useUserStore()
const appStore = useAppStore() const appStore = useAppStore()
const badge = ref(0)
const res = wx.getSystemInfoSync(); const res = wx.getSystemInfoSync();
const statusHeight = res.statusBarHeight; // const statusHeight = res.statusBarHeight; //
const cusnavbarheight = (statusHeight + 30) + "px"; const cusnavbarheight = (statusHeight + 30) + "px";
const goPage = (item : any) => { const goPage = (item) => {
uni.navigateTo({ uni.navigateTo({
url: `${item.path}?title=${item.text}` url: `${item.path}?title=${item.text}`
}) })
} }
const goToProcess = ()=>{ const goToProcess = () => {
uni.navigateTo({ uni.navigateTo({
url: '/pages-process/approvalTabbar' url: '/pages-process/approvalTabbar'
}) })
@ -113,14 +156,20 @@
const goPageMore = (page) => { const goPageMore = (page) => {
router.replace({ name: 'more', params: { backRouteName: 'index', type: page } }) router.replace({
name: 'more',
params: {
backRouteName: 'index',
type: page
}
})
} }
const queryCarousel = () => { const queryCarousel = () => {
// //
queryCarouselApi({ queryCarouselApi({
zslb: 6 zslb: 6
}).then((res : any) => { }).then((res) => {
if (res.success) { if (res.success) {
let arr = res.result.records[0].wenjian.split(',') let arr = res.result.records[0].wenjian.split(',')
carouselList.value = arr.map((item) => { carouselList.value = arr.map((item) => {
@ -133,7 +182,7 @@
const queryModule = () => { const queryModule = () => {
getUserPermissionApi({ getUserPermissionApi({
token: userStore.userInfo.token, token: userStore.userInfo.token,
}).then((res : any) => { }).then((res) => {
if (res.success) { if (res.success) {
let data = res.result.menu let data = res.result.menu
data = data.filter(e => e.name == 'APP')[0] //APP data = data.filter(e => e.name == 'APP')[0] //APP
@ -161,21 +210,6 @@
}) })
} }
middleApps.value = [
{
icon: 'https://static.jeecg.com/upload/test/line2_icon1_1595818065964.png',
title: '审批',
subTitle: '个人审批',
routeIndex: 'paper',
},
{
icon: 'https://static.jeecg.com/upload/test/line2_icon2_1595818070168.png',
title: '流程',
subTitle: '我发起流程',
routeIndex: 'draft',
},
]
/** /**
* 获取年月日 * 获取年月日
*/ */
@ -187,6 +221,18 @@
return `${y}-${m}-${d}` return `${y}-${m}-${d}`
} }
const queryTaskBadge = () => {
taskListApi().then((res) => {
if (res.success) {
badge.value = res.result.total
}
})
}
onShow(() => {
queryTaskBadge()
})
onLoad(() => { onLoad(() => {
queryCarousel() queryCarousel()
queryModule() queryModule()

View File

@ -0,0 +1,16 @@
<route lang="json5" type="page">
{
layout: 'default',
style: {
navigationStyle: 'custom',
navigationBarTitleText: '经营数据',
},
}
</route>
<template>
<PageLayout :navbarShow="false">
<view style="margin: 100px;">
功能正在开发中... 请耐心等待
</view>
</PageLayout>
</template>

View File

@ -40,12 +40,6 @@
<sssjForm></sssjForm> <sssjForm></sssjForm>
</scroll-view> </scroll-view>
</view> </view>
<view v-show="current === 2">
<scroll-view scroll-y :style="{ height: scrollViewHeight + 'px' }">
选项卡2的内容
</scroll-view>
</view>
</view> </view>
</view> </view>
</PageLayout> </PageLayout>
@ -68,7 +62,7 @@
watchEffect, watchEffect,
onUnmounted onUnmounted
} from 'vue'; } from 'vue';
const items = ref(['日报数据', '实时数据', '经营数据']) const items = ref(['日报数据', '实时数据'])
const current = ref(0) const current = ref(0)
const res = wx.getSystemInfoSync(); const res = wx.getSystemInfoSync();
const statusHeight = res.statusBarHeight; // const statusHeight = res.statusBarHeight; //

View File

@ -74,7 +74,7 @@
import { import {
queryJinriShengchansj, queryJinriShengchansj,
queryJinriYuanyouShengchansj queryJinriYuanyouShengchansj
} from '@/api/produce'; } from '@/api/production';
import { import {
formatDate, formatDate,
getDateAfterDays, getDateAfterDays,

View File

@ -92,7 +92,7 @@
queryJinriShengchansj, queryJinriShengchansj,
queryYearShengchansj, queryYearShengchansj,
queryJinriTrqShengchansj queryJinriTrqShengchansj
} from '@/api/produce'; } from '@/api/production';
import { import {
formatDate, formatDate,
getDateAfterDays getDateAfterDays

View File

@ -83,7 +83,7 @@
<script setup> <script setup>
import { import {
queryJinriYuanyouShengchansj queryJinriYuanyouShengchansj
} from '@/api/produce'; } from '@/api/production';
import { import {
formatDate, formatDate,
getDateAfterDays getDateAfterDays

View File

@ -7,7 +7,7 @@
queryJinriShengchansj, queryJinriShengchansj,
queryYearShengchansj, queryYearShengchansj,
queryJinriTrqShengchansj queryJinriTrqShengchansj
} from '@/api/produce'; } from '@/api/production';
import { import {
formatDate, formatDate,
getDateAfterDays getDateAfterDays

View File

@ -76,7 +76,7 @@
import { import {
queryJldZcList, queryJldZcList,
queryJldDataByZc queryJldDataByZc
} from '@/api/produce' } from '@/api/production'
import { import {
formatDate, formatDate,
getDateAfterDays getDateAfterDays

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -13,18 +13,19 @@ interface NavigateToOptions {
"/pages/onlinePreview/detail" | "/pages/onlinePreview/detail" |
"/pages/onlinePreview/onlinePreview" | "/pages/onlinePreview/onlinePreview" |
"/pages/onlinePreview/onlinePreviewH5" | "/pages/onlinePreview/onlinePreviewH5" |
"/pages/produce/index" | "/pages/operation/index" |
"/pages/production/index" |
"/pages/user/people" | "/pages/user/people" |
"/pages/workHome/index" | "/pages/workHome/index" |
"/pages/produce/ribaoshuju/rbsjLsxq" | "/pages/production/ribaoshuju/rbsjLsxq" |
"/pages/produce/ribaoshuju/trqRbsj" | "/pages/production/ribaoshuju/trqRbsj" |
"/pages/produce/ribaoshuju/yyRbsj" | "/pages/production/ribaoshuju/yyRbsj" |
"/pages/produce/shishishuju/aqbjSssj" | "/pages/production/shishishuju/aqbjSssj" |
"/pages/produce/shishishuju/gycsSssj" | "/pages/production/shishishuju/gycsSssj" |
"/pages/produce/shishishuju/index" | "/pages/production/shishishuju/index" |
"/pages/produce/shishishuju/nyxhSssj" | "/pages/production/shishishuju/nyxhSssj" |
"/pages/produce/shishishuju/trqSssj" | "/pages/production/shishishuju/trqSssj" |
"/pages/produce/shishishuju/ysjSssj" | "/pages/production/shishishuju/ysjSssj" |
"/pages-home/home/home" | "/pages-home/home/home" |
"/pages-message/chat/chat" | "/pages-message/chat/chat" |
"/pages-message/contacts/contacts" | "/pages-message/contacts/contacts" |
@ -58,7 +59,7 @@ interface NavigateToOptions {
interface RedirectToOptions extends NavigateToOptions {} interface RedirectToOptions extends NavigateToOptions {}
interface SwitchTabOptions { interface SwitchTabOptions {
url: "/pages/index/index" | "/pages/produce/index" | "/pages/workHome/index" | "/pages/user/people" url: "/pages/index/index" | "/pages/production/index" | "/pages/operation/index" | "/pages/user/people"
} }
type ReLaunchOptions = NavigateToOptions | SwitchTabOptions; type ReLaunchOptions = NavigateToOptions | SwitchTabOptions;

View File

@ -14,7 +14,7 @@
<script setup> <script setup>
import { import {
queryJldZcList queryJldZcList
} from '@/api/produce' } from '@/api/production'
import { import {
queryMyDeptTreeListApi queryMyDeptTreeListApi
} from '@/api/system/department' } from '@/api/system/department'