admin模块接入数据库
This commit is contained in:
@@ -301,10 +301,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="uts">
|
||||
import { ref } from 'vue'
|
||||
import { ref, onMounted } from 'vue'
|
||||
import { getDistributionConfig, saveDistributionConfig, DistributionConfig } from '@/services/admin/distributionService.uts'
|
||||
|
||||
const activeTab = ref(0)
|
||||
const tabs = ['分销模式', '返佣设置', '提现设置']
|
||||
const isLoading = ref(false)
|
||||
|
||||
const form = ref({
|
||||
// 分销模式
|
||||
@@ -338,6 +340,50 @@ const form = ref({
|
||||
user_extract_fee: '0'
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
loadConfig()
|
||||
})
|
||||
|
||||
async function loadConfig() {
|
||||
isLoading.value = true
|
||||
try {
|
||||
const res = await getDistributionConfig()
|
||||
if (res != null) {
|
||||
// 映射 DB 类型 (boolean/number) 到页面字符串类型 ('1'/'0')
|
||||
form.value.statue = res.is_enabled ? '1' : '0'
|
||||
form.value.extract_type = res.extract_type
|
||||
form.value.bind_type = res.bind_type
|
||||
form.value.store_brokerage_binding_status = res.store_brokerage_binding_status
|
||||
form.value.brokerage_poster_status = res.brokerage_poster_status ?? ''
|
||||
form.value.brokerage_level = String(res.brokerage_level)
|
||||
form.value.is_area_manager = res.is_area_manager ? '1' : '0'
|
||||
form.value.is_agent_apply = res.is_agent_apply ? '1' : '0'
|
||||
form.value.is_commission_window = res.is_commission_window ? '1' : '0'
|
||||
|
||||
form.value.is_self_brokerage = res.is_self_brokerage ? '1' : '0'
|
||||
form.value.is_member_brokerage = res.is_member_brokerage ? '1' : '0'
|
||||
form.value.brokerage_type = res.brokerage_type
|
||||
form.value.is_promoter_brokerage = res.is_promoter_brokerage ? '1' : '0'
|
||||
form.value.promoter_brokerage_price = String(res.promoter_brokerage_price)
|
||||
form.value.promoter_brokerage_day_max = String(res.promoter_brokerage_day_max)
|
||||
form.value.store_brokerage_ratio = String(res.store_brokerage_ratio)
|
||||
form.value.store_brokerage_two_ratio = String(res.store_brokerage_two_ratio)
|
||||
form.value.extract_frozen_time = String(res.extract_frozen_time)
|
||||
|
||||
form.value.user_extract_min_price = String(res.user_extract_min_price)
|
||||
form.value.extract_bank_list = res.extract_bank_list
|
||||
form.value.extract_type_list = res.extract_type_list
|
||||
form.value.wechat_extract_type = res.wechat_extract_type
|
||||
form.value.alipay_extract_type = res.alipay_extract_type
|
||||
form.value.user_extract_fee = String(res.user_extract_fee)
|
||||
}
|
||||
} catch (e) {
|
||||
uni.showToast({ title: '加载配置失败', icon: 'none' })
|
||||
} finally {
|
||||
isLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
function onUploadPoster() {
|
||||
uni.chooseImage({
|
||||
count: 1,
|
||||
@@ -347,8 +393,50 @@ function onUploadPoster() {
|
||||
})
|
||||
}
|
||||
|
||||
function onSubmit() {
|
||||
async function onSubmit() {
|
||||
isLoading.value = true
|
||||
try {
|
||||
// 映射页面字符串类型到 DB 类型
|
||||
const config: DistributionConfig = {
|
||||
is_enabled: form.value.statue === '1',
|
||||
extract_type: form.value.extract_type,
|
||||
bind_type: form.value.bind_type,
|
||||
store_brokerage_binding_status: form.value.store_brokerage_binding_status,
|
||||
brokerage_poster_status: form.value.brokerage_poster_status,
|
||||
brokerage_level: parseInt(form.value.brokerage_level),
|
||||
is_area_manager: form.value.is_area_manager === '1',
|
||||
is_agent_apply: form.value.is_agent_apply === '1',
|
||||
is_commission_window: form.value.is_commission_window === '1',
|
||||
|
||||
is_self_brokerage: form.value.is_self_brokerage === '1',
|
||||
is_member_brokerage: form.value.is_member_brokerage === '1',
|
||||
brokerage_type: form.value.brokerage_type,
|
||||
is_promoter_brokerage: form.value.is_promoter_brokerage === '1',
|
||||
promoter_brokerage_price: parseFloat(form.value.promoter_brokerage_price),
|
||||
promoter_brokerage_day_max: parseFloat(form.value.promoter_brokerage_day_max),
|
||||
store_brokerage_ratio: parseFloat(form.value.store_brokerage_ratio),
|
||||
store_brokerage_two_ratio: parseFloat(form.value.store_brokerage_two_ratio),
|
||||
extract_frozen_time: parseInt(form.value.extract_frozen_time),
|
||||
|
||||
user_extract_min_price: parseFloat(form.value.user_extract_min_price),
|
||||
extract_bank_list: form.value.extract_bank_list,
|
||||
extract_type_list: form.value.extract_type_list,
|
||||
wechat_extract_type: form.value.wechat_extract_type,
|
||||
alipay_extract_type: form.value.alipay_extract_type,
|
||||
user_extract_fee: parseFloat(form.value.user_extract_fee)
|
||||
}
|
||||
|
||||
const success = await saveDistributionConfig(config)
|
||||
if (success) {
|
||||
uni.showToast({ title: '保存成功', icon: 'success' })
|
||||
} else {
|
||||
uni.showToast({ title: '保存失败', icon: 'none' })
|
||||
}
|
||||
} catch (e) {
|
||||
uni.showToast({ title: '操作异常', icon: 'none' })
|
||||
} finally {
|
||||
isLoading.value = false
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user