From 890781f6894a4af2558e41cc5c9660477b68b9c5 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期三, 01 十一月 2023 19:28:08 +0800
Subject: [PATCH] 公共搜索组件修改、供应商列表及添加产品搜索框修改
---
src/views/supplierManage/supplier/index.vue | 149 ++++++------
/dev/null | 216 -------------------
src/assets/style/index.scss | 2
src/views/supplierManage/supplier/AddNewProduct.vue | 22 +
src/views/supplierManage/supplier/AddSupplier.vue | 7
src/assets/img/shaixuan.png | 0
src/assets/img/xiazai.png | 0
package.json | 2
src/assets/img/shoucangfill.png | 0
src/components/makepager/CommonSearch.vue | 160 ++++++--------
src/views/other/commonDialog/SelectCommonDialog.vue | 85 +++++--
11 files changed, 223 insertions(+), 420 deletions(-)
diff --git a/package.json b/package.json
index 306b480..76a31e6 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
"version": "0.1.0",
"private": true,
"scripts": {
- "serve": "vue-cli-service serve",
+ "serve": "vue-cli-service serve --open",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
diff --git a/src/assets/img/shaixuan.png b/src/assets/img/shaixuan.png
new file mode 100644
index 0000000..ab3dd53
--- /dev/null
+++ b/src/assets/img/shaixuan.png
Binary files differ
diff --git a/src/assets/img/shoucangfill.png b/src/assets/img/shoucangfill.png
new file mode 100644
index 0000000..8ac3848
--- /dev/null
+++ b/src/assets/img/shoucangfill.png
Binary files differ
diff --git a/src/assets/img/xiazai.png b/src/assets/img/xiazai.png
new file mode 100644
index 0000000..8dd6e61
--- /dev/null
+++ b/src/assets/img/xiazai.png
Binary files differ
diff --git a/src/assets/style/index.scss b/src/assets/style/index.scss
index 89fe4ef..44f2fe4 100644
--- a/src/assets/style/index.scss
+++ b/src/assets/style/index.scss
@@ -136,7 +136,7 @@
}
}
-.border_radius_12{
+.border_radius_12 {
border-radius: 12px;
}
diff --git a/src/components/makepager/CommonSearch.vue b/src/components/makepager/CommonSearch.vue
index 7e83725..f61df8c 100644
--- a/src/components/makepager/CommonSearch.vue
+++ b/src/components/makepager/CommonSearch.vue
@@ -2,29 +2,24 @@
<div class="search-list">
<div class="search-top">
<div class="left">
- <el-button v-if="showAdd" type="primary" size="mini" @click="addBtn">{{
- addTitle
- }}</el-button>
- <div
- class="download"
- v-if="showDownload"
- @click="downloadClick"
- :style="{ cursor: showDownload ? 'pointer' : 'no-drop' }"
- >
- <img
- src="../../../public/images/download.png"
- style="width: 13px"
- alt="涓嬭浇"
- />
- </div>
+ <el-button v-if="showAdd" type="primary" size="mini" @click="addBtn">
+ <div style="display: flex">
+ <slot name="buttonIcon" />
+ <span style="margin-top: 1px; line-height: 15px">{{ addTitle }}</span>
+ </div>
+ </el-button>
<slot name="leftButton" />
+ <div
+ v-if="showDownload"
+ class="download"
+ @click="downloadClick"
+ :style="{ cursor: showDownload ? 'pointer' : 'no-drop' }"
+ >
+ <img src="@/assets/img/xiazai.png" style="width: 13px" />
+ </div>
</div>
<div v-if="amountView" class="amount">
- <div
- v-if="twoTotalAmount"
- class="top_left"
- style="width: 8%; border: 0"
- >
+ <div v-if="twoTotalAmount" class="top_left" style="width: 8%; border: 0px">
<dl>
<dd class="font_weight">{{ twoObject.value }}</dd>
<dd class="top_right_bottom">{{ twoObject.label }}</dd>
@@ -37,16 +32,12 @@
</dl>
</div>
<div class="top_right" style="width: 50%; margin-right: 15px">
- <dl v-for="item in otherOptions" :key="item.label">
+ <dl v-for="item in otherOptions" :key="item.value">
<dd class="font_weight">
{{ item.value }}
</dd>
<dd class="top_right_bottom">
- <span
- v-if="item.status"
- class="Badge"
- :class="item.status"
- ></span>
+ <span v-if="item.status" class="Badge" :class="item.status"></span>
<span>{{ item.label }}</span>
</dd>
</dl>
@@ -56,29 +47,20 @@
<div class="search">
<template v-if="isSearchForm">
<el-input
- :placeholder="placeholder"
- v-model.trim="searchInput"
- class="input-with-select"
- style="width: 410px"
- clearable
- @change="searchClick"
- @clear="clearClick"
+ :placeholder="placeholder"
+ v-model.trim="searchInput"
+ class="input-with-select"
+ style="width: 410px"
+ clearable
+ @change="searchClick"
+ @clear="clearClick"
>
- <i
- slot="suffix"
- class="el-icon-search"
- style="cursor: pointer"
- @click="searchClick"
- ></i>
+ <i slot="suffix" class="el-icon-search" style="cursor: pointer" @click="searchClick"></i>
</el-input>
</template>
- <div class="search-Btn" v-if="showActionBtn">
+ <div v-if="showScreen" class="search-Btn">
<div class="common">
- <img
- src="../../../public/images/filter.png"
- style="width: 10px"
- alt="绛涢��"
- />
+ <img src="@/assets/img/shaixuan.png" style="width: 10px" />
<span>绛涢��</span>
</div>
<div class="common">
@@ -92,11 +74,7 @@
</div>
</div>
<div v-if="showSet">
- <i
- class="el-icon-setting cursor_pointer font_size_30"
- style="color: rgb(128,128,128)"
- @click="inspectionConfigClick"
- ></i>
+ <i class="el-icon-setting cursor_pointer font_size_30" style="color: gray" @click="inspectionConfigClick"></i>
</div>
<div class="right">
<slot name="rightButton"></slot>
@@ -112,32 +90,32 @@
props: {
showAdd: {
type: Boolean,
- default: true,
+ default: true
},
showDownload: {
type: Boolean,
- default: false,
+ default: false
},
showActionBtn: {
type: Boolean,
- default: true,
+ default: true
},
placeholder: {
type: String,
- default: "璇疯緭鍏ュ唴瀹�",
+ default: "璇疯緭鍏ュ唴瀹�"
},
addTitle: {
type: String,
- default: "娣诲姞",
+ default: "娣诲姞"
},
totalObject: {
type: Object,
default: () => {
return {
value: 0,
- label: "鍏ㄩ儴鐗╂枡",
- };
- },
+ label: "鍏ㄩ儴鐗╂枡"
+ }
+ }
},
otherOptions: {
type: Array,
@@ -145,98 +123,102 @@
{
value: 2,
label: "瀹夊叏搴撳瓨",
- status: "success",
+ status: "success"
},
{
value: 12,
label: "娆犳枡",
- status: "error",
+ status: "error"
},
{
value: 2,
label: "瀹夊叏搴撳瓨",
- status: "success",
+ status: "success"
},
{
value: 12,
label: "娆犳枡",
- status: "error",
- },
- ],
+ status: "error"
+ }
+ ]
},
searchSel: {
type: Object,
default: () => {
return {
value: "name",
- label: "",
- };
- },
+ label: ""
+ }
+ }
},
twoTotalAmount: {
type: Boolean,
- default: false,
+ default: false
},
twoObject: {
type: Object,
default: () => {
return {
value: 0,
- label: "杞﹂棿鎬婚噺",
- };
- },
+ label: "杞﹂棿鎬婚噺"
+ }
+ }
},
amountView: {
type: Boolean,
- default: true,
+ default: true
},
isSearchForm: {
type: Boolean,
- default: true,
+ default: true
},
showSet: {
type: Boolean,
- default: false,
+ default: false
},
inputName: {
type: String,
- default: "",
+ default: ""
},
+ showScreen: {
+ type: Boolean,
+ default: true
+ }
},
watch: {
inputName(val) {
- this.searchInput = val;
- },
+ this.searchInput = val
+ }
},
data() {
return {
searchInput: "",
- searchSelValue: this.searchSel,
- };
+ searchSelValue: this.searchSel
+ }
},
methods: {
// 鎼滅储
searchClick() {
- this.$emit("searchClick", this.searchInput);
+ this.$emit("searchClick", this.searchInput)
},
// 娓呴櫎
clearClick() {
- this.$emit("clearClick", 1);
+ this.$emit("clearClick", 1)
},
// 娣诲姞
addBtn() {
- this.$emit("addCommonClick");
+ this.$emit("addCommonClick")
},
// 涓嬭浇
downloadClick() {
- this.$emit("downloadClick");
+ this.$emit("downloadClick")
},
// 妯″叿-妫�鏌ラ厤缃�
inspectionConfigClick() {
- this.$emit("inspectionConfigClick");
- },
- },
-};
+ this.$emit("inspectionConfigClick")
+ }
+ }
+}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
@@ -280,7 +262,7 @@
.font_weight {
font-weight: 500;
font-size: 18px;
- font-family: "DIN Alternate",serif;
+ font-family: "DIN Alternate", serif;
}
.top_right_bottom {
font-size: 12px;
@@ -300,7 +282,7 @@
.font_weight {
font-weight: 500;
font-size: 18px;
- font-family: "DIN Alternate",serif;
+ font-family: "DIN Alternate", serif;
}
.top_right_bottom {
font-size: 12px;
diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue
index cfe8f7b..2e31f18 100644
--- a/src/views/other/commonDialog/SelectCommonDialog.vue
+++ b/src/views/other/commonDialog/SelectCommonDialog.vue
@@ -31,7 +31,10 @@
<TableCommonView ref="tableListRef" :table-list="tableList" :select-box="false" @selCommonClick="selNameClick">
</TableCommonView>
<div slot="footer" class="dialog-footer">
- <div class="remark">璇存槑锛氭敮鎸佸瀛楁妯$硦鏌ヨ锛屼粎鏄剧ず绗﹀悎鏉′欢鐨勫墠5鏉℃暟鎹�</div>
+ <!-- <div class="remark">璇存槑锛氭敮鎸佸瀛楁妯$硦鏌ヨ锛屼粎鏄剧ず绗﹀悎鏉′欢鐨勫墠5鏉℃暟鎹�</div> -->
+ <div class="btn-pager">
+ <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
+ </div>
</div>
</div>
</el-dialog>
@@ -39,9 +42,12 @@
</template>
<script>
-import { getProductListFromGrpc,getProductList } from "@/api/productManage/product"
+import { getProductListFromGrpc, getProductList } from "@/api/productManage/product"
+import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+
export default {
name: "EditSelCommonDialog",
+ mixins: [pageMixin],
props: {
editCommonConfig: {
type: Object,
@@ -53,16 +59,16 @@
}
}
},
- sign:{
- type:String,
- default:''
+ sign: {
+ type: String,
+ default: ""
}
},
components: {},
computed: {},
data() {
return {
- dialogWidth: "50%",
+ dialogWidth: "40%",
editConfig: this.editCommonConfig,
queryInput: "",
select: "鍏ㄩ儴瀛楁",
@@ -74,7 +80,14 @@
search_map: {},
searchSel: {},
keyword: "",
- keywordType: ""
+ keywordType: "",
+ showProductCol: ["浜у搧鍚嶇О", "浜у搧缂栧彿"],
+ tableProductColumn: [
+ { label: "浜у搧鍚嶇О", prop: "name", isClick: true },
+ { label: "浜у搧缂栧彿", prop: "number" }
+ ],
+ showCol: [],
+ tableColumn: []
}
},
created() {
@@ -82,23 +95,40 @@
this.getData()
},
methods: {
+ setColumnVisible(showCol) {
+ return this.tableColumn.map((ele) => {
+ return {
+ ...ele,
+ isShowColumn: showCol.includes(ele.label)
+ }
+ })
+ },
setTable() {
if (this.editConfig.title === "浜у搧鍚嶇О") {
- this.tableList = {
- tableInfomation: [],
- tableColumn: [
- { label: "浜у搧鍚嶇О", prop: "name", isClick: true },
- { label: "浜у搧缂栧彿", prop: "number" }
- ]
- }
- this.searchSel = { value: "name", label: "浜у搧鍚嶇О" }
+ this.showCol = this.showProductCol
+ this.tableColumn = this.tableProductColumn
}
+ this.tableList = {
+ tableInfomation: [],
+ selectIndex: true,
+ highlight: true,
+ ref: "tableListRef",
+ showcol: this.showCol,
+ allcol: [],
+ tableColumn: this.setColumnVisible(this.showCol)
+ }
+ this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
+
this.searchOptions = []
for (let i = 0; i < this.tableList.tableColumn.length; i++) {
const label = this.tableList.tableColumn[i].label
const value = this.tableList.tableColumn[i].prop
this.searchOptions.push({ value: value, label: label })
}
+ },
+ selTableCol(val) {
+ this.showcol = val
+ this.tableList.tableColumn = this.setColumnVisible(val)
},
// 璇锋眰鏁版嵁
async getData() {
@@ -109,11 +139,12 @@
},
// 浜у搧鍚嶇О
async getProductList() {
-
- let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc;
- await fn({
- page: 1,
- pageSize: 100
+ let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc
+ await fn({
+ productName: this.keywordType === "浜у搧鍚嶇О" ? this.keyword : "",
+ productNumber: this.keywordType === "浜у搧缂栧彿" ? this.keyword : "",
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
}).then((res) => {
console.log(res.data)
if (res.data.code === 200) {
@@ -123,7 +154,8 @@
...item
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list
+ this.pagerOptions.totalCount = res.data.data.total
} else {
this.tableList.tableInfomation = []
}
@@ -185,9 +217,16 @@
cursor: pointer;
}
.dialog-footer {
- height: 40px;
- line-height: 40px;
+ height: 50px;
+ line-height: 50px;
color: red;
+ .btn-pager {
+ display: flex;
+ margin-top: 0px;
+ .page {
+ margin-left: auto;
+ }
+ }
}
::v-deep {
.input-with-select .el-input-group__prepend {
diff --git a/src/views/other/product/index.vue b/src/views/other/product/index.vue
deleted file mode 100644
index 9b43bd8..0000000
--- a/src/views/other/product/index.vue
+++ /dev/null
@@ -1,216 +0,0 @@
-<template>
- <div class="product">
- <div v-if="isDetail" class="detail-top">
- <DetailListCommonBtn :query-class-options="queryClassOptions" />
- <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
- </div>
- <div v-else class="top">
- <SearchCommonView
- ref="searchCommonView"
- :query-class-options="queryClassOptions"
- :search-options="searchOptions"
- :search-sel="searchSel"
- @searchClick="searchClick"
- @resetClick="resetClick"
- />
- <div class="btn-pager">
- <PublicFunctionBtnView :statistics="true" :operates-list="operatesList" @batchDelete="delClick" />
- <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
- </div>
- </div>
- <TableCommonView
- ref="tableListRef"
- v-loading="loading"
- :table-list="tableList"
- :select-box="!isDetail"
- @getSelectArray="getSelectArray"
- >
- <!-- <template slot="tableButton">
- <el-table-column label="鎿嶄綔" width="60" fixed="right">
- <template slot-scope="scope">
- <el-button @click="handleClick(scope.row)" type="text" size="small">缂栬緫</el-button>
- </template>
- </el-table-column>
- </template> -->
- </TableCommonView>
- </div>
-</template>
-
-<script>
-import { getProductList } from "@/api/common/other"
-import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
-
-export default {
- name: "ProductView",
- props: {
- isDetail: {
- type: Boolean,
- default: false
- },
- addConfig: {
- type: Object,
- default: () => {
- return {}
- }
- }
- },
- mixins: [pageMixin],
- components: {},
- computed: {},
- data() {
- return {
- tableList: {},
- loading: false,
- activeName: "second",
- queryClassValue: "1",
- queryClassOptions: [
- { value: "1", label: "鍏ㄩ儴" },
- { value: "2", label: "浠婃棩鑱旂郴" },
- { value: "3", label: "鏈懆鑱旂郴" },
- { value: "4", label: "鏈湀鑱旂郴" }
- ],
- searchOptions: [],
- operatesList: [
- { id: "1", name: "鍏变韩" },
- { id: "2", name: "鎵归噺缂栬緫" },
- { id: "3", name: "瀵煎嚭" },
- { id: "4", name: "涓嬭浇鍏ㄩ儴闄勪欢" },
- { id: "5", name: "鏇存敼鍒涘缓浜�" },
- { id: "6", name: "鏍戠粨鏋勮缃�" },
- { id: "7", name: "瀹℃壒璁剧疆" },
- { id: "8", name: "鍥炶棰勮鍒楀" }
- ],
- editConfig: {
- visible: false,
- title: "鏂板缓",
- infomation: {}
- },
- saleChanceName: "",
- contactsDeail: {
- visible: false,
- infomation: {}
- },
- clientDeail: {
- visible: false,
- infomation: {}
- },
- selValueList: [],
- searchSel: {
- value: "topic",
- label: ""
- },
- search_map: {}
- }
- },
- created() {
- this.setTable()
- if (!this.isDetail) {
- this.search_map = {}
- } else {
- this.search_map = {
- [this.addConfig.id_name]: this.addConfig.client_name
- }
- }
- this.getData(this.search_map)
- },
- methods: {
- setTable() {
- this.tableList = {
- tableInfomation: [],
- tableColumn: [
- { label: "浜у搧鍚嶇О", prop: "topic" },
- { label: "浜у搧缂栧彿", prop: "client_name" },
- { label: "浜у搧绫诲埆", prop: "contact_name" },
- { label: "瑙勬牸鍨嬪彿", prop: "client_status" },
- { label: "璁¢噺鍗曚綅", prop: "contact_information_name" },
- { label: "浜у搧鎶ヤ环", prop: "follow_time" },
- { label: "鍙傝�冩垚鏈环", prop: "next_follow_time" },
- { label: "鎬诲簱瀛樻暟閲�", prop: "member_name" },
- { label: "璐熻矗浜�", prop: "record" }
- ]
- }
- this.searchOptions = []
- for (let i = 0; i < this.tableList.tableColumn.length; i++) {
- const label = this.tableList.tableColumn[i].label
- const value = this.tableList.tableColumn[i].prop
- this.searchOptions.push({ value: value, label: label })
- }
- },
- // 璇锋眰鏁版嵁
- async getData() {
- this.loading = true
- await getProductList({
- productName: "",
- productNumber: "",
- page: this.pagerOptions.currPage,
- pageSize: this.pagerOptions.pageSize
- })
- .then((res) => {
- console.log(res)
- if (res.code === 200) {
- if (res.data.list && res.data.list.length > 0) {
- const list = res.data.list.map((item) => {
- return {
- ...item
- }
- })
- this.tableList.tableInfomation = list || []
- this.pagerOptions.totalCount = res.data.count
- } else {
- this.tableList.tableInfomation = []
- }
- } else {
- this.tableList.tableInfomation = []
- }
- this.loading = false
- })
- .catch((err) => {
- console.log(err)
- this.tableList.tableInfomation = []
- this.loading = false
- })
- },
- // 鎼滅储
- searchClick(val, content) {
- console.log(val, content)
- this.search_map = {
- [val.value]: content
- }
- this.getData()
- },
- resetClick() {
- this.search_map = {}
- this.getData()
- },
- getSelectArray(val) {
- console.log(val)
- this.selValueList = []
- const list = val.map((item) => {
- return item.id
- })
- this.selValueList = list
- }
- }
-}
-</script>
-
-<!-- Add "scoped" attribute to limit CSS to this component only -->
-<style lang="scss" scoped>
-.product {
- .top {
- margin-bottom: 20px;
- .btn-pager {
- display: flex;
- .page {
- margin-left: auto;
- }
- }
- }
- .detail-top {
- display: flex;
- .page {
- margin-left: auto;
- }
- }
-}
-</style>
diff --git a/src/views/supplierManage/supplier/AddNewProduct.vue b/src/views/supplierManage/supplier/AddNewProduct.vue
index cee0353..4ebb1bc 100644
--- a/src/views/supplierManage/supplier/AddNewProduct.vue
+++ b/src/views/supplierManage/supplier/AddNewProduct.vue
@@ -96,16 +96,18 @@
if (this.editConfig.title === "娣诲姞") {
createProduct({
list: this.tableData
- }).then((res) => {
- console.log(res)
- this.editConfig.visible = false
- if (res.code === 200) {
- this.$message.success("娣诲姞鎴愬姛")
- this.$parent.getProductList()
- }
- }).catch(e=>{
- console.log(e)
})
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message.success("娣诲姞鎴愬姛")
+ this.$parent.getProductList()
+ }
+ })
+ .catch((e) => {
+ console.log(e)
+ })
} else {
const params = this.saveParams()
updateProduct(params).then((res) => {
@@ -164,7 +166,7 @@
this.productTableList = {
tableData: this.tableData,
tableColumn: [
- { label: "浜у搧鍚嶇О", prop: "name", productName: true, isRequird: true },
+ { label: "浜у搧鍚嶇О", prop: "name", productName: true, isRequird: true, width: 250 },
{ label: "浜у搧缂栫爜", prop: "number" },
{ label: "璁¢噺鍗曚綅", prop: "unit" },
{ label: "瑙勬牸鍨嬪彿", prop: "specifications" },
diff --git a/src/views/supplierManage/supplier/AddSupplier.vue b/src/views/supplierManage/supplier/AddSupplier.vue
index 93e1654..68bad59 100644
--- a/src/views/supplierManage/supplier/AddSupplier.vue
+++ b/src/views/supplierManage/supplier/AddSupplier.vue
@@ -236,7 +236,7 @@
computed: {},
data() {
return {
- dialogWidth: "60%",
+ dialogWidth: "50%",
editConfig: this.addCommonConfig,
rules: {
name: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
@@ -493,11 +493,6 @@
.file-content {
display: flex;
}
- }
- .dialog-footer {
- background-color: #f5f5f5;
- height: 55px;
- line-height: 55px;
}
}
}
diff --git a/src/views/supplierManage/supplier/index.vue b/src/views/supplierManage/supplier/index.vue
index 0755ae7..d3bccbd 100644
--- a/src/views/supplierManage/supplier/index.vue
+++ b/src/views/supplierManage/supplier/index.vue
@@ -4,14 +4,14 @@
<div class="filter">
<div class="filter-card">
<CommonSearch
- :show-add="true"
- add-title="鏂板缓"
- @addCommonClick="addBtnClick"
- :show-download="false"
- :amount-view="false"
- :show-action-btn="false"
- :placeholder="'璇疯緭鍏ヤ緵搴斿晢鍚嶇О'"
- @searchClick="onFilterSearch"
+ :show-add="true"
+ add-title="鏂板缓"
+ @addCommonClick="addBtnClick"
+ :show-download="true"
+ :amount-view="false"
+ :show-action-btn="false"
+ :placeholder="'璇疯緭鍏ヤ緵搴斿晢鍚嶇О'"
+ @searchClick="onFilterSearch"
/>
</div>
</div>
@@ -19,21 +19,21 @@
<div class="body-card">
<div class="list-view">
<TableCommonView
- ref="tableSupplier"
- :table-list="tableList"
- @selCommonClick="selCommonClick"
- @tableRowClick="tableRowClick"
- @selTableCol="selTableCol"
+ ref="tableSupplier"
+ :table-list="tableList"
+ @selCommonClick="selCommonClick"
+ @tableRowClick="tableRowClick"
+ @selTableCol="selTableCol"
>
<template slot="tableButton">
<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
+ 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>
@@ -47,18 +47,18 @@
</div>
</div>
</div>
-
</div>
<div class="bottom">
<div class="simple-filter">
<div class="simple-filter-card">
<CommonSearch
- :show-add="false"
- :show-download="false"
- :amount-view="false"
- :show-action-btn="false"
- :placeholder="'璇疯緭鍏ヤ骇鍝佸悕绉�'"
- @searchClick="onProductFilterSearch"
+ :show-add="false"
+ :show-download="false"
+ :amount-view="false"
+ :show-screen="false"
+ :show-action-btn="false"
+ :placeholder="'璇疯緭鍏ヤ骇鍝佸悕绉�'"
+ @searchClick="onProductFilterSearch"
>
<template slot="leftButton">
<div class="sub-title"><span class="sub-title-decorator"></span>鍙彁渚涚殑浜у搧</div>
@@ -74,11 +74,11 @@
<div class="body-card">
<div class="list-view">
<TableCommonView
- ref="tableListProduct"
- :table-list="productTableList"
- @selCommonClick="selCommonClick"
- @getSelectArray="getSelectArray"
- @selTableCol="selProductTableCol"
+ ref="tableListProduct"
+ :table-list="productTableList"
+ @selCommonClick="selCommonClick"
+ @getSelectArray="getSelectArray"
+ @selTableCol="selProductTableCol"
>
<template slot="tableButton">
<el-table-column label="鎿嶄綔" width="170">
@@ -93,10 +93,10 @@
</div>
<div class="btn-pager">
<PagerView
- class="page"
- :pager-options="productPagerOptions"
- @size-change="productChangeHandler"
- @current-change="currentProductHandler"
+ class="page"
+ :pager-options="productPagerOptions"
+ @size-change="productChangeHandler"
+ @current-change="currentProductHandler"
/>
</div>
</div>
@@ -130,7 +130,7 @@
computed: {},
data() {
return {
- searchSupplierName: '',
+ searchSupplierName: "",
tableList: {}, // 渚涘簲鍟嗗垪琛�
productTableList: {}, // 浜у搧鍒楄〃
selValueList: [],
@@ -160,7 +160,7 @@
totalCount: 0
},
supplierId: 0,
- showCol:['渚涘簲鍟嗙紪鍙�','渚涘簲鍟嗗悕绉�','渚涘簲鍟嗙被鍨�','鎵�灞炶涓�','鑱旂郴浜�','鑱旂郴鐢佃瘽','鐘舵��'],
+ showCol: ["渚涘簲鍟嗙紪鍙�", "渚涘簲鍟嗗悕绉�", "渚涘簲鍟嗙被鍨�", "鎵�灞炶涓�", "鑱旂郴浜�", "鑱旂郴鐢佃瘽", "鐘舵��"],
tableColumn: [
{ label: "渚涘簲鍟嗙紪鍙�", prop: "number", min: 190, isCommonClick: true },
{ label: "渚涘簲鍟嗗悕绉�", prop: "name", min: 130, default: true },
@@ -171,8 +171,8 @@
{ label: "鐘舵��", prop: "status_name", min: 130 },
{ label: "鍒涘缓鏃堕棿", prop: "created_at", min: 130 }
],
- showProductCol:['浜у搧缂栫爜','浜у搧鍚嶇О','浜у搧瑙勬牸','鍗曚綅','閲囪喘浠锋牸','渚涜揣鏃堕暱(澶�)','鐗╂祦鏃堕暱(澶�)'],
- productColumn:[
+ showProductCol: ["浜у搧缂栫爜", "浜у搧鍚嶇О", "浜у搧瑙勬牸", "鍗曚綅", "閲囪喘浠锋牸", "渚涜揣鏃堕暱(澶�)", "鐗╂祦鏃堕暱(澶�)"],
+ productColumn: [
{ label: "浜у搧缂栫爜", prop: "number", min: 190 },
{ label: "浜у搧鍚嶇О", prop: "name", min: 130, default: true },
{ label: "浜у搧瑙勬牸", prop: "specifications", min: 130 },
@@ -189,19 +189,19 @@
this.getData()
},
methods: {
- setColumnVisible(showCol){
- return this.tableColumn.map(ele=>{
+ setColumnVisible(showCol) {
+ return this.tableColumn.map((ele) => {
return {
...ele,
isShowColumn: showCol.includes(ele.label)
}
})
},
- setProductColumnVisible(showCol){
- return this.productColumn.map(ele=>{
+ setProductColumnVisible(showCol) {
+ return this.productColumn.map((ele) => {
return {
...ele,
- isShowColumn:showCol.includes(ele.label)
+ isShowColumn: showCol.includes(ele.label)
}
})
},
@@ -213,9 +213,9 @@
ref: "tableListRef",
showcol: this.showCol,
allcol: [],
- tableColumn: this.setColumnVisible(this.showCol),
+ tableColumn: this.setColumnVisible(this.showCol)
}
- this.tableList.allcol = this.tableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label);
+ this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
this.searchOptions = []
for (let i = 0; i < this.tableList.tableColumn.length; i++) {
@@ -225,8 +225,8 @@
}
},
selTableCol(val) {
- this.showcol = val;
- this.tableList.tableColumn = this.setColumnVisible(val);
+ this.showcol = val
+ this.tableList.tableColumn = this.setColumnVisible(val)
},
setProductTable() {
this.productTableList = {
@@ -235,7 +235,7 @@
selectIndex: true,
showcol: this.showProductCol,
allcol: [],
- tableColumn: this.setProductColumnVisible(this.showProductCol),
+ tableColumn: this.setProductColumnVisible(this.showProductCol)
}
this.searchProductOptions = []
for (let i = 0; i < this.productTableList.tableColumn.length; i++) {
@@ -244,12 +244,14 @@
this.searchProductOptions.push({ value: value, label: label })
}
- this.productTableList.allcol = this.productTableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label);
- console.log('this.productTableList',this.productTableList)
+ this.productTableList.allcol = this.productTableList.tableColumn
+ .filter((ele) => !ele.default)
+ .map((ele) => ele.label)
+ console.log("this.productTableList", this.productTableList)
},
selProductTableCol(val) {
- this.showProductCol = val;
- this.productTableList.tableColumn = this.setProductColumnVisible(val);
+ this.showProductCol = val
+ this.productTableList.tableColumn = this.setProductColumnVisible(val)
},
// 璇锋眰鏁版嵁
getData() {
@@ -282,13 +284,13 @@
})
// 閲嶆柊鑾峰彇渚涘簲鍟嗗垪琛ㄥ悗搴旇閲嶇疆浜у搧鍒楄〃椤电爜
- this.productPagerOptions.currPage = 1;
+ this.productPagerOptions.currPage = 1
// 濡傛灉渚涘簲鍟嗗垪琛ㄤ负绌�,鍒欏彲鎻愪緵浜у搧鍒楄〃涔熷簲涓虹┖
- if (list.length){
+ if (list.length) {
this.getProductList()
- }else {
- this.productTableList.tableInfomation=[]
- this.productPagerOptions.currPage = 1;
+ } else {
+ this.productTableList.tableInfomation = []
+ this.productPagerOptions.currPage = 1
this.productPagerOptions.totalCount = 0
}
}
@@ -314,15 +316,15 @@
})
},
// 鎼滅储渚涘簲鍟�
- onFilterSearch(searchText){
- this.searchSupplierName = searchText ??''
+ onFilterSearch(searchText) {
+ this.searchSupplierName = searchText ?? ""
this.pagerOptions.currPage = 1
this.getSupplierList()
},
// 鎼滅储浜у搧
- onProductFilterSearch(searchText){
+ onProductFilterSearch(searchText) {
this.productPagerOptions.currPage = 1
- this.getProductList('name', searchText)
+ this.getProductList("name", searchText)
},
// 鏂板缓渚涘簲鍟�
addBtnClick() {
@@ -423,32 +425,32 @@
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style lang="scss" scoped>
-.supplier{
+.supplier {
height: 100%;
overflow: hidden;
- .top{
+ .top {
position: relative;
height: 55%;
- .body{
+ .body {
position: relative;
height: calc(100% - 92px);
}
}
- .bottom{
+ .bottom {
position: relative;
height: 45%;
- .body{
+ .body {
position: relative;
height: calc(100% - 40px);
padding-top: 0;
}
}
- .filter{
+ .filter {
height: 80px;
display: flex;
align-items: center;
padding: 12px 20px 0 20px;
- &-card{
+ &-card {
height: 80px;
display: flex;
align-items: center;
@@ -459,13 +461,13 @@
background-color: #fff;
}
}
- .simple-filter{
+ .simple-filter {
height: 40px;
box-sizing: border-box;
display: flex;
align-items: center;
padding: 0 20px;
- &-card{
+ &-card {
height: 80px;
display: flex;
align-items: center;
@@ -473,7 +475,7 @@
flex: 1;
}
}
- .body{
+ .body {
box-sizing: border-box;
padding: 10px 20px;
border-radius: 12px;
@@ -504,7 +506,7 @@
}
}
}
-.sub-title{
+.sub-title {
flex-shrink: 0;
margin-right: 20px;
font-size: 16px;
@@ -513,7 +515,7 @@
line-height: 28px;
position: relative;
padding-left: 12px;
- &-decorator{
+ &-decorator {
position: absolute;
height: 100%;
width: 4px;
@@ -522,5 +524,4 @@
left: 0;
}
}
-
</style>
--
Gitblit v1.8.0