feat: add AWS and MF consumption management
Build and Deploy Vue3 / build (push) Successful in 2m28s
Build and Deploy Vue3 / deploy (push) Successful in 1m1s

This commit is contained in:
shiran
2026-08-24 20:54:13 +08:00
parent a71351ce3c
commit edc1118a52
9 changed files with 583 additions and 0 deletions
+13
View File
@@ -162,6 +162,7 @@
<span v-if="row.isGroup">{{ row.note || '-' }}</span>
<div v-else-if="row.isProduct" class="product-info-inline">
<span class="product-price">¥{{ (row.data.price / 100).toFixed(2) }}</span>
<el-tag v-if="row.data.remoteGoods || row.data.remote_goods" type="primary" size="small">远端商品</el-tag>
<el-tag v-if="row.data.inventoryControl" type="info" size="small">库存: {{ row.data.inventory }}</el-tag>
<el-tag v-if="row.data.recommend" type="warning" size="small">推荐</el-tag>
<el-tag v-if="row.data.expireTime && row.data.expireTime > 0" type="info" size="small">有效期: {{ row.data.expireTime }}</el-tag>
@@ -682,6 +683,14 @@
/>
<div style="font-size:12px;color:#909399;margin-top:4px">启用后用户购买/续费/升级此商品前须完成实名认证</div>
</el-form-item>
<el-form-item label="远端商品" prop="remote_goods">
<el-switch
v-model="productForm.remote_goods"
active-text="远端计价/履约"
inactive-text="普通商品"
/>
<div style="font-size:12px;color:#909399;margin-top:4px">AWS 商品请同时将标签设为 aws保存后到 AWS 商品绑定页配置目录规则</div>
</el-form-item>
</div>
</el-tab-pane>
@@ -960,6 +969,7 @@ const productForm = reactive({
arg_type: 'all',
can_renew: true,
require_real_name: false,
remote_goods: false,
sold_out: false,
max_per_user: 0,
max_first_purchase_duration: 0,
@@ -1621,6 +1631,7 @@ const handleAddProduct = () => {
recommend_rebate: 0,
arg_type: 'all',
require_real_name: false,
remote_goods: false,
max_per_user: 0,
max_first_purchase_duration: 0,
recommend_words: ''
@@ -1658,6 +1669,7 @@ const handleEditProduct = (product, parentGroupId) => {
arg_type: product.argType || 'all',
can_renew: product.canRenew !== undefined ? product.canRenew : (product.can_renew !== undefined ? product.can_renew : true),
require_real_name: product.requireRealName ?? product.require_real_name ?? false,
remote_goods: product.remoteGoods ?? product.remote_goods ?? false,
sold_out: !!product.soldOut,
max_per_user: product.maxPerUser ?? product.max_per_user ?? 0,
max_first_purchase_duration: product.maxFirstPurchaseDuration ?? product.max_first_purchase_duration ?? 0,
@@ -1691,6 +1703,7 @@ const submitProductForm = () => {
arg_type: productForm.arg_type,
can_renew: productForm.can_renew,
require_real_name: productForm.require_real_name,
remote_goods: productForm.remote_goods === true,
sold_out: productForm.sold_out === true,
max_per_user: Number(productForm.max_per_user) || 0,
max_first_purchase_duration: Number(productForm.max_first_purchase_duration) || 0,