This commit is contained in:
BianLzhaoMin 2026-01-24 14:07:19 +08:00
parent 8b6ed69382
commit 59998e2818
5 changed files with 129 additions and 17 deletions

View File

@ -71,3 +71,12 @@ export function deleteAnalysisReminderAPI(data) {
data,
})
}
// 获取班组人员列表
export function getTeamUserListAPI(data) {
return request({
url: '/background/sj/workTeam/userList',
method: 'get',
params: data,
})
}

View File

@ -224,11 +224,19 @@
</el-select>
</el-form-item>
<el-form-item label="提醒类型" prop="txType">
<el-input
<!-- <el-input
v-model="riskWarningForm.txType"
placeholder="请输入提醒类型"
clearable
/>
/> -->
<el-select
v-model="riskWarningForm.txType"
placeholder="请选择提醒类型"
style="width: 100%"
>
<el-option label="用水" value="用水" />
<el-option label="用电" value="用电" />
</el-select>
</el-form-item>
<el-form-item label="预警时间" prop="txTime">
<el-date-picker

View File

@ -542,11 +542,20 @@
/>
</el-form-item>
<el-form-item label="预警类型" prop="txType">
<el-input
<!-- <el-input
v-model.trim="alertForm.txType"
placeholder="请输入预警类型"
clearable
/>
/> -->
<el-select
v-model="alertForm.txType"
placeholder="请选择预警类型"
style="width: 100%"
>
<el-option label="进度" value="进度" />
<el-option label="成本" value="成本" />
<el-option label="风险" value="风险" />
</el-select>
</el-form-item>
<el-form-item label="分析提醒内容" prop="content">
<el-input

View File

@ -367,11 +367,20 @@
</el-select>
</el-form-item>
<el-form-item label="提醒类型" prop="txType">
<el-input
<!-- <el-input
clearable
placeholder="请输入提醒类型"
v-model.trim="reminderForm.txType"
/>
/> -->
<el-select
style="width: 100%"
placeholder="请选择提醒类型"
v-model="reminderForm.txType"
>
<el-option label="人员" value="人员" />
<el-option label="设备" value="设备" />
</el-select>
</el-form-item>
<el-form-item label="提醒时间" prop="txTime">
<el-date-picker

View File

@ -268,13 +268,7 @@
/>
</el-select>
</el-form-item>
<el-form-item label="姓名" prop="userName">
<el-input
v-model.trim="taskForm.userName"
placeholder="请输入姓名"
clearable
/>
</el-form-item>
<el-form-item label="所属班组" prop="teamId">
<el-select
v-model="taskForm.teamId"
@ -290,6 +284,23 @@
/>
</el-select>
</el-form-item>
<el-form-item label="姓名" prop="userId">
<el-select
v-model="taskForm.userId"
placeholder="请选择姓名"
style="width: 100%"
clearable
@change="handleUserChange"
>
<el-option
v-for="item in userList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="工作内容" prop="workContent">
<el-input
v-model.trim="taskForm.workContent"
@ -449,6 +460,7 @@ import {
addAnalysisReminderAPI,
editAnalysisReminderAPI,
deleteAnalysisReminderAPI,
getTeamUserListAPI,
} from '@/api/dataManage/workerEfficiency'
import {
getProjectSelectListAPI,
@ -476,9 +488,11 @@ export default {
taskEditId: null,
projectList: [],
teamList: [],
userList: [], //
taskForm: {
bidCode: '',
userName: '',
userId: '', // ID
userName: '', //
teamName: '',
teamId: '',
workContent: '',
@ -497,11 +511,11 @@ export default {
trigger: 'change',
},
],
userName: [
userId: [
{
required: true,
message: '请输入姓名',
trigger: 'blur',
message: '请选择姓名',
trigger: 'change',
},
],
teamId: [
@ -648,6 +662,7 @@ export default {
this.taskEditId = null
this.taskForm = {
bidCode: '',
userId: '',
userName: '',
teamId: '',
teamName: '',
@ -659,6 +674,7 @@ export default {
isYq: 0,
yaDay: 0,
}
this.userList = [] //
this.$nextTick(() => {
if (this.$refs.taskFormRef) {
this.$refs.taskFormRef.clearValidate()
@ -691,6 +707,7 @@ export default {
}
this.taskForm = {
bidCode: row.bidCode || '',
userId: row.userId || '',
userName: row.userName || '',
teamId: row.teamId || '',
teamName: row.teamName || '',
@ -706,6 +723,12 @@ export default {
if (this.teamList.length === 0) {
this.getTeamSelectList()
}
// ID
if (row.teamId) {
this.getTeamUserList(row.teamId)
} else {
this.userList = []
}
this.$nextTick(() => {
if (this.$refs.taskFormRef) {
this.$refs.taskFormRef.clearValidate()
@ -803,6 +826,16 @@ export default {
) {
params.taskStatus = String(params.taskStatus)
}
// userIduserName
// userNameuserList
if (params.userId && !params.userName) {
const selectedUser = this.userList.find(
(item) => item.id == params.userId,
)
if (selectedUser) {
params.userName = selectedUser.name || ''
}
}
if (this.taskEditId) {
params.id = this.taskEditId
}
@ -964,13 +997,57 @@ export default {
// change
handleTeamChange(value) {
//
this.taskForm.userId = ''
this.taskForm.userName = ''
const selectedTeam = this.teamList.find(
(item) => item.teamId == value,
)
if (selectedTeam) {
this.taskForm.teamName = selectedTeam.teamName || ''
//
if (value) {
this.getTeamUserList(value)
} else {
this.userList = []
}
} else {
this.taskForm.teamName = ''
this.userList = []
}
},
// change
handleUserChange(value) {
const selectedUser = this.userList.find((item) => item.id == value)
if (selectedUser) {
this.taskForm.userName = selectedUser.name || ''
} else {
this.taskForm.userName = ''
}
},
//
async getTeamUserList(teamId) {
if (!teamId) {
this.userList = []
return
}
try {
const res = await getTeamUserListAPI({
pageNum: 1,
pageSize: 9999,
teamId: teamId,
})
if (res.code === 200) {
this.userList = res.rows || res.data || []
} else {
this.userList = []
}
} catch (error) {
this.userList = []
console.error('获取人员列表失败', error)
}
},