This commit is contained in:
syngna_qiao 2025-01-04 09:52:34 +08:00
commit 679890e563
5 changed files with 114 additions and 52 deletions

View File

@ -40,6 +40,22 @@ export function attachmentPrint(obj) {
})
}
export function showAttachmentFile(obj) {
return request({
url: mom_wms('/picking/showAttachmentFile'),
method: 'post',
data: obj
})
}
export function printByFilePath(obj) {
return request({
url: mom_wms('/picking/printByFilePath'),
method: 'post',
data: obj
})
}
export function pickingPost(documentNo) {
return request({
url: `/wms/picking/post`,

View File

@ -160,7 +160,7 @@ export default {
return {
username: null,
options: [
{value: 'Y', label: 'RFID识别'},
// {value: 'Y', label: 'RFID识别'},
{value: 'O', label: '手动录入'},
{value: 'N', label: '设备无编码'},
],

View File

@ -152,7 +152,7 @@
</div>
</el-dialog>
<!-- 资质校验开窗 -->
<el-dialog width="30%" :append-to-body="true"
<el-dialog width="30%" :append-to-body="true" :close-on-press-escape="false" :close-on-click-modal="false"
:show-close="false" label-width="120px"
v-el-drag-dialog :fullscreen="false" :visible.sync="qualificationVisible" title="资质校验" center
>
@ -186,7 +186,7 @@
<!-- 物性检验开窗 -->
<el-dialog :append-to-body="true" :close-on-click-modal="false" :close-on-press-escape="false"
v-el-drag-dialog :fullscreen="false"
width="90%" :visible.sync="physicsVisible" state="view" title="物性检验" @close="closePhysicsForm" center top="100px">
width="100%" :visible.sync="physicsVisible" state="view" title="物性检验" @close="closePhysicsForm" center top="100px">
<input-select-dialog-cust
:modal-obj="itemObj"
:modal-show.sync="itemVisible"
@ -275,12 +275,10 @@
</div>
</el-dialog>
<el-dialog width="70%" :append-to-body="true" :close-on-click-modal="false" :close-on-press-escape="false"
v-el-drag-dialog :fullscreen="false" :visible.sync="physicsPhotosVisible" title="预览" :state="state" row-key="handle"
v-el-drag-dialog :fullscreen="false" :visible.sync="physicsPhotosVisible" title="物性检验图片预览" row-key="handle"
center>
<div class="demo-image__lazy">
<div v-for="(urlObj, index) in phyUrls" :key=index>
<el-image style="width: auto;height: auto" :src="urlObj.url" lazy></el-image>
</div>
<div v-for="(urlObj, index) in phyUrls" :key=index>
<el-image style="width: auto;height: auto" :src="urlObj.url" lazy></el-image>
</div>
</el-dialog>
<!-- 前序不合格 -->
@ -303,6 +301,8 @@
<el-table-column prop="remark" label="备注"/>
</el-table>
</el-dialog>
<el-collapse accordion>
<el-collapse-item>
<el-form ref="physicsModel" :model="physicsModel" label-width="120px">
<el-row>
<el-col :span="8">
@ -398,6 +398,8 @@
<el-button type="primary" @click="doSearch()" :disabled="true">检索</el-button>
</el-row>
</el-form>
</el-collapse-item>
</el-collapse>
<div class="execution basic-container ">
<el-table ref="qcTable" :data="phyQcTable" border header-cell-class-name="table-header-gray"
:header-cell-style="{ 'text-align': 'center' }" :cell-style="{ 'text-align': 'center' }" width="100%"
@ -444,8 +446,8 @@
<template slot-scope="scope">
<el-row>
<el-col>
<!-- <el-button size="small" type="primary" @click="showPhyPhotos(scope.row)"-->
<!-- :disabled="true">查看图片</el-button>-->
<el-button size="small" type="primary" @click="showPhyPhotos(scope.row)"
:disabled="scope.row.showPhotosMust">查看图片</el-button>
</el-col>
</el-row>
</template>
@ -1103,6 +1105,28 @@ export default {
}
}
},
//物性检验图片预览
showPhyPhotos(row){
let me = this
me.phyUrls = []
let param = {
inspecJobBo: row.inspecJobBo,
inspecDetailBo: row.handle,
}
showLoading()
getMinio(param).then(res => {
hideLoading()
console.log(res.data)
let records = res.data.data
for (let i = 0; i < records.length; i++) {
let t = records[i]
me.phyUrls.push({ url: t.url })
}
me.physicsPhotosVisible = true
}).catch(e => {
hideLoading()
})
},
//物性检验开窗
openPhysicsResult() {
let me = this
@ -1126,8 +1150,12 @@ export default {
t.qcItemJudge = false
}
t.result = t.itemResult
if (t.photosMust === 'N') {
t.showPhotosMust = true
}
for (let j = 0; j < t.inspecResultList.length; j++) {
let d = t.inspecResultList[j]
d.showPhotosMust = true
if (d.qcItemJudge === '1') {
d.qcItemJudge = true
} else {
@ -1421,11 +1449,14 @@ export default {
cancelButtonText: this.$t('common.cancel'),
type: 'warning',
}).then(() => {
let param = {
handle: me.processForm.handle
for (let i = 0; i < me.qcTable.length; i++) {
let t = me.qcTable[i]
t.result = t.qcItemJudge
t.inspecResults = t.inspecResultList
}
me.processForm.inspecDetailList = me.qcTable
showLoading()
reInspec(param).then(res => {
reInspec(me.processForm).then(res => {
hideLoading()
if (res.status === 200) {
me.$message.success('已重检:新的检验任务号为'+res.data.data.jobNo)

View File

@ -171,7 +171,7 @@
</el-table-column>
<el-table-column prop="move" :label="$t('crud.menu')" fixed="right" min-width="100">
<template slot-scope="scope">
<el-dropdown @command="handleCommand($event, scope.row, scope.$index)">
<el-dropdown @command="handleCommand($event, scope.row, scope.$index)" trigger="click">
<span class="el-dropdown-link">
<el-button type="primary" icon="el-icon-s-order" size="small" />
</span>

View File

@ -4,9 +4,22 @@
<input-select-dialog :modal-obj='productionRequisitionDialog'
:modal-fetch-fun='productionRequisitionDialog.fetchFun'
:modal-show.sync="productionRequisitionDialog.visible"
@inputDialogSelected="inputCallBack($event,productionRequisitionDialog)" ref="documentDialog">
@inputDialogSelected="productionRequisitionSelect" ref="documentDialog">
</input-select-dialog>
<el-dialog title="附件列表" :visible.sync="dnOrderFileDialogVisible">
<el-table :data="dnOrderFileList">
<el-table-column property="fileName" label="附件名称" width="260"></el-table-column>
<el-table-column property="filePath" label="附件路径" :show-overflow-tooltip="true" width="320"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="printAttachAction(scope.row.filePath)">打印
</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
<el-dialog title="设定打印参数"
:visible.sync="printParamDialogVisible"
width="50%"
@ -122,8 +135,8 @@
<div style="margin-top: 10px;">
<el-button type="warning" @click="pickingPrint('')">拣配单打印</el-button>
<el-button type="warning" @click="saleOutPrint">送货单打印</el-button>
<el-button type="warning" @click="printAttachAction('1')">要货附件打印</el-button>
<el-button type="warning" @click="printAttachAction('2')">出库附件打印</el-button>
<el-button type="warning" @click="printAttachShow('1')">要货附件打印</el-button>
<el-button type="warning" @click="printAttachShow('2')">出库附件打印</el-button>
<el-button type="danger" @click="chooseCancel">冲销</el-button>
</div>
</basic-container>
@ -138,7 +151,7 @@ import {
selectSaleOutDetail,
saleOutPostCancel,
pickingPostCancel,
pickingPrintA4, deliveryPrint, attachmentPrint
pickingPrintA4, deliveryPrint, attachmentPrint, showAttachmentFile, printByFilePath
} from '@/api/wms/sale-out-platform';
import { fetchListWithClose } from "@/api/wms/picking";
import {
@ -172,7 +185,12 @@ import { fetchListWithClose } from "@/api/wms/picking";
'width': '150px'
},
site: getStore({name: 'tenantId'}),
formObj: {},
formObj: {
documentNo: '',
externalDocumentNo: ''
},
dnOrderFileList: [],
dnOrderFileDialogVisible: false,
initData: {
suggestSize: 10
},
@ -318,8 +336,12 @@ import { fetchListWithClose } from "@/api/wms/picking";
//清除页面信息
doClear() {
this.formObj = Object.assign({}, this.initData);
this.formObj = {
documentNo: '',
externalDocumentNo: ''
};
this.saleOutList = [];
this.$refs.saleOutList.clearSelection();
},
doRetrieve() {
@ -554,39 +576,36 @@ import { fetchListWithClose } from "@/api/wms/picking";
});
},
inputCallBack(row, dialog) {
inputCallBack.call(this, row, dialog);
productionRequisitionSelect(row) {
let me = this;
me.formObj.documentNo = row.documentNo;
me.formObj.externalDocumentNo = row.externalDocumentNo;
this.doRetrieve();
},
pickingPrintA4() {
printAttachAction(filePath){
let me = this;
if (me.saleOutListSelection.length > 0) {
for (let i = 0; i < me.saleOutListSelection.length; i++) {
let row = me.saleOutListSelection[i];
if (row.pickStatus !== 'SUBMIT' && row.pickStatus !== 'POST') {
return me.$message.error("第" + (i + 1) + "行拣货未提交且未过账不允许打印标签");
}
let param = {
printAttachmentType: filePath,
};
showLoading();
printByFilePath(param).then(res => {
hideLoading();
me.dnOrderFileDialogVisible = false;
// 显示打印文件流
if (!isBlank(res.data.data)) {
window.open(res.data.data);
} else {
this.$message.error("查找打印文件失败")
}
let param = {
documentNo: me.formObj.documentNo,
printer: me.printerA4,
seqList: me.saleOutListSelection.map(o => o.seq),
};
showLoading();
pickingPrintA4(param).then(res => {
hideLoading();
me.$message.success("打印成功");
}).catch(() => {
hideLoading();
});
} else {
me.$message.error("请选择要打印的行项目");
}
}).catch(() => {
hideLoading();
});
},
printAttachAction(fieldType){
printAttachShow(fieldType){
let me = this;
me.dnOrderFileList = [];
if(isBlank(me.formObj.externalDocumentNo)){
me.$message.error("DN单号不能为空");
return;
@ -596,14 +615,10 @@ import { fetchListWithClose } from "@/api/wms/picking";
printAttachmentType: fieldType,
};
showLoading();
attachmentPrint(param).then(res => {
showAttachmentFile(param).then(res => {
hideLoading();
// 显示打印文件流
if (!isBlank(res.data.data)) {
window.open(res.data.data);
} else {
this.$message.error("查找打印文件失败")
}
me.dnOrderFileDialogVisible = true;
me.dnOrderFileList = res.data.data;
}).catch(() => {
hideLoading();
});