折扣,定制产品

This commit is contained in:
faiz 2024-08-26 10:28:19 +08:00
parent 04e8256a9d
commit 4042b16a75
11 changed files with 178 additions and 90 deletions

View File

@ -7,7 +7,7 @@ VUE_APP_BASE_API = 'http://test.tropjoin.com'
# VUE_APP_BASE_API = 'https://api.tropjoin.com'
# socket 连接地址
VUE_APP_WS_URL = 'ws://http://test.tropjoin.com'
VUE_APP_WS_URL = 'wss://test.tropjoin.com'
# VUE_APP_WS_URL = 'ws://https://api.tropjoin.com'
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,

View File

@ -58,7 +58,7 @@
/>
<el-table-column
prop="order_amount"
label="款金额"
label="款金额"
min-width="150"
/>
@ -77,6 +77,11 @@
label="可提现金额"
min-width="150"
/>
<el-table-column
prop="invoice_amount"
label="开票金额"
min-width="150"
/>
<el-table-column label="操作" min-width="100" fixed="right">
<template slot-scope="scope">
<router-link :to="{path: roterPre + '/accounts/billDetails/' + scope.row.mer_id}">

View File

@ -199,7 +199,7 @@ export default {
legend: {
data: [
"实付订单金额(含运费/元)",
"抵扣券使用数量",
"折扣使用数量",
"退订单退款金额(元)",
],
orient: "vertical",
@ -256,7 +256,7 @@ export default {
data: order_amount,
},
{
name: "抵扣券使用数量",
name: "折扣使用数量",
type: "line",
stack: "Total",
areaStyle: {},

View File

@ -37,7 +37,7 @@
<el-table-column label="支付人数(人)" min-width="130" prop="pay_count"></el-table-column>
<el-table-column label="支付订单数(单)" min-width="130" prop="order_count"></el-table-column>
<el-table-column label="实付订单金额(含运费/元)" min-width="130" prop="order_amount"></el-table-column>
<el-table-column label="抵扣券使用数量" min-width="130" prop="order_coupon"></el-table-column>
<el-table-column label="折扣使用数量" min-width="130" prop="order_coupon"></el-table-column>
<el-table-column label="退订单退款金额(元)" min-width="130" prop="refund_amount"></el-table-column>
</el-table>
<div class="block">

View File

@ -111,8 +111,9 @@
<div class="value">使用了{{ orderDetailList.integral }}个铸源星抵扣了{{ orderDetailList.integral_price }}</div>
</li>
<li v-if="orderDetailList.amount_price>0" class="item">
<div>抵扣券抵扣</div>
<div v-if="orderDetailList.amount_price && orderDetailList.amount_price != 0" class="value">使用了{{ orderDetailList.amount_price }}个抵扣券抵扣了{{ orderDetailList.amount_price }}</div>
<div>折扣</div>
<!-- <div v-if="orderDetailList.amount_price && orderDetailList.amount_price != 0" class="value">使用了{{ orderDetailList.amount_price }}个折扣抵扣了{{ orderDetailList.amount_price }}</div> -->
<div v-if="orderDetailList.amount_price && orderDetailList.amount_price != 0" class="value">-{{ orderDetailList.amount_price }}</div>
</li>
<li class="item">
<div>订单总价</div>
@ -128,8 +129,8 @@
<div v-else class="value">{{ orderDetailList.delivery_type | sendWay }}</div>
</li>
<li v-if="orderDetailList.platform_coupon_price>0" class="item">
<div>活动抵扣券: </div>
<div v-if="orderDetailList.platform_coupon_price && orderDetailList.platform_coupon_price != 0" class="value">使用了{{ orderDetailList.platform_coupon_price }}抵扣券抵扣了{{ orderDetailList.platform_coupon_price }}</div>
<div>活动折扣: </div>
<div v-if="orderDetailList.platform_coupon_price && orderDetailList.platform_coupon_price != 0" class="value">使用了{{ orderDetailList.platform_coupon_price }}折扣抵扣了{{ orderDetailList.platform_coupon_price }}</div>
</li>
<li class="item">
<div>支付运费</div>

View File

@ -34,7 +34,7 @@
<div v-if="orderDatalist.delivery_id" class="description-term">退货快递单号{{ orderDatalist.delivery_id }}</div>
<div class="description-term">创建时间{{ orderDatalist.create_time }}</div>
<div class="description-term">退货金额{{ orderDatalist.refund_price-orderDatalist.refund_postage }}</div>
<div class="description-term">退抵扣券{{ orderDatalist.amount }}</div>
<div class="description-term">退折扣{{ orderDatalist.amount }}</div>
<div class="description-term">退运费金额{{ orderDatalist.refund_postage }}</div>
<div class="description-term">商家备注{{ orderDatalist.mer_mark }}</div>
<div class="description-term100">退款凭证

View File

@ -71,7 +71,7 @@
<el-input @input="handleOnform('proportion')" v-model="oneFormBatch[0].proportion" :min="0" class="priceBox" controls-position="right"/>
</template>
</el-table-column>
<el-table-column label="抵扣券" min-width="100" align="center">
<el-table-column label="折扣" min-width="100" align="center">
<template slot-scope="scope">
<el-input @input="batchInput" v-model="oneFormBatch[0].coupon" class="priceBox" controls-position="right"/>
</template>
@ -288,7 +288,7 @@ const objTitle = {
title: '占比'
},
coupon:{
title:'抵扣券'
title:'折扣'
},
stock: {
title: '库存'

View File

@ -212,7 +212,11 @@
<el-option label="已上架修改" value="3" />
</el-select>
</el-form-item>
<el-form-item label="待审核状态:" prop="status" v-if="Number(tableFrom.type) == 12">
<el-form-item
label="待审核状态:"
prop="status"
v-if="Number(tableFrom.type) == 12"
>
<el-select
v-model="tableFrom.status"
placeholder="请选择"
@ -257,7 +261,13 @@
/>
</el-tabs>
<div class="mt5 mb20">
<el-button v-show="tableFrom.type === '11'" size="small" :disabled="multipleSelection.length==0" @click="batch">批量审核</el-button>
<el-button
v-show="tableFrom.type === '11'"
size="small"
:disabled="multipleSelection.length == 0"
@click="batch"
>批量审核</el-button
>
<el-button
size="small"
:disabled="multipleSelection.length == 0"
@ -376,6 +386,13 @@
</div>
</template>
</el-table-column>
<el-table-column prop="is_customize" label="定制产品" min-width="180">
<template slot-scope="scope">
<div>
{{ scope.row.is_customize ? "是" : "否" }}
</div>
</template>
</el-table-column>
<el-table-column label="店铺名称" min-width="100">
<template slot-scope="scope">
<span>{{
@ -391,8 +408,18 @@
<el-table-column prop="price" label="商品售价" min-width="80" />
<el-table-column prop="refusal" label="拒绝/锁定原因" min-width="110" />
<el-table-column prop="operator" label="操作人" min-width="110" />
<el-table-column prop="create_time" sortable='custom' label="创建时间" min-width="120" />
<el-table-column prop="update_time" sortable='custom' label="更新时间" min-width="120" />
<el-table-column
prop="create_time"
sortable="custom"
label="创建时间"
min-width="120"
/>
<el-table-column
prop="update_time"
sortable="custom"
label="更新时间"
min-width="120"
/>
<!-- <el-table-column label="是否惠美乡村店铺" min-width="80">
<template slot-scope="scope">
<span>{{ scope.row.merchant.is_huimei ? "是" : "否" }}</span>
@ -470,7 +497,7 @@
size="small"
@click="getBack(scope.row.product_id)"
v-if="[7, 9, 10, 11].includes(Number(tableFrom.type))"
>{{tableFrom.type==7?'撤回':'返回'}}</el-button
>{{ tableFrom.type == 7 ? "撤回" : "返回" }}</el-button
>
<el-button
type="text"
@ -513,7 +540,11 @@
>编辑标记</el-dropdown-item
>
<el-dropdown-item
v-if="tableFrom.type === '6' || tableFrom.type === '1' || tableFrom.type === '9'"
v-if="
tableFrom.type === '6' ||
tableFrom.type === '1' ||
tableFrom.type === '9'
"
@click.native="toVirtualSales(scope.row.product_id)"
>已售数量</el-dropdown-item
>
@ -594,6 +625,7 @@
size="small"
/>
</el-form-item>
<div style="display: flex">
<el-form-item label="商品封面图:" prop="image">
<div class="demo-image__preview">
<el-image
@ -603,6 +635,19 @@
/>
</div>
</el-form-item>
<el-form-item
style="margin-left: 100px"
label="定制产品:"
prop="audit_type"
>
<el-radio-group v-model="formValidate.is_customize">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</el-form-item>
</div>
<el-form-item label="星级推荐:">
<el-rate
class="rate_star"
@ -873,7 +918,7 @@ export default {
{ label: "产品部审核", value: 0 },
{ label: "产品部复审", value: 9 },
{ label: "运维专员审核", value: 10 },
{ label: "最终审核", value: 11 }
{ label: "最终审核", value: 11 },
],
auditedList: ["首次提报", "已上架提报", "首次修改", "已上架修改"],
recommend: proOptions,
@ -897,6 +942,7 @@ export default {
],
formValidate: {
is_hot: 0,
is_customize: 0,
is_best: 0,
is_new: 0,
is_benefit: 0,
@ -912,7 +958,7 @@ export default {
slider_image: [],
qualification: {},
image: "",
audit_type:0
audit_type: 0,
},
productStatusList: [
{ label: "上架显示", value: 1 },
@ -939,7 +985,7 @@ export default {
cate_id: "",
sys_labels: "",
pid: "",
operator:'',
operator: "",
tag_name: "",
store_name: "",
audit_type: "",
@ -952,7 +998,7 @@ export default {
svip_price_type: "",
is_audited: "",
is_huimei: "",
order:'',
order: "",
product_id: this.$route.query.id ? this.$route.query.id : "",
},
categoryList: [],
@ -972,12 +1018,10 @@ export default {
isBatch: false,
labelForm: {
ids: [],
tag_name:''
tag_name: "",
},
rules: {
tag_name: [
{ required: true, message: "请输入标记", trigger: "blur" },
]
tag_name: [{ required: true, message: "请输入标记", trigger: "blur" }],
},
recommendForm: {},
drawer: false,
@ -1003,21 +1047,23 @@ export default {
methods: {
handleSortChange(row) {
switch (row.prop) {
case 'create_time':
this.tableFrom.order = row.order == 'ascending' ? 'create_asc' : 'create_desc';
case "create_time":
this.tableFrom.order =
row.order == "ascending" ? "create_asc" : "create_desc";
break;
case 'update_time':
this.tableFrom.order = row.order == 'ascending' ? 'update_asc' : 'update_desc';
case "update_time":
this.tableFrom.order =
row.order == "ascending" ? "update_asc" : "update_desc";
break;
default:
break;
}
this.getList('')
this.getList("");
},
setSort() {
this.$refs.table.clearSort()
this.tableFrom.order = ''
this.tableFrom.status = ''
this.$refs.table.clearSort();
this.tableFrom.order = "";
this.tableFrom.status = "";
},
getBack(id) {
this.$modalForm(productBackApi(id)).then(() => this.getList(""));
@ -1087,7 +1133,7 @@ export default {
this.updateTimeVal = [];
this.tableFrom.date = "";
this.tableFrom.update_date = "";
this.setSort()
this.setSort();
this.$refs.searchForm.resetFields();
this.getList(1);
},
@ -1260,7 +1306,8 @@ export default {
slider_image: info.slider_image,
qualification: info.qualification,
image: info.image,
audit_type:info.audit_type
audit_type: info.audit_type,
is_customize: info.is_customize || 0,
};
if (info.is_benefit === 1) this.checkboxGroup.push("is_benefit");
if (info.is_hot === 1) this.checkboxGroup.push("is_hot");
@ -1351,7 +1398,7 @@ export default {
//
batchLabel() {
this.labelForm = {
tag_name: '',
tag_name: "",
ids: this.OffId,
};
console.log(this.labelForm);

View File

@ -85,6 +85,9 @@
/>
</div>
</span>
<span class="sp"
>定制产品{{ projectData.is_customize ? "是" : "否" }}</span
>
</div>
<el-tabs
v-if="projectData && isShow"
@ -604,6 +607,12 @@
label-width="80px"
class="demo-ruleForm"
>
<el-form-item label="定制产品" prop="is_customize">
<el-radio-group v-model="ruleForm.is_customize">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
:label="projectData.status == 15 ? '解锁状态' : '审核状态'"
prop="status"
@ -671,7 +680,10 @@
</el-form>
<div class="edit_mark">
<div>信息变更</div>
<div style="color: red;margin-left: 70px;" v-html="projectData.edit_mark"></div>
<div
style="color: red; margin-left: 70px"
v-html="projectData.edit_mark"
></div>
</div>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="dialogVisible = false"> </el-button>
@ -717,7 +729,7 @@ const defaultObj = {
cost: null,
ot_price: null,
proportion: 0.6,
coupon:'',
coupon: "",
stock: 0,
// growth: 0,
bar_code: "",
@ -749,7 +761,7 @@ const objTitle = {
title: "占比",
},
coupon: {
title:'抵扣券'
title: "折扣",
},
stock: {
title: "库存",
@ -831,6 +843,7 @@ export default {
refusal: "",
status: 1,
id: "",
is_customize: 0,
status_img: [],
},
formThead: Object.assign({}, objTitle),
@ -975,13 +988,16 @@ export default {
params = {
...this.ruleForm,
id: this.proId,
status:this.ruleForm.status == -1? -1: mode[this.projectData.status].status,
status:
this.ruleForm.status == -1
? -1
: mode[this.projectData.status].status,
};
} else {
params = {
...this.ruleForm,
id: this.ids,
status:this.ruleForm.status == -1? -1:1
status: this.ruleForm.status == -1 ? -1 : 1,
};
}
mode[this.isShow ? this.projectData.status : 11]
@ -1031,7 +1047,8 @@ export default {
import_name: "",
};
this.qualification = res.data.qualification || qualification;
this.qualification.commodityList = this.qualification.commodityList.slice(0,20)
this.qualification.commodityList =
this.qualification.commodityList.slice(0, 20);
this.svip_type = res.data.svip_price_type;
if (this.projectData.spec_type === 0) {

View File

@ -203,6 +203,12 @@
</div>
</template>
</li>
<li class="item">
<div class="item-title">定制产品</div>
<div class="value">
{{ productData.is_customize ? "是" : "否" }}
</div>
</li>
</ul>
<ul v-if="productData.video_link" class="list">
<li class="item item100">
@ -380,7 +386,9 @@
target="_blank"
>{{ scope.row[iii] }}</a
>
<span v-else class="priceBox">{{ scope.row[iii] }}</span>
<span v-else class="priceBox">{{
scope.row[iii]
}}</span>
</template>
</el-table-column>
<template v-if="productData.extension_type === 1">
@ -524,9 +532,7 @@
<div class="item-title">实际销量 </div>
<div class="value">
<span>
{{
productData.sales - productData.ficti
}}
{{ productData.sales - productData.ficti }}
(指实际售出数量)</span
>
</div>
@ -730,7 +736,13 @@
</li>
<li class="item">
<div class="item-title">企业名称</div>
<div class="value">{{productData.merchant && productData.merchant.ext.com &&productData.merchant.ext.com.name}}</div>
<div class="value">
{{
productData.merchant &&
productData.merchant.ext.com &&
productData.merchant.ext.com.name
}}
</div>
</li>
<li class="item">
<div class="item-title">店铺联系人</div>
@ -839,7 +851,11 @@
<div class="section">
<ul class="list">
<li class="audit" v-if="productData.refusal">
<div class="item-title">{{productData.status==0?'锁定原因':'审核拒绝原因'}}</div>
<div class="item-title">
{{
productData.status == 0 ? "锁定原因" : "审核拒绝原因"
}}
</div>
<div style="margin-left: 100px" class="value">
<pre>{{ productData.refusal || "" }}</pre>
</div>
@ -1199,7 +1215,7 @@ const defaultObj = {
cost: null,
ot_price: null,
proportion: 0.6,
coupon:'',
coupon: "",
stock: 0,
// growth: 0,
bar_code: "",
@ -1231,7 +1247,7 @@ const objTitle = {
title: "占比",
},
coupon: {
title:'抵扣券'
title: "折扣",
},
stock: {
title: "库存",
@ -1331,11 +1347,12 @@ export default {
},
isValidURL(url) {
// (http|https):\/\/([\w.]+\/?)\S*
var pattern = /^(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/;
var pattern =
/^(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/;
if (!pattern.test(url)) {
return `https://${url}`
return `https://${url}`;
}
return url
return url;
// return pattern.test(url);
},
handleClose() {
@ -1367,7 +1384,8 @@ export default {
import_name: "",
};
this.qualification = res.data.qualification || qualification;
this.qualification.commodityList = this.qualification.commodityList.slice(0,20)
this.qualification.commodityList =
this.qualification.commodityList.slice(0, 20);
this.mer_svip_status = res.data.mer_svip_status;
this.svip_type = res.data.svip_price_type;
if (this.productData.spec_type === 0) {

View File

@ -547,7 +547,7 @@
</div>
</template>
</el-tab-pane>
<el-tab-pane label="抵扣券变更" name="balance" size="small">
<el-tab-pane label="折扣变更" name="balance" size="small">
<template v-if="activeName == 'balance'">
<el-table :data="tableData.data" size="small">
<el-table-column