From 0f1193574961477c91d773511027bac6e189f9e1 Mon Sep 17 00:00:00 2001 From: shirlwang <15254118591@163.com> Date: Wed, 5 Nov 2025 21:16:07 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apiRc/personinfo/index.js | 7 ++ packageRc/pages/daiban/daiban.vue | 42 +++++++--- packageRc/pages/needs/needsList.vue | 76 ++++++++++--------- packageRc/pages/needs/personNeeds.vue | 2 - packageRc/pages/personalList/personalList.vue | 2 - pages.json | 7 +- 6 files changed, 82 insertions(+), 54 deletions(-) diff --git a/apiRc/personinfo/index.js b/apiRc/personinfo/index.js index 2aa1a9b..c4fb610 100644 --- a/apiRc/personinfo/index.js +++ b/apiRc/personinfo/index.js @@ -44,6 +44,13 @@ export function returnPerson(params) { method: 'get', 'url': `/personnel/personBaseInfo/returnPerson`, + params + }) +} +export function getStatistic(params) { + return request({ + method: 'get', + 'url': `/pc/index/fwqkfx`, params }) } \ No newline at end of file diff --git a/packageRc/pages/daiban/daiban.vue b/packageRc/pages/daiban/daiban.vue index c231941..e9762ec 100644 --- a/packageRc/pages/daiban/daiban.vue +++ b/packageRc/pages/daiban/daiban.vue @@ -1,7 +1,7 @@ + + \ No newline at end of file diff --git a/packageRc/pages/needs/needsList.vue b/packageRc/pages/needs/needsList.vue index 8760146..90309c5 100644 --- a/packageRc/pages/needs/needsList.vue +++ b/packageRc/pages/needs/needsList.vue @@ -3,7 +3,7 @@ - + 共 {{ total }} 条 - {{ getDictLabel(item.currentStatus, currentStatusList) }} - + 需求工种:{{ item.jobWorkTypeName }} - + 需求名称:{{ item.serviceRequirementTitle }} + v-if="queryParams.demandType == 2||queryParams.demandType == 4||queryParams.demandType == 5"> 需求名称:{{ item.demandTitle }} - + 推荐 @@ -73,7 +73,7 @@ :customStyle="{border: 'none'}" @click="requirementHandling(item)">办理 - + 培训 @@ -103,30 +103,35 @@    - - - - {{ formData.actualSolveDate||'请选择' }} - - + + @@ -135,7 +140,7 @@ @cancel="showTime=false"> --> - + > --> @@ -180,10 +185,12 @@ delOtherService, finishOtherService } from '@/apiRc/needs/otherService' + import DealDone from './dealDone.vue' export default { components: { PopupList, - ImageUpload + ImageUpload, + DealDone, }, data() { return { @@ -194,7 +201,7 @@ queryParams: { pageNum: 1, pageSize: 10, - needsType: 1 + demandType: 1 }, total: 0, showMorePage: true, @@ -227,19 +234,23 @@ onLoad({ dictValue }) { - this.queryParams.needsType = dictValue || 1 + this.queryParams.demandType = dictValue || 1 this.getCheckData() }, onShow() { this.search(); }, methods: { + // 日期选择变化处理 + onDateChange(e) { + this.formData.actualSolveDate = e.detail.value; + }, closeopenDeal() { this.$refs.openDeal.close() }, // 新增需求 goAddNeeds() { - this.$tab.navigateTo(`/pages/needs/needDetail?activeType=${this.queryParams.needsType}&showTab=1`) + uni.navigateTo(`/packageRc/pages/needs/needDetail?activeType=${this.queryParams.demandType}&showTab=1`) }, confirmDate(e) { @@ -255,36 +266,36 @@ // 需求推荐/培训 requirementTraining(item, index) { if (index == 1) { - uni.navigateTo( - `/pages/services/serviceDetail?personName=${item.personName}&personId=${item.personId}&jobDemandInfoId=${item.id}&jobWorkType=${item.jobWorkType}&type=3&showTab=1` - ) + uni.navigateTo({ + url: `/packageRc/pages/service/serviceDetail?personName=${item.personName}&personId=${item.personId}&jobDemandInfoId=${item.id}&jobWorkType=${item.jobWorkType}&type=3&showTab=1` + }) } else { - uni.navigateTo( - `/pages/services/serviceDetail?personName=${item.personName}&personId=${item.personId}&skillTrainingId=${item.id}&personStatus=${item.personStatus}&type=4&showTab=1` - ) + uni.navigateTo({ + url: `/packageRc/pages/service/serviceDetail?personName=${item.personName}&personId=${item.personId}&skillTrainingId=${item.id}&personStatus=${item.personStatus}&type=4&showTab=1` + }) } }, clickDelete(item) { this.loading = true; - if (this.queryParams.needsType == 1) { + if (this.queryParams.demandType == 1) { delJobService(item.id).then((res) => { this.deleteFinish(res) }); - } else if (this.queryParams.needsType == 2) { + } else if (this.queryParams.demandType == 2) { delAssistService(item.id).then((res) => { this.deleteFinish(res) }); - } else if (this.queryParams.needsType == 3) { + } else if (this.queryParams.demandType == 3) { delEntrepreneurshipService(item.id).then((res) => { this.deleteFinish(res) }); - } else if (this.queryParams.needsType == 4) { + } else if (this.queryParams.demandType == 4) { delTrainService(item.id).then((res) => { this.deleteFinish(res) }); - } else if (this.queryParams.needsType == 5) { + } else if (this.queryParams.demandType == 5) { delOtherService(item.id).then((res) => { this.deleteFinish(res) }); @@ -298,7 +309,7 @@ }, goNeedsDetail(item) { uni.navigateTo({ - url: `/pages/needs/needDetail?id=${item.id}&type=${this.queryParams.needsType}&showTab=1` + url: `/packageRc/pages/needs/needDetail?id=${item.id}&type=${this.queryParams.demandType}&showTab=1` }) }, getDictLabel(value, list) { @@ -321,12 +332,12 @@ console.log(res.data) }) this.checkData = [ - // { - // name: "需求类型", - // type: "needsType", - // data: [{dictLabel: '求职需求', dictValue: '1'},{dictLabel: '援助需求', dictValue: '2'},{dictLabel: '创业需求', dictValue: '3'},{dictLabel: '培训需求', dictValue: '4'},{dictLabel: '其他需求', dictValue: '5'}], - // activeIndex: 0, - // }, + { + name: "需求类型", + type: "demandType", + data: [{dictLabel: '求职需求', dictValue: '1'},{dictLabel: '创业需求', dictValue: '3'},{dictLabel: '培训需求', dictValue: '4'},{dictLabel: '其他需求', dictValue: '5'}], + activeIndex: 0, + }, { name: "需求状态", type: "currentStatus", @@ -375,9 +386,9 @@ 5: 'other' // 其他需求 }; // 获取当前的需求类型字符串 - const demandType = demandTypeMap[this.queryParams.needsType] || 'other'; + const demandType = demandTypeMap[this.queryParams.demandType] || 'other'; + uni.navigateTo({url: `/packageRc/pages/service/serviceTraceability?id=${item.id}&demandType=${demandType}`}); // 使用映射后的字符串构建URL并导航 - this.$tab.navigateTo(`/pages/services/serviceTraceability?id=${item.id}&demandType=${demandType}`); }, // 触底加载 getBottomList() { @@ -403,27 +414,27 @@ // 获取列表 async getList() { this.loading = true; - if (this.queryParams.needsType == 1) { + // if (this.queryParams.demandType == 1) { listJobService(this.queryParams).then((res) => { this.gettedData(res) }); - } else if (this.queryParams.needsType == 2) { - listAssistService(this.queryParams).then((res) => { - this.gettedData(res) - }); - } else if (this.queryParams.needsType == 3) { - listEntrepreneurshipService(this.queryParams).then((res) => { - this.gettedData(res) - }); - } else if (this.queryParams.needsType == 4) { - listTrainService(this.queryParams).then((res) => { - this.gettedData(res) - }); - } else if (this.queryParams.needsType == 5) { - listOtherService(this.queryParams).then((res) => { - this.gettedData(res) - }); - } + // } else if (this.queryParams.demandType == 2) { + // listAssistService(this.queryParams).then((res) => { + // this.gettedData(res) + // }); + // } else if (this.queryParams.demandType == 3) { + // listEntrepreneurshipService(this.queryParams).then((res) => { + // this.gettedData(res) + // }); + // } else if (this.queryParams.demandType == 4) { + // listTrainService(this.queryParams).then((res) => { + // this.gettedData(res) + // }); + // } else if (this.queryParams.demandType == 5) { + // listOtherService(this.queryParams).then((res) => { + // this.gettedData(res) + // }); + // } }, gettedData(res) { if (res.code == 200) { @@ -444,11 +455,19 @@ // 需求办结 requirementHandling(item) { - this.$refs.openDeal.open() - this.formData = { + // this.$refs.openDeal.open() + // this.formData = { + // id: item.id, + // currentStatus: '3' + // } + console.log(item, 'asdfjoiasiodfjoi') + + this.$refs.dealDone.init({ id: item.id, - currentStatus: '3' - } + currentStatus: "3", + userId: item.userId, + // personStatus: item.personStatus || (this.dict.personStatusList[0] && this.dict.personStatusList[0].dictValue), + }); }, // 需求推荐 @@ -460,6 +479,7 @@ // 办结按钮 async finishJobRecommend() { + uni.showLoading(); try { // 检查必填项 if (!this.formData.actualSolveDate) { @@ -468,9 +488,7 @@ if (!this.formData.solveDesc) { throw new Error('解决说明不能为空'); } - // 显示全局加载 - this.$showLoading(); - // 根据 queryParams.needsType 获取对应的 URL + // 根据 queryParams.demandType 获取对应的 URL const obj = { 1: '/demand/personJobDemandInfo/JdJobDemandDone', 2: '/demand/personAssistDemandInfo/assistDone', @@ -479,7 +497,7 @@ 5: '/demand/personOtherDemandInfo/otherDemandDone', }; - const url = obj[this.queryParams.needsType]; + const url = '/manage/personDemand/demandDone';//obj[this.queryParams.demandType]; if (!url) { throw new Error('无效的需求类型'); } @@ -491,18 +509,17 @@ // 检查响应码是否为200 if (code === 200) { // 显示成功的提示信息 - this.$u.toast(msg); + uni.showToast({title: msg, icon: 'none'}); // this.openDeal = false; - this.$refs.openDeal.close() + this.$refs.openDeal.close() this.search(); } } catch (error) { // 处理错误并显示提示信息 - this.$u.toast('请检查必填项填写'); - console.error('完成需求时发生错误:', error); + uni.showToast({title: '请检查必填项填写', icon: 'none'}); } finally { // 确保加载页总是会被隐藏 - this.$hideLoading(); + uni.hideLoading(); } }, // async finishJobRecommend() { @@ -514,21 +531,22 @@ // 4: '/demand/personTrainDemandInfo/JdTrainDemandDone', // 5: '/demand/personOtherDemandInfo/otherDemandDone', // } - // if (!this.formData.actualSolveDate) return this.$u.toast('解决时间不能为空'); - // if (!this.formData.solveDesc) return this.$u.toast('解决说明不能为空'); + // if (!this.formData.actualSolveDate) return uni.showToast({title: '解决时间不能为空', icon: 'none'}); + // if (!this.formData.solveDesc) return uni.showToast({title: '解决说明不能为空', icon: 'none'}); // const { // code, // data, // msg - // } = await requirementCompletion(obj[this.queryParams.needsType], this.formData) + // } = await requirementCompletion(obj[this.queryParams.demandType], this.formData) // if (code == 200) { - // this.$u.toast(msg) + // uni.showToast({title: ms, icon: 'none'}g) // this.openDeal = false // this.search() // } // }, changeFile(e) { + console.log(e, 34234234234234) // 清空当前的 fileUrl 数组 this.formData.fileUrl = []; // 如果 e 有长度(即用户选择了文件) @@ -539,7 +557,7 @@ this.formData.fileUrl.push(url); } } - this.formData.fileUrl = this.$arrayToString(this.formData.fileUrl) + this.formData.fileUrl = this.formData.fileUrl.join(','); }, } } @@ -569,11 +587,15 @@ .search-icon { width: 40rpx; + height: 40rpx; } } .job-item { position: relative; + margin-bottom: 24rpx; + background: #fff; + border-radius: 16rpx; .item_btn{ height: 100rpx; border-top: 1px solid #e3e8ee; @@ -616,8 +638,6 @@ } .top-container { - background: #fff; - border-radius: 16rpx; padding: 32rpx; // margin-bottom: 24rpx; @@ -774,10 +794,54 @@ width: 100%; } } - .d_flex{ + + .df_flex{ display: flex; view{ flex-grow: 1; + text-align: center; + color: #4c6efb; } - } +} +.df_flex_1{ + flex: 1; +} +.df__direction_column { + flex-direction: column; +} +.df_align_center{ + align-items: center; +} +.df_justify_center{ + justify-content: center; +} +.df_content_between{ + justify-content: space-between; +} +.df_shrink_0{ + flex-shrink: 0; +} + +/* 日期选择器样式 */ +.date-picker-wrapper { + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; + box-sizing: border-box; + padding: 0 24rpx; + height: 64rpx; + border: 1px solid #ddd; + border-radius: 4px; + background-color: #fff; +} + +// .date-picker-wrapper.noValue { +// background-color: #f9f9f9; +// } + +.date-value { + color: #333; + width: 100% +} diff --git a/packageRc/pages/personalList/personalList.vue b/packageRc/pages/personalList/personalList.vue index 16bf2e8..4c4ba2d 100644 --- a/packageRc/pages/personalList/personalList.vue +++ b/packageRc/pages/personalList/personalList.vue @@ -41,9 +41,9 @@ + style="position: relative; color: #000;display: flex;align-items: center;justify-content: space-between;"> - 共{{ total }}条信息 + 共{{ total }}条信息 @@ -143,7 +143,7 @@ - + 取消 @@ -258,7 +258,7 @@ - + diff --git a/packageRc/pages/service/serviceTraceability.vue b/packageRc/pages/service/serviceTraceability.vue new file mode 100644 index 0000000..3e00548 --- /dev/null +++ b/packageRc/pages/service/serviceTraceability.vue @@ -0,0 +1,285 @@ + + + + + diff --git a/pages.json b/pages.json index 2023d0b..bff1c0c 100644 --- a/pages.json +++ b/pages.json @@ -384,7 +384,7 @@ { "path": "pages/personalList/personalList", "style": { - "navigationBarTitleText": "添加帮扶" + "navigationBarTitleText": "毕业生追踪" } }, { @@ -414,6 +414,11 @@ "style": { "navigationBarTitleText": "服务" } + } , { + "path": "pages/service/serviceTraceability", + "style": { + "navigationBarTitleText": "服务追溯" + } } , { "path": "pages/needs/needDetail", "style": { diff --git a/pages/index/components/index-one.vue b/pages/index/components/index-one.vue index 28212ea..a7304c0 100644 --- a/pages/index/components/index-one.vue +++ b/pages/index/components/index-one.vue @@ -1039,13 +1039,12 @@ import { getToken } from '@/utilsRc/auth.js'; function goRc(){ if (checkLogin()) { let token = getToken(); - if( token != null ){ + if( token != null && token != '' && token != undefined ){ if(storeRc.state.user.type == 'person'){ navTo('/packageRc/pages/index/index'); }else{ navTo('/packageRc/pages/daiban/daiban'); } - console.log(storeRc.state.user.roles, storeRc.state.user.type, 'state') }else{ let userInfo = uni.getStorageSync('userInfo') storeRc.dispatch('LoginByUserInfo', userInfo).then(res => { diff --git a/utilsRc/request.js b/utilsRc/request.js index 89b1861..346431d 100644 --- a/utilsRc/request.js +++ b/utilsRc/request.js @@ -20,7 +20,7 @@ const request = config => { if (getToken() && !isToken) { config.header['Authorization'] = 'Bearer ' + getToken() } - config.header['Authorization'] = 'Bearer ' + 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiJzeXNfdXNlcjoxIiwicm5TdHIiOiJQSlUyVlJCc1E1aXRMMWgxdjNkcVh2eER1c2VVc0hvRiIsInVzZXJJZCI6MX0.z4Z2XqgXyU0GQU-i7Bsa5T-zCKApTxj1YQ73rk7bAVo' + config.header['Authorization'] = 'Bearer ' + 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiJzeXNfdXNlcjoxIiwicm5TdHIiOiJGUVl3YmRUalAzQ1BMNGFVc0RxeGJmdjAyT3JMZllDVSIsInVzZXJJZCI6MX0.kSOXY2QJQPbfjE0Yx2R3S8yQciA33OZBS9xJtr7cQ1A' // get请求映射params参数 if (config.params) { let url = config.url + '?' + tansParams(config.params) From 5d52ca004f73f1a13dd7362e48826e8958d2c32f Mon Sep 17 00:00:00 2001 From: lip <1040791966@qq.com> Date: Thu, 6 Nov 2025 13:03:43 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packageRc/pages/index/index.vue | 42 +- packageRc/pages/jobList/jobList.vue | 2030 +++++++++++++++++ pages.json | 6 + pages/index/components/index-one.vue | 1 + .../dist/dev/mp-weixin/project.config.json | 34 +- 5 files changed, 2090 insertions(+), 23 deletions(-) create mode 100644 packageRc/pages/jobList/jobList.vue diff --git a/packageRc/pages/index/index.vue b/packageRc/pages/index/index.vue index ded02e7..49678fd 100644 --- a/packageRc/pages/index/index.vue +++ b/packageRc/pages/index/index.vue @@ -1,18 +1,18 @@ -
+
-
2025年注册会计师证
-
未开始
+
{{item.name}}
+
已完成
+
未开始
+
+ 进行中 +
+
已过期
-
立即练习
+
开始考试
+
继续考试
-
考试时长:120分钟
-
题目数量:88题
-
及格分数:60分
-
截止日期:2025-12-31
+
考试时长:{{item.timeLimit}}分钟
+
题目数量:{{item.totalQuestions}}题
+
分类: + + + +
+
成绩: + {{ item.gradeUser.score }}分 + -- +
+
开始时间:{{item.startDate}}
+
截止时间:{{item.dueDate}}
-
查看成绩
-
详情
-
收藏
+
查看成绩
+
详情
+
+ + 收藏 +
+
+ + 取消 +
-
-
-
-
+
+
{{examInfo.name}}
×
+
+
已完成
+
未开始
+
+ 进行中 +
+
已过期
+
初级
+
中级
+
高级
+
+
考试简介
+
{{ examInfo.description }}
+
+
+
{{ examInfo.timeLimit }}
+
考试时长
+
(分钟)
+
+
+
+
{{ examInfo.totalQuestions }}
+
题目总数
+
+
+
+
{{ examInfo.passScore }}
+
及格分数
+
+
+
+
{{ examInfo.totalScore }}
+
总分
+
+
+
考试要求
+
考试过程中请勿刷新页面或关闭浏览器
+
请在规定时间内完成所有题目
+
考试开始后不可暂停,请确保网络连接稳定
+
考试结束后可查看成绩和答案解析
+ +
+
开始考试
+
继续考试
+
@@ -66,22 +131,138 @@ + + \ No newline at end of file diff --git a/pages.json b/pages.json index 558ca32..84e0557 100644 --- a/pages.json +++ b/pages.json @@ -359,10 +359,17 @@ { "path": "train/mockExam/examList", "style": { - "navigationBarTitleText": "模拟考试", + "navigationBarTitleText": "考试列表", "navigationBarTitleTextSize": "30rpx" } }, + { + "path": "train/mockExam/startExam", + "style": { + "navigationBarTitleText": "模拟考试", + "navigationBarTitleTextSize": "30rpx" + } + }, { "path": "train/mockExam/viewGrades", "style": {