添加页面

This commit is contained in:
2025-11-05 21:16:07 +08:00
parent daf5ac5808
commit 0f11935749
6 changed files with 82 additions and 54 deletions

View File

@@ -47,3 +47,10 @@ export function returnPerson(params) {
params
})
}
export function getStatistic(params) {
return request({
method: 'get',
'url': `/pc/index/fwqkfx`,
params
})
}

View File

@@ -1,7 +1,7 @@
<!--
* @Date: 2025-10-16 15:15:47
* @LastEditors: shirlwang
* @LastEditTime: 2025-11-04 16:34:54
* @LastEditTime: 2025-11-05 17:29:18
-->
<template>
<view>
@@ -11,17 +11,17 @@
<view class="kinggang">
<view>
<view class="num-title" style="color: #1A62CE">重点毕业生数</view>
<view>1120</view>
<view>{{infoData.allPersonCount}}</view>
</view>
<text style="color: #B5C1D1;"></text>
<view>
<view class="num-title" style="color: #16ACB7">累计需求数</view>
<view>1120</view>
<view>{{infoData.demandNum}}</view>
</view>
<text style="color: #B5C1D1;"></text>
<view>
<view class="num-title" style="color: #6A57D1">累计服务数</view>
<view>1120</view>
<view>{{infoData.fwNum}}</view>
</view>
</view>
<view class="trace-line">
@@ -60,6 +60,7 @@
<view style="color: #EF7325;">{{getDictLabel(item.currentStatus, qcjy_xqlc)}}</view>
</view>
</view>
<view class="view-more-btn" @click="viewMore">查看更多内容</view>
<view class="titles">
<view class="title-item active"><view>待服务毕业生列表</view></view>
<view> {{jobListcount}} 条信息</view>
@@ -92,6 +93,7 @@
<view @click="tiao(item)">服务</view>
</view>
</view>
<view class="view-more-btn" @click="goPersonalList">查看更多内容</view>
</view>
</scroll-view>
@@ -149,11 +151,17 @@ function back() {
uni.navigateBack({
delta: 1
});
};
function viewMore() {
uni.navigateTo({
url: '/packageRc/pages/needs/needsList'
});
}
let qcjy_xqlx = ref([])
let qcjy_xqlc = ref([])
let infoData = ref({})
import {getDicts} from '@/apiRc/system/dict'
import {getStatistic} from '@/apiRc/personinfo/index'
onMounted(() => {
getlist();
getlistyujing();
@@ -163,6 +171,9 @@ onMounted(() => {
getDicts('qcjy_xqlc').then(res => {
qcjy_xqlc.value = res.data
});
getStatistic().then(res => {
infoData.value = res.data
})
});
function getDictLabel(value, list) {
const item = list.find(item => item.dictValue === value);
@@ -171,7 +182,7 @@ function getDictLabel(value, list) {
async function getlist(){
try {
const res = await personInfoList();
const res = await personInfoList({pageNum: 1, pageSize: 5})
console.log("res", res);
jobList.value = res.rows || [];
jobListcount.value=res.total || 0
@@ -183,7 +194,7 @@ async function getlist(){
async function getlistyujing(){
try {
const res = await personAlertList();
const res = await personAlertList({pageNum: 1, pageSize: 5});
console.log("res", res);
jobList1.value = res.rows || [];
jobList1count.value=res.total || 0
@@ -259,11 +270,6 @@ function cancelReturn() {
returnReasonPopup.value.close()
}
}
function viewMore() {
// uni.navigateTo({
// url: '/pages/jobList/jobList'
// })
}
</script>
<style lang="less" scoped>
@@ -622,4 +628,16 @@ view{box-sizing: border-box;display: block;}
}
}
}
.view-more-btn{
padding: 10rpx 56rpx;
background: #FFFFFF;
color: #4C6EFB;
border: 1rpx solid #4C6EFB;
text-align: center;
border-radius: 40rpx;
width: fit-content;
margin: 0 auto;
margin-bottom: 20rpx;
}
</style>

View File

@@ -1,14 +1,7 @@
<template>
<view class="page">
<view class="page-header">
<view class="title df_flex" style="text-align: left;padding:50rpx 32rpx;">
<u-icon name="arrow-left" color="#fff" size="38rpx" @tap="$tab.navigateBack()"></u-icon>
<text style="margin-left: 30rpx;" class="df_flex_1">需求列表</text>
<u-icon v-show="$store.getters.roles.includes('shequn')" @tap="$store.commit('SET_SHOWEXITPOPUP', true)" name="list" size="44rpx" color="#fff"></u-icon>
</view>
</view>
<view class="page" style="background-image: url('../../../packageRc/static/pageBg.png');">
<view class="input-outer-part"
style="padding-top: 12rpx;margin-top: 16rpx;padding-bottom: 0;max-height: unset;">
style="padding: 24rpx 32rpx 0;max-height: unset;">
<view class="search-line">
<u-input placeholder="请输入群众姓名进行搜索" v-model="queryParams.searchValue" border="none" />
<img src="https://rc.jinan.gov.cn/qcwjyH5/static/images/person/search.png" class="search-icon" @click="search()" />
@@ -22,9 +15,9 @@
</view>
<scroll-view :scroll-y="true" style="height: calc(100vh - 422rpx);position: relative;z-index: 1;"
@scrolltolower="getBottomList">
<u-swipe-action>
<u-swipe-action-item @click="clickDelete(item)" v-for="(item, index) in tableData" :key="index"
style="margin-bottom: 24rpx;border-radius: 16rpx;" :options="options1">
<uni-swipe-action>
<uni-swipe-action-item @click="clickDelete(item)" v-for="(item, index) in tableData" :key="index"
style="margin-bottom: 24rpx;border-radius: 16rpx;" :right-options="options1">
<view class="job-item">
<view class="top-container" @click="goNeedsDetail(item)">
<view class="title-line">
@@ -65,39 +58,39 @@
<view class="item_btn df_flex df_align_center df_justify_center">
<!-- 需求已处理完成的 展示服务追溯 -->
<view v-if="item.currentStatus == 3" class="df_flex_1">
<u-button type="primary" :plain="true" color="#BF5818" text="服务追溯"
@click="serviceTraceButton(item)" :customStyle="{border: 'none'}"></u-button>
<view type="primary" :plain="true" color="#BF5818" text="服务追溯"
@click="serviceTraceButton(item)" :customStyle="{border: 'none'}">服务追溯</view>
</view>
<!-- 需求处于待处理处理中 -->
<view v-else class="df_flex_1">
<!-- 求职需求 -->
<view v-if="queryParams.needsType == 1" class="df_flex">
<u-button type="primary" :plain="true" color="#BF5818" text="推荐"
<view type="primary" :plain="true" color="#BF5818" text="推荐"
:customStyle="{border: 'none'}"
@click="requirementTraining(item, 1)"></u-button>
@click="requirementTraining(item, 1)">推荐</view>
<view class="line"></view>
<u-button type="primary" :plain="true" color="#BF5818" text="办理"
:customStyle="{border: 'none'}" @click="requirementHandling(item)"></u-button>
<view type="primary" :plain="true" color="#BF5818" text="办理"
:customStyle="{border: 'none'}" @click="requirementHandling(item)">办理</view>
</view>
<!-- 培训需求 -->
<view v-else-if="queryParams.needsType == 4" class="df_flex">
<u-button type="primary" :plain="true" color="#BF5818" text="培训"
<view type="primary" :plain="true" color="#BF5818" text="培训"
:customStyle="{border: 'none'}"
@click="requirementTraining(item, 4)"></u-button>
@click="requirementTraining(item, 4)">培训</view>
<view class="line"></view>
<u-button type="primary" :plain="true" color="#BF5818" text="办理"
:customStyle="{border: 'none'}" @click="requirementHandling(item)"></u-button>
<view type="primary" :plain="true" color="#BF5818" text="办理"
:customStyle="{border: 'none'}" @click="requirementHandling(item)">办理</view>
</view>
<!-- 其他需求 -->
<view v-else>
<u-button type="primary" :plain="true" color="#BF5818" text="办理"
:customStyle="{border: 'none'}" @click="requirementHandling(item)"></u-button>
<view type="primary" :plain="true" color="#BF5818" text="办理"
:customStyle="{border: 'none'}" @click="requirementHandling(item)">办理</view>
</view>
</view>
</view>
</view>
</u-swipe-action-item>
</u-swipe-action>
</uni-swipe-action-item>
</uni-swipe-action>
<view style="padding-bottom: 24rpx;">
<img v-if="!total&&!loading" src="https://rc.jinan.gov.cn/qcwjyH5/static/images/person/empty.png"
style="width: 100%;display: block;margin: 0 auto;" />
@@ -110,7 +103,7 @@
</view>  
</scroll-view>
</view>
<u-popup :show="openDeal" style="position: relative;z-index: 100;" closeOnClickOverlay @close="openDeal=false">
<uni-popup ref="openDeal" style="position: relative;z-index: 100;" background-color="#fff" type="bottom">
<u--form class="self-form" labelPosition="top" :model="formData" :rules="rules" ref="uForm"
labelWidth="300">
<u-form-item label="实际解决时间" prop="actualSolveDate" required>
@@ -129,11 +122,11 @@
</u-form-item>
</u--form>
<view class="button-area">
<view class="btn" @click="openDeal = false">取消</view>
<view class="btn" @click="closeopenDeal">取消</view>
<view class="btn reset" @click="formData.actualSolveDate = '';formData.solveDesc = ''">重置</view>
<view class="btn save" @click="finishJobRecommend">办结</view>
</view>
</u-popup>
</uni-popup>
<view class="addNeeds" @click="goAddNeeds()">
<img src="https://rc.jinan.gov.cn/qcwjyH5/static/images/person/addNeeds.png" />
</view>
@@ -159,7 +152,7 @@
</view>
</template>
<script>
import PopupList from "packageRc/components/PopupLists.vue";
import PopupList from "/packageRc/components/PopupLists.vue";
import ImageUpload from '/packageRc/components/ImageUpload'
import {
requirementCompletion
@@ -234,13 +227,16 @@
onLoad({
dictValue
}) {
this.queryParams.needsType = dictValue
this.queryParams.needsType = dictValue || 1
this.getCheckData()
},
onShow() {
this.search();
},
methods: {
closeopenDeal() {
this.$refs.openDeal.close()
},
// 新增需求
goAddNeeds() {
this.$tab.navigateTo(`/pages/needs/needDetail?activeType=${this.queryParams.needsType}&showTab=1`)
@@ -317,10 +313,10 @@
},
async getCheckData() {
let workExperienceYears
await this.getDicts('qcjy_gznx').then(res => {
await this.$getDict('qcjy_gznx').then(res => {
workExperienceYears = res.data
})
await this.getDicts('qcjy_xqlc').then(res => {
await this.$getDict('qcjy_xqlc').then(res => {
this.currentStatusList = res.data;
console.log(res.data)
})
@@ -448,7 +444,7 @@
// 需求办结
requirementHandling(item) {
this.openDeal = true;
this.$refs.openDeal.open()
this.formData = {
id: item.id,
currentStatus: '3'
@@ -496,7 +492,8 @@
if (code === 200) {
// 显示成功的提示信息
this.$u.toast(msg);
this.openDeal = false;
// this.openDeal = false;
this.$refs.openDeal.close()
this.search();
}
} catch (error) {
@@ -550,9 +547,8 @@
<style lang="scss" scoped>
.page {
background-color: #EEF1F5 !important;
background-color: #f4f4f4 !important;
height: 100vh;
background-image: url('https://rc.jinan.gov.cn/qcwjyH5/static/images/top.png');
background-repeat: no-repeat;
background-size: 100% auto;
}
@@ -778,4 +774,10 @@
width: 100%;
}
}
.d_flex{
display: flex;
view{
flex-grow: 1;
}
}
</style>

View File

@@ -69,7 +69,6 @@
import {
getPersonBase
} from "@/apiRc/person";
import PopupList from "../../components/PopupLists.vue";
import {
listJobService,
delJobService
@@ -96,7 +95,6 @@ import { listJobType } from "@/apiRc/jobType/index";
} from '@/apiRc/needs/otherService'
export default {
components: {
PopupList,
},
onShow() {
console.log('search',34224234)

View File

@@ -276,11 +276,9 @@ import exitPopup from "../../components/exitPopup.vue";
import {
getDicts
} from '@/apiRc/system/dict.js'
import PopupList from "../../components/PopupLists.vue";
export default {
name: "personnelList",
components: {
PopupList,
exitPopup,
},
data() {

View File

@@ -416,7 +416,7 @@
} , {
"path": "pages/needs/needDetail",
"style": {
"navigationBarTitleText": "需求"
"navigationBarTitleText": "需求信息"
}
} , {
"path": "pages/daiban/bangfuList",
@@ -428,6 +428,11 @@
"style": {
"navigationBarTitleText": "需求上报"
}
} , {
"path": "pages/needs/needsList",
"style": {
"navigationBarTitleText": "需求"
}
}
]
},