中航光电热表web
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

712 lines
27 KiB

<template>
<basic-container>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model:page="page" :before-open="beforeOpen"
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 #menu-left>
<!--<el-button type="primary" @click="addReview(1,null)">零件模式</el-button>
<el-button type="primary" @click="addReview(2,null)">装配模式</el-button> -->
</template>
<template #menu-right>
<el-button type="primary" plain @click="openZlSystem">质量系统 </el-button>
</template>
<template #menu="{ row }">
<el-button type="text" @click="addReview(row.trialType, row.id)">详情</el-button>
<el-button type="text" v-if="row.status == 0 || row.status == -1" @click="hearingFn(row.trialType, row.id)">提交</el-button>
</template>
<!-- <template #proNo="{ row }">
{{ row.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.partCode }}
</template>
<template #proName="{ row }">
{{ row.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.partName }}
</template>
<template #proClass="{ row }">
{{ row.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.productType }}
</template>
<template #identification="{ row }">
{{ row.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.productType }}
</template>
<template #batchNo="{ row }">
{{ row.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.batchNo }}
</template>
<template #qualifiedQty="{ row }">
{{ row.prWorkCheck.prWorkPlan.qualifiedQty }}
</template>
<template #unqualQty="{ row }">
{{ row.prWorkCheck.prWorkPlan.unqualifiedQty }}
</template>
<template #userName="{ row }">
{{ row.createMan.userName }}
</template> -->
<template #proNo-form="{ type }">
<span v-show="type == 'view'">
{{ form.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.partCode }}
</span>
</template>
<template #proName-form="{ type }">
<span v-show="type == 'view'">
{{ form.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.partName }}
</span>
</template>
<template #proClass-form="{ type }">
<span v-show="type == 'view'">
{{ form.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.productType }}
</span>
</template>
<template #identification-form="{ type }">
<span v-show="type == 'view'">
{{ form.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.productType }}
</span>
</template>
<template #batchNo-form="{ type }">
<span v-show="type == 'view'">
{{ form.prWorkCheck.prWorkPlan.prWorkOrder.pjYieldOrder.batchNo }}
</span>
</template>
<template #qualifiedQty-form="{ type }">
<span v-show="type == 'view'">
{{ form.prWorkCheck.prWorkPlan.qualifiedQty }}
</span>
</template>
<template #unqualQty-form="{ type }">
<span v-show="type == 'view'">
{{ form.prWorkCheck.prWorkPlan.unqualifiedQty }}
</span>
</template>
<template #userName-form="{ type }">
<span v-show="type == 'view'">
{{ form.createMan.userName }}
</span>
</template>
</avue-crud>
<pattern-dialog v-if="showDialog" :show-dialog="showDialog" :rs-id="rsId" @closeDialog="closeDialog"
:trial-type="trialType"></pattern-dialog>
<!-- 提交 -->
<hearingDialog v-if="hearingOpen" :type="dialogType" :rs-id="rsId" :show-dialog="hearingOpen" @closeDialog="closeDialog"></hearingDialog>
</basic-container>
</template>
<script>
import {getProductionDispositionList} from "@/api/qualityManagement/productionTesting/productionDisposition.js"
import patternDialog from './patternDialog.vue'
import hearingDialog from './hearingDialog.vue'
export default {
components: {
patternDialog,
hearingDialog
},
data() {
return {
loading: false,
data: [],
page: {
pageSize: 10,
currentPage: 1,
total: 0,
},
trialType: null,
showDialog: false,
rsId: null,
dialogType:'',
form: {},
option: {
tip: false,
align: 'center',
calcHeight:32,
height: 'auto',
simplePage: true,
searchShow: true,
searchMenuSpan: 6,
searchIcon: true,
searchIndex: 3,
tree: false,
border: true,
selection: false,
viewBtn: false,
editBtn: false,
addBtn: false,
delBtn: false,
editBtnText: '修改',
// viewBtnText: '详情',
labelWidth: 120,
menuWidth: 100,
dialogWidth: 1200,
dialogClickModal: false,
searchEnter: true,
excelBtn: false,
filterBtn: true,
searchShowBtn: false,
excelBtn: true,
index: true,
showOverflowTooltip: true,
searchLabelPosition: 'left',
searchGutter: 24,
searchSpan: 6,
menuAlign: 'left',
gridBtn: false,
searchMenuPosition: 'right',
addBtnIcon: ' ',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
column: [
{
label: '上级编号',
prop: 'upCode',
addDisplay: false,
editDisplay: false,
span: 24,
search: true,
width: 200,
rules: [
{
required: true,
message: '请输入上级编号',
trigger: 'click',
},
],
},
{
label: '单据编号',
prop: 'docCode',
addDisplay: false,
editDisplay: false,
span: 24,
search: true,
width: 200,
rules: [
{
required: true,
message: '请输入单据编号',
trigger: 'click',
},
],
},
{
label: '车间订单号',
prop: 'woCode',
addDisplay: false,
editDisplay: false,
span: 24,
search: true,
width: 200,
searchLabelWidth:100,
rules: [
{
required: true,
message: '请输入单据编号',
trigger: 'click',
},
],
},
{
label: '产品号',
prop: 'prodCode',
// bind:"base.prodCode",
addDisplay: false,
editDisplay: false,
span: 24,
search: true,
width: 200,
rules: [
{
required: true,
message: '请输入产品号',
trigger: 'click',
},
],
},
{
label: '产品名称',
prop: 'prodName',
// bind:"base.prodName",
addDisplay: false,
editDisplay: false,
span: 24,
search: true,
width: 200,
rules: [
{
required: true,
message: '请输入产品名称',
trigger: 'click',
},
],
},
{
label: '产品型号',
prop: 'prodTypeName',
// bind:"base.prodTypeName",
addDisplay: false,
editDisplay: false,
span: 24,
search: true,
width: 200,
rules: [
{
required: true,
message: '请输入产品型号',
trigger: 'click',
},
],
},
{
label: '生产标识',
prop: 'prodIdent',
type: 'select',
addDisplay: false,
editDisplay: false,
span: 24,
search: true,
width: 200,
rules: [
{
required: true,
message: '请输入生产标识',
trigger: 'click',
},
],
dicUrl:"/api/blade-desk/BA/ProdMark/listForSelect",
props:{label:"name",value:"id"}
},
{
label: '批次号',
prop: 'batchNo',
addDisplay: false,
editDisplay: false,
span: 24,
search: true,
width: 200,
rules: [
{
required: true,
message: '请输入批次号',
trigger: 'click',
},
],
},
{
label: '流程卡号',
prop: 'cardNo',
addDisplay: false,
editDisplay: false,
span: 24,
search: true,
width: 200,
rules: [
{
required: true,
message: '请输入单据编号',
trigger: 'click',
},
],
},
{
label: '生产数量',
prop: 'poQty',
addDisplay: false,
editDisplay: false,
span: 24,
search: false,
width: 200,
rules: [
{
required: true,
message: '请输入生产数量',
trigger: 'click',
},
],
},
{
label: '不合格数量',
prop: 'unqualifiedQty',
addDisplay: false,
editDisplay: false,
span: 24,
search: false,
width: 200,
rules: [
{
required: true,
message: '请输入不合格数量',
trigger: 'click',
},
],
},
{
label: '申请人',
prop: 'userName',
bind:'base.createUserRealName',
addDisplay: false,
editDisplay: false,
span: 24,
search: false,
width: 200,
rules: [
{
required: true,
message: '请输入申请人',
trigger: 'click',
},
],
},
{
label: '建立时间',
prop: 'createTime',
type:"date",
format:"YYYY-MM-DD",
valueFormat:"YYYY-MM-DD",
searchRange: true,
addDisplay: false,
editDisplay: false,
span: 24,
search: true,
width: 200,
rules: [
{
required: true,
message: '请输入建立时间',
trigger: 'click',
},
],
},
{
label: '处置单类型',
prop: 'reviewOrderMode',
addDisplay: false,
editDisplay: false,
span: 24,
type: 'select',
search: true,
width: 200,
searchLabelWidth:90,
rules: [
{
required: true,
message: '请输入处置单类型',
trigger: 'click',
},
],
dicUrl:"/api/blade-system/dict/dictionary?code=ReviewSheet-Mode",
props:{
label: 'dictValue',
value: 'dictKey'
}
// dicData: [
// {
// value: 1,
// label: '零件模式'
// }, {
// value: 2,
// label: '装配模式'
// }, {
// value: 3,
// label: '售后模式'
// }
// ]
},
{
label: '当前状态',
prop: 'status',
addDisplay: false,
editDisplay: false,
span: 24,
type: 'select',
search: true,
width: 200,
rules: [
{
required: true,
message: '请输入当前状态',
trigger: 'click',
},
],
props:{
label:'dictValue',
value:'dictKey',
},
dicUrl:'/api/blade-system/dict/dictionary?code=ReviewSheet-Status', //字典中取值
// dicData: [
// {
// value: 1,
// label: '新建'
// }, {
// value: 3,
// label: '打回'
// }, {
// value: 6,
// label: '审理中'
// }, {
// value: 10,
// label: '审理完成'
// }
// ]
},
{
label: '打回人',
prop: 'backUserRealName',
addDisplay: false,
editDisplay: false,
span: 24,
width: 200,
rules: [
{
required: true,
message: '请输入打回人',
trigger: 'click',
},
],
},
{
label: '打回时间',
prop: 'backDate',
addDisplay: false,
editDisplay: false,
span: 24,
width: 200,
rules: [
{
required: true,
message: '请输入打回时间',
trigger: 'click',
},
],
},
{
label: '打回原因',
prop: 'backReason',
addDisplay: false,
editDisplay: false,
span: 24,
width: 200,
rules: [
{
required: true,
message: '请输入打回原因',
trigger: 'click',
},
],
},
{
label: '审理状态',
prop: 'reviewStatusName',
addDisplay: false,
editDisplay: false,
span: 24,
width: 200,
rules: [
{
required: true,
message: '请输入审理状态',
trigger: 'click',
},
],
},
{
label: '审理人',
prop: 'reviewUserRealName',
addDisplay: false,
editDisplay: false,
span: 24,
width: 200,
rules: [
{
required: true,
message: '请输入审理人',
trigger: 'click',
},
],
},
{
label: '审理时间',
prop: 'reviewDate',
addDisplay: false,
editDisplay: false,
span: 24,
width: 200,
rules: [
{
required: true,
message: '请输入审理时间',
trigger: 'click',
},
],
},
{
label: '审理意见',
prop: 'memo',
addDisplay: false,
editDisplay: false,
span: 24,
width: 200,
rules: [
{
required: true,
message: '请输入审理意见',
trigger: 'click',
},
],
},
]
},
hearingOpen:false,
}
},
mounted() {
},
methods: {
// 提交
hearingFn(val,id) {
this.rsId = id
this.dialogType = 'submit'
this.hearingOpen = true
},
closeDialog(val) {
this.showDialog = false
this.hearingOpen = false
if(val){
this.onLoad()
}
},
// 跳转质量系统
openZlSystem() {
let url = 'http://192.168.119.68:8088/mms/login/login_158.jsp?LOGIN158=jinna&sourceURI=/mms/console/index&TIMESTAMP=1758684792912&MD5STR=f6802064486cb328cbff1e312521f641'
window.open(url)
},
addReview(type, id) {
this.rsId = id
this.dialogType = 'view'
this.trialType = type
this.hearingOpen = true
},
rowSave(row, done, loading) {
},
rowUpdate(row, index, done, loading) {
},
searchReset() {
this.query = {};
this.onLoad(this.page);
},
searchChange(params, done) {
this.query = params;
this.page.currentPage = 1;
this.query.createTimeStart = params.createTime && params.createTime.length != 0 && params.createTime[0]
this.query.createTimeEnd = params.createTime && params.createTime.length != 0 && params.createTime[1]
if(this.query.createTime) delete this.query.createTime
this.onLoad(this.page, params);
done();
},
selectionChange(list) {
this.selectionList = list;
},
selectionClear() {
this.selectionList = [];
this.$refs.crud.toggleSelection();
},
currentChange(currentPage) {
this.page.currentPage = currentPage;
},
sizeChange(pageSize) {
this.page.pageSize = pageSize;
},
refreshChange() {
this.onLoad(this.page, this.query);
},
onLoad() {
// if(this.query.createTime){
// delete this.query.createTime
// }
getProductionDispositionList({
current:this.page.currentPage,
size:this.page.pageSize,
...this.query
}).then(res =>{
res.data.data.records.map(item =>{
item.status = item.status == -1 ? '' : item.status + ''
})
this.data = res.data.data.records
this.page.total = res.data.data.total
})
// this.data = [
// {
// rsId: 22,
// supCode: 'WO-S23041025-R02', rsCode: 'DJ-S23041025-R02',
// prWorkCheck: {
// prWorkPlan: {
// prWorkOrder: {
// pjYieldOrder: {
// partCode: 'CP-S23041025-R02',
// partName: '产品名称',
// productType: '产品型号',
// prodIdent: '生产标识',
// batchNo: '批次号'
// }
// },
// qualifiedQty: 10,
// unqualifiedQty: 5,
// }
// },
// createMan: {
// userName: '张三'
// },
// createTime: '2024-12-21 10:05:22',
// trialTypeTitle: '零件模式',
// trialType: 1,
// curStatusTitle: '新建',
// repulseMan: '李四',
// repulseTime: '2024-12-24 11:02:23',
// repulseMemo: '不合格',
// reviewStatusTitle: '审理中',
// reviewMan: '李四',
// reviewTime: '2024-12-30 15:23:32',
// memo: '通过'
// },
// {
// rsId: 23,
// supCode: 'WO-S23041025-R02', rsCode: 'DJ-S23041025-R02',
// prWorkCheck: {
// prWorkPlan: {
// prWorkOrder: {
// pjYieldOrder: {
// partCode: 'CP-S23041025-R02',
// partName: '产品名称',
// productType: '产品型号',
// prodIdent: '生产标识',
// batchNo: '批次号'
// }
// },
// qualifiedQty: 10,
// unqualifiedQty: 5,
// }
// },
// createMan: {
// userName: '张三'
// },
// createTime: '2024-12-21 10:05:22',
// trialTypeTitle: '零件模式',
// trialType: 1,
// curStatusTitle: '新建',
// repulseMan: '李四',
// repulseTime: '2024-12-24 11:02:23',
// repulseMemo: '不合格',
// reviewStatusTitle: '审理中',
// reviewMan: '李四',
// reviewTime: '2024-12-30 15:23:32',
// memo: '通过'
// }
// ]
// this.page.total = this.data.length
},
}
}
</script>
<style></style>