From 04489cc3864aa38fde8b539aee6c4c9eed6ab1d4 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期四, 28 九月 2023 14:35:35 +0800
Subject: [PATCH] 解决产品列表报错
---
src/components/makepager/CommonFormTableView.vue | 122 +++++++++++++++++++++++++++++++++-------
1 files changed, 99 insertions(+), 23 deletions(-)
diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index ff7f169..e5a99d1 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -1,9 +1,16 @@
<template>
- <div class="page-view">
- <el-form ref="form" :model="tableList" :show-message="false" label-position="right">
+ <div class="page-view" :class="{ setHeight: isinventory || islistingrules }">
+ <el-form
+ ref="form"
+ :model="tableList"
+ :show-message="false"
+ label-position="right"
+ :class="{ setHeight: isinventory || islistingrules }"
+ >
<el-table
:data="tableList.tableData"
style="width: 100%"
+ :height="isinventory || islistingrules ? 'calc(100% - 0px)' : ''"
:header-cell-style="{ background: '#f1f3f8', color: '#000009' }"
:row-class-name="tableRowClassName"
@row-click="tableRowClick"
@@ -57,7 +64,7 @@
style="width: 80%"
@change="
(val) => {
- selProductClick(val)
+ selProductNameClick(val)
}
"
>
@@ -78,7 +85,7 @@
:rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
>
<span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
- <el-date-picker v-else v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px">
+ <el-date-picker v-else v-model="scope.row[item.prop]" type="date" size="mini" style="width: 100%">
</el-date-picker>
</el-form-item>
<el-form-item
@@ -140,16 +147,25 @@
<!-- 浣嶇疆 -->
<el-form-item v-else-if="item.location" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
<div class="custom-name">
- <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
+ <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row[item.prop] }}</span>
<el-select
v-else
v-model="scope.row[item.prop]"
placeholder="璇烽�夋嫨"
size="mini"
style="width: 80%"
- @change="selLocationClick"
+ @change="
+ (val) => {
+ selLocationClick(val, item.prop)
+ }
+ "
>
- <el-option v-for="item in selLocationOptions" :key="item.id" :label="item.name" :value="item.name">
+ <el-option
+ v-for="(item, index) in selLocationOptions"
+ :key="index"
+ :label="item.name"
+ :value="{ value: item.id, label: item.name }"
+ >
</el-option>
</el-select>
</div>
@@ -157,7 +173,7 @@
<!-- 浜у搧 -->
<el-form-item v-else-if="item.product" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
<div class="custom-name">
- <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
+ <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row[item.prop] }}</span>
<el-select
v-else
v-model="scope.row[item.prop]"
@@ -174,7 +190,14 @@
v-for="item in productNameOptions"
:key="item.id"
:label="item.name"
- :value="{ value: item.id, label: item.name, amount: item.amount, unit: item.unit }"
+ :value="{
+ value: item.id,
+ label: item.name,
+ amount: item.amount,
+ unit: item.unit,
+ categoryId: item.categoryId,
+ categoryName: item.categoryName
+ }"
>
</el-option>
</el-select>
@@ -233,6 +256,7 @@
import { getProductList } from "@/api/product/product"
import { getLocationList } from "@/api/warehouseManage/warehouse"
import { getCompanyList } from "@/api/common/other"
+import { getRuleList } from "@/api/operate/inventoryAdjustment"
// import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog"
export default {
name: "CommmonFormTableView",
@@ -291,13 +315,14 @@
}
},
created() {
- this.getProductList()
if (this.isinventory) {
- this.getLocationList()
+ this.getRuleList()
+ } else {
+ this.getProductList()
}
if (this.islistingrules) {
this.getLocationList()
- this.getCompanyList()
+ // this.getCompanyList()
}
this.tableList = this.productTableList
},
@@ -319,6 +344,20 @@
if (res.data && res.data.length > 0) {
this.productNameOptions = res.data
}
+ }
+ })
+ },
+ // 搴撳瓨璋冩暣鑾峰彇浣嶇疆鍜屼骇鍝�
+ async getRuleList() {
+ await getRuleList({
+ locationId: 0,
+ productId: ""
+ }).then((res) => {
+ console.log(res)
+ if (res.code === 200) {
+ const list = res.data ? res.data : []
+ this.selLocationOptions = list.locationList
+ this.productNameOptions = list.productList
}
})
},
@@ -344,8 +383,7 @@
}
})
},
- // 閫夋嫨浜у搧
- selProductClick(item) {
+ selProductNameClick(item) {
this.tableList.tableData.map((ite) => {
if (ite.productName.label === item.label) {
ite.productId = item.value
@@ -356,18 +394,52 @@
})
console.log(this.tableList.tableData)
},
+ // 閫夋嫨浜у搧
+ selProductClick(item) {
+ console.log(item)
+ this.tableList.tableData.map((ite) => {
+ if (ite.productName.label === item.label) {
+ ite.productId = item.value
+ ite.productName = item.label
+ ite.categoryId = item.categoryId
+ ite.productCategory = item.categoryName
+ ite.amount = item.amount
+ ite.unit = item.unit
+ }
+ })
+ if (this.isinventory) {
+ getRuleList({
+ locationId: 0,
+ productId: item.value
+ }).then((res) => {
+ console.log(res)
+ if (res.code === 200) {
+ const list = res.data ? res.data : []
+ this.selLocationOptions = list.locationList
+ }
+ })
+ }
+ console.log(this.tableList.tableData)
+ this.$emit("selProductClick", item)
+ },
// 閫夋嫨浣嶇疆
- selLocationClick(item) {
+ selLocationClick(item, prop) {
console.log(item)
console.log(this.tableList.tableData)
- // this.tableList.tableData.map((ite) => {
- // if (ite.location.label === item.label) {
- // ite.location = item.label
- // }
- // if (ite.subLocation.label === item.label) {
- // ite.subLocation = item.label
- // }
- // })
+ if (this.isinventory) {
+ getRuleList({
+ locationId: item.value,
+ productId: ""
+ }).then((res) => {
+ console.log(res)
+ if (res.code === 200) {
+ const list = res.data ? res.data : []
+ // this.selLocationOptions = list.locationList
+ this.productNameOptions = list.productList
+ }
+ })
+ }
+ this.$emit("selLocationClick", item, prop)
},
// 閫夋嫨鍗曚綅/鐢ㄦ埛
selCommonClick(item) {
@@ -469,8 +541,12 @@
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style lang="scss" scoped>
+.setHeight {
+ height: 100%;
+}
.page-view {
min-width: 100px;
+
.el-form-item {
margin-bottom: 0;
.custom-name {
--
Gitblit v1.8.0