Browse Source

2023-12-08 设备和质量修改2

java8
fengyuan_yang 2 years ago
parent
commit
46afbde808
  1. 29
      src/views/modules/eam/eamWorkOrderForCheck.vue
  2. 126
      src/views/modules/eam/eamWorkOrderForDefect.vue
  3. 27
      src/views/modules/eam/eamWorkOrderForMaintenance.vue
  4. 36
      src/views/modules/reportWorkOrder/reportDefectOrder.vue

29
src/views/modules/eam/eamWorkOrderForCheck.vue

@ -160,8 +160,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="'工作时长(m)'"> <el-form-item :label="'工作时长(m)'">
<el-input class="numInput" v-if="saveData.status === '待审核'" v-model="saveData.workTime" type="number" :min="0" style="width: 120px"></el-input>
<el-input class="numInput" v-if="saveData.status === '已完工'" v-model="saveData.workTime" type="number" :min="0" disabled style="width: 120px"></el-input>
<el-input class="numInput" v-if="saveData.status === '待审核'" v-model="saveData.workTime" type="number" @input="handleInput(saveData.workTime,1)" style="width: 120px"></el-input>
<el-input class="numInput" v-if="saveData.status === '已完工'" v-model="saveData.workTime" type="number" disabled style="width: 120px"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="' '"> <el-form-item :label="' '">
<el-button v-if="saveData.status === '已完工'" type="primary" @click="checkModal()">取消审核</el-button> <el-button v-if="saveData.status === '已完工'" type="primary" @click="checkModal()">取消审核</el-button>
@ -872,6 +872,18 @@
}, },
methods: { methods: {
// ======= =======
handleInput (value, type) {
// 04
let val = value.replace(/^\D*([0-9]\d*\.?\d{0,4})?.*$/,'$1')
if (val === null || val === undefined || val === '') {
val = 0
}
if (type === 1) {
this.saveData.workTime = val
}
},
// //
controlRowStyle({row, rowIndex}) { controlRowStyle({row, rowIndex}) {
// //
@ -1285,18 +1297,14 @@
}) })
}, },
updateWorkOrder(){
updateWorkOrder () {
let tempFlag = 'N' let tempFlag = 'N'
if (this.saveData.checkResult === '' || this.saveData.checkResult == null) { if (this.saveData.checkResult === '' || this.saveData.checkResult == null) {
this.$message.warning('请选择点检结论!') this.$message.warning('请选择点检结论!')
return return
} }
if(this.saveData.workTime === 0){
this.$message.warning('工作时长不能为0!')
return
}
if(this.saveData.workTime < 0){
this.$message.warning('工作时长不能小于0!')
if(this.saveData.workTime <= 0){
this.$message.warning('工作时长不能 <= 0!')
return return
} }
for (let i = 0; i < this.detailList.length; i++) { for (let i = 0; i < this.detailList.length; i++) {
@ -1330,8 +1338,7 @@
message: '操作成功', message: '操作成功',
type: 'success', type: 'success',
duration: 1500, duration: 1500,
onClose: () => {
}
onClose: () => {}
}) })
} else { } else {
this.$alert(data.msg, '错误', { this.$alert(data.msg, '错误', {

126
src/views/modules/eam/eamWorkOrderForDefect.vue

@ -183,96 +183,86 @@
</el-footer> </el-footer>
</el-dialog> </el-dialog>
<el-dialog title="执行结果" :close-on-click-modal="false" v-drag :visible.sync="detailModelFlag" width="540px">
<el-dialog title="执行结果" :close-on-click-modal="false" v-drag :visible.sync="detailModelFlag" width="960px">
<el-form :inline="true" label-position="top"> <el-form :inline="true" label-position="top">
<el-form-item label="故障编码:">
<el-input v-model="detailData.defectID" disabled style="width: 120px"></el-input>
<el-form-item :label="'设备编码'">
<el-input v-model="detailData.objectID" disabled style="width: 221px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="故障名称:">
<el-input v-model="detailData.defectDesc" disabled style="width: 255px"></el-input>
<el-form-item :label="'设备名称'">
<el-input v-model="detailData.objectDesc" disabled style="width: 221px"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="' '">
<el-button v-if="detailData.status === '已完工'" type="primary" @click="checkModal()">取消审核</el-button>
<el-button v-if="detailData.status === '待审核'" type="primary" @click="checkModal()">审核</el-button>
<el-form-item :label="'机台'">
<el-input v-model="detailData.resourceDesc" disabled style="width: 221px"></el-input>
</el-form-item>
<el-form-item :label="'反馈描述'">
<el-input v-model="detailData.feedBackDesc" disabled style="width: 221px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top"> <el-form :inline="true" label-position="top">
<el-form-item :label="'工作时长(m)'">
<el-input v-model="detailData.workTime" type="number" readonly :min="0" style="width: 70px"></el-input>
<el-form-item label="故障编码">
<el-input v-model="detailData.defectID" disabled style="width: 221px"></el-input>
</el-form-item>
<el-form-item label="故障名称">
<el-input v-model="detailData.defectDesc" disabled style="width: 221px"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="'维修结果'"> <el-form-item :label="'维修结果'">
<el-input v-model="detailData.result" readonly style="width: 120px"></el-input>
<el-input v-model="detailData.result" disabled style="width: 221px"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="'处置措施'"> <el-form-item :label="'处置措施'">
<el-input v-model="detailData.disposalMeasures" readonly style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="checkFaultImageModal()">故障图片</el-button>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="checkSparPartImageModal()">备件图片</el-button>
<el-input v-model="detailData.disposalMeasures" disabled style="width: 221px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top"> <el-form :inline="true" label-position="top">
<el-form-item :label="'反馈描述'">
<el-input v-model="detailData.feedBackDesc" readonly style="width: 505px"></el-input>
<el-form-item :label="'计划执行日期'">
<el-date-picker style="width: 221px" v-model="detailData.planDate" type="datetime" disabled value-format='yyyy-MM-dd' format='yyyy-MM-dd'></el-date-picker>
</el-form-item> </el-form-item>
</el-form>
<el-form :inline="true" label-position="top">
<el-form-item :label="'设备编码'">
<el-input v-model="detailData.objectID" readonly style="width: 159px"></el-input>
<el-form-item :label="'到达时间'">
<el-date-picker style="width: 221px" v-model="detailData.reachDate" type="datetime" value-format='yyyy-MM-dd HH:mm:ss' format='yyyy-MM-dd HH:mm:ss'></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item :label="'设备名称'">
<el-input v-model="detailData.objectDesc" readonly style="width: 159px"></el-input>
<el-form-item :label="'实际执行时间'">
<el-date-picker style="width: 221px" v-model="detailData.actualDate" type="datetime" value-format='yyyy-MM-dd HH:mm:ss' format='yyyy-MM-dd HH:mm:ss'></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item :label="'机台'">
<el-input v-model="detailData.resourceDesc" readonly style="width: 159px"></el-input>
<el-form-item :label="'工作时长(m)'">
<el-input v-model="detailData.workTime" type="number" disabled :min="0" style="width: 221px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top"> <el-form :inline="true" label-position="top">
<el-form-item :label="'计划执行日期'">
<el-date-picker style="width: 159px" v-model="detailData.planDate" type="datetime" readonly value-format='yyyy-MM-dd' format='yyyy-MM-dd'></el-date-picker>
<el-form-item label="执行人员">
<el-input v-model="detailData.actualOperatorName" disabled style="width: 673px"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="'到达时间'">
<el-date-picker style="width: 159px" v-model="detailData.reachDate" type="datetime" value-format='yyyy-MM-dd HH:mm:ss' format='yyyy-MM-dd HH:mm:ss'></el-date-picker>
<el-form-item :label="' '">
<el-button v-if="detailData.status === '已完工'" type="primary" @click="checkModal()">取消审核</el-button>
<el-button v-if="detailData.status === '待审核'" type="primary" @click="checkModal()">审核</el-button>
</el-form-item> </el-form-item>
<el-form-item :label="'实际执行时间'">
<el-date-picker style="width: 159px" v-model="detailData.actualDate" type="datetime" value-format='yyyy-MM-dd HH:mm:ss' format='yyyy-MM-dd HH:mm:ss'></el-date-picker>
<el-form-item :label="' '">
<el-button type="primary" @click="checkFaultImageModal()">故障图片</el-button>
</el-form-item> </el-form-item>
</el-form>
<el-form :inline="true" label-position="top">
<el-form-item label="执行人员:">
<el-input v-model="detailData.actualOperatorName" readonly style="width: 505px"></el-input>
<el-form-item :label="' '">
<el-button type="primary" @click="checkSparPartImageModal()">备件图片</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top"> <el-form :inline="true" label-position="top">
<el-form-item :label="'故障原因'">
<el-input v-if="detailData.status === '已完工'" readonly type="textarea" v-model="detailData.faultReason" :rows="3" resize='none' show-word-limit style="width: 456px"></el-input>
<el-input v-if="detailData.status === '待审核'" type="textarea" v-model="detailData.faultReason" :rows="3" resize='none' show-word-limit style="width: 456px"></el-input>
</el-form-item>
<el-form-item :label="'处理方式'"> <el-form-item :label="'处理方式'">
<el-input
type="textarea"
v-model="detailData.handlingMethod"
:rows="5"
resize='none'
maxlength="300"
show-word-limit
style="width: 505px">
</el-input>
<el-input v-if="detailData.status === '已完工'" readonly type="textarea" v-model="detailData.handlingMethod" :rows="3" resize='none' show-word-limit style="width: 456px"></el-input>
<el-input v-if="detailData.status === '待审核'" type="textarea" v-model="detailData.handlingMethod" :rows="3" resize='none' show-word-limit style="width: 456px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" style="margin-top: 95px">
<el-form :inline="true" label-position="top" style="margin-top: 45px">
<el-form-item :label="'预防措施'">
<el-input v-if="detailData.status === '已完工'" readonly type="textarea" v-model="detailData.preventiveMeasure" :rows="3" resize='none' show-word-limit style="width: 456px"></el-input>
<el-input v-if="detailData.status === '待审核'" type="textarea" v-model="detailData.preventiveMeasure" :rows="3" resize='none' show-word-limit style="width: 456px"></el-input>
</el-form-item>
<el-form-item :label="'执行结果备注'"> <el-form-item :label="'执行结果备注'">
<el-input
type="textarea"
v-model="detailData.remark"
:rows="5"
resize='none'
maxlength="300"
show-word-limit
style="width: 505px">
</el-input>
<el-input v-if="detailData.status === '已完工'" readonly type="textarea" v-model="detailData.remark" :rows="3" resize='none' show-word-limit style="width: 456px"></el-input>
<el-input v-if="detailData.status === '待审核'" type="textarea" v-model="detailData.remark" :rows="3" resize='none' show-word-limit style="width: 456px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-footer style="height:40px;margin-top: 90px;text-align:center">
<el-button type="primary" @click="updateResult()">保存</el-button>
<el-footer style="height:40px;margin-top: 65px;text-align:center">
<el-button style="margin-left: -12px" type="primary" @click="updateResult()">保存</el-button>
<el-button type="primary" @click="detailModelFlag = false">关闭</el-button> <el-button type="primary" @click="detailModelFlag = false">关闭</el-button>
</el-footer> </el-footer>
</el-dialog> </el-dialog>
@ -376,12 +366,12 @@
this.modalData.groupID = this.modalData.groupID.toUpperCase() this.modalData.groupID = this.modalData.groupID.toUpperCase()
} }
}, },
detailData: {
deep: true,
handler: function (newV, oldV) {
this.detailData.workTime = Math.ceil(Math.floor(this.dayjs(this.detailData.actualDate).diff(this.detailData.reachDate, 'seconds') / 30) / 2)
}
}
// detailData: {
// deep: true,
// handler: function (newV, oldV) {
// this.detailData.workTime = Math.ceil(Math.floor(this.dayjs(this.detailData.actualDate).diff(this.detailData.reachDate, 'seconds') / 30) / 2)
// }
// }
}, },
data () { data () {
return { return {
@ -1224,7 +1214,9 @@
handlingMethod: row.handlingMethod, handlingMethod: row.handlingMethod,
functionType: row.functionType, functionType: row.functionType,
resourceDesc: row.resourceDesc, resourceDesc: row.resourceDesc,
feedBackDesc: row.feedBackDesc
feedBackDesc: row.feedBackDesc,
faultReason: row.faultReason,
preventiveMeasure: row.preventiveMeasure
} }
this.detailModelFlag = true this.detailModelFlag = true
}, },
@ -1243,7 +1235,7 @@
return return
} }
if (this.detailData.reachDate > this.detailData.actualDate) { if (this.detailData.reachDate > this.detailData.actualDate) {
this.$message.warning('到达时间不能于实际执行时间!')
this.$message.warning('到达时间不能于实际执行时间!')
return return
} }
updateReportResult(this.detailData).then(({data}) => { updateReportResult(this.detailData).then(({data}) => {

27
src/views/modules/eam/eamWorkOrderForMaintenance.vue

@ -163,8 +163,7 @@
<el-date-picker style="width: 221px" v-model="saveData.actualDate" type="datetime" value-format='yyyy-MM-dd HH:mm:ss' format='yyyy-MM-dd HH:mm:ss'></el-date-picker> <el-date-picker style="width: 221px" v-model="saveData.actualDate" type="datetime" value-format='yyyy-MM-dd HH:mm:ss' format='yyyy-MM-dd HH:mm:ss'></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item :label="'工作时长(m)'"> <el-form-item :label="'工作时长(m)'">
<el-input v-if="saveData.status === '已完工'" v-model="saveData.workTime" type="number" :min="0" disabled style="width: 120px"></el-input>
<el-input v-if="saveData.status === '待审核'" v-model="saveData.workTime" type="number" :min="0" readonly style="width: 120px"></el-input>
<el-input v-model="saveData.workTime" type="number" :min="0" disabled style="width: 120px"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="'维保结论'"> <el-form-item :label="'维保结论'">
<el-select v-if="saveData.status === '待审核'" v-model="saveData.checkResult" style="width: 120px"> <el-select v-if="saveData.status === '待审核'" v-model="saveData.checkResult" style="width: 120px">
@ -199,7 +198,7 @@
</el-form> </el-form>
<el-form :inline="true" label-position="top"> <el-form :inline="true" label-position="top">
<el-form-item :label="'执行结果备注'"> <el-form-item :label="'执行结果备注'">
<el-input type="textarea" v-if="saveData.status === '已完工'" v-model="saveData.remark" disabled :rows="3" resize='none' show-word-limit style="width: 1177px;height: 20px"></el-input>
<el-input type="textarea" v-if="saveData.status === '已完工'" v-model="saveData.remark" readonly :rows="3" resize='none' show-word-limit style="width: 1177px;height: 20px"></el-input>
<el-input type="textarea" v-if="saveData.status === '待审核'" v-model="saveData.remark" :rows="3" resize='none' show-word-limit style="width: 1177px;height: 20px"></el-input> <el-input type="textarea" v-if="saveData.status === '待审核'" v-model="saveData.remark" :rows="3" resize='none' show-word-limit style="width: 1177px;height: 20px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -404,12 +403,12 @@
this.modalData.groupID = this.modalData.groupID.toUpperCase() this.modalData.groupID = this.modalData.groupID.toUpperCase()
} }
}, },
saveData: {
deep: true,
handler: function (newV, oldV) {
this.saveData.workTime = Math.ceil(Math.floor(this.dayjs(this.saveData.actualDate).diff(this.saveData.reachDate, 'seconds') / 30) / 2)
}
}
// saveData: {
// deep: true,
// handler: function (newV, oldV) {
// this.saveData.workTime = Math.ceil(Math.floor(this.dayjs(this.saveData.actualDate).diff(this.saveData.reachDate, 'seconds') / 30) / 2)
// }
// }
}, },
data () { data () {
return { return {
@ -1431,18 +1430,14 @@
this.operatorModelFlag = false this.operatorModelFlag = false
}, },
updateWorkOrder (){
updateWorkOrder () {
let tempFlag = 'N' let tempFlag = 'N'
if (this.saveData.checkResult === '' || this.saveData.checkResult == null) { if (this.saveData.checkResult === '' || this.saveData.checkResult == null) {
this.$message.warning('请选择维保结论!') this.$message.warning('请选择维保结论!')
return return
} }
if(this.saveData.workTime === 0){
this.$message.warning('工作时长不能为0!')
return
}
if(this.saveData.workTime < 0){
this.$message.warning('工作时长不能小于0!')
if (this.saveData.reachDate > this.saveData.actualDate) {
this.$message.warning('到达时间不能小于实际执行时间!')
return return
} }
if (this.saveData.checkResult === '不合格') { if (this.saveData.checkResult === '不合格') {

36
src/views/modules/reportWorkOrder/reportDefectOrder.vue

@ -171,46 +171,18 @@
</el-form> </el-form>
<el-form :inline="true" label-position="top"> <el-form :inline="true" label-position="top">
<el-form-item :label="'故障原因'"> <el-form-item :label="'故障原因'">
<el-input
type="textarea"
v-model="saveData.faultReason"
:rows="3"
resize='none'
show-word-limit
style="width: 560px">
</el-input>
<el-input type="textarea" v-model="saveData.faultReason" :rows="3" resize='none' show-word-limit style="width: 560px"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="'处理方式'"> <el-form-item :label="'处理方式'">
<el-input
type="textarea"
v-model="saveData.handlingMethod"
:rows="3"
resize='none'
show-word-limit
style="width: 560px">
</el-input>
<el-input type="textarea" v-model="saveData.handlingMethod" :rows="3" resize='none' show-word-limit style="width: 560px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" style="margin-top: 45px"> <el-form :inline="true" label-position="top" style="margin-top: 45px">
<el-form-item :label="'预防措施'"> <el-form-item :label="'预防措施'">
<el-input
type="textarea"
v-model="saveData.preventiveMeasure"
:rows="3"
resize='none'
show-word-limit
style="width: 560px">
</el-input>
<el-input type="textarea" v-model="saveData.preventiveMeasure" :rows="3" resize='none' show-word-limit style="width: 560px"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="'执行结果备注'"> <el-form-item :label="'执行结果备注'">
<el-input
type="textarea"
v-model="saveData.remark"
:rows="3"
resize='none'
show-word-limit
style="width: 560px">
</el-input>
<el-input type="textarea" v-model="saveData.remark" :rows="3" resize='none' show-word-limit style="width: 560px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>

Loading…
Cancel
Save