领料单优化

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

@ -246,3 +246,11 @@ export function getPartTreeApi(data) {
params: data 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="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 class="item" style="width: 23%; display: flex; align-items: center; flex-wrap: wrap">
<div style="width: 30%">审核</div> <div style="width: 25%">审核</div>
<div <div
style="width: 70%; display: flex; align-items: center; flex-wrap: wrap" style="width: 75%; display: flex; align-items: center; flex-wrap: wrap"
v-if="leaseApplyData.leaseSignUrl" v-if="approveSignList.length > 0"
> >
<!-- <div style="width: 80%;margin-left: 20px;"> <div
<img :src="leaseApplyData.leaseSignUrl" style="width: 40px;height: 100px;transform: rotate(-90deg);max-width: 100%;" alt=""> style="width: 80%; margin-left: 20px; height: 40px"
</div> --> 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>
<!-- <img :src="leaseApplyData.directAuditSignUrl" style="width: 40px;height: 100px;transform: rotate(-90deg);max-width: 100%;" alt=""> -->
</div> </div>
<div class="item" style="width: 24%; display: flex; align-items: center; flex-wrap: wrap"> <div class="item" style="width: 24%; display: flex; align-items: center; flex-wrap: wrap">
<div style="width: 30%">领料</div> <div style="width: 30%">领料</div>
@ -358,6 +366,14 @@
</div> </div>
<div class="item" style="width: 25%; display: flex; align-items: center"> <div class="item" style="width: 25%; display: flex; align-items: center">
<div style="width: 25%">制单</div> <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> </div>
</div> </div>
@ -502,7 +518,8 @@ export default {
showView: false, showView: false,
titleView: '', titleView: '',
getListViewInfo: [], getListViewInfo: [],
kgSignList: [] // kgSignList: [], //
approveSignList: [], //
} }
}, },
created() { created() {
@ -670,6 +687,7 @@ export default {
this.outSignList = res.data.outSignList || [] this.outSignList = res.data.outSignList || []
console.log('🚀 ~ handleLld ~ this.outSignList:', this.outSignList) console.log('🚀 ~ handleLld ~ this.outSignList:', this.outSignList)
this.kgSignList = res.data.kgSignList || [] this.kgSignList = res.data.kgSignList || []
this.approveSignList = res.data.approveSignList || []
console.log('🚀 ~ handleLld ~ this.kgSignList:', this.kgSignList) 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="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 class="item" style="width: 23%; display: flex; align-items: center; flex-wrap: wrap">
<div style="width: 30%">审核</div> <div style="width: 25%">审核</div>
<div <div
style="width: 70%; display: flex; align-items: center; flex-wrap: wrap" style="width: 75%; display: flex; align-items: center; flex-wrap: wrap"
v-if="leaseApplyData.leaseSignUrl" v-if="approveSignList.length > 0"
> >
<!-- <div style="width: 80%;margin-left: 20px;"> <div
<img :src="leaseApplyData.leaseSignUrl" style="width: 40px;height: 100px;transform: rotate(-90deg);max-width: 100%;" alt=""> style="width: 80%; margin-left: 20px; height: 40px"
</div> --> 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> </div>
<div class="item" style="width: 24%; display: flex; align-items: center; flex-wrap: wrap"> <div class="item" style="width: 24%; display: flex; align-items: center; flex-wrap: wrap">
@ -339,6 +348,14 @@
</div> </div>
<div class="item" style="width: 25%; display: flex; align-items: center"> <div class="item" style="width: 25%; display: flex; align-items: center">
<div style="width: 25%">制单</div> <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> </div>
</div> </div>
@ -506,6 +523,7 @@ export default {
leaseApplyDetails: [], leaseApplyDetails: [],
kgSignList: [], kgSignList: [],
outSignList: [], outSignList: [],
approveSignList: [],
confirmSign: {}, confirmSign: {},
showView: false, showView: false,
getListViewInfo: [], getListViewInfo: [],
@ -639,6 +657,7 @@ export default {
this.kgSignList = res.data.kgSignList || [] this.kgSignList = res.data.kgSignList || []
this.outSignList = res.data.outSignList || [] this.outSignList = res.data.outSignList || []
this.confirmSign = res.data.confirmSign || {} this.confirmSign = res.data.confirmSign || {}
this.approveSignList = res.data.approveSignList || []
this.open = true this.open = true
}) })
}, },

View File

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

View File

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