From 7c733f2e8d6b3c688ea741183f2b5d60686e841e Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期四, 21 九月 2023 11:06:36 +0800 Subject: [PATCH] 编辑产品接口联调及增加必填项校验 --- src/components/makepager/pager/PagerView.vue | 2 src/views/productManage/product/index.vue | 27 +++++++++++-- src/components/makepager/pager/mixin/pageMixin.js | 2 src/views/productManage/product/AddProductDialog.vue | 53 ++++++++++++++++---------- 4 files changed, 56 insertions(+), 28 deletions(-) diff --git a/src/components/makepager/pager/PagerView.vue b/src/components/makepager/pager/PagerView.vue index 7c40a5d..bf7c1f2 100644 --- a/src/components/makepager/pager/PagerView.vue +++ b/src/components/makepager/pager/PagerView.vue @@ -40,7 +40,7 @@ default: () => { return { currPage: 1, - pageSize: 10, + pageSize: 15, totalCount: 0 } } diff --git a/src/components/makepager/pager/mixin/pageMixin.js b/src/components/makepager/pager/mixin/pageMixin.js index 3e2e54e..ad77eda 100644 --- a/src/components/makepager/pager/mixin/pageMixin.js +++ b/src/components/makepager/pager/mixin/pageMixin.js @@ -7,7 +7,7 @@ return { pagerOptions: { currPage: 1, - pageSize: 10, + pageSize: 15, totalCount: 0 }, pagerEvents diff --git a/src/views/productManage/product/AddProductDialog.vue b/src/views/productManage/product/AddProductDialog.vue index 206aa69..b8542b9 100644 --- a/src/views/productManage/product/AddProductDialog.vue +++ b/src/views/productManage/product/AddProductDialog.vue @@ -47,7 +47,7 @@ <div class="basic-info-view"> <el-row> <el-col :span="23"> - <div style="margin-left: 20px">浜у搧鍚嶇О</div> + <div style="margin-left: 20px"><span style="color: #f56c6c">*</span>浜у搧鍚嶇О</div> <el-form-item label="" prop="name" label-width="20px"> <el-input v-model="editConfig.infomation.name" placeholder="" :disabled="!showFooter"></el-input> </el-form-item> @@ -105,8 +105,8 @@ <el-option v-for="item in strategyOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> - <div>鍙偍瀛樼殑浜у搧鏄偍绠$悊搴撳瓨姘村钩鐨勫疄鐗╅」鐩��</div> - <div>鎮ㄥ彲浠ュ湪鍙戣揣鍓嶄负鍏跺紑鍏风粨绠楀崟銆�</div> + <div class="font_size_13" style="color: gray">鍙偍瀛樼殑浜у搧鏄偍绠$悊搴撳瓨姘村钩鐨勫疄鐗╅」鐩��</div> + <div class="font_size_13" style="color: gray">鎮ㄥ彲浠ュ湪鍙戣揣鍓嶄负鍏跺紑鍏风粨绠楀崟銆�</div> </el-form-item> <el-form-item label="鐗╂枡绫诲瀷" prop="model" style="margin-left: 20px"> <el-select @@ -259,6 +259,7 @@ :precision="2" :controls="false" style="width: 85%" + :disabled="!showFooter" ></el-input-number> <span> kg</span> </el-form-item> @@ -270,6 +271,7 @@ :precision="2" :controls="false" style="width: 85%" + :disabled="!showFooter" ></el-input-number> <span> m鲁</span> </el-form-item> @@ -285,9 +287,10 @@ v-model="editConfig.infomation.deliveryAdvanceTime" placeholder="璇疯緭鍏�" :min="0" - :precision="2" + :precision="0" :controls="false" style="width: 85%" + :disabled="!showFooter" ></el-input-number> <span> 澶╂暟</span> </el-form-item> @@ -296,9 +299,10 @@ v-model="editConfig.infomation.customerTaxes" placeholder="璇疯緭鍏�" :min="0" - :precision="2" + :precision="0" :controls="false" style="width: 85%" + :disabled="!showFooter" ></el-input-number> <span> 澶╂暟</span> </el-form-item> @@ -477,7 +481,7 @@ <script> // import CommonFormTableView from "@/components/makepager/CommonFormTableView" import { getProductCategoryList } from "@/api/product/productCategory" -import { getProductList, addProduct } from "@/api/product/product" +import { getProductList, addProduct, updateProduct } from "@/api/product/product" let inputElement = null export default { @@ -489,7 +493,7 @@ return { visible: false, title: "鏂板缓", - infomation: { type: [] } + infomation: {} } } } @@ -501,11 +505,10 @@ dialogWidth: "50%", editConfig: this.editCommonConfig, rules: { - client_name: [{ required: true, message: "璇烽�夋嫨瀹㈡埛鍚嶇О", trigger: "change" }], - number: [{ required: true, message: "璇疯緭鍏ラ��娆惧崟缂栧彿", trigger: "blur" }], - refundDate: [{ required: true, message: "璇烽�夋嫨閫�娆炬棩鏈�", trigger: "change" }], - memberId: [{ required: true, message: "璇烽�夋嫨閿�鍞礋璐d汉", trigger: "change" }], - sale_return_nunber: [{ required: true, message: "璇烽�夋嫨閿�鍞��璐у崟", trigger: "change" }] + name: [{ required: true, message: "璇疯緭鍏ヤ骇鍝佸悕绉�", trigger: "blur" }], + model: [{ required: true, message: "璇烽�夋嫨鐗╂枡绫诲瀷", trigger: "change" }], + salePrice: [{ required: true, message: "璇疯緭鍏ラ攢鍞环鏍�", trigger: "blur" }], + unit: [{ required: true, message: "璇疯緭鍏ュ崟浣�", trigger: "blur" }] }, memberOptions: [ { @@ -630,16 +633,21 @@ this.setTableForm() }, // 淇濆瓨 - async saveClick() { + saveClick(formName) { console.log(this.editConfig.infomation) - await addProduct({ - ...this.editConfig.infomation - }).then((res) => { - console.log(res) - this.editConfig.visible = false - if (res.code === 200) { - this.$message.success("娣诲姞鎴愬姛") - this.$parent.getData() + this.$refs[formName].validate((valid) => { + if (valid) { + let requestUrl = this.editConfig.title === "鏂板缓" ? addProduct : updateProduct + requestUrl({ + ...this.editConfig.infomation + }).then((res) => { + console.log(res) + this.editConfig.visible = false + if (res.code === 200) { + this.$message.success("娣诲姞鎴愬姛") + this.$parent.getData() + } + }) } }) }, @@ -905,5 +913,8 @@ line-height: 30px; font-size: 13px; } + .el-input__inner { + text-align: left; + } } </style> diff --git a/src/views/productManage/product/index.vue b/src/views/productManage/product/index.vue index d5e8709..6eb0622 100644 --- a/src/views/productManage/product/index.vue +++ b/src/views/productManage/product/index.vue @@ -63,7 +63,7 @@ </div> --> </div> <div class="btn-pager"> - <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> + <PagerView class="page" :pager-options="pagerOptions" :page-size="pageSizes" v-on="pagerEvents" /> </div> </div> <!-- 鏂板缓/缂栬緫 --> @@ -99,7 +99,8 @@ infomation: {} }, isIconIndex: "1", // 1 鍥炬爣 2 鍒楄〃 - url: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg" + url: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg", + pageSizes: [15, 30] } }, created() { @@ -108,6 +109,10 @@ }, methods: { setTable() { + if (this.isIconIndex === "1") { + this.pageSizes = [30, 60] + this.pagerOptions.pageSize = 30 + } this.tableList = { tableInfomation: [], selectBox: true, @@ -234,6 +239,7 @@ addBtnClick() { this.editConfig.visible = true this.editConfig.title = "鏂板缓" + this.editConfig.infomation = {} }, // 琛岀偣鍑� tableRowClick(row) { @@ -244,7 +250,16 @@ }, // 鍒囨崲鍒楄〃灞曠幇褰㈠紡 selIconSwitchClick(value) { + this.pagerOptions.currPage = 1 this.isIconIndex = value + if (value === "1") { + this.pageSizes = [30, 60] + this.pagerOptions.pageSize = 30 + } else { + this.pageSizes = [15, 30] + this.pagerOptions.pageSize = 15 + } + this.getData() } } } @@ -288,8 +303,8 @@ justify-content: flex-start; align-content: flex-start; .product-box { - width: 295px; - height: 84px; + width: 294px; + height: 94px; margin-bottom: 10px; margin-right: 20px; border: 1px solid #dee2e6; @@ -298,6 +313,7 @@ -webkit-box-shadow: inset 0 0 2px #dee2e6; padding: 8px; display: flex; + align-items: center; .left { width: 60px; text-align: center; @@ -308,6 +324,7 @@ margin-left: 10px; .label { color: #212529; + margin-top: -10px; margin-right: 15px; word-break: break-all; word-wrap: break-word; @@ -315,7 +332,7 @@ .price, .library { color: #495057; - margin-top: 3px; + margin-top: 15px; } } } -- Gitblit v1.8.0