领料单优化

This commit is contained in:
bb_pan 2025-07-24 17:00:42 +08:00
parent f751b760af
commit f41d550719
5 changed files with 112 additions and 33 deletions

View File

@ -245,4 +245,12 @@ export function getPartTreeApi(data) {
method: 'get',
params: data
})
}
// 班组长列表
export function getUserListApi() {
return request({
url: '/material/ma_type/getUserList',
method: 'get',
})
}

View File

@ -305,16 +305,24 @@
<div class="fillIn" style="margin-top: 30px; display: flex; justify-content: space-between">
<div class="item" style="width: 23%; display: flex; align-items: center; flex-wrap: wrap">
<div style="width: 30%">审核</div>
<div style="width: 25%">审核</div>
<div
style="width: 70%; display: flex; align-items: center; flex-wrap: wrap"
v-if="leaseApplyData.leaseSignUrl"
style="width: 75%; display: flex; align-items: center; flex-wrap: wrap"
v-if="approveSignList.length > 0"
>
<!-- <div style="width: 80%;margin-left: 20px;">
<img :src="leaseApplyData.leaseSignUrl" style="width: 40px;height: 100px;transform: rotate(-90deg);max-width: 100%;" alt="">
</div> -->
<div
style="width: 80%; margin-left: 20px; height: 40px"
v-for="(item, index) in approveSignList"
:key="index"
>
<img
:src="item.outSignUrl"
:class="{ 'is-rotate': item.outSignType == 0 }"
style="width: 40px; height: 90px; max-width: 100%"
alt=""
/>
</div>
</div>
<!-- <img :src="leaseApplyData.directAuditSignUrl" style="width: 40px;height: 100px;transform: rotate(-90deg);max-width: 100%;" alt=""> -->
</div>
<div class="item" style="width: 24%; display: flex; align-items: center; flex-wrap: wrap">
<div style="width: 30%">领料</div>
@ -358,6 +366,14 @@
</div>
<div class="item" style="width: 25%; display: flex; align-items: center">
<div style="width: 25%">制单</div>
<div style="width: 75%" v-if="leaseApplyData.leaseSignUrl">
<img
:src="leaseApplyData.leaseSignUrl"
:class="{ 'is-rotate': leaseApplyData.leaseSignType == 0 }"
style="width: 40px; height: 90px; max-width: 100%"
alt=""
/>
</div>
</div>
</div>
</div>
@ -502,7 +518,8 @@ export default {
showView: false,
titleView: '',
getListViewInfo: [],
kgSignList: [] //
kgSignList: [], //
approveSignList: [], //
}
},
created() {
@ -670,6 +687,7 @@ export default {
this.outSignList = res.data.outSignList || []
console.log('🚀 ~ handleLld ~ this.outSignList:', this.outSignList)
this.kgSignList = res.data.kgSignList || []
this.approveSignList = res.data.approveSignList || []
console.log('🚀 ~ handleLld ~ this.kgSignList:', this.kgSignList)
},

View File

@ -277,14 +277,23 @@
<div class="fillIn" style="margin-top: 30px; display: flex; justify-content: space-between">
<div class="item" style="width: 23%; display: flex; align-items: center; flex-wrap: wrap">
<div style="width: 30%">审核</div>
<div
style="width: 70%; display: flex; align-items: center; flex-wrap: wrap"
v-if="leaseApplyData.leaseSignUrl"
>
<!-- <div style="width: 80%;margin-left: 20px;">
<img :src="leaseApplyData.leaseSignUrl" style="width: 40px;height: 100px;transform: rotate(-90deg);max-width: 100%;" alt="">
</div> -->
<div style="width: 25%">审核</div>
<div
style="width: 75%; display: flex; align-items: center; flex-wrap: wrap"
v-if="approveSignList.length > 0"
>
<div
style="width: 80%; margin-left: 20px; height: 40px"
v-for="(item, index) in approveSignList"
:key="index"
>
<img
:src="item.outSignUrl"
:class="{ 'is-rotate': item.outSignType == 0 }"
style="width: 40px; height: 90px; max-width: 100%"
alt=""
/>
</div>
</div>
</div>
<div class="item" style="width: 24%; display: flex; align-items: center; flex-wrap: wrap">
@ -339,6 +348,14 @@
</div>
<div class="item" style="width: 25%; display: flex; align-items: center">
<div style="width: 25%">制单</div>
<div style="width: 75%" v-if="leaseApplyData.leaseSignUrl">
<img
:src="leaseApplyData.leaseSignUrl"
:class="{ 'is-rotate': leaseApplyData.leaseSignType == 0 }"
style="width: 40px; height: 90px; max-width: 100%"
alt=""
/>
</div>
</div>
</div>
</div>
@ -506,6 +523,7 @@ export default {
leaseApplyDetails: [],
kgSignList: [],
outSignList: [],
approveSignList: [],
confirmSign: {},
showView: false,
getListViewInfo: [],
@ -639,6 +657,7 @@ export default {
this.kgSignList = res.data.kgSignList || []
this.outSignList = res.data.outSignList || []
this.confirmSign = res.data.confirmSign || {}
this.approveSignList = res.data.approveSignList || []
this.open = true
})
},

View File

@ -503,19 +503,24 @@
</table>
<div class="fillIn" style="margin-top: 30px; display: flex; justify-content: space-between">
<div class="item" style="width: 24%; display: flex; align-items: center; flex-wrap: wrap">
<div style="width: 30%">审核</div>
<!-- <div
<div style="width: 25%">审核</div>
<div
style="width: 75%; display: flex; align-items: center; flex-wrap: wrap"
v-if="leaseApplyData.directAuditSignUrl"
v-if="approveSignList.length > 0"
>
<div style="width: 80%; margin-left: 20px">
<img
:src="leaseApplyData.directAuditSignUrl"
style="width: 40px; height: 80px; transform: rotate(-90deg); max-width: 100%"
alt=""
/>
</div>
</div> -->
<div
style="width: 80%; margin-left: 20px; height: 40px"
v-for="(item, index) in approveSignList"
:key="index"
>
<img
:src="item.outSignUrl"
:class="{ 'is-rotate': item.outSignType == 0 }"
style="width: 40px; height: 90px; max-width: 100%"
alt=""
/>
</div>
</div>
</div>
<div class="item" style="width: 24%; display: flex; align-items: center; flex-wrap: wrap">
<div style="width: 30%">领料</div>
@ -558,7 +563,15 @@
</div>
</div>
<div class="item" style="width: 24%; display: flex; align-items: center; flex-wrap: wrap">
<span>制单</span>
<div style="width: 25%">制单</div>
<div style="width: 75%" v-if="leaseApplyData.leaseSignUrl">
<img
:src="leaseApplyData.leaseSignUrl"
:class="{ 'is-rotate': leaseApplyData.leaseSignType == 0 }"
style="width: 40px; height: 90px; max-width: 100%"
alt=""
/>
</div>
</div>
</div>
</vue-easy-print>
@ -766,7 +779,8 @@ export default {
idTemp: '',
publishTask: '',
kgSignList: [],
outSignList: []
outSignList: [],
approveSignList: [],
}
},
created() {
@ -1063,6 +1077,7 @@ export default {
this.leaseApplyData = res.data.leaseApplyInfo
this.kgSignList = res.data.kgSignList || []
this.outSignList = res.data.outSignList || []
this.approveSignList = res.data.approveSignList || []
},
//

View File

@ -687,6 +687,13 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" v-if="addTitle === '修改' && this.levelTemp == 2">
<el-form-item label="是否绑定班组" prop="keeperUserId">
<el-select style="width: 100%" v-model="addFormParams.keeperUserId">
<el-option v-for="(item, index) in teamLeaderList" :key="index" :label="item.keeperUserName" :value="item.keeperUserId" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="text-align: right">
@ -716,7 +723,8 @@ import {
addMaType,
updateMaType,
getUserTypeList,
updatePartType
updatePartType,
getUserListApi
} from "@/api/ma/base";
import { getKeeperIds} from "@/api/ma/typeConfigKeeper";
import { getRepairIds } from "@/api/ma/typeConfigRepair";
@ -860,9 +868,10 @@ export default {
label: "",
typeName: "",
companyId: 101,
isEnter: ''
isEnter: '',
keeperUserId: '',
},
teamLeaderList: [],
addFormParamsRules: {
typeName: [
{
@ -1306,10 +1315,19 @@ export default {
})
.catch(() => {});
},
//
getTeamLeaderList() {
getUserListApi().then((res) => {
this.teamLeaderList = res.data
})
},
/* 树节点修改 */
editTreeNode(data) {
console.log('🚀 ~ editTreeNode ~ data:', data)
this.levelTemp = data.level;
if (this.levelTemp === 2) {
this.getTeamLeaderList()
}
console.log('🚀 ~ editTreeNode ~ this.levelTemp:', this.levelTemp)
this.idTemp = data.id;
this.parentId = data.parentId;
@ -1321,7 +1339,7 @@ export default {
},
/* 确定 */
onSubmit() {
const { id, typeName, isEnter } = this.addFormParams;
const { id, typeName, isEnter, keeperUserId } = this.addFormParams;
console.log("level", this.levelTemp);
console.log("idTemp", this.idTemp);
const addParams = {
@ -1338,6 +1356,7 @@ export default {
parentId: this.parentId,
typeId: id,
isEnter,
keeperUserId
};
this.$refs["addFormParamsRef"].validate(async (valid) => {