From ecd4e0f81c47fcb4ae41e7b4377f49b8a326c0d9 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期三, 27 九月 2023 17:33:27 +0800 Subject: [PATCH] 上架规则、库存调整模块接口联调 --- src/views/overview/AddOverviewDialog.vue | 5 src/views/warehouseManage/listingRules/index.vue | 191 ++++++++++++++---- src/api/warehouseManage/listingRules.js | 35 +++ src/assets/style/index.scss | 6 src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue | 30 +- src/api/operate/inventoryAdjustment.js | 27 ++ src/components/makepager/CommonFormTableView.vue | 62 ++++- src/common/config/index.js | 22 ++ src/views/operate/inventoryAdjustment/index.vue | 176 ++++++++++------ 9 files changed, 402 insertions(+), 152 deletions(-) diff --git a/src/api/operate/inventoryAdjustment.js b/src/api/operate/inventoryAdjustment.js new file mode 100644 index 0000000..a541cb0 --- /dev/null +++ b/src/api/operate/inventoryAdjustment.js @@ -0,0 +1,27 @@ +import request from "@/common/untils/request.js" +// import axios from "axios" + +// 搴撳瓨璋冩暣鍒楄〃 +export function getInventoryAdjustmentList(data) { + return request({ + url: "/api-wms/v1/locationProductAmount/list", + method: "post", + data + }) +} +// 娣诲姞搴撳瓨璋冩暣 +export function addInventoryAdjustment(data) { + return request({ + url: "/api-wms/v1/locationProductAmount/add", + method: "post", + data + }) +} +// 搴撳瓨璋冩暣/鍘嗗彶 +export function historyInventoryAdjustment(data) { + return request({ + url: "/api-wms/v1/product/listHistory", + method: "post", + data + }) +} diff --git a/src/api/warehouseManage/listingRules.js b/src/api/warehouseManage/listingRules.js new file mode 100644 index 0000000..0627ec0 --- /dev/null +++ b/src/api/warehouseManage/listingRules.js @@ -0,0 +1,35 @@ +import request from "@/common/untils/request.js" +// import axios from "axios" + +// 涓婃灦瑙勫垯鍒楄〃 +export const getListingRulesList = async (data) => { + return request({ + url: "/api-wms/v1/locationProduct/list", + method: "post", + data + }) +} +// 娣诲姞涓婃灦瑙勫垯 +export function addListingRules(data) { + return request({ + url: "/api-wms/v1/locationProduct/add", + method: "post", + data + }) +} +// 鍒犻櫎涓婃灦瑙勫垯 +export function deleteListingRules(id) { + return request({ + url: `/api-wms/v1/locationProduct/delete/${id}`, + method: "delete", + id + }) +} +// 淇敼涓婃灦瑙勫垯 +export function updateListingRules(data) { + return request({ + url: "/api-wms/v1/locationProduct/update", + method: "post", + data + }) +} diff --git a/src/assets/style/index.scss b/src/assets/style/index.scss index 86a266b..ad72597 100644 --- a/src/assets/style/index.scss +++ b/src/assets/style/index.scss @@ -126,6 +126,12 @@ .cursor_pointer { cursor: pointer; } +.no-cursor { + cursor: no-drop; +} +.yes-cursor { + cursor: pointer; +} .Badge { background: #d3d3d3; diff --git a/src/common/config/index.js b/src/common/config/index.js index 478e57a..3a4bbaf 100644 --- a/src/common/config/index.js +++ b/src/common/config/index.js @@ -59,3 +59,25 @@ } return result } + +/** + * 鑾峰彇褰撳墠鏃堕棿 + */ +export function currentTime() { + var date = new Date() + var year = date.getFullYear() //鏈堜唤浠�0~11锛屾墍浠ュ姞涓� + let month = date.getMonth() + console.log("month", month) + var dateArr = [date.getMonth() + 1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()] + //濡傛灉鏍煎紡鏄疢M鍒欓渶瑕佹姝ラ锛屽鏋滄槸M鏍煎紡鍒欐寰幆娉ㄩ噴鎺� + for (var i = 0; i < dateArr.length; i++) { + if (dateArr[i] >= 1 && dateArr[i] <= 9) { + dateArr[i] = "0" + dateArr[i] + } + } + var strDate = year + "-" + dateArr[0] + "-" + dateArr[1] + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4] + //姝ゅ鍙互鎷垮閮ㄧ殑鍙橀噺鎺ユ敹 strDate:2022-05-01 13:25:30 + //this.date = strDate; + console.log("strDate", strDate) + return strDate +} diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue index ff7f169..997cf9e 100644 --- a/src/components/makepager/CommonFormTableView.vue +++ b/src/components/makepager/CommonFormTableView.vue @@ -57,7 +57,7 @@ style="width: 80%" @change=" (val) => { - selProductClick(val) + selProductNameClick(val) } " > @@ -78,7 +78,7 @@ :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]" > <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span> - <el-date-picker v-else v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px"> + <el-date-picker v-else v-model="scope.row[item.prop]" type="date" size="mini" style="width: 100%"> </el-date-picker> </el-form-item> <el-form-item @@ -140,16 +140,25 @@ <!-- 浣嶇疆 --> <el-form-item v-else-if="item.location" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop"> <div class="custom-name"> - <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span> + <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row[item.prop] }}</span> <el-select v-else v-model="scope.row[item.prop]" placeholder="璇烽�夋嫨" size="mini" style="width: 80%" - @change="selLocationClick" + @change=" + (val) => { + selLocationClick(val, item.prop) + } + " > - <el-option v-for="item in selLocationOptions" :key="item.id" :label="item.name" :value="item.name"> + <el-option + v-for="item in selLocationOptions" + :key="item.id" + :label="item.name" + :value="{ value: item.id, label: item.name }" + > </el-option> </el-select> </div> @@ -157,7 +166,7 @@ <!-- 浜у搧 --> <el-form-item v-else-if="item.product" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop"> <div class="custom-name"> - <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span> + <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row[item.prop] }}</span> <el-select v-else v-model="scope.row[item.prop]" @@ -174,7 +183,14 @@ v-for="item in productNameOptions" :key="item.id" :label="item.name" - :value="{ value: item.id, label: item.name, amount: item.amount, unit: item.unit }" + :value="{ + value: item.id, + label: item.name, + amount: item.amount, + unit: item.unit, + categoryId: item.categoryId, + categoryName: item.categoryName + }" > </el-option> </el-select> @@ -297,7 +313,7 @@ } if (this.islistingrules) { this.getLocationList() - this.getCompanyList() + // this.getCompanyList() } this.tableList = this.productTableList }, @@ -344,8 +360,7 @@ } }) }, - // 閫夋嫨浜у搧 - selProductClick(item) { + selProductNameClick(item) { this.tableList.tableData.map((ite) => { if (ite.productName.label === item.label) { ite.productId = item.value @@ -356,18 +371,27 @@ }) console.log(this.tableList.tableData) }, + // 閫夋嫨浜у搧 + selProductClick(item) { + console.log(item) + this.tableList.tableData.map((ite) => { + if (ite.productName.label === item.label) { + ite.productId = item.value + ite.productName = item.label + ite.categoryId = item.categoryId + ite.productCategory = item.categoryName + ite.amount = item.amount + ite.unit = item.unit + } + }) + console.log(this.tableList.tableData) + this.$emit("selProductClick", item) + }, // 閫夋嫨浣嶇疆 - selLocationClick(item) { + selLocationClick(item, prop) { console.log(item) console.log(this.tableList.tableData) - // this.tableList.tableData.map((ite) => { - // if (ite.location.label === item.label) { - // ite.location = item.label - // } - // if (ite.subLocation.label === item.label) { - // ite.subLocation = item.label - // } - // }) + this.$emit("selLocationClick", item, prop) }, // 閫夋嫨鍗曚綅/鐢ㄦ埛 selCommonClick(item) { diff --git a/src/views/operate/inventoryAdjustment/index.vue b/src/views/operate/inventoryAdjustment/index.vue index 9f6346e..8e9c374 100644 --- a/src/views/operate/inventoryAdjustment/index.vue +++ b/src/views/operate/inventoryAdjustment/index.vue @@ -4,7 +4,7 @@ <SearchCommonView :add-title="addTitle" :show-discard="showDiscard" - :show-apply="true" + :show-apply="false" :placeholder="'璇疯緭鍏ヤ綅缃�/浜у搧'" :amount-view="false" @addCommonClick="addProductClick" @@ -19,16 +19,17 @@ :isinventory="true" :product-table-list="tableList" @inputContent="inputContent" - @tableRowClick="tableRowClick" + @selLocationClick="selLocationClick" + @selProductClick="selProductClick" > <template slot="tableButton"> <el-table-column label="鎿嶄綔" width="180" fixed="right" align="center"> <template slot-scope="scope"> - <span @click="handleHistoryClick(scope.row)"> + <span @click="handleHistoryClick(scope.row)" class="yes-cursor"> <i class="el-icon-refresh-left"></i> <span>鍘嗗彶</span> </span> - <span v-if="scope.row.isSet" @click="handleSetClick(scope)" class="margin_left_5px"> + <!-- <span v-if="scope.row.isSet" @click="handleSetClick(scope)" class="margin_left_5px"> <i class="el-icon-setting"></i> <span>璁剧疆</span> </span> @@ -41,7 +42,7 @@ <i class="el-icon-delete"></i> <span>娓呴櫎</span> </span> - </template> + </template> --> </template> </el-table-column> </template> @@ -57,7 +58,8 @@ <script> import CommonFormTableView from "@/components/makepager/CommonFormTableView" import pageMixin from "@/components/makepager/pager/mixin/pageMixin" -import { getLocationList } from "@/api/warehouseManage/warehouse" +import { getInventoryAdjustmentList, addInventoryAdjustment } from "@/api/operate/inventoryAdjustment" +import { currentTime } from "@/common/config/index" export default { name: "InventoryAdjustment", props: {}, @@ -69,23 +71,15 @@ addTitle: "鏂板缓", showDiscard: false, tableList: {}, - tableData: [ - { - location: "HC/閿�鍞尯", - productName: "澶忓鐪熶笣鍚婂甫瑁�", - amount: "0.00", - unit: "浠�", - count: "0.00", - date: "2023-12-31", - user: "绠$悊鍛�", - isSet: true, - isEdit: true - } - ], + tableData: [], searchOptions: [], countId: 0, isNoProduct: true, // 娣诲姞鏄庣粏琛屾椂鏄惁鏈変骇鍝佹湭閫夋嫨 - isRowClick: false + isRowClick: false, + locationId: 0, + productId: 0, + differenceAmount: 0, + Amount: 0 } }, created() { @@ -98,48 +92,108 @@ tableData: this.tableData, selectBox: true, tableColumn: [ - { label: "浣嶇疆", prop: "location", location: true }, + { label: "浣嶇疆", prop: "locationName", location: true }, { label: "浜у搧", prop: "productName", product: true }, { label: "鍦ㄥ簱鏁伴噺", prop: "amount" }, { label: "璁¢噺鍗曚綅", prop: "unit" }, - { label: "璁℃暟鐨勬暟閲�", prop: "count", inputFloat: true }, - { label: "宸紓", prop: "difference" }, - { label: "鏃ユ湡", prop: "date", date: true }, + { label: "璁℃暟鐨勬暟閲�", prop: "differenceAmount", inputFloat: true }, + { label: "宸紓", prop: "adjustAmount" }, + { label: "鏃ユ湡", prop: "createDate" }, { label: "鐢ㄦ埛", prop: "user", user: true } ] } }, - // 鎿嶄綔杈撳叆 - inputContent(val, prop, row) { - this.countId = row.countId - this.tableData.map((item) => { - if (item.countId === row.countId) { - item[prop] = val + // 璇锋眰鏁版嵁 + async getData() { + await getInventoryAdjustmentList({ + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize + }).then((res) => { + if (res.code === 200) { + console.log(res) + const list = res.data.map((item) => { + return { + ...item, + isSet: false, + isEdit: true, + editable: true + } + }) + this.tableList.tableData = list || [] + this.tableData = list || [] + this.pagerOptions.totalCount = res.total } }) + }, + // 鎿嶄綔杈撳叆 + inputContent(val, prop, row) { + console.log("22222222222222") + console.log(val, prop, row) + // this.countId = row.countId + // this.tableData.map((item) => { + // if (item.countId === row.countId) { + // item[prop] = val + // } + // }) + this.differenceAmount = val }, // 鏂板 addProductClick() { console.log(this.tableData) this.isSel() + this.isSel() if (this.isNoProduct && this.addTitle === "鏂板缓") { this.addTitle = "淇濆瓨" this.showDiscard = true this.isRowClick = false + this.currentRowId = 0 this.countId++ this.tableData.push({ countId: this.countId, + Amount: 0, + areaName: "", + adjustAmount: 0, productId: "", - amount: 0, - unit: "", - productName: "", - count: "0.00", + differenceAmount: 0, + locationId: 0, + createDate: this.currentTime(), isSet: true, - isEdit: false + isEdit: false, + editable: false }) - } else if (this.isNoProduct && this.addTitle === "淇濆瓨") { - this.addTitle = "鏂板缓" - this.showDiscard = false + this.locationId = 0 + this.subLocationId = 0 + this.productCategoryId = 0 + this.productId = 0 + } else { + if (this.locationId === 0) { + this.$message.error("璇烽�夋嫨浣嶇疆") + } else if (this.productId === 0) { + this.$message.error("璇烽�夋嫨浜у搧") + } else { + this.addTitle = "鏂板缓" + this.showDiscard = false + // let requestUrl = this.currentRowId === 0 ? addInventoryAdjustment : updateListingRules + addInventoryAdjustment({ + // id: this.currentRowId, + locationId: this.locationId, + Amount: this.Amount, + differenceAmount: this.differenceAmount, + productId: this.productId + }) + .then((res) => { + console.log(res) + if (res.code === 200) { + // let tipStr = this.currentRowId === 0 ? "娣诲姞鎴愬姛" : "淇敼鎴愬姛" + this.$message.success("娣诲姞鎴愬姛") + this.getData() + } + }) + .catch((err) => { + console.log(err) + this.getData() + }) + } } }, // 鏄惁閫夋嫨浜у搧 @@ -177,7 +231,7 @@ console.log("鍘嗗彶") this.$router.push({ name: "inventoryAdjustmentHistory", - params: { id: row.id } + params: { locationId: row.locationId, productId: row.productId } }) } }, @@ -209,22 +263,9 @@ this.tableData.map((item, index) => { if (index === rowIndex) { item.isEdit = false + item.editable = true } else { item.isEdit = true - } - }) - }, - // 璇锋眰鏁版嵁 - async getData() { - await getLocationList({ - keyword: this.keyword, - page: this.pagerOptions.currPage, - pageSize: this.pagerOptions.pageSize - }).then((res) => { - if (res.code === 200) { - const list = res.data ? res.data : [] - this.tableList.tableInfomation = list - this.pagerOptions.totalCount = res.total } }) }, @@ -234,22 +275,19 @@ this.pagerOptions.currPage = 1 this.getData() }, - // 鏂板缓 - addBtnClick() { - this.editConfig.infomation = { - name: "", - parentId: null, - type: 3, - isScrapLocation: null, - isReturnLocation: null, - replenishLocation: null, - countFrequency: 0, - recentlyCount: "", - nextCount: "", - notes: "" - } - this.editConfig.visible = true - this.editConfig.title = "鏂板缓" + // 閫夋嫨浣嶇疆鏂规硶 + selLocationClick(item, prop) { + console.log(item, prop) + this.locationId = item.value + }, + // 閫変腑浜у搧鏂规硶 + selProductClick(item) { + console.log(item) + this.productId = item.value + }, + // 鑾峰彇褰撳墠鏃堕棿 + currentTime() { + return currentTime() } } } diff --git a/src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue b/src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue index cb0de4a..10bb66e 100644 --- a/src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue +++ b/src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue @@ -1,12 +1,7 @@ <template> <div class="rightContent"> <div class="top"> - <SearchCommonView - :show-add="false" - :placeholder="'璇疯緭鍏ュ崟鍙�/浜у搧'" - :amount-view="false" - @searchClick="getList" - /> + <SearchCommonView :show-add="false" :placeholder="'璇疯緭鍏ュ崟鍙�'" :amount-view="false" @searchClick="getList" /> </div> <div class="list-view"> <div class="table"> @@ -21,7 +16,7 @@ <script> import pageMixin from "@/components/makepager/pager/mixin/pageMixin" -import { getAllList } from "@/api/overview/overview" +import { historyInventoryAdjustment } from "@/api/operate/inventoryAdjustment" export default { name: "InventoryAdjustmentHistory", @@ -34,11 +29,15 @@ tableList: {}, showcol: ["鐘舵��"], searchOptions: [], - keyword: "" + keyword: "", + locationId: 0, + productId: "" } }, created() { this.setTable() + this.locationId = this.$route.params.locationId + this.productId = this.$route.params.productId this.getData() }, methods: { @@ -65,8 +64,7 @@ label: "鏃ユ湡", prop: "operationDate", isShowColumn: true, - default: true, - date: true + default: true }, { label: "鍗曞彿", @@ -129,18 +127,22 @@ }, // 璇锋眰鏁版嵁 async getData() { - await getAllList({ - number: this.keyword, + await historyInventoryAdjustment({ + locationId: this.locationId, page: this.pagerOptions.currPage, pageSize: this.pagerOptions.pageSize, - sourceNumber: this.keyword + productId: this.productId }).then((res) => { if (res.code === 200) { const list = res.data.map((item) => { + let product = item.details[0].product return { ...item, from: item.fromLocation.name, - to: item.toLocation.name + to: item.toLocation.name, + productName: product.name, + amount: product.amount, + unit: product.unit } }) this.tableList.tableInfomation = list || [] diff --git a/src/views/overview/AddOverviewDialog.vue b/src/views/overview/AddOverviewDialog.vue index cc0d9d5..0a83a4f 100644 --- a/src/views/overview/AddOverviewDialog.vue +++ b/src/views/overview/AddOverviewDialog.vue @@ -108,7 +108,7 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鍏ュ簱绫诲瀷"> + <el-form-item label="鍏ュ簱绫诲瀷" prop="operationTypeId"> <el-select v-if="showOperationType" v-model="editConfig.infomation.operationTypeId" @@ -317,7 +317,8 @@ sourceNumber: [{ required: true, message: "璇疯緭鍏ユ潵婧愬崟鎹�", trigger: "blur" }], operationDate: [{ required: true, message: "璇烽�夋嫨鏃ユ湡", trigger: "change" }], toLocationId: [{ required: true, message: "璇烽�夋嫨浠撳簱浣嶇疆", trigger: "change" }], - fromLocationId: [{ required: true, message: "璇烽�夋嫨婧愪綅缃�", trigger: "change" }] + fromLocationId: [{ required: true, message: "璇烽�夋嫨婧愪綅缃�", trigger: "change" }], + operationTypeId: [{ required: true, message: "璇烽�夋嫨鍏ュ簱绫诲瀷", trigger: "change" }] }, companyOptions: [], // 鍏徃 memberOptions: [{ id: 1, name: "绠$悊鍛�" }], diff --git a/src/views/warehouseManage/listingRules/index.vue b/src/views/warehouseManage/listingRules/index.vue index ee066a3..b84d797 100644 --- a/src/views/warehouseManage/listingRules/index.vue +++ b/src/views/warehouseManage/listingRules/index.vue @@ -19,7 +19,18 @@ :product-table-list="tableList" @inputContent="inputContent" @tableRowClick="tableRowClick" + @selLocationClick="selLocationClick" + @selProductClick="selProductClick" > + <template slot="tableButton"> + <el-table-column label="鎿嶄綔" width="90" fixed="right" align="center"> + <template slot-scope="scope"> + <el-button v-if="scope.row.isEdit" @click.stop="delClick(scope)" type="text" size="small" + >鍒犻櫎</el-button + > + </template> + </el-table-column> + </template> </CommonFormTableView> </div> <div class="btn-pager"> @@ -32,7 +43,12 @@ <script> import CommonFormTableView from "@/components/makepager/CommonFormTableView" import pageMixin from "@/components/makepager/pager/mixin/pageMixin" -import { getLocationList } from "@/api/warehouseManage/warehouse" +import { + getListingRulesList, + addListingRules, + updateListingRules, + deleteListingRules +} from "@/api/warehouseManage/listingRules" export default { name: "listingRules", props: {}, @@ -69,7 +85,11 @@ searchOptions: [], countId: 0, isNoProduct: true, // 娣诲姞鏄庣粏琛屾椂鏄惁鏈変骇鍝佹湭閫夋嫨 - isRowClick: false + isRowClick: false, + areaId: 0, + productId: 0, + subLocationId: 0, + currentRowId: 0 } }, created() { @@ -79,16 +99,41 @@ methods: { setTable() { this.tableList = { - tableData: this.tableData, + tableData: [], selectBox: true, tableColumn: [ - { label: "褰撲骇鍝佸埌杈�", prop: "location", location: true }, + { label: "褰撲骇鍝佸埌杈�", prop: "areaName", location: true }, { label: "浜у搧", prop: "productName", product: true }, - // { label: "浜у搧绫诲埆", prop: "productCategory", productCategory: true }, - { label: "瀛樺偍鍒板瓙浣嶇疆", prop: "subLocation", location: true }, - { label: "鍏徃", prop: "companyName", company: true } + { label: "浜у搧绫诲埆", prop: "productCategory" }, + { label: "瀛樺偍鍒板瓙浣嶇疆", prop: "subLocation", location: true } + // { label: "鍏徃", prop: "companyName", company: true } ] } + }, + // 璇锋眰鏁版嵁 + async getData() { + await getListingRulesList({ + // keyword: this.keyword, + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize + }).then((res) => { + if (res.code === 200) { + const list = res.data.map((item) => { + return { + ...item, + areaName: item.area.jointName, + subLocation: item.location.jointName, + productName: item.product.name, + productCategory: item.productCategory.name, + isSet: false, + isEdit: true + } + }) + this.tableList.tableData = list || [] + this.tableData = list || [] + this.pagerOptions.totalCount = res.total + } + }) }, // 鎿嶄綔杈撳叆 inputContent(val, prop, row) { @@ -107,30 +152,60 @@ this.addTitle = "淇濆瓨" this.showDiscard = true this.isRowClick = false + this.currentRowId = 0 this.countId++ this.tableData.push({ countId: this.countId, + areaId: 0, + areaName: "", + locationId: 0, productId: "", - location: 0, subLocation: "", productName: "", companyName: "", isSet: true, isEdit: false }) - } else if (this.isNoProduct && this.addTitle === "淇濆瓨") { - this.addTitle = "鏂板缓" - this.showDiscard = false - this.tableData.map((item) => { - item.isEdit = true - console.log(item) - if (typeof item.location === "object") { - item.location = item.location.name - } - if (typeof item.subLocation === "object") { - item.location = item.subLocation.name - } - }) + this.areaId = 0 + this.subLocationId = 0 + this.productCategoryId = 0 + this.productId = 0 + } else { + if (this.areaId === 0) { + this.$message.error("璇烽�夋嫨褰撳墠浜у搧鍒拌揪浣嶇疆") + } else if (this.productId === 0) { + this.$message.error("璇烽�夋嫨浜у搧") + } else if (this.subLocationId === 0) { + this.$message.error("璇烽�夋嫨瀛樺偍鍒板瓙浣嶇疆") + } else { + this.addTitle = "鏂板缓" + this.showDiscard = false + this.tableData.map((item) => { + item.isEdit = true + console.log(item) + if (typeof item.location === "object") { + item.location = item.location.name + } + if (typeof item.subLocation === "object") { + item.location = item.subLocation.name + } + }) + let requestUrl = this.currentRowId === 0 ? addListingRules : updateListingRules + requestUrl({ + id: this.currentRowId, + areaId: this.areaId, + locationId: this.subLocationId, + productCategoryId: this.productCategoryId, + productId: this.productId + }).then((res) => { + console.log(res) + if (res.code === 200) { + let tipStr = this.currentRowId === 0 ? "娣诲姞鎴愬姛" : "淇敼鎴愬姛" + this.$message.success(tipStr) + this.getData() + } + }) + } } }, // 鏄惁閫夋嫨浜у搧 @@ -189,35 +264,30 @@ }, // 琛岀偣鍑� tableRowClick(row, rowIndex) { - console.log(row, rowIndex) - this.addTitle = "淇濆瓨" - this.showDiscard = true - this.isRowClick = true + console.log("11111") this.isSel() - if (!this.isNoProduct) { - this.tableData.splice(this.tableData.length - 1, 1) + if (!this.isNoProduct && this.currentRowId === 0) { + this.$message.error("璇峰畬鎴愬綋鍓嶆柊寤烘垨鍙栨秷鏂板缓") + } else { + this.currentRowId = row.id + this.addTitle = "淇濆瓨" + this.showDiscard = true + this.isRowClick = true + if (!this.isNoProduct) { + this.tableData.splice(this.tableData.length - 1, 1) + } + this.tableData.map((item, index) => { + if (index === rowIndex) { + item.isEdit = false + } else { + item.isEdit = true + } + }) + this.areaId = row.areaId + this.subLocationId = row.locationId + this.productCategoryId = row.productCategoryId + this.productId = row.productId } - this.tableData.map((item, index) => { - if (index === rowIndex) { - item.isEdit = false - } else { - item.isEdit = true - } - }) - }, - // 璇锋眰鏁版嵁 - async getData() { - await getLocationList({ - keyword: this.keyword, - page: this.pagerOptions.currPage, - pageSize: this.pagerOptions.pageSize - }).then((res) => { - if (res.code === 200) { - const list = res.data ? res.data : [] - this.tableList.tableInfomation = list - this.pagerOptions.totalCount = res.total - } - }) }, // 鎼滅储 getList(val) { @@ -241,6 +311,31 @@ } this.editConfig.visible = true this.editConfig.title = "鏂板缓" + }, + // 閫夋嫨浣嶇疆鏂规硶 + selLocationClick(item, prop) { + console.log(item, prop) + if (prop === "areaName") { + this.areaId = item.value + } else if (prop === "subLocation") { + this.subLocationId = item.value + } + }, + // 閫変腑浜у搧鏂规硶 + selProductClick(item) { + console.log(item) + this.productId = item.value + this.productCategoryId = item.categoryId + }, + // 鍒犻櫎 + async delClick(scope) { + console.log(scope) + await deleteListingRules(scope.row.id).then((res) => { + if (res.code === 200) { + this.$message.success("鍒犻櫎鎴愬姛") + this.getData() + } + }) } } } -- Gitblit v1.8.0