Browse Source

打勾功能是确认该工序已完成,同时背景置灰,不是给当前日期。日期一开始就会全部排好

master
han\hanst 2 weeks ago
parent
commit
d9443bb306
  1. 50
      src/views/modules/sampleTracking/projectProofTracking.vue

50
src/views/modules/sampleTracking/projectProofTracking.vue

@ -120,14 +120,14 @@
v-for="(item, processColumnIndex) in visibleProcessColumns"
:key="`${item.code}_${item.sortNo || ''}_${processColumnIndex}`"
:label="item.label"
width="120"
width="134"
align="center"
header-align="center"
>
<template slot-scope="scope">
<div
v-if="isProcessColumnVisibleForRow(scope.row, item)"
:class="['process-cell', isProcessComplete(scope.row, item) ? 'is-complete' : '']"
:class="['process-cell', isProcessStatusComplete(scope.row, item) ? 'is-complete' : '']"
>
<el-date-picker
v-if="batchEditMode"
@ -140,7 +140,7 @@
/>
<div
v-else
class="process-content"
:class="['process-content', isProcessStatusComplete(scope.row, item) ? 'is-complete' : '']"
@mouseenter="handleProcessTooltipMouseEnter(scope.row, item, $event)"
@mousemove="handleProcessTooltipMouseMove($event)"
@mouseleave="handleProcessTooltipMouseLeave"
@ -158,8 +158,8 @@
class="process-complete-btn"
type="success"
size="mini"
plain v-show="!isProcessComplete(scope.row, item)"
:disabled="isProcessComplete(scope.row, item)"
plain v-show="!isProcessStatusComplete(scope.row, item)"
:disabled="isProcessStatusComplete(scope.row, item)"
@click.stop="markProcessComplete(scope.row, item)"
></el-button>
</div>
@ -3001,22 +3001,25 @@ export default {
return
}
const actualDate = this.formatDate(dateVal)
// 退
const nextStatus = actualDate ? '已完成' : '未完成'
//
const currentStatus = row[processCol.statusField] ? String(row[processCol.statusField]).trim() : ''
const nextStatus = currentStatus || '未完成'
this.updateProcessFromTable(row, processCol, {
status: nextStatus,
actualDate: actualDate,
remark: actualDate ? '表格直接选择日期' : '表格清空实际完成日期'
remark: actualDate ? '表格直接修改实际完成日期(状态不变)' : '表格清空实际完成日期(状态不变)'
}, true)
},
markProcessComplete (row, processCol) {
if (!row || !processCol || this.isProcessComplete(row, processCol)) {
if (!row || !processCol || this.isProcessStatusComplete(row, processCol)) {
return
}
const today = this.formatDate(new Date())
//
const currentActualDate = this.formatDate(row[processCol.actualField])
const nextActualDate = currentActualDate || this.formatDate(new Date())
this.updateProcessFromTable(row, processCol, {
status: '已完成',
actualDate: today,
actualDate: nextActualDate,
remark: '表格一键完成'
}, false, '工序已标记为完成')
},
@ -3330,6 +3333,20 @@ export default {
}
return historyDateList.join('\n')
},
isProcessStatusComplete (row, processCol) {
if (!row || !processCol) {
return false
}
const statusVal = row[processCol.statusField]
const status = statusVal ? String(statusVal).trim() : ''
if (!status || status === '未完成' || status === '进行中') {
return false
}
if (status === '已完成' || status === '打样完成') {
return true
}
return status.indexOf('完成') > -1 && status.indexOf('未') === -1
},
isProcessComplete (row, processCol) {
if (!row || !processCol) {
return false
@ -3676,6 +3693,17 @@ export default {
background: #ececec;
}
.process-cell.is-complete .el-input__inner {
background: #ececec;
border-color: #d5d7de;
color: #8c8c8c;
}
.process-cell.is-complete .el-input.is-disabled .el-input__inner {
background: #ececec;
color: #8c8c8c;
}
.process-cell.is-complete .link-date {
color: #8c8c8c;
}

Loading…
Cancel
Save