From 0712b49e5538589dac4859ca8cebf196caa954ab Mon Sep 17 00:00:00 2001
From: zuozhengqing <a13193816592@163.com>
Date: 星期二, 21 十一月 2023 11:28:09 +0800
Subject: [PATCH] fix:供应商管理添加产品,产品列表展示修改及采购管理bug修改
---
src/views/supplierManage/supplier/index.vue | 8 ++
src/views/supplierManage/supplier/DetailSupplier.vue | 102 +++++++++++++++++++++++++++++++--
src/views/supplierManage/supplier/AddSupplier.vue | 2
src/views/purchaseManage/purchase/index.vue | 14 ++--
src/components/makepager/CommonFormTableView.vue | 10 +-
src/views/purchaseManage/purchase/DetailSupplier.vue | 38 +++++++++---
6 files changed, 141 insertions(+), 33 deletions(-)
diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index bb029e1..130b958 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -113,6 +113,7 @@
:prop="'tableData.' + scope.$index + '.' + item.prop"
:rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
>
+ <!-- 閲囪喘绠$悊 -->
<template v-if="item.multiply">
<el-input-number
:disabled="item.disabled"
@@ -227,7 +228,8 @@
title: "",
infomation: {}
},
- productIndex: 0
+ productIndex: 0,
+ tableProductLists:[],
}
},
created() {
@@ -251,6 +253,7 @@
if (res.data.code === 200) {
if (res.data.data.list && res.data.data.list.length > 0) {
this.productList = res.data.data.list
+ this.tableProductLists = res.data.data.list
}
}
})
@@ -350,8 +353,6 @@
this.$emit("addProductClick")
},
commonInputChange(val, prop, row) {
- console.log(val, prop)
- console.log(row)
this.$emit("inputContent", val, prop, row)
},
// 娓呯┖
@@ -360,7 +361,7 @@
},
// 閫夋嫨浜у搧鍚嶇О鐩稿叧鏂规硶
querySearchAsync(queryString, cb) {
- var restaurants = this.productTableList.tableProductList
+ var restaurants = this.tableProductLists
var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants
cb(results)
},
@@ -371,7 +372,6 @@
},
handleSelectClient(item, prop, row) {
// this.clientId = item.id
- console.log(item, prop, row)
this.tableList.tableData.map((ite) => {
if (ite.name === item.name) {
ite.ID = row.ID
diff --git a/src/views/purchaseManage/purchase/DetailSupplier.vue b/src/views/purchaseManage/purchase/DetailSupplier.vue
index b13839c..9c9fa16 100644
--- a/src/views/purchaseManage/purchase/DetailSupplier.vue
+++ b/src/views/purchaseManage/purchase/DetailSupplier.vue
@@ -121,6 +121,7 @@
ref="tableListRef"
:showSummary="showSummary"
:table-list="tableList"
+ @selTableCol="selTableCol"
>
</TableCommonView>
<div class="table-bottom">
@@ -189,7 +190,18 @@
mergeNumber: 5,
totalName:'灏忚'
},
+ showCol: ['浜у搧鍚嶇О', '浜у搧缂栫爜', '璁¢噺鍗曚綅', '瑙勬牸鍨嬪彿', '鏁伴噺', '閿�鍞崟浠�','浠风◣鍚堣','鎻忚堪'],
purchaseStatusList:getDataByType('purchaseStatus'),
+ tableColumn: [
+ { label: "浜у搧鍚嶇О", prop: "name", min: 160, },
+ { label: "浜у搧缂栫爜", prop: "number", min: 130, },
+ { label: "璁¢噺鍗曚綅", prop: "unit", min: 130 },
+ { label: "瑙勬牸鍨嬪彿", prop: "specifications", min: 130 },
+ { label: "鏁伴噺", prop: "amount", min: 130 },
+ { label: "閿�鍞崟浠�", prop: "price", min: 130 },
+ { label: "浠风◣鍚堣", prop: "total", min: 130 },
+ { label: "鎻忚堪", prop: "remark", min: 130 },
+ ],
};
},
created() {
@@ -326,17 +338,23 @@
this.tableList = {
tableInfomation: item.productList?item.productList:[],
selectIndex: true,
- tableColumn: [
- { label: "浜у搧鍚嶇О", prop: "name", min: 160, },
- { label: "浜у搧缂栫爜", prop: "number", min: 130, },
- { label: "璁¢噺鍗曚綅", prop: "unit", min: 130 },
- { label: "瑙勬牸鍨嬪彿", prop: "specifications", min: 130 },
- { label: "鏁伴噺", prop: "amount", min: 130 },
- { label: "閿�鍞崟浠�", prop: "price", min: 130 },
- { label: "浠风◣鍚堣", prop: "total", min: 130 },
- { label: "鎻忚堪", prop: "remark", min: 130 },
- ],
+ showcol: this.showCol,
+ allcol:[],
+ tableColumn:this.setColumnVisible(this.showCol)
};
+ this.tableList.allcol = this.tableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label);
+ },
+ selTableCol(val) {
+ this.showcol = val;
+ this.tableList.tableColumn = this.setColumnVisible(val);
+ },
+ setColumnVisible(showCol){
+ return this.tableColumn.map(ele=>{
+ return {
+ ...ele,
+ isShowColumn:showCol.includes(ele.label)
+ }
+ })
},
handleClose() {
this.detailConfig.visible = false;
diff --git a/src/views/purchaseManage/purchase/index.vue b/src/views/purchaseManage/purchase/index.vue
index 7fda0cf..aab8d10 100644
--- a/src/views/purchaseManage/purchase/index.vue
+++ b/src/views/purchaseManage/purchase/index.vue
@@ -32,19 +32,19 @@
</el-table-column>
<el-table-column label="鎿嶄綔" width="220" fixed="right">
<template slot-scope="scope">
- <el-button type="text" size="small" @click="btnConfirm(scope.row)" style="margin-right: 5px"
+ <el-button v-if="scope.row.status===1" type="text" size="small" @click="btnConfirm(scope.row)" style="margin-right: 5px"
>纭</el-button
>
- <el-button type="text" size="small" @click="btnEdit(scope.row)" style="margin-right: 5px"
+ <el-button v-if="scope.row.status===1" type="text" size="small" @click="btnEdit(scope.row)" style="margin-right: 5px"
>缂栬緫</el-button
>
<el-button type="text" size="small" @click="btnLook(scope.row)" style="margin-right: 5px"
>鏌ョ湅</el-button
>
- <el-button type="text" size="small" @click="btnCancel(scope.row)" style="margin-right: 5px"
+ <el-button v-if="scope.row.status===1" type="text" size="small" @click="btnCancel(scope.row)" style="margin-right: 5px"
>鍙栨秷</el-button
>
- <el-button type="text" size="small" @click="btnDelete(scope.row)" style="margin-right: 5px"
+ <el-button v-if="scope.row.status===1" type="text" size="small" @click="btnDelete(scope.row)" style="margin-right: 5px"
>鍒犻櫎</el-button
>
<!-- <el-button v-if="scope.row.status< 4" @click="submitClick(scope.row)" type="text" size="small">鎻愪氦</el-button> -->
@@ -101,16 +101,16 @@
}
},
tableColumn: [
+ { label: "鍗曟嵁绫诲瀷", prop: "orderType", min: 130 },
{ label: "閲囪喘鍗曞彿", prop: "number", min: 150, isCommonClick: true ,default:true},
{ label: "閲囪喘鍗曞悕绉�", prop: "name", min: 130, isCommonClick: true },
- { label: "鍗曟嵁绫诲瀷", prop: "orderType", min: 130 },
{ label: "渚涘簲鍟嗗悕绉�", prop: "supplierName", min: 130 },
{ label: "閲囪喘鏁伴噺", prop: "quantity", min: 130 },
{ label: "鏀惰揣浠撳簱", prop: "warehouse", min: 130 },
{ label: "缁忓姙浜�", prop: "handledBy", min: 130 },
{ label: "鍒跺崟浜�", prop: "creator", min: 130 }
],
- showCol: ['閲囪喘鍗曞彿', '閲囪喘鍗曞悕绉�', '鍗曟嵁绫诲瀷', '渚涘簲鍟嗗悕绉�', '閲囪喘鏁伴噺', '鏀惰揣浠撳簱']
+ showCol: ['閲囪喘鍗曞彿', '閲囪喘鍗曞悕绉�', '鍗曟嵁绫诲瀷', '渚涘簲鍟嗗悕绉�', '閲囪喘鏁伴噺', '鏀惰揣浠撳簱','缁忓姙浜�','鍒跺崟浜�']
}
},
created() {
@@ -336,10 +336,10 @@
},
// 璇︽儏
selCommonClick(row) {
- console.log(row)
this.tableLoading = true
getPurchaseInfo({ id: row.ID }).then((res) => {
if (res.code == 200) {
+ console.log(res,"浜у搧璇︽儏")
this.tableLoading = false
this.commonDetail.visible = true
this.commonDetail.infomation = {
diff --git a/src/views/supplierManage/supplier/AddSupplier.vue b/src/views/supplierManage/supplier/AddSupplier.vue
index 24608fe..9e9b3a4 100644
--- a/src/views/supplierManage/supplier/AddSupplier.vue
+++ b/src/views/supplierManage/supplier/AddSupplier.vue
@@ -363,7 +363,7 @@
name: data.name || "",
number: data.number || "",
phone: data.phone || "",
- responsiblePersonName: data.responsiblePersonName || "",
+ responsiblePersonName: data.responsiblePersonName || "admin",
status: data.status || 0,
supplierType: data.supplierType || "",
url: data.url || ""
diff --git a/src/views/supplierManage/supplier/DetailSupplier.vue b/src/views/supplierManage/supplier/DetailSupplier.vue
index 509d4ca..c2765a1 100644
--- a/src/views/supplierManage/supplier/DetailSupplier.vue
+++ b/src/views/supplierManage/supplier/DetailSupplier.vue
@@ -72,12 +72,26 @@
</div>
</div>
</div>
- <div v-if="activeName === 'second'" class="second">
- <!-- <FollowupRecords
- :isDetail="true"
- :follow-record="detailConfig.infomation.FollowRecord"
- :add-config="addConfig"
- /> -->
+ <div v-if="activeName === 'second'" class="detail">
+ <!-- 閲囪喘璁㈠崟-鍩烘湰淇℃伅 -->
+ <!-- 浜у搧淇℃伅 -->
+ <div class="basic-info">
+ <div class="basic-info-label" @click="expandClick('basic')">
+ <i v-if="isBasicExpand" class="el-icon-arrow-down"></i>
+ <i v-else class="el-icon-arrow-up"></i>
+ <span style="margin-left: 10px">浜у搧淇℃伅</span>
+ </div>
+ <div v-show="isBasicExpand" class="basic-info-content">
+ <TableCommonView
+ style="margin-top: 2px"
+ class="content-table"
+ ref="tableListRef"
+ :table-list="tableList"
+ @selTableCol="selTableCol"
+ >
+ </TableCommonView>
+ </div>
+ </div>
</div>
</div>
</el-drawer>
@@ -93,7 +107,8 @@
default: () => {
return {
visible: false,
- infomation: {}
+ infomation: {},
+ productListInfo:[]
}
}
}
@@ -111,10 +126,23 @@
addConfig: {},
record: "", // 鏈�鏂拌繘灞�
noContactDays: 0,
- newContactDays: ""
+ newContactDays: "",
+ tableList:{},
+ showCol: ['浜у搧鍚嶇О', '浜у搧缂栫爜', '璁¢噺鍗曚綅', '瑙勬牸鍨嬪彿', '鏁伴噺', '閿�鍞崟浠�','浠风◣鍚堣','鎻忚堪'],
+ tableColumn: [
+ { label: "浜у搧鍚嶇О", prop: "name", min: 160, },
+ { label: "浜у搧缂栫爜", prop: "number", min: 130, },
+ { label: "璁¢噺鍗曚綅", prop: "unit", min: 130 },
+ { label: "瑙勬牸鍨嬪彿", prop: "specifications", min: 130 },
+ { label: "鏁伴噺", prop: "amount", min: 130 },
+ { label: "閿�鍞崟浠�", prop: "price", min: 130 },
+ { label: "浠风◣鍚堣", prop: "total", min: 130 },
+ { label: "鎻忚堪", prop: "remark", min: 130 },
+ ],
}
},
created() {
+ console.log(this.detailConfig,"鎶藉眽缁勪欢")
this.setData(this.detailConfig.infomation)
this.addConfig = {
id_name: "sales_leads_id",
@@ -166,6 +194,44 @@
rightValue: ""
}
]
+ this.purchaseList = [
+ {
+ leftStr: "閲囪喘鍗曞彿",
+ leftValue: item.number,
+ rightStr: "閲囪喘鍗曞悕绉�",
+ rightValue: item.name
+ },
+ {
+ leftStr: "渚涘簲鍟嗙被鍨�",
+ leftValue: item.supplierType,
+ rightStr: "鎵�灞炶涓�",
+ rightValue: item.industry
+ },
+ {
+ leftStr: "鍗曟嵁绫诲瀷",
+ leftValue: item.contact,
+ rightStr: "渚涘簲鍟嗗悕绉�",
+ rightValue: item.phone
+ },
+ {
+ leftStr: "閲囪喘鏁伴噺",
+ leftValue: item.responsiblePersonName,
+ rightStr: "鏀惰揣浠撳簱",
+ rightValue: item.url
+ },
+ {
+ leftStr: "缁忓姙浜�",
+ leftValue: item.email,
+ rightStr: "鍒跺崟浜�",
+ rightValue: ""
+ },
+ {
+ leftStr: "鐘舵��",
+ leftValue: item.email,
+ rightStr: "",
+ rightValue: ""
+ },
+ ]
this.dynamicInfoList = [
{
leftStr: "鎴峰悕",
@@ -180,6 +246,26 @@
rightValue: ""
}
]
+ this.tableList = {
+ tableInfomation: this.detailConfig.productListInfo?this.detailConfig.productListInfo:[],
+ selectIndex: true,
+ showcol: this.showCol,
+ allcol:[],
+ tableColumn:this.setColumnVisible(this.showCol),
+ };
+ this.tableList.allcol = this.tableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label);
+ },
+ selTableCol(val) {
+ this.showcol = val;
+ this.tableList.tableColumn = this.setColumnVisible(val);
+ },
+ setColumnVisible(showCol){
+ return this.tableColumn.map(ele=>{
+ return {
+ ...ele,
+ isShowColumn:showCol.includes(ele.label)
+ }
+ })
},
handleClose() {
this.detailConfig.visible = false
diff --git a/src/views/supplierManage/supplier/index.vue b/src/views/supplierManage/supplier/index.vue
index 8383a57..43ed6f4 100644
--- a/src/views/supplierManage/supplier/index.vue
+++ b/src/views/supplierManage/supplier/index.vue
@@ -119,6 +119,7 @@
<script>
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
import { getSupplierList, changeSupplierStatus } from "@/api/supplierManage/supplier"
+import {getPurchaseList} from "@/api/purchaseManage/purchase"
import DetailSupplier from "@/views/supplierManage/supplier/DetailSupplier"
import AddSupplier from "@/views/supplierManage/supplier/AddSupplier"
import RaleteSupplierList from "@/views/supplierManage/supplier/RaleteSupplierList"
@@ -142,7 +143,8 @@
searchProductOptions: [], // 浜у搧鏌ヨ
commonDetail: {
visible: false,
- infomation: {}
+ infomation: {},
+ productListInfo:[]
},
editConfig: {
visible: false,
@@ -422,7 +424,9 @@
},
// 璇︽儏
selCommonClick(row) {
- console.log(row)
+ getPurchaseList({pageSize:10,page:1,supplierId:row.ID}).then((res)=>{
+ this.commonDetail.productListInfo=res.data.data.list
+ })
this.commonDetail.visible = true
this.commonDetail.infomation = { ...row }
},
--
Gitblit v1.8.0