From c35ccb51c02c8852e345b831ef5d2dd96c2cf500 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期三, 30 八月 2023 16:39:33 +0800 Subject: [PATCH] Merge branch 'master' of ssh://192.168.5.5:29418/web/SRM --- src/views/productManage/product/index.vue | 218 ++++++++++++++++++++++-------------------------------- 1 files changed, 89 insertions(+), 129 deletions(-) diff --git a/src/views/productManage/product/index.vue b/src/views/productManage/product/index.vue index 6c02040..a904fb1 100644 --- a/src/views/productManage/product/index.vue +++ b/src/views/productManage/product/index.vue @@ -1,77 +1,66 @@ <template> <div class="rightContent"> <div class="top"> - <SearchCommonView - ref="searchCommonView" - :search-options="searchOptions" - @searchClick="searchClick" - @resetClick="resetClick" - /> - <div class="btn-pager"> - <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> + <div class="supplier-search"> + <SearchCommonView + ref="searchCommonView" + :search-options="searchOptions" + @searchClick="searchClick" + @resetClick="resetClick" + /> + <div class="add-view"> + <!-- <el-button type="primary" size="mini" @click="addBtnClick">鏂板缓</el-button> --> + </div> </div> - </div> - <TableCommonView - ref="tableListRef" - :table-list="tableList" - @selSalesLeadClick="selSalesLeadClick" - @getSelectArray="getSelectArray" - > - <template slot="tableButton"> - <el-table-column label="鎿嶄綔" width="120"> - <template slot-scope="scope"> - <el-button @click="handleClick(scope.row)" type="text" size="small">鍚敤</el-button> - <el-button @click="followupClick(scope.row)" type="text" size="small">鍋滅敤</el-button> - <el-button @click="advanceClick(scope.row)" type="text" size="small">淇敼</el-button> - <!-- <el-button @click="delClick(scope.row.id)" type="text" size="small">鍒犻櫎</el-button> --> - </template> - </el-table-column> + <template> + <TableCommonView ref="tableListRef" :table-list="tableList" @selCommonClick="selCommonClick"> + <!-- <template slot="tableButton"> + <el-table-column label="鎿嶄綔" width="120"> + <template slot-scope="scope"> + <el-button @click="handleClick(scope.row)" type="text" size="small">缂栬緫</el-button> + <el-button @click="delClick(scope.row.id)" type="text" size="small">鍒犻櫎</el-button> + </template> + </el-table-column> + </template> --> + </TableCommonView> + <div class="btn-pager"> + <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> + </div> </template> - </TableCommonView> - <!-- 鏂板缓/缂栬緫閿�鍞嚎绱� --> - <!-- <AddSalesLeadDialog v-if="editSalesLeadConfig.visible" :edit-sales-lead-config="editSalesLeadConfig" /> --> + </div> + <!-- 鏂板缓/缂栬緫浜у搧 --> + <AddProduct v-if="editConfig.visible" :add-common-config="editConfig" /> + <!-- 璇︽儏 --> + <DetailProduct v-if="commonDetail.visible" :common-detail="commonDetail" /> </div> </template> <script> import pageMixin from "@/components/makepager/pager/mixin/pageMixin" -import { getSalesLeadsList, getDeleteSalesLeads } from "@/api/client/salesLead" +import { getProductList, deleteProduct } from "@/api/productManage/product" +import DetailProduct from "@/views/productManage/product/DetailProduct" +import AddProduct from "@/views/productManage/product/AddProduct" export default { name: "PruductManage", props: {}, - components: {}, + components: { DetailProduct, AddProduct }, mixins: [pageMixin], computed: {}, data() { return { tableList: {}, - selValueList: [], searchOptions: [], - editSalesLeadConfig: { + commonDetail: { visible: false, title: "鏂板缓", - infomation: {} - }, - importConfig: { - visible: false, - title: "鏂板缓", - infomation: {} - }, - salesLeadDeail: { - visible: false, infomation: {} }, editConfig: { visible: false, title: "鏂板缓", infomation: {} - }, - advanceConfig: { - visible: false, - sales_status: 1 - }, - search_map: {} + } } }, created() { @@ -82,15 +71,18 @@ setTable() { this.tableList = { tableInfomation: [], + selectIndex: true, tableColumn: [ - { label: "渚涘簲鍟嗙紪鍙�", prop: "name", min: 190, isSalesLeadClick: true }, - { label: "渚涘簲鍟嗗悕绉�", prop: "number", min: 130 }, - { label: "渚涘簲鍟嗙被鍨�", prop: "contact_name", min: 130 }, - { label: "鎵�灞炶涓�", prop: "contact_phone", min: 130 }, - { label: "鑱旂郴浜�", prop: "sales_resources", min: 130 }, - { label: "鑱旂郴鐢佃瘽", prop: "province", min: 130 }, - { label: "鐘舵��", prop: "city", min: 130 }, - { label: "鍒涘缓鏃堕棿", prop: "member_name", min: 130 } + { label: "浜у搧缂栫爜", prop: "number", min: 190, isCommonClick: true }, + { label: "浜у搧鍚嶇О", prop: "name", min: 130 }, + { label: "渚涘簲鍟�", prop: "supplierNumber", min: 130 }, + { label: "浜у搧绫诲埆", prop: "productType", min: 130 }, + { label: "瑙勬牸", prop: "specifications", min: 130 }, + { label: "鍨嬪彿", prop: "modelNumber", min: 130 }, + { label: "鍗曚綅", prop: "unit", min: 60 }, + { label: "浠锋牸", prop: "purchasePrice", min: 130 }, + { label: "鏈�浣庡簱瀛�", prop: "minimumStock", min: 80 }, + { label: "鏈�楂樺簱瀛�", prop: "maximumStock", min: 80 } ] } this.searchOptions = [] @@ -101,108 +93,68 @@ } }, // 璇锋眰鏁版嵁 - async getData() { - await getSalesLeadsList({ - search_map: this.search_map, + async getData(val, content) { + await getProductList({ + [val]: content, page: this.pagerOptions.currPage, pageSize: this.pagerOptions.pageSize - }) - .then((res) => { - const list = res.data.list.map((item) => { + }).then((res) => { + if (res.data.code === 200) { + const list = res.data.data.list.map((item) => { return { ...item, - province: item.Province.name, - city: item.City.name, - sales_resources: item.sales_sources.name, - member_name: item.member.username + supplierNumber: item.supplier.number } }) this.tableList.tableInfomation = list || [] - this.pagerOptions.totalCount = res.data.count - }) - .catch((err) => { - console.log(err) - }) + this.pagerOptions.totalCount = res.data.data.total + } + }) }, // 鎼滅储 searchClick(val, content) { console.log(val, content) - this.search_map = { - [val.value]: content - } - this.getData() + this.getData(val.value, content) }, resetClick() { - this.search_map = {} this.getData() }, // 鏂板缓 addBtnClick() { - this.editSalesLeadConfig.visible = true - this.editSalesLeadConfig.title = "鏂板缓" - this.editSalesLeadConfig.infomation = { businessStatus: "鏂板缓", city_id: 0 } + this.editConfig.visible = true + this.editConfig.title = "鏂板缓" }, // 缂栬緫 handleClick(row) { console.log(row) - this.editSalesLeadConfig.visible = true - this.editSalesLeadConfig.title = "缂栬緫" - this.editSalesLeadConfig.infomation = { ...row, businessStatus: "鏂板缓" } - }, - // 璺熻繘 - followupClick(row) { this.editConfig.visible = true - this.editConfig.title = "鏂板缓" - this.editConfig.infomation = { sales_leads_name: row.name } - }, - // 瀵煎叆 - importClitk() { - this.importConfig.visible = true - this.importConfig.title = "閿�鍞嚎绱�" + this.editConfig.title = "缂栬緫" + this.editConfig.infomation = { ...row } }, // 鍒犻櫎 - delClick() { - if (this.selValueList && this.selValueList.length > 0) { - this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }) - .then(() => { - console.log("dddd") - getDeleteSalesLeads({ ids: this.selValueList }).then((response) => { - if (response.code === 200) { - this.$message.success("鍒犻櫎鎴愬姛") - this.getData() - } else { - this.$message.warning("鍒犻櫎澶辫触") - } - }) - }) - .catch(() => {}) - } else { - this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉¤褰�") - } - }, - getSelectArray(val) { - this.selValueList = [] - const list = val.map((item) => { - return item.id + delClick(val) { + this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" }) - this.selValueList = list + .then(() => { + deleteProduct({ id: val }).then((response) => { + if (response.code === 200) { + this.$message.success("鍒犻櫎鎴愬姛") + this.getData() + } else { + this.$message.warning("鍒犻櫎澶辫触") + } + }) + }) + .catch(() => {}) }, // 璇︽儏 - selSalesLeadClick(row) { + selCommonClick(row) { console.log(row) - this.salesLeadDeail.visible = true - this.salesLeadDeail.infomation = { ...row } - }, - // 鎺ㄨ繘 - advanceClick(row) { - console.log(row) - this.advanceConfig.visible = true - this.advanceConfig.sales_status = row.sales_status - this.advanceConfig.infomation = { ...row } + this.commonDetail.visible = true + this.commonDetail.infomation = { ...row } } } } @@ -210,9 +162,17 @@ <!-- Add "scoped" attribute to limit CSS to this component only --> <style lang="scss" scoped> -.sales-lead { +.rightContent { .top { margin-bottom: 20px; + .supplier-search { + display: flex; + align-items: center; + .add-view { + margin-left: auto; + margin-right: 20px; + } + } .btn-pager { display: flex; .page { -- Gitblit v1.8.0