From 4477a4a90fe3c441c25c5cddddee05aa32c8113c Mon Sep 17 00:00:00 2001
From: zuozhengqing <a13193816592@163.com>
Date: 星期六, 28 十月 2023 18:24:50 +0800
Subject: [PATCH] 上架规则列表编辑,产品和产品类别只能展开有数据的
---
src/views/operate/inventoryAdjustment/index.vue | 261 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 170 insertions(+), 91 deletions(-)
diff --git a/src/views/operate/inventoryAdjustment/index.vue b/src/views/operate/inventoryAdjustment/index.vue
index 9f6346e..8e4e94d 100644
--- a/src/views/operate/inventoryAdjustment/index.vue
+++ b/src/views/operate/inventoryAdjustment/index.vue
@@ -4,7 +4,7 @@
<SearchCommonView
:add-title="addTitle"
:show-discard="showDiscard"
- :show-apply="true"
+ :show-apply="false"
:placeholder="'璇疯緭鍏ヤ綅缃�/浜у搧'"
:amount-view="false"
@addCommonClick="addProductClick"
@@ -16,31 +16,34 @@
<div class="list-view">
<div class="table">
<CommonFormTableView
+ ref="tablelistRef"
:isinventory="true"
:product-table-list="tableList"
@inputContent="inputContent"
+ @selLocationClick="selLocationClick"
+ @selProductClick="selProductClick"
@tableRowClick="tableRowClick"
>
<template slot="tableButton">
- <el-table-column label="鎿嶄綔" width="180" fixed="right" align="center">
+ <el-table-column label="鎿嶄綔" width="180" align="center">
<template slot-scope="scope">
- <span @click="handleHistoryClick(scope.row)">
+ <span v-if="scope.row.isEdit" @click.stop="handleHistoryClick(scope.row)" class="yes-cursor">
<i class="el-icon-refresh-left"></i>
<span>鍘嗗彶</span>
</span>
- <span v-if="scope.row.isSet" @click="handleSetClick(scope)" class="margin_left_5px">
+ <!-- <span v-if="scope.row.isSet" @click="handleSetClick(scope)" class="margin_left_5px">
<i class="el-icon-setting"></i>
<span>璁剧疆</span>
- </span>
- <template v-else>
- <span @click="handleUseClick(scope)" class="margin_left_5px">
+ </span> -->
+ <template v-if="scope.row.status === 3">
+ <span @click.stop="handleUseClick(scope.row)" class="margin_left_5px">
<i class="el-icon-document"></i>
<span>搴旂敤</span>
</span>
- <span @click="handleCleanupClick(scope)" class="margin_left_5px">
+ <!-- <span @click="handleCleanupClick(scope)" class="margin_left_5px">
<i class="el-icon-delete"></i>
<span>娓呴櫎</span>
- </span>
+ </span> -->
</template>
</template>
</el-table-column>
@@ -57,7 +60,13 @@
<script>
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
-import { getLocationList } from "@/api/warehouseManage/warehouse"
+import {
+ getInventoryAdjustmentList,
+ addInventoryAdjustment,
+ updateInventoryAdjustment,
+ finishInventoryAdjustment
+} from "@/api/operate/inventoryAdjustment"
+import { currentTime } from "@/common/config/index"
export default {
name: "InventoryAdjustment",
props: {},
@@ -69,23 +78,17 @@
addTitle: "鏂板缓",
showDiscard: false,
tableList: {},
- tableData: [
- {
- location: "HC/閿�鍞尯",
- productName: "澶忓鐪熶笣鍚婂甫瑁�",
- amount: "0.00",
- unit: "浠�",
- count: "0.00",
- date: "2023-12-31",
- user: "绠$悊鍛�",
- isSet: true,
- isEdit: true
- }
- ],
+ tableData: [],
searchOptions: [],
countId: 0,
isNoProduct: true, // 娣诲姞鏄庣粏琛屾椂鏄惁鏈変骇鍝佹湭閫夋嫨
- isRowClick: false
+ isRowClick: false,
+ locationId: 0,
+ productId: 0,
+ differenceAmount: 0,
+ amount: 0,
+ operationId: 0,
+ adjustAmount: 0
}
},
created() {
@@ -96,56 +99,114 @@
setTable() {
this.tableList = {
tableData: this.tableData,
- selectBox: true,
+ selectBox: false,
+ selectIndex: true,
tableColumn: [
- { label: "浣嶇疆", prop: "location", location: true },
+ { label: "浣嶇疆", prop: "locationName", location: true },
{ label: "浜у搧", prop: "productName", product: true },
{ label: "鍦ㄥ簱鏁伴噺", prop: "amount" },
{ label: "璁¢噺鍗曚綅", prop: "unit" },
- { label: "璁℃暟鐨勬暟閲�", prop: "count", inputFloat: true },
- { label: "宸紓", prop: "difference" },
- { label: "鏃ユ湡", prop: "date", date: true },
+ { label: "璁℃暟鐨勬暟閲�", prop: "differenceAmount", inputFloat: true },
+ { label: "宸紓", prop: "adjustAmount" },
+ { label: "鏃ユ湡", prop: "createDate" },
{ label: "鐢ㄦ埛", prop: "user", user: true }
]
}
},
- // 鎿嶄綔杈撳叆
- inputContent(val, prop, row) {
- this.countId = row.countId
- this.tableData.map((item) => {
- if (item.countId === row.countId) {
- item[prop] = val
+ // 璇锋眰鏁版嵁
+ async getData() {
+ await getInventoryAdjustmentList({
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
+ }).then((res) => {
+ if (res.code === 200) {
+ console.log(res)
+ const list = res.data.map((item) => {
+ item.adjustAmount = 0
+ return {
+ ...item,
+ isSet: false,
+ isEdit: true,
+ editable: true,
+ adjustAmount: 0
+ }
+ })
+ this.tableList.tableData = list || []
+ this.tableData = list || []
+ this.pagerOptions.totalCount = res.total
}
})
+ },
+ // 鎿嶄綔杈撳叆
+ inputContent(val, prop, row) {
+ console.log(val, prop, row)
+ console.log(val - row.amount, "缁撴灉")
+ this.adjustAmount = val - row.amount
+ this.tableList.tableData[row.index].adjustAmount = this.adjustAmount
+ // this.differenceAmount = val
+ this.differenceAmount=val
},
// 鏂板
addProductClick() {
console.log(this.tableData)
+ console.log(this.addTitle)
this.isSel()
if (this.isNoProduct && this.addTitle === "鏂板缓") {
+ this.$refs.tablelistRef.getRuleList()
this.addTitle = "淇濆瓨"
this.showDiscard = true
this.isRowClick = false
+ this.operationId = 0
+ this.currentRowId = 0
this.countId++
- this.tableData.push({
+ this.tableData.unshift({
countId: this.countId,
- productId: "",
amount: 0,
- unit: "",
- productName: "",
- count: "0.00",
+ adjustAmount: 0,
+ productId: "",
+ differenceAmount: 0,
+ locationId: 0,
+ createDate: this.currentTime(),
isSet: true,
- isEdit: false
+ isEdit: false,
+ editable: false
})
- } else if (this.isNoProduct && this.addTitle === "淇濆瓨") {
+ this.locationId = 0
+ this.subLocationId = 0
+ this.productCategoryId = 0
+ this.productId = 0
+ } else {
this.addTitle = "鏂板缓"
this.showDiscard = false
+ let requestUrl = this.currentRowId === 0 ? addInventoryAdjustment : updateInventoryAdjustment
+
+ requestUrl({
+ amount: this.amount,
+ // adjustAmount: this.adjustAmount,
+ differenceAmount: this.differenceAmount,
+ locationId: this.locationId,
+ operationId: this.operationId,
+ productId: this.productId
+ })
+ .then((res) => {
+ console.log(res)
+ if (res.code === 200) {
+ let tipStr = this.currentRowId === 0 ? "娣诲姞鎴愬姛" : "淇敼鎴愬姛"
+ this.$message.success(tipStr)
+ this.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ this.getData()
+ })
+ // }
}
},
// 鏄惁閫夋嫨浜у搧
isSel() {
for (let i = 0; i < this.tableData.length; i++) {
- if (this.tableData[i].productName.length === 0) {
+ if (this.tableData && this.tableData[i].productName.length === 0) {
this.isNoProduct = false
break
} else {
@@ -155,12 +216,17 @@
},
// 鍙栨秷
discardBtnClick() {
+ this.tableList.tableData.forEach((item)=>{
+ item.differenceAmount=0;
+ item.adjustAmount=0
+ })
+ this.tableList
if (this.isRowClick) {
this.tableData.map((item) => {
item.isEdit = true
})
} else {
- this.tableData.splice(this.tableData.length - 1, 1)
+ this.tableData.splice(0, 1)
}
this.addTitle = "鏂板缓"
this.showDiscard = false
@@ -177,7 +243,7 @@
console.log("鍘嗗彶")
this.$router.push({
name: "inventoryAdjustmentHistory",
- params: { id: row.id }
+ params: { locationId: row.locationId, productId: row.productId,baseOperationType:row.baseOperationType}
})
}
},
@@ -189,8 +255,19 @@
}
},
// 搴旂敤
- handleUseClick(scope) {
- scope.row.isSet = !scope.row.isSet
+ handleUseClick(row) {
+ // scope.row.isSet = !scope.row.isSet
+ finishInventoryAdjustment({
+ locationProductAmountId: row.locationProductAmountId,
+ operationId: row.operationId,
+ productId: row.productId
+ }).then((res) => {
+ console.log(res)
+ if (res.code === 200) {
+ this.$message.success("搴旂敤鎴愬姛")
+ this.getData()
+ }
+ })
},
// 娓呴櫎
handleCleanupClick(scope) {
@@ -198,35 +275,32 @@
},
// 琛岀偣鍑�
tableRowClick(row, rowIndex) {
- console.log(row, rowIndex)
- this.addTitle = "淇濆瓨"
- this.showDiscard = true
- this.isRowClick = true
+ this.locationId=row.locationId
+ this.rowIndex = rowIndex
this.isSel()
- if (!this.isNoProduct) {
- this.tableData.splice(this.tableData.length - 1, 1)
+ if (!this.isNoProduct && this.currentRowId === 0) {
+ this.$message.error("璇峰畬鎴愬綋鍓嶆柊寤烘垨鍙栨秷鏂板缓")
+ } else {
+ this.currentRowId = row.id
+ this.addTitle = "淇濆瓨"
+ this.showDiscard = true
+ this.isRowClick = true
+ if (!this.isNoProduct) {
+ this.tableData.splice(this.tableData.length - 1, 1)
+ }
+ this.tableData.map((item, index) => {
+ if (index === rowIndex) {
+ item.isEdit = false
+ item.editable = true
+ } else {
+ item.isEdit = true
+ }
+ })
+ this.differenceAmount = row.differenceAmount
+ this.amount = row.amount
+ this.productId = row.productId
+ this.operationId = row.operationId
}
- this.tableData.map((item, index) => {
- if (index === rowIndex) {
- item.isEdit = false
- } else {
- item.isEdit = true
- }
- })
- },
- // 璇锋眰鏁版嵁
- async getData() {
- await getLocationList({
- keyword: this.keyword,
- page: this.pagerOptions.currPage,
- pageSize: this.pagerOptions.pageSize
- }).then((res) => {
- if (res.code === 200) {
- const list = res.data ? res.data : []
- this.tableList.tableInfomation = list
- this.pagerOptions.totalCount = res.total
- }
- })
},
// 鎼滅储
getList(val) {
@@ -234,26 +308,31 @@
this.pagerOptions.currPage = 1
this.getData()
},
- // 鏂板缓
- addBtnClick() {
- this.editConfig.infomation = {
- name: "",
- parentId: null,
- type: 3,
- isScrapLocation: null,
- isReturnLocation: null,
- replenishLocation: null,
- countFrequency: 0,
- recentlyCount: "",
- nextCount: "",
- notes: ""
- }
- this.editConfig.visible = true
- this.editConfig.title = "鏂板缓"
+ // 閫夋嫨浣嶇疆鏂规硶
+ selLocationClick(item, prop) {
+ console.log(item, prop)
+ this.locationId = item.value
+ },
+ // 閫変腑浜у搧鏂规硶
+ selProductClick(item) {
+ console.log(item)
+ this.productId = item.value
+ },
+ // 鑾峰彇褰撳墠鏃堕棿
+ currentTime() {
+ return currentTime()
}
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+::v-deep {
+ .el-table {
+ border-top-left-radius: 12px;
+ border-top-right-radius: 12px;
+ overflow: auto;
+ }
+}
+</style>
--
Gitblit v1.8.0