Compare commits

...

2 Commits

Author SHA1 Message Date
KangKang0928 5d4ce160ea Merge branch 'master' of http://60.204.229.151:20080/chenkangxu/merchant-web 2024-08-22 12:58:30 +08:00
KangKang0928 43b7031ba0 优化完善 2024-08-22 12:58:29 +08:00
4 changed files with 144 additions and 29 deletions

View File

@ -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",

View File

@ -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'
}
})
},
//更新模板

View File

@ -8,6 +8,9 @@
v-model="dataList"
@query="queryList"
>
<template slot="flexEmpty">
<el-empty description="暂无数据"></el-empty>
</template>
<div slot="tableTop" class="mb-2">
<el-form inline>
<el-form-item label="模板名称:">
@ -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 (
<div class="mb-5">
@ -122,7 +196,11 @@ export default {
<el-button type="text" onClick={edit}>
修改
</el-button>
<el-popconfirm class="ml-2" title="确认删除模板?" onConfirm={remove}>
<el-popconfirm
class="ml-2"
title="确认删除模板?"
onConfirm={remove}
>
<el-button type="text" slot="reference">
删除
</el-button>
@ -130,30 +208,59 @@ export default {
</div>
</div>
</div>
<vxe-table border align="center" data={row.tableData}>
<vxe-table
max-height="300"
border
align="center"
show-overflow
data={row.tableData}
>
<vxe-column
width="180px"
field="a"
field="cityCodes"
title="运送到"
scopedSlots={{
default: (scope) => {
console.log("scope", scope);
return (
<span
class="cursor-pointer"
onClick={() => {
openPreview(
findLabelsByCode(
this.$api.mer_admin.getCityOptions(),
scope.row.cityCodes
)
);
}}
>
{findLabelsByCode(
this.$api.mer_admin.getCityOptions(),
scope.row.cityCodes
)}
</span>
);
},
}}
></vxe-column>
<vxe-column
width="200px"
field="b"
title="首件(个)"
field="first"
title={groupMapper[row.groups].first}
></vxe-column>
<vxe-column
width="200px"
field="c"
field="firstPrice"
title="首费(元)"
></vxe-column>
<vxe-column
width="200px"
field="d"
title="续件(个)"
field="renewal"
title={groupMapper[row.groups].renewal}
></vxe-column>
<vxe-column
width="200px"
field="e"
field="renewalPrice"
title="运费(元)"
></vxe-column>
</vxe-table>

View File

@ -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 {
>
<el-input-number
min={0}
max={
Number(this.modalData.shippingTemplatesRegionList[0].firstPrice)
}
max={Number(
this.modalData.shippingTemplatesRegionList[0].firstPrice
)}
controls={false}
precision={2}
v-model={
@ -544,7 +547,7 @@ export default {
enabled: true,
gt: 5,
},
'show-overflow':true
"show-overflow": true,
}}
style="height:50vh;"
enable-auto-query={false}
@ -782,7 +785,7 @@ export default {
}[this.modalData.fareConfig],
shippingTemplatesRegionList:
this.modalData.fareConfig == "全国包邮"
? null
? nu
: [
...this.modalData.shippingTemplatesRegionList,
...JSON.parse(