|
|
@ -48,11 +48,11 @@ |
|
|
<el-form-item :label="'状态'"> |
|
|
<el-form-item :label="'状态'"> |
|
|
<el-select filterable v-model="searchData.status" clearable style="width: 100px"> |
|
|
<el-select filterable v-model="searchData.status" clearable style="width: 100px"> |
|
|
<el-option label="已录入" value="已录入"></el-option> |
|
|
<el-option label="已录入" value="已录入"></el-option> |
|
|
|
|
|
<el-option label="事项跟踪" value="事项跟踪"></el-option> |
|
|
<el-option label="已下达" value="已下达"></el-option> |
|
|
<el-option label="已下达" value="已下达"></el-option> |
|
|
<el-option label="维修确认" value="维修确认"></el-option> |
|
|
<el-option label="维修确认" value="维修确认"></el-option> |
|
|
<el-option label="维修完成" value="维修完成"></el-option> |
|
|
<el-option label="维修完成" value="维修完成"></el-option> |
|
|
<el-option label="维修失败" value="维修失败"></el-option> |
|
|
<el-option label="维修失败" value="维修失败"></el-option> |
|
|
<el-option label="事项跟踪" value="事项跟踪"></el-option> |
|
|
|
|
|
<el-option label="已取消" value="已取消"></el-option> |
|
|
<el-option label="已取消" value="已取消"></el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
@ -146,8 +146,8 @@ |
|
|
width="130" |
|
|
width="130" |
|
|
label="操作"> |
|
|
label="操作"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<el-link style="cursor: pointer" v-if="scope.row.status === '已录入' && !authCancel" @click="cancelFeedBack(scope.row)">取消反馈</el-link> |
|
|
|
|
|
<el-link style="cursor: pointer" v-if="scope.row.status === '已录入' && !authRelease" @click="createDefectOrderModel(scope.row)">下达</el-link> |
|
|
|
|
|
|
|
|
<el-link style="cursor: pointer" v-if="(scope.row.status === '已录入'||scope.row.status === '事项跟踪') && !authCancel" @click="cancelFeedBack(scope.row)">取消反馈</el-link> |
|
|
|
|
|
<el-link style="cursor: pointer" v-if="(scope.row.status === '已录入'||scope.row.status === '事项跟踪') && !authRelease" @click="createDefectOrderModel1(scope.row)">下达</el-link> |
|
|
<el-link style="cursor: pointer" v-if="scope.row.repairReportingType === 'TPM红牌'" @click="searchFeedMatterRecord(scope.row)">事项</el-link> |
|
|
<el-link style="cursor: pointer" v-if="scope.row.repairReportingType === 'TPM红牌'" @click="searchFeedMatterRecord(scope.row)">事项</el-link> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
@ -163,6 +163,20 @@ |
|
|
layout="total, sizes, prev, pager, next, jumper"> |
|
|
layout="total, sizes, prev, pager, next, jumper"> |
|
|
</el-pagination> |
|
|
</el-pagination> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 下达按钮弹框--> |
|
|
|
|
|
<el-dialog title="下达" :close-on-click-modal="false" v-drag :visible.sync="chooseReachModelFlag" width="410px"> |
|
|
|
|
|
<el-form :inline="true" label-position="top"> |
|
|
|
|
|
<el-form-item > |
|
|
|
|
|
<span slot="label" @click="getOperatorList()"><a>选择计划执行人员</a></span> |
|
|
|
|
|
<el-input v-model="this.xdplanOperatorName" style="width: 389px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
|
|
|
|
|
<el-button type="primary" @click="reach()">保存</el-button> |
|
|
|
|
|
<el-button type="primary" @click="chooseReachModelFlag = false">关闭</el-button> |
|
|
|
|
|
</el-footer> |
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
<!-- 下达 --> |
|
|
<!-- 下达 --> |
|
|
<el-dialog title="下达维修工单" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="570px"> |
|
|
<el-dialog title="下达维修工单" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="570px"> |
|
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|
|
@ -461,6 +475,7 @@ |
|
|
deleteFeedMatter, // 删除维修事项 |
|
|
deleteFeedMatter, // 删除维修事项 |
|
|
getUserRoleList, // 获取用户角色列表 |
|
|
getUserRoleList, // 获取用户角色列表 |
|
|
getOperatorListByOrder, // 获取用户列表 |
|
|
getOperatorListByOrder, // 获取用户列表 |
|
|
|
|
|
updateEamDefectFeedBackPlanOperator, // 更新计划执行人员 |
|
|
} from "@/api/eam/eam.js" |
|
|
} from "@/api/eam/eam.js" |
|
|
import { |
|
|
import { |
|
|
getTableDefaultListLanguage, |
|
|
getTableDefaultListLanguage, |
|
|
@ -489,6 +504,10 @@ |
|
|
return { |
|
|
return { |
|
|
uploadDialog: false, |
|
|
uploadDialog: false, |
|
|
repairReportingTypeFlag:true, |
|
|
repairReportingTypeFlag:true, |
|
|
|
|
|
chooseReachModelFlag: false, |
|
|
|
|
|
xdrowData:{}, |
|
|
|
|
|
xdplanOperator:'', |
|
|
|
|
|
xdplanOperatorName:'', |
|
|
uploadData: { |
|
|
uploadData: { |
|
|
folder: '', |
|
|
folder: '', |
|
|
title: '', |
|
|
title: '', |
|
|
@ -1218,9 +1237,26 @@ |
|
|
this.saveModalData.repairType = '设备维修组' |
|
|
this.saveModalData.repairType = '设备维修组' |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
reach () { |
|
|
|
|
|
console.log('1') |
|
|
|
|
|
if (this.xdplanOperatorName === '' || this.xdplanOperatorName == null) { |
|
|
|
|
|
this.$message.warning('请选择计划执行人员!') |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
console.log('2') |
|
|
|
|
|
let tempData = { |
|
|
|
|
|
...this.xdrowData, |
|
|
|
|
|
planOperator: this.xdplanOperator, |
|
|
|
|
|
planOperatorName: this.xdplanOperatorName |
|
|
|
|
|
} |
|
|
|
|
|
updateEamDefectFeedBackPlanOperator(tempData).then() |
|
|
|
|
|
this.chooseReachModelFlag = false |
|
|
|
|
|
this.createDefectOrderModel(this.xdrowData) |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
// 新增模态框 |
|
|
// 新增模态框 |
|
|
saveModal () { |
|
|
saveModal () { |
|
|
|
|
|
this.saveModalData.bu = '' |
|
|
// 获取反馈单号 |
|
|
// 获取反馈单号 |
|
|
getFeedBackId().then(({data}) => { |
|
|
getFeedBackId().then(({data}) => { |
|
|
if (data.code === 0) { |
|
|
if (data.code === 0) { |
|
|
@ -1394,29 +1430,50 @@ |
|
|
}).catch(() => { |
|
|
}).catch(() => { |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
createDefectOrderModel1(row){ |
|
|
|
|
|
this.xdplanOperator = row.planOperator |
|
|
|
|
|
this.xdplanOperatorName = row.planOperatorName |
|
|
|
|
|
this.chooseReachModelFlag=true |
|
|
|
|
|
this.xdrowData = row |
|
|
|
|
|
this.saveModalData.bu = row.site+'_'+row.buNo |
|
|
|
|
|
}, |
|
|
// 下达 |
|
|
// 下达 |
|
|
createDefectOrderModel (row) { |
|
|
createDefectOrderModel (row) { |
|
|
this.$confirm(`是否下达反馈单?`, '提示', { |
|
|
|
|
|
confirmButtonText: '确定', |
|
|
|
|
|
cancelButtonText: '取消', |
|
|
|
|
|
type: 'warning' |
|
|
|
|
|
}).then(() => { |
|
|
|
|
|
saveDefectOrder(row).then(({data}) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
this.getDataList() |
|
|
|
|
|
this.$message({ |
|
|
|
|
|
message: '操作成功', |
|
|
|
|
|
type: 'success', |
|
|
|
|
|
duration: 1500, |
|
|
|
|
|
onClose: () => {} |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
|
|
confirmButtonText: '确定' |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
// this.$confirm(`是否下达反馈单?`, '提示', { |
|
|
|
|
|
// confirmButtonText: '确定', |
|
|
|
|
|
// cancelButtonText: '取消', |
|
|
|
|
|
// type: 'warning' |
|
|
|
|
|
// }).then(() => { |
|
|
|
|
|
// saveDefectOrder(row).then(({data}) => { |
|
|
|
|
|
// if (data && data.code === 0) { |
|
|
|
|
|
// this.getDataList() |
|
|
|
|
|
// this.$message({ |
|
|
|
|
|
// message: '操作成功', |
|
|
|
|
|
// type: 'success', |
|
|
|
|
|
// duration: 1500, |
|
|
|
|
|
// onClose: () => {} |
|
|
|
|
|
// }) |
|
|
|
|
|
// } else { |
|
|
|
|
|
// this.$alert(data.msg, '错误', { |
|
|
|
|
|
// confirmButtonText: '确定' |
|
|
|
|
|
// }) |
|
|
|
|
|
// } |
|
|
|
|
|
// }) |
|
|
|
|
|
// }) |
|
|
|
|
|
saveDefectOrder(row).then(({data}) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
this.getDataList() |
|
|
|
|
|
this.$message({ |
|
|
|
|
|
message: '操作成功', |
|
|
|
|
|
type: 'success', |
|
|
|
|
|
duration: 1500, |
|
|
|
|
|
onClose: () => {} |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
|
|
confirmButtonText: '确定' |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
@ -1779,16 +1836,22 @@ |
|
|
|
|
|
|
|
|
// 选中人员 |
|
|
// 选中人员 |
|
|
operatorClick (row) { |
|
|
operatorClick (row) { |
|
|
// 找到operatorList中actualOrderCount最小值 |
|
|
|
|
|
const minActualOrderCount = Math.min(...this.operatorList.map(item => item.actualOrderCount)); |
|
|
|
|
|
if (row.actualOrderCount === minActualOrderCount) { |
|
|
|
|
|
// 只有actualOrderCount最小的行允许选择 |
|
|
|
|
|
this.saveModalData.planOperator = row.adminID; |
|
|
|
|
|
this.saveModalData.planOperatorName = row.adminName; |
|
|
|
|
|
|
|
|
if (this.chooseReachModelFlag){ |
|
|
|
|
|
this.xdplanOperator = row.adminID; |
|
|
|
|
|
this.xdplanOperatorName = row.adminName; |
|
|
this.operatorModelFlag = false; |
|
|
this.operatorModelFlag = false; |
|
|
} else { |
|
|
} else { |
|
|
// 不是最小,给提示或不做处理 |
|
|
|
|
|
this.$message.warning('只能选择实际维修工单数最小的人员!'); |
|
|
|
|
|
|
|
|
// 找到operatorList中actualOrderCount最小值 |
|
|
|
|
|
const minActualOrderCount = Math.min(...this.operatorList.map(item => item.actualOrderCount)); |
|
|
|
|
|
if (row.actualOrderCount === minActualOrderCount) { |
|
|
|
|
|
// 只有actualOrderCount最小的行允许选择 |
|
|
|
|
|
this.saveModalData.planOperator = row.adminID; |
|
|
|
|
|
this.saveModalData.planOperatorName = row.adminName; |
|
|
|
|
|
this.operatorModelFlag = false; |
|
|
|
|
|
} else { |
|
|
|
|
|
// 不是最小,给提示或不做处理 |
|
|
|
|
|
this.$message.warning('只能选择实际维修工单数最小的人员!'); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|