|
|
|
@ -8,13 +8,13 @@ |
|
|
|
<el-option |
|
|
|
v-for="item in buList" |
|
|
|
:key="item.buNo" |
|
|
|
:label="(item.sitename || item.site || '') + '-' + (item.buDesc || item.buNo || '')" |
|
|
|
:label="item.buDesc || item.buNo" |
|
|
|
:value="item.buNo"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="是否强制"> |
|
|
|
<el-select v-model="searchData.forceType" clearable placeholder="全部" style="width: 140px"> |
|
|
|
<el-select v-model="searchData.forceType" clearable placeholder="全部" style="width: 100px"> |
|
|
|
<el-option |
|
|
|
v-for="item in forceTypeOptions" |
|
|
|
:key="item.value" |
|
|
|
@ -24,7 +24,7 @@ |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="代办状态"> |
|
|
|
<el-select v-model="searchData.todoStatus" clearable placeholder="全部" style="width: 140px"> |
|
|
|
<el-select v-model="searchData.todoStatus" clearable placeholder="全部" style="width: 100px"> |
|
|
|
<el-option |
|
|
|
v-for="item in todoStatusOptions" |
|
|
|
:key="item.value" |
|
|
|
@ -34,7 +34,7 @@ |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="责任部门"> |
|
|
|
<el-select v-model="searchData.responsibilityDept" clearable filterable placeholder="全部" style="width: 160px"> |
|
|
|
<el-select v-model="searchData.responsibilityDept" clearable filterable placeholder="全部" style="width: 140px"> |
|
|
|
<el-option |
|
|
|
v-for="item in roleList" |
|
|
|
:key="item.roleId" |
|
|
|
@ -48,7 +48,7 @@ |
|
|
|
v-model="searchData.keyword" |
|
|
|
clearable |
|
|
|
placeholder="信息编码/派工单号/订单号" |
|
|
|
style="width: 260px"> |
|
|
|
style="width: 200px"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label=" "> |
|
|
|
@ -123,13 +123,23 @@ |
|
|
|
|
|
|
|
<div class="todo-footer"> |
|
|
|
<span class="todo-time">{{ formatDateTime(item.createdTime) }}</span> |
|
|
|
<el-button |
|
|
|
size="mini" |
|
|
|
type="primary" |
|
|
|
plain |
|
|
|
@click="showDetail(item)"> |
|
|
|
详情 |
|
|
|
</el-button> |
|
|
|
<div class="todo-action-group"> |
|
|
|
<el-button |
|
|
|
size="mini" |
|
|
|
type="warning" |
|
|
|
plain |
|
|
|
:disabled="item.auditFlag === 'Y'" |
|
|
|
@click="openTodoAuditModal(item)"> |
|
|
|
审核 |
|
|
|
</el-button> |
|
|
|
<el-button |
|
|
|
size="mini" |
|
|
|
type="primary" |
|
|
|
plain |
|
|
|
@click="showDetail(item)"> |
|
|
|
详情 |
|
|
|
</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -282,14 +292,24 @@ |
|
|
|
<el-button type="primary" @click="detailDialogVisible = false">关闭</el-button> |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<ComMrbRegister |
|
|
|
ref="comMrbRegister" |
|
|
|
:visible.sync="showMrbRegisterFlag" |
|
|
|
@confirmed="onTodoMrbConfirmed"> |
|
|
|
</ComMrbRegister> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import { getSiteAndBuByUserName, getUserRoleList } from '@/api/qc/qc' |
|
|
|
import { getTodoCenterStats, searchTodoCenterList, getTodoCacheDetail } from '@/api/schedule/todoCenter' |
|
|
|
import { getSiteAndBuByUserName2, getUserRoleList } from '@/api/qc/qc' |
|
|
|
import { getTodoCenterStats, searchTodoCenterList, getTodoCacheDetail, auditTodoMessage } from '@/api/schedule/todoCenter' |
|
|
|
import ComMrbRegister from '../yieldReport/com_mrb_register' |
|
|
|
|
|
|
|
export default { |
|
|
|
components: { |
|
|
|
ComMrbRegister |
|
|
|
}, |
|
|
|
data () { |
|
|
|
return { |
|
|
|
dataListLoading: false, |
|
|
|
@ -333,7 +353,9 @@ export default { |
|
|
|
rowCount: 0, |
|
|
|
rollCount: 0 |
|
|
|
}, |
|
|
|
detailRowList: [] |
|
|
|
detailRowList: [], |
|
|
|
showMrbRegisterFlag: false, |
|
|
|
currentAuditTodo: null |
|
|
|
} |
|
|
|
}, |
|
|
|
created () { |
|
|
|
@ -345,7 +367,7 @@ export default { |
|
|
|
methods: { |
|
|
|
loadBuList () { |
|
|
|
const params = { username: this.$store.state.user.name } |
|
|
|
getSiteAndBuByUserName(params).then(({ data }) => { |
|
|
|
getSiteAndBuByUserName2(params).then(({ data }) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.buList = data.rows || [] |
|
|
|
} else { |
|
|
|
@ -508,11 +530,65 @@ export default { |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
openTodoAuditModal (row) { |
|
|
|
if (!row) { |
|
|
|
return |
|
|
|
} |
|
|
|
if (row.auditFlag === 'Y') { |
|
|
|
this.$message.info('该代办已审核') |
|
|
|
return |
|
|
|
} |
|
|
|
const itemNo = this.toInt(row.itemNo) |
|
|
|
if (itemNo === null) { |
|
|
|
this.$message.warning('未找到工序信息,无法发起审核') |
|
|
|
return |
|
|
|
} |
|
|
|
this.currentAuditTodo = row |
|
|
|
const scheduleData = { |
|
|
|
site: row.site || this.searchData.site || this.$store.state.user.site, |
|
|
|
orderNo: row.orderNo, |
|
|
|
itemNo: itemNo, |
|
|
|
seqNo: row.seqNo |
|
|
|
} |
|
|
|
this.showMrbRegisterFlag = false |
|
|
|
this.$nextTick(() => { |
|
|
|
this.showMrbRegisterFlag = true |
|
|
|
this.$nextTick(() => { |
|
|
|
if (this.$refs.comMrbRegister && typeof this.$refs.comMrbRegister.init === 'function') { |
|
|
|
this.$refs.comMrbRegister.init(scheduleData) |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
onTodoMrbConfirmed () { |
|
|
|
if (!this.currentAuditTodo) { |
|
|
|
return |
|
|
|
} |
|
|
|
const todo = this.currentAuditTodo |
|
|
|
const params = { |
|
|
|
site: todo.site || this.searchData.site || this.$store.state.user.site, |
|
|
|
buNo: todo.buNo, |
|
|
|
infoCode: todo.infoCode |
|
|
|
} |
|
|
|
auditTodoMessage(params).then(({ data }) => { |
|
|
|
if (data && data.code === 200) { |
|
|
|
this.$message.success('代办审核成功') |
|
|
|
this.getTodoStats() |
|
|
|
this.getDataList() |
|
|
|
} else { |
|
|
|
this.$message.error((data && data.msg) || '代办审核失败') |
|
|
|
} |
|
|
|
}).catch(() => { |
|
|
|
this.$message.error('代办审核失败') |
|
|
|
}).finally(() => { |
|
|
|
this.currentAuditTodo = null |
|
|
|
}) |
|
|
|
}, |
|
|
|
showDetail (row) { |
|
|
|
if (!row) { |
|
|
|
return |
|
|
|
} |
|
|
|
this.detailDialogTitle = `创建分卷缓存详情 - ${row.infoCode || ''}` |
|
|
|
this.detailDialogTitle = `创建分卷详情 - ${row.infoCode || ''}` |
|
|
|
this.detailDialogVisible = true |
|
|
|
this.detailDialogLoading = true |
|
|
|
this.resetDetailData() |
|
|
|
@ -764,6 +840,11 @@ export default { |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
|
|
|
|
.todo-action-group { |
|
|
|
display: inline-flex; |
|
|
|
gap: 6px; |
|
|
|
} |
|
|
|
|
|
|
|
.todo-time { |
|
|
|
font-size: 12px; |
|
|
|
color: #909399; |
|
|
|
|