diff --git a/package.json b/package.json index 676d90e..ada3107 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "mockjs": "^1.1.0", "nprogress": "0.2.0", "obj-modal": "^1.2.0", - "obj-table-plus": "^2.3.0", + "obj-table-plus": "^2.4.0", "quill": "1.3.7", "screenfull": "5.0.2", "signature_pad": "^3.0.0-beta.4", diff --git a/src/api/modules/mer_admin.js b/src/api/modules/mer_admin.js index 4d5ea89..6948e3a 100644 --- a/src/api/modules/mer_admin.js +++ b/src/api/modules/mer_admin.js @@ -1,5 +1,6 @@ import $http from "@/utils/httpRequest.js"; import city_data from "@/utils/country-level2-data.js"; +import qs from "qs"; export const mer_admin = { /** @@ -86,8 +87,12 @@ export const mer_admin = { }, //删除模板 removeShippingTemplate: (id) => { - return $http.post(`/merchant-api/shippingTemplates/delete`, { + return $http.post(`/merchant-api/shippingTemplates/delete`, qs.stringify({ id + }), { + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } }) }, //更新模板 diff --git a/src/views/modules/logistics-fare/logistics-template/index.vue b/src/views/modules/logistics-fare/logistics-template/index.vue index bb40d54..1c38d97 100644 --- a/src/views/modules/logistics-fare/logistics-template/index.vue +++ b/src/views/modules/logistics-fare/logistics-template/index.vue @@ -8,6 +8,9 @@ v-model="dataList" @query="queryList" > +
@@ -76,8 +79,64 @@ export default { console.log(row); this.$api.mer_admin.getShippingTemplateInfo(row.id).then((res) => { console.log(res); - // this.$set(row,tableData,); + console.log("row.tableData", row.tableData); + + if (!row.tableData) { + if (res.data.data.shippingTemplatesRegionResultList) { + this.$set( + row, + "tableData", + res.data.data.shippingTemplatesRegionResultList.map( + (item) => { + item.cityCodes = item.cityCodes?.split(","); + console.log("item.cityCodes", item.cityCodes); + + return item; + } + ) + ); + } else { + //包邮,假数据写死 + this.$set(row, "tableData", [ + { + cityCodes: "0", + first: "1", + firstPrice: "0.00", + renewal: "1", + renewalPrice: "0.00", + }, + ]); + } + } }); + const findLabelsByCode = (tree, codes) => { + const labels = []; + // console.log("row.cityCodes",row.cityCodes); + //全国范围 + if (codes == "0") { + return "中国"; + } + function searchTree(node) { + // 如果当前节点的 code 在 codes 数组中,添加其 label + if (codes?.includes(node.code)) { + labels.push(node.name); + } + // 如果有子节点,继续递归查找 + if (node.children) { + for (let child of node.children) { + searchTree(child); + } + } + } + + // 对树的每个顶层节点调用 searchTree + for (let node of tree) { + searchTree(node); + } + + return labels.join(","); + }; + const appointMapper = { 0: "(全国包邮)", 1: "(部分包邮)", @@ -101,10 +160,25 @@ export default { }); }; const remove = () => { - this.$api.mer_admin.removeShippingTemplate(row.id) - .then(res=>{ + this.$api.mer_admin.removeShippingTemplate(row.id).then((res) => { this.$refs.oTable.refresh(); - }) + }); + }; + const groupMapper = { + 1: { + first: "首件(个)", + renewal: "续件(个)", + }, + 2: { + first: "首重(kg)", + renewal: "续重(kg)", + }, + }; + //打开弹窗预览 + const openPreview = (str) => { + this.$confirm(str, "详情", { + showCancel: false, + }); }; return (
@@ -122,7 +196,11 @@ export default { 修改 - + 删除 @@ -130,30 +208,59 @@ export default {
- + { + console.log("scope", scope); + return ( + { + openPreview( + findLabelsByCode( + this.$api.mer_admin.getCityOptions(), + scope.row.cityCodes + ) + ); + }} + > + {findLabelsByCode( + this.$api.mer_admin.getCityOptions(), + scope.row.cityCodes + )} + + ); + }, + }} > diff --git a/src/views/modules/logistics-fare/logistics-template/popup/add-template.vue b/src/views/modules/logistics-fare/logistics-template/popup/add-template.vue index 375ead1..fee0a46 100644 --- a/src/views/modules/logistics-fare/logistics-template/popup/add-template.vue +++ b/src/views/modules/logistics-fare/logistics-template/popup/add-template.vue @@ -30,13 +30,13 @@ const BASE_DATA = { //默认运费,不限制城市 cityCodes: "0", //首重 - first: "", + first: 1, //首重价格 - firstPrice: "", + firstPrice: 0, //续重 - renewal: "", + renewal: 1, //续重价格 - renewalPrice: "", + renewalPrice: 0, }, ], //追加 @@ -121,8 +121,8 @@ export default { //默认运费回显 _data.shippingTemplatesRegionList = - [_data.shippingTemplatesRegionResultList?.[0]] || - BASE_DATA.shippingTemplatesRegionList; + _data.shippingTemplatesRegionResultList?.slice(0,1)|| + cloneDeep(BASE_DATA.shippingTemplatesRegionList); //指定城市设置运费 _data.shippingTemplatesRegionListAppend = _data.shippingTemplatesRegionResultList @@ -130,7 +130,7 @@ export default { ?.map((item) => { item.cityCodes = item.cityCodes.split(","); return item; - }) || BASE_DATA.shippingTemplatesRegionListAppend; + }) || cloneDeep(BASE_DATA.shippingTemplatesRegionListAppend); //指定包邮条件 _data.shippingTemplatesConditionList = _data.shippingTemplatesConditionResultList?.map((item) => { @@ -144,7 +144,7 @@ export default { item.conditionType = "件数"; } return item; - }) || BASE_DATA.shippingTemplatesConditionList; + }) || cloneDeep(BASE_DATA.shippingTemplatesConditionList); //计价方式 _data.calculateMethod = { @@ -167,7 +167,7 @@ export default { return { add: () => { this.$nextTick(() => { - this.modalData = JSON.parse(JSON.stringify(BASE_DATA)); + this.modalData = cloneDeep(BASE_DATA); }); this.isAdd = true; this.modalConfig.title = "添加运费模板"; @@ -181,6 +181,8 @@ export default { this.isAdd = true; refillData(e); this.modalConfig.title = "添加运费模板"; + console.log("this.modalData",this.modalData); + this.modalData.templateName += "(复制)"; }, }; @@ -394,6 +396,7 @@ export default { //默认运费,不限制城市 cityCodes: "", //城市可选的选项 + cityOptions: [], //首重 first: "", //首重价格 @@ -522,9 +525,9 @@ export default { >