1617 changed files with 2633 additions and 1236 deletions
@ -0,0 +1,52 @@ |
|||
import request from '@/utils/request' |
|||
|
|||
// USER_CODE_BEGIN -- student_label
|
|||
/** |
|||
* 获取学员标签列表 |
|||
* @param params |
|||
* @returns |
|||
*/ |
|||
export function getStudentLabelList(params: Record<string, any>) { |
|||
return request.get(`student_label/student_label`, {params}) |
|||
} |
|||
|
|||
/** |
|||
* 获取学员标签详情 |
|||
* @param label_id 学员标签label_id |
|||
* @returns |
|||
*/ |
|||
export function getStudentLabelInfo(label_id: number) { |
|||
return request.get(`student_label/student_label/${label_id}`); |
|||
} |
|||
|
|||
/** |
|||
* 添加学员标签 |
|||
* @param params |
|||
* @returns |
|||
*/ |
|||
export function addStudentLabel(params: Record<string, any>) { |
|||
return request.post('student_label/student_label', params, { showErrorMessage: true, showSuccessMessage: true }) |
|||
} |
|||
|
|||
/** |
|||
* 编辑学员标签 |
|||
* @param label_id |
|||
* @param params |
|||
* @returns |
|||
*/ |
|||
export function editStudentLabel(params: Record<string, any>) { |
|||
return request.put(`student_label/student_label/${params.label_id}`, params, { showErrorMessage: true, showSuccessMessage: true }) |
|||
} |
|||
|
|||
/** |
|||
* 删除学员标签 |
|||
* @param label_id |
|||
* @returns |
|||
*/ |
|||
export function deleteStudentLabel(label_id: number) { |
|||
return request.delete(`student_label/student_label/${label_id}`, { showErrorMessage: true, showSuccessMessage: true }) |
|||
} |
|||
|
|||
|
|||
|
|||
// USER_CODE_END -- student_label
|
|||
@ -0,0 +1,13 @@ |
|||
{ |
|||
"labelName":"标签名称", |
|||
"labelNamePlaceholder":"请输入标签名称", |
|||
"memo":"备注", |
|||
"memoPlaceholder":"请输入备注", |
|||
"sort":"排序", |
|||
"sortPlaceholder":"请输入排序", |
|||
"addStudentLabel":"添加学员标签", |
|||
"updateStudentLabel":"编辑学员标签", |
|||
"studentLabelDeleteTips":"确定要删除该数据吗?", |
|||
"startDate":"请选择开始时间", |
|||
"endDate":"请选择结束时间" |
|||
} |
|||
@ -1,323 +1,363 @@ |
|||
<template> |
|||
<div class="main-container"> |
|||
<el-card class="box-card !border-none" shadow="never"> |
|||
<div class="flex justify-between items-center"> |
|||
<span class="text-lg">{{ pageName }}</span> |
|||
<el-button type="primary" @click="addEvent"> |
|||
{{ t('addOrderTable') }} |
|||
</el-button> |
|||
</div> |
|||
|
|||
<el-card |
|||
class="box-card !border-none my-[10px] table-search-wrap" |
|||
shadow="never" |
|||
> |
|||
<el-form |
|||
:inline="true" |
|||
:model="orderTableTable.searchParam" |
|||
ref="searchFormRef" |
|||
> |
|||
<el-form-item :label="t('orderStatus')" prop="order_status"> |
|||
<el-select |
|||
class="w-[280px]" |
|||
v-model="orderTableTable.searchParam.order_status" |
|||
clearable |
|||
:placeholder="t('orderStatusPlaceholder')" |
|||
> |
|||
<el-option label="全部" value=""></el-option> |
|||
<el-option |
|||
v-for="(item, index) in order_statusList" |
|||
:key="index" |
|||
:label="item.name" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
|
|||
<el-form-item :label="t('paymentType')" prop="payment_type"> |
|||
<el-select |
|||
class="w-[280px]" |
|||
v-model="orderTableTable.searchParam.payment_type" |
|||
clearable |
|||
:placeholder="t('paymentTypePlaceholder')" |
|||
> |
|||
<el-option label="全部" value=""></el-option> |
|||
<el-option |
|||
v-for="(item, index) in payment_typeList" |
|||
:key="index" |
|||
:label="item.name" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
|
|||
<el-form-item> |
|||
<el-button type="primary" @click="loadOrderTableList()">{{ |
|||
<div class="main-container"> |
|||
<el-card class="box-card !border-none" shadow="never"> |
|||
<div class="flex justify-between items-center"> |
|||
<span class="text-lg">{{ pageName }}</span> |
|||
<el-button type="primary" @click="addEvent"> |
|||
{{ t('addOrderTable') }} |
|||
</el-button> |
|||
</div> |
|||
|
|||
<el-card class="box-card !border-none my-[10px] table-search-wrap" shadow="never"> |
|||
<el-form :inline="true" :model="orderTableTable.searchParam" ref="searchFormRef"> |
|||
<el-form-item :label="t('orderStatus')" prop="order_status"> |
|||
<el-select class="w-[280px]" v-model="orderTableTable.searchParam.order_status" clearable |
|||
:placeholder="t('orderStatusPlaceholder')"> |
|||
<el-option label="全部" value=""></el-option> |
|||
<el-option v-for="(item, index) in order_statusList" :key="index" :label="item.name" |
|||
:value="item.value" /> |
|||
</el-select> |
|||
</el-form-item> |
|||
|
|||
<el-form-item :label="t('paymentType')" prop="payment_type"> |
|||
<el-select class="w-[280px]" v-model="orderTableTable.searchParam.payment_type" clearable |
|||
:placeholder="t('paymentTypePlaceholder')"> |
|||
<el-option label="全部" value=""></el-option> |
|||
<el-option v-for="(item, index) in payment_typeList" :key="index" :label="item.name" |
|||
:value="item.value" /> |
|||
</el-select> |
|||
</el-form-item> |
|||
|
|||
<el-form-item> |
|||
<el-button type="primary" @click="loadOrderTableList()">{{ |
|||
t('search') |
|||
}}</el-button> |
|||
<el-button @click="resetForm(searchFormRef)">{{ |
|||
<el-button @click="resetForm(searchFormRef)">{{ |
|||
t('reset') |
|||
}}</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-card> |
|||
|
|||
<div class="mt-[10px]"> |
|||
<el-table |
|||
:data="orderTableTable.data" |
|||
size="large" |
|||
v-loading="orderTableTable.loading" |
|||
> |
|||
<template #empty> |
|||
<span>{{ !orderTableTable.loading ? t('emptyData') : '' }}</span> |
|||
</template> |
|||
<el-table-column |
|||
prop="resource_id_name" |
|||
:label="t('resourceId')" |
|||
min-width="120" |
|||
:show-overflow-tooltip="true" |
|||
/> |
|||
|
|||
<el-table-column |
|||
:label="t('orderStatus')" |
|||
min-width="180" |
|||
align="center" |
|||
:show-overflow-tooltip="true" |
|||
> |
|||
<template #default="{ row }"> |
|||
<div v-for="(item, index) in order_statusList"> |
|||
<div v-if="item.value == row.order_status">{{ item.name }}</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
|
|||
<el-table-column |
|||
:label="t('paymentType')" |
|||
min-width="180" |
|||
align="center" |
|||
:show-overflow-tooltip="true" |
|||
> |
|||
<template #default="{ row }"> |
|||
<div v-for="(item, index) in payment_typeList"> |
|||
<div v-if="item.value == row.payment_type">{{ item.name }}</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
|
|||
<el-table-column |
|||
prop="order_amount" |
|||
:label="t('orderAmount')" |
|||
min-width="120" |
|||
:show-overflow-tooltip="true" |
|||
/> |
|||
|
|||
<el-table-column |
|||
prop="course_id_name" |
|||
:label="t('courseId')" |
|||
min-width="120" |
|||
:show-overflow-tooltip="true" |
|||
/> |
|||
|
|||
<el-table-column |
|||
prop="class_id_name" |
|||
:label="t('classId')" |
|||
min-width="120" |
|||
:show-overflow-tooltip="true" |
|||
/> |
|||
|
|||
<el-table-column |
|||
prop="staff_id_name" |
|||
:label="t('staffId')" |
|||
min-width="120" |
|||
:show-overflow-tooltip="true" |
|||
/> |
|||
|
|||
<el-table-column |
|||
prop="payment_time" |
|||
:label="t('paymentTime')" |
|||
min-width="120" |
|||
:show-overflow-tooltip="true" |
|||
/> |
|||
|
|||
<el-table-column |
|||
:label="t('operation')" |
|||
fixed="right" |
|||
min-width="120" |
|||
> |
|||
<template #default="{ row }"> |
|||
<el-button type="primary" link @click="editEvent(row)">{{ |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-card> |
|||
|
|||
<div class="mt-[10px]"> |
|||
<el-table :data="orderTableTable.data" size="large" v-loading="orderTableTable.loading"> |
|||
<template #empty> |
|||
<span>{{ !orderTableTable.loading ? t('emptyData') : '' }}</span> |
|||
</template> |
|||
<el-table-column prop="resource_id_name" :label="t('resourceId')" min-width="120" |
|||
:show-overflow-tooltip="true" /> |
|||
|
|||
<el-table-column :label="t('orderStatus')" min-width="180" align="center" |
|||
:show-overflow-tooltip="true"> |
|||
<template #default="{ row }"> |
|||
<div v-for="(item, index) in order_statusList"> |
|||
<div v-if="item.value == row.order_status">{{ item.name }}</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
|
|||
<el-table-column :label="t('paymentType')" min-width="180" align="center" |
|||
:show-overflow-tooltip="true"> |
|||
<template #default="{ row }"> |
|||
<div v-for="(item, index) in payment_typeList"> |
|||
<div v-if="item.value == row.payment_type">{{ item.name }}</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
|
|||
<el-table-column prop="order_amount" :label="t('orderAmount')" min-width="120" |
|||
:show-overflow-tooltip="true" /> |
|||
|
|||
<el-table-column prop="course_id_name" :label="t('courseId')" min-width="120" |
|||
:show-overflow-tooltip="true" /> |
|||
|
|||
<el-table-column prop="class_id_name" :label="t('classId')" min-width="120" |
|||
:show-overflow-tooltip="true" /> |
|||
|
|||
<el-table-column prop="staff_id_name" :label="t('staffId')" min-width="120" |
|||
:show-overflow-tooltip="true" /> |
|||
|
|||
<el-table-column prop="payment_time" :label="t('paymentTime')" min-width="120" |
|||
:show-overflow-tooltip="true" /> |
|||
|
|||
<el-table-column :label="t('operation')" fixed="right" min-width="120"> |
|||
<template #default="{ row }"> |
|||
|
|||
<el-button type="primary" link @click="startPayment(row.id)" v-if="row.order_status == 'pending'">支付</el-button> |
|||
|
|||
<el-button type="primary" link @click="editEvent(row)">{{ |
|||
t('edit') |
|||
}}</el-button> |
|||
<el-button type="primary" link @click="deleteEvent(row.id)">{{ |
|||
<el-button type="primary" link @click="deleteEvent(row.id)">{{ |
|||
t('delete') |
|||
}}</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<div class="mt-[16px] flex justify-end"> |
|||
<el-pagination |
|||
v-model:current-page="orderTableTable.page" |
|||
v-model:page-size="orderTableTable.limit" |
|||
layout="total, sizes, prev, pager, next, jumper" |
|||
:total="orderTableTable.total" |
|||
@size-change="loadOrderTableList()" |
|||
@current-change="loadOrderTableList" |
|||
/> |
|||
</div> |
|||
</div> |
|||
|
|||
<edit ref="editOrderTableDialog" @complete="loadOrderTableList" /> |
|||
</el-card> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<div class="mt-[16px] flex justify-end"> |
|||
<el-pagination v-model:current-page="orderTableTable.page" v-model:page-size="orderTableTable.limit" |
|||
layout="total, sizes, prev, pager, next, jumper" :total="orderTableTable.total" |
|||
@size-change="loadOrderTableList()" @current-change="loadOrderTableList" /> |
|||
</div> |
|||
</div> |
|||
|
|||
<edit ref="editOrderTableDialog" @complete="loadOrderTableList" /> |
|||
</el-card> |
|||
|
|||
|
|||
<el-dialog v-model="showDialog" title="请扫码支付" width="320px" center @close="handleClose"> |
|||
<div v-if="qrCodeUrl" class="qr-box"> |
|||
<img :src="qrCodeUrl" alt="二维码" class="qr-img" /> |
|||
<p class="pay-id">支付编号:{{ payId }}</p> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script lang="ts" setup> |
|||
import { reactive, ref, watch } from 'vue' |
|||
import { t } from '@/lang' |
|||
import { useDictionary } from '@/app/api/dict' |
|||
import { |
|||
getOrderTableList, |
|||
deleteOrderTable, |
|||
getWithCustomerResourcesList, |
|||
getWithCourseList, |
|||
getWithClassGradeList, |
|||
getWithPersonnelList, |
|||
} from '@/app/api/order_table' |
|||
import { img } from '@/utils/common' |
|||
import { ElMessageBox, FormInstance } from 'element-plus' |
|||
import Edit from '@/app/views/order_table/components/order-table-edit.vue' |
|||
import { useRoute } from 'vue-router' |
|||
const route = useRoute() |
|||
const pageName = route.meta.title |
|||
|
|||
let orderTableTable = reactive({ |
|||
page: 1, |
|||
limit: 10, |
|||
total: 0, |
|||
loading: true, |
|||
data: [], |
|||
searchParam: { |
|||
order_status: '', |
|||
payment_type: '', |
|||
}, |
|||
}) |
|||
|
|||
const searchFormRef = ref<FormInstance>() |
|||
|
|||
// 选中数据 |
|||
const selectData = ref<any[]>([]) |
|||
|
|||
// 字典数据 |
|||
const order_statusList = ref([] as any[]) |
|||
const order_statusDictList = async () => { |
|||
order_statusList.value = await ( |
|||
await useDictionary('order_status') |
|||
).data.dictionary |
|||
} |
|||
order_statusDictList() |
|||
const payment_typeList = ref([] as any[]) |
|||
const payment_typeDictList = async () => { |
|||
payment_typeList.value = await ( |
|||
await useDictionary('payment_type') |
|||
).data.dictionary |
|||
} |
|||
payment_typeDictList() |
|||
|
|||
/** |
|||
* 获取订单列表 |
|||
*/ |
|||
const loadOrderTableList = (page: number = 1) => { |
|||
orderTableTable.loading = true |
|||
orderTableTable.page = page |
|||
|
|||
getOrderTableList({ |
|||
page: orderTableTable.page, |
|||
limit: orderTableTable.limit, |
|||
...orderTableTable.searchParam, |
|||
}) |
|||
.then((res) => { |
|||
orderTableTable.loading = false |
|||
orderTableTable.data = res.data.data |
|||
orderTableTable.total = res.data.total |
|||
}) |
|||
.catch(() => { |
|||
orderTableTable.loading = false |
|||
}) |
|||
} |
|||
loadOrderTableList() |
|||
|
|||
const editOrderTableDialog: Record<string, any> | null = ref(null) |
|||
|
|||
/** |
|||
* 添加订单 |
|||
*/ |
|||
const addEvent = () => { |
|||
editOrderTableDialog.value.setFormData() |
|||
editOrderTableDialog.value.showDialog = true |
|||
} |
|||
|
|||
/** |
|||
* 编辑订单 |
|||
* @param data |
|||
*/ |
|||
const editEvent = (data: any) => { |
|||
editOrderTableDialog.value.setFormData(data) |
|||
editOrderTableDialog.value.showDialog = true |
|||
} |
|||
|
|||
/** |
|||
* 删除订单 |
|||
*/ |
|||
const deleteEvent = (id: number) => { |
|||
ElMessageBox.confirm(t('orderTableDeleteTips'), t('warning'), { |
|||
confirmButtonText: t('confirm'), |
|||
cancelButtonText: t('cancel'), |
|||
type: 'warning', |
|||
}).then(() => { |
|||
deleteOrderTable(id) |
|||
.then(() => { |
|||
loadOrderTableList() |
|||
}) |
|||
.catch(() => {}) |
|||
}) |
|||
} |
|||
|
|||
const resourceIdList = ref([]) |
|||
const setResourceIdList = async () => { |
|||
resourceIdList.value = await (await getWithCustomerResourcesList({})).data |
|||
} |
|||
setResourceIdList() |
|||
const courseIdList = ref([]) |
|||
const setCourseIdList = async () => { |
|||
courseIdList.value = await (await getWithCourseList({})).data |
|||
} |
|||
setCourseIdList() |
|||
const classIdList = ref([]) |
|||
const setClassIdList = async () => { |
|||
classIdList.value = await (await getWithClassGradeList({})).data |
|||
} |
|||
setClassIdList() |
|||
const staffIdList = ref([]) |
|||
const setStaffIdList = async () => { |
|||
staffIdList.value = await (await getWithPersonnelList({})).data |
|||
} |
|||
setStaffIdList() |
|||
|
|||
const resetForm = (formEl: FormInstance | undefined) => { |
|||
if (!formEl) return |
|||
formEl.resetFields() |
|||
loadOrderTableList() |
|||
} |
|||
import QrcodeVue from '@/app/views/order_table/components/qrcode.vue' |
|||
import { reactive, ref, watch, onBeforeUnmount } from 'vue' |
|||
import { t } from '@/lang' |
|||
import { useDictionary } from '@/app/api/dict' |
|||
import { |
|||
getOrderTableList, |
|||
deleteOrderTable, |
|||
getWithCustomerResourcesList, |
|||
getWithCourseList, |
|||
getWithClassGradeList, |
|||
getWithPersonnelList, |
|||
} from '@/app/api/order_table' |
|||
import { |
|||
orderPay, |
|||
checkPaymentStatus |
|||
} from '@/app/api/pay' |
|||
|
|||
|
|||
import { img } from '@/utils/common' |
|||
import { ElMessageBox, FormInstance } from 'element-plus' |
|||
import Edit from '@/app/views/order_table/components/order-table-edit.vue' |
|||
import { useRoute } from 'vue-router' |
|||
const route = useRoute() |
|||
const pageName = route.meta.title |
|||
|
|||
|
|||
let orderTableTable = reactive({ |
|||
page: 1, |
|||
limit: 10, |
|||
total: 0, |
|||
loading: true, |
|||
data: [], |
|||
searchParam: { |
|||
order_status: '', |
|||
payment_type: '', |
|||
resource_id: route.query.resource_id ?? '' |
|||
}, |
|||
}) |
|||
|
|||
|
|||
const showDialog = ref(false) |
|||
const qrCodeUrl = ref('') |
|||
const payId = ref('') |
|||
let checkTimer: ReturnType<typeof setInterval> | null = null |
|||
|
|||
const startPayment = async (order_id : number) => { |
|||
|
|||
orderPay({ |
|||
order_id: order_id |
|||
}) |
|||
.then((res) => { |
|||
qrCodeUrl.value = res.data.qrcode_url |
|||
payId.value = res.data.out_trade_no |
|||
showDialog.value = true |
|||
|
|||
// 开始轮询检查支付状态 |
|||
startCheckingStatus() |
|||
}) |
|||
.catch(() => { |
|||
|
|||
}) |
|||
} |
|||
|
|||
const startCheckingStatus = () => { |
|||
if (checkTimer) clearInterval(checkTimer) |
|||
checkTimer = setInterval(async () => { |
|||
checkPaymentStatus({ |
|||
out_trade_no: payId.value |
|||
}) |
|||
.then((res) => { |
|||
if (res.data.order_status === 'paid') { |
|||
clearInterval(checkTimer!) |
|||
showDialog.value = false |
|||
handlePaymentSuccess() |
|||
} |
|||
}) |
|||
.catch(() => { |
|||
|
|||
}) |
|||
}, 3000) |
|||
|
|||
} |
|||
|
|||
|
|||
const handleClose = () => { |
|||
if (checkTimer) clearInterval(checkTimer) |
|||
} |
|||
|
|||
const handlePaymentSuccess = () => { |
|||
// 处理支付成功后的逻辑 |
|||
loadOrderTableList(); |
|||
} |
|||
|
|||
onBeforeUnmount(() => { |
|||
if (checkTimer) clearInterval(checkTimer) |
|||
}) |
|||
|
|||
|
|||
const searchFormRef = ref<FormInstance>() |
|||
|
|||
// 选中数据 |
|||
const selectData = ref<any[]>([]) |
|||
|
|||
// 字典数据 |
|||
const order_statusList = ref([] as any[]) |
|||
const order_statusDictList = async () => { |
|||
order_statusList.value = await ( |
|||
await useDictionary('order_status') |
|||
).data.dictionary |
|||
} |
|||
order_statusDictList() |
|||
const payment_typeList = ref([] as any[]) |
|||
const payment_typeDictList = async () => { |
|||
payment_typeList.value = await ( |
|||
await useDictionary('payment_type') |
|||
).data.dictionary |
|||
} |
|||
payment_typeDictList() |
|||
|
|||
/** |
|||
* 获取订单列表 |
|||
*/ |
|||
const loadOrderTableList = (page : number = 1) => { |
|||
orderTableTable.loading = true |
|||
orderTableTable.page = page |
|||
|
|||
getOrderTableList({ |
|||
page: orderTableTable.page, |
|||
limit: orderTableTable.limit, |
|||
...orderTableTable.searchParam, |
|||
}) |
|||
.then((res) => { |
|||
orderTableTable.loading = false |
|||
orderTableTable.data = res.data.data |
|||
orderTableTable.total = res.data.total |
|||
}) |
|||
.catch(() => { |
|||
orderTableTable.loading = false |
|||
}) |
|||
} |
|||
loadOrderTableList() |
|||
|
|||
const editOrderTableDialog : Record<string, any> | null = ref(null) |
|||
|
|||
/** |
|||
* 添加订单 |
|||
*/ |
|||
const addEvent = () => { |
|||
editOrderTableDialog.value.setFormData() |
|||
editOrderTableDialog.value.showDialog = true |
|||
} |
|||
|
|||
/** |
|||
* 编辑订单 |
|||
* @param data |
|||
*/ |
|||
const editEvent = (data : any) => { |
|||
editOrderTableDialog.value.setFormData(data) |
|||
editOrderTableDialog.value.showDialog = true |
|||
} |
|||
|
|||
/** |
|||
* 删除订单 |
|||
*/ |
|||
const deleteEvent = (id : number) => { |
|||
ElMessageBox.confirm(t('orderTableDeleteTips'), t('warning'), { |
|||
confirmButtonText: t('confirm'), |
|||
cancelButtonText: t('cancel'), |
|||
type: 'warning', |
|||
}).then(() => { |
|||
deleteOrderTable(id) |
|||
.then(() => { |
|||
loadOrderTableList() |
|||
}) |
|||
.catch(() => { }) |
|||
}) |
|||
} |
|||
|
|||
const resourceIdList = ref([]) |
|||
const setResourceIdList = async () => { |
|||
resourceIdList.value = await (await getWithCustomerResourcesList({})).data |
|||
} |
|||
setResourceIdList() |
|||
const courseIdList = ref([]) |
|||
const setCourseIdList = async () => { |
|||
courseIdList.value = await (await getWithCourseList({})).data |
|||
} |
|||
setCourseIdList() |
|||
const classIdList = ref([]) |
|||
const setClassIdList = async () => { |
|||
classIdList.value = await (await getWithClassGradeList({})).data |
|||
} |
|||
setClassIdList() |
|||
const staffIdList = ref([]) |
|||
const setStaffIdList = async () => { |
|||
staffIdList.value = await (await getWithPersonnelList({})).data |
|||
} |
|||
setStaffIdList() |
|||
|
|||
const resetForm = (formEl : FormInstance | undefined) => { |
|||
if (!formEl) return |
|||
formEl.resetFields() |
|||
loadOrderTableList() |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
/* 多行超出隐藏 */ |
|||
.multi-hidden { |
|||
word-break: break-all; |
|||
text-overflow: ellipsis; |
|||
overflow: hidden; |
|||
display: -webkit-box; |
|||
-webkit-line-clamp: 2; |
|||
-webkit-box-orient: vertical; |
|||
} |
|||
</style> |
|||
/* 多行超出隐藏 */ |
|||
.multi-hidden { |
|||
word-break: break-all; |
|||
text-overflow: ellipsis; |
|||
overflow: hidden; |
|||
display: -webkit-box; |
|||
-webkit-line-clamp: 2; |
|||
-webkit-box-orient: vertical; |
|||
} |
|||
|
|||
|
|||
.qr-box { |
|||
display: flex; |
|||
flex-direction: column; |
|||
align-items: center; |
|||
justify-content: center; |
|||
padding: 16px; |
|||
background-color: #fdfdfd; |
|||
border-radius: 12px; |
|||
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08); |
|||
transition: all 0.3s ease-in-out; |
|||
} |
|||
|
|||
.qr-img { |
|||
width: 200px; |
|||
height: 200px; |
|||
border-radius: 8px; |
|||
object-fit: contain; |
|||
border: 1px solid #e5e5e5; |
|||
} |
|||
|
|||
.pay-id { |
|||
margin-top: 14px; |
|||
font-size: 13px; |
|||
color: #666; |
|||
word-break: break-all; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,163 @@ |
|||
<template> |
|||
<el-dialog v-model="showDialog" :title="formData.label_id ? t('updateStudentLabel') : t('addStudentLabel')" width="50%" class="diy-dialog-wrap" :destroy-on-close="true"> |
|||
<el-form :model="formData" label-width="120px" ref="formRef" :rules="formRules" class="page-form" v-loading="loading"> |
|||
<el-form-item :label="t('labelName')" prop="label_name"> |
|||
<el-input v-model="formData.label_name" clearable :placeholder="t('labelNamePlaceholder')" class="input-width" /> |
|||
</el-form-item> |
|||
|
|||
<el-form-item :label="t('memo')" prop="memo"> |
|||
<el-input v-model="formData.memo" clearable :placeholder="t('memoPlaceholder')" class="input-width" /> |
|||
</el-form-item> |
|||
|
|||
<el-form-item :label="t('sort')" prop="sort"> |
|||
<el-input v-model="formData.sort" clearable :placeholder="t('sortPlaceholder')" class="input-width" /> |
|||
</el-form-item> |
|||
|
|||
</el-form> |
|||
|
|||
<template #footer> |
|||
<span class="dialog-footer"> |
|||
<el-button @click="showDialog = false">{{ t('cancel') }}</el-button> |
|||
<el-button type="primary" :loading="loading" @click="confirm(formRef)">{{ |
|||
t('confirm') |
|||
}}</el-button> |
|||
</span> |
|||
</template> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script lang="ts" setup> |
|||
import { ref, reactive, computed, watch } from 'vue' |
|||
import { useDictionary } from '@/app/api/dict' |
|||
import { t } from '@/lang' |
|||
import type { FormInstance } from 'element-plus' |
|||
import { addStudentLabel, editStudentLabel, getStudentLabelInfo } from '@/app/api/student_label' |
|||
|
|||
let showDialog = ref(false) |
|||
const loading = ref(false) |
|||
|
|||
/** |
|||
* 表单数据 |
|||
*/ |
|||
const initialFormData = { |
|||
label_id: '', |
|||
label_name: '', |
|||
memo: '', |
|||
sort: '', |
|||
} |
|||
const formData: Record<string, any> = reactive({ ...initialFormData }) |
|||
|
|||
const formRef = ref<FormInstance>() |
|||
|
|||
// 表单验证规则 |
|||
const formRules = computed(() => { |
|||
return { |
|||
label_name: [ |
|||
{ required: true, message: t('labelNamePlaceholder'), trigger: 'blur' }, |
|||
|
|||
] |
|||
, |
|||
memo: [ |
|||
{ required: true, message: t('memoPlaceholder'), trigger: 'blur' }, |
|||
|
|||
] |
|||
, |
|||
sort: [ |
|||
{ required: true, message: t('sortPlaceholder'), trigger: 'blur' }, |
|||
|
|||
] |
|||
, |
|||
} |
|||
}) |
|||
|
|||
const emit = defineEmits(['complete']) |
|||
|
|||
/** |
|||
* 确认 |
|||
* @param formEl |
|||
*/ |
|||
const confirm = async (formEl: FormInstance | undefined) => { |
|||
if (loading.value || !formEl) return |
|||
let save = formData.label_id ? editStudentLabel : addStudentLabel |
|||
|
|||
await formEl.validate(async (valid) => { |
|||
if (valid) { |
|||
loading.value = true |
|||
|
|||
let data = formData |
|||
|
|||
save(data).then(res => { |
|||
loading.value = false |
|||
showDialog.value = false |
|||
emit('complete') |
|||
}).catch(err => { |
|||
loading.value = false |
|||
}) |
|||
} |
|||
}) |
|||
} |
|||
|
|||
// 获取字典数据 |
|||
|
|||
|
|||
|
|||
const setFormData = async (row: any = null) => { |
|||
Object.assign(formData, initialFormData) |
|||
loading.value = true |
|||
if(row){ |
|||
const data = await (await getStudentLabelInfo(row.label_id)).data |
|||
if (data) Object.keys(formData).forEach((key: string) => { |
|||
if (data[key] != undefined) formData[key] = data[key] |
|||
}) |
|||
} |
|||
loading.value = false |
|||
} |
|||
|
|||
// 验证手机号格式 |
|||
const mobileVerify = (rule: any, value: any, callback: any) => { |
|||
if (value && !/^1[3-9]\d{9}$/.test(value)) { |
|||
callback(new Error(t('generateMobile'))) |
|||
} else { |
|||
callback() |
|||
} |
|||
} |
|||
|
|||
// 验证身份证号 |
|||
const idCardVerify = (rule: any, value: any, callback: any) => { |
|||
if (value && !/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/.test(value)) { |
|||
callback(new Error(t('generateIdCard'))) |
|||
} else { |
|||
callback() |
|||
} |
|||
} |
|||
|
|||
// 验证邮箱号 |
|||
const emailVerify = (rule: any, value: any, callback: any) => { |
|||
if (value && !/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(value)) { |
|||
callback(new Error(t('generateEmail'))) |
|||
} else { |
|||
callback() |
|||
} |
|||
} |
|||
|
|||
// 验证请输入整数 |
|||
const numberVerify = (rule: any, value: any, callback: any) => { |
|||
if (!Number.isInteger(value)) { |
|||
callback(new Error(t('generateNumber'))) |
|||
} else { |
|||
callback() |
|||
} |
|||
} |
|||
|
|||
defineExpose({ |
|||
showDialog, |
|||
setFormData |
|||
}) |
|||
</script> |
|||
|
|||
<style lang="scss" scoped></style> |
|||
<style lang="scss"> |
|||
.diy-dialog-wrap .el-form-item__label{ |
|||
height: auto !important; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,163 @@ |
|||
<template> |
|||
<div class="main-container"> |
|||
<el-card class="box-card !border-none" shadow="never"> |
|||
|
|||
<div class="flex justify-between items-center"> |
|||
<span class="text-lg">{{pageName}}</span> |
|||
<el-button type="primary" @click="addEvent"> |
|||
{{ t('addStudentLabel') }} |
|||
</el-button> |
|||
</div> |
|||
|
|||
<el-card class="box-card !border-none my-[10px] table-search-wrap" shadow="never"> |
|||
<el-form :inline="true" :model="studentLabelTable.searchParam" ref="searchFormRef"> |
|||
<el-form-item :label="t('labelName')" prop="label_name"> |
|||
<el-input v-model="studentLabelTable.searchParam.label_name" :placeholder="t('labelNamePlaceholder')" /> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" @click="loadStudentLabelList()">{{ t('search') }}</el-button> |
|||
<el-button @click="resetForm(searchFormRef)">{{ t('reset') }}</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-card> |
|||
|
|||
<div class="mt-[10px]"> |
|||
<el-table :data="studentLabelTable.data" size="large" v-loading="studentLabelTable.loading"> |
|||
<template #empty> |
|||
<span>{{ !studentLabelTable.loading ? t('emptyData') : '' }}</span> |
|||
</template> |
|||
<el-table-column prop="label_name" :label="t('labelName')" min-width="120" :show-overflow-tooltip="true"/> |
|||
|
|||
<el-table-column prop="memo" :label="t('memo')" min-width="120" :show-overflow-tooltip="true"/> |
|||
|
|||
<el-table-column prop="sort" :label="t('sort')" min-width="120" :show-overflow-tooltip="true"/> |
|||
|
|||
<el-table-column :label="t('operation')" fixed="right" min-width="120"> |
|||
<template #default="{ row }"> |
|||
<el-button type="primary" link @click="editEvent(row)">{{ t('edit') }}</el-button> |
|||
<el-button type="primary" link @click="deleteEvent(row.label_id)">{{ t('delete') }}</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
|
|||
</el-table> |
|||
<div class="mt-[16px] flex justify-end"> |
|||
<el-pagination v-model:current-page="studentLabelTable.page" v-model:page-size="studentLabelTable.limit" |
|||
layout="total, sizes, prev, pager, next, jumper" :total="studentLabelTable.total" |
|||
@size-change="loadStudentLabelList()" @current-change="loadStudentLabelList" /> |
|||
</div> |
|||
</div> |
|||
|
|||
<edit ref="editStudentLabelDialog" @complete="loadStudentLabelList" /> |
|||
</el-card> |
|||
</div> |
|||
</template> |
|||
|
|||
<script lang="ts" setup> |
|||
import { reactive, ref, watch } from 'vue' |
|||
import { t } from '@/lang' |
|||
import { useDictionary } from '@/app/api/dict' |
|||
import { getStudentLabelList, deleteStudentLabel } from '@/app/api/student_label' |
|||
import { img } from '@/utils/common' |
|||
import { ElMessageBox,FormInstance } from 'element-plus' |
|||
import Edit from '@/app/views/student_label/components/student-label-edit.vue' |
|||
import { useRoute } from 'vue-router' |
|||
const route = useRoute() |
|||
const pageName = route.meta.title; |
|||
|
|||
let studentLabelTable = reactive({ |
|||
page: 1, |
|||
limit: 10, |
|||
total: 0, |
|||
loading: true, |
|||
data: [], |
|||
searchParam:{ |
|||
"label_name":"" |
|||
} |
|||
}) |
|||
|
|||
const searchFormRef = ref<FormInstance>() |
|||
|
|||
// 选中数据 |
|||
const selectData = ref<any[]>([]) |
|||
|
|||
// 字典数据 |
|||
|
|||
|
|||
/** |
|||
* 获取学员标签列表 |
|||
*/ |
|||
const loadStudentLabelList = (page: number = 1) => { |
|||
studentLabelTable.loading = true |
|||
studentLabelTable.page = page |
|||
|
|||
getStudentLabelList({ |
|||
page: studentLabelTable.page, |
|||
limit: studentLabelTable.limit, |
|||
...studentLabelTable.searchParam |
|||
}).then(res => { |
|||
studentLabelTable.loading = false |
|||
studentLabelTable.data = res.data.data |
|||
studentLabelTable.total = res.data.total |
|||
}).catch(() => { |
|||
studentLabelTable.loading = false |
|||
}) |
|||
} |
|||
loadStudentLabelList() |
|||
|
|||
const editStudentLabelDialog: Record<string, any> | null = ref(null) |
|||
|
|||
/** |
|||
* 添加学员标签 |
|||
*/ |
|||
const addEvent = () => { |
|||
editStudentLabelDialog.value.setFormData() |
|||
editStudentLabelDialog.value.showDialog = true |
|||
} |
|||
|
|||
/** |
|||
* 编辑学员标签 |
|||
* @param data |
|||
*/ |
|||
const editEvent = (data: any) => { |
|||
editStudentLabelDialog.value.setFormData(data) |
|||
editStudentLabelDialog.value.showDialog = true |
|||
} |
|||
|
|||
/** |
|||
* 删除学员标签 |
|||
*/ |
|||
const deleteEvent = (id: number) => { |
|||
ElMessageBox.confirm(t('studentLabelDeleteTips'), t('warning'), |
|||
{ |
|||
confirmButtonText: t('confirm'), |
|||
cancelButtonText: t('cancel'), |
|||
type: 'warning', |
|||
} |
|||
).then(() => { |
|||
deleteStudentLabel(id).then(() => { |
|||
loadStudentLabelList() |
|||
}).catch(() => { |
|||
}) |
|||
}) |
|||
} |
|||
|
|||
|
|||
|
|||
const resetForm = (formEl: FormInstance | undefined) => { |
|||
if (!formEl) return |
|||
formEl.resetFields() |
|||
loadStudentLabelList() |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
/* 多行超出隐藏 */ |
|||
.multi-hidden { |
|||
word-break: break-all; |
|||
text-overflow: ellipsis; |
|||
overflow: hidden; |
|||
display: -webkit-box; |
|||
-webkit-line-clamp: 2; |
|||
-webkit-box-orient: vertical; |
|||
} |
|||
</style> |
|||
Binary file not shown.
@ -0,0 +1,89 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | Niucloud-admin 企业快速开发的多应用管理平台 |
|||
// +---------------------------------------------------------------------- |
|||
// | 官方网址:https://www.niucloud.com |
|||
// +---------------------------------------------------------------------- |
|||
// | niucloud团队 版权所有 开源版本可自由商用 |
|||
// +---------------------------------------------------------------------- |
|||
// | Author: Niucloud Team |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
namespace app\adminapi\controller\student_label; |
|||
|
|||
use core\base\BaseAdminController; |
|||
use app\service\admin\student_label\StudentLabelService; |
|||
|
|||
|
|||
/** |
|||
* 学员标签控制器 |
|||
* Class StudentLabel |
|||
* @package app\adminapi\controller\student_label |
|||
*/ |
|||
class StudentLabel extends BaseAdminController |
|||
{ |
|||
/** |
|||
* 获取学员标签列表 |
|||
* @return \think\Response |
|||
*/ |
|||
public function lists(){ |
|||
$data = $this->request->params([ |
|||
["label_name",""] |
|||
]); |
|||
return success((new StudentLabelService())->getPage($data)); |
|||
} |
|||
|
|||
/** |
|||
* 学员标签详情 |
|||
* @param int $id |
|||
* @return \think\Response |
|||
*/ |
|||
public function info(int $id){ |
|||
return success((new StudentLabelService())->getInfo($id)); |
|||
} |
|||
|
|||
/** |
|||
* 添加学员标签 |
|||
* @return \think\Response |
|||
*/ |
|||
public function add(){ |
|||
$data = $this->request->params([ |
|||
["label_name",""], |
|||
["memo",""], |
|||
["sort",0], |
|||
|
|||
]); |
|||
$this->validate($data, 'app\validate\student_label\StudentLabel.add'); |
|||
$id = (new StudentLabelService())->add($data); |
|||
return success('ADD_SUCCESS', ['id' => $id]); |
|||
} |
|||
|
|||
/** |
|||
* 学员标签编辑 |
|||
* @param $id 学员标签id |
|||
* @return \think\Response |
|||
*/ |
|||
public function edit(int $id){ |
|||
$data = $this->request->params([ |
|||
["label_name",""], |
|||
["memo",""], |
|||
["sort",0], |
|||
|
|||
]); |
|||
$this->validate($data, 'app\validate\student_label\StudentLabel.edit'); |
|||
(new StudentLabelService())->edit($id, $data); |
|||
return success('EDIT_SUCCESS'); |
|||
} |
|||
|
|||
/** |
|||
* 学员标签删除 |
|||
* @param $id 学员标签id |
|||
* @return \think\Response |
|||
*/ |
|||
public function del(int $id){ |
|||
(new StudentLabelService())->del($id); |
|||
return success('DELETE_SUCCESS'); |
|||
} |
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,37 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | Niucloud-admin 企业快速开发的多应用管理平台 |
|||
// +---------------------------------------------------------------------- |
|||
// | 官方网址:https://www.niucloud.com |
|||
// +---------------------------------------------------------------------- |
|||
// | niucloud团队 版权所有 开源版本可自由商用 |
|||
// +---------------------------------------------------------------------- |
|||
// | Author: Niucloud Team |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
use think\facade\Route; |
|||
|
|||
use app\adminapi\middleware\AdminCheckRole; |
|||
use app\adminapi\middleware\AdminCheckToken; |
|||
use app\adminapi\middleware\AdminLog; |
|||
// USER_CODE_BEGIN -- student_label |
|||
|
|||
Route::group('student_label', function () { |
|||
|
|||
//学员标签列表 |
|||
Route::get('student_label', 'student_label.StudentLabel/lists'); |
|||
//学员标签详情 |
|||
Route::get('student_label/:id', 'student_label.StudentLabel/info'); |
|||
//添加学员标签 |
|||
Route::post('student_label', 'student_label.StudentLabel/add'); |
|||
//编辑学员标签 |
|||
Route::put('student_label/:id', 'student_label.StudentLabel/edit'); |
|||
//删除学员标签 |
|||
Route::delete('student_label/:id', 'student_label.StudentLabel/del'); |
|||
|
|||
})->middleware([ |
|||
AdminCheckToken::class, |
|||
AdminCheckRole::class, |
|||
AdminLog::class |
|||
]); |
|||
// USER_CODE_END -- student_label |
|||
@ -0,0 +1,62 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | Niucloud-admin 企业快速开发的多应用管理平台 |
|||
// +---------------------------------------------------------------------- |
|||
// | 官方网址:https://www.niucloud.com |
|||
// +---------------------------------------------------------------------- |
|||
// | niucloud团队 版权所有 开源版本可自由商用 |
|||
// +---------------------------------------------------------------------- |
|||
// | Author: Niucloud Team |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
namespace app\model\student_label; |
|||
|
|||
use core\base\BaseModel; |
|||
use think\model\concern\SoftDelete; |
|||
use think\model\relation\HasMany; |
|||
use think\model\relation\HasOne; |
|||
|
|||
/** |
|||
* 学员标签模型 |
|||
* Class StudentLabel |
|||
* @package app\model\student_label |
|||
*/ |
|||
class StudentLabel extends BaseModel |
|||
{ |
|||
|
|||
|
|||
|
|||
/** |
|||
* 数据表主键 |
|||
* @var string |
|||
*/ |
|||
protected $pk = 'label_id'; |
|||
|
|||
/** |
|||
* 模型名称 |
|||
* @var string |
|||
*/ |
|||
protected $name = 'student_label'; |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
/** |
|||
* 搜索器:学员标签标签名称 |
|||
* @param $value |
|||
* @param $data |
|||
*/ |
|||
public function searchLabelNameAttr($query, $value, $data) |
|||
{ |
|||
if ($value) { |
|||
$query->where("label_name", "like", "%".$value."%"); |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,105 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | Niucloud-admin 企业快速开发的多应用管理平台 |
|||
// +---------------------------------------------------------------------- |
|||
// | 官方网址:https://www.niucloud.com |
|||
// +---------------------------------------------------------------------- |
|||
// | niucloud团队 版权所有 开源版本可自由商用 |
|||
// +---------------------------------------------------------------------- |
|||
// | Author: Niucloud Team |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
namespace app\service\admin\student_label; |
|||
|
|||
use app\model\student_label\StudentLabel; |
|||
|
|||
use app\service\core\member\CoreMemberLabelService; |
|||
use core\base\BaseAdminService; |
|||
|
|||
|
|||
/** |
|||
* 学员标签服务层 |
|||
* Class StudentLabelService |
|||
* @package app\service\admin\student_label |
|||
*/ |
|||
class StudentLabelService extends BaseAdminService |
|||
{ |
|||
public function __construct() |
|||
{ |
|||
parent::__construct(); |
|||
$this->model = new StudentLabel(); |
|||
} |
|||
|
|||
/** |
|||
* 获取学员标签列表 |
|||
* @param array $where |
|||
* @return array |
|||
*/ |
|||
public function getPage(array $where = []) |
|||
{ |
|||
$field = 'label_id,label_name,memo,sort,create_time,update_time'; |
|||
$order = 'label_id desc'; |
|||
|
|||
$search_model = $this->model->withSearch(["label_name"], $where)->field($field)->order($order); |
|||
$list = $this->pageQuery($search_model); |
|||
return $list; |
|||
} |
|||
|
|||
/** |
|||
* 获取学员标签信息 |
|||
* @param int $id |
|||
* @return array |
|||
*/ |
|||
public function getInfo(int $id) |
|||
{ |
|||
$field = 'label_id,label_name,memo,sort,create_time,update_time'; |
|||
|
|||
$info = $this->model->field($field)->where([['label_id', "=", $id]])->findOrEmpty()->toArray(); |
|||
return $info; |
|||
} |
|||
|
|||
/** |
|||
* 添加学员标签 |
|||
* @param array $data |
|||
* @return mixed |
|||
*/ |
|||
public function add(array $data) |
|||
{ |
|||
$res = $this->model->create($data); |
|||
return $res->label_id; |
|||
|
|||
} |
|||
|
|||
/** |
|||
* 学员标签编辑 |
|||
* @param int $id |
|||
* @param array $data |
|||
* @return bool |
|||
*/ |
|||
public function edit(int $id, array $data) |
|||
{ |
|||
|
|||
$this->model->where([['label_id', '=', $id]])->update($data); |
|||
return true; |
|||
} |
|||
|
|||
/** |
|||
* 删除学员标签 |
|||
* @param int $id |
|||
* @return bool |
|||
*/ |
|||
public function del(int $id) |
|||
{ |
|||
$model = $this->model->where([['label_id', '=', $id]])->find(); |
|||
$res = $model->delete(); |
|||
return $res; |
|||
} |
|||
|
|||
|
|||
public function getMemberLabelListByLabelIds(array $label_ids) |
|||
{ |
|||
return ( new CoreMemberLabelService() )->getMemberLabelListByLabelIds($label_ids); |
|||
} |
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,39 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | Niucloud-admin 企业快速开发的多应用管理平台 |
|||
// +---------------------------------------------------------------------- |
|||
// | 官方网址:https://www.niucloud.com |
|||
// +---------------------------------------------------------------------- |
|||
// | niucloud团队 版权所有 开源版本可自由商用 |
|||
// +---------------------------------------------------------------------- |
|||
// | Author: Niucloud Team |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
namespace app\validate\student_label; |
|||
use core\base\BaseValidate; |
|||
/** |
|||
* 学员标签验证器 |
|||
* Class StudentLabel |
|||
* @package addon\app\validate\student_label |
|||
*/ |
|||
class StudentLabel extends BaseValidate |
|||
{ |
|||
|
|||
protected $rule = [ |
|||
'label_name' => 'require', |
|||
'memo' => 'require', |
|||
'sort' => 'require', |
|||
]; |
|||
|
|||
protected $message = [ |
|||
'label_name.require' => ['common_validate.require', ['label_name']], |
|||
'memo.require' => ['common_validate.require', ['memo']], |
|||
'sort.require' => ['common_validate.require', ['sort']], |
|||
]; |
|||
|
|||
protected $scene = [ |
|||
"add" => ['label_name', 'memo', 'sort'], |
|||
"edit" => ['label_name', 'memo', 'sort'] |
|||
]; |
|||
|
|||
} |
|||
@ -1 +0,0 @@ |
|||
.error[data-v-4f4088b5]{text-align:center;height:100vh;display:flex;justify-content:center;align-items:center}.error .error-code[data-v-4f4088b5]{color:var(--el-color-primary);font-size:150px}.error .error-text[data-v-4f4088b5]{color:#0e77fd}.error .el-button[data-v-4f4088b5]{width:176px;background-color:#0e77fd;color:#fff} |
|||
@ -1 +0,0 @@ |
|||
import{d as l,r as d,o as i,c as p,a as t,b as u,e as m,w as x,u as v,f,E as h,p as b,g,h as I,i as w,t as S}from"./index-1dc7b228.js";/* empty css */import{_ as B}from"./_plugin-vue_export-helper-c27b6911.js";const k=""+new URL("error-ab7e4004.png",import.meta.url).href,o=e=>(b("data-v-4f4088b5"),e=e(),g(),e),y={class:"error"},C={class:"flex items-center"},E=o(()=>t("div",null,[t("img",{class:"w-[240px]",src:k})],-1)),N={class:"text-left ml-[100px]"},R=o(()=>t("div",{class:"error-text text-[28px] font-bold"},"404错误!",-1)),U=o(()=>t("div",{class:"text-[#222] text-[20px] mt-[15px]"},"哎呀,出错了!您访问的页面不存在...",-1)),V=o(()=>t("div",{class:"text-[#c4c2c2] text-[12px] mt-[5px]"},"尝试检查URL的错误,然后点击浏览器刷新按钮。",-1)),L={class:"mt-[40px]"},$=l({__name:"404",setup(e){let s=null;const a=d(5),n=f();return s=setInterval(()=>{a.value===0?(clearInterval(s),n.go(-1)):a.value--},1e3),i(()=>{s&&clearInterval(s)}),(r,c)=>{const _=h;return I(),p("div",y,[t("div",C,[u(r.$slots,"content",{},()=>[E],!0),t("div",N,[R,U,V,t("div",L,[m(_,{class:"bottom",onClick:c[0]||(c[0]=D=>v(n).go(-1))},{default:x(()=>[w(S(a.value)+" 秒后返回上一页",1)]),_:1})])])])])}}});const z=B($,[["__scopeId","data-v-4f4088b5"]]);export{z as default}; |
|||
@ -0,0 +1 @@ |
|||
import{d as l,r as d,o as i,c as p,a as t,b as u,e as m,w as x,u as v,f,E as h,p as g,g as I,h as b,i as w,t as S}from"./index-4c331f20.js";/* empty css */import{_ as B}from"./_plugin-vue_export-helper-c27b6911.js";const k=""+new URL("error-ab7e4004.png",import.meta.url).href,o=e=>(g("data-v-c0934944"),e=e(),I(),e),y={class:"error"},C={class:"flex items-center"},E=o(()=>t("div",null,[t("img",{class:"w-[240px]",src:k})],-1)),N={class:"text-left ml-[100px]"},R=o(()=>t("div",{class:"error-text text-[28px] font-bold"},"404错误!",-1)),U=o(()=>t("div",{class:"text-[#222] text-[20px] mt-[15px]"}," 哎呀,出错了!您访问的页面不存在... ",-1)),V=o(()=>t("div",{class:"text-[#c4c2c2] text-[12px] mt-[5px]"}," 尝试检查URL的错误,然后点击浏览器刷新按钮。 ",-1)),L={class:"mt-[40px]"},$=l({__name:"404",setup(e){let s=null;const a=d(5),c=f();return s=setInterval(()=>{a.value===0?(clearInterval(s),c.go(-1)):a.value--},1e3),i(()=>{s&&clearInterval(s)}),(r,n)=>{const _=h;return b(),p("div",y,[t("div",C,[u(r.$slots,"content",{},()=>[E],!0),t("div",N,[R,U,V,t("div",L,[m(_,{class:"bottom",onClick:n[0]||(n[0]=D=>v(c).go(-1))},{default:x(()=>[w(S(a.value)+" 秒后返回上一页",1)]),_:1})])])])])}}});const z=B($,[["__scopeId","data-v-c0934944"]]);export{z as default}; |
|||
@ -0,0 +1 @@ |
|||
.error[data-v-c0934944]{text-align:center;height:100vh;display:flex;justify-content:center;align-items:center}.error .error-code[data-v-c0934944]{color:var(--el-color-primary);font-size:150px}.error .error-text[data-v-c0934944]{color:#0e77fd}.error .el-button[data-v-c0934944]{width:176px;background-color:#0e77fd;color:#fff} |
|||
@ -1 +0,0 @@ |
|||
import{c2 as f}from"./index-1dc7b228.js";export{f as default}; |
|||
@ -0,0 +1 @@ |
|||
import{c3 as f}from"./index-4c331f20.js";export{f as default}; |
|||
@ -0,0 +1 @@ |
|||
import{_ as o}from"./Jump-lesson-library-edit.vue_vue_type_style_index_0_lang-cce9c9c4.js";import"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-1d3bd2e1.js";import"./index.vue_vue_type_style_index_0_lang-f9f087dc.js";import"./attachment-f61a6f2f.js";import"./index.vue_vue_type_script_setup_true_lang-da4137fd.js";/* empty css */import"./el-form-item-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-d0f6a040.js";/* empty css */import"./index.vue_vue_type_script_setup_true_lang-8180d9b1.js";import"./sys-aa8fe7bc.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./index.vue_vue_type_style_index_0_lang-46d2d901.js";import"./index.vue_vue_type_style_index_0_lang-fc40fede.js";import"./index-596ea1de.js";import"./sortable.esm-be94e56d.js";import"./dict-6dd77593.js";import"./lesson_course_teaching-4b151eeb.js";import"./instructional_material-80268567.js";export{o as default}; |
|||
@ -0,0 +1 @@ |
|||
import{_ as o}from"./Jump-lesson-library-edit.vue_vue_type_style_index_0_lang-bc69a74f.js";import"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-1d3bd2e1.js";import"./index.vue_vue_type_style_index_0_lang-f9f087dc.js";import"./attachment-f61a6f2f.js";import"./index.vue_vue_type_script_setup_true_lang-da4137fd.js";/* empty css */import"./el-form-item-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-d0f6a040.js";/* empty css */import"./index.vue_vue_type_script_setup_true_lang-8180d9b1.js";import"./sys-aa8fe7bc.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./index.vue_vue_type_style_index_0_lang-46d2d901.js";import"./index.vue_vue_type_style_index_0_lang-fc40fede.js";import"./index-596ea1de.js";import"./sortable.esm-be94e56d.js";import"./dict-6dd77593.js";import"./lesson_course_teaching-4b151eeb.js";export{o as default}; |
|||
@ -0,0 +1 @@ |
|||
import{_ as o}from"./Jump-lesson-library-edit.vue_vue_type_style_index_0_lang-0957e465.js";import"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-1d3bd2e1.js";import"./index.vue_vue_type_style_index_0_lang-f9f087dc.js";import"./attachment-f61a6f2f.js";import"./index.vue_vue_type_script_setup_true_lang-da4137fd.js";/* empty css */import"./el-form-item-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-d0f6a040.js";/* empty css */import"./index.vue_vue_type_script_setup_true_lang-8180d9b1.js";import"./sys-aa8fe7bc.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./index.vue_vue_type_style_index_0_lang-46d2d901.js";import"./index.vue_vue_type_style_index_0_lang-fc40fede.js";import"./index-596ea1de.js";import"./sortable.esm-be94e56d.js";import"./dict-6dd77593.js";import"./lesson_course_teaching-4b151eeb.js";import"./future_ontent-44cfecf7.js";export{o as default}; |
|||
@ -0,0 +1 @@ |
|||
import{_ as o}from"./Jump-lesson-library-edit.vue_vue_type_style_index_0_lang-1c547358.js";import"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-1d3bd2e1.js";import"./index.vue_vue_type_style_index_0_lang-f9f087dc.js";import"./attachment-f61a6f2f.js";import"./index.vue_vue_type_script_setup_true_lang-da4137fd.js";/* empty css */import"./el-form-item-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-d0f6a040.js";/* empty css */import"./index.vue_vue_type_script_setup_true_lang-8180d9b1.js";import"./sys-aa8fe7bc.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./index.vue_vue_type_style_index_0_lang-46d2d901.js";import"./index.vue_vue_type_style_index_0_lang-fc40fede.js";import"./index-596ea1de.js";import"./sortable.esm-be94e56d.js";import"./dict-6dd77593.js";import"./lesson_course_teaching-4b151eeb.js";import"./future_ontent-44cfecf7.js";export{o as default}; |
|||
@ -0,0 +1 @@ |
|||
import{_ as o}from"./Jump-lesson-library-edit.vue_vue_type_style_index_0_lang-9e4d4bb1.js";import"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-1d3bd2e1.js";import"./index.vue_vue_type_style_index_0_lang-f9f087dc.js";import"./attachment-f61a6f2f.js";import"./index.vue_vue_type_script_setup_true_lang-da4137fd.js";/* empty css */import"./el-form-item-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-d0f6a040.js";/* empty css */import"./index.vue_vue_type_script_setup_true_lang-8180d9b1.js";import"./sys-aa8fe7bc.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./index.vue_vue_type_style_index_0_lang-46d2d901.js";import"./index.vue_vue_type_style_index_0_lang-fc40fede.js";import"./index-596ea1de.js";import"./sortable.esm-be94e56d.js";import"./dict-6dd77593.js";import"./lesson_course_teaching-4b151eeb.js";import"./future_ontent-44cfecf7.js";export{o as default}; |
|||
@ -0,0 +1 @@ |
|||
import{_ as o}from"./Jump-lesson-library-edit.vue_vue_type_style_index_0_lang-53efee48.js";import"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-1d3bd2e1.js";import"./index.vue_vue_type_style_index_0_lang-f9f087dc.js";import"./attachment-f61a6f2f.js";import"./index.vue_vue_type_script_setup_true_lang-da4137fd.js";/* empty css */import"./el-form-item-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-d0f6a040.js";/* empty css */import"./index.vue_vue_type_script_setup_true_lang-8180d9b1.js";import"./sys-aa8fe7bc.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./index.vue_vue_type_style_index_0_lang-46d2d901.js";import"./index.vue_vue_type_style_index_0_lang-fc40fede.js";import"./index-596ea1de.js";import"./sortable.esm-be94e56d.js";import"./dict-6dd77593.js";import"./lesson_course_teaching-4b151eeb.js";import"./future_ontent-44cfecf7.js";export{o as default}; |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||
.map-picker[data-v-c7cd1c16]{display:flex;flex-direction:column;gap:16px}.map-container[data-v-c7cd1c16]{width:100%;height:400px;border:1px solid #dcdfe6;border-radius:4px;position:relative}.map-placeholder[data-v-c7cd1c16]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#909399;font-size:14px}.address-search[data-v-c7cd1c16]{display:flex;gap:8px;margin-top:20px} |
|||
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@ |
|||
import z from"./VerifySlide-ab9ad691.js";import g from"./VerifyPoints-456464e8.js";import{aA as k,r as o,M as w,aB as B,J as T,a9 as V,h as p,c as u,a as c,i as N,B as y,aC as d,m as C,aD as j,n as v}from"./index-1dc7b228.js";import{_ as D}from"./_plugin-vue_export-helper-c27b6911.js";import"./index-e8b0d31b.js";const O={name:"Vue2Verify",components:{VerifySlide:z,VerifyPoints:g},props:{captchaType:{type:String,required:!0},figure:{type:Number},arith:{type:Number},mode:{type:String,default:"pop"},vSpace:{type:Number},explain:{type:String},imgSize:{type:Object,default(){return{width:"310px",height:"155px"}}},blockSize:{type:Object},barSize:{type:Object}},setup(m){const{captchaType:a,figure:e,arith:t,mode:n,vSpace:h,explain:f,imgSize:I,blockSize:J,barSize:M}=k(m),i=o(!1),r=o(void 0),s=o(void 0),l=o({}),S=w(()=>n.value=="pop"?i.value:!0),b=()=>{l.value.refresh&&l.value.refresh()},x=()=>{i.value=!1,b()},_=()=>{n.value=="pop"&&(i.value=!0)};return B(()=>{switch(a.value){case"blockPuzzle":r.value="2",s.value="VerifySlide";break;case"clickWord":r.value="",s.value="VerifyPoints";break}}),{clickShow:i,verifyType:r,componentType:s,instance:l,showBox:S,closeBox:x,show:_}}},P={key:0,class:"verifybox-top"},E=c("i",{class:"iconfont icon-close"},null,-1),q=[E];function A(m,a,e,t,n,h){return T((p(),u("div",{class:v(e.mode=="pop"?"mask":"")},[c("div",{class:v(e.mode=="pop"?"verifybox":""),style:d({"max-width":parseInt(e.imgSize.width)+30+"px"})},[e.mode=="pop"?(p(),u("div",P,[N(" 请完成安全验证 "),c("span",{class:"verifybox-close",onClick:a[0]||(a[0]=(...f)=>t.closeBox&&t.closeBox(...f))},q)])):y("",!0),c("div",{class:"verifybox-bottom",style:d({padding:e.mode=="pop"?"15px":"0"})},[t.componentType?(p(),C(j(t.componentType),{key:0,captchaType:e.captchaType,type:t.verifyType,figure:e.figure,arith:e.arith,mode:e.mode,vSpace:e.vSpace,explain:e.explain,imgSize:e.imgSize,blockSize:e.blockSize,barSize:e.barSize,ref:"instance"},null,8,["captchaType","type","figure","arith","mode","vSpace","explain","imgSize","blockSize","barSize"])):y("",!0)],4)],6)],2)),[[V,t.showBox]])}const K=D(O,[["render",A]]);export{K as default}; |
|||
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||
import z from"./VerifySlide-4f0c67f6.js";import g from"./VerifyPoints-e63baa06.js";import{aA as k,r as o,M as w,aB as B,J as T,ae as V,h as p,c as u,a as c,i as N,B as y,aC as d,m as C,aD as j,n as v}from"./index-4c331f20.js";import{_ as D}from"./_plugin-vue_export-helper-c27b6911.js";import"./index-604ec410.js";const O={name:"Vue2Verify",components:{VerifySlide:z,VerifyPoints:g},props:{captchaType:{type:String,required:!0},figure:{type:Number},arith:{type:Number},mode:{type:String,default:"pop"},vSpace:{type:Number},explain:{type:String},imgSize:{type:Object,default(){return{width:"310px",height:"155px"}}},blockSize:{type:Object},barSize:{type:Object}},setup(m){const{captchaType:a,figure:e,arith:t,mode:n,vSpace:h,explain:f,imgSize:I,blockSize:J,barSize:M}=k(m),i=o(!1),r=o(void 0),s=o(void 0),l=o({}),S=w(()=>n.value=="pop"?i.value:!0),b=()=>{l.value.refresh&&l.value.refresh()},x=()=>{i.value=!1,b()},_=()=>{n.value=="pop"&&(i.value=!0)};return B(()=>{switch(a.value){case"blockPuzzle":r.value="2",s.value="VerifySlide";break;case"clickWord":r.value="",s.value="VerifyPoints";break}}),{clickShow:i,verifyType:r,componentType:s,instance:l,showBox:S,closeBox:x,show:_}}},P={key:0,class:"verifybox-top"},E=c("i",{class:"iconfont icon-close"},null,-1),q=[E];function A(m,a,e,t,n,h){return T((p(),u("div",{class:v(e.mode=="pop"?"mask":"")},[c("div",{class:v(e.mode=="pop"?"verifybox":""),style:d({"max-width":parseInt(e.imgSize.width)+30+"px"})},[e.mode=="pop"?(p(),u("div",P,[N(" 请完成安全验证 "),c("span",{class:"verifybox-close",onClick:a[0]||(a[0]=(...f)=>t.closeBox&&t.closeBox(...f))},q)])):y("",!0),c("div",{class:"verifybox-bottom",style:d({padding:e.mode=="pop"?"15px":"0"})},[t.componentType?(p(),C(j(t.componentType),{key:0,captchaType:e.captchaType,type:t.verifyType,figure:e.figure,arith:e.arith,mode:e.mode,vSpace:e.vSpace,explain:e.explain,imgSize:e.imgSize,blockSize:e.blockSize,barSize:e.barSize,ref:"instance"},null,8,["captchaType","type","figure","arith","mode","vSpace","explain","imgSize","blockSize","barSize"])):y("",!0)],4)],6)],2)),[[V,t.showBox]])}const K=D(O,[["render",A]]);export{K as default}; |
|||
@ -1 +0,0 @@ |
|||
import{r as E,a as V,b as G,c as K}from"./index-e8b0d31b.js";import{aA as X,r as s,l as m,am as Y,h as H,c as A,a as l,aC as I,J as Q,a9 as U,F as Z,O as $,t as F,aF as ee,aG as te}from"./index-1dc7b228.js";import{_ as ae}from"./_plugin-vue_export-helper-c27b6911.js";const ie={name:"VerifyPoints",props:{mode:{type:String,default:"fixed"},captchaType:{type:String},vSpace:{type:Number,default:5},imgSize:{type:Object,default(){return{width:"310px",height:"155px"}}},barSize:{type:Object,default(){return{width:"310px",height:"40px"}}}},setup(O,f){const{mode:_,captchaType:e,vSpace:L,imgSize:R,barSize:c}=X(O),{proxy:n}=ee(),h=s(""),z=s(3),p=m([]),a=m([]),o=s(1),N=s(""),w=m([]),v=s(""),u=m({imgHeight:0,imgWidth:0,barHeight:0,barWidth:0}),y=m([]),d=s(""),b=s(void 0),x=s(void 0),j=s(!0),C=s(!0),J=()=>{p.splice(0,p.length),a.splice(0,a.length),o.value=1,P(),te(()=>{const{imgHeight:i,imgWidth:t,barHeight:g,barWidth:r}=E(n);u.imgHeight=i,u.imgWidth=t,u.barHeight=g,u.barWidth=r,n.$parent.$emit("ready",n)})};Y(()=>{J(),n.$el.onselectstart=function(){return!1}});const S=s(null),q=i=>{if(a.push(k(S,i)),o.value==z.value){o.value=T(k(S,i));const t=M(a,u);a.length=0,a.push(...t),setTimeout(()=>{const g=h.value?V(v.value+"---"+JSON.stringify(a),h.value):v.value+"---"+JSON.stringify(a),r={captchaType:e.value,captcha_code:h.value?V(JSON.stringify(a),h.value):JSON.stringify(a),captcha_key:v.value};G(r).then(W=>{W.code==1?(b.value="#4cae4c",x.value="#5cb85c",d.value="验证成功",C.value=!1,_.value=="pop"&&setTimeout(()=>{n.$parent.clickShow=!1,B()},1500),n.$parent.$emit("success",{captchaVerification:g})):(n.$parent.$emit("error",n),b.value="#d9534f",x.value="#d9534f",d.value="验证失败",setTimeout(()=>{B()},700))})},400)}o.value<z.value&&(o.value=T(k(S,i)))},k=function(i,t){const g=t.offsetX,r=t.offsetY;return{x:g,y:r}},T=function(i){return y.push(Object.assign({},i)),o.value+1},B=function(){y.splice(0,y.length),b.value="#000",x.value="#ddd",C.value=!0,p.splice(0,p.length),a.splice(0,a.length),o.value=1,P(),d.value="验证失败",j.value=!0};function P(){const i={captchaType:e.value};K(i).then(t=>{t.code==1?(N.value=t.data.originalImageBase64,v.value=t.data.token,h.value=t.data.secretKey,w.value=t.data.wordList,d.value="请依次点击【"+w.value.join(",")+"】"):d.value=t.msg})}const M=function(i,t){return i.map(r=>{const W=Math.round(310*r.x/parseInt(t.imgWidth)),D=Math.round(155*r.y/parseInt(t.imgHeight));return{x:W,y:D}})};return{secretKey:h,checkNum:z,fontPos:p,checkPosArr:a,num:o,pointBackImgBase:N,pointTextList:w,backToken:v,setSize:u,tempPoints:y,text:d,barAreaColor:b,barAreaBorderColor:x,showRefresh:j,bindingClick:C,init:J,canvas:S,canvasClick:q,getMousePos:k,createPoint:T,refresh:B,getPictrue:P,pointTransfrom:M}}},ne={style:{position:"relative"}},se={class:"verify-img-out"},oe=l("i",{class:"iconfont icon-refresh"},null,-1),re=[oe],ce=["src"],le={class:"verify-msg"};function he(O,f,_,e,L,R){return H(),A("div",ne,[l("div",se,[l("div",{class:"verify-img-panel",style:I({width:e.setSize.imgWidth,height:e.setSize.imgHeight,"background-size":e.setSize.imgWidth+" "+e.setSize.imgHeight,"margin-bottom":_.vSpace+"px"})},[Q(l("div",{class:"verify-refresh",style:{"z-index":"3"},onClick:f[0]||(f[0]=(...c)=>e.refresh&&e.refresh(...c))},re,512),[[U,e.showRefresh]]),l("img",{src:"data:image/png;base64,"+e.pointBackImgBase,ref:"canvas",alt:"",style:{width:"100%",height:"100%",display:"block"},onClick:f[1]||(f[1]=c=>e.bindingClick?e.canvasClick(c):void 0)},null,8,ce),(H(!0),A(Z,null,$(e.tempPoints,(c,n)=>(H(),A("div",{key:n,class:"point-area",style:I({"background-color":"#1abd6c",color:"#fff","z-index":9999,width:"20px",height:"20px","text-align":"center","line-height":"20px","border-radius":"50%",position:"absolute",top:parseInt(c.y-10)+"px",left:parseInt(c.x-10)+"px"})},F(n+1),5))),128))],4)]),l("div",{class:"verify-bar-area",style:I({width:e.setSize.imgWidth,color:this.barAreaColor,"border-color":this.barAreaBorderColor,"line-height":this.barSize.height})},[l("span",le,F(e.text),1)],4)])}const fe=ae(ie,[["render",he]]);export{fe as default}; |
|||
@ -0,0 +1 @@ |
|||
import{r as E,a as V,b as G,c as K}from"./index-604ec410.js";import{aA as X,r as s,l as m,ap as Y,h as H,c as A,a as l,aC as I,J as Q,ae as U,F as Z,O as $,t as F,aF as ee,aG as te}from"./index-4c331f20.js";import{_ as ae}from"./_plugin-vue_export-helper-c27b6911.js";const ie={name:"VerifyPoints",props:{mode:{type:String,default:"fixed"},captchaType:{type:String},vSpace:{type:Number,default:5},imgSize:{type:Object,default(){return{width:"310px",height:"155px"}}},barSize:{type:Object,default(){return{width:"310px",height:"40px"}}}},setup(O,f){const{mode:_,captchaType:e,vSpace:L,imgSize:R,barSize:c}=X(O),{proxy:n}=ee(),h=s(""),z=s(3),p=m([]),a=m([]),o=s(1),N=s(""),w=m([]),v=s(""),u=m({imgHeight:0,imgWidth:0,barHeight:0,barWidth:0}),y=m([]),d=s(""),b=s(void 0),x=s(void 0),j=s(!0),C=s(!0),J=()=>{p.splice(0,p.length),a.splice(0,a.length),o.value=1,P(),te(()=>{const{imgHeight:i,imgWidth:t,barHeight:g,barWidth:r}=E(n);u.imgHeight=i,u.imgWidth=t,u.barHeight=g,u.barWidth=r,n.$parent.$emit("ready",n)})};Y(()=>{J(),n.$el.onselectstart=function(){return!1}});const S=s(null),q=i=>{if(a.push(k(S,i)),o.value==z.value){o.value=T(k(S,i));const t=M(a,u);a.length=0,a.push(...t),setTimeout(()=>{const g=h.value?V(v.value+"---"+JSON.stringify(a),h.value):v.value+"---"+JSON.stringify(a),r={captchaType:e.value,captcha_code:h.value?V(JSON.stringify(a),h.value):JSON.stringify(a),captcha_key:v.value};G(r).then(W=>{W.code==1?(b.value="#4cae4c",x.value="#5cb85c",d.value="验证成功",C.value=!1,_.value=="pop"&&setTimeout(()=>{n.$parent.clickShow=!1,B()},1500),n.$parent.$emit("success",{captchaVerification:g})):(n.$parent.$emit("error",n),b.value="#d9534f",x.value="#d9534f",d.value="验证失败",setTimeout(()=>{B()},700))})},400)}o.value<z.value&&(o.value=T(k(S,i)))},k=function(i,t){const g=t.offsetX,r=t.offsetY;return{x:g,y:r}},T=function(i){return y.push(Object.assign({},i)),o.value+1},B=function(){y.splice(0,y.length),b.value="#000",x.value="#ddd",C.value=!0,p.splice(0,p.length),a.splice(0,a.length),o.value=1,P(),d.value="验证失败",j.value=!0};function P(){const i={captchaType:e.value};K(i).then(t=>{t.code==1?(N.value=t.data.originalImageBase64,v.value=t.data.token,h.value=t.data.secretKey,w.value=t.data.wordList,d.value="请依次点击【"+w.value.join(",")+"】"):d.value=t.msg})}const M=function(i,t){return i.map(r=>{const W=Math.round(310*r.x/parseInt(t.imgWidth)),D=Math.round(155*r.y/parseInt(t.imgHeight));return{x:W,y:D}})};return{secretKey:h,checkNum:z,fontPos:p,checkPosArr:a,num:o,pointBackImgBase:N,pointTextList:w,backToken:v,setSize:u,tempPoints:y,text:d,barAreaColor:b,barAreaBorderColor:x,showRefresh:j,bindingClick:C,init:J,canvas:S,canvasClick:q,getMousePos:k,createPoint:T,refresh:B,getPictrue:P,pointTransfrom:M}}},ne={style:{position:"relative"}},se={class:"verify-img-out"},oe=l("i",{class:"iconfont icon-refresh"},null,-1),re=[oe],ce=["src"],le={class:"verify-msg"};function he(O,f,_,e,L,R){return H(),A("div",ne,[l("div",se,[l("div",{class:"verify-img-panel",style:I({width:e.setSize.imgWidth,height:e.setSize.imgHeight,"background-size":e.setSize.imgWidth+" "+e.setSize.imgHeight,"margin-bottom":_.vSpace+"px"})},[Q(l("div",{class:"verify-refresh",style:{"z-index":"3"},onClick:f[0]||(f[0]=(...c)=>e.refresh&&e.refresh(...c))},re,512),[[U,e.showRefresh]]),l("img",{src:"data:image/png;base64,"+e.pointBackImgBase,ref:"canvas",alt:"",style:{width:"100%",height:"100%",display:"block"},onClick:f[1]||(f[1]=c=>e.bindingClick?e.canvasClick(c):void 0)},null,8,ce),(H(!0),A(Z,null,$(e.tempPoints,(c,n)=>(H(),A("div",{key:n,class:"point-area",style:I({"background-color":"#1abd6c",color:"#fff","z-index":9999,width:"20px",height:"20px","text-align":"center","line-height":"20px","border-radius":"50%",position:"absolute",top:parseInt(c.y-10)+"px",left:parseInt(c.x-10)+"px"})},F(n+1),5))),128))],4)]),l("div",{class:"verify-bar-area",style:I({width:e.setSize.imgWidth,color:this.barAreaColor,"border-color":this.barAreaBorderColor,"line-height":this.barSize.height})},[l("span",le,F(e.text),1)],4)])}const fe=ae(ie,[["render",he]]);export{fe as default}; |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||
import{d as q,v as B,f as N,r as m,ap as R,o as T,h as $,c as j,e as a,w as s,a as t,t as o,u as e,k as n,i as u,z as I,ac as M,ad as U,E as W,aq as z,ar as D,as as F,C as G,at as K,K as L}from"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{g as P}from"./weapp-853be318.js";const Q={class:"main-container"},H={class:"flex justify-between items-center"},J={class:"text-page-title"},O={class:"p-[20px]"},X={class:"panel-title !text-sm"},Y={class:"text-[14px] font-[700]"},Z={class:"text-[#999]"},ee={class:"mt-[20px] mb-[40px] h-[32px]"},te={class:"text-[14px] font-[700]"},se={class:"text-[#999]"},ae={class:"mt-[20px] mb-[40px] h-[32px]"},ne={class:"text-[14px] font-[700]"},oe={class:"text-[#999]"},le={class:"mt-[20px] mb-[40px] h-[32px]"},pe={class:"text-[14px] font-[700]"},ce={class:"text-[#999]"},ie=t("div",{class:"mt-[20px] mb-[40px] h-[32px]"},null,-1),_e={class:"flex justify-center"},re={class:"w-[100%] h-[100%] flex items-center justify-center bg-[#f5f7fa]"},de={class:"mt-[22px] text-center"},me={class:"text-[12px]"},Ee=q({__name:"access",setup(ue){const v=B(),i=N(),w=v.meta.title,x=m("/channel/weapp");m(2);const _=m(""),b=m({}),g=async()=>{await P().then(({data:p})=>{b.value=p,_.value=p.qr_code})};R(async()=>{g()}),T(()=>{document.removeEventListener("visibilitychange",()=>{})});const C=p=>{window.open(p,"_blank")},y=p=>{i.push({path:x.value})};return(p,l)=>{const h=M,E=U,r=W,d=z,k=D,f=F,V=G,A=K,S=L;return $(),j("div",Q,[a(S,{class:"card !border-none",shadow:"never"},{default:s(()=>[t("div",H,[t("span",J,o(e(w)),1)]),a(E,{modelValue:x.value,"onUpdate:modelValue":l[0]||(l[0]=c=>x.value=c),class:"mt-[20px]",onTabChange:y},{default:s(()=>[a(h,{label:e(n)("weappAccessFlow"),name:"/channel/weapp"},null,8,["label"]),a(h,{label:e(n)("subscribeMessage"),name:"/channel/weapp/message"},null,8,["label"]),a(h,{label:e(n)("weappRelease"),name:"/channel/weapp/code"},null,8,["label"])]),_:1},8,["modelValue"]),t("div",O,[t("h3",X,o(e(n)("weappInlet")),1),a(A,null,{default:s(()=>[a(f,{span:20},{default:s(()=>[a(k,{class:"!mt-[10px]",active:4,direction:"vertical"},{default:s(()=>[a(d,null,{title:s(()=>[t("p",Y,o(e(n)("weappAttestation")),1)]),description:s(()=>[t("span",Z,o(e(n)("weappAttest")),1),t("div",ee,[a(r,{type:"primary",onClick:l[1]||(l[1]=c=>C("https://mp.weixin.qq.com/"))},{default:s(()=>[u(o(e(n)("clickAccess")),1)]),_:1})])]),_:1}),a(d,null,{title:s(()=>[t("p",te,o(e(n)("weappSetting")),1)]),description:s(()=>[t("span",se,o(e(n)("emplace")),1),t("div",ae,[a(r,{type:"primary",onClick:l[2]||(l[2]=c=>e(i).push("/channel/weapp/config"))},{default:s(()=>[u(o(e(n)("weappSettingBtn")),1)]),_:1}),a(r,{type:"primary",plain:"",onClick:l[3]||(l[3]=c=>e(i).push("/channel/weapp/course"))},{default:s(()=>[u("配置教程")]),_:1})])]),_:1}),a(d,null,{title:s(()=>[t("p",ne,o(e(n)("uploadVersion")),1)]),description:s(()=>[t("span",oe,o(e(n)("releaseCourse")),1),t("div",le,[a(r,{type:"primary",plain:"",onClick:l[4]||(l[4]=c=>e(i).push("/channel/weapp/code"))},{default:s(()=>[u(o(e(n)("weappRelease")),1)]),_:1})])]),_:1}),a(d,null,{title:s(()=>[t("p",pe,o(e(n)("completeAccess")),1)]),description:s(()=>[t("span",ce,o(e(n)("releaseCourse")),1),ie]),_:1})]),_:1})]),_:1}),a(f,{span:4},{default:s(()=>[t("div",_e,[a(V,{class:"w-[180px] h-[180px]",src:_.value?e(I)(_.value):""},{error:s(()=>[t("div",re,[t("span",null,o(_.value?e(n)("fileErr"):e(n)("emptyQrCode")),1)])]),_:1},8,["src"])]),t("div",de,[t("p",me,o(e(n)("clickAccess2")),1)])]),_:1})]),_:1})])]),_:1})])}}});export{Ee as default}; |
|||
@ -1 +0,0 @@ |
|||
import{d as q,v as N,f as T,r as i,am as B,o as j,h as R,c as $,e as s,w as n,a as t,t as o,u as e,k as a,i as x,z as I,a7 as M,a8 as U,E as W,an as z,ao as D,ap as F,C as G,aq as K,K as L}from"./index-1dc7b228.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{g as P}from"./wechat-bc30ca31.js";const Q={class:"main-container"},H={class:"flex justify-between items-center"},J={class:"text-page-title"},O={class:"p-[20px]"},X={class:"panel-title !text-sm"},Y={class:"text-[14px] font-[700]"},Z={class:"text-[#999]"},ee={class:"mt-[20px] mb-[40px] h-[32px]"},te={class:"text-[14px] font-[700]"},se={class:"text-[#999]"},ae={class:"mt-[20px] mb-[40px] h-[32px]"},ne={class:"text-[14px] font-[700]"},oe={class:"text-[#999]"},le={class:"mt-[20px] mb-[40px] h-[32px]"},ce={class:"flex justify-center"},ie={class:"w-[100%] h-[100%] flex items-center justify-center bg-[#f5f7fa]"},pe={class:"mt-[22px] text-center"},_e={class:"text-[12px]"},ge=q({__name:"access",setup(re){const w=N(),m=T(),v=w.meta.title,d=i("/channel/wechat");i(2);const p=i(""),b=i({});i({});const g=async()=>{await P().then(({data:c})=>{b.value=c,p.value=c.qr_code})};B(async()=>{g()}),j(()=>{document.removeEventListener("visibilitychange",()=>{})});const y=c=>{window.open(c,"_blank")},C=c=>{m.push({path:d.value})};return(c,l)=>{const _=M,E=U,u=W,h=z,k=D,f=F,A=G,S=K,V=L;return R(),$("div",Q,[s(V,{class:"card !border-none",shadow:"never"},{default:n(()=>[t("div",H,[t("span",J,o(e(v)),1)]),s(E,{modelValue:d.value,"onUpdate:modelValue":l[0]||(l[0]=r=>d.value=r),class:"my-[20px]",onTabChange:C},{default:n(()=>[s(_,{label:e(a)("wechatAccessFlow"),name:"/channel/wechat"},null,8,["label"]),s(_,{label:e(a)("customMenu"),name:"/channel/wechat/menu"},null,8,["label"]),s(_,{label:e(a)("wechatTemplate"),name:"/channel/wechat/message"},null,8,["label"]),s(_,{label:e(a)("reply"),name:"/channel/wechat/reply"},null,8,["label"])]),_:1},8,["modelValue"]),t("div",O,[t("h3",X,o(e(a)("wechatInlet")),1),s(S,null,{default:n(()=>[s(f,{span:20},{default:n(()=>[s(k,{class:"!mt-[10px]",active:3,direction:"vertical"},{default:n(()=>[s(h,null,{title:n(()=>[t("p",Y,o(e(a)("wechatAttestation")),1)]),description:n(()=>[t("span",Z,o(e(a)("wechatAttestation1")),1),t("div",ee,[s(u,{type:"primary",onClick:l[1]||(l[1]=r=>y("https://mp.weixin.qq.com/"))},{default:n(()=>[x(o(e(a)("clickAccess")),1)]),_:1})])]),_:1}),s(h,null,{title:n(()=>[t("p",te,o(e(a)("wechatSetting")),1)]),description:n(()=>[t("span",se,o(e(a)("wechatSetting1")),1),t("div",ae,[s(u,{type:"primary",onClick:l[2]||(l[2]=r=>e(m).push("/channel/wechat/config"))},{default:n(()=>[x(o(e(a)("clickSetting")),1)]),_:1})])]),_:1}),s(h,null,{title:n(()=>[t("p",ne,o(e(a)("wechatAccess")),1)]),description:n(()=>[t("span",oe,o(e(a)("wechatAccess")),1),t("div",le,[s(u,{type:"primary",plain:"",onClick:l[3]||(l[3]=r=>e(m).push("/channel/wechat/course"))},{default:n(()=>[x(o(e(a)("releaseCourse")),1)]),_:1})])]),_:1})]),_:1})]),_:1}),s(f,{span:4},{default:n(()=>[t("div",ce,[s(A,{class:"w-[180px] h-[180px]",src:p.value?e(I)(p.value):""},{error:n(()=>[t("div",ie,[t("span",null,o(p.value?e(a)("fileErr"):e(a)("emptyQrCode")),1)])]),_:1},8,["src"])]),t("div",pe,[t("p",_e,o(e(a)("clickAccess2")),1)])]),_:1})]),_:1})])]),_:1})])}}});export{ge as default}; |
|||
@ -1 +0,0 @@ |
|||
import{d as V,v as B,f as N,r as d,am as S,h as T,c as j,e as o,w as s,a as t,t as n,u as e,k as a,i as h,z as q,a7 as R,a8 as I,E as $,an as z,ao as D,ap as F,C as K,aq as M,K as P}from"./index-1dc7b228.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{g as Q}from"./aliapp-95215a37.js";const U={class:"main-container"},G={class:"flex justify-between items-center"},H={class:"text-page-title"},J={class:"p-[20px]"},L={class:"panel-title !text-sm"},O={class:"text-[14px] font-[700]"},W={class:"text-[#999]"},X={class:"mt-[20px] mb-[40px] h-[32px]"},Y={class:"text-[14px] font-[700]"},Z={class:"text-[#999]"},tt={class:"mt-[20px] mb-[40px] h-[32px]"},et={class:"text-[14px] font-[700]"},st={class:"text-[#999]"},at=t("div",{class:"mt-[20px] mb-[40px] h-[32px]"},null,-1),ot={class:"text-[14px] font-[700]"},nt={class:"text-[#999]"},lt={class:"flex justify-center"},ct={class:"w-[100%] h-[100%] flex items-center justify-center bg-[#f5f7fa]"},pt={class:"mt-[22px] text-center"},it={class:"text-[12px]"},bt=V({__name:"access",setup(_t){const f=B(),m=N(),v=f.meta.title,_=d("/channel/aliapp");d(2);const p=d("");S(async()=>{const c=await Q();p.value=c.data.qr_code});const w=c=>{window.open(c,"_blank")},b=c=>{m.push({path:_.value})};return(c,l)=>{const g=R,C=I,u=$,i=z,E=D,x=F,y=K,k=M,A=P;return T(),j("div",U,[o(A,{class:"card !border-none",shadow:"never"},{default:s(()=>[t("div",G,[t("span",H,n(e(v)),1)]),o(C,{modelValue:_.value,"onUpdate:modelValue":l[0]||(l[0]=r=>_.value=r),class:"my-[20px]",onTabChange:b},{default:s(()=>[o(g,{label:e(a)("weappAccessFlow"),name:"/channel/aliapp"},null,8,["label"])]),_:1},8,["modelValue"]),t("div",J,[t("h3",L,n(e(a)("weappInlet")),1),o(k,null,{default:s(()=>[o(x,{span:20},{default:s(()=>[o(E,{active:4,direction:"vertical"},{default:s(()=>[o(i,null,{title:s(()=>[t("p",O,n(e(a)("weappAttestation")),1)]),description:s(()=>[t("span",W,n(e(a)("weappAttest")),1),t("div",X,[o(u,{type:"primary",onClick:l[1]||(l[1]=r=>w("https://open.alipay.com/develop/manage"))},{default:s(()=>[h(n(e(a)("clickAccess")),1)]),_:1})])]),_:1}),o(i,null,{title:s(()=>[t("p",Y,n(e(a)("weappSetting")),1)]),description:s(()=>[t("span",Z,n(e(a)("emplace")),1),t("div",tt,[o(u,{type:"primary",plain:"",onClick:l[2]||(l[2]=r=>e(m).push("/channel/aliapp/config"))},{default:s(()=>[h(n(e(a)("weappSettingBtn")),1)]),_:1})])]),_:1}),o(i,null,{title:s(()=>[t("p",et,n(e(a)("uploadVersion")),1)]),description:s(()=>[t("span",st,n(e(a)("releaseCourse")),1),at]),_:1}),o(i,null,{title:s(()=>[t("p",ot,n(e(a)("completeAccess")),1)]),description:s(()=>[t("span",nt,n(e(a)("releaseCourse")),1)]),_:1})]),_:1})]),_:1}),o(x,{span:4},{default:s(()=>[t("div",lt,[o(y,{class:"w-[180px] h-[180px]",src:p.value?e(q)(p.value):""},{error:s(()=>[t("div",ct,[t("span",null,n(p.value?e(a)("fileErr"):e(a)("emptyQrCode")),1)])]),_:1},8,["src"])]),t("div",pt,[t("p",it,n(e(a)("clickAccess2")),1)])]),_:1})]),_:1})])]),_:1})])}}});export{bt as default}; |
|||
@ -0,0 +1 @@ |
|||
import{d as q,v as N,f as T,r as i,ap as B,o as j,h as R,c as $,e as s,w as n,a as t,t as o,u as e,k as a,i as x,z as I,ac as M,ad as U,E as W,aq as z,ar as D,as as F,C as G,at as K,K as L}from"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{g as P}from"./wechat-81f02bf5.js";const Q={class:"main-container"},H={class:"flex justify-between items-center"},J={class:"text-page-title"},O={class:"p-[20px]"},X={class:"panel-title !text-sm"},Y={class:"text-[14px] font-[700]"},Z={class:"text-[#999]"},ee={class:"mt-[20px] mb-[40px] h-[32px]"},te={class:"text-[14px] font-[700]"},se={class:"text-[#999]"},ae={class:"mt-[20px] mb-[40px] h-[32px]"},ne={class:"text-[14px] font-[700]"},oe={class:"text-[#999]"},le={class:"mt-[20px] mb-[40px] h-[32px]"},ce={class:"flex justify-center"},ie={class:"w-[100%] h-[100%] flex items-center justify-center bg-[#f5f7fa]"},pe={class:"mt-[22px] text-center"},_e={class:"text-[12px]"},ge=q({__name:"access",setup(re){const w=N(),d=T(),v=w.meta.title,m=i("/channel/wechat");i(2);const p=i(""),b=i({});i({});const g=async()=>{await P().then(({data:c})=>{b.value=c,p.value=c.qr_code})};B(async()=>{g()}),j(()=>{document.removeEventListener("visibilitychange",()=>{})});const y=c=>{window.open(c,"_blank")},C=c=>{d.push({path:m.value})};return(c,l)=>{const _=M,E=U,u=W,h=z,k=D,f=F,A=G,S=K,V=L;return R(),$("div",Q,[s(V,{class:"card !border-none",shadow:"never"},{default:n(()=>[t("div",H,[t("span",J,o(e(v)),1)]),s(E,{modelValue:m.value,"onUpdate:modelValue":l[0]||(l[0]=r=>m.value=r),class:"my-[20px]",onTabChange:C},{default:n(()=>[s(_,{label:e(a)("wechatAccessFlow"),name:"/channel/wechat"},null,8,["label"]),s(_,{label:e(a)("customMenu"),name:"/channel/wechat/menu"},null,8,["label"]),s(_,{label:e(a)("wechatTemplate"),name:"/channel/wechat/message"},null,8,["label"]),s(_,{label:e(a)("reply"),name:"/channel/wechat/reply"},null,8,["label"])]),_:1},8,["modelValue"]),t("div",O,[t("h3",X,o(e(a)("wechatInlet")),1),s(S,null,{default:n(()=>[s(f,{span:20},{default:n(()=>[s(k,{class:"!mt-[10px]",active:3,direction:"vertical"},{default:n(()=>[s(h,null,{title:n(()=>[t("p",Y,o(e(a)("wechatAttestation")),1)]),description:n(()=>[t("span",Z,o(e(a)("wechatAttestation1")),1),t("div",ee,[s(u,{type:"primary",onClick:l[1]||(l[1]=r=>y("https://mp.weixin.qq.com/"))},{default:n(()=>[x(o(e(a)("clickAccess")),1)]),_:1})])]),_:1}),s(h,null,{title:n(()=>[t("p",te,o(e(a)("wechatSetting")),1)]),description:n(()=>[t("span",se,o(e(a)("wechatSetting1")),1),t("div",ae,[s(u,{type:"primary",onClick:l[2]||(l[2]=r=>e(d).push("/channel/wechat/config"))},{default:n(()=>[x(o(e(a)("clickSetting")),1)]),_:1})])]),_:1}),s(h,null,{title:n(()=>[t("p",ne,o(e(a)("wechatAccess")),1)]),description:n(()=>[t("span",oe,o(e(a)("wechatAccess")),1),t("div",le,[s(u,{type:"primary",plain:"",onClick:l[3]||(l[3]=r=>e(d).push("/channel/wechat/course"))},{default:n(()=>[x(o(e(a)("releaseCourse")),1)]),_:1})])]),_:1})]),_:1})]),_:1}),s(f,{span:4},{default:n(()=>[t("div",ce,[s(A,{class:"w-[180px] h-[180px]",src:p.value?e(I)(p.value):""},{error:n(()=>[t("div",ie,[t("span",null,o(p.value?e(a)("fileErr"):e(a)("emptyQrCode")),1)])]),_:1},8,["src"])]),t("div",pe,[t("p",_e,o(e(a)("clickAccess2")),1)])]),_:1})]),_:1})])]),_:1})])}}});export{ge as default}; |
|||
@ -0,0 +1 @@ |
|||
import{d as V,v as B,f as N,r as d,ap as S,h as T,c as j,e as o,w as s,a as t,t as n,u as e,k as a,i as h,z as q,ac as R,ad as I,E as $,aq as z,ar as D,as as F,C as K,at as M,K as P}from"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{g as Q}from"./aliapp-c1e63b74.js";const U={class:"main-container"},G={class:"flex justify-between items-center"},H={class:"text-page-title"},J={class:"p-[20px]"},L={class:"panel-title !text-sm"},O={class:"text-[14px] font-[700]"},W={class:"text-[#999]"},X={class:"mt-[20px] mb-[40px] h-[32px]"},Y={class:"text-[14px] font-[700]"},Z={class:"text-[#999]"},tt={class:"mt-[20px] mb-[40px] h-[32px]"},et={class:"text-[14px] font-[700]"},st={class:"text-[#999]"},at=t("div",{class:"mt-[20px] mb-[40px] h-[32px]"},null,-1),ot={class:"text-[14px] font-[700]"},nt={class:"text-[#999]"},lt={class:"flex justify-center"},ct={class:"w-[100%] h-[100%] flex items-center justify-center bg-[#f5f7fa]"},pt={class:"mt-[22px] text-center"},it={class:"text-[12px]"},bt=V({__name:"access",setup(_t){const f=B(),m=N(),v=f.meta.title,_=d("/channel/aliapp");d(2);const p=d("");S(async()=>{const c=await Q();p.value=c.data.qr_code});const w=c=>{window.open(c,"_blank")},b=c=>{m.push({path:_.value})};return(c,l)=>{const g=R,C=I,u=$,i=z,E=D,x=F,y=K,k=M,A=P;return T(),j("div",U,[o(A,{class:"card !border-none",shadow:"never"},{default:s(()=>[t("div",G,[t("span",H,n(e(v)),1)]),o(C,{modelValue:_.value,"onUpdate:modelValue":l[0]||(l[0]=r=>_.value=r),class:"my-[20px]",onTabChange:b},{default:s(()=>[o(g,{label:e(a)("weappAccessFlow"),name:"/channel/aliapp"},null,8,["label"])]),_:1},8,["modelValue"]),t("div",J,[t("h3",L,n(e(a)("weappInlet")),1),o(k,null,{default:s(()=>[o(x,{span:20},{default:s(()=>[o(E,{active:4,direction:"vertical"},{default:s(()=>[o(i,null,{title:s(()=>[t("p",O,n(e(a)("weappAttestation")),1)]),description:s(()=>[t("span",W,n(e(a)("weappAttest")),1),t("div",X,[o(u,{type:"primary",onClick:l[1]||(l[1]=r=>w("https://open.alipay.com/develop/manage"))},{default:s(()=>[h(n(e(a)("clickAccess")),1)]),_:1})])]),_:1}),o(i,null,{title:s(()=>[t("p",Y,n(e(a)("weappSetting")),1)]),description:s(()=>[t("span",Z,n(e(a)("emplace")),1),t("div",tt,[o(u,{type:"primary",plain:"",onClick:l[2]||(l[2]=r=>e(m).push("/channel/aliapp/config"))},{default:s(()=>[h(n(e(a)("weappSettingBtn")),1)]),_:1})])]),_:1}),o(i,null,{title:s(()=>[t("p",et,n(e(a)("uploadVersion")),1)]),description:s(()=>[t("span",st,n(e(a)("releaseCourse")),1),at]),_:1}),o(i,null,{title:s(()=>[t("p",ot,n(e(a)("completeAccess")),1)]),description:s(()=>[t("span",nt,n(e(a)("releaseCourse")),1)]),_:1})]),_:1})]),_:1}),o(x,{span:4},{default:s(()=>[t("div",lt,[o(y,{class:"w-[180px] h-[180px]",src:p.value?e(q)(p.value):""},{error:s(()=>[t("div",ct,[t("span",null,n(p.value?e(a)("fileErr"):e(a)("emptyQrCode")),1)])]),_:1},8,["src"])]),t("div",pt,[t("p",it,n(e(a)("clickAccess2")),1)])]),_:1})]),_:1})])]),_:1})])}}});export{bt as default}; |
|||
@ -1 +0,0 @@ |
|||
import{d as q,v as B,f as N,r as m,am as R,o as T,h as $,c as j,e as n,w as s,a as t,t as o,u as e,k as a,i as u,z as I,a7 as M,a8 as U,E as W,an as z,ao as D,ap as F,C as G,aq as K,K as L}from"./index-1dc7b228.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{g as P}from"./weapp-4913e381.js";const Q={class:"main-container"},H={class:"flex justify-between items-center"},J={class:"text-page-title"},O={class:"p-[20px]"},X={class:"panel-title !text-sm"},Y={class:"text-[14px] font-[700]"},Z={class:"text-[#999]"},ee={class:"mt-[20px] mb-[40px] h-[32px]"},te={class:"text-[14px] font-[700]"},se={class:"text-[#999]"},ne={class:"mt-[20px] mb-[40px] h-[32px]"},ae={class:"text-[14px] font-[700]"},oe={class:"text-[#999]"},le={class:"mt-[20px] mb-[40px] h-[32px]"},pe={class:"text-[14px] font-[700]"},ce={class:"text-[#999]"},ie=t("div",{class:"mt-[20px] mb-[40px] h-[32px]"},null,-1),_e={class:"flex justify-center"},re={class:"w-[100%] h-[100%] flex items-center justify-center bg-[#f5f7fa]"},de={class:"mt-[22px] text-center"},me={class:"text-[12px]"},Ee=q({__name:"access",setup(ue){const v=B(),i=N(),w=v.meta.title,x=m("/channel/weapp");m(2);const _=m(""),b=m({}),g=async()=>{await P().then(({data:p})=>{b.value=p,_.value=p.qr_code})};R(async()=>{g()}),T(()=>{document.removeEventListener("visibilitychange",()=>{})});const C=p=>{window.open(p,"_blank")},y=p=>{i.push({path:x.value})};return(p,l)=>{const h=M,E=U,r=W,d=z,k=D,f=F,V=G,A=K,S=L;return $(),j("div",Q,[n(S,{class:"card !border-none",shadow:"never"},{default:s(()=>[t("div",H,[t("span",J,o(e(w)),1)]),n(E,{modelValue:x.value,"onUpdate:modelValue":l[0]||(l[0]=c=>x.value=c),class:"mt-[20px]",onTabChange:y},{default:s(()=>[n(h,{label:e(a)("weappAccessFlow"),name:"/channel/weapp"},null,8,["label"]),n(h,{label:e(a)("subscribeMessage"),name:"/channel/weapp/message"},null,8,["label"]),n(h,{label:e(a)("weappRelease"),name:"/channel/weapp/code"},null,8,["label"])]),_:1},8,["modelValue"]),t("div",O,[t("h3",X,o(e(a)("weappInlet")),1),n(A,null,{default:s(()=>[n(f,{span:20},{default:s(()=>[n(k,{class:"!mt-[10px]",active:4,direction:"vertical"},{default:s(()=>[n(d,null,{title:s(()=>[t("p",Y,o(e(a)("weappAttestation")),1)]),description:s(()=>[t("span",Z,o(e(a)("weappAttest")),1),t("div",ee,[n(r,{type:"primary",onClick:l[1]||(l[1]=c=>C("https://mp.weixin.qq.com/"))},{default:s(()=>[u(o(e(a)("clickAccess")),1)]),_:1})])]),_:1}),n(d,null,{title:s(()=>[t("p",te,o(e(a)("weappSetting")),1)]),description:s(()=>[t("span",se,o(e(a)("emplace")),1),t("div",ne,[n(r,{type:"primary",onClick:l[2]||(l[2]=c=>e(i).push("/channel/weapp/config"))},{default:s(()=>[u(o(e(a)("weappSettingBtn")),1)]),_:1}),n(r,{type:"primary",plain:"",onClick:l[3]||(l[3]=c=>e(i).push("/channel/weapp/course"))},{default:s(()=>[u("配置教程")]),_:1})])]),_:1}),n(d,null,{title:s(()=>[t("p",ae,o(e(a)("uploadVersion")),1)]),description:s(()=>[t("span",oe,o(e(a)("releaseCourse")),1),t("div",le,[n(r,{type:"primary",plain:"",onClick:l[4]||(l[4]=c=>e(i).push("/channel/weapp/code"))},{default:s(()=>[u(o(e(a)("weappRelease")),1)]),_:1})])]),_:1}),n(d,null,{title:s(()=>[t("p",pe,o(e(a)("completeAccess")),1)]),description:s(()=>[t("span",ce,o(e(a)("releaseCourse")),1),ie]),_:1})]),_:1})]),_:1}),n(f,{span:4},{default:s(()=>[t("div",_e,[n(V,{class:"w-[180px] h-[180px]",src:_.value?e(I)(_.value):""},{error:s(()=>[t("div",re,[t("span",null,o(_.value?e(a)("fileErr"):e(a)("emptyQrCode")),1)])]),_:1},8,["src"])]),t("div",de,[t("p",me,o(e(a)("clickAccess2")),1)])]),_:1})]),_:1})])]),_:1})])}}});export{Ee as default}; |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||
input[data-v-b7685a6d]::-webkit-outer-spin-button,input[data-v-b7685a6d]::-webkit-inner-spin-button{-webkit-appearance:none!important;-moz-appearance:none!important;-o-appearance:none!important;appearance:none!important;margin:0}input[type=number][data-v-b7685a6d]{-webkit-appearance:textfield;-moz-appearance:textfield;-o-appearance:textfield;appearance:textfield}.sku-form-item-wrap[data-v-b7685a6d] .el-form-item__content{margin-left:0!important}.sku_list[data-v-b7685a6d] .cell{overflow:initial!important} |
|||
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@ |
|||
input[data-v-e0e9137f]::-webkit-outer-spin-button,input[data-v-e0e9137f]::-webkit-inner-spin-button{-webkit-appearance:none!important;-moz-appearance:none!important;-o-appearance:none!important;appearance:none!important;margin:0}input[type=number][data-v-e0e9137f]{-webkit-appearance:textfield;-moz-appearance:textfield;-o-appearance:textfield;appearance:textfield}.sku-form-item-wrap[data-v-e0e9137f] .el-form-item__content{margin-left:0!important}.sku_list[data-v-e0e9137f] .cell{overflow:initial!important} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@ |
|||
import{_ as o}from"./add-member.vue_vue_type_script_setup_true_lang-30c598d2.js";import"./index-1dc7b228.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-4ed993c7.js";/* empty css */import"./member-ec021399.js";export{o as default}; |
|||
@ -0,0 +1 @@ |
|||
import{_ as o}from"./add-member.vue_vue_type_script_setup_true_lang-b04e5828.js";import"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-4ed993c7.js";/* empty css */import"./member-9eadae64.js";export{o as default}; |
|||
@ -1 +0,0 @@ |
|||
import{d as I,r as m,l as L,M as R,k as o,h as N,m as k,w as d,a as j,e as s,i as M,t as C,u as t,J as z,bk as A,D as O,G as T,H as G,E as J,V as K,L as S}from"./index-1dc7b228.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-4ed993c7.js";/* empty css */import{p as Z,z as Q,A as W}from"./member-ec021399.js";const X={class:"dialog-footer"},me=I({__name:"add-member",emits:["complete"],setup(Y,{expose:$,emit:D}){const p=m(!1),i=m(!1),b=m(!1);let f="",c="";const w=m(!0),v=m(!0),g=m(!0),_={member_id:"",nickname:"",member_no:"",init_member_no:"",mobile:"",password:"",password_copy:""},r=L({..._}),y=m(),P=R(()=>({member_no:[{required:!0,message:o("memberNoPlaceholder"),trigger:"blur"},{validator:B,trigger:"blur"}],mobile:[{required:!0,message:o("mobilePlaceholder"),trigger:"blur"},{validator:x,trigger:"blur"}],password:[{required:!0,message:o("passwordPlaceholder"),trigger:"blur"}],password_copy:[{required:!0,message:o("passwordPlaceholder"),trigger:"blur"},{validator:E,trigger:"blur"}]})),x=(n,e,a)=>{e&&!/^1[3-9]\d{9}$/.test(e)?a(new Error(o("mobileHint"))):a()},E=(n,e,a)=>{e!=r.password?a(o("doubleCipherHint")):a()},B=(n,e,a)=>{e&&!/^[0-9a-zA-Z]*$/g.test(e)?a(new Error(o("memberNoHint"))):a()},U=async()=>{await Q().then(n=>{c=n.data}).catch(()=>{})},F=async n=>{if(i.value||!n)return;const e=W;await n.validate(async a=>{if(a){if(i.value=!0,b.value)return;b.value=!0,e(r).then(V=>{i.value=!1,b.value=!1,p.value=!1,D("complete")}).catch(()=>{i.value=!1,b.value=!1})}})};return $({showDialog:p,setFormData:async(n=null)=>{if(i.value=!0,Object.assign(r,_),f=o("addMember"),n){f=o("updateMember");const e=await(await Z(n.member_id)).data;e&&Object.keys(r).forEach(a=>{e[a]!=null&&(r[a]=e[a])})}else await U(),r.member_no=c,r.init_member_no=c;i.value=!1}}),(n,e)=>{const a=O,u=T,V=G,h=J,q=K,H=S;return N(),k(q,{modelValue:p.value,"onUpdate:modelValue":e[14]||(e[14]=l=>p.value=l),title:t(f),width:"500px","destroy-on-close":!0},{footer:d(()=>[j("span",X,[s(h,{onClick:e[12]||(e[12]=l=>p.value=!1)},{default:d(()=>[M(C(t(o)("cancel")),1)]),_:1}),s(h,{type:"primary",loading:i.value,onClick:e[13]||(e[13]=l=>F(y.value))},{default:d(()=>[M(C(t(o)("confirm")),1)]),_:1},8,["loading"])])]),default:d(()=>[z((N(),k(V,{model:r,"label-width":"90px",ref_key:"formRef",ref:y,rules:t(P),class:"page-form"},{default:d(()=>[s(u,{label:t(o)("memberNo"),prop:"member_no"},{default:d(()=>[s(a,{modelValue:r.member_no,"onUpdate:modelValue":e[0]||(e[0]=l=>r.member_no=l),modelModifiers:{trim:!0},clearable:"",maxlength:"20",placeholder:t(o)("memberNoPlaceholder"),class:"input-width"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(u,{label:t(o)("mobile"),prop:"mobile"},{default:d(()=>[s(a,{modelValue:r.mobile,"onUpdate:modelValue":e[1]||(e[1]=l=>r.mobile=l),modelModifiers:{trim:!0},clearable:"",placeholder:t(o)("mobilePlaceholder"),onKeyup:e[2]||(e[2]=l=>t(A)(l)),class:"input-width"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(u,{label:t(o)("nickname")},{default:d(()=>[s(a,{modelValue:r.nickname,"onUpdate:modelValue":e[3]||(e[3]=l=>r.nickname=l),modelModifiers:{trim:!0},clearable:"",placeholder:t(o)("nickNamePlaceholder"),class:"input-width",maxlength:"10","show-word-limit":"",readonly:w.value,onClick:e[4]||(e[4]=l=>w.value=!1),onBlur:e[5]||(e[5]=l=>w.value=!0)},null,8,["modelValue","placeholder","readonly"])]),_:1},8,["label"]),s(u,{label:t(o)("password"),prop:"password"},{default:d(()=>[s(a,{modelValue:r.password,"onUpdate:modelValue":e[6]||(e[6]=l=>r.password=l),modelModifiers:{trim:!0},type:"password",placeholder:t(o)("passwordPlaceholder"),clearable:"",class:"input-width","show-password":!0,readonly:v.value,onClick:e[7]||(e[7]=l=>v.value=!1),onBlur:e[8]||(e[8]=l=>v.value=!0)},null,8,["modelValue","placeholder","readonly"])]),_:1},8,["label"]),s(u,{label:t(o)("passwordCopy"),prop:"password_copy"},{default:d(()=>[s(a,{modelValue:r.password_copy,"onUpdate:modelValue":e[9]||(e[9]=l=>r.password_copy=l),modelModifiers:{trim:!0},type:"password",placeholder:t(o)("passwordPlaceholder"),clearable:"",class:"input-width","show-password":!0,readonly:g.value,onClick:e[10]||(e[10]=l=>g.value=!1),onBlur:e[11]||(e[11]=l=>g.value=!0)},null,8,["modelValue","placeholder","readonly"])]),_:1},8,["label"])]),_:1},8,["model","rules"])),[[H,i.value]])]),_:1},8,["modelValue","title"])}}});export{me as _}; |
|||
@ -0,0 +1 @@ |
|||
import{d as I,r as m,l as L,M as R,k as o,h as N,m as k,w as d,a as j,e as s,i as M,t as C,u as t,J as z,bm as A,D as O,G as T,H as G,E as J,V as K,L as S}from"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-4ed993c7.js";/* empty css */import{p as Z,z as Q,A as W}from"./member-9eadae64.js";const X={class:"dialog-footer"},me=I({__name:"add-member",emits:["complete"],setup(Y,{expose:$,emit:D}){const p=m(!1),i=m(!1),b=m(!1);let f="",c="";const w=m(!0),v=m(!0),g=m(!0),_={member_id:"",nickname:"",member_no:"",init_member_no:"",mobile:"",password:"",password_copy:""},r=L({..._}),y=m(),P=R(()=>({member_no:[{required:!0,message:o("memberNoPlaceholder"),trigger:"blur"},{validator:B,trigger:"blur"}],mobile:[{required:!0,message:o("mobilePlaceholder"),trigger:"blur"},{validator:x,trigger:"blur"}],password:[{required:!0,message:o("passwordPlaceholder"),trigger:"blur"}],password_copy:[{required:!0,message:o("passwordPlaceholder"),trigger:"blur"},{validator:E,trigger:"blur"}]})),x=(n,e,a)=>{e&&!/^1[3-9]\d{9}$/.test(e)?a(new Error(o("mobileHint"))):a()},E=(n,e,a)=>{e!=r.password?a(o("doubleCipherHint")):a()},B=(n,e,a)=>{e&&!/^[0-9a-zA-Z]*$/g.test(e)?a(new Error(o("memberNoHint"))):a()},U=async()=>{await Q().then(n=>{c=n.data}).catch(()=>{})},F=async n=>{if(i.value||!n)return;const e=W;await n.validate(async a=>{if(a){if(i.value=!0,b.value)return;b.value=!0,e(r).then(V=>{i.value=!1,b.value=!1,p.value=!1,D("complete")}).catch(()=>{i.value=!1,b.value=!1})}})};return $({showDialog:p,setFormData:async(n=null)=>{if(i.value=!0,Object.assign(r,_),f=o("addMember"),n){f=o("updateMember");const e=await(await Z(n.member_id)).data;e&&Object.keys(r).forEach(a=>{e[a]!=null&&(r[a]=e[a])})}else await U(),r.member_no=c,r.init_member_no=c;i.value=!1}}),(n,e)=>{const a=O,u=T,V=G,h=J,q=K,H=S;return N(),k(q,{modelValue:p.value,"onUpdate:modelValue":e[14]||(e[14]=l=>p.value=l),title:t(f),width:"500px","destroy-on-close":!0},{footer:d(()=>[j("span",X,[s(h,{onClick:e[12]||(e[12]=l=>p.value=!1)},{default:d(()=>[M(C(t(o)("cancel")),1)]),_:1}),s(h,{type:"primary",loading:i.value,onClick:e[13]||(e[13]=l=>F(y.value))},{default:d(()=>[M(C(t(o)("confirm")),1)]),_:1},8,["loading"])])]),default:d(()=>[z((N(),k(V,{model:r,"label-width":"90px",ref_key:"formRef",ref:y,rules:t(P),class:"page-form"},{default:d(()=>[s(u,{label:t(o)("memberNo"),prop:"member_no"},{default:d(()=>[s(a,{modelValue:r.member_no,"onUpdate:modelValue":e[0]||(e[0]=l=>r.member_no=l),modelModifiers:{trim:!0},clearable:"",maxlength:"20",placeholder:t(o)("memberNoPlaceholder"),class:"input-width"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(u,{label:t(o)("mobile"),prop:"mobile"},{default:d(()=>[s(a,{modelValue:r.mobile,"onUpdate:modelValue":e[1]||(e[1]=l=>r.mobile=l),modelModifiers:{trim:!0},clearable:"",placeholder:t(o)("mobilePlaceholder"),onKeyup:e[2]||(e[2]=l=>t(A)(l)),class:"input-width"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(u,{label:t(o)("nickname")},{default:d(()=>[s(a,{modelValue:r.nickname,"onUpdate:modelValue":e[3]||(e[3]=l=>r.nickname=l),modelModifiers:{trim:!0},clearable:"",placeholder:t(o)("nickNamePlaceholder"),class:"input-width",maxlength:"10","show-word-limit":"",readonly:w.value,onClick:e[4]||(e[4]=l=>w.value=!1),onBlur:e[5]||(e[5]=l=>w.value=!0)},null,8,["modelValue","placeholder","readonly"])]),_:1},8,["label"]),s(u,{label:t(o)("password"),prop:"password"},{default:d(()=>[s(a,{modelValue:r.password,"onUpdate:modelValue":e[6]||(e[6]=l=>r.password=l),modelModifiers:{trim:!0},type:"password",placeholder:t(o)("passwordPlaceholder"),clearable:"",class:"input-width","show-password":!0,readonly:v.value,onClick:e[7]||(e[7]=l=>v.value=!1),onBlur:e[8]||(e[8]=l=>v.value=!0)},null,8,["modelValue","placeholder","readonly"])]),_:1},8,["label"]),s(u,{label:t(o)("passwordCopy"),prop:"password_copy"},{default:d(()=>[s(a,{modelValue:r.password_copy,"onUpdate:modelValue":e[9]||(e[9]=l=>r.password_copy=l),modelModifiers:{trim:!0},type:"password",placeholder:t(o)("passwordPlaceholder"),clearable:"",class:"input-width","show-password":!0,readonly:g.value,onClick:e[10]||(e[10]=l=>g.value=!1),onBlur:e[11]||(e[11]=l=>g.value=!0)},null,8,["modelValue","placeholder","readonly"])]),_:1},8,["label"])]),_:1},8,["model","rules"])),[[H,i.value]])]),_:1},8,["modelValue","title"])}}});export{me as _}; |
|||
@ -1 +0,0 @@ |
|||
import{_ as o}from"./add-table.vue_vue_type_script_setup_true_lang-4331f2a8.js";import"./index-1dc7b228.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./tools-5df62b1d.js";export{o as default}; |
|||
@ -0,0 +1 @@ |
|||
import{_ as o}from"./add-table.vue_vue_type_script_setup_true_lang-e5255b78.js";import"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./tools-fa050e4f.js";export{o as default}; |
|||
@ -1 +0,0 @@ |
|||
import{d as L,f as N,r as c,l as k,M as E,h as p,m as _,w as o,a as b,J as x,u as t,t as f,k as n,e as d,i as B,$ as z,D as F,E as M,a0 as P,V as U,L as $}from"./index-1dc7b228.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{k as q,l as G}from"./tools-5df62b1d.js";const le=L({__name:"add-table",setup(I,{expose:h}){const g=N(),m=c(!1),s=c(""),e=k({loading:!0,data:[],searchParam:{table_name:"",table_content:""}}),v=E(()=>e.data.filter(a=>!s.value||a.Name.toLowerCase().includes(s.value.toLowerCase())||a.Comment.toLowerCase().includes(s.value.toLowerCase()))),u=()=>{e.loading=!0,q().then(a=>{e.loading=!1,e.data=a.data}).catch(()=>{e.loading=!1})};u();const w=a=>{const l=a.Name;e.loading=!0,G({table_name:l}).then(i=>{e.loading=!1,m.value=!1,g.push({path:"/tools/code/edit",query:{id:i.data.id}})}).catch(()=>{e.loading=!1})};return h({showDialog:m,setFormData:async(a=null)=>{u()}}),(a,l)=>{const i=z,C=F,D=M,V=P,y=U,T=$;return p(),_(y,{modelValue:m.value,"onUpdate:modelValue":l[1]||(l[1]=r=>m.value=r),title:t(n)("addCode"),width:"800px","destroy-on-close":!0},{default:o(()=>[b("div",null,[x((p(),_(V,{data:t(v),size:"large",height:"400"},{empty:o(()=>[b("span",null,f(e.loading?"":t(n)("emptyData")),1)]),default:o(()=>[d(i,{prop:"Name",label:t(n)("tableName"),"min-width":"150"},null,8,["label"]),d(i,{prop:"Comment",label:t(n)("tableComment"),"min-width":"120"},null,8,["label"]),d(i,{align:"right","min-width":"150"},{header:o(()=>[d(C,{modelValue:s.value,"onUpdate:modelValue":l[0]||(l[0]=r=>s.value=r),modelModifiers:{trim:!0},size:"small",placeholder:t(n)("searchPlaceholder")},null,8,["modelValue","placeholder"])]),default:o(r=>[d(D,{size:"small",type:"primary",onClick:R=>w(r.row)},{default:o(()=>[B(f(t(n)("addBtn")),1)]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])),[[T,e.loading]])])]),_:1},8,["modelValue","title"])}}});export{le as _}; |
|||
@ -0,0 +1 @@ |
|||
import{d as L,f as N,r as c,l as k,M as E,h as p,m as _,w as o,a as b,J as x,u as t,t as f,k as n,e as d,i as B,a1 as z,D as F,E as M,a2 as P,V as U,L as q}from"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{k as G,l as I}from"./tools-fa050e4f.js";const le=L({__name:"add-table",setup(J,{expose:h}){const g=N(),m=c(!1),s=c(""),e=k({loading:!0,data:[],searchParam:{table_name:"",table_content:""}}),v=E(()=>e.data.filter(a=>!s.value||a.Name.toLowerCase().includes(s.value.toLowerCase())||a.Comment.toLowerCase().includes(s.value.toLowerCase()))),u=()=>{e.loading=!0,G().then(a=>{e.loading=!1,e.data=a.data}).catch(()=>{e.loading=!1})};u();const w=a=>{const l=a.Name;e.loading=!0,I({table_name:l}).then(i=>{e.loading=!1,m.value=!1,g.push({path:"/tools/code/edit",query:{id:i.data.id}})}).catch(()=>{e.loading=!1})};return h({showDialog:m,setFormData:async(a=null)=>{u()}}),(a,l)=>{const i=z,C=F,D=M,V=P,y=U,T=q;return p(),_(y,{modelValue:m.value,"onUpdate:modelValue":l[1]||(l[1]=r=>m.value=r),title:t(n)("addCode"),width:"800px","destroy-on-close":!0},{default:o(()=>[b("div",null,[x((p(),_(V,{data:t(v),size:"large",height:"400"},{empty:o(()=>[b("span",null,f(e.loading?"":t(n)("emptyData")),1)]),default:o(()=>[d(i,{prop:"Name",label:t(n)("tableName"),"min-width":"150"},null,8,["label"]),d(i,{prop:"Comment",label:t(n)("tableComment"),"min-width":"120"},null,8,["label"]),d(i,{align:"right","min-width":"150"},{header:o(()=>[d(C,{modelValue:s.value,"onUpdate:modelValue":l[0]||(l[0]=r=>s.value=r),modelModifiers:{trim:!0},size:"small",placeholder:t(n)("searchPlaceholder")},null,8,["modelValue","placeholder"])]),default:o(r=>[d(D,{size:"small",type:"primary",onClick:S=>w(r.row)},{default:o(()=>[B(f(t(n)("addBtn")),1)]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])),[[T,e.loading]])])]),_:1},8,["modelValue","title"])}}});export{le as _}; |
|||
@ -0,0 +1 @@ |
|||
import{_ as e}from"./add-theme.vue_vue_type_script_setup_true_lang-b0b26888.js";const o=Object.freeze(Object.defineProperty({__proto__:null,default:e},Symbol.toStringTag,{value:"Module"}));export{o as _}; |
|||
@ -1 +0,0 @@ |
|||
import{_ as e}from"./add-theme.vue_vue_type_script_setup_true_lang-64b3eaf1.js";const o=Object.freeze(Object.defineProperty({__proto__:null,default:e},Symbol.toStringTag,{value:"Module"}));export{o as _}; |
|||
@ -1 +0,0 @@ |
|||
import{d as U,r as u,l as _,h as B,m as h,w as r,a as q,e as a,i as c,u as g,Q as F,D as N,G as O,b2 as R,H as $,E as j,V as A}from"./index-1dc7b228.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-4ed993c7.js";import{u as I}from"./diy-2da15bc1.js";const S={class:"dialog-footer"},M=U({__name:"add-theme",emits:["confirm"],setup(T,{expose:v,emit:V}){const b=I(),n=u(!1),y={title:"",label:"",value:"",tip:""};let m=[],d=u("");const l=_({...y}),k=o=>{m=o.key,d.value="";for(let e in l)l[e]="";o.data&&Object.keys(o.data).length&&(d.value="edit",Object.keys(l).forEach((e,s)=>{l[e]=o.data[e]?o.data[e]:""})),n.value=!0},p=u(),x=_({title:[{required:!0,message:"请输入颜色名称",trigger:"blur"}],value:[{required:!0,message:"请输入颜色value值",trigger:"blur"}],label:[{required:!0,message:"请输入颜色key值",trigger:"blur"},{validator:(o,e,s)=>{const i=/^[a-zA-Z0-9-]+$/;m.indexOf(e)!=-1&&s("新增颜色key值与已存在颜色key值命名重复,请修改命名"),i.test(e)?s():s("颜色key值只能输入字母、数字和连字符")},trigger:"blur"}]}),w=async o=>{o&&await o.validate(async e=>{e&&(V("confirm",F(l)),n.value=!1)})};return v({dialogThemeVisible:n,open:k}),(o,e)=>{const s=N,i=O,E=R,C=$,f=j,D=A;return B(),h(D,{modelValue:n.value,"onUpdate:modelValue":e[6]||(e[6]=t=>n.value=t),title:"新增颜色",width:"550px","align-center":""},{footer:r(()=>[q("div",S,[a(f,{onClick:e[4]||(e[4]=t=>n.value=!1)},{default:r(()=>[c("取消")]),_:1}),a(f,{type:"primary",onClick:e[5]||(e[5]=t=>w(p.value))},{default:r(()=>[c("保存")]),_:1})])]),default:r(()=>[a(C,{model:l,"label-width":"120px",ref_key:"formRef",ref:p,rules:x},{default:r(()=>[a(i,{label:"名字",prop:"title"},{default:r(()=>[a(s,{modelValue:l.title,"onUpdate:modelValue":e[0]||(e[0]=t=>l.title=t),class:"!w-[250px]",maxlength:"7",placeholder:"请输入颜色名称"},null,8,["modelValue"])]),_:1}),a(i,{label:"颜色key值",prop:"label"},{default:r(()=>[a(s,{modelValue:l.label,"onUpdate:modelValue":e[1]||(e[1]=t=>l.label=t),class:"!w-[250px]",maxlength:"20",disabled:g(d)=="edit",placeholder:"请输入颜色key值"},null,8,["modelValue","disabled"])]),_:1}),a(i,{label:"颜色value值",prop:"value"},{default:r(()=>[a(E,{modelValue:l.value,"onUpdate:modelValue":e[2]||(e[2]=t=>l.value=t),"show-alpha":"",predefine:g(b).predefineColors},null,8,["modelValue","predefine"])]),_:1}),a(i,{label:"颜色提示"},{default:r(()=>[a(s,{modelValue:l.tip,"onUpdate:modelValue":e[3]||(e[3]=t=>l.tip=t),class:"!w-[250px]",placeholder:"请输入颜色提示"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"])}}});export{M as _}; |
|||
@ -0,0 +1 @@ |
|||
import{d as U,r as u,l as _,h as B,m as h,w as r,a as q,e as a,i as c,u as g,Q as F,D as N,G as O,b6 as R,H as $,E as j,V as A}from"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-4ed993c7.js";import{u as I}from"./diy-a0465a67.js";const S={class:"dialog-footer"},M=U({__name:"add-theme",emits:["confirm"],setup(T,{expose:v,emit:V}){const b=I(),n=u(!1),y={title:"",label:"",value:"",tip:""};let m=[],d=u("");const l=_({...y}),k=o=>{m=o.key,d.value="";for(let e in l)l[e]="";o.data&&Object.keys(o.data).length&&(d.value="edit",Object.keys(l).forEach((e,s)=>{l[e]=o.data[e]?o.data[e]:""})),n.value=!0},p=u(),x=_({title:[{required:!0,message:"请输入颜色名称",trigger:"blur"}],value:[{required:!0,message:"请输入颜色value值",trigger:"blur"}],label:[{required:!0,message:"请输入颜色key值",trigger:"blur"},{validator:(o,e,s)=>{const i=/^[a-zA-Z0-9-]+$/;m.indexOf(e)!=-1&&s("新增颜色key值与已存在颜色key值命名重复,请修改命名"),i.test(e)?s():s("颜色key值只能输入字母、数字和连字符")},trigger:"blur"}]}),w=async o=>{o&&await o.validate(async e=>{e&&(V("confirm",F(l)),n.value=!1)})};return v({dialogThemeVisible:n,open:k}),(o,e)=>{const s=N,i=O,E=R,C=$,f=j,D=A;return B(),h(D,{modelValue:n.value,"onUpdate:modelValue":e[6]||(e[6]=t=>n.value=t),title:"新增颜色",width:"550px","align-center":""},{footer:r(()=>[q("div",S,[a(f,{onClick:e[4]||(e[4]=t=>n.value=!1)},{default:r(()=>[c("取消")]),_:1}),a(f,{type:"primary",onClick:e[5]||(e[5]=t=>w(p.value))},{default:r(()=>[c("保存")]),_:1})])]),default:r(()=>[a(C,{model:l,"label-width":"120px",ref_key:"formRef",ref:p,rules:x},{default:r(()=>[a(i,{label:"名字",prop:"title"},{default:r(()=>[a(s,{modelValue:l.title,"onUpdate:modelValue":e[0]||(e[0]=t=>l.title=t),class:"!w-[250px]",maxlength:"7",placeholder:"请输入颜色名称"},null,8,["modelValue"])]),_:1}),a(i,{label:"颜色key值",prop:"label"},{default:r(()=>[a(s,{modelValue:l.label,"onUpdate:modelValue":e[1]||(e[1]=t=>l.label=t),class:"!w-[250px]",maxlength:"20",disabled:g(d)=="edit",placeholder:"请输入颜色key值"},null,8,["modelValue","disabled"])]),_:1}),a(i,{label:"颜色value值",prop:"value"},{default:r(()=>[a(E,{modelValue:l.value,"onUpdate:modelValue":e[2]||(e[2]=t=>l.value=t),"show-alpha":"",predefine:g(b).predefineColors},null,8,["modelValue","predefine"])]),_:1}),a(i,{label:"颜色提示"},{default:r(()=>[a(s,{modelValue:l.tip,"onUpdate:modelValue":e[3]||(e[3]=t=>l.tip=t),class:"!w-[250px]",placeholder:"请输入颜色提示"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"])}}});export{M as _}; |
|||
@ -0,0 +1 @@ |
|||
import{_ as o}from"./adjust-money.vue_vue_type_style_index_0_lang-ed07b1fa.js";import"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-4ed993c7.js";/* empty css */import"./order-251457e8.js";export{o as default}; |
|||
@ -1 +0,0 @@ |
|||
import{_ as o}from"./adjust-money.vue_vue_type_style_index_0_lang-42f3e76e.js";import"./index-1dc7b228.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-4ed993c7.js";/* empty css */import"./order-8a914cd9.js";export{o as default}; |
|||
@ -1 +0,0 @@ |
|||
import{d as O,r as f,l as R,h as b,m as M,w as d,a as r,e as a,i as x,t as u,u as t,k as l,B as $,c as V,bi as z,Q as G,D as L,G as P,H as S,$ as A,ax as H,a0 as K,E as Q,V as q}from"./index-1dc7b228.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-4ed993c7.js";/* empty css */import{o as J}from"./order-8a914cd9.js";const W={class:"max-h-[600px] overflow-y-auto"},X={class:"panel-title ml-[10px]"},Y={class:"mb-[20px]"},Z={class:"multi-hidden text-[14px]"},ee=r("text",{class:"nc-iconfont nc-icon-bangzhuV6xx ml-[5px] text-[12px]"},null,-1),oe=r("h3",{class:"panel-title ml-[10px]"},[r("span",{class:"text-primary"},"实际商品金额"),r("span",null," = 商品总额 - 优惠金额 + 调价")],-1),te={class:"panel-title ml-[10px]"},le=r("span",{class:"text-primary"},"订单总额",-1),ae={key:0},ne={key:1},se={class:"dialog-footer"},Me=O({__name:"adjust-money",emits:["complete"],setup(de,{expose:w,emit:E}){const m=f(!1),y=f(!1),n=R({}),_=f(0),g=f([]),F=o=>{z(o),_.value=o.target.value},k=o=>{for(let e in n)delete n[e];Object.assign(n,G(o)),n.order_goods=n.order_goods.filter(e=>e.is_gift!=1),g.value=[],n.order_goods.forEach(e=>{e.adjust_money="",e.total=(parseFloat(e.goods_money)-parseFloat(e.discount_money)).toFixed(2),g.value.push(e.goods_type)}),_.value=n.delivery_money},D=(o,e,c)=>{let i=parseFloat(c.goods_money)-parseFloat(c.discount_money);o.length==0||isNaN(o)?(o=0,n.order_goods[e].adjust_money=""):o=parseFloat(o),parseFloat(o)+i<0?(o=i,n.order_goods[e].adjust_money=-o,i=0):i+=o,i=Math.round(i*100)/100,n.order_goods[e].total=i.toFixed(2)},h=f(!1),C=()=>{if(y.value=!0,h.value)return;h.value=!0;let o={};n.order_goods.forEach(e=>{e.adjust_money&&(o[e.order_goods_id]={money:e.adjust_money})}),J({order_id:n.order_id,delivery_money:parseFloat(_.value),order_goods_data:o}).then(e=>{h.value=!1,y.value=!1,m.value=!1,E("complete")}).catch(()=>{h.value=!1,y.value=!1})};return w({showDialog:m,setFormData:k}),(o,e)=>{const c=L,i=P,T=S,p=A,N=H,B=K,j=Q,U=q;return b(),M(U,{modelValue:m.value,"onUpdate:modelValue":e[4]||(e[4]=s=>m.value=s),title:t(l)("adjustMoneyDialogTitle"),width:"1000px",class:"diy-dialog-wrap","destroy-on-close":!0},{footer:d(()=>[r("span",se,[a(j,{onClick:e[2]||(e[2]=s=>m.value=!1)},{default:d(()=>[x(u(t(l)("cancel")),1)]),_:1}),a(j,{type:"primary",loading:y.value,onClick:e[3]||(e[3]=s=>C(o.formRef))},{default:d(()=>[x(u(t(l)("confirm")),1)]),_:1},8,["loading"])])]),default:d(()=>[r("div",W,[r("h3",X,u(t(l)("adjustMoneyTips")),1),g.value.indexOf("real")!=-1?(b(),M(T,{key:0,"label-width":"50px",ref:"formRef",class:"page-form"},{default:d(()=>[a(i,{label:t(l)("adjustMoneyDeliveryMoney"),prop:"express_number"},{default:d(()=>[a(c,{modelValue:_.value,"onUpdate:modelValue":e[0]||(e[0]=s=>_.value=s),modelModifiers:{trim:!0},clearable:"",placeholder:"0.00",class:"!w-[200px]",maxlength:"8",onKeyup:e[1]||(e[1]=s=>F(s))},{append:d(()=>[x(u(t(l)("adjustMoneyUnit")),1)]),_:1},8,["modelValue"])]),_:1},8,["label"])]),_:1},512)):$("",!0),r("div",Y,[a(B,{data:n.order_goods,size:"large"},{default:d(()=>[a(p,{label:t(l)("adjustMoneyGoodsInfo"),align:"left",width:"200"},{default:d(({row:s})=>[r("p",Z,u(s.goods_name),1)]),_:1},8,["label"]),a(p,{prop:"price",label:t(l)("adjustMoneyPrice"),"min-width":"50",align:"left"},null,8,["label"]),a(p,{prop:"num",label:t(l)("adjustMoneyNum"),"min-width":"50",align:"right"},null,8,["label"]),a(p,{prop:"goods_money",label:t(l)("adjustMoneySubTotal"),"min-width":"50",align:"right"},null,8,["label"]),a(p,{prop:"discount_money",label:t(l)("adjustMoneyDiscountMoney"),"min-width":"50",align:"right"},null,8,["label"]),a(p,{prop:"goods_name",label:t(l)("adjustMoneyLabel"),"min-width":"100"},{header:d(()=>[r("div",null,[r("span",null,u(t(l)("adjustMoneyLabel")),1),a(N,{effect:"dark",content:"负数表示下调金额,正数表示上调金额",placement:"top"},{default:d(()=>[ee]),_:1})])]),default:d(({row:s,$index:I})=>[a(c,{modelValue:s.adjust_money,"onUpdate:modelValue":v=>s.adjust_money=v,modelModifiers:{trim:!0},clearable:"",placeholder:"0.00",maxlength:"6",onChange:v=>D(v,I,s)},{append:d(()=>[x(u(t(l)("adjustMoneyUnit")),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]),_:1},8,["label"]),a(p,{prop:"total",label:t(l)("adjustMoneyTotal"),"min-width":"70",align:"right"},null,8,["label"])]),_:1},8,["data"])]),oe,r("h3",te,[le,g.value.indexOf("real")!=-1?(b(),V("span",ae," = 实际商品金额 + 运费")):(b(),V("span",ne," = 实际商品金额"))])])]),_:1},8,["modelValue","title"])}}});export{Me as _}; |
|||
@ -0,0 +1 @@ |
|||
import{d as I,r as f,l as O,h as b,m as M,w as d,a as r,e as a,i as v,t as u,u as t,k as l,B as R,c as V,bk as G,Q as L,D as P,G as S,H as $,a1 as A,az as H,a2 as K,E as Q,V as q}from"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-4ed993c7.js";/* empty css */import{o as J}from"./order-251457e8.js";const W={class:"max-h-[600px] overflow-y-auto"},X={class:"panel-title ml-[10px]"},Y={class:"mb-[20px]"},Z={class:"multi-hidden text-[14px]"},ee=r("text",{class:"nc-iconfont nc-icon-bangzhuV6xx ml-[5px] text-[12px]"},null,-1),oe=r("h3",{class:"panel-title ml-[10px]"},[r("span",{class:"text-primary"},"实际商品金额"),r("span",null," = 商品总额 - 优惠金额 + 调价")],-1),te={class:"panel-title ml-[10px]"},le=r("span",{class:"text-primary"},"订单总额",-1),ae={key:0},ne={key:1},se={class:"dialog-footer"},Me=I({__name:"adjust-money",emits:["complete"],setup(de,{expose:w,emit:E}){const m=f(!1),y=f(!1),n=O({}),_=f(0),g=f([]),k=o=>{G(o),_.value=o.target.value},F=o=>{for(let e in n)delete n[e];Object.assign(n,L(o)),n.order_goods=n.order_goods.filter(e=>e.is_gift!=1),g.value=[],n.order_goods.forEach(e=>{e.adjust_money="",e.total=(parseFloat(e.goods_money)-parseFloat(e.discount_money)).toFixed(2),g.value.push(e.goods_type)}),_.value=n.delivery_money},D=(o,e,c)=>{let i=parseFloat(c.goods_money)-parseFloat(c.discount_money);o.length==0||isNaN(o)?(o=0,n.order_goods[e].adjust_money=""):o=parseFloat(o),parseFloat(o)+i<0?(o=i,n.order_goods[e].adjust_money=-o,i=0):i+=o,i=Math.round(i*100)/100,n.order_goods[e].total=i.toFixed(2)},h=f(!1),C=()=>{if(y.value=!0,h.value)return;h.value=!0;let o={};n.order_goods.forEach(e=>{e.adjust_money&&(o[e.order_goods_id]={money:e.adjust_money})}),J({order_id:n.order_id,delivery_money:parseFloat(_.value),order_goods_data:o}).then(e=>{h.value=!1,y.value=!1,m.value=!1,E("complete")}).catch(()=>{h.value=!1,y.value=!1})};return w({showDialog:m,setFormData:F}),(o,e)=>{const c=P,i=S,T=$,p=A,N=H,B=K,j=Q,U=q;return b(),M(U,{modelValue:m.value,"onUpdate:modelValue":e[4]||(e[4]=s=>m.value=s),title:t(l)("adjustMoneyDialogTitle"),width:"1000px",class:"diy-dialog-wrap","destroy-on-close":!0},{footer:d(()=>[r("span",se,[a(j,{onClick:e[2]||(e[2]=s=>m.value=!1)},{default:d(()=>[v(u(t(l)("cancel")),1)]),_:1}),a(j,{type:"primary",loading:y.value,onClick:e[3]||(e[3]=s=>C(o.formRef))},{default:d(()=>[v(u(t(l)("confirm")),1)]),_:1},8,["loading"])])]),default:d(()=>[r("div",W,[r("h3",X,u(t(l)("adjustMoneyTips")),1),g.value.indexOf("real")!=-1?(b(),M(T,{key:0,"label-width":"50px",ref:"formRef",class:"page-form"},{default:d(()=>[a(i,{label:t(l)("adjustMoneyDeliveryMoney"),prop:"express_number"},{default:d(()=>[a(c,{modelValue:_.value,"onUpdate:modelValue":e[0]||(e[0]=s=>_.value=s),modelModifiers:{trim:!0},clearable:"",placeholder:"0.00",class:"!w-[200px]",maxlength:"8",onKeyup:e[1]||(e[1]=s=>k(s))},{append:d(()=>[v(u(t(l)("adjustMoneyUnit")),1)]),_:1},8,["modelValue"])]),_:1},8,["label"])]),_:1},512)):R("",!0),r("div",Y,[a(B,{data:n.order_goods,size:"large"},{default:d(()=>[a(p,{label:t(l)("adjustMoneyGoodsInfo"),align:"left",width:"200"},{default:d(({row:s})=>[r("p",Z,u(s.goods_name),1)]),_:1},8,["label"]),a(p,{prop:"price",label:t(l)("adjustMoneyPrice"),"min-width":"50",align:"left"},null,8,["label"]),a(p,{prop:"num",label:t(l)("adjustMoneyNum"),"min-width":"50",align:"right"},null,8,["label"]),a(p,{prop:"goods_money",label:t(l)("adjustMoneySubTotal"),"min-width":"50",align:"right"},null,8,["label"]),a(p,{prop:"discount_money",label:t(l)("adjustMoneyDiscountMoney"),"min-width":"50",align:"right"},null,8,["label"]),a(p,{prop:"goods_name",label:t(l)("adjustMoneyLabel"),"min-width":"100"},{header:d(()=>[r("div",null,[r("span",null,u(t(l)("adjustMoneyLabel")),1),a(N,{effect:"dark",content:"负数表示下调金额,正数表示上调金额",placement:"top"},{default:d(()=>[ee]),_:1})])]),default:d(({row:s,$index:z})=>[a(c,{modelValue:s.adjust_money,"onUpdate:modelValue":x=>s.adjust_money=x,modelModifiers:{trim:!0},clearable:"",placeholder:"0.00",maxlength:"6",onChange:x=>D(x,z,s)},{append:d(()=>[v(u(t(l)("adjustMoneyUnit")),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]),_:1},8,["label"]),a(p,{prop:"total",label:t(l)("adjustMoneyTotal"),"min-width":"70",align:"right"},null,8,["label"])]),_:1},8,["data"])]),oe,r("h3",te,[le,g.value.indexOf("real")!=-1?(b(),V("span",ae," = 实际商品金额 + 运费")):(b(),V("span",ne," = 实际商品金额"))])])]),_:1},8,["modelValue","title"])}}});export{Me as _}; |
|||
@ -1 +0,0 @@ |
|||
import{d as V,v as C,r as u,l as E,h as f,c as k,J as y,m as B,w as s,e,a as m,t as c,u as r,k as n,i as D,Q as F,av as I,G as L,K as N,H as R,E as S,L as H}from"./index-1dc7b228.js";/* empty css *//* empty css *//* empty css *//* empty css */import T from"./index-372cf5b6.js";import"./el-form-item-4ed993c7.js";/* empty css */import{H as U,I as j}from"./sys-3783faf5.js";/* empty css */import"./index.vue_vue_type_style_index_0_lang-bbada8fe.js";/* empty css *//* empty css */import"./attachment-a2bedbef.js";import"./index.vue_vue_type_script_setup_true_lang-5649c955.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-01b1252e.js";/* empty css */import"./index.vue_vue_type_script_setup_true_lang-83404fbb.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./sortable.esm-be94e56d.js";const G={class:"main-container"},J={class:"panel-title !text-sm"},K={class:"form-tip"},O={class:"fixed-footer-wrap"},Q={class:"fixed-footer"},Bt=V({__name:"adminlogin",setup($){C().meta.title;const a=u(!0),d=u(),o=E({is_captcha:0,bg:""});(async()=>{const i=await(await U()).data;Object.keys(o).forEach(t=>{o[t]=i[t]}),a.value=!1})();const v=async i=>{a.value||!i||await i.validate(t=>{if(t){const p=F(o);j(p).then(()=>{a.value=!1}).catch(()=>{a.value=!1})}})};return(i,t)=>{const p=I,_=L,g=T,h=N,b=R,w=S,x=H;return f(),k("div",G,[y((f(),B(b,{class:"page-form",model:o,"label-width":"150px",ref_key:"ruleFormRef",ref:d},{default:s(()=>[e(h,{class:"box-card !border-none",shadow:"never"},{default:s(()=>[m("h3",J,c(r(n)("admin")),1),e(_,{label:r(n)("isCaptcha")},{default:s(()=>[e(p,{modelValue:o.is_captcha,"onUpdate:modelValue":t[0]||(t[0]=l=>o.is_captcha=l),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1},8,["label"]),e(_,{label:r(n)("bgImg")},{default:s(()=>[e(g,{modelValue:o.bg,"onUpdate:modelValue":t[1]||(t[1]=l=>o.bg=l)},null,8,["modelValue"]),m("div",K,c(r(n)("adminBgImgTip")),1)]),_:1},8,["label"])]),_:1})]),_:1},8,["model"])),[[x,a.value]]),m("div",O,[m("div",Q,[e(w,{type:"primary",onClick:t[2]||(t[2]=l=>v(d.value))},{default:s(()=>[D(c(r(n)("save")),1)]),_:1})])])])}}});export{Bt as default}; |
|||
@ -0,0 +1 @@ |
|||
import{d as V,v as C,r as u,l as E,h as f,c as k,J as y,m as B,w as s,e,a as m,t as c,u as r,k as n,i as D,Q as F,ax as I,G as L,K as N,H as R,E as S,L as J}from"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css */import T from"./index-596ea1de.js";import"./el-form-item-4ed993c7.js";/* empty css */import{I as U,J as j}from"./sys-aa8fe7bc.js";/* empty css */import"./index.vue_vue_type_style_index_0_lang-f9f087dc.js";/* empty css *//* empty css */import"./attachment-f61a6f2f.js";import"./index.vue_vue_type_script_setup_true_lang-da4137fd.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-d0f6a040.js";/* empty css */import"./index.vue_vue_type_script_setup_true_lang-8180d9b1.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./sortable.esm-be94e56d.js";const G={class:"main-container"},H={class:"panel-title !text-sm"},K={class:"form-tip"},O={class:"fixed-footer-wrap"},Q={class:"fixed-footer"},Bt=V({__name:"adminlogin",setup($){C().meta.title;const a=u(!0),d=u(),o=E({is_captcha:0,bg:""});(async()=>{const i=await(await U()).data;Object.keys(o).forEach(t=>{o[t]=i[t]}),a.value=!1})();const v=async i=>{a.value||!i||await i.validate(t=>{if(t){const p=F(o);j(p).then(()=>{a.value=!1}).catch(()=>{a.value=!1})}})};return(i,t)=>{const p=I,_=L,g=T,h=N,b=R,w=S,x=J;return f(),k("div",G,[y((f(),B(b,{class:"page-form",model:o,"label-width":"150px",ref_key:"ruleFormRef",ref:d},{default:s(()=>[e(h,{class:"box-card !border-none",shadow:"never"},{default:s(()=>[m("h3",H,c(r(n)("admin")),1),e(_,{label:r(n)("isCaptcha")},{default:s(()=>[e(p,{modelValue:o.is_captcha,"onUpdate:modelValue":t[0]||(t[0]=l=>o.is_captcha=l),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1},8,["label"]),e(_,{label:r(n)("bgImg")},{default:s(()=>[e(g,{modelValue:o.bg,"onUpdate:modelValue":t[1]||(t[1]=l=>o.bg=l)},null,8,["modelValue"]),m("div",K,c(r(n)("adminBgImgTip")),1)]),_:1},8,["label"])]),_:1})]),_:1},8,["model"])),[[x,a.value]]),m("div",O,[m("div",Q,[e(w,{type:"primary",onClick:t[2]||(t[2]=l=>v(d.value))},{default:s(()=>[D(c(r(n)("save")),1)]),_:1})])])])}}});export{Bt as default}; |
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue