配件管理功能优化

This commit is contained in:
hongchao 2025-01-21 16:18:59 +08:00
parent 05790958e6
commit 1f76e51498
5 changed files with 206 additions and 249 deletions

View File

@ -62,3 +62,12 @@ export function getPartTypeFileList(query) {
params: query params: query
}) })
} }
//根据任务id查询入库单
export function getInBoundForm(query) {
return request({
url: '/material/part_arrived/getInBoundForm',
method: 'get',
params: query
})
}

View File

@ -148,12 +148,12 @@
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> />
<el-table-column <!-- <el-table-column
label="供应商" label="供应商"
align="center" align="center"
prop="supplierName" prop="supplier"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> /> -->
<el-table-column <el-table-column
label="出厂日期" label="出厂日期"
align="center" align="center"

View File

@ -83,7 +83,7 @@
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span> <span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="到货时间" align="center" prop="arrivalTime" width="150" :show-overflow-tooltip="true"/> <el-table-column label="到货时间" align="center" prop="arrivalTime" width="200" :show-overflow-tooltip="true"/>
<el-table-column label="采购单号" align="center" prop="code" width="150" :show-overflow-tooltip="true"/> <el-table-column label="采购单号" align="center" prop="code" width="150" :show-overflow-tooltip="true"/>
<el-table-column label="采购配件" align="center" prop="purchaseMaTypeName" :show-overflow-tooltip="true"/> <el-table-column label="采购配件" align="center" prop="purchaseMaTypeName" :show-overflow-tooltip="true"/>
<el-table-column label="采购数量" align="center" prop="purchaseMaNumber" :show-overflow-tooltip="true"/> <el-table-column label="采购数量" align="center" prop="purchaseMaNumber" :show-overflow-tooltip="true"/>
@ -132,7 +132,7 @@
@pagination="getList" @pagination="getList"
/> />
<!-- 验收单弹窗 --> <!-- 入库单弹窗 -->
<el-dialog <el-dialog
:title="title" :title="title"
:visible.sync="openPrint" :visible.sync="openPrint"
@ -143,13 +143,9 @@
<vue-easy-print tableShow ref="remarksPrintRef" class="print"> <vue-easy-print tableShow ref="remarksPrintRef" class="print">
<div <div
class="title" class="title"
style=" style="text-align: center; font-weight: 600; font-size: 16px"
text-align: center;
font-weight: 600;
font-size: 16px;
"
> >
机具配件到货验收 机具配件到货入库单
</div> </div>
<div <div
class="info" class="info"
@ -175,7 +171,7 @@
font-size: 14px; font-size: 14px;
" "
> >
<span>生产厂家供应商{{printData.supplierName}}</span> <span>生产厂家供应商{{printData.supplier}}</span>
</div> </div>
<div <div
@ -187,42 +183,35 @@
font-size: 14px; font-size: 14px;
" "
> >
<span>到货日期{{printData.arrivalDate}}</span> <span>到货日期{{printData.arrivalTime}}</span>
</div> </div>
</div> </div>
<el-table <el-table
:data="printTableData" :data="printTableData"
class="table" class="table"
style=" style="margin-top: 20px; width: 1000px; padding-bottom: 1px"
margin-top: 20px;
width: 1000px;
padding-bottom: 1px;
"
border border
> >
<!-- <el-table-column type="selection" width="55" align="center" />--> <!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="序号" align="center" type="index" row="2" />
<el-table-column <el-table-column
label="序号" label="配件类型"
align="center" align="center"
type="index" prop="maName"
row=2
/> />
<el-table-column <el-table-column
label="物资名称" label="配件名称"
align="center" align="center"
prop="maTypeName" prop="maTypeName"
/> />
<el-table-column <el-table-column
label="规格型号" label="规格型号"
align="center" align="center"
prop="typeName" prop="partName"
/> />
<el-table-column <el-table-column label="单位" align="center" prop="unitName" />
label="单位" <el-table-column label="采购数量" align="center" prop="purchaseNum" />
align="center" <!-- <el-table-column label="验收情况" align="center">
prop="unitName"
/>
<el-table-column label="验收情况" align="center">
<el-table-column <el-table-column
label="到货数量" label="到货数量"
align="center" align="center"
@ -231,21 +220,10 @@
<el-table-column <el-table-column
label="验收结论" label="验收结论"
align="center" align="center"
prop="checkResult" prop="purchaseNum"
/> />
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="备注" align="center" prop="unitName" /> -->
label="备注"
align="center"
prop="remark"
/>
<!-- <el-table-column-->
<!-- label="合格证及技术资料"-->
<!-- align="center"-->
<!-- prop=""-->
<!-- />-->
<!-- <el-table-column label="包装" align="center" prop="" />-->
</el-table> </el-table>
<div <div
@ -258,27 +236,27 @@
> >
<div class="item" style="width: 33%"> <div class="item" style="width: 33%">
<div> <div>
<span>供应科{{printData.supplyDept}}</span> <span>供应科</span>
</div> </div>
</div> </div>
<!-- <div class="item" style="width: 33%"> <!-- <div class="item" style="width: 33%">
<div> <div>
<span>生产技术科{{printData.productionTechDept}}</span> <span>生产技术科</span>
</div> </div>
</div> --> </div> -->
<div class="item" style="width: 33%"> <div class="item" style="width: 33%">
<div> <div>
<span>生产技术科</span> <span>生产技术科</span>
<el-select v-model="printData.productionTechDept" placeholder="请选择生产技术科"> <!-- <el-select v-model="printData.productionTechDept" placeholder="请选择生产技术科">
<el-option v-for="item in productionTechDeptOptions" :key="item.value" :label="item.label" :value="item.value"></el-option> <el-option v-for="item in productionTechDeptOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select> </el-select> -->
</div> </div>
</div> </div>
<div class="item" style="width: 33%"> <div class="item" style="width: 33%">
<div> <div>
<span>库管班{{printData.warehouseTeam}}</span> <span>库管班</span>
</div> </div>
</div> </div>
</div> </div>
@ -291,19 +269,19 @@
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { getPurchaseCheckFormByTaskId } from "@/api/purchase/goodsAccept"; import { getListNewBuy,getInBoundForm } from '@/api/part/partArrived';
import { getListNewBuy } from '@/api/part/partArrived';
import { passAll, rejectAll } from '@/api/part/partAccept'; import { passAll, rejectAll } from '@/api/part/partAccept';
import vueEasyPrint from "vue-easy-print";
import { downloadFile } from '@/utils/download' import { downloadFile } from '@/utils/download'
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
export default { export default {
name: "PartAcceptList", name: "PartAcceptList",
dicts: ['part_task_status'], dicts: ['part_task_status'],
components: { vueEasyPrint },
data() { data() {
return { return {
// //
@ -440,27 +418,24 @@ import { passAll,rejectAll } from '@/api/part/partAccept';
this.$modal.msgError('驳回失败') this.$modal.msgError('驳回失败')
}) })
}, },
// //
handlePrint(row) { handlePrint(row) {
// this.query.taskId = row.taskId // this.query.taskId = row.taskId
this.getPrintTable(row.taskId) this.openPrint = true;
this.openPrint = true this.title = "机具配件到货入库单";
this.title = '新购工机具验收单' let params = {
id: row.id,
taskId: row.taskId,
};
this.getPrintTable(params)
}, },
// //
getPrintTable(taskId) { getPrintTable(params) {
getPurchaseCheckFormByTaskId(taskId).then((response) => { getInBoundForm({ id: params.id,taskId:params.taskId }).then((response) => {
this.printData = response.data this.printData = response.data.partTypeCheckInfo;
this.printTableData = response.data.materialList this.printTableData = response.data.partTypeCheckDetailsList;
// let supplierList = []
// this.printTableData.forEach((e) => { });
// if (e.supplier) {
// supplierList.push(e.supplier)
// }
// })
// supplierList = [...new Set(supplierList)]
// this.supplierStr = supplierList.join(',')
})
}, },
// //
print() { print() {

View File

@ -543,7 +543,7 @@ export default {
obj.purchaseTaxPrice = 0 obj.purchaseTaxPrice = 0
obj.purchaseNum = 1 obj.purchaseNum = 1
obj.status = 0 obj.status = 0
obj.isExitFile = '0', obj.isExitFile = '1',
obj.bmFileInfos=[] obj.bmFileInfos=[]
tempList.push(obj); tempList.push(obj);
break break

View File

@ -107,7 +107,7 @@
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> />
<el-table-column <el-table-column
label="采购物资" label="采购配件"
align="center" align="center"
prop="purchaseMaTypeName" prop="purchaseMaTypeName"
width="140" width="140"
@ -223,7 +223,7 @@
@pagination="getList" @pagination="getList"
/> />
<!-- 验收单弹窗 --> <!-- 入库单弹窗 -->
<el-dialog <el-dialog
:title="title" :title="title"
:visible.sync="openPrint" :visible.sync="openPrint"
@ -236,7 +236,7 @@
class="title" class="title"
style="text-align: center; font-weight: 600; font-size: 16px" style="text-align: center; font-weight: 600; font-size: 16px"
> >
机具配件到货验收 机具配件到货入库
</div> </div>
<div <div
class="info" class="info"
@ -251,7 +251,7 @@
font-size: 14px; font-size: 14px;
" "
> >
<span>单据编号</span> <span>单据编号{{printData.code}}</span>
</div> </div>
<div <div
class="item" class="item"
@ -262,7 +262,7 @@
font-size: 14px; font-size: 14px;
" "
> >
<span>生产厂家供应商</span> <span>生产厂家供应商{{printData.supplier}}</span>
</div> </div>
<div <div
@ -274,7 +274,7 @@
font-size: 14px; font-size: 14px;
" "
> >
<span>到货日期</span> <span>到货日期{{printData.arrivalTime}}</span>
</div> </div>
</div> </div>
<el-table <el-table
@ -286,17 +286,23 @@
<!-- <el-table-column type="selection" width="55" align="center" />--> <!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="序号" align="center" type="index" row="2" /> <el-table-column label="序号" align="center" type="index" row="2" />
<el-table-column <el-table-column
label="物资名称" label="配件类型"
align="center" align="center"
prop="machineTypeName" prop="maName"
/>
<el-table-column
label="配件名称"
align="center"
prop="maTypeName"
/> />
<el-table-column <el-table-column
label="规格型号" label="规格型号"
align="center" align="center"
prop="specificationType" prop="partName"
/> />
<el-table-column label="单位" align="center" prop="unitName" /> <el-table-column label="单位" align="center" prop="unitName" />
<el-table-column label="验收情况" align="center"> <el-table-column label="采购数量" align="center" prop="purchaseNum" />
<!-- <el-table-column label="验收情况" align="center">
<el-table-column <el-table-column
label="到货数量" label="到货数量"
align="center" align="center"
@ -308,14 +314,7 @@
prop="purchaseNum" prop="purchaseNum"
/> />
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="unitName" /> <el-table-column label="备注" align="center" prop="unitName" /> -->
<!-- <el-table-column-->
<!-- label="合格证及技术资料"-->
<!-- align="center"-->
<!-- prop=""-->
<!-- />-->
<!-- <el-table-column label="包装" align="center" prop="" />-->
</el-table> </el-table>
<div <div
@ -340,9 +339,9 @@
<div class="item" style="width: 33%"> <div class="item" style="width: 33%">
<div> <div>
<span>生产技术科</span> <span>生产技术科</span>
<el-select v-model="printData.productionTechDept" placeholder="请选择生产技术科"> <!-- <el-select v-model="printData.productionTechDept" placeholder="请选择生产技术科">
<el-option v-for="item in productionTechDeptOptions" :key="item.value" :label="item.label" :value="item.value"></el-option> <el-option v-for="item in productionTechDeptOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select> </el-select> -->
</div> </div>
</div> </div>
@ -365,15 +364,12 @@
</template> </template>
<script> <script>
import { import { getListNewBuy, deletePartInfo, getInBoundForm } from '@/api/part/partArrived';
getAcceptanceForm, import vueEasyPrint from "vue-easy-print";
} from "@/api/purchase/goodsArrived";
import { getListNewBuy,deletePartInfo } from '@/api/part/partArrived';
export default { export default {
name: "Home", name: "Home",
dicts: ["part_task_status"], dicts: ["part_task_status"],
// components: { vueEasyPrint }, components: { vueEasyPrint },
data() { data() {
return { return {
// //
@ -509,59 +505,36 @@ export default {
}; };
this.resetForm("form"); this.resetForm("form");
}, },
// //
// handleSelectionChange(selection) {
// this.ids = selection.map((item) => item.taskId)
// this.single = selection.length != 1
// this.multiple = !selection.length
// },
/** 验收按钮 */ /** 验收按钮 */
handleAccept(row) { handleAccept(row) {
// let query = { taskId: row.taskId }
// this.$tab.closeOpenPage({
// path: '/store/newBuy/newDevicesAccept',
// query,
// })
this.$emit("acceptTools", row.taskId); this.$emit("acceptTools", row.taskId);
}, },
// //
handleCode(row) { handleCode(row) {
// let query = { taskId: row.taskId }
// this.$tab
// .closeOpenPage({
// path: '/store/newBuy/newDevicesCode',
// query,
// })
// .then(() => {
// this.$tab.refreshPage()
// })
this.$emit("codingTools", row.taskId); this.$emit("codingTools", row.taskId);
}, },
// //
getPrintTable(taskId) { getPrintTable(params) {
getAcceptanceForm({ taskId: taskId }).then((response) => { getInBoundForm({ id: params.id,taskId:params.taskId }).then((response) => {
this.printData = response.data; this.printData = response.data.partTypeCheckInfo;
this.printTableData = response.data.checkDetailsList; this.printTableData = response.data.partTypeCheckDetailsList;
let supplierList = [];
this.printTableData.forEach((e) => {
if (e.supplier) {
supplierList.push(e.supplier);
}
});
supplierList = [...new Set(supplierList)];
this.supplierStr = supplierList.join(",");
}); });
}, },
// //
handlePrint(row) { handlePrint(row) {
// this.query.taskId = row.taskId // this.query.taskId = row.taskId
// this.getPrintTable(row.taskId)
this.openPrint = true; this.openPrint = true;
this.title = "机具设备到货验收单"; this.title = "机具配件到货入库单";
let params = {
id: row.id,
taskId: row.taskId,
};
this.getPrintTable(params)
}, },
// //
print() { print() {