parent
7af71944f4
commit
fa20b54944
5 changed files with 695 additions and 25 deletions
@ -0,0 +1,215 @@ |
||||
<template> |
||||
<el-dialog title="检验结果填报" append-to-body :modelValue="showDialog" width="80%" @close="closeDialog"> |
||||
<div style="height: 600px;overflow-y: auto;overflow-x:hidden ;"> |
||||
<div style="font-weight: 550;">任务信息</div> |
||||
<div class="info_box"> |
||||
<el-row class="item_item" :gutter="20"> |
||||
<el-col :span="6"> |
||||
<span>任务编号:</span><span>{{detailForm.trNum}}</span> |
||||
</el-col> |
||||
<el-col :span="6"> |
||||
<span>试验项目:</span><span>{{detailForm.textProject.tpProject}}</span> |
||||
</el-col> |
||||
<el-col :span="6"> |
||||
<span>试验件:</span><span>{{detailForm.testPieceTitle}}</span> |
||||
</el-col> |
||||
<el-col :span="6"> |
||||
<span>试验标准:</span><span style="color: #1890ff;">{{detailForm.textProject.tpStandard}}</span> |
||||
</el-col> |
||||
</el-row> |
||||
<el-row class="item_item" :gutter="20"> |
||||
<el-col :span="6"> |
||||
<span>试验条件:</span><span>{{detailForm.textProject.tpCondition}}</span> |
||||
</el-col> |
||||
<el-col :span="6"> |
||||
<span>主管工艺:</span><span>{{detailForm.craftMan.userName}}</span> |
||||
</el-col> |
||||
<el-col :span="6"> |
||||
<span>试验员:</span><span>{{detailForm.mecMan.userName}}</span> |
||||
</el-col> |
||||
<el-col :span="6"> |
||||
<span>任务状态:</span><span>{{detailForm.trStatusName}}</span> |
||||
</el-col> |
||||
</el-row> |
||||
<el-row class="item_item" :gutter="20"> |
||||
<el-col :span="6"> |
||||
<span>任务生成时间:</span><span>{{detailForm.createTime}}</span> |
||||
</el-col> |
||||
<el-col :span="6"> |
||||
<span>任务下发时间:</span><span>{{detailForm.issueTime}}</span> |
||||
</el-col> |
||||
<el-col :span="6"> |
||||
<span>任务接收时间:</span><span>{{detailForm.receiveTime}}</span> |
||||
</el-col> |
||||
<el-col :span="6"> |
||||
<span>任务完成时间:</span><span>{{detailForm.finishTime}}</span> |
||||
</el-col> |
||||
</el-row> |
||||
</div> |
||||
<div style="font-weight: 550;">试验结果</div> |
||||
<div class="info_box"> |
||||
<el-row class="item_item" :gutter="20"> |
||||
<el-col :span="6"> |
||||
<span>试验报告:</span><span style="color: #1890FF;cursor: pointer;">{{detailForm.testFile.fileName}}</span> |
||||
</el-col> |
||||
<el-col :span="6"> |
||||
<span>试验时间:</span><span>{{detailForm.testTime}}</span> |
||||
</el-col> |
||||
</el-row> |
||||
<el-row class="item_item" :gutter="20" v-show="detailForm.isTest == 0"> |
||||
<el-col :span="6"> |
||||
<span>未试验原因:</span><span>{{detailForm.meterNum}}</span> |
||||
</el-col> |
||||
</el-row> |
||||
</div> |
||||
</div> |
||||
<template #footer> |
||||
<span class="dialog-footer"> |
||||
<el-button @click="closeDialog">取 消</el-button> |
||||
<el-button type="primary" @click="submit">确 定</el-button> |
||||
</span> |
||||
</template> |
||||
</el-dialog> |
||||
</template> |
||||
|
||||
<script> |
||||
export default { |
||||
props:{ |
||||
showDialog: { |
||||
type: Boolean, |
||||
default: false |
||||
}, |
||||
rowId:{ |
||||
type:Number, |
||||
default:0 |
||||
}, |
||||
rowObj:{ |
||||
type:Object, |
||||
default:{} |
||||
}, |
||||
dialogType:{ |
||||
type:String, |
||||
default:'' |
||||
} |
||||
}, |
||||
data(){ |
||||
return{ |
||||
detailForm:{}, |
||||
initialInspectionForm:{}, |
||||
auditForm:{}, |
||||
drugForm:{}, |
||||
recheckForm:{}, |
||||
userData:[ |
||||
{ |
||||
"jobName": "软件工程师", |
||||
"deptName": "MES开发部", |
||||
"ldapName": null, |
||||
"userSex": 1, |
||||
"deptId": 1, |
||||
"mobile": null, |
||||
"userName": "测试", |
||||
"userId": 521, |
||||
"userCode": "0001" |
||||
}, |
||||
{ |
||||
"jobName": null, |
||||
"deptName": "MES开发部", |
||||
"ldapName": "jinna", |
||||
"userSex": 2, |
||||
"deptId": 1, |
||||
"mobile": null, |
||||
"userName": "靳娜", |
||||
"userId": 21, |
||||
"userCode": "jinna" |
||||
}, |
||||
{ |
||||
"jobName": null, |
||||
"deptName": "MES开发部", |
||||
"ldapName": "zd001", |
||||
"userSex": 1, |
||||
"deptId": 1, |
||||
"mobile": null, |
||||
"userName": "张迪", |
||||
"userId": 601, |
||||
"userCode": "zd001" |
||||
} |
||||
], |
||||
initialInspectionFormRules:{ |
||||
isTest:[{required:true,message:'请选择是否进行化验',trigger:'blur'}], |
||||
meterNum:[{required:true,message:'请输入测量值',trigger:'blur'}], |
||||
testTime:[{required:true,message:'请选择化验时间',trigger:'blur'}], |
||||
}, |
||||
auditRules:{ |
||||
isAudit:[{required:true,message:'请选择是否审核通过',trigger:'blur'}], |
||||
}, |
||||
drugRules:{ |
||||
drugBatch:[{required:true,message:'请输入药品批次',trigger:'blur'}], |
||||
drugRecipient:[{required:true,message:'请选择领药人',trigger:'blur'}], |
||||
}, |
||||
recheckRules:{ |
||||
isTest:[{required:true,message:'请选择是否进行化验',trigger:'blur'}], |
||||
meterNum:[{required:true,message:'请输入测量值',trigger:'blur'}], |
||||
testTime:[{required:true,message:'请选择化验时间',trigger:'blur'}], |
||||
} |
||||
} |
||||
}, |
||||
mounted(){ |
||||
console.log('row---------------------',this.rowObj) |
||||
this.getDetail() |
||||
}, |
||||
methods:{ |
||||
// 获取详情数据 |
||||
getDetail(){ |
||||
this.detailForm = this.rowObj |
||||
}, |
||||
closeDialog(){ |
||||
this.$emit('closeDialog'); |
||||
}, |
||||
//输入框数字校验 |
||||
handleMeterNum(value){ |
||||
this.initialInspectionForm.meterNum = value.replace(/[^\d]/g, ''); |
||||
}, |
||||
handleCondNum(value){ |
||||
this.initialInspectionForm.condNum = value.replace(/[^\d]/g, ''); |
||||
}, |
||||
handleActualAdd(value){ |
||||
// 1. 过滤非法字符 |
||||
let val = value.replace(/[^\d.]/g, ''); |
||||
|
||||
// 2. 处理多个小数点 |
||||
const dotIndex = val.indexOf('.'); |
||||
if (dotIndex !== -1) { |
||||
val = val.substring(0, dotIndex + 1) + |
||||
val.substring(dotIndex + 1).replace(/\./g, ''); |
||||
} |
||||
|
||||
// 3. 限制小数点后五位 |
||||
if (dotIndex !== -1) { |
||||
const decimalPart = val.split('.') |
||||
if (decimalPart[1] && decimalPart[1].length > 5) { |
||||
val = decimalPart[0] + '.' + decimalPart[1].substring(0, 5); |
||||
} |
||||
} |
||||
console.log('val-----------------',val) |
||||
this.initialInspectionForm.actualAdd = val |
||||
}, |
||||
// 提交 |
||||
submit(){ |
||||
this.closeDialog() |
||||
}, |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss"> |
||||
.info_box{ |
||||
padding: 20px 0; |
||||
border-bottom: 1px solid #eee; |
||||
margin-bottom: 20px; |
||||
|
||||
.item_item{ |
||||
padding: 5px 0; |
||||
} |
||||
} |
||||
|
||||
</style> |
||||
@ -1,13 +1,248 @@ |
||||
<template> |
||||
试验项目管理 |
||||
<basic-container> |
||||
<avue-crud :option="option" :table-loading="loading" :data="data" v-model:page="page" v-model="form" ref="crud" |
||||
@row-update="rowUpdate" @row-save="rowSave" @row-del="rowDel" @search-change="searchChange" |
||||
@search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange" |
||||
@size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"> |
||||
<template #craftMan="{ row }"> |
||||
{{ row.craftMan.userName }} |
||||
</template> |
||||
<template #mecMan="{ row }"> |
||||
{{ row.mecMan.userName }} |
||||
</template> |
||||
</avue-crud> |
||||
</basic-container> |
||||
</template> |
||||
|
||||
<script> |
||||
export default { |
||||
data() { |
||||
return { |
||||
loading: false, |
||||
data: [], |
||||
form: {}, |
||||
page: { |
||||
pageSize: 10, |
||||
currentPage: 1, |
||||
total: 0, |
||||
}, |
||||
option: { |
||||
tip: false, |
||||
height: 'auto', |
||||
calcHeight: 32, |
||||
columnSort: true, |
||||
// simplePage: true, |
||||
searchShow: true, |
||||
searchMenuSpan: 6, |
||||
searchIcon: true, |
||||
searchIndex: 3, |
||||
tree: false, |
||||
border: true, |
||||
index: true, |
||||
selection: true, |
||||
viewBtn: false, |
||||
delBtn: false, |
||||
addBtn: false, |
||||
editBtn: false, |
||||
editBtnText: '修改', |
||||
viewBtnText: '详情', |
||||
viewBtnIcon: ' ', |
||||
delBtnIcon: ' ', |
||||
editBtnIcon: ' ', |
||||
labelWidth: 120, |
||||
// menuWidth: 330, |
||||
dialogWidth: 600, |
||||
dialogClickModal: false, |
||||
searchEnter: true, |
||||
filterBtn: true, |
||||
searchShowBtn: false, |
||||
excelBtn: true, |
||||
showOverflowTooltip: true, |
||||
align: 'center', |
||||
column: [ |
||||
{ |
||||
label: '试验项目', |
||||
prop: 'tpProject', |
||||
search: false, |
||||
sortable: true, |
||||
filter: true, |
||||
addDisplay: false, |
||||
editDisplay: false, |
||||
viewDisplay: false, |
||||
span: 24, |
||||
width: 200, |
||||
rules: [ |
||||
{ |
||||
required: true, |
||||
message: '请输入试验项目', |
||||
trigger: 'blur', |
||||
}, |
||||
], |
||||
}, |
||||
{ |
||||
label: '试验条件', |
||||
prop: 'tpCondition', |
||||
search: false, |
||||
sortable: true, |
||||
filter: true, |
||||
addDisplay: false, |
||||
editDisplay: false, |
||||
viewDisplay: false, |
||||
span: 24, |
||||
width: 200, |
||||
rules: [ |
||||
{ |
||||
required: true, |
||||
message: '请输入试验条件', |
||||
trigger: 'blur', |
||||
}, |
||||
], |
||||
}, |
||||
{ |
||||
label: '试验标准', |
||||
prop: 'tpStandard', |
||||
search: false, |
||||
sortable: true, |
||||
filter: true, |
||||
addDisplay: false, |
||||
editDisplay: false, |
||||
viewDisplay: false, |
||||
span: 24, |
||||
width: 200, |
||||
rules: [ |
||||
{ |
||||
required: true, |
||||
message: '请输入试验标准', |
||||
trigger: 'blur', |
||||
}, |
||||
], |
||||
}, |
||||
{ |
||||
label: '试验件', |
||||
prop: 'testPieceTitle', |
||||
type: 'select', |
||||
search: false, |
||||
sortable: true, |
||||
filter: true, |
||||
span: 24, |
||||
width: 200, |
||||
dicData: [ |
||||
{ |
||||
label: '零件', |
||||
value: 1 |
||||
}, |
||||
{ |
||||
label: '试片', |
||||
value: 0 |
||||
} |
||||
] |
||||
}, |
||||
{ |
||||
label: '主管工艺', |
||||
prop: 'craftMan', |
||||
search: false, |
||||
sortable: true, |
||||
filter: true, |
||||
span: 24, |
||||
width: 200, |
||||
}, |
||||
{ |
||||
label: '试验员', |
||||
prop: 'mecMan', |
||||
search: false, |
||||
sortable: true, |
||||
editDisplay: false, |
||||
filter: true, |
||||
addDisplay: false, |
||||
span: 24, |
||||
width: 200, |
||||
rules: [ |
||||
{ |
||||
required: true, |
||||
message: '请输入试验员', |
||||
trigger: 'blur', |
||||
}, |
||||
], |
||||
}, |
||||
{ |
||||
label: '试验周期', |
||||
prop: 'textCycle', |
||||
search: false, |
||||
sortable: true, |
||||
filter: true, |
||||
span: 24, |
||||
width: 200, |
||||
}, |
||||
{ |
||||
label: '提前下发天数', |
||||
prop: 'beforeDays', |
||||
search: false, |
||||
sortable: true, |
||||
filter: true, |
||||
span: 24, |
||||
width: 200, |
||||
}, |
||||
{ |
||||
label: '超期提醒天数', |
||||
prop: 'remDays', |
||||
search: false, |
||||
sortable: true, |
||||
filter: true, |
||||
span: 24, |
||||
width: 200, |
||||
}, |
||||
{ |
||||
label: '更新时间', |
||||
prop: 'updateTime', |
||||
search: false, |
||||
sortable: true, |
||||
filter: true, |
||||
span: 24, |
||||
width: 200, |
||||
}, |
||||
] |
||||
} |
||||
} |
||||
}, |
||||
mounted() { |
||||
|
||||
}, |
||||
methods: { |
||||
onLoad() { |
||||
this.data = [ |
||||
{ |
||||
id: 1, tpProject: '盐雾试验', tpCondition: '32小时', tpStandard: 'xxxx标准', |
||||
testPieceTitle: '零件', testPiece: 0, |
||||
craftMan: { userName: '张三' }, |
||||
mecMan: { userName: '李四' }, |
||||
textCycle:'一年四次',beforeDays:20,remDays:7,updateTime:'2024-10-11 12:32:11' |
||||
}, |
||||
{ |
||||
id: 2, tpProject: '盐雾试验', tpCondition: '32小时', tpStandard: 'xxxx标准', |
||||
testPieceTitle: '零件', testPiece: 0, |
||||
craftMan: { userName: '张三' }, |
||||
mecMan: { userName: '李四' }, |
||||
textCycle:'一年四次',beforeDays:20,remDays:7,updateTime:'2024-10-11 12:32:11' |
||||
}, |
||||
{ |
||||
id: 3, tpProject: '盐雾试验', tpCondition: '32小时', tpStandard: 'xxxx标准', |
||||
testPieceTitle: '零件', testPiece: 0, |
||||
craftMan: { userName: '张三' }, |
||||
mecMan: { userName: '李四' }, |
||||
textCycle:'一年四次',beforeDays:20,remDays:7,updateTime:'2024-10-11 12:32:11' |
||||
}, |
||||
{ |
||||
id: 4, tpProject: '盐雾试验', tpCondition: '32小时', tpStandard: 'xxxx标准', |
||||
testPieceTitle: '零件', testPiece: 0, |
||||
craftMan: { userName: '张三' }, |
||||
mecMan: { userName: '李四' }, |
||||
textCycle:'一年四次',beforeDays:20,remDays:7,updateTime:'2024-10-11 12:32:11' |
||||
}, |
||||
] |
||||
this.page.total = this.data.length |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style> |
||||
|
||||
</style> |
||||
<style></style> |
||||
Loading…
Reference in new issue