配件管理功能优化

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

@ -61,4 +61,13 @@ export function getPartTypeFileList(query) {
method: 'get',
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"
/>
<el-table-column
<!-- <el-table-column
label="供应商"
align="center"
prop="supplierName"
prop="supplier"
:show-overflow-tooltip="true"
/>
/> -->
<el-table-column
label="出厂日期"
align="center"

View File

@ -83,10 +83,10 @@
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template>
</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="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"/>
<el-table-column label="物资厂家" align="center" prop="supplier" :show-overflow-tooltip="true"/>
<el-table-column label="创建人" align="center" prop="createBy" :show-overflow-tooltip="true"/>
<el-table-column label="创建时间" align="center" prop="createTime" width="200" :show-overflow-tooltip="true"/>
@ -132,178 +132,156 @@
@pagination="getList"
/>
<!-- 验收单弹窗 -->
<el-dialog
:title="title"
:visible.sync="openPrint"
width="1100px"
append-to-body
>
<div style="height: 500px; overflow-y: scroll">
<vue-easy-print tableShow ref="remarksPrintRef" class="print">
<div
class="title"
style="
text-align: center;
font-weight: 600;
font-size: 16px;
"
>
机具配件到货验收单
</div>
<div
class="info"
style="margin-top: 10px; display: flex; flex-wrap: wrap"
>
<div
class="item"
style="
width: 100%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>单据编号{{printData.code}}</span>
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>生产厂家供应商{{printData.supplierName}}</span>
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>到货日期{{printData.arrivalDate}}</span>
</div>
</div>
<el-table
:data="printTableData"
class="table"
style="
margin-top: 20px;
width: 1000px;
padding-bottom: 1px;
"
border
>
<!-- <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"
prop="maTypeName"
/>
<el-table-column
label="规格型号"
align="center"
prop="typeName"
/>
<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"
prop="checkResult"
/>
</el-table-column>
<el-table-column
label="备注"
align="center"
prop="remark"
/>
<!-- <el-table-column-->
<!-- label="合格证及技术资料"-->
<!-- align="center"-->
<!-- prop=""-->
<!-- />-->
<!-- <el-table-column label="包装" align="center" prop="" />-->
</el-table>
<div
class="fillIn"
style="
margin-top: 20px;
display: flex;
justify-content: space-between;
"
>
<div class="item" style="width: 33%">
<div >
<span>供应科{{printData.supplyDept}}</span>
</div>
</div>
<!-- <div class="item" style="width: 33%">
<div>
<span>生产技术科{{printData.productionTechDept}}</span>
</div>
</div> -->
<div class="item" style="width: 33%">
<div>
<span>生产技术科</span>
<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-select>
</div>
</div>
<div class="item" style="width: 33%">
<div>
<span>库管班{{printData.warehouseTeam}}</span>
</div>
</div>
</div>
</vue-easy-print>
<!-- 入库单弹窗 -->
<el-dialog
:title="title"
:visible.sync="openPrint"
width="1100px"
append-to-body
>
<div style="height: 500px; overflow-y: scroll">
<vue-easy-print tableShow ref="remarksPrintRef" class="print">
<div
class="title"
style="text-align: center; font-weight: 600; font-size: 16px"
>
机具配件到货入库单
</div>
<div
class="info"
style="margin-top: 10px; display: flex; flex-wrap: wrap"
>
<div
class="item"
style="
width: 100%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>单据编号{{printData.code}}</span>
</div>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>生产厂家供应商{{printData.supplier}}</span>
</div>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="print"> </el-button>
<el-button @click="openPrint = false"> </el-button>
<div
class="item"
style="
width: 50%;
flex-shrink: 0;
margin-bottom: 5px;
font-size: 14px;
"
>
<span>到货日期{{printData.arrivalTime}}</span>
</div>
</el-dialog>
</div>
<el-table
:data="printTableData"
class="table"
style="margin-top: 20px; width: 1000px; padding-bottom: 1px"
border
>
<!-- <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"
prop="maName"
/>
<el-table-column
label="配件名称"
align="center"
prop="maTypeName"
/>
<el-table-column
label="规格型号"
align="center"
prop="partName"
/>
<el-table-column label="单位" align="center" prop="unitName" />
<el-table-column label="采购数量" align="center" prop="purchaseNum" />
<!-- <el-table-column label="验收情况" align="center">
<el-table-column
label="到货数量"
align="center"
prop="purchaseNum"
/>
<el-table-column
label="验收结论"
align="center"
prop="purchaseNum"
/>
</el-table-column>
<el-table-column label="备注" align="center" prop="unitName" /> -->
</el-table>
<div
class="fillIn"
style="
margin-top: 20px;
display: flex;
justify-content: space-between;
"
>
<div class="item" style="width: 33%">
<div>
<span>供应科</span>
</div>
</div>
<!-- <div class="item" style="width: 33%">
<div>
<span>生产技术科</span>
</div>
</div> -->
<div class="item" style="width: 33%">
<div>
<span>生产技术科</span>
<!-- <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-select> -->
</div>
</div>
<div class="item" style="width: 33%">
<div>
<span>库管班</span>
</div>
</div>
</div>
</vue-easy-print>
</div>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="print"> </el-button>
<el-button @click="openPrint = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getPurchaseCheckFormByTaskId } from "@/api/purchase/goodsAccept";
import { getListNewBuy } from '@/api/part/partArrived';
import { passAll,rejectAll } from '@/api/part/partAccept';
import { downloadFile } from '@/utils/download'
import { getToken } from '@/utils/auth'
import { getListNewBuy,getInBoundForm } from '@/api/part/partArrived';
import { passAll, rejectAll } from '@/api/part/partAccept';
import vueEasyPrint from "vue-easy-print";
import { downloadFile } from '@/utils/download'
import { getToken } from '@/utils/auth'
export default {
name: "PartAcceptList",
dicts: ['part_task_status'],
components: { vueEasyPrint },
data() {
return {
//
@ -440,27 +418,24 @@ import { passAll,rejectAll } from '@/api/part/partAccept';
this.$modal.msgError('驳回失败')
})
},
//
//
handlePrint(row) {
// this.query.taskId = row.taskId
this.getPrintTable(row.taskId)
this.openPrint = true
this.title = '新购工机具验收单'
// this.query.taskId = row.taskId
this.openPrint = true;
this.title = "机具配件到货入库单";
let params = {
id: row.id,
taskId: row.taskId,
};
this.getPrintTable(params)
},
//
getPrintTable(taskId) {
getPurchaseCheckFormByTaskId(taskId).then((response) => {
this.printData = response.data
this.printTableData = response.data.materialList
// let supplierList = []
// this.printTableData.forEach((e) => {
// if (e.supplier) {
// supplierList.push(e.supplier)
// }
// })
// supplierList = [...new Set(supplierList)]
// this.supplierStr = supplierList.join(',')
})
//
getPrintTable(params) {
getInBoundForm({ id: params.id,taskId:params.taskId }).then((response) => {
this.printData = response.data.partTypeCheckInfo;
this.printTableData = response.data.partTypeCheckDetailsList;
});
},
//
print() {

View File

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

View File

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