|
|
|
@ -66,6 +66,9 @@ |
|
|
|
class="el-button el-button--primary el-button--medium"> |
|
|
|
导出 |
|
|
|
</download-excel> |
|
|
|
<el-button type="primary" @click="partCheckModal()" class="customer-bun-mid" |
|
|
|
style="margin-left: 10px; margin-bottom: 5px;">缺料检查 |
|
|
|
</el-button> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'已关闭,已达数量'"> |
|
|
|
<el-card class="customer-el-card customer-el-card-pink" style="margin-left:100px"></el-card> |
|
|
|
@ -82,6 +85,7 @@ |
|
|
|
:data="dataList" |
|
|
|
border |
|
|
|
:row-class-name="routingRowClassName2" |
|
|
|
@selection-change="selectionChangeHandle" |
|
|
|
v-loading="dataListLoading" |
|
|
|
style="width: 100%;margin-top: -20px"> |
|
|
|
<el-table-column |
|
|
|
@ -95,6 +99,11 @@ |
|
|
|
<!-- <a type="text" size="small" @click="print(scope.row)">关闭</a>--> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
type="selection" |
|
|
|
align="center" |
|
|
|
width="30"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
v-for="(item,index) in columnArray" :key="index" |
|
|
|
:sortable="item.columnSortable" |
|
|
|
@ -135,6 +144,98 @@ |
|
|
|
<el-button type="primary" @click="printModalFlag = false">关闭</el-button> |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
<el-dialog title="物料缺料批量查询" :close-on-click-modal="false" v-drag :visible.sync="modelFlag2" width="720px" > |
|
|
|
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 5px;"> |
|
|
|
<el-form-item :label="'工厂编号:'"> |
|
|
|
<el-input v-model="partCheckData.site" disabled style="width: 85px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'物料编码:'"> |
|
|
|
<el-input v-model="partCheckData.partNo" style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="''" style="margin-left: -5px;"> |
|
|
|
<el-checkbox style="margin-top: 20px;" true-label="Y" false-label="N" v-model="partCheckData.checkFlag">只显示缺料的物料 |
|
|
|
</el-checkbox> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="' '" style="margin-left: 0px;"> |
|
|
|
<el-button type="primary" @click="refreshPartCheckData()" :disabled="searchFlag" class="customer-bun-mid" |
|
|
|
style="margin-left: 10px; margin-bottom: 5px;">查询 |
|
|
|
</el-button> |
|
|
|
<download-excel |
|
|
|
:fields="fields2()" |
|
|
|
:data="exportData2" |
|
|
|
type="xls" |
|
|
|
:name="exportName2" |
|
|
|
:header="exportHeader2" |
|
|
|
:footer="exportFooter2" |
|
|
|
:fetch="createExportData2" |
|
|
|
:before-generate="startDownload2" |
|
|
|
:before-finish="finishDownload2" |
|
|
|
worksheet="导出信息" |
|
|
|
class="el-button el-button--primary el-button--medium"> |
|
|
|
导出 |
|
|
|
</download-excel> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-table |
|
|
|
height="400" |
|
|
|
:data="partCheckList" |
|
|
|
border |
|
|
|
v-loading="dataListLoading" |
|
|
|
style="width: 100%;"> |
|
|
|
<el-table-column |
|
|
|
prop="componentPartNo" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="100" |
|
|
|
label="零部件编码"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="partDesc" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="120" |
|
|
|
label="零部件名称"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="partSpec" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="160" |
|
|
|
label="规格型号"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="partUm" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="70" |
|
|
|
label="计量单位"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="qtyRequired" |
|
|
|
header-align="center" |
|
|
|
align="right" |
|
|
|
min-width="70" |
|
|
|
label="需求数量"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="calQtyOnHand" |
|
|
|
header-align="center" |
|
|
|
align="right" |
|
|
|
min-width="70" |
|
|
|
label="库存数量"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="calQtyShorage" |
|
|
|
header-align="center" |
|
|
|
align="right" |
|
|
|
min-width="70" |
|
|
|
label="缺料数量"> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
|
|
|
<el-button type="primary" @click="modelFlag2 = false">关闭</el-button> |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
@ -144,7 +245,8 @@ |
|
|
|
printMaterialLabel, |
|
|
|
} from "@/views/modules/production/print_serialNo_label.js" |
|
|
|
import { |
|
|
|
getProduceScheduleList |
|
|
|
getProduceScheduleList, |
|
|
|
getPartCheckData, |
|
|
|
} from '@/api/production/dailyPlan.js' |
|
|
|
import { |
|
|
|
printSerialNo, |
|
|
|
@ -158,6 +260,14 @@ |
|
|
|
}, |
|
|
|
data () { |
|
|
|
return { |
|
|
|
partCheckData:{ |
|
|
|
site:'', |
|
|
|
partNo:'', |
|
|
|
checkFlag:'Y', |
|
|
|
seqNoData:'', |
|
|
|
}, |
|
|
|
searchFlag:false, |
|
|
|
modelFlag2:false, |
|
|
|
sum1:'', |
|
|
|
sum2:'', |
|
|
|
sum3:'', |
|
|
|
@ -168,8 +278,17 @@ |
|
|
|
exportName: "排产日计划清单"+this.dayjs().format('YYYYMMDDHHmmss'), |
|
|
|
exportFooter: [], |
|
|
|
// 导出 end |
|
|
|
|
|
|
|
// 导出 start |
|
|
|
exportData2: [], |
|
|
|
exportName2: "缺料检查清单"+this.dayjs().format('YYYYMMDDHHmmss'), |
|
|
|
exportHeader2: ["缺料检查清单"], |
|
|
|
exportFooter2: [], |
|
|
|
// 导出 end |
|
|
|
height:200, |
|
|
|
partCheckList:[], |
|
|
|
dataList:[], |
|
|
|
dataListSelections:[], |
|
|
|
dataListLoading: false, |
|
|
|
columnArray: [ |
|
|
|
{ |
|
|
|
@ -683,6 +802,9 @@ |
|
|
|
}) |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
selectionChangeHandle (val) { |
|
|
|
this.dataListSelections = val |
|
|
|
}, |
|
|
|
getBaseData(val){ |
|
|
|
if (this.tagNo === 88){ |
|
|
|
this.searchData.resourceId = val.ResourceID |
|
|
|
@ -836,6 +958,68 @@ |
|
|
|
// return 'customer-row-2'; |
|
|
|
// } |
|
|
|
}, |
|
|
|
partCheckModal(){ |
|
|
|
if(this.dataListSelections.length==0){ |
|
|
|
this.$alert('请先勾选日计划!', '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
return false; |
|
|
|
} |
|
|
|
let sql=''; |
|
|
|
for (let i = 0; i < this.dataListSelections.length; i++) { |
|
|
|
if(i == 0){ |
|
|
|
sql+=this.dataListSelections[i].seqNo; |
|
|
|
}else { |
|
|
|
sql+=','+this.dataListSelections[i].seqNo; |
|
|
|
} |
|
|
|
} |
|
|
|
this.partCheckData={ |
|
|
|
site:this.$store.state.user.site, |
|
|
|
partNo:'', |
|
|
|
checkFlag:'Y', |
|
|
|
seqNoData: sql |
|
|
|
} |
|
|
|
getPartCheckData(this.partCheckData).then(({data}) => { |
|
|
|
this.partCheckList=data.rows; |
|
|
|
}) |
|
|
|
this.modelFlag2=true; |
|
|
|
}, |
|
|
|
refreshPartCheckData(){ |
|
|
|
this.searchFlag=true; |
|
|
|
getPartCheckData(this.partCheckData).then(({data}) => { |
|
|
|
this.searchFlag=false; |
|
|
|
this.partCheckList=data.rows; |
|
|
|
}) |
|
|
|
}, |
|
|
|
//导出excel |
|
|
|
createExportData2() { |
|
|
|
|
|
|
|
return this.partCheckList; |
|
|
|
|
|
|
|
}, |
|
|
|
startDownload2() { |
|
|
|
// this.exportData = this.dataList |
|
|
|
|
|
|
|
}, |
|
|
|
finishDownload2() { |
|
|
|
|
|
|
|
}, |
|
|
|
fields2() { |
|
|
|
|
|
|
|
let s = { |
|
|
|
'零部件编码':'componentPartNo', |
|
|
|
'零部件名称':'partDesc', |
|
|
|
'规格型号':'partSpec', |
|
|
|
'计量单位':'partUm', |
|
|
|
'需求数量':'qtyRequired', |
|
|
|
'库存数量':'calQtyOnHand', |
|
|
|
'缺料数量':'calQtyShorage', |
|
|
|
} |
|
|
|
|
|
|
|
return s |
|
|
|
|
|
|
|
}, |
|
|
|
// 导出 end |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|