领退管理-优化

This commit is contained in:
bb_pan 2025-03-20 13:14:39 +08:00
parent d1d6451260
commit 3167c09255
5 changed files with 235 additions and 279 deletions

View File

@ -1,55 +1,43 @@
<template> <template>
<el-dialog <el-dialog
v-dialogDrag v-dialogDrag
v-loading.fullscreen.lock="fullscreenLoading" v-loading.fullscreen.lock="fullscreenLoading"
:before-close="cancel" :before-close="cancel"
:title="dialogTitle" :title="dialogTitle"
:visible.sync="dialogShowFlag" :visible.sync="dialogShowFlag"
append-to-body append-to-body
width="800px" width="1136px"
> >
<div <div id="printcontent" style="height: 500px; overflow-y: scroll; padding: 0 20px">
id="printcontent" <vue-easy-print tableShow ref="printRef">
style="height: 500px; overflow-y: scroll; padding: 0 20px" <div style="text-align: center; font-weight: 800; font-size: 26px; margin-bottom: 20px">{{ billTitle }}</div>
> <div class="order_box">
<vue-easy-print tableShow ref="printRef"> <div class="order_box_one">
<div style="text-align: center; font-weight: 800;font-size: 18px;margin-bottom: 20px;">{{ billTitle }}</div> <div style="width: 50%">
<div class="order_box"> <span>领用单位</span>
<div class="order_box_one"> <span>{{ rowObj.unitName }}</span>
<div> </div>
<span>工程名称</span>
<span>{{ rowObj.lotName }}</span> <div style="width: 50%">
</div> <span>回库时间</span>
<div> <span>{{ rowObj.backTime }}</span>
<span>退料时间</span> </div>
<span>{{ rowObj.backTime }}</span> </div>
</div> <div class="order_box_one">
</div> <div>
<div class="order_box_one"> <span>工程名称</span>
<div> <span>{{ rowObj.lotName }}</span>
<span>退料单位</span> </div>
<span>{{ rowObj.unitName }}</span> <!-- <div>
</div> <span>编号</span>
<div> <span>{{ rowObj.code }}</span>
<span>编号</span> </div> -->
<span>{{ rowObj.code }}</span> </div>
</div> </div>
</div> <el-table :data="tableData" border style="width: 100%; margin-bottom: 10px; padding: 2px">
</div> <el-table-column label="序号" align="center" type="index" />
<el-table <el-table-column label="机具名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
:data="tableData" <!-- <el-table-column type="expand">
border
style="width: 100%; margin-bottom: 10px; padding: 2px"
>
<el-table-column label="编号" align="center" type="index" />
<el-table-column
label="机具名称"
align="center"
prop="typeName"
:show-overflow-tooltip="true"
class-name="small-padding fixed-width"
/>
<!-- <el-table-column type="expand">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="nested-table-container"> <div class="nested-table-container">
<el-table :data="scope.row.maTypeDetails" style="width: 100%"> <el-table :data="scope.row.maTypeDetails" style="width: 100%">
@ -83,33 +71,13 @@
</div> </div>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column <el-table-column label="规格型号" align="center" prop="typeCode" :show-overflow-tooltip="true" />
label="规格型号" <el-table-column label="单位" align="center" prop="unitNames" width="90px" show-overflow-tooltip />
align="center" <el-table-column label="回库数量" align="center" prop="num"></el-table-column>
prop="typeCode" <el-table-column label="状态" align="center" prop="backStatus"></el-table-column>
:show-overflow-tooltip="true" <el-table-column label="设备编号" align="center" prop="maCode" :show-overflow-tooltip="true" />
class-name="small-padding fixed-width" <el-table-column label="备注" align="center" prop="remark"></el-table-column>
/> <!-- <el-table-column prop="remarks" label="备注" align="center">
<el-table-column
label="退料数量"
align="center"
class-name="small-padding fixed-width"
width="200"
prop="num"
></el-table-column>
<el-table-column
label="状态"
align="center"
class-name="small-padding fixed-width"
prop="backStatus"
></el-table-column>
<el-table-column
label="备注"
align="center"
class-name="small-padding fixed-width"
prop="remark"
></el-table-column>
<!-- <el-table-column prop="remarks" label="备注" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span <span
@click="remarksClick" @click="remarksClick"
@ -118,201 +86,170 @@
> >
</template> </template>
</el-table-column>--> </el-table-column>-->
</el-table> </el-table>
<div class="order_footer"> <div style="text-align: center; font-size: 20px; font-weight: 800">机器类设备需维修人员检查后确定好坏</div>
<div>审核</div> <div class="order_footer">
<div>退料</div> <div style="width: 60%">机具公司收货人</div>
<div>操作人</div> <!-- <div>退料</div> -->
</div> <div>分公司退货人</div>
</vue-easy-print>
<div>
<el-button type="primary" @click="print">打印</el-button>
</div>
</div> </div>
<el-dialog </vue-easy-print>
:title="title" </div>
:visible.sync="open" <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
width="800px" <div style="height: 500px; overflow-y: scroll; padding: 0 20px">
append-to-body <vue-easy-print tableShow ref="remarksPrintRef">
> <div class="remarks_box">
<div style="height: 500px; overflow-y: scroll; padding: 0 20px"> <div class="remarks_box_title">退料编码明细</div>
<vue-easy-print tableShow ref="remarksPrintRef"> </div>
<div class="remarks_box"> <el-table :data="tableData" border style="width: 100%; margin-bottom: 10px; padding: 2px">
<div class="remarks_box_title">退料编码明细</div> <el-table-column label="序号" align="center" type="index" />
</div> <el-table-column prop="name" label="名称" align="center"></el-table-column>
<el-table <el-table-column prop="type" label="规格型号" align="center"></el-table-column>
:data="tableData" <el-table-column prop="unit" label="单位" align="center"></el-table-column>
border <el-table-column prop="number" label="数量" align="center"></el-table-column>
style="width: 100%; margin-bottom: 10px; padding: 2px" </el-table>
> </vue-easy-print>
<el-table-column </div>
label="序号" <div style="margin-top: 10px">
align="center" <el-button type="primary" @click="remarksPrint">打印1</el-button>
type="index" </div>
/>
<el-table-column
prop="name"
label="名称"
align="center"
></el-table-column>
<el-table-column
prop="type"
label="规格型号"
align="center"
></el-table-column>
<el-table-column
prop="unit"
label="单位"
align="center"
></el-table-column>
<el-table-column
prop="number"
label="数量"
align="center"
></el-table-column>
</el-table>
</vue-easy-print>
</div>
<div style="margin-top: 10px">
<el-button type="primary" @click="remarksPrint"
>打印1</el-button
>
</div>
</el-dialog>
</el-dialog> </el-dialog>
<div slot="footer" class="dialog-footer" style="text-align: center">
<div style="text-align: left;color: #bbb;">提示: 请使用横向打印</div>
<el-button type="primary" @click="print"> </el-button>
<el-button @click="dialogShowFlag = false"> </el-button>
</div>
</el-dialog>
</template> </template>
<script> <script>
import vueEasyPrint from 'vue-easy-print' import vueEasyPrint from 'vue-easy-print'
import { import { getViewByApply, materialReturnNoteByExamine } from '@/api/claimAndRefund/return.js'
getViewByApply,
materialReturnNoteByExamine,
} from '@/api/claimAndRefund/return.js'
export default { export default {
components: { vueEasyPrint }, components: { vueEasyPrint },
props: { props: {
// //
isShowFlag: { isShowFlag: {
type: Boolean, type: Boolean,
default: false, default: false,
},
//
priKey: {
type: [String, Number],
default: '',
},
//
dialogTitle: {
type: String,
default: '',
},
rowObj: {
type: Object,
default: {},
},
// title
title: {
type: String,
default: '',
},
billTitle: {
type: String,
default: '',
},
}, },
watch: { //
isShowFlag(val) { priKey: {
if (val) { type: [String, Number],
this.init() default: '',
}
},
}, },
computed: { //
dialogShowFlag: { dialogTitle: {
get() { type: String,
return this.isShowFlag default: '',
},
set(v) {
this.$emit('update:isShowFlag', v)
},
},
}, },
data() { rowObj: {
return { type: Object,
fullscreenLoading: false, default: {},
tableData: [], },
open: false, // title
title: '', // title: {
} // type: String,
// default: '',
// },
billTitle: {
type: String,
default: '',
},
},
watch: {
isShowFlag(val) {
if (val) {
this.init()
}
},
},
computed: {
dialogShowFlag: {
get() {
return this.isShowFlag
},
set(v) {
this.$emit('update:isShowFlag', v)
},
},
},
data() {
return {
fullscreenLoading: false,
tableData: [],
open: false,
title: '',
}
},
methods: {
init() {
let params = {
taskId: this.rowObj.taskId,
agreementId: this.rowObj.agreementId,
badId: this.rowObj.badId,
}
materialReturnNoteByExamine(params).then((res) => {
this.tableData = res.data
})
},
//
cancel() {
this.dialogShowFlag = false
},
print() {
this.$refs.printRef.print()
},
remarksClick() {
this.title = '查看'
this.open = true
},
remarksPrint() {
this.$refs.remarksPrintRef.print()
}, },
methods: {
init() {
let params = {
taskId: this.rowObj.taskId,
agreementId: this.rowObj.agreementId,
badId: this.rowObj.badId,
}
materialReturnNoteByExamine(params).then((res) => {
this.tableData = res.data
})
},
//
cancel() {
this.dialogShowFlag = false
},
print() {
this.$refs.printRef.print()
},
remarksClick() {
this.title = '查看'
this.open = true
},
remarksPrint() {
this.$refs.remarksPrintRef.print()
},
// submit() { // submit() {
// this.$refs["dynamicValidateForm"].validate(valid => { // this.$refs["dynamicValidateForm"].validate(valid => {
// console.log("valid", valid); // console.log("valid", valid);
// if (valid) { // if (valid) {
// console.log("11111"); // console.log("11111");
// this.cancel(); // this.cancel();
// } else { // } else {
// return false; // return false;
// } // }
// }); // });
// } // }
}, },
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.order_box { .order_box {
display: flex;
flex-direction: column;
.order_box_one {
width: 100%;
display: flex; display: flex;
flex-direction: column; align-content: center;
.order_box_one { /* justify-content: space-between; */
width: 100%; margin-bottom: 10px;
display: flex; :last-child {
align-content: center; margin-right: 20px;
justify-content: space-between;
margin-bottom: 10px;
:last-child {
margin-right: 20px;
}
} }
}
} }
.order_footer { .order_footer {
margin-top: 10px; margin-top: 10px;
display: flex; display: flex;
justify-content: space-around; /* justify-content: space-around; */
align-items: center; align-items: center;
} }
.remarks_box { .remarks_box {
display: flex; display: flex;
// align-items: center; // align-items: center;
justify-content: center; justify-content: center;
.remarks_box_title { .remarks_box_title {
margin-bottom: 10px; margin-bottom: 10px;
font-size: 18px; font-size: 18px;
} }
} }
</style> </style>

View File

@ -92,6 +92,13 @@
> >
出库 出库
</el-button> </el-button>
<el-button
size="mini"
type="primary"
@click="openLld(scope.row, 1)"
>
出库单
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -156,7 +163,7 @@
<el-table-column label="操作" align="center" v-if="isView"> <el-table-column label="操作" align="center" v-if="isView">
<template slot-scope="{ row }" v-if="row.alNum > 0"> <template slot-scope="{ row }" v-if="row.alNum > 0">
<el-button type="text" @click="onPreviewRecord(row)">出库记录</el-button> <el-button type="text" @click="onPreviewRecord(row)">出库记录</el-button>
<el-button type="text" @click="openLld(row)">出库单</el-button> <el-button type="text" @click="openLld(row, 2)">出库单</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -373,53 +380,62 @@
</el-dialog> </el-dialog>
<!-- 领料单弹窗 --> <!-- 领料单弹窗 -->
<el-dialog :visible.sync="open" width="800px" append-to-body> <el-dialog :visible.sync="open" width="1138px" append-to-body>
<div style="height: 500px; overflow-y: scroll; padding: 0 20px"> <div style="height: 500px; overflow-y: scroll; padding: 0 20px">
<vue-easy-print tableShow ref="remarksPrintRef" class="print"> <vue-easy-print tableShow ref="remarksPrintRef" class="print">
<div class="title" style="text-align: center; font-weight: 600; font-size: 16px"> 出库单 </div> <div class="title" style="text-align: center; font-weight: 600; font-size: 26px">
重庆市送变电机具设备份工是工机具出库单
</div>
<div class="info" style="margin-top: 10px; display: flex; flex-wrap: wrap"> <div class="info" style="margin-top: 10px; display: flex; flex-wrap: wrap">
<div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px"> <div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px">
<span>领料单位</span>{{ leaseOutData.unitName }} <span>领料单位</span>{{ leaseOutData.unitName }}
</div> </div>
<div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px">
<span>出库时间</span>{{ leaseOutData.updateTime }}
</div>
<div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px"> <div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px">
<span>工程名称</span>{{ leaseOutData.proName }} <span>工程名称</span>{{ leaseOutData.proName }}
</div> </div>
<div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px"> <!-- <div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px">
<span>时间</span>{{ leaseOutData.updateTime }}
</div>
<div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px">
<span>编号</span>{{ leaseOutData.code }} <span>编号</span>{{ leaseOutData.code }}
</div> </div> -->
</div> </div>
<el-table :data="leaseOutDetailRecord" class="table" border style="margin-top: 20px; padding: 1px"> <el-table :data="leaseOutDetailRecord" class="table" border style="margin-top: 20px; padding: 1px">
<!-- <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" /> <el-table-column label="序号" align="center" type="index" />
<el-table-column label="类型名称" align="center" prop="typeName" /> <el-table-column label="类型名称" align="center" prop="typeName" />
<el-table-column label="规格型号" align="center" prop="typeModelName" /> <el-table-column label="规格型号" align="center" prop="typeModelName" />
<el-table-column label="计量单位" align="center" prop="unitName" /> <el-table-column label="单位" align="center" prop="unitNames" />
<el-table-column label="出库数量" align="center" prop="outNum" /> <el-table-column label="出库数量" align="center" prop="outNum" />
<el-table-column label="状态" align="center" prop="status" >
<template slot-scope="scope">
<span>完好</span>
</template>
</el-table-column>
<el-table-column label="设备编码" align="center" prop="maCode" /> <el-table-column label="设备编码" align="center" prop="maCode" />
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="出库方式" align="center" prop="manageTypeName" /> <!-- <el-table-column label="出库方式" align="center" prop="manageTypeName" /> -->
</el-table> </el-table>
<div class="fillIn" style="margin-top: 30px; display: flex; justify-content: space-between"> <div style="margin: 15px 0;text-align: center; font-size: 20px; font-weight: 800">机器类设备需维修人员检查后确定好坏</div>
<div class="item" style="width: 25%"> <div class="fillIn" style=" display: flex">
<span>审核</span> <div class="item" style="width: 60%">
<span>机具分公司发货人</span>
</div> </div>
<div class="item" style="width: 25%"> <div class="item">
<span>领料</span> <span>分公司领用人</span>
</div> </div>
<div class="item" style="width: 25%"> <!-- <div class="item" style="width: 25%">
<span>仓库</span> <span>仓库</span>
</div> </div>
<div class="item" style="width: 25%"> <div class="item" style="width: 25%">
<span>操作人</span> <span>操作人</span>
</div> </div> -->
</div> </div>
</vue-easy-print> </vue-easy-print>
</div> </div>
<div slot="footer" class="dialog-footer" style="text-align: center"> <div slot="footer" class="dialog-footer" style="text-align: center">
<div style="text-align: left;color: #bbb;">提示: 请使用横向打印</div>
<el-button type="primary" @click="print"> </el-button> <el-button type="primary" @click="print"> </el-button>
<el-button @click="open = false"> </el-button> <el-button @click="open = false"> </el-button>
</div> </div>
@ -791,10 +807,13 @@ export default {
}) })
}, },
/* 打开出库单 */ /* 打开出库单 */
async openLld(row) { async openLld(row, type) {
this.open = true this.open = true
const params = {
const res = await getLeaseOutOrder({ parentId: row.parentId, typeId: row.typeId }) parentId: type == 1 ? row.id : row.parentId,
typeId: type == 1 ? '' : row.typeId,
}
const res = await getLeaseOutOrder(params)
this.leaseOutDetailRecord = res.data.leaseOutDetailRecord this.leaseOutDetailRecord = res.data.leaseOutDetailRecord
this.leaseOutData = res.data this.leaseOutData = res.data

View File

@ -249,7 +249,7 @@
icon="el-icon-tickets" icon="el-icon-tickets"
@click="handlePrint(scope.row)" @click="handlePrint(scope.row)"
v-hasPermi="['return:receive:list']" v-hasPermi="['return:receive:list']"
>退料</el-button >回库</el-button
> >
</template> </template>
</el-table-column> </el-table-column>
@ -480,8 +480,8 @@ export default {
//退 //退
handlePrint(row) { handlePrint(row) {
// this.title = "退"; // this.title = "退"
this.billTitle = '退料单' this.billTitle = '重庆市送变电机具设备分公司工机具回库单'
this.isShowOneFlag = true this.isShowOneFlag = true
this.rowObj = row this.rowObj = row
}, },

View File

@ -558,7 +558,7 @@
<!-- 第二行 --> <!-- 第二行 -->
<div style="display: flex; border-bottom: 1px solid #000"> <div style="display: flex; border-bottom: 1px solid #000">
<div style="text-align: center; border-right: 1px solid #000; width: 25%">{{ <div style="text-align: center; border-right: 1px solid #000; width: 25%">{{
upkeepObj.type upkeepObj.type || '-'
}}</div> }}</div>
<div style="text-align: center; border-right: 1px solid #000; width: 29%">{{ <div style="text-align: center; border-right: 1px solid #000; width: 29%">{{
upkeepObj.typeName upkeepObj.typeName
@ -601,7 +601,7 @@
<div style="width: 100%; min-height: 200px; padding-left: 10px" <div style="width: 100%; min-height: 200px; padding-left: 10px"
>维修处理情况: >维修处理情况:
<span v-for="item in upkeepObj.records" :key="item.repairContent" <span v-for="item in upkeepObj.records" :key="item.repairContent"
>{{ item.repairContent ? item.repairContent + ', ' : '' }} >{{ item.repairContent ? '更换' + item.repairContent + ', ' : '' }}
</span> </span>
</div> </div>
<div <div

View File

@ -43,13 +43,13 @@ module.exports = {
// target: `https://z.csgmall.com.cn`, // target: `https://z.csgmall.com.cn`,
// target: `http://192.168.0.15:39080`, //韩 // target: `http://192.168.0.15:39080`, //韩
target: `http://192.168.0.133:39080`, //超 // target: `http://192.168.0.133:39080`, //超
// target: `http://192.168.2.127:39080`, //超 // target: `http://192.168.2.127:39080`, //超
// target: `http://192.168.2.74:49080`, //旭/ // target: `http://192.168.2.74:49080`, //旭/
// target: `http://192.168.2.17:39080`, //帅 // target: `http://192.168.2.17:39080`, //帅
// target: `http://192.168.0.60:39080`, //福 // target: `http://192.168.0.60:39080`, //福
// target: `http://192.168.0.96:39080`, //马 target: `http://192.168.0.96:39080`, //马
//******** 注意事项 ********* */ //******** 注意事项 ********* */
//1.全局替换qrUrl二维码扫码提供的网址-发布服务器的地址target; //1.全局替换qrUrl二维码扫码提供的网址-发布服务器的地址target;