¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // æ¥è¯¢å¨èåå·¥å°è´¦ |
| | | export function staffOnJobListPage(query) { |
| | | return request({ |
| | | url: '/staff/staffOnJob/listPage', |
| | | method: 'get', |
| | | params: query, |
| | | }) |
| | | } |
| | | // æ¥è¯¢åå·¥å
¥èä¿¡æ¯ |
| | | export function staffOnJobInfo(query) { |
| | | return request({ |
| | | url: '/staff/staffOnJob/staffNo', |
| | | method: 'get', |
| | | params: query, |
| | | }) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from "@/utils/request"; |
| | | |
| | | // æ¥è¯¢äººåå
¥èå表 |
| | | export function staffJoinListPage(query) { |
| | | return request({ |
| | | url: "/staff/staffJoinLeaveRecord/listPage", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | // æ°å¢äººåå
¥è |
| | | export function staffJoinAdd(query) { |
| | | return request({ |
| | | url: "/staff/staffJoinLeaveRecord/add", |
| | | method: "post", |
| | | data: query, |
| | | }); |
| | | } |
| | | // ä¿®æ¹äººåå
¥è |
| | | export function staffJoinUpdate(query) { |
| | | return request({ |
| | | url: "/staff/staffJoinLeaveRecord/update", |
| | | method: "post", |
| | | data: query, |
| | | }); |
| | | } |
| | | // æ¥è¯¢åå·¥å
¥èä¿¡æ¯ |
| | | export function getStaffJoinInfo(query) { |
| | | return request({ |
| | | url: "/staff/staffJoinLeaveRecord/" + query, |
| | | method: "get", |
| | | data: query, |
| | | }); |
| | | } |
| | | // å é¤åå·¥ |
| | | export function staffJoinDel(query) { |
| | | return request({ |
| | | url: "/staff/staffJoinLeaveRecord/del", |
| | | method: "delete", |
| | | data: query, |
| | | }); |
| | | } |
| | | |
| | | export function getStaffOnJob() { |
| | | return request({ |
| | | url: "/staff/staffOnJob/list", |
| | | method: "get", |
| | | }); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // èªé
¬ç®¡ç |
| | | import request from "@/utils/request"; |
| | | |
| | | // æ¥è¯¢å表 |
| | | export function compensationListPage(query) { |
| | | return request({ |
| | | url: "/compensationPerformance/listPage", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | // æ°å¢ |
| | | export function compensationAdd(query) { |
| | | return request({ |
| | | url: "/compensationPerformance/add", |
| | | method: "post", |
| | | data: query, |
| | | }); |
| | | } |
| | | // ä¿®æ¹ |
| | | export function compensationUpdate(query) { |
| | | return request({ |
| | | url: "/compensationPerformance/update", |
| | | method: "post", |
| | | data: query, |
| | | }); |
| | | } |
| | | // å é¤ |
| | | export function compensationDelete(query) { |
| | | return request({ |
| | | url: "/compensationPerformance/delete", |
| | | method: "delete", |
| | | data: query, |
| | | }); |
| | | } |
| | |
| | | "navigationBarTitleText": "设å¤ç»´ä¿®", |
| | | "navigationStyle": "custom" |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/equipmentManagement/upkeep/index", |
| | | "style": { |
| | |
| | | } |
| | | }, |
| | | { |
| | | "path": "company/index", |
| | | "style": { |
| | | "navigationBarTitleText": "å
¬å¸ä¿¡æ¯" |
| | | } |
| | | }, |
| | | { |
| | | "path": "contract/index", |
| | | "style": { |
| | | "navigationBarTitleText": "ååä¿¡æ¯" |
| | | } |
| | | }, |
| | | { |
| | | "path": "info/edit", |
| | | "style": { |
| | | "navigationBarTitleText": "ç¼è¾èµæ" |
| | |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="notice-section"> |
| | | <view class="notice"> |
| | | <view class="notice-content"> |
| | | <view class="notice-left"> |
| | | <text class="notice-status">éç¥</text> |
| | | </view> |
| | | <view class="notice-separator"></view> |
| | | <view class="notice-right"> |
| | | <text class="notice-label">{{currentStatus}}</text> |
| | | <text class="notice-text">彿¥éå®è®¾å¤æ°:<text class="notice-number">{{number}}<text class="notice-unit">个</text></text></text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- <view class="notice-section">--> |
| | | <!-- <view class="notice">--> |
| | | <!-- <view class="notice-content">--> |
| | | <!-- <view class="notice-left">--> |
| | | <!-- <text class="notice-status">éç¥</text>--> |
| | | <!-- </view>--> |
| | | <!-- <view class="notice-separator"></view>--> |
| | | <!-- <view class="notice-right">--> |
| | | <!-- <text class="notice-label">{{currentStatus}}</text>--> |
| | | <!-- <text class="notice-text">彿¥éå®è®¾å¤æ°:<text class="notice-number">{{number}}<text class="notice-unit">个</text></text></text>--> |
| | | <!-- </view>--> |
| | | <!-- </view>--> |
| | | <!-- </view>--> |
| | | <!-- </view>--> |
| | | |
| | | <!-- è¥éç®¡çæ¨¡å --> |
| | | <view class="common-module marketing-module"> |
| | |
| | | <view class="icon-container" :style="{ background: item.bgColor }"> |
| | | <up-icon |
| | | :name="item.icon" |
| | | :size="26" |
| | | :size="58" |
| | | color="#ffffff" |
| | | ></up-icon> |
| | | </view> |
| | |
| | | <view class="icon-container" :style="{ background: item.bgColor }"> |
| | | <up-icon |
| | | :name="item.icon" |
| | | :size="26" |
| | | :size="58" |
| | | color="#ffffff" |
| | | ></up-icon> |
| | | </view> |
| | |
| | | <view class="icon-container" :style="{ background: item.bgColor }"> |
| | | <up-icon |
| | | :name="item.icon" |
| | | :size="26" |
| | | :size="58" |
| | | color="#ffffff" |
| | | ></up-icon> |
| | | </view> |
| | |
| | | <view class="icon-container" :style="{ background: item.bgColor }"> |
| | | <up-icon |
| | | :name="item.icon" |
| | | :size="26" |
| | | :size="58" |
| | | color="#ffffff" |
| | | ></up-icon> |
| | | </view> |
| | |
| | | // è¥é管çåè½æ°æ® |
| | | const marketingItems = reactive([ |
| | | { |
| | | icon: 'account', |
| | | icon: '/static/images/icon/xiaoshoutaizhang@2x.png', |
| | | label: 'éå®å°è´¦', |
| | | bgColor: '#2979ff' |
| | | }, |
| | | { |
| | | icon: 'home', |
| | | icon: '/static/images/icon/kaipiaodengji@2x.png', |
| | | label: 'å¼ç¥¨ç»è®°', |
| | | bgColor: '#1976d2' |
| | | }, |
| | | { |
| | | icon: 'file-text', |
| | | icon: '/static/images/icon/kaipiaotaizhang@2x.png', |
| | | label: 'å¼ç¥¨å°è´¦', |
| | | bgColor: '#42a5f5' |
| | | }, |
| | | { |
| | | icon: 'shopping-cart', |
| | | icon: '/static/images/icon/huikuandengji@2x.png', |
| | | label: '忬¾ç»è®°', |
| | | bgColor: '#64b5f6' |
| | | }, |
| | | { |
| | | icon: 'chat', |
| | | icon: '/static/images/icon/huikuanliushui@2x.png', |
| | | label: '忬¾æµæ°´', |
| | | bgColor: '#90caf9' |
| | | }, |
| | | { |
| | | icon: 'chat', |
| | | icon: '/static/images/icon/kehuwanglai@2x.png', |
| | | label: '客æ·å¾æ¥', |
| | | bgColor: '#90caf9' |
| | | } |
| | | ]); |
| | | |
| | | // éè´ç®¡çåè½æ°æ® |
| | | const purchaseItems = reactive([ |
| | | { |
| | | icon: 'order', |
| | | icon: '/static/images/icon/caigoutaizhang@2x.png', |
| | | label: 'éè´å°è´¦', |
| | | bgColor: '#bbdefb' |
| | | }, |
| | | { |
| | | icon: 'truck', |
| | | icon: '/static/images/icon/laipiaodengji@2x.png', |
| | | label: 'æ¥ç¥¨ç»è®°', |
| | | bgColor: '#e3f2fd' |
| | | }, |
| | | { |
| | | icon: 'box', |
| | | icon: '/static/images/icon/laipiaotaizhang@2x.png', |
| | | label: 'æ¥ç¥¨å°è´¦', |
| | | bgColor: '#f3e5f5' |
| | | }, |
| | | { |
| | | icon: 'chart-line', |
| | | icon: '/static/images/icon/fukuanjingji@2x.png', |
| | | label: '仿¬¾ç»è®°', |
| | | bgColor: '#e8eaf6' |
| | | }, |
| | | { |
| | | icon: 'settings', |
| | | icon: '/static/images/icon/fukuanliushui@2x.png', |
| | | label: '仿¬¾æµæ°´', |
| | | bgColor: '#f1f8e9' |
| | | }, |
| | | { |
| | | icon: 'settings', |
| | | icon: '/static/images/icon/gongyingshangwanglai@2x.png', |
| | | label: 'ä¾åºå徿¥', |
| | | bgColor: '#f1f8e9' |
| | | }, |
| | | ]); |
| | | |
| | | // åååå
¬åè½æ°æ® |
| | | const collaborationItems = reactive([ |
| | | { |
| | | icon: 'checkmark-circle', |
| | | icon: '/static/images/icon/xietongshenpi@2x.png', |
| | | label: 'åå审æ¹', |
| | | bgColor: '#4caf50' |
| | | }, |
| | | { |
| | | icon: 'map-pin', |
| | | icon: '/static/images/icon/kehubaifang@2x.png', |
| | | label: 'å®¢æ·æè®¿', |
| | | bgColor: '#ff9800' |
| | | } |
| | | ]); |
| | | |
| | | // 设å¤ç®¡çåè½æ°æ® |
| | | const equipmentItems = reactive([ |
| | | { |
| | | icon: 'list', |
| | | icon: '/static/images/icon/shebeitaizhang@2x.png', |
| | | label: '设å¤å°è´¦', |
| | | bgColor: '#9c27b0' |
| | | }, |
| | | { |
| | | icon: 'wrench', |
| | | icon: '/static/images/icon/shbeibaoxiu@2x.png', |
| | | label: 'è®¾å¤æ¥ä¿®', |
| | | bgColor: '#f44336' |
| | | }, |
| | | { |
| | | icon: 'shield-check', |
| | | icon: '/static/images/icon/shbeibaoyang@2x.png', |
| | | label: '设å¤ä¿å
»', |
| | | bgColor: '#00bcd4' |
| | | } |
| | | ]); |
| | | |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="right" @click="handleToInfo"> |
| | | <text class="link">个人信æ¯</text> |
| | | <view class="iconfont icon-right"></view> |
| | | <view class="right" @click="handleLogout"> |
| | | <text class="link">éåºç»å½</text> |
| | | <!-- <view class="iconfont icon-right"></view>--> |
| | | </view> |
| | | </view> |
| | | |
| | |
| | | <view class="menu-card"> |
| | | <view class="menu-item" @click="handleUnitManage"> |
| | | <uni-icons type="home" size="22" color="#3C96F3" /> |
| | | <text class="label">åä½ç®¡ç</text> |
| | | <text class="label">åä½ä¿¡æ¯</text> |
| | | <uni-icons class="arrow" type="right" size="18" color="#c0c4cc" /> |
| | | </view> |
| | | <view class="menu-item" @click="handleUserManage"> |
| | | <view class="menu-item" @click="handleToInfo"> |
| | | <uni-icons type="person" size="22" color="#3C96F3" /> |
| | | <text class="label">ç¨æ·ç®¡ç</text> |
| | | <text class="label">ç¨æ·ä¿¡æ¯</text> |
| | | <uni-icons class="arrow" type="right" size="18" color="#c0c4cc" /> |
| | | </view> |
| | | <view class="menu-item" @click="handleContractManage"> |
| | | <uni-icons type="compose" size="22" color="#3C96F3" /> |
| | | <text class="label">åå管ç</text> |
| | | <text class="label">ååä¿¡æ¯</text> |
| | | <uni-icons class="arrow" type="right" size="18" color="#c0c4cc" /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view> |
| | | <uni-popup ref="popup" type="dialog"> |
| | | <uni-popup-dialog type="info" cancelText="å
³é" confirmText="éåº" title="éç¥" content="ç¡®å®æ³¨éå¹¶éåºç³»ç»å" |
| | | @confirm="dialogConfirm"> |
| | | </uni-popup-dialog> |
| | | </uni-popup> |
| | | </view> |
| | | <!-- åºé¨ä¸¤ä¸ªä¿¡æ¯å¡ç --> |
| | | <!-- <view class="info-cards"> |
| | | <view class="info-card"> |
| | |
| | | uni.$on('refresh', () => { |
| | | avatar.value = userStore.avatar; |
| | | }) |
| | | |
| | | function handleToInfo() { |
| | | uni.navigateTo({ |
| | | url: '/pages_mine/pages/info/index' |
| | |
| | | |
| | | // ç°æè·³è½¬æ¹æ³ä¿çï¼handleToInfo / handleToLogin / handleToAvatar / handleHelp ç |
| | | function handleUnitManage() { |
| | | // TODO: æ¿æ¢ä¸ºçå®è·¯ç± |
| | | uni.showToast({ title: '模å建设ä¸~', icon: 'none' }); |
| | | uni.navigateTo({ |
| | | url: '/pages_mine/pages/company/index' |
| | | }); |
| | | } |
| | | function handleUserManage() { |
| | | // TODO: æ¿æ¢ä¸ºçå®è·¯ç± |
| | | uni.showToast({ title: '模å建设ä¸~', icon: 'none' }); |
| | | } |
| | | function handleContractManage() { |
| | | // TODO: æ¿æ¢ä¸ºçå®è·¯ç± |
| | | uni.showToast({ title: '模å建设ä¸~', icon: 'none' }); |
| | | uni.navigateTo({ |
| | | url: '/pages_mine/pages/contract/index' |
| | | }); |
| | | } |
| | | onMounted(() => { |
| | | // è®¾ç½®ç¨æ·ä¿¡æ¯ |
| | | // è®¾ç½®ç¨æ·ä¿¡æ¯ |
| | | userStore.getInfo() |
| | | }); |
| | | </script> |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="container"> |
| | | <view class="card"> |
| | | <van-cell-group> |
| | | <van-cell icon="cluster-o" title="æå±å
¬å¸" :value="userStore.currentFactoryName" /> |
| | | <van-cell icon="manager-o" title="å²ä½" :value="postGroup" /> |
| | | </van-cell-group> |
| | | </view> |
| | | |
| | | <!-- <u-button @click="register()">ç»å®å¾®ä¿¡</u-button> --> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { getUserProfile } from "@/api/system/user" |
| | | import { ref } from "vue"; |
| | | import modal from "@/plugins/modal" |
| | | |
| | | const user = ref({}) |
| | | const roleGroup = ref("") |
| | | const postGroup = ref("") |
| | | function getUser() { |
| | | getUserProfile().then(response => { |
| | | user.value = response.data |
| | | roleGroup.value = response.roleGroup |
| | | postGroup.value = response.postGroup |
| | | }) |
| | | } |
| | | getUser() |
| | | |
| | | import { wxRegister } from "@/api/oauth" |
| | | import { getWxCode } from "@/utils/geek" |
| | | import useUserStore from "@/store/modules/user"; |
| | | const userStore = useUserStore() |
| | | |
| | | function register(){ |
| | | modal.loading('ç»å®å¾®ä¿¡ä¸...') |
| | | getWxCode().then(res=>{ |
| | | wxRegister('miniapp',res).then(res=>{ |
| | | modal.closeLoading() |
| | | }) |
| | | }) |
| | | |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | /* èæ¯æ´æåï¼å¡çæ´çªåº */ |
| | | page { |
| | | background-color: #f5f7fb; |
| | | } |
| | | |
| | | .container { |
| | | min-height: 100vh; |
| | | padding: 0; /* 24rpx -> 0.75rem */ |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | /* å表å¡çå®¹å¨ */ |
| | | .card { |
| | | background-color: #ffffff; |
| | | box-shadow: 0 0.375rem 1rem rgba(0, 0, 0, 0.06); /* 0 12rpx 32rpx -> 0 0.375rem 1rem */ |
| | | overflow: hidden; |
| | | } |
| | | |
| | | /* éé
Vant Cell */ |
| | | :deep(.van-cell) { |
| | | min-height: 3rem; /* 92rpx -> 2.875rem */ |
| | | align-items: center; |
| | | } |
| | | |
| | | :deep(.van-cell__title) { |
| | | font-weight: 500; |
| | | color: #1f2937; /* æ·±ç° */ |
| | | } |
| | | |
| | | :deep(.van-cell__value) { |
| | | color: #6b7280; /* 次è¦ç° */ |
| | | } |
| | | |
| | | /* ç§»é¤ä¸å使ç¨ç .cell-icon æ ·å¼ */ |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="container"> |
| | | <view class="card"> |
| | | <van-cell-group> |
| | | <van-cell icon="underway-o" title="ååå¼å§æ¶é´" :value="user.contractStartTime" /> |
| | | <van-cell icon="underway-o" title="ååç»ææ¶é´" :value="user.contractEndTime" /> |
| | | <van-cell icon="medal-o" title="å²ä½" :value="user.postJob" /> |
| | | <van-cell icon="label-o" title="第ä¸å¦å" :value="user.firstStudy" /> |
| | | </van-cell-group> |
| | | </view> |
| | | |
| | | <!-- <u-button @click="register()">ç»å®å¾®ä¿¡</u-button> --> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref } from "vue"; |
| | | import modal from "@/plugins/modal" |
| | | |
| | | const user = ref({ |
| | | contractStartTime: '', |
| | | contractEndTime: '', |
| | | postJob: '', |
| | | firstStudy: '', |
| | | }) |
| | | const roleGroup = ref("") |
| | | const postGroup = ref("") |
| | | |
| | | |
| | | import { wxRegister } from "@/api/oauth" |
| | | import { getWxCode } from "@/utils/geek" |
| | | import useUserStore from "@/store/modules/user"; |
| | | import {staffJoinListPage} from "@/api/personnelManagement/onboarding"; |
| | | const userStore = useUserStore() |
| | | |
| | | function getUser() { |
| | | const params = { |
| | | staffState: 1, |
| | | current: 1, |
| | | size: 1, |
| | | staffName: userStore.nickName |
| | | } |
| | | staffJoinListPage({...params}).then(response => { |
| | | user.value = {...response.data.records[0]} |
| | | roleGroup.value = response.roleGroup |
| | | postGroup.value = response.postGroup |
| | | }) |
| | | } |
| | | getUser() |
| | | function register(){ |
| | | modal.loading('ç»å®å¾®ä¿¡ä¸...') |
| | | getWxCode().then(res=>{ |
| | | wxRegister('miniapp',res).then(res=>{ |
| | | modal.closeLoading() |
| | | }) |
| | | }) |
| | | |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | /* èæ¯æ´æåï¼å¡çæ´çªåº */ |
| | | page { |
| | | background-color: #f5f7fb; |
| | | } |
| | | |
| | | .container { |
| | | min-height: 100vh; |
| | | padding: 0; /* 24rpx -> 0.75rem */ |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | /* å表å¡çå®¹å¨ */ |
| | | .card { |
| | | background-color: #ffffff; |
| | | box-shadow: 0 0.375rem 1rem rgba(0, 0, 0, 0.06); /* 0 12rpx 32rpx -> 0 0.375rem 1rem */ |
| | | overflow: hidden; |
| | | } |
| | | |
| | | /* éé
Vant Cell */ |
| | | :deep(.van-cell) { |
| | | min-height: 3rem; /* 92rpx -> 2.875rem */ |
| | | align-items: center; |
| | | } |
| | | |
| | | :deep(.van-cell__title) { |
| | | font-weight: 500; |
| | | color: #1f2937; /* æ·±ç° */ |
| | | } |
| | | |
| | | :deep(.van-cell__value) { |
| | | color: #6b7280; /* 次è¦ç° */ |
| | | } |
| | | |
| | | /* ç§»é¤ä¸å使ç¨ç .cell-icon æ ·å¼ */ |
| | | </style> |
| | |
| | | <template> |
| | | <view class="container"> |
| | | <view class="card"> |
| | | <van-cell-group inset> |
| | | <van-cell-group> |
| | | <van-cell icon="user" title="æµç§°" :value="user.nickName" /> |
| | | <van-cell icon="phone" title="ææºå·ç " :value="user.phonenumber" /> |
| | | <van-cell icon="invitation" title="é®ç®±" :value="user.email" /> |
| | |
| | | |
| | | .container { |
| | | min-height: 100vh; |
| | | padding: 0.75rem; /* 24rpx -> 0.75rem */ |
| | | padding: 0; /* 24rpx -> 0.75rem */ |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | /* å表å¡çå®¹å¨ */ |
| | | .card { |
| | | background-color: #ffffff; |
| | | border-radius: 0.625rem; /* 20rpx -> 0.625rem */ |
| | | box-shadow: 0 0.375rem 1rem rgba(0, 0, 0, 0.06); /* 0 12rpx 32rpx -> 0 0.375rem 1rem */ |
| | | overflow: hidden; |
| | | } |
| | | |
| | | /* éé
Vant Cell */ |
| | | :deep(.van-cell) { |
| | | min-height: 2.875rem; /* 92rpx -> 2.875rem */ |
| | | min-height: 3rem; /* 92rpx -> 2.875rem */ |
| | | align-items: center; |
| | | } |
| | | |
| | | :deep(.van-cell__title) { |