From 0a162b61518f98dce270e390bc75778ccc6eb67d Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期五, 19 一月 2024 14:32:47 +0800
Subject: [PATCH] new file: src/api/equipment/mould.js modified: src/views/equipment/mould/index.vue new file: src/views/equipment/mould/mould-from.vue modified: src/views/quality/Packaging_ledger/index.vue modified: vue.config.js
---
src/views/warehouse/pallettransports/index.vue | 332 ++++++++++++++++++++++++++++++++++++------------------
1 files changed, 220 insertions(+), 112 deletions(-)
diff --git a/src/views/warehouse/pallettransports/index.vue b/src/views/warehouse/pallettransports/index.vue
index ca2d4ea..681e61a 100644
--- a/src/views/warehouse/pallettransports/index.vue
+++ b/src/views/warehouse/pallettransports/index.vue
@@ -3,13 +3,27 @@
<basic-container>
<el-row>
<el-col :span="9">
+
<ttable :table="table" @currentChange="palletTransportsChange" :uploadInfo="uploadInfo" :prelang="prelang"
:options="options" :ajaxFun="ajaxFun" :fixedHeight="palletTransportsFixedHeight" ref="pallettransportsTable">
<template #toolbar>
<el-button v-if="permissions.warehouse_pallettransports_add" type="primary"
@click="addOrUpdateHandle()">鏂板</el-button>
+ <el-dropdown style="margin-left: 20px;" @command="handleCommand">
+ <el-button >
+ 鐘舵�佸彉鏇�<i class="el-icon-arrow-down el-icon--right"></i>
+ </el-button>
+ <el-dropdown-menu slot="dropdown">
+ <el-dropdown-item :key="index"
+ :command="item.label"
+ v-for="(item,index) in taskTypeArr"
+ >{{ item.label }}</el-dropdown-item
+ >
+ </el-dropdown-menu>
+ </el-dropdown>
</template>
</ttable>
+
<div style="margin:0px 20px 0px;display:flex;height:36px;justify-content: space-between;align-items:center;">
<div>
<span style="font-weight:bold;">瀵瑰簲宸ュ崟</span>
@@ -52,9 +66,15 @@
</div>
</div>
<div>
- <el-table class="pallet-transports-material-table" :data="palletTransportsMaterialData" style="width: 100%;"
- height="350px" border @selection-change="palletTransportsMaterialSelectionChange" stripe
+ <el-table class="pallet-transports-material-table" @selection-change="handleCurrentChange" :data="palletTransportsMaterialData" style="width: 100%;"
+ height="350px" border stripe
ref="palletTransportsMaterialTable">
+ <!--鍗曢�夋 @selection-change="palletTransportsMaterialSelectionChange"-->
+ <!-- <el-table-column align="center" width="55" label="澶氶��">
+ <template slot-scope="scope">
+ <el-checkbox v-model="scope.row.commonChecked" @change="handleCurrentChange(scope.row)" ></el-checkbox>
+ </template>
+ </el-table-column> -->
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column prop="partNo" label="闆朵欢鍙�" align="center" show-overflow-tooltip>
</el-table-column>
@@ -76,12 +96,12 @@
</el-table-column>
<el-table-column prop="toIfsLocationNo" label="绉昏嚦搴撲綅" align="center">
</el-table-column>
- <el-table-column label="鎿嶄綔" align="center" width="100">
+ <el-table-column label="鎿嶄綔" align="center" width="100" v-if="permissions.warehouse_pallettransports_demand_edit">
<template slot-scope="scope">
- <el-button v-show="!scope.row.canEdit" type="text" :disabled="scope.row.detailExistState"
- @click="scope.row.canEdit = true">缂栬緫</el-button>
- <el-button v-show="scope.row.canEdit" type="text" :disabled="scope.row.detailExistState"
- @click="updateMaterial(scope.row)">淇濆瓨</el-button>
+ <!-- <el-button v-show="!scope.row.canEdit" type="text" :disabled="scope.row.detailExistState"
+ @click="scope.row.canEdit = true">缂栬緫</el-button> -->
+ <!-- <el-button v-show="scope.row.canEdit" type="text" :disabled="scope.row.detailExistState"
+ @click="updateMaterial(scope.row)">淇濆瓨</el-button> -->
<el-button type="text" :disabled="scope.row.detailExistState"
@click="delMaterial(scope.row)">鍒犻櫎</el-button>
</template>
@@ -90,13 +110,14 @@
</div>
<div style="margin-top:10px;display:flex;height:36px;justify-content: space-between;align-items:center;">
<div>
- <span style="font-weight:bold;">绉诲簱鏄庣粏</span><span style="color:red;">({{
+ <span style="font-weight:bold;">绉诲簱鏄庣粏</span>
+ <!-- <span style="color:red;">({{
palletTransportsMaterialMultipleSelection.length > 0
? palletTransportsMaterialMultipleSelection[
palletTransportsMaterialMultipleSelection.length - 1
].partDesc
: ''
- }})</span>
+ }})</span> -->
</div>
<div>
<el-button type="primary" v-if="permissions.warehouse_pallettransports_detail_add" round
@@ -104,7 +125,7 @@
<!-- <el-button type="warning" v-if="permissions.warehouse_pallettransports_detail_library" round
@click="openDetailLocationDialog">涓�閿嚦搴撲綅</el-button> -->
<el-button type="success" v-if="permissions.warehouse_pallettransports_detail_execute" round
- @click="executeMove">鎵� 琛�</el-button>
+ @click="updateStockFun">鎵� 琛�</el-button>
</div>
</div>
<div>
@@ -112,27 +133,35 @@
v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }" height="100px" border
@selection-change="palletTransportsDetailSelectionChange" stripe ref="palletTransportsDetailTable">
<el-table-column type="selection" width="55"> </el-table-column>
- <el-table-column prop="partNo" label="闆朵欢鍙�" align="center" show-overflow-tooltip>
+
+ <el-table-column prop="part_no" label="闆朵欢鍙�" align="center" show-overflow-tooltip>
</el-table-column>
- <el-table-column prop="partDesc" label="闆朵欢鎻忚堪" align="center" show-overflow-tooltip>
+ <el-table-column prop="part_desc" label="闆朵欢鎻忚堪" align="center" show-overflow-tooltip>
</el-table-column>
<!-- <el-table-column prop="batchNo" label="鎵规鍙�" align="center" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="wdr" label="WDR" align="center">
</el-table-column> -->
- <el-table-column prop="operationTaskNo" label="宸ュ崟" align="center" show-overflow-tooltip>
+ <el-table-column prop="operation_task_no" label="宸ュ崟" align="center" show-overflow-tooltip>
</el-table-column>
- <el-table-column prop="transferQuantity" label="绉诲簱鏁伴噺" align="center">
+
+
+ <el-table-column prop="transfer_quantity" label="绉诲簱鏁伴噺" align="center">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.transfer_quantity" @change="moveLocation(scope.row)" :disabled = "scope.row.state == '02submitted' " border="none"></el-input>
+ </template>
</el-table-column>
+
+
<el-table-column prop="unit" label="鍗曚綅" align="center">
</el-table-column>
<!-- <el-table-column prop="fromIfsLocationNo" label="IFS浠庡簱浣�" align="center">
</el-table-column> -->
- <el-table-column prop="toIfsLocationNo" label="绉昏嚦搴撲綅" align="center">
- <template slot-scope="scope">
+ <el-table-column prop="to_ifs_location_no" label="绉昏嚦搴撲綅" align="center">
+ <!-- <template slot-scope="scope">
<el-link type="primary" @click="openSingleLocationDialog(scope.row)">{{ scope.row.toIfsLocationNo
}}</el-link>
- </template>
+ </template> -->
</el-table-column>
<el-table-column prop="state" label="鐘舵��" align="center">
<template slot-scope="scope">
@@ -145,10 +174,10 @@
}}</span>
</template>
</el-table-column>
- <el-table-column label="鎿嶄綔" align="center" width="85">
+ <el-table-column label="鎿嶄綔" align="center" width="85" v-if="permissions.warehouse_pallettransports_detail_edit">
<template slot-scope="scope">
- <el-button type="text" @click="openEditStockDialog(scope.row)"
- :disabled="scope.row.state === '01initial' ? false : true">缂栬緫</el-button>
+ <!-- <el-button type="text" @click="openEditStockDialog(scope.row)"
+ :disabled="scope.row.state === '01initial' ? false : true">缂栬緫</el-button> -->
<el-button type="text" @click="delDetail(scope.row)"
:disabled="scope.row.state === '01initial' ? false : true">鍒犻櫎</el-button>
</template>
@@ -174,6 +203,7 @@
<!-- 寮圭獥, 鏄庣粏鐨処FS搴撲綅鍒楄〃 -->
<detailIfsLocationDialog :currshowlist.sync="showDetailLocation" :detailList="detailList"
@refreshDataList="selectDetailLocationCallback" />
+
</basic-container>
</div>
</template>
@@ -187,7 +217,10 @@
delPalletTransportsMaterialObj,
palletTransportsDetailFetchList,
delPalletTransportsDetailObj,
- executeMoveLocation
+ executeMoveLocation,
+ selectAll,
+ updateStock,
+ updataStatus,
} from '@/api/warehouse/pallettransports'
import { getByPalletTransId } from '@/api/plan/operationtask'
import ttable from '@/views/common/ztt-table.vue'
@@ -203,6 +236,14 @@
export default {
data() {
return {
+ taskTypeArr: [
+ {label:"鑽夌"},
+ {label:"杩涜涓�"},
+ {label:"宸插畬鎴�"},
+ ],
+ command:"",
+ forbidden:false,
+ partDesc: null,
ajaxFun: palletTransportsFetchList,
currPalletTransportsRow: null,
palletTransportsMaterialMultipleSelection: [],
@@ -213,6 +254,7 @@
url: ''
},
WorkOrder:{},
+ datalistAPI:'',
prelang: 'pallettransports',
options: {
height: 300, // 榛樿楂樺害-涓轰簡琛ㄥご鍥哄畾
@@ -294,14 +336,7 @@
}
],
toolbar: [],
- operator: [
- {
- text: '鍒犻櫎',
- type: 'text',
- size: 'small',
- fun: this.deleteHandle
- }
- ],
+ operator: null,
operatorConfig: {
fixed: 'right',
label: '鎿嶄綔',
@@ -323,6 +358,7 @@
detailList: [],
palletTransportsOptaskData: [],
currOptask: null,
+ cid:null,
stateOptions: [
{ value: 'draft', label: '鑽夌' },
{ value: 'processing', label: '杩涜涓�' },
@@ -345,8 +381,101 @@
computed: {
...mapGetters(['permissions'])
},
- created() { },
+ watch:{
+ },
+ created() {
+ if(this.permissions.warehouse_pallettransports_edit){
+ this.table.operator = [
+ {
+ text: '鍒犻櫎',
+ type: 'text',
+ size: 'small',
+ fun: this.deleteHandle
+ }
+ ]
+ }
+ },
methods: {
+ palletTransportsChange(val) {
+ this.cid = val.id
+ this.currPalletTransportsRow = val
+ if (this.currPalletTransportsRow) {
+ this.getPalletTransportsMaterialData()
+ this.getOptasks()
+ this.palletTransportsMaterialSelectionChange(val)
+ }
+ },
+ palletTransportsMaterialSelectionChange() {
+ if(this.cid){
+ selectAll({transportsId:this.cid}).then((res)=>{
+ this.palletTransportsDetailData = res.data.data.map(el =>{
+ return{
+ part_no:el.partNo,
+ part_desc:el.partDesc,
+ operation_task_no:el.operationTaskNo,
+ transfer_quantity:el.transferQuantity,
+ unit:el.unit,
+ to_ifs_location_no:el.toIfsLocationName,
+ state:el.state,
+ id:el.id,
+ }
+ })
+
+ })}
+ // this.palletTransportsMaterialMultipleSelection = val
+ // if(val && val.length>0){
+ // let ids =[]
+ // this.palletTransportsMaterialMultipleSelection.forEach(el =>{ids.push(el.id)})
+ // let pId = ids[ids.length - 1];
+ // if(pId!=null){
+ // selectAll({
+ // transportsId:this.currPalletTransportsRow.id,
+ // transportsMaterialId: pId
+ // }).then((res) =>{
+ // this.palletTransportsDetailData = []
+ // if(res.data.data){
+ // this.palletTransportsDetailData.push(res.data.data)
+ // }
+ // })
+ // }else{
+ // this.palletTransportsDetailData = []
+ // }
+ // }
+ },
+ //鐘舵��
+ handleCommand(event){
+ let str = ""
+ console.log(event);
+ if (event == "鑽夌") {
+ str = "draft"
+ }else if (event == "杩涜涓�") {
+ str = "processing"
+ }else{
+ str = "finished"
+ }
+
+ if (this.cid) {
+ updataStatus({id:this.cid,state:str}).then((res) =>{
+ this.$refs.pallettransportsTable.getDataList()
+ })
+ }else{
+ this.$message.error('璇烽�夋嫨' + str + '鐨勫璞�')
+ }
+ },
+ // 鍗曡閫変腑
+ handleCurrentChange(row) {
+ this.palletTransportsMaterialMultipleSelection = row
+ // this.palletTransportsMaterialData.forEach((item) => {
+ // // 鎺掍粬,姣忔閫夋嫨鏃舵妸鍏朵粬閫夐」閮芥竻闄�
+ // if (item.id !== row.id) {
+ // item.commonChecked = false
+ // }else{
+ // item.commonChecked = true
+ // }
+ // })
+ // this.palletTransportsMaterialSelectionChange([row])
+ // this.palletTransportsDetailData = data
+ },
// 宸ヨ壓绫诲瀷涓枃鏍煎紡鍖�
formatStateType(row, column, cellValue) {
this.stateOptions.forEach((obj) => {
@@ -395,7 +524,8 @@
unit: item.unit,
transportsId: item.transportsId,
detailExistState: item.detailExistState,
- canEdit: false
+ canEdit: false,
+ commonChecked: false
}
this.palletTransportsMaterialData.push(palletTransportsMaterial)
})
@@ -486,12 +616,10 @@
openLocationDialog() {
if (this.palletTransportsMaterialMultipleSelection.length > 0) {
let flag = true
- console.log(this.palletTransportsMaterialMultipleSelection)
this.palletTransportsMaterialMultipleSelection.forEach((item) => {
if (item.detailExistState) {
flag = false
}
- console.log(item.detailExistState)
})
if (flag) {
this.showLocation = true
@@ -546,70 +674,49 @@
},
// 鑾峰彇绉诲簱鏄庣粏鏁版嵁鍒楄〃
getPalletTransportsDetailData() {
- console.log("瀵瑰簲宸ュ崟",this.WorkOrder);
- console.log("鐗╂枡闇�姹�",this.palletTransportsMaterialMultipleSelection);
- const data = {
- partNo:this.palletTransportsMaterialMultipleSelection[0].partNo,
- partDesc: this.palletTransportsMaterialMultipleSelection[0].partDesc,
- transferQuantity: this.palletTransportsMaterialMultipleSelection[0].transferQuantity,
- operationTaskNo:this.WorkOrder.optaskNo,
- unit: this.palletTransportsMaterialMultipleSelection[0].unit,
- }
- const PalletTransportsDetail = []
- PalletTransportsDetail.push(data)
- console.log(data,"0000000000000");
- if (PalletTransportsDetail) {
- saveBatchPalletTransportsDetail(PalletTransportsDetail)
+ let transportsDetails =[]
+ transportsDetails = this.palletTransportsMaterialMultipleSelection.map(el =>{
+ return{
+ partNo:el.partNo,
+ partDesc: el.partDesc,
+ transferQuantity: 0,
+ toIfsLocationNo:el.toIfsLocationNo,
+ toIfsLocationName: el.toIfsLocationName,
+ transportsId: el.transportsId,
+ transportsMaterialId:el.id,
+ operationTaskNo:this.WorkOrder.optaskNo,
+ operationTaskId:this.WorkOrder.id,
+ unit: el.unit,
+ }})
+ // this.palletTransportsDetailData = transportsDetails
+ if (transportsDetails.length > 0) {
+ let selectionList = this.palletTransportsMaterialMultipleSelection
+ saveBatchPalletTransportsDetail(transportsDetails)
.then((response) => {
const resData = response.data
if (resData.code === 0) {
this.innerVisible = false
this.$message.success('娣诲姞绉诲簱鏄庣粏鎴愬姛')
- this.$emit('refreshDataList')
+ let materialRow = selectionList[selectionList.length - 1]
+ this.palletTransportsMaterialData.forEach(ele=>{
+ if(ele.id==materialRow.id){
+ ele.transferQuantity = materialRow.surplusQuantity
+ ele.surplusQuantity = 0
+ }
+ })
+ this.getPalletTransportsMaterialData()
} else {
this.$message.error('娣诲姞绉诲簱鏄庣粏澶辫触')
}
- this.isSubmit = true
+ // this.getPalletTransportsMaterialData()
+ this.palletTransportsMaterialSelectionChange()
})
- .catch(() => {
- this.isSubmit = true
- })
+ // .catch(() => {
+ // })
}
- // else {
- // this.$message.error('璇烽�夋嫨IFS搴撳瓨鐗╂枡')
- // }
-
- // this.palletTransportsDetailData = []
- // console.log(this.palletTransportsMaterialMultipleSelection);
-
- // if (this.palletTransportsMaterialMultipleSelection.length > 0) {
- // const currPalletTransportsMaterial = this
- // .palletTransportsMaterialMultipleSelection[
- // this.palletTransportsMaterialMultipleSelection.length - 1
- // ]
- // let obj = {
- // partNo: currPalletTransportsMaterial.partNo,
- // partDesc: currPalletTransportsMaterial.partDesc,
- // operationTaskNo: this.currOptask.optaskNo,
- // transferQuantity: currPalletTransportsMaterial.surplusQuantity,
- // unit: currPalletTransportsMaterial.unit,
- // toIfsLocationNo: currPalletTransportsMaterial.currPalletTransportsMaterial,
- // state: null
- // }
- // this.palletTransportsDetailData.push(obj)
- // } else {
- // this.$message.error('璇峰厛閫夋嫨鐗╂枡闇�姹�')
- // }
-
},
// 娣诲姞ifs鐗╂枡搴撳瓨鍥炶皟
addIfsStockCallback() {
- // 鍒锋柊鐗╂枡闇�姹傘�佸埛鏂扮Щ搴撴槑缁�
- // this.getPalletTransportsMaterialData()
- // 鍒锋柊璐х洏杩愯緭浠诲姟鍒楄〃
- // if (this.showStock) {
- // this.getPallettransportsData()
- // }
const currRow = this.currPalletTransportsRow
this.getPallettransportsData().then(() => {
if (currRow) {
@@ -641,24 +748,22 @@
if (row.state === '01initial') {
this.detailList = []
this.detailList.push(row)
- this.showDetailLocation = true
+ // this.showDetailLocation = true
} else {
this.$message.error('绉诲簱鏄庣粏宸叉墽琛�')
}
},
// 鍒犻櫎绉诲簱鏄庣粏
delDetail(row) {
- /* const delRow = this.palletTransportsDetailData.find((item) => {
+ const delRow = this.palletTransportsDetailData.find((item) => {
return item.id === row.id
- }) */
-
+ })
delPalletTransportsDetailObj(row.id).then((response) => {
const resData = response.data
if (resData.code === 0) {
- // const findRowIndex = this.palletTransportsDetailData.indexOf(delRow)
- // this.palletTransportsDetailData.splice(findRowIndex, 1)
+ const findRowIndex = this.palletTransportsDetailData.indexOf(delRow)
+ this.palletTransportsDetailData.splice(findRowIndex, 1)
this.$message.success('绉诲簱鏄庣粏鍒犻櫎鎴愬姛')
- // this.getPalletTransportsMaterialData()
const currRow = this.currPalletTransportsRow
this.getPallettransportsData().then(() => {
if (currRow) {
@@ -667,6 +772,28 @@
})
} else {
this.$message.error('绉诲簱鏄庣粏鍒犻櫎澶辫触')
+ }
+ })
+ },
+ //鏀瑰彉
+ moveLocation(val){
+ let num = Number(val.transfer_quantity)
+ this.palletTransportsDetailMultipleSelection.forEach(el =>{
+ el.transfer_quantity = num
+ })
+ },
+ updateStockFun(){
+ let data = []
+ data = this.palletTransportsDetailMultipleSelection.map(el =>{
+ return {
+ id:el.id,
+ transferQuantity:el.transfer_quantity
+ }
+ })
+ updateStock(data).then((res) =>{
+ if(res.data.code===0){
+ this.getPalletTransportsMaterialData()
+ this.executeMove()
}
})
},
@@ -690,6 +817,7 @@
if (resData.code === 0) {
this.$message.success('鎵ц鎴愬姛')
// this.getPalletTransportsMaterialData()
+ this.palletTransportsDetailData=[]
const currRow = this.currPalletTransportsRow
this.getPallettransportsData().then(() => {
if (currRow) {
@@ -706,6 +834,7 @@
} else {
this.$message.error('璇烽�夋嫨绉诲簱鏄庣粏')
}
+
},
selectDetailLocationCallback() {
this.getPalletTransportsDetailData()
@@ -714,26 +843,6 @@
openEditStockDialog(row) {
this.currDetailRow = row
this.showDetailStock = true
- },
- palletTransportsChange(val) {
- this.currPalletTransportsRow = val
- if (this.currPalletTransportsRow) {
- this.getPalletTransportsMaterialData()
- this.getOptasks()
- }
- },
- palletTransportsMaterialSelectionChange(val) {
- this.palletTransportsMaterialMultipleSelection = val
- if (this.palletTransportsMaterialMultipleSelection.length > 0) {
- const currPalletTransportsMaterial = this
- .palletTransportsMaterialMultipleSelection[
- this.palletTransportsMaterialMultipleSelection.length - 1
- ]
- this.materialRow = currPalletTransportsMaterial
- } else {
- this.materialRow = null
- }
- // this.getPalletTransportsDetailData()
},
palletTransportsDetailSelectionChange(val) {
this.palletTransportsDetailMultipleSelection = val
@@ -750,7 +859,6 @@
})
},
optaskRowClick(row, column) {
- console.log(row,222222222222222);
this.WorkOrder = row
this.palletTransportsOptaskData.forEach((item) => {
if (row.id !== item.id) {
--
Gitblit v1.9.3