班组质量管理

This commit is contained in:
cool 2024-03-18 13:53:48 +08:00
parent 42c68d903c
commit f0c0963e32
3 changed files with 144 additions and 1648 deletions

File diff suppressed because it is too large Load Diff

View File

@ -45,3 +45,12 @@ export function getQualityItemDetail(data) {
})
}
// 获取班组列表
export function getQualityTeamList(data) {
return request({
url: '/system/sys/select/getTeamLists',
method: 'get',
params: data
})
}

View File

@ -61,7 +61,7 @@
<el-table-column label="评价人" align="center" prop="evaluator" />
<el-table-column label="评价星级" align="center" prop="score">
<template slot-scope="{ row }">
<el-rate :value="row.score" disabled />
<el-rate :value="row.score" disabled :max="5" />
</template>
</el-table-column>
<el-table-column label="评价内容" align="center" prop="content" />
@ -89,16 +89,18 @@
label-position="right"
label-width="120px"
>
<el-form-item label="班组名称:" prop="teamName">
<el-input v-model="temp.teamName" placeholder="班组名称" :maxlength="50" />
<el-form-item label="班组:" prop="teamId">
<el-select v-model="temp.teamId" placeholder="班组" style="width: 100%" @change="handleChooseTeam">
<el-option v-for="item in teamList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>
<el-form-item label="班组长:" prop="teamLeader">
<el-input v-model="temp.teamLeader" placeholder="班组长" :maxlength="50" />
<el-input v-model="temp.teamLeader" placeholder="班组长" :maxlength="50" disabled />
</el-form-item>
<el-form-item label="班组长手机号:" prop="teamLeaderPhone">
<el-input v-model="temp.teamLeaderPhone" placeholder="班组长手机号" :maxlength="50" />
<el-input v-model="temp.teamLeaderPhone" placeholder="班组长手机号" :maxlength="50" disabled />
</el-form-item>
<el-form-item label="评价星级:" prop="score">
<el-form-item label="评价星级:" prop="score" :max="5">
<!-- <el-input v-model="temp.score" placeholder="评价星级" :maxlength="50" />-->
<el-rate v-model="temp.score" />
</el-form-item>
@ -125,17 +127,18 @@ import {
addQualityItem,
deleteQualityItem,
getQualityItemDetail,
getQualityList,
getQualityList, getQualityTeamList,
updateQualityItem
} from '@/api/basic/quality'
const defaultTmp = {
teamId: '',
teamName: '',
teamLeader: '',
teamLeaderPhone: '',
evalTime: '',
evaluator: '',
score: '',
score: 0,
content: ''
}
export default {
@ -145,6 +148,7 @@ export default {
return {
tableKey: 0,
list: [],
teamList: [],
total: 0,
listLoading: false,
listQuery: {
@ -166,22 +170,41 @@ export default {
},
dialogPvVisible: false,
rules: {
teamId: [{ required: true, message: '不能为空', trigger: 'change' }],
teamName: [{ required: true, message: '不能为空', trigger: 'blur' }],
teamLeader: [{ required: true, message: '不能为空', trigger: 'blur' }],
teamLeaderPhone: [{ required: true, message: '不能为空', trigger: 'blur' }],
score: [{ required: true, message: '不能为空', trigger: 'blur' }],
score: [{ required: true, message: '不能为空', trigger: 'change' }],
content: [{ required: true, message: '不能为空', trigger: 'blur' }]
}
}
},
created() {
this.getList()
this.getTeamList()
},
methods: {
//
getTeamList() {
getQualityTeamList().then(res => {
this.teamList = res.data
})
},
handleChooseTeam(val) {
const currentTeam = this.teamList.find(item => item.id === val)
this.temp.teamName = currentTeam.name
this.temp.teamLeader = currentTeam.teamLeader
this.temp.teamLeaderPhone = currentTeam.teamLeaderPhone
},
getList() {
this.listLoading = true
getQualityList(this.listQuery).then((response) => {
this.list = response.rows
this.list = response.rows.map(item => {
const { score } = item
item.score = Number(score)
if (item.score > 5) item.score = 5
return item
})
this.total = response.total
}).finally(() => {
this.listLoading = false
@ -217,7 +240,11 @@ export default {
//
handleUpdate(row) {
getQualityItemDetail({ evalId: row.evalId }).then((res) => {
const { score } = res.data
this.temp = Object.assign({}, res.data)
this.temp.score = Number(score)
if (this.temp.score > 5) this.temp.score = 5
this.temp.teamId = row.teamId
})
this.dialogStatus = 'update'
this.dialogFormVisible = true