From f107001347ab86af32fce7b6253f3e06dcee376f Mon Sep 17 00:00:00 2001 From: lijie_ycrj <1540286404@qq.com> Date: Fri, 6 Mar 2026 17:23:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B8=AE=E6=89=B6=E8=AE=B0=E5=BD=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packageB/priority/jobWill.vue | 429 ++++++++++++++++++++++++ packageB/priority/jobWillEdit.vue | 366 ++++++++++++++++++++ packageB/priority/recordDetail.vue | 297 ++++++++++++++++ packageB/priority/recordFollow.vue | 403 ++++++++++++++++++++++ packageB/priority/recordsManagement.vue | 273 +++++++++------ pages.json | 24 ++ 6 files changed, 1692 insertions(+), 100 deletions(-) create mode 100644 packageB/priority/jobWill.vue create mode 100644 packageB/priority/jobWillEdit.vue create mode 100644 packageB/priority/recordDetail.vue create mode 100644 packageB/priority/recordFollow.vue diff --git a/packageB/priority/jobWill.vue b/packageB/priority/jobWill.vue new file mode 100644 index 0000000..7b32adf --- /dev/null +++ b/packageB/priority/jobWill.vue @@ -0,0 +1,429 @@ + + + + + diff --git a/packageB/priority/jobWillEdit.vue b/packageB/priority/jobWillEdit.vue new file mode 100644 index 0000000..2806fdf --- /dev/null +++ b/packageB/priority/jobWillEdit.vue @@ -0,0 +1,366 @@ + + + + + diff --git a/packageB/priority/recordDetail.vue b/packageB/priority/recordDetail.vue new file mode 100644 index 0000000..b15bb52 --- /dev/null +++ b/packageB/priority/recordDetail.vue @@ -0,0 +1,297 @@ + + + + + diff --git a/packageB/priority/recordFollow.vue b/packageB/priority/recordFollow.vue new file mode 100644 index 0000000..537c8a4 --- /dev/null +++ b/packageB/priority/recordFollow.vue @@ -0,0 +1,403 @@ + + + + + diff --git a/packageB/priority/recordsManagement.vue b/packageB/priority/recordsManagement.vue index 112aa13..3a56b6e 100644 --- a/packageB/priority/recordsManagement.vue +++ b/packageB/priority/recordsManagement.vue @@ -8,10 +8,21 @@ - 帮扶任务总数 + 帮扶记录总数 - {{ stats.taskCount }} + {{ stats.totalRecords }} + + + + + + + + 进行中记录 + + + {{ stats.pendingRecords }} @@ -19,21 +30,21 @@ - 待分配任务 + 未帮扶记录 - {{ stats.pendingCount }} + {{ stats.totalRecords - stats.pendingRecords }} - + - 已分配任务 + 帮扶率 - {{ stats.allocatedCount }} + {{ stats.assistRate }} @@ -49,42 +60,36 @@ - - 任务名称: - + 人员姓名: + - - 任务类型: - + 身份证号: + - - 优先级: - + 帮扶类型: + - - 创建时间: + 帮扶人员: + + + + 所属区域: + + + + 帮扶时间: - - - 分配状态: - - - - - 执行区域: - - - 帮扶任务列表 + 帮扶记录列表 @@ -93,84 +98,112 @@ - - - {{item.taskName}} - - - 优先级:{{item.priority}} - - - 目标人数: + 人员姓名: - {{item.taskAllocation.goalPersonCount}} + {{item.name}} - 任务类型: + 身份证号: - {{item.taskType}} + {{item.id_card}} - 分配状态: + 联系电话: - {{item.taskAllocation.allocationStatus}} + {{item.phone}} - 执行区域: + 居住地址: - {{item.taskAllocation.executeDeptName}} + {{item.address}} - 创建时间: + 帮扶类型: - {{item.createTime}} + {{item.task_type}} - 截止时间: + 帮扶人员: - {{item.taskAllocation.deadline}} + {{item.create_by_name}} + + + + + + + 帮扶单位: + + + + {{item.create_by_dept_name}} + + + + + + + 帮扶日期: + + + + {{item.follow_date}} + + + + + + + 下次联系: + + + + {{item.next_contact_date}} - - - + + + + + + @@ -190,17 +223,16 @@ import config from "@/config.js" const title = ref(''); const stats=ref({}) const formData = reactive({ - taskName: '', - taskType: '', - priority: '', - createTimeStart: null, - createTimeEnd: null, - allocationStatus: '', - executeDeptId: '', - pageNum: 1, - pageSize: 10 + name: '', + idCard: '', + taskType: '', + createByName: '', + deptTags: '', + followDateStart: null, + followDateEnd: null, + pageNum: 1, + pageSize: 10 }) -const taskName=ref('') const filterTimeRange=ref([]) const totalNum=ref(0) const dataList=ref([]) @@ -240,8 +272,13 @@ function statisticTask(){ 'Content-Type': "application/x-www-form-urlencoded" } let params={} - $api.myRequest('/dispatch/assist/task/allocation/statisticTask',params,'get',9100,header).then((resData) => { + $api.myRequest('/dispatch/assist/records/statisticRecords',params,'get',9100,header).then((resData) => { stats.value=resData.data + if (stats.value.totalRecords > 0 && stats.value.pendingRecords > 0) { + stats.value.assistRate = ((stats.value.pendingRecords / stats.value.totalRecords) * 100).toFixed(2); + } else { + stats.value.assistRate = 0; + } }); } function getDictionary(){ @@ -303,6 +340,7 @@ function onExecuteDeptChange(e){ formData.executeDeptId=e } function handleSearch(){ + formData.pageSize=1 dataList.value=[] getDataList() } @@ -311,11 +349,9 @@ function getDataList(){ 'Authorization':uni.getStorageSync('Padmin-Token'), 'Content-Type': "application/x-www-form-urlencoded" } - $api.myRequest('/dispatch/assist/task/pageAllocateDeptTaskList',formData,'get',9100,header).then((resData) => { + $api.myRequest('/dispatch/assist/records/pageRecords',formData,'get',9100,header).then((resData) => { resData.rows.forEach(item=>{ - item.priority=getabelByValue(item.priority,priorityOptions) - item.taskType=getabelByValue(item.taskType,taskTypeOptions) - item.taskAllocation.allocationStatus=getabelByValue(item.taskAllocation.allocationStatus,allocationStatusOptions) + item.task_type=getabelByValue(item.task_type,taskTypeOptions) }) totalNum.value=resData.total dataList.value=dataList.value.concat(resData.rows) @@ -324,26 +360,29 @@ function getDataList(){ } const handleReset = () => { dataList.value=[] - formData.taskName='' + formData.name='' + formData.idCard='' formData.taskType='' - formData.priority='' - formData.createTimeStart=null - formData.createTimeEnd=null - formData.allocationStatus='' - formData.executeDeptId='' + formData.createByName='' + formData.deptTags=null + formData.followDateStart=null + formData.followDateEnd='' formData.pageNum=1 formData.pageSize=10 filterTimeRange.value=[] getDataList() } -const creatTask = () => { - navTo('/packageB/priority/taskCreated'); +function goDetail(item){ + navTo('/packageB/priority/recordDetail?id='+item.goal_person_id); +} +function goFollow(item){ + navTo('/packageB/priority/recordFollow?name='+item.name+'&taskType='+item.task_type+'&taskId='+item.task_id+'&personId='+item.person_id+'&goalPersonId='+item.goal_person_id); } function goRecommend(item){ navTo('/packageB/priority/allocate?item='+JSON.stringify(item)+'&url=taskIssue'); } -function goDetail(item){ - navTo('/packageB/priority/taskDetail?item='+JSON.stringify(item)); +function goJobWill(item){ + navTo('/packageB/priority/jobWill?id='+item.person_id+'&goalPersonId='+item.goal_person_id); } function goTarget(item){ navTo('/packageB/priority/targetPersonnel?id='+item.taskAllocation.id+'&taskName='+item.taskName); @@ -355,10 +394,6 @@ function scrollBottom(){ } } onShow(()=>{ - formData.pageNum=1 - dataList.value=[] - getDataList() - console.log("111") }) onLoad((options) => { listNotParam() @@ -532,23 +567,61 @@ image text-overflow: ellipsis white-space: nowrap .form-btns - margin-top:30rpx -.form-box-btn - border-radius: 50rpx !important - margin-right: 24rpx - padding: 0rpx 40rpx -.detail-btn - background: #EDF5FF - border: 1px solid #3088FF - font-size: 28rpx - color: #3088FF -.follow-btn - background: #EEF9F3 - border: 1px solid #00933E - font-size: 28rpx - color: #00933E -.recommend-btn - background: linear-gradient(92deg, #0DCCFF 0%, #4760FF 100%) - font-size: 28rpx - color: #FFFFFF + margin-top: 30rpx + display: flex + flex-wrap: wrap // 允许换行 + justify-content: space-between // 两端对齐,中间留空 + // 如果希望最后一行也撑开,可以使用 space-evenly,但 space-between 配合固定宽度更整齐 + +.action-btn + border-radius: 12rpx !important // 稍微方一点的圆角,显得更稳重 + font-size: 24rpx !important + font-weight: 500 + padding: 16rpx 0 !important // 上下内边距 + margin-bottom: 20rpx // 行间距 + display: flex + align-items: center + justify-content: center + // 计算宽度:3个一行,减去间隙。假设总宽100%,gap由justify-content处理 + // 这里设定一个固定比例宽度,确保一行能放下3个 + width: 32% + height: 72rpx // 固定高度保证整齐 + line-height: 1.2 + border-width: 1rpx + border-style: solid + +/* --- 样式变体 --- */ + +// 1. 详情 (主操作 - 蓝色实心) +.btn-primary + background-color: #3088FF !important + color: #FFFFFF !important + border-color: #3088FF !important + box-shadow: 0 4rpx 12rpx rgba(48, 136, 255, 0.3) + +// 2. 跟进 (次主操作 - 绿色实心) +.btn-success + background-color: #00933E !important + color: #FFFFFF !important + border-color: #00933E !important + box-shadow: 0 4rpx 12rpx rgba(0, 147, 62, 0.3) + +// 3. 智能推荐 (特色操作 - 渐变) +.btn-gradient + background: linear-gradient(92deg, #0DCCFF 0%, #4760FF 100%) !important + color: #FFFFFF !important + border: none !important + box-shadow: 0 4rpx 12rpx rgba(71, 96, 255, 0.4) + +// 4. 求职/培训意愿 (辅助操作 - 浅蓝底深蓝字) +.btn-info + background-color: #EDF5FF !important + color: #3088FF !important + border-color: #CBDFFF !important + +// 5. 退回 (特殊操作 - 橙色/警告色) +.btn-warning + background-color: #FFF7E6 !important + color: #FA8C16 !important + border-color: #FFD591 !important diff --git a/pages.json b/pages.json index 19f99ec..a95276e 100644 --- a/pages.json +++ b/pages.json @@ -481,6 +481,30 @@ "navigationBarTitleText": "帮扶记录管理" } }, + { + "path": "priority/recordDetail", + "style": { + "navigationBarTitleText": "帮扶记录详情" + } + }, + { + "path": "priority/recordFollow", + "style": { + "navigationBarTitleText": "帮扶记录跟进" + } + }, + { + "path": "priority/jobWill", + "style": { + "navigationBarTitleText": "求职意愿列表" + } + }, + { + "path": "priority/jobWillEdit", + "style": { + "navigationBarTitleText": "编辑求职意愿" + } + }, { "path": "priority/allocate", "style": {