From 6e84763437df97e194f8c833feca8bdcb90e7103 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期一, 28 八月 2023 14:48:49 +0800
Subject: [PATCH] 产品相关接口联调
---
src/views/supplierManage/supplier/index.vue | 75 +++++--
src/components/makepager/TableCommonView.vue | 2
src/views/supplierManage/supplier/AddNewProduct.vue | 98 ++++++----
vue.config.js | 2
src/views/supplierManage/supplier/AddSupplier.vue | 2
src/views/productManage/product/DetailProduct.vue | 4
src/components/makepager/CommonFormTableView.vue | 280 +++++++++++++++++-------------
src/views/other/commonDialog/SelectCommonDialog.vue | 4
src/api/productManage/product.js | 7
src/views/supplierManage/supplier/RaleteSupplierList.vue | 15 +
10 files changed, 288 insertions(+), 201 deletions(-)
diff --git a/src/api/productManage/product.js b/src/api/productManage/product.js
index 6a3f7af..7929fa8 100644
--- a/src/api/productManage/product.js
+++ b/src/api/productManage/product.js
@@ -31,3 +31,10 @@
data
})
}
+
+// 娣诲姞浜у搧鑾峰彇浜у搧鍒楄〃
+export const getProductListFromGrpc = async (data) => {
+ return await axios.get(`/api/p/getProductListFromGrpc`, {
+ params: data
+ })
+}
diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index a42b2e6..91b6d2c 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -19,103 +19,99 @@
</template>
<!-- column鏍峰紡 -->
<template slot-scope="scope">
- <template v-if="!detailEnter">
- <el-form-item
- v-if="item.input"
- label=" "
- :prop="'tableData.' + scope.$index + '.' + item.prop"
- :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
- >
- <el-input
- v-model.trim="scope.row[item.prop]"
- maxlength="50"
+ <!-- <template v-if="!detailEnter"> -->
+ <el-form-item
+ v-if="item.input"
+ label=" "
+ :prop="'tableData.' + scope.$index + '.' + item.prop"
+ :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
+ >
+ <el-input
+ v-model.trim="scope.row[item.prop]"
+ maxlength="50"
+ size="mini"
+ @change="
+ (val) => {
+ commonInputChange(val, item.prop, scope.row)
+ }
+ "
+ ></el-input>
+ </el-form-item>
+ <el-form-item v-else-if="item.productName" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
+ <div class="custom-name">
+ <el-autocomplete
+ v-model="scope.row[item.prop]"
+ :fetch-suggestions="querySearchAsync"
+ value-key="name"
size="mini"
- @change="
+ @select="
(val) => {
- commonInputChange(val, item.prop, scope.row)
+ handleSelectClient(val, item.prop, scope.row)
}
"
- ></el-input>
- </el-form-item>
- <el-form-item
- v-else-if="item.productName"
- label=" "
- :prop="'tableData.' + scope.$index + '.' + item.prop"
- >
- <div class="custom-name">
- <el-autocomplete
- v-model="scope.row[item.prop]"
- :fetch-suggestions="querySearchAsync"
- value-key="name"
- size="mini"
- @select="
- (val) => {
- handleSelectClient(val, item.prop, scope.row)
- }
- "
- ></el-autocomplete>
- <div class="common-select-btn" @click="selClientClick(scope.row, item.prop)">
- <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
- </div>
- <div class="common-select-btn" @click="clearupClient(scope.row)">
- <i class="el-icon-remove-outline" title="娓呴櫎"></i>
- </div>
+ ></el-autocomplete>
+ <div class="common-select-btn" @click="selClientClick(scope.row, item.prop)">
+ <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
</div>
- </el-form-item>
- <el-form-item
- v-else-if="item.date"
- label=" "
- :prop="'tableData.' + scope.$index + '.' + item.prop"
- :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
- >
- <!-- <el-input v-model.trim="scope.row[item.prop]" maxlength="50" size="mini"></el-input> -->
- <el-date-picker v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px">
- </el-date-picker>
- </el-form-item>
- <el-form-item
- v-else-if="item.inputNumber"
- label=" "
- :prop="'tableData.' + scope.$index + '.' + item.prop"
- :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
- >
- <el-input-number
- v-model="scope.row[item.prop]"
- placeholder=""
- :min="0"
- :controls="false"
- size="mini"
- style="width: 100%; margin-right: 5px"
- @change="
- (val) => {
- commonInputChange(val, item.prop, scope.row)
- }
- "
- ></el-input-number>
- </el-form-item>
- <el-form-item
- v-else-if="item.inputFloat"
- label=" "
- :prop="'tableData.' + scope.$index + '.' + item.prop"
- :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
- >
- <el-input-number
- v-model="scope.row[item.prop]"
- placeholder=""
- :min="0"
- :precision="2"
- :controls="false"
- size="mini"
- style="width: 100%; margin-right: 5px"
- @change="
- (val) => {
- commonInputChange(val, item.prop, scope.row)
- }
- "
- ></el-input-number>
- </el-form-item>
- <span v-else>{{ scope.row[item.prop] }}</span>
- </template>
+ <div class="common-select-btn" @click="clearupClient(scope.row)">
+ <i class="el-icon-remove-outline" title="娓呴櫎"></i>
+ </div>
+ </div>
+ </el-form-item>
+ <el-form-item
+ v-else-if="item.date"
+ label=" "
+ :prop="'tableData.' + scope.$index + '.' + item.prop"
+ :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
+ >
+ <!-- <el-input v-model.trim="scope.row[item.prop]" maxlength="50" size="mini"></el-input> -->
+ <el-date-picker v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item
+ v-else-if="item.inputNumber"
+ label=" "
+ :prop="'tableData.' + scope.$index + '.' + item.prop"
+ :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
+ >
+ <el-input-number
+ v-model="scope.row[item.prop]"
+ placeholder=""
+ :min="0"
+ :controls="false"
+ size="mini"
+ style="width: 100%; margin-right: 5px"
+ @change="
+ (val) => {
+ commonInputChange(val, item.prop, scope.row)
+ }
+ "
+ ></el-input-number>
+ </el-form-item>
+ <el-form-item
+ v-else-if="item.inputFloat"
+ label=" "
+ :prop="'tableData.' + scope.$index + '.' + item.prop"
+ :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
+ >
+ <el-input-number
+ v-model="scope.row[item.prop]"
+ placeholder=""
+ :min="0"
+ :precision="2"
+ :controls="false"
+ size="mini"
+ style="width: 100%; margin-right: 5px"
+ @change="
+ (val) => {
+ commonInputChange(val, item.prop, scope.row)
+ }
+ "
+ ></el-input-number>
+ </el-form-item>
<span v-else>{{ scope.row[item.prop] }}</span>
+ <!-- </template> -->
+ <!-- <span v-else>{{ scope.row[item.prop] }}</span> -->
</template>
</el-table-column>
</el-table>
@@ -123,15 +119,6 @@
<div v-if="!detailEnter" style="margin: 10px">
<el-button size="small" type="primary" @click="add">鏂板</el-button>
<el-button size="small" type="primary" @click="empty">娓呯┖</el-button>
-
- <el-button
- size="small"
- v-if="recalculateShow"
- type="primary"
- @click="recalculate"
- :disabled="isRecalculate ? false : true"
- >閲嶇畻</el-button
- >
</div>
<!-- 浜у搧鍚嶇О -->
<SelectCommonDialog
@@ -143,7 +130,7 @@
</template>
<script>
-import { getProductList } from "@/api/productManage/product"
+import { getProductListFromGrpc } from "@/api/productManage/product"
import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog"
export default {
name: "CommmonFormTableView",
@@ -193,24 +180,18 @@
title: "",
infomation: {}
},
- productIndex: 0,
- isRecalculate: true
+ productIndex: 0
}
},
created() {
this.getProductList()
this.tableList = this.productTableList
- if (this.tableList.tableData.length === 1 && this.tableList.tableData[0].name === "") {
- this.isRecalculate = false
- } else {
- this.isRecalculate = true
- }
},
computed: {},
methods: {
// 浜у搧鍚嶇О
async getProductList() {
- await getProductList({
+ await getProductListFromGrpc({
page: 1,
pageSize: 100
}).then((res) => {
@@ -322,7 +303,6 @@
},
// 娓呯┖
empty() {
- this.isRecalculate = false
this.$emit("emptyProductClick")
},
// 閫夋嫨浜у搧鍚嶇О鐩稿叧鏂规硶
@@ -338,16 +318,41 @@
},
handleSelectClient(item, prop, row) {
// this.clientId = item.id
- this.isRecalculate = true
console.log(item, prop, row)
this.tableList.tableData.map((ite) => {
if (ite.name === item.name) {
+ ite.ID = row.ID
ite.amount = item.amount || 1
ite.number = item.number
- ite.price = item.price
- ite.total = item.amount ? item.amount * item.price : 1 * item.price
+ ite.purchasePrice = item.purchasePrice
+ ite.unit = item.unit
+ ite.deliveryTime = item.deliveryTime
+ ite.shippingDuration = item.shippingDuration
+ ite.modelNumber = item.modelNumber
}
})
+ if (this.detailEnter) {
+ this.setEditName(item, row.ID)
+ }
+ },
+ setEditName(item, ID) {
+ let selRow = {
+ ID: ID,
+ deliveryTime: item.deliveryTime,
+ maximumStock: item.maximumStock,
+ minimumStock: item.minimumStock,
+ modelNumber: item.modelNumber,
+ name: item.name,
+ number: item.number,
+ productType: item.productType,
+ purchasePrice: item.purchasePrice,
+ remark: item.remark,
+ shippingDuration: item.shippingDuration,
+ specifications: item.specifications,
+ supplierId: item.supplierId,
+ unit: item.unit
+ }
+ this.$emit("selCommonName", selRow)
},
selClientClick(row, prop) {
console.log(row, prop)
@@ -358,28 +363,55 @@
selClient(item) {
console.log(item)
console.log(this.tableList.tableData)
- this.isRecalculate = true
- // this.editConfig.infomation.client_name = row.name
- this.tableList.tableData.map((ite, index) => {
- if (index === this.productIndex) {
+ if (this.detailEnter) {
+ this.tableList.tableData.map((ite) => {
+ ite.ID
ite.name = item.name
ite.amount = item.amount || 1
ite.number = item.number
- ite.price = item.price
- ite.total = item.amount ? item.amount * item.price : 1 * item.price
- }
- })
+ ite.purchasePrice = item.purchasePrice
+ ite.unit = item.unit
+ ite.deliveryTime = item.deliveryTime
+ ite.shippingDuration = item.shippingDuration
+ })
+ this.setEditName(item, this.tableList.tableData[0].ID)
+ } else {
+ this.tableList.tableData.map((ite, index) => {
+ if (index === this.productIndex) {
+ ite.name = item.name
+ ite.amount = item.amount || 1
+ ite.number = item.number
+ ite.purchasePrice = item.purchasePrice
+ ite.unit = item.unit
+ ite.deliveryTime = item.deliveryTime
+ ite.shippingDuration = item.shippingDuration
+ }
+ })
+ }
},
// 娓呴櫎宸查�夋嫨鐢ㄦ埛
clearupClient(row) {
this.productIndex = row.productId - 1
this.tableList.tableData.map((ite, index) => {
- if (index === this.productIndex) {
+ console.log(row.productId)
+ if (row.productId && row.productId >= 0) {
+ if (index === this.productIndex) {
+ ite.name = ""
+ ite.amount = 1
+ ite.number = ""
+ ite.purchasePrice = 0
+ ite.unit = ""
+ ite.deliveryTime = 0
+ ite.shippingDuration = 0
+ }
+ } else {
ite.name = ""
ite.amount = 1
ite.number = ""
- ite.price = 0
- ite.total = 0
+ ite.purchasePrice = 0
+ ite.unit = ""
+ ite.deliveryTime = 0
+ ite.shippingDuration = 0
}
})
this.$emit("clearupProduct", this.tableList.tableData)
diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue
index f5d34c5..a59e9aa 100644
--- a/src/components/makepager/TableCommonView.vue
+++ b/src/components/makepager/TableCommonView.vue
@@ -11,8 +11,6 @@
:summary-method="getSummaries"
:span-method="arraySpanMethod"
@selection-change="handleSelectionChange"
- highlight-current-row
- @row-click="tableRowClick"
:header-cell-style="{ background: '#ECF4FF', color: '#666' }"
>
<el-table-column v-if="tableList.selectBox" type="selection" width="40"> </el-table-column>
diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue
index f5597b4..63c0a0d 100644
--- a/src/views/other/commonDialog/SelectCommonDialog.vue
+++ b/src/views/other/commonDialog/SelectCommonDialog.vue
@@ -39,7 +39,7 @@
</template>
<script>
-import { getProductList } from "@/api/productManage/product"
+import { getProductListFromGrpc } from "@/api/productManage/product"
export default {
name: "EditSelCommonDialog",
props: {
@@ -105,7 +105,7 @@
},
// 浜у搧鍚嶇О
async getProductList() {
- await getProductList({
+ await getProductListFromGrpc({
page: 1,
pageSize: 100
}).then((res) => {
diff --git a/src/views/productManage/product/DetailProduct.vue b/src/views/productManage/product/DetailProduct.vue
index 6b80b40..4ea52e0 100644
--- a/src/views/productManage/product/DetailProduct.vue
+++ b/src/views/productManage/product/DetailProduct.vue
@@ -35,13 +35,13 @@
</div>
</li>
</ul>
- <div class="business_scope">
+ <!-- <div class="business_scope">
<div class="content-title">{{ "鍥剧墖锛�" }}</div>
<div class="bigImg-div">
<i class="el-icon-picture-outline icon" v-if="!valueUrl"></i>
<img class="bigImg" :src="valueUrl" v-if="valueUrl" />
</div>
- </div>
+ </div> -->
<div class="business_scope">
<div class="content-title">{{ "澶囨敞淇℃伅锛�" }}</div>
<div class="content-data">{{ remark ? remark : "--" }}</div>
diff --git a/src/views/supplierManage/supplier/AddNewProduct.vue b/src/views/supplierManage/supplier/AddNewProduct.vue
index b9a1812..431779a 100644
--- a/src/views/supplierManage/supplier/AddNewProduct.vue
+++ b/src/views/supplierManage/supplier/AddNewProduct.vue
@@ -15,10 +15,12 @@
<div class="basic-info-view">
<CommonFormTableView
:product-table-list="productTableList"
+ :detail-enter="detailEnter"
@inputContent="inputContent"
@addProductClick="addProductClick"
@emptyProductClick="emptyProductClick"
@clearupProduct="clearupProduct"
+ @selCommonName="selCommonName"
/>
</div>
</div>
@@ -31,7 +33,7 @@
</template>
<script>
-// import { createProduct, updateProduct } from "@/api/productManage/product"
+import { createProduct, updateProduct } from "@/api/productManage/product"
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
export default {
name: "AddNewProduct",
@@ -56,7 +58,9 @@
productTableList: {},
tableData: [],
productId: 1,
- isNoProduct: true
+ isNoProduct: true,
+ supplierId: this.addCommonConfig.infomation.supplierId,
+ detailEnter: true
}
},
created() {
@@ -72,49 +76,52 @@
// 淇濆瓨
saveClick() {
console.log(this.editConfig.infomation)
- const params = this.saveParams()
- console.log(params)
if (this.editConfig.title === "娣诲姞") {
- // createProduct(params).then((res) => {
- // console.log(res)
- // this.editConfig.visible = false
- // if (res.code === 200) {
- // this.$message.success("娣诲姞鎴愬姛")
- // this.$parent.getData()
- // }
- // })
+ createProduct({
+ list: this.tableData
+ }).then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message.success("娣诲姞鎴愬姛")
+ this.$parent.getProductList()
+ }
+ })
} else {
- // updateProduct(params).then((res) => {
- // console.log(res)
- // this.editConfig.visible = false
- // if (res.code === 200) {
- // this.$message.success("缂栬緫鎴愬姛")
- // this.$parent.getData()
- // }
- // })
+ const params = this.saveParams()
+ updateProduct(params).then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message.success("缂栬緫鎴愬姛")
+ this.$parent.getProductList()
+ }
+ })
}
},
saveParams() {
- // let data = this.editConfig.infomation
+ let data = this.editConfig.infomation
let params = {
- deliveryTime: 0,
- id: 0,
- maximumStock: 0,
- minimumStock: 0,
- name: "string",
- number: "string",
- productType: "string",
- purchasePrice: 0,
- remark: "string",
- shippingDuration: 0,
- specifications: "string",
- supplierId: 0,
- unit: "string"
+ deliveryTime: data.deliveryTime || 0,
+ id: data.ID || 0,
+ maximumStock: data.maximumStock || 0,
+ minimumStock: data.minimumStock || 0,
+ modelNumber: data.modelNumber || "",
+ name: data.name || "",
+ number: data.number || "",
+ productType: data.productType || "",
+ purchasePrice: data.purchasePrice || 0,
+ remark: data.remark || "",
+ shippingDuration: data.shippingDuration || 0,
+ specifications: data.specifications || "",
+ supplierId: this.supplierId || 0,
+ unit: data.unit || ""
}
return params
},
setTableForm() {
- if (this.editConfig.title === "娣诲姞" || this.editConfig.infomation.products.length === 0) {
+ if (this.editConfig.title === "娣诲姞") {
+ this.detailEnter = false
this.tableData = [
{
productId: this.productId,
@@ -124,14 +131,13 @@
name: "",
number: "",
price: 0,
- total: 0
+ total: 0,
+ supplierId: this.supplierId
}
]
} else {
- this.tableData = this.editConfig.infomation.products
- this.tableData.map((item, index) => {
- item.productId = index + 1
- })
+ this.tableData = [{ ...this.editConfig.infomation }]
+ this.detailEnter = true
}
this.productTableList = {
tableData: this.tableData,
@@ -152,6 +158,7 @@
this.tableData.map((item) => {
if (item.productId === row.productId) {
item[prop] = val
+ item.supplierId = this.supplierId
}
})
},
@@ -166,7 +173,8 @@
name: "",
number: "",
price: 0,
- total: 0
+ total: 0,
+ supplierId: this.supplierId
})
},
// 浜у搧娓呯┖
@@ -181,7 +189,8 @@
name: "",
number: "",
price: 0,
- total: 0
+ total: 0,
+ supplierId: this.supplierId
}
]
this.productTableList.tableData = this.tableData
@@ -190,6 +199,11 @@
clearupProduct(data) {
this.tableData = data
this.productTableList.tableData = this.tableData
+ },
+ selCommonName(row) {
+ console.log("1133")
+ console.log(row)
+ this.editConfig.infomation = row
}
}
}
diff --git a/src/views/supplierManage/supplier/AddSupplier.vue b/src/views/supplierManage/supplier/AddSupplier.vue
index f1e3d87..4f973c8 100644
--- a/src/views/supplierManage/supplier/AddSupplier.vue
+++ b/src/views/supplierManage/supplier/AddSupplier.vue
@@ -229,7 +229,7 @@
editConfig: this.addCommonConfig,
rules: {
name: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- responsiblePersonId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ responsiblePersonName: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
phone: [
{ required: false, message: "", trigger: "blur" },
{ len: 11, message: "闀垮害鍦�11涓瓧绗�", trigger: "blur" },
diff --git a/src/views/supplierManage/supplier/RaleteSupplierList.vue b/src/views/supplierManage/supplier/RaleteSupplierList.vue
index a5ced7b..6306353 100644
--- a/src/views/supplierManage/supplier/RaleteSupplierList.vue
+++ b/src/views/supplierManage/supplier/RaleteSupplierList.vue
@@ -16,6 +16,8 @@
</div>
</div>
<div slot="footer" class="dialog-footer"></div>
+ <!-- 璇︽儏 -->
+ <DetailSupplier v-if="commonDetail.visible" :common-detail="commonDetail" />
</el-dialog>
</div>
</template>
@@ -23,6 +25,7 @@
<script>
import { getProductList } from "@/api/productManage/product"
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+import DetailSupplier from "@/views/supplierManage/supplier/DetailSupplier"
export default {
name: "AddSupplierDialog",
mixins: [pageMixin],
@@ -37,13 +40,17 @@
}
}
},
- components: {},
+ components: { DetailSupplier },
computed: {},
data() {
return {
dialogWidth: "80%",
editConfig: this.commonConfig,
- tableList: {}
+ tableList: {},
+ commonDetail: {
+ visible: false,
+ infomation: {}
+ }
}
},
created() {
@@ -90,8 +97,8 @@
},
selCommonClick(row) {
console.log(row)
- // this.commonDetail.visible = true
- // this.commonDetail.infomation = { ...row }
+ this.commonDetail.visible = true
+ this.commonDetail.infomation = { ...row }
}
}
}
diff --git a/src/views/supplierManage/supplier/index.vue b/src/views/supplierManage/supplier/index.vue
index 1d45a91..c192460 100644
--- a/src/views/supplierManage/supplier/index.vue
+++ b/src/views/supplierManage/supplier/index.vue
@@ -13,28 +13,49 @@
</div>
</div>
<template>
- <TableCommonView
- ref="tableListRef"
- :table-list="tableList"
- @selCommonClick="selCommonClick"
- @tableRowClick="tableRowClick"
+ <el-table
+ ref="tableSupplier"
+ border
+ :data="tableList.tableInfomation"
+ tooltip-effect="dark"
+ style="width: 100%"
+ :lazy="tableList.lazy"
+ highlight-current-row
+ @row-click="tableRowClick"
+ :header-cell-style="{ background: '#ECF4FF', color: '#666' }"
>
- <template slot="tableButton">
- <el-table-column label="鎿嶄綔" width="120">
- <template slot-scope="scope">
- <el-button
- v-if="scope.row.status === 0"
- @click="enableClick(scope.row, '鍚敤')"
- type="text"
- size="small"
- >鍚敤</el-button
- >
- <el-button v-else @click="enableClick(scope.row, '鍋滅敤')" type="text" size="small">鍋滅敤</el-button>
- <el-button @click="modifyClick(scope.row)" type="text" size="small">淇敼</el-button>
- </template>
- </el-table-column>
- </template>
- </TableCommonView>
+ <el-table-column type="index" label="搴忓彿" width="50"> </el-table-column>
+ <el-table-column
+ v-for="(item, i) in tableList.tableColumn"
+ :key="i"
+ :prop="item.prop"
+ :label="item.label"
+ :width="item.width"
+ :min-width="item.min"
+ show-overflow-tooltip
+ :sortable="item.sortable"
+ >
+ <template slot-scope="scope">
+ <div v-if="item.status" :class="scope.row.status">{{ scope.row[item.prop] }}</div>
+ <span
+ v-else-if="item.isCommonClick && scope.row[item.prop]"
+ class="sel-name"
+ @click="selCommonClick(scope.row)"
+ >{{ scope.row[item.prop] }}</span
+ >
+ <span v-else>{{ scope.row[item.prop] ? scope.row[item.prop] : "--" }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" width="100">
+ <template slot-scope="scope">
+ <el-button v-if="scope.row.status === 0" @click="enableClick(scope.row, '鍚敤')" type="text" size="small"
+ >鍚敤</el-button
+ >
+ <el-button v-else @click="enableClick(scope.row, '鍋滅敤')" type="text" size="small">鍋滅敤</el-button>
+ <el-button @click="modifyClick(scope.row)" type="text" size="small">淇敼</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
<div class="btn-pager">
<PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
</div>
@@ -215,6 +236,9 @@
} else {
this.supplierId = 0
}
+ this.$nextTick(() => {
+ this.$refs.tableSupplier.setCurrentRow(this.tableList.tableInfomation[0])
+ })
this.getProductList()
}
})
@@ -274,7 +298,6 @@
},
// 淇敼渚涘簲鍟�
modifyClick(row) {
- console.log(row)
this.editConfig.visible = true
this.editConfig.title = "淇敼"
this.editConfig.infomation = { ...row }
@@ -289,12 +312,14 @@
addNewProductClick() {
this.newProductConfig.visible = true
this.newProductConfig.title = "娣诲姞"
+ this.newProductConfig.infomation = { supplierId: this.supplierId }
},
// 淇敼浜у搧
editClick(row) {
console.log(row)
this.newProductConfig.visible = true
- // this.newProductConfig.title = "淇敼"
+ this.newProductConfig.title = "淇敼"
+ this.newProductConfig.infomation = { ...row }
},
// 鍒犻櫎
delClick(row) {
@@ -352,6 +377,10 @@
margin-right: 20px;
}
}
+ .sel-name {
+ color: $color-primary;
+ cursor: pointer;
+ }
.btn-pager {
display: flex;
.page {
diff --git a/vue.config.js b/vue.config.js
index 5436c86..49ac2a0 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -14,7 +14,7 @@
devServer: {
proxy: {
"/api": {
- target: "http://192.168.20.118:8889", // http://192.168.20.119:8002 http://fai365.com:30150/
+ target: "http://192.168.20.119:8004", // http://192.168.20.119:8004 http://fai365.com:30150/
ws: true,
changeOrigin: true
}
--
Gitblit v1.8.0