From 57e0854a0e8c936ba1d6b87b95e4ebc72e621558 Mon Sep 17 00:00:00 2001
From: vipnub <1056633414@qq.com>
Date: Fri, 18 Sep 2026 20:55:21 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E5=9F=BA=E6=9C=AC?=
=?UTF-8?q?=E8=B0=83=E6=95=B4=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
admin-vue/src/api/partners/order.js | 67 ++-
admin-vue/src/api/qyt/driver.js | 23 +
admin-vue/src/api/qyt/enterprise.js | 8 +-
admin-vue/src/api/qyt/invoice.js | 17 +
admin-vue/src/common/model/partners/Index.js | 6 +-
admin-vue/src/config/router.config.js | 10 +
admin-vue/src/views/partners/Create.vue | 2 +-
admin-vue/src/views/partners/Index.vue | 34 +-
admin-vue/src/views/partners/Update.vue | 3 +-
admin-vue/src/views/partners/order/Index.vue | 75 ++-
.../partners/order/modules/InvoiceModal.vue | 105 ++++
.../partners/order/modules/RefundForm.vue | 235 ++++++++
.../src/views/partners/order/modules/index.js | 4 +-
admin-vue/src/views/qyt/driver/Index.vue | 288 ++++++++++
admin-vue/src/views/qyt/enterprise/Index.vue | 33 +-
admin-vue/src/views/qyt/invoice/Index.vue | 178 ++++++
server-tp6/app/api/controller/OilCard.php | 95 +++-
server-tp6/app/common/crypto/Qyt.php | 23 +-
server-tp6/app/common/service/QytDriver.php | 96 ++++
server-tp6/app/common/service/QytInvoice.php | 200 +++++++
server-tp6/app/common/service/QytOil.php | 146 ++++-
server-tp6/app/common/service/QytRefund.php | 524 ++++++++++++++++++
.../app/console/command/CallbackQueue.php | 123 ++--
.../app/console/command/NotifyQueue.php | 34 +-
server-tp6/app/store/controller/Partners.php | 33 ++
.../app/store/controller/partners/Order.php | 132 ++++-
.../app/store/controller/qyt/Driver.php | 195 +++++++
.../app/store/controller/qyt/Enterprise.php | 19 +
.../app/store/controller/qyt/Invoice.php | 71 +++
server-tp6/app/store/model/partners/Order.php | 6 +
server-tp6/config/qyt.php | 5 +
server-tp6/deploy/h5_debug.php | 113 ++++
server-tp6/public/qyt_test.php | 66 ++-
...b75505e.css => chunk-vendors.43940245.css} | 0
...e.css.gz => chunk-vendors.43940245.css.gz} | Bin
...{goods.50f80ed8.css => goods.5e999d2c.css} | 2 +-
.../public/store/css/goods.5e999d2c.css.gz | Bin 0 -> 1772 bytes
.../public/store/css/setting.37110db2.css | 1 +
.../public/store/css/setting.a8d19305.css | 1 -
server-tp6/public/store/index.html | 2 +-
.../js/{app.b2cf6a22.js => app.76ad6bca.js} | 2 +-
server-tp6/public/store/js/app.76ad6bca.js.gz | Bin 0 -> 44272 bytes
server-tp6/public/store/js/app.b2cf6a22.js.gz | Bin 44216 -> 0 bytes
server-tp6/public/store/js/goods.19f5e8e7.js | 1 +
.../public/store/js/goods.19f5e8e7.js.gz | Bin 0 -> 32645 bytes
server-tp6/public/store/js/goods.e491ade3.js | 1 -
.../public/store/js/goods.e491ade3.js.gz | Bin 25385 -> 0 bytes
.../public/store/js/setting.02914954.js | 1 +
.../public/store/js/setting.02914954.js.gz | Bin 0 -> 9762 bytes
.../public/store/js/setting.c3c97868.js | 1 -
.../public/store/js/setting.c3c97868.js.gz | Bin 9581 -> 0 bytes
server-tp6/qyt_migration_partial_fuel.sql | 84 +++
.../qyt_migration_refund_invoice_driver.sql | 162 ++++++
server-tp6/server-tp6.zip | Bin 46778816 -> 47321289 bytes
~$宝供应链平台接口文档V1.0.17.docx | Bin 0 -> 162 bytes
慧明宝供应链平台接口文档V1.0.17.docx | Bin 203322 -> 209794 bytes
56 files changed, 3122 insertions(+), 105 deletions(-)
create mode 100644 admin-vue/src/api/qyt/driver.js
create mode 100644 admin-vue/src/api/qyt/invoice.js
create mode 100644 admin-vue/src/views/partners/order/modules/InvoiceModal.vue
create mode 100644 admin-vue/src/views/partners/order/modules/RefundForm.vue
create mode 100644 admin-vue/src/views/qyt/driver/Index.vue
create mode 100644 admin-vue/src/views/qyt/invoice/Index.vue
create mode 100644 server-tp6/app/common/service/QytDriver.php
create mode 100644 server-tp6/app/common/service/QytInvoice.php
create mode 100644 server-tp6/app/common/service/QytRefund.php
create mode 100644 server-tp6/app/store/controller/qyt/Driver.php
create mode 100644 server-tp6/app/store/controller/qyt/Invoice.php
create mode 100644 server-tp6/deploy/h5_debug.php
rename server-tp6/public/store/css/{chunk-vendors.eb75505e.css => chunk-vendors.43940245.css} (100%)
rename server-tp6/public/store/css/{chunk-vendors.eb75505e.css.gz => chunk-vendors.43940245.css.gz} (100%)
rename server-tp6/public/store/css/{goods.50f80ed8.css => goods.5e999d2c.css} (75%)
create mode 100644 server-tp6/public/store/css/goods.5e999d2c.css.gz
create mode 100644 server-tp6/public/store/css/setting.37110db2.css
delete mode 100644 server-tp6/public/store/css/setting.a8d19305.css
rename server-tp6/public/store/js/{app.b2cf6a22.js => app.76ad6bca.js} (88%)
create mode 100644 server-tp6/public/store/js/app.76ad6bca.js.gz
delete mode 100644 server-tp6/public/store/js/app.b2cf6a22.js.gz
create mode 100644 server-tp6/public/store/js/goods.19f5e8e7.js
create mode 100644 server-tp6/public/store/js/goods.19f5e8e7.js.gz
delete mode 100644 server-tp6/public/store/js/goods.e491ade3.js
delete mode 100644 server-tp6/public/store/js/goods.e491ade3.js.gz
create mode 100644 server-tp6/public/store/js/setting.02914954.js
create mode 100644 server-tp6/public/store/js/setting.02914954.js.gz
delete mode 100644 server-tp6/public/store/js/setting.c3c97868.js
delete mode 100644 server-tp6/public/store/js/setting.c3c97868.js.gz
create mode 100644 server-tp6/qyt_migration_partial_fuel.sql
create mode 100644 server-tp6/qyt_migration_refund_invoice_driver.sql
create mode 100644 ~$宝供应链平台接口文档V1.0.17.docx
diff --git a/admin-vue/src/api/partners/order.js b/admin-vue/src/api/partners/order.js
index a1c9c8a..383c3e8 100644
--- a/admin-vue/src/api/partners/order.js
+++ b/admin-vue/src/api/partners/order.js
@@ -6,7 +6,12 @@ const api = {
share: '/partners.order/share',
qrCode: '/partners.order/qrCode',
oilCallback: '/partners.order/oilCallback',
- useCallback: '/partners.order/useCallback'
+ useCallback: '/partners.order/useCallback',
+ refund: '/partners.order/refund',
+ refundConfirm: '/partners.order/refundConfirm',
+ refundResolve: '/partners.order/refundResolve',
+ refundLog: '/partners.order/refundLog',
+ invoice: '/partners.order/invoice'
}
// 列表记录
@@ -65,3 +70,63 @@ export function useCallback (data) {
data
})
}
+
+/**
+ * 退款(整单全额:企油通 7.17 查凭证 + 7.16 调低额度)
+ * @param {*} data { orderId, reason }
+ */
+export function refund (data) {
+ return axios({
+ url: api.refund,
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 待人工确认的退款:向企油通取证确认
+ * @param {*} data { orderId }
+ */
+export function refundConfirm (data) {
+ return axios({
+ url: api.refundConfirm,
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 待人工确认的退款:人工判定
+ * @param {*} data { orderId, result: success|failed, remark }
+ */
+export function refundResolve (data) {
+ return axios({
+ url: api.refundResolve,
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 订单退款流水
+ * @param {*} params { orderId }
+ */
+export function refundLog (params) {
+ return axios({
+ url: api.refundLog,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 订单关联发票(企油通 7.14,按企业+消费月份+司机)
+ * @param {*} params { orderId, refresh }
+ */
+export function invoice (params) {
+ return axios({
+ url: api.invoice,
+ method: 'get',
+ params
+ })
+}
diff --git a/admin-vue/src/api/qyt/driver.js b/admin-vue/src/api/qyt/driver.js
new file mode 100644
index 0000000..25092fd
--- /dev/null
+++ b/admin-vue/src/api/qyt/driver.js
@@ -0,0 +1,23 @@
+import { axios } from '@/utils/request'
+
+// api接口列表
+const api = {
+ list: '/qyt.driver/list',
+ detail: '/qyt.driver/detail',
+ upstream: '/qyt.driver/upstream'
+}
+
+// 司机列表
+export function list (params) {
+ return axios({ url: api.list, method: 'get', params })
+}
+
+// 司机详情
+export function detail (params) {
+ return axios({ url: api.detail, method: 'get', params })
+}
+
+// 实时查企油通:type = balance(7.12) / wallet(7.13) / voucher(7.17)
+export function upstream (params) {
+ return axios({ url: api.upstream, method: 'get', params })
+}
diff --git a/admin-vue/src/api/qyt/enterprise.js b/admin-vue/src/api/qyt/enterprise.js
index 58a8e64..15e9b9a 100644
--- a/admin-vue/src/api/qyt/enterprise.js
+++ b/admin-vue/src/api/qyt/enterprise.js
@@ -11,7 +11,8 @@ const api = {
setDefault: '/qyt.enterprise/setDefault',
apply: '/qyt.enterprise/apply',
syncAccount: '/qyt.enterprise/syncAccount',
- syncList: '/qyt.enterprise/syncList'
+ syncList: '/qyt.enterprise/syncList',
+ balance: '/qyt.enterprise/balance'
}
// 企业列表
@@ -63,3 +64,8 @@ export function syncAccount (data) {
export function syncList (data) {
return axios({ url: api.syncList, method: 'post', data })
}
+
+// 7.11 企业账户余额(仅平安银行通道)
+export function balance (params) {
+ return axios({ url: api.balance, method: 'get', params })
+}
diff --git a/admin-vue/src/api/qyt/invoice.js b/admin-vue/src/api/qyt/invoice.js
new file mode 100644
index 0000000..ae3c5e0
--- /dev/null
+++ b/admin-vue/src/api/qyt/invoice.js
@@ -0,0 +1,17 @@
+import { axios } from '@/utils/request'
+
+// api接口列表
+const api = {
+ list: '/qyt.invoice/list',
+ sync: '/qyt.invoice/sync'
+}
+
+// 发票记录
+export function list (params) {
+ return axios({ url: api.list, method: 'get', params })
+}
+
+// 同步发票(企油通 7.14):enterpriseId 不传则批量同步所有启用企业当月全量
+export function sync (data) {
+ return axios({ url: api.sync, method: 'post', data })
+}
diff --git a/admin-vue/src/common/model/partners/Index.js b/admin-vue/src/common/model/partners/Index.js
index a25955d..6489d7a 100644
--- a/admin-vue/src/common/model/partners/Index.js
+++ b/admin-vue/src/common/model/partners/Index.js
@@ -55,9 +55,11 @@ export default {
'appKey', 'callback', 'create_time'
])
partnersFormData.callback = partnersFormData.callback.toString()
- console.log(partnersFormData)
+ // 企油通企业:0 表示未绑定(走默认企业),下拉框要给 undefined 才会显示占位提示
+ const enterpriseId = Number(partnersInfo.qyt_enterprise_id || 0)
return {
- ...partnersFormData
+ ...partnersFormData,
+ qyt_enterprise_id: enterpriseId > 0 ? enterpriseId : undefined
}
},
diff --git a/admin-vue/src/config/router.config.js b/admin-vue/src/config/router.config.js
index 44aca42..2c17727 100644
--- a/admin-vue/src/config/router.config.js
+++ b/admin-vue/src/config/router.config.js
@@ -570,6 +570,16 @@ export const asyncRouterMap = [
component: () => import(/* webpackChunkName: "goods" */ '@/views/partners/order/Index'),
meta: { title: '订单列表', keepAlive: false, permission: ['/partners/order/index'] }
},
+ {
+ path: '/qyt/driver/index',
+ component: () => import(/* webpackChunkName: "goods" */ '@/views/qyt/driver/Index'),
+ meta: { title: '司机管理', keepAlive: false, permission: ['/qyt/driver/index'] }
+ },
+ {
+ path: '/qyt/invoice/index',
+ component: () => import(/* webpackChunkName: "goods" */ '@/views/qyt/invoice/Index'),
+ meta: { title: '发票管理', keepAlive: false, permission: ['/qyt/invoice/index'] }
+ },
{
path: '/partners/balance',
component: RouteView,
diff --git a/admin-vue/src/views/partners/Create.vue b/admin-vue/src/views/partners/Create.vue
index 37f5f8e..88b8cf3 100644
--- a/admin-vue/src/views/partners/Create.vue
+++ b/admin-vue/src/views/partners/Create.vue
@@ -152,7 +152,7 @@ export default {
onFormSubmit (values) {
this.isLoading = true
this.isBtnLoading = true
- PartnersApi.add({ form: values })
+ PartnersApi.add({ form: { ...values, qyt_enterprise_id: values.qyt_enterprise_id || 0 } })
.then(result => {
// 显示提示信息
this.$message.success(result.message, 1.5)
diff --git a/admin-vue/src/views/partners/Index.vue b/admin-vue/src/views/partners/Index.vue
index cd2624a..ead59bd 100644
--- a/admin-vue/src/views/partners/Index.vue
+++ b/admin-vue/src/views/partners/Index.vue
@@ -37,8 +37,24 @@
:data="loadData"
:rowSelection="rowSelection"
:pageSize="15"
- :scroll="{ x: 1450 }"
+ :scroll="{ x: 1670 }"
>
+
+
+
+ {{ item.qyt_enterprise_name }}
+ 已绑定 · {{ item.qyt_enterprise_channel }}
+
+
+ {{ item.qyt_enterprise_name }}
+ 未绑定,使用默认企业 · {{ item.qyt_enterprise_channel }}
+
+
+ 绑定失效:{{ item.qyt_bind_name || '企业已删除' }}
+ {{ item.qyt_enterprise_name ? '实际使用默认企业 ' + item.qyt_enterprise_name : '且没有默认企业,下单会被拒绝' }}
+
+
无可用企业,下单会被拒绝
+
{{ text }}
@@ -79,6 +95,11 @@ const columns = [
width: '150px',
dataIndex: 'name'
},
+ {
+ title: '企油通企业',
+ width: '220px',
+ scopedSlots: { customRender: 'qyt' }
+ },
{
title: '合作商地址',
width: '200px',
@@ -260,4 +281,15 @@ export default {
.tab-list {
margin-right: 20px;
}
+.qyt-name {
+ margin: 0;
+}
+.qyt-sub {
+ margin: 2px 0 0;
+ color: #999;
+ font-size: 12px;
+}
+.text-red {
+ color: #f5222d;
+}
diff --git a/admin-vue/src/views/partners/Update.vue b/admin-vue/src/views/partners/Update.vue
index 11c7951..22e22d1 100644
--- a/admin-vue/src/views/partners/Update.vue
+++ b/admin-vue/src/views/partners/Update.vue
@@ -180,7 +180,8 @@ export default {
onFormSubmit (values) {
this.isLoading = true
this.isBtnLoading = true
- PartnersApi.edit({ partnersId: this.partnersId, form: values })
+ // 清空企业下拉框时值是 undefined,JSON 序列化会丢掉该字段,后端就不会解绑;显式提交 0
+ PartnersApi.edit({ partnersId: this.partnersId, form: { ...values, qyt_enterprise_id: values.qyt_enterprise_id || 0 } })
.then(result => {
// 显示提示信息
this.$message.success(result.message, 1.5)
diff --git a/admin-vue/src/views/partners/order/Index.vue b/admin-vue/src/views/partners/order/Index.vue
index 17814a1..80368f2 100644
--- a/admin-vue/src/views/partners/order/Index.vue
+++ b/admin-vue/src/views/partners/order/Index.vue
@@ -43,6 +43,16 @@
>{{ item.name }}
+
+
+ 全部
+ 未退款
+ 退款中
+ 已退款
+ 退款失败
+ 待人工确认
+
+
全部
@@ -91,9 +101,9 @@
- {{ item.station_name || '-' }}
- {{ item.oil_name }} {{ item.litter }}L
- 实付:¥{{ (item.pay_fee / 100).toFixed(2) }}
+ 已加油:¥{{ item.used_amount }}({{ item.used_num }} 次)
+ 剩余:¥{{ remainAmount(item) }}
+ 最近:{{ item.station_name || '-' }} {{ item.oil_name }} {{ item.litter }}L
-
@@ -115,6 +125,10 @@
{{ qytText(item.oil_status_zsy) }}
+
+ 退款:
+ {{ refundText(item.refund_status) }}
+
+
+
@@ -149,7 +167,7 @@ import { STable } from '@/components/Table'
import {
OilStatusEnum, UseStatusEnum
} from '@/common/enum/order'
-import { OilForm, UseForm, ShareForm, PayForm } from './modules'
+import { OilForm, UseForm, ShareForm, PayForm, RefundForm, InvoiceModal } from './modules'
import { assignment, inArray } from '@/utils/util'
import zhCN from 'ant-design-vue/es/locale/zh_CN'
import * as PartnersApi from '@/api/partners'
@@ -161,7 +179,9 @@ export default {
ShareForm,
PayForm,
OilForm,
- UseForm
+ UseForm,
+ RefundForm,
+ InvoiceModal
},
data () {
return {
@@ -219,7 +239,7 @@ export default {
},
{
title: '操作',
- width: '180px',
+ width: '220px',
scopedSlots: { customRender: 'action' }
},
{
@@ -300,6 +320,36 @@ export default {
this.$refs.UseForm.show(record)
},
+ // 退款状态文案 / 颜色
+ refundText (v) {
+ return { 0: '未退款', 1: '退款中', 2: '已退款', 3: '退款失败', 4: '待人工确认' }[v] || '未知'
+ },
+ refundColor (v) {
+ return { 1: 'blue', 2: 'green', 3: 'red', 4: 'orange' }[v] || ''
+ },
+ // 发放成功才可能退款;已经有退款记录的单总是可以打开看流水
+ canRefund (item) {
+ if (item.oilCardType !== 'zsy_ticket' || item.oil_status_zsy !== 2 || item.oil_status !== 1) {
+ return false
+ }
+ return item.refund_status > 0 || Number(this.remainAmount(item)) > 0
+ },
+ // 剩余未加油金额:订单金额 − 已加油 −(已退款时)退款金额
+ remainAmount (item) {
+ const refunded = item.refund_status === 2 ? Number(item.refund_amount || 0) : 0
+ const remain = Number(item.total_price || 0) - Number(item.used_amount || 0) - refunded
+ return Math.max(0, remain).toFixed(2)
+ },
+ refundLabel (item) {
+ return { 2: '退款记录', 4: '确认退款' }[item.refund_status] || '退款'
+ },
+ handleRefund (record) {
+ this.$refs.RefundForm.show(record)
+ },
+ handleInvoice (record) {
+ this.$refs.InvoiceModal.show(record)
+ },
+
/**
* 获取代理商列表
*/
@@ -325,6 +375,17 @@ export default {
.flex-box{
display: flex;
}
+// 操作栏:按钮较多会换行,横向纵向都留出间距(覆盖全局 .actions>a 的 8px 右边距)
+.actions {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 8px 16px;
+
+ & > a {
+ margin-right: 0 !important;
+ white-space: nowrap;
+ }
+}
.form-total{
color: #1890ff;
margin-right: 10px;
diff --git a/admin-vue/src/views/partners/order/modules/InvoiceModal.vue b/admin-vue/src/views/partners/order/modules/InvoiceModal.vue
new file mode 100644
index 0000000..a0afa65
--- /dev/null
+++ b/admin-vue/src/views/partners/order/modules/InvoiceModal.vue
@@ -0,0 +1,105 @@
+
+
+
+
+
+ 企油通发票按「企业 + 月份 + 司机」出具,和单笔订单没有一一对应关系。
+ 这里展示的是该订单所属企业、该司机在消费当月的全部发票,同一司机当月的其他订单看到的是同一批。
+
+
+
+ 消费月份:{{ month || '-' }} 司机:{{ record.driver_name || '-' }} {{ record.mobile }}
+ 最近同步:{{ row.sync_time_text }} {{ row.sync_text }}
+ {{ message }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/admin-vue/src/views/partners/order/modules/RefundForm.vue b/admin-vue/src/views/partners/order/modules/RefundForm.vue
new file mode 100644
index 0000000..2bf2387
--- /dev/null
+++ b/admin-vue/src/views/partners/order/modules/RefundForm.vue
@@ -0,0 +1,235 @@
+
+
+
+
+
油卡编号:{{ record.oilCardNo }}
+
司机:{{ record.driver_name || '-' }} {{ record.mobile }}
+
订单金额:¥{{ record.total_price }} 已加油:¥{{ record.used_amount || '0.00' }}({{ record.used_num || 0 }} 次)
+
+ 退款金额:¥{{ refundAmount }}
+ (实际退款)
+ (剩余未加油金额,固定不可修改)
+
+
当前状态:{{ statusText }}
+
{{ record.refund_text }}
+
+
+
+
+
+
+
+
+ 一张订单可以分多次加油,退款金额固定为剩余未加油金额,已加油的部分不退,每单只能成功退一次。
+
退款会先用企油通 7.17 查询司机支付凭证,再用 7.16 把凭证额度调低退款金额;成功后原路回补合作商余额,并推送油卡变动通知。
+
额度在凭证上按司机累计,若凭证可用余额不足退款金额(被该司机其他订单用掉),会直接拒绝。
+
+
+
+
+
+
+
+
+
+
+ 调额请求已发给企油通但没有拿到明确结果。企油通调额接口没有幂等保护,重复发起会被重复扣减,所以这里不允许直接重试。
+
请先点「向企油通取证」:系统会查司机钱包流水(找退款单号)和凭证额度变化自动判定;判定不了再人工核对后提交。
+
+
+
+ 人工判定
+
+ 企油通已调低额度(退款成功)
+ 企油通未调额(退款失败,可重新发起)
+
+
+
+
+
+ 退款流水
+
+
+ {{ row.status_text }}
+
+
+
+
+
+
+
+
+
diff --git a/admin-vue/src/views/partners/order/modules/index.js b/admin-vue/src/views/partners/order/modules/index.js
index cbc7f3f..f8549c3 100644
--- a/admin-vue/src/views/partners/order/modules/index.js
+++ b/admin-vue/src/views/partners/order/modules/index.js
@@ -2,5 +2,7 @@ import OilForm from './OilForm'
import UseForm from './UseForm'
import ShareForm from './ShareForm'
import PayForm from './PayForm'
+import RefundForm from './RefundForm'
+import InvoiceModal from './InvoiceModal'
-export { OilForm, UseForm, ShareForm, PayForm }
+export { OilForm, UseForm, ShareForm, PayForm, RefundForm, InvoiceModal }
diff --git a/admin-vue/src/views/qyt/driver/Index.vue b/admin-vue/src/views/qyt/driver/Index.vue
new file mode 100644
index 0000000..88cb918
--- /dev/null
+++ b/admin-vue/src/views/qyt/driver/Index.vue
@@ -0,0 +1,288 @@
+
+
+ {{ $route.meta.title }}
+
+
+
+ 司机按身份证号归档。企油通发放到同一司机的额度会在凭证上累计,列表里的累计发放 / 已退款是按本地订单汇总的参考值,
+ 真实可用额度以详情里实时查询的企油通数据为准。
+ 标红的「信息冲突」会导致上游实名二要素核验失败,建议先让下单平台核对司机信息。
+
+
+
+
+
+
+
+
+
+ 全部
+ 有冲突
+ 正常
+
+
+
+ 搜索
+
+
+
+
+
+
+ {{ item.name || '-' }}
+ 信息冲突
+
+ {{ item.mobile }} {{ item.id_card_mask }}
+ {{ item.conflict_text }}
+
+
+ 共 {{ item.order_num }} 单
+ 已加油 {{ item.used_num }} 发放中 {{ item.pending_num }} 失败 {{ item.fail_num }}
+
+
+ 累计发放 ¥{{ item.grant_amount }}
+ 已加油 ¥{{ item.used_amount }} 已退款 ¥{{ item.refund_amount }} 净额 ¥{{ item.net_amount }}
+
+
+ 详情 / 查额度
+
+
+
+
+
+
+
+ {{ detail.name }} {{ detail.mobile }} {{ detail.id_card_mask }}
+ 信息冲突
+
+
+
+ 本地汇总:共 {{ detail.order_num }} 单,累计发放 ¥{{ detail.grant_amount }},已退款 ¥{{ detail.refund_amount }},
+ 净额 ¥{{ detail.net_amount }};最近下单 {{ detail.last_order_time_text }}
+
+
+ 企油通实时数据
+
+
+
+
+ 查询
+
+
+ 钱包发放总额 ¥{{ result.balance.totalGrantAmountYuan || '0.00' }}
+ 当前可用 ¥{{ result.balance.availableBalanceYuan || '0.00' }}
+
+
+
+
+
+
+ 查询
+ 额度按凭证累计;退款时就是把其中「生效中、可用余额最大」的一张调低订单金额。
+
+
+
+
+ 查询
+ 企油通默认只回溯近 1 个月流水。
+
+
+
+
+ 发放失败原因里能看到上游实名二要素核验的结果。
+
+
+
+ {{ { 0: '未提交', 1: '发放中', 2: '发放成功', 3: '发放失败' }[row.oil_status_zsy] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/admin-vue/src/views/qyt/enterprise/Index.vue b/admin-vue/src/views/qyt/enterprise/Index.vue
index 2e2648b..ac01500 100644
--- a/admin-vue/src/views/qyt/enterprise/Index.vue
+++ b/admin-vue/src/views/qyt/enterprise/Index.vue
@@ -64,18 +64,15 @@
{{ item.sync_text }}
-
+
{
return Api.list({ ...param, ...this.queryParam }).then(result => result.data.list)
@@ -310,6 +307,17 @@ export default {
})
},
+ // 7.11 企业账户余额(平安银行银行侧实时查询,勿频繁点击)
+ handleBalance (item) {
+ Api.balance({ enterpriseId: item.enterprise_id }).then(result => {
+ this.$info({
+ title: item.company_name + ' · 平安银行账户余额',
+ content: '账面余额 ¥' + result.data.balance + ',可用余额 ¥' + result.data.available_balance +
+ '(可用余额已扣除冻结/止付金额,即当前可发放凭证的资金上限)'
+ })
+ })
+ },
+
handleSyncList () {
this.isSyncing = true
Api.syncList({})
@@ -351,4 +359,15 @@ export default {
.text-grey {
color: #bbb;
}
+// 操作栏:按钮较多会换行,用 gap 统一横纵间距,不用竖线分隔(换行后竖线会悬在行首行尾)
+.op-actions {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 8px 16px;
+
+ & > a,
+ & > span {
+ white-space: nowrap;
+ }
+}
diff --git a/admin-vue/src/views/qyt/invoice/Index.vue b/admin-vue/src/views/qyt/invoice/Index.vue
new file mode 100644
index 0000000..cca9a42
--- /dev/null
+++ b/admin-vue/src/views/qyt/invoice/Index.vue
@@ -0,0 +1,178 @@
+
+
+ {{ $route.meta.title }}
+
+
+
+ 企油通 7.14 按「企业 + 月份(+ 司机手机号)」出具发票,发票地址与单笔订单没有对应关系。
+ 订单列表里点「发票」会自动按该订单的企业、消费月份、司机同步;这里可以按月批量同步或手动补同步。
+
+
+
+
+
+
+ 全部启用企业(企业全量)
+
+ {{ item.company_name }}
+
+
+
+
+
+
+
+
+
+
+ 同步发票
+
+
+
+
+
+
+
+
+ 全部
+
+ {{ item.company_name }}
+
+
+
+
+
+
+
+
+
+
+
+ 全部
+ 已出具
+ 暂无
+
+
+
+ 搜索
+
+
+
+
+
+ {{ item.company_name }}
+ {{ item.passageway === 'pingan' ? '平安银行' : '支付宝企业码' }} {{ item.month }} {{ item.mobile_mask }}
+
+
+
+
+ 发票 {{ index + 1 }}
+
+
+ 暂无
+
+
+ {{ { 0: '未同步', 1: '成功', 2: '失败' }[item.sync_status] }}
+ {{ item.sync_text }}
+ {{ item.sync_time_text }}
+
+
+ 重新同步
+
+
+
+
+
+
+
+
diff --git a/server-tp6/app/api/controller/OilCard.php b/server-tp6/app/api/controller/OilCard.php
index 7b72bbf..a97149e 100644
--- a/server-tp6/app/api/controller/OilCard.php
+++ b/server-tp6/app/api/controller/OilCard.php
@@ -18,7 +18,9 @@ use app\common\model\Partners as PartnersModel;
use app\common\crypto\RsaUtil;
use app\common\service\PartnersBalance;
use app\common\model\qyt\Enterprise as EnterpriseModel;
+use app\common\service\QytDriver;
use app\common\service\QytOil;
+use app\common\service\QytRefund;
use app\store\model\order\QrCode as QrCodeModel;
use cores\exception\BaseException;
use think\facade\Request;
@@ -168,6 +170,14 @@ class OilCard extends Controller
if($created){
// 回填流水的订单ID(建单前尚不知 order_id)
PartnersBalance::bindOrder($balanceLogId, (int)$OrderModel->order_id);
+ // 司机档案(按身份证号归档并标记信息冲突;内部吞异常,不影响建单)
+ QytDriver::touch([
+ 'order_id' => $OrderModel->order_id,
+ 'id_card' => $idCard,
+ 'driver_name' => $driverName,
+ 'mobile' => $mobile,
+ 'store_id' => $this->storeId,
+ ]);
// 存入队列处理
$queueService = new QueueService();
$queueService->push('partners_queue', json_encode(['order_id'=>$OrderModel->order_id],320));
@@ -186,6 +196,76 @@ class OilCard extends Controller
}
}
+ /**
+ * 订单退款(整单全额)
+ * 企油通侧:7.17 查司机支付凭证 -> 7.16 按订单金额调低额度;成功后回补合作商余额,并推送油卡变动通知(optType=refund)
+ * @return Json
+ */
+ public function refund()
+ {
+ $headers = Request::header();
+ $data = json_decode(Request::instance()->getContent(), true);
+ $appKey = $headers['appkey'] ?? '';
+ $requestId = $headers['requestid'] ?? '';
+ $method = $headers['method'] ?? '';
+ if($method != 'syb.oil.oilCard.refund'){
+ return $this->oilRenderError('12', '0005');
+ }
+ try {
+ Db::name('request_log')->insert([
+ 'request_id' => $requestId,
+ 'app_key' => $appKey,
+ 'create_time' => time()
+ ]);
+ } catch (\think\Exception $e) {
+ if (strpos($e->getMessage(), 'Duplicate entry') !== false) {
+ return $this->oilRenderError('12', '0012');
+ }
+ return $this->oilRenderError('99', '9999');
+ }
+ $partners = PartnersModel::detail(['appKey' => $appKey]);
+ if(!$partners){
+ return $this->oilRenderError('02','0004');
+ }
+ $crypto = new RsaUtil($partners);
+ $result = $crypto->processResponse(['header'=>$headers,'encryptData'=>$data]);
+ if ($result['code'] !== '00') {
+ return $this->oilRenderError($result['code'], $result['errCode'], '', $result['errMessage'] ?? '');
+ }
+ $body = $result['data'];
+ if($partners['orgNo'] != ($body['orgNo'] ?? '')){
+ return $this->oilRenderError('12','0014');
+ }
+ $oilCardNo = trim((string)($body['oilCardNo'] ?? ''));
+ if($oilCardNo === ''){
+ return $this->oilRenderError('12','0001', '', '缺少必填请求参数 oilCardNo');
+ }
+ $reason = mb_substr(trim((string)($body['reason'] ?? '')), 0, 100);
+
+ // 只能退自己的订单
+ $order = OrderModel::detail(['oilCardNo' => $oilCardNo, 'partners_id' => $partners['partners_id']]);
+ if(!$order){
+ return $this->oilRenderError('01','2036');
+ }
+
+ $res = QytRefund::apply((int)$order['order_id'], 'api', (string)$appKey, $reason);
+ // 已退款(含重复调用的幂等返回)或结果确认中:都按受理成功返回,由 refundStatus 区分
+ // 确认中说明 7.16 已发出、上游可能已调额,不能告诉下游「失败」让它重试
+ if ($res['ok'] || $res['status'] === QytRefund::CONFIRM) {
+ return $this->oilRenderSuccess($res['data'], '00', $res['message']);
+ }
+ switch ($res['reason']) {
+ case QytRefund::REASON_NOT_FOUND:
+ return $this->oilRenderError('01', '2036', '', $res['message']);
+ case QytRefund::REASON_PROCESSING:
+ return $this->oilRenderError('01', '2032', '', $res['message']);
+ case QytRefund::REASON_STATE:
+ return $this->oilRenderError('01', '2048', '', $res['message']);
+ default:
+ return $this->oilRenderError('01', '2049', '', $res['message']);
+ }
+ }
+
public static function createOrderNo(): string
{
// 获取当前时间戳到毫秒(13位)
@@ -469,7 +549,11 @@ class OilCard extends Controller
return $this->oilRenderError('12','0013', '', $validate->getError());
}
- $detail = OrderModel::detail(['oilCardNo' => $data['oilCardNo']]);
+ // 只能查自己的订单(原先不校验归属,一个合作商可以查到别家的单)
+ $detail = OrderModel::detail(['oilCardNo' => $data['oilCardNo'], 'partners_id' => $partners['partners_id']]);
+ if(!$detail){
+ return $this->oilRenderError('01','2036');
+ }
// 组装返回格式
$result = [
'mobile' => $detail['mobile'],
@@ -482,6 +566,15 @@ class OilCard extends Controller
'oil_time' => $detail['oil_time'],
'use_status' => $detail['use_status'],
'use_time' => $detail['use_time'],
+ // 一单可多次加油:已加油金额 / 加油次数 / 剩余可加油(即可退)金额
+ 'used_amount' => number_format((float)$detail['used_amount'], 2, '.', ''),
+ 'used_num' => (int)$detail['used_num'],
+ 'remain_amount' => number_format(max(0, (float)$detail['total_price'] - (float)$detail['used_amount']
+ - ((int)$detail['refund_status'] === 2 ? (float)$detail['refund_amount'] : 0)), 2, '.', ''),
+ // 退款:0未退款 1退款中 2已退款 3退款失败 4退款结果确认中
+ 'refund_status' => (int)$detail['refund_status'],
+ 'refund_amount' => number_format((float)$detail['refund_amount'], 2, '.', ''),
+ 'refund_time' => $detail['refund_time'] ? date('Y-m-d H:i:s', (int)$detail['refund_time']) : '',
];
return $this->oilRenderSuccess($result);
} else {
diff --git a/server-tp6/app/common/crypto/Qyt.php b/server-tp6/app/common/crypto/Qyt.php
index e9fe9ac..2b231a2 100644
--- a/server-tp6/app/common/crypto/Qyt.php
+++ b/server-tp6/app/common/crypto/Qyt.php
@@ -108,8 +108,27 @@ class Qyt
$params['sign'] = $this->md5Sha1RsaSign($params);
- // 文档示例形如 https://paytaskpage.worknoya.vip/#/?appId=..&mobile=..×tamp=..&sign=..#/
- return $base . '/?' . http_build_query($params) . '#/';
+ // 最终形如 https://paytaskpage.worknoya.vip/#/?appId=..&mobile=..×tamp=..&sign=iwxE****g==
+ //
+ // ⚠️ 两个坑,都是实测踩出来的,改动前务必看完:
+ //
+ // 1) 不能用 http_build_query:它会把 base64 签名里的 + / = 编码成 %2B %2F %3D。
+ // 参数挂在 # 之后的 fragment 里,浏览器不会自动解码,落地页若不做
+ // decodeURIComponent,拿到的签名串就和我们签的不一致 -> 验签失败。
+ // 文档示例里末尾是裸的 ==,对方期望的就是未编码的原始值。
+ // appId / mobile / timestamp / creditcode 都是字母数字,本来也无需编码。
+ // 若对接人日后确认页面会解码,把 h5_sign_urlencode 配成 true 即可切回。
+ //
+ // 2) 末尾【不能】再拼 '#/'。文档示例末尾是有 #/ 的,但实测:带上之后
+ // 桌面浏览器能打开,微信里打开 / 扫码一律提示验签失败 —— 落地页会把
+ // 这个 #/ 一起算进最后一个参数 sign 的值里。去掉后微信正常。
+ // ⚠️ 别照着文档示例把 '#/' 加回来。
+ $encode = !empty($this->conf['h5_sign_urlencode']);
+ $pairs = [];
+ foreach ($params as $k => $v) {
+ $pairs[] = $k . '=' . ($encode ? rawurlencode((string) $v) : (string) $v);
+ }
+ return $base . '/?' . implode('&', $pairs);
}
// ================================================================
diff --git a/server-tp6/app/common/service/QytDriver.php b/server-tp6/app/common/service/QytDriver.php
new file mode 100644
index 0000000..4b44981
--- /dev/null
+++ b/server-tp6/app/common/service/QytDriver.php
@@ -0,0 +1,96 @@
+where('store_id', $storeId)->where('id_card', $idCard)->find();
+ if (!$row) {
+ try {
+ Db::name('qyt_driver')->insert([
+ 'id_card' => $idCard, 'name' => $name, 'mobile' => $mobile,
+ 'last_order_time' => $now, 'store_id' => $storeId, 'create_time' => $now, 'update_time' => $now,
+ ]);
+ } catch (\Throwable $e) {
+ if (strpos($e->getMessage(), 'Duplicate') === false) {
+ throw $e;
+ }
+ }
+ $row = Db::name('qyt_driver')->where('store_id', $storeId)->where('id_card', $idCard)->find();
+ }
+
+ $notes = self::detectConflicts($row, $name, $mobile);
+
+ // 同一手机号挂在别的身份证号上:两边都标记
+ if ($mobile !== '') {
+ $others = Db::name('qyt_driver')
+ ->where('store_id', $storeId)->where('mobile', $mobile)->where('id_card', '<>', $idCard)
+ ->column('driver_id');
+ if ($others) {
+ $notes[] = '同一手机号对应多个身份证号';
+ Db::name('qyt_driver')->whereIn('driver_id', $others)
+ ->update(['conflict' => 1, 'conflict_text' => '同一手机号对应多个身份证号', 'update_time' => $now]);
+ }
+ }
+
+ $update = [
+ 'name' => $name !== '' ? $name : $row['name'],
+ 'mobile' => $mobile !== '' ? $mobile : $row['mobile'],
+ 'last_order_time' => $now,
+ 'update_time' => $now,
+ ];
+ if ($notes) {
+ $update['conflict'] = 1;
+ $update['conflict_text'] = mb_substr(implode(';', array_unique($notes)), 0, 250);
+ }
+ Db::name('qyt_driver')->where('driver_id', $row['driver_id'])->update($update);
+ } catch (\Throwable $e) {
+ (new QytOil())->saveLog('司机档案更新失败 order=' . ($order['order_id'] ?? '') . ':' . $e->getMessage());
+ }
+ }
+
+ /**
+ * 纯函数:对比已有档案与本次下单的姓名 / 手机号
+ */
+ public static function detectConflicts(array $row, string $name, string $mobile): array
+ {
+ $notes = [];
+ $oldName = (string) ($row['name'] ?? '');
+ $oldMobile = (string) ($row['mobile'] ?? '');
+ if ($oldName !== '' && $name !== '' && $oldName !== $name) {
+ $notes[] = "同一身份证号出现不同姓名:{$oldName} / {$name}";
+ }
+ if ($oldMobile !== '' && $mobile !== '' && $oldMobile !== $mobile) {
+ $notes[] = '手机号变更:' . QytOil::maskMobile($oldMobile) . ' → ' . QytOil::maskMobile($mobile);
+ }
+ return $notes;
+ }
+}
diff --git a/server-tp6/app/common/service/QytInvoice.php b/server-tp6/app/common/service/QytInvoice.php
new file mode 100644
index 0000000..27d2345
--- /dev/null
+++ b/server-tp6/app/common/service/QytInvoice.php
@@ -0,0 +1,200 @@
+bool, 'message'=>string, 'row'=>array]
+ */
+ public static function sync($enterprise, string $month, string $mobile = ''): array
+ {
+ if (!preg_match('/^\d{4}-(0[1-9]|1[0-2])$/', $month)) {
+ return ['ok' => false, 'message' => '月份格式应为 YYYY-MM', 'row' => []];
+ }
+ if ($mobile !== '' && !preg_match('/^1[3-9]\d{9}$/', $mobile)) {
+ return ['ok' => false, 'message' => '司机手机号格式不正确', 'row' => []];
+ }
+ $ent = $enterprise instanceof EnterpriseModel ? $enterprise->toArray() : (array) $enterprise;
+ if (empty($ent['enterprise_id'])) {
+ return ['ok' => false, 'message' => '企业不存在', 'row' => []];
+ }
+
+ $res = QytOil::forEnterprise($ent)->invoice($month, $mobile);
+ $key = [
+ 'qyt_enterprise_id' => (int) $ent['enterprise_id'],
+ 'passageway' => (string) $ent['passageway'],
+ 'month' => $month,
+ 'mobile' => $mobile,
+ ];
+ $now = time();
+
+ if ($res['code'] !== '00') {
+ $message = '同步失败:' . ($res['message'] ?: '未知错误');
+ self::upsert($key, [
+ 'business_license' => (string) $ent['business_license'],
+ 'sync_status' => 2,
+ 'sync_time' => $now,
+ 'sync_text' => mb_substr($message, 0, 250),
+ 'store_id' => (int) ($ent['store_id'] ?? 0),
+ ]);
+ return ['ok' => false, 'message' => $message, 'row' => self::format(self::find($key))];
+ }
+
+ $urls = self::normalizeUrls($res['data']['invoice'] ?? []);
+ $orders = (array) ($res['data']['order_list'] ?? []);
+ $text = $urls ? '同步成功,共 ' . count($urls) . ' 张发票' : '同步成功,企油通暂未出具该月发票';
+ self::upsert($key, [
+ 'business_license' => (string) $ent['business_license'],
+ 'invoice_urls' => json_encode($urls, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
+ 'invoice_count' => count($urls),
+ 'order_count' => count($orders),
+ 'raw' => mb_substr((string) json_encode(QytOil::maskDeep((array) $res['data']), JSON_UNESCAPED_UNICODE), 0, 1000000),
+ 'sync_status' => 1,
+ 'sync_time' => $now,
+ 'sync_text' => $text,
+ 'store_id' => (int) ($ent['store_id'] ?? 0),
+ ]);
+ return ['ok' => true, 'message' => $text, 'row' => self::format(self::find($key))];
+ }
+
+ /**
+ * 取某个订单关联的发票。本地没有、上次同步失败、或「暂无发票」且已超过 1 小时,会自动去同步一次
+ */
+ public static function forOrder(array $order, bool $refresh = false): array
+ {
+ $enterprise = EnterpriseModel::detail((int) $order['qyt_enterprise_id']);
+ if (!$enterprise) {
+ return ['ok' => false, 'message' => '本单绑定的企油通企业不存在', 'month' => '', 'row' => []];
+ }
+ $month = self::orderMonth($order);
+ $mobile = (string) $order['mobile'];
+ $key = [
+ 'qyt_enterprise_id' => (int) $enterprise['enterprise_id'],
+ 'passageway' => (string) $enterprise['passageway'],
+ 'month' => $month,
+ 'mobile' => $mobile,
+ ];
+ $row = self::find($key);
+ $stale = !$row
+ || (int) $row['sync_status'] !== 1
+ || ((int) $row['invoice_count'] === 0 && time() - (int) $row['sync_time'] > self::RESYNC_EMPTY_AFTER);
+
+ $message = $row ? (string) $row['sync_text'] : '';
+ if ($refresh || $stale) {
+ $r = self::sync($enterprise, $month, $mobile);
+ $message = $r['message'];
+ $row = self::find($key);
+ if (!$r['ok'] && !$row) {
+ return ['ok' => false, 'message' => $message, 'month' => $month, 'row' => []];
+ }
+ }
+ return ['ok' => true, 'message' => $message, 'month' => $month, 'row' => self::format($row)];
+ }
+
+ /**
+ * 订单的消费月份:优先取加油流水的支付时间,没有再依次退到消费时间 / 发放时间 / 下单时间
+ */
+ public static function orderMonth(array $order): string
+ {
+ $t = (int) Db::name('qyt_consume')->where('order_id', $order['order_id'])->max('pay_time');
+ foreach (['consume_time', 'oil_time', 'create_time'] as $field) {
+ if ($t > 0) {
+ break;
+ }
+ $t = is_numeric($order[$field] ?? null) ? (int) $order[$field] : (int) strtotime((string) ($order[$field] ?? ''));
+ }
+ return date('Y-m', $t > 0 ? $t : time());
+ }
+
+ /**
+ * 7.14 的 invoice 文档只写了「发票地址集」,没给元素结构。
+ * 兼容两种形态:直接是 URL 字符串;或对象(取常见的 url 字段,取不到就找第一个 http 开头的值)
+ */
+ public static function normalizeUrls($invoice): array
+ {
+ $out = [];
+ foreach ((array) $invoice as $item) {
+ $url = '';
+ if (is_string($item)) {
+ $url = trim($item);
+ } elseif (is_array($item)) {
+ foreach (['url', 'invoice_url', 'file_url', 'pdf_url', 'download_url', 'path'] as $k) {
+ if (!empty($item[$k]) && is_string($item[$k])) {
+ $url = trim($item[$k]);
+ break;
+ }
+ }
+ if ($url === '') {
+ foreach ($item as $v) {
+ if (is_string($v) && preg_match('#^https?://#i', trim($v))) {
+ $url = trim($v);
+ break;
+ }
+ }
+ }
+ }
+ if ($url !== '' && preg_match('#^https?://#i', $url)) {
+ $out[] = $url;
+ }
+ }
+ return array_values(array_unique($out));
+ }
+
+ /** 列表 / 详情输出格式 */
+ public static function format($row): array
+ {
+ if (!$row) {
+ return [];
+ }
+ $row = (array) $row;
+ unset($row['raw']);
+ $urls = json_decode((string) ($row['invoice_urls'] ?? ''), true);
+ $row['invoice_urls'] = is_array($urls) ? $urls : [];
+ $row['mobile_mask'] = $row['mobile'] !== '' ? QytOil::maskMobile((string) $row['mobile']) : '企业全量';
+ $row['sync_time_text'] = !empty($row['sync_time']) ? date('Y-m-d H:i:s', (int) $row['sync_time']) : '';
+ return $row;
+ }
+
+ protected static function find(array $key): ?array
+ {
+ $row = Db::name('qyt_invoice')->where($key)->find();
+ return $row ?: null;
+ }
+
+ protected static function upsert(array $key, array $data): void
+ {
+ $data['update_time'] = time();
+ if (Db::name('qyt_invoice')->where($key)->update($data)) {
+ return;
+ }
+ try {
+ Db::name('qyt_invoice')->insert($key + $data + ['create_time' => time()]);
+ } catch (\Throwable $e) {
+ // 并发下另一请求刚插入:唯一键冲突,改为更新
+ if (strpos($e->getMessage(), 'Duplicate') === false) {
+ throw $e;
+ }
+ Db::name('qyt_invoice')->where($key)->update($data);
+ }
+ }
+}
diff --git a/server-tp6/app/common/service/QytOil.php b/server-tp6/app/common/service/QytOil.php
index 65cbf8b..486d26a 100644
--- a/server-tp6/app/common/service/QytOil.php
+++ b/server-tp6/app/common/service/QytOil.php
@@ -44,6 +44,13 @@ class QytOil extends BaseService
/** @var EnterpriseModel|array|null 当前企业 */
protected $enterprise = null;
+ /**
+ * @var bool 最近一次请求是否属于「网络层异常」(超时、连不上、响应不是 JSON)。
+ * 这类失败不能说明上游没处理——对 7.16 这种没有幂等键的写接口,必须和
+ * 「上游明确返回失败」区分开,前者转人工确认,后者才可以放心重试。
+ */
+ protected $transportError = false;
+
protected function initialize()
{
$this->conf = QytConfig::get();
@@ -204,6 +211,132 @@ class QytOil extends BaseService
return null;
}
+ // ================================================================
+ // 7.17 获取支付凭证(须真实 RSA 验签)
+ // ================================================================
+
+ /**
+ * 查询某司机在当前企业下的支付凭证,退款(7.16)要用其中的 quota_id
+ * @return array data.list[]: quota_id / total_amount / available_amount / used_amount / status ...(金额单位:元)
+ */
+ public function getVoucherList(string $mobile, string $idCard, int $page = 1, int $pageSize = 50): array
+ {
+ if (($err = $this->requireEnterprise()) !== null) {
+ return $err;
+ }
+ return $this->post('/enterprise/api/quota/getVoucherList', [
+ 'passageway' => (string) $this->channelCode(),
+ 'business_license' => $this->businessLicense(),
+ 'mobile' => $mobile,
+ 'id_card' => $idCard,
+ 'page' => $page,
+ 'page_size' => $pageSize,
+ ]);
+ }
+
+ // ================================================================
+ // 7.16 司机额度调整(须真实 RSA 验签;⚠️ 无幂等键,重复调用会重复调额)
+ // ================================================================
+
+ /**
+ * @param int|string $quotaId 7.17 返回的凭证主键
+ * @param string $changeType 02 增加额度 / 03 减少额度
+ * @param float $amount 调整金额(元)
+ * @param string $reason 操作原因(≤200 字);退款时写入退款单号,确认结果时靠它在 7.13 流水里定位
+ * @param string $waybillNo 运单号(可选)
+ */
+ public function adjustVoucher($quotaId, string $changeType, float $amount, string $reason = '', string $waybillNo = ''): array
+ {
+ if (($err = $this->requireEnterprise()) !== null) {
+ return $err;
+ }
+ $params = [
+ 'passageway' => (string) $this->channelCode(),
+ 'business_license' => $this->businessLicense(),
+ 'quota_id' => (int) $quotaId,
+ 'change_type' => $changeType,
+ 'amount' => round($amount, 2),
+ 'operation_reason' => mb_substr($reason, 0, 200),
+ ];
+ $waybillNo !== '' && $params['waybill_no'] = $waybillNo;
+ return $this->post('/enterprise/api/quota/adjustVoucher', $params);
+ }
+
+ // ================================================================
+ // 7.11 企业账户余额(仅平安银行通道支持,金额:分)
+ // ================================================================
+
+ public function distributable(): array
+ {
+ if (($err = $this->requireEnterprise()) !== null) {
+ return $err;
+ }
+ if ($this->channelCode() !== 2) {
+ return $this->fail('企业账户余额查询仅支持平安银行通道,支付宝企业码没有独立资金账户');
+ }
+ return $this->post('/enterprise/api/zhyk/distributable', [
+ 'business_license' => $this->businessLicense(),
+ 'passageway' => (string) $this->channelCode(),
+ ]);
+ }
+
+ // ================================================================
+ // 7.12 司机钱包金额 / 7.13 司机钱包明细(金额:分)
+ // ================================================================
+
+ public function driverBalanceQuery(string $mobile, string $idCard, int $page = 1, int $pageSize = 20): array
+ {
+ if (($err = $this->requireEnterprise()) !== null) {
+ return $err;
+ }
+ return $this->post('/enterprise/api/zhyk/driverBalanceQuery', [
+ 'business_license' => $this->businessLicense(),
+ 'passageway' => (string) $this->channelCode(),
+ 'mobile' => $mobile,
+ 'id_card' => $idCard,
+ 'page' => $page,
+ 'page_size' => $pageSize,
+ ]);
+ }
+
+ public function driverWalletQuery(string $mobile, string $idCard, int $page = 1, int $pageSize = 20): array
+ {
+ if (($err = $this->requireEnterprise()) !== null) {
+ return $err;
+ }
+ return $this->post('/enterprise/api/zhyk/driverWalletQuery', [
+ 'business_license' => $this->businessLicense(),
+ 'passageway' => (string) $this->channelCode(),
+ 'mobile' => $mobile,
+ 'id_card' => $idCard,
+ 'page' => $page,
+ 'page_size' => $pageSize,
+ ]);
+ }
+
+ // ================================================================
+ // 7.14 企业发票下载(粒度:企业 + 通道 + 月份,可选按司机手机号收窄)
+ // ================================================================
+
+ /**
+ * @param string $month YYYY-MM
+ * @param string $mobile 司机手机号;传了只返回该司机相关发票与加油明细
+ * @return array data: business_license / invoice[] 发票地址集 / order_list[] 加油明细(分)
+ */
+ public function invoice(string $month, string $mobile = ''): array
+ {
+ if (($err = $this->requireEnterprise()) !== null) {
+ return $err;
+ }
+ $params = [
+ 'business_license' => $this->businessLicense(),
+ 'passageway' => (string) $this->channelCode(),
+ 'month' => $month,
+ ];
+ $mobile !== '' && $params['mobile'] = $mobile;
+ return $this->post('/enterprise/api/zhyk/invoice', $params);
+ }
+
// ================================================================
// 7.2 企业申请创建
// ================================================================
@@ -295,12 +428,15 @@ class QytOil extends BaseService
['企业' => $this->enterpriseName(), 'url' => $url, 'params' => self::maskDeep($bizParams)],
JSON_UNESCAPED_UNICODE));
+ $this->transportError = false;
$resp = $this->curlPost($url, json_encode($body, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));
$this->saveLog("[响应] {$path} " . self::maskText($resp));
$json = json_decode($resp, true);
if (!is_array($json)) {
- return ['code' => 'ERR', 'data' => [], 'message' => '响应解析失败', 'dup_batch' => false, 'raw' => ['body' => $resp]];
+ // 拿不到可解析的响应,无法判断上游是否已处理
+ return ['code' => 'ERR', 'data' => [], 'message' => '响应解析失败', 'dup_batch' => false,
+ 'transport_error' => true, 'raw' => ['body' => mb_substr((string) $resp, 0, 500)]];
}
// 通用响应结构:{ status: ok|error, data, message, serialNo, sign }
@@ -323,6 +459,8 @@ class QytOil extends BaseService
'data' => $json['data'] ?? [],
'message' => $message,
'dup_batch' => $dupBatch,
+ // cURL 失败时 curlPost 会伪造一个 {"status":"error"} 的 JSON,靠标记区分
+ 'transport_error' => $this->transportError,
'raw' => $json,
];
}
@@ -344,9 +482,15 @@ class QytOil extends BaseService
if ($resp === false) {
$err = curl_error($ch);
curl_close($ch);
+ $this->transportError = true;
return json_encode(['status' => 'error', 'message' => 'cURL: ' . $err], JSON_UNESCAPED_UNICODE);
}
+ $httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
+ // 网关层 5xx:请求可能已到达上游业务层,也按结果未知处理
+ if ($httpCode >= 500) {
+ $this->transportError = true;
+ }
return (string) $resp;
}
diff --git a/server-tp6/app/common/service/QytRefund.php b/server-tp6/app/common/service/QytRefund.php
new file mode 100644
index 0000000..b2e114f
--- /dev/null
+++ b/server-tp6/app/common/service/QytRefund.php
@@ -0,0 +1,524 @@
+ 1 退款中 -> 2 已退款
+// | -> 3 退款失败(上游明确拒绝 / 凭证不足,可重新发起)
+// | -> 4 待人工确认(7.16 已发出但结果未知)
+// |
+// | ⚠️ 7.16 没有幂等键,同一请求发两次就调低两次。所以:
+// | · 一旦走到 7.16,任何「不确定」都进 4,绝不自动重试
+// | · 4 只能通过 confirm()(查上游证据)或 resolve()(人工判定)离开
+// | · 退款单号写进 7.16 的 operation_reason,confirm() 优先在 7.13 流水里找它
+// |
+// | 并发:RedisLock 串行同一订单;状态跃迁是条件 UPDATE,affected=1 才退合作商余额。
+// +----------------------------------------------------------------------
+declare (strict_types=1);
+
+namespace app\common\service;
+
+use app\common\lock\RedisLock;
+use app\common\model\qyt\Enterprise as EnterpriseModel;
+use think\facade\Db;
+
+class QytRefund
+{
+ const NONE = 0;
+ const PROCESSING = 1;
+ const SUCCESS = 2;
+ const FAILED = 3;
+ const CONFIRM = 4;
+
+ const STATUS_TEXT = [
+ self::NONE => '未退款',
+ self::PROCESSING => '退款中',
+ self::SUCCESS => '已退款',
+ self::FAILED => '退款失败',
+ self::CONFIRM => '待人工确认',
+ ];
+
+ // 失败分类,开放接口据此映射错误码
+ const REASON_NOT_FOUND = 'not_found';
+ const REASON_STATE = 'state';
+ const REASON_PROCESSING = 'processing';
+ const REASON_UPSTREAM = 'upstream';
+
+ /** 元金额比较容差 */
+ const EPS = 0.005;
+
+ // ================================================================
+ // 发起退款
+ // ================================================================
+
+ /**
+ * @param string $source admin / api
+ * @param string $operator 后台账号 或 合作商 appKey
+ */
+ public static function apply(int $orderId, string $source, string $operator, string $reason = ''): array
+ {
+ $lock = new RedisLock('qyt:refund:' . $orderId, 120);
+ if (!$lock->acquireLock()) {
+ return self::result(false, self::PROCESSING, '该订单退款正在处理中,请勿重复提交', self::REASON_PROCESSING);
+ }
+
+ $order = null;
+ $refundId = 0;
+ $refundNo = '';
+ // before_adjust:还没调 7.16,出任何问题都可以安全地判失败
+ // after_adjust :7.16 已发出,出问题只能进人工确认
+ $stage = 'before_adjust';
+
+ try {
+ $order = Db::name('partners_order')->where('order_id', $orderId)->find();
+ if (!$order) {
+ return self::result(false, self::NONE, '订单不存在', self::REASON_NOT_FOUND);
+ }
+
+ $current = (int) $order['refund_status'];
+ if ($current === self::SUCCESS) {
+ // 幂等:已退过直接返回成功
+ return self::result(true, self::SUCCESS, '该订单已退款', '', self::orderData($order));
+ }
+ if ($current === self::PROCESSING || $current === self::CONFIRM) {
+ return self::result(false, $current,
+ $current === self::CONFIRM ? '该订单退款结果待人工确认,请勿重复发起' : '该订单退款正在处理中',
+ self::REASON_PROCESSING, self::orderData($order));
+ }
+ if (($err = self::checkRefundable($order)) !== '') {
+ return self::result(false, $current, $err, self::REASON_STATE, self::orderData($order));
+ }
+ $enterprise = EnterpriseModel::detail((int) $order['qyt_enterprise_id']);
+ if (!$enterprise) {
+ return self::result(false, $current, '本单绑定的企油通企业不存在,无法退款', self::REASON_STATE, self::orderData($order));
+ }
+
+ // 退款金额 = 剩余未加油金额(锁内重读订单后计算)
+ $amount = self::remainAmount($order);
+
+ // 抢占:只有 0/3 能进入退款中
+ $affected = Db::name('partners_order')
+ ->where('order_id', $orderId)
+ ->whereIn('refund_status', [self::NONE, self::FAILED])
+ ->update(['refund_status' => self::PROCESSING, 'refund_text' => '退款中', 'update_time' => time()]);
+ if (!$affected) {
+ return self::result(false, $current, '订单状态已变化,请刷新后重试', self::REASON_PROCESSING, self::orderData($order));
+ }
+
+ $refundNo = 'RF' . $orderId . 'T' . date('YmdHis') . mt_rand(10, 99);
+ $refundId = (int) Db::name('qyt_refund')->insertGetId([
+ 'refund_no' => $refundNo,
+ 'order_id' => $orderId,
+ 'partners_id' => (int) $order['partners_id'],
+ 'qyt_enterprise_id' => (int) $order['qyt_enterprise_id'],
+ 'source' => $source,
+ 'operator' => mb_substr($operator, 0, 64),
+ 'reason' => mb_substr($reason, 0, 200),
+ 'amount' => $amount,
+ 'status' => self::PROCESSING,
+ 'store_id' => (int) $order['store_id'],
+ 'create_time' => time(),
+ 'update_time' => time(),
+ ]);
+
+ $qyt = QytOil::forEnterprise($enterprise);
+
+ // 1) 7.17 找凭证(只读接口,失败不影响上游,可以放心判失败)
+ $vres = $qyt->getVoucherList((string) $order['mobile'], (string) $order['id_card'], 1, 50);
+ if ($vres['code'] !== '00') {
+ return self::finishFailed($order, $refundId, $refundNo,
+ '查询支付凭证失败:' . ($vres['message'] ?: '未知错误'), $vres);
+ }
+ $pick = self::pickVoucher((array) ($vres['data']['list'] ?? []), $amount);
+ if (!$pick['voucher']) {
+ return self::finishFailed($order, $refundId, $refundNo, $pick['message'], $vres);
+ }
+ $voucher = $pick['voucher'];
+ Db::name('qyt_refund')->where('refund_id', $refundId)->update([
+ 'quota_id' => (string) $voucher['quota_id'],
+ 'total_before' => round((float) ($voucher['total_amount'] ?? 0), 2),
+ 'available_before' => round((float) ($voucher['available_amount'] ?? 0), 2),
+ 'update_time' => time(),
+ ]);
+
+ // 2) 7.16 调低额度
+ $stage = 'after_adjust';
+ $ares = $qyt->adjustVoucher(
+ $voucher['quota_id'],
+ '03',
+ $amount,
+ '订单退款 ' . $refundNo . ($reason !== '' ? ':' . $reason : ''),
+ (string) $order['waybill_no']
+ );
+
+ if (!empty($ares['transport_error'])) {
+ return self::finishConfirm($order, $refundId, $refundNo,
+ '退款请求已发出但结果未知(网络超时或响应异常),已转人工确认,切勿重复发起', $ares);
+ }
+ $success = $ares['code'] === '00' && !(isset($ares['data']['success']) && $ares['data']['success'] === false);
+ if (!$success) {
+ $msg = (string) ($ares['data']['message'] ?? '') ?: $ares['message'];
+ return self::finishFailed($order, $refundId, $refundNo, '企油通调额失败:' . ($msg ?: '未知错误'), $ares);
+ }
+ return self::finishSuccess($order, $refundId, $refundNo, $amount, '退款成功', $ares);
+ } catch (\Throwable $e) {
+ (new QytOil())->saveLog("退款异常 order={$orderId} stage={$stage}:" . $e->getMessage() . ' @ ' . $e->getFile() . ':' . $e->getLine());
+ if ($order && $refundId) {
+ return $stage === 'after_adjust'
+ ? self::finishConfirm($order, $refundId, $refundNo, '退款过程发生异常且 7.16 可能已生效,已转人工确认:' . $e->getMessage(), [])
+ : self::finishFailed($order, $refundId, $refundNo, '退款过程发生异常:' . $e->getMessage(), []);
+ }
+ return self::result(false, self::NONE, '退款处理异常:' . $e->getMessage(), self::REASON_STATE);
+ } finally {
+ $lock->releaseLock();
+ }
+ }
+
+ // ================================================================
+ // 确认「待人工确认」的退款:向上游取证
+ // ================================================================
+
+ public static function confirm(int $orderId): array
+ {
+ $lock = new RedisLock('qyt:refund:' . $orderId, 120);
+ if (!$lock->acquireLock()) {
+ return self::result(false, self::CONFIRM, '该订单正在处理中,请稍后再试', self::REASON_PROCESSING);
+ }
+ try {
+ [$order, $refund, $enterprise, $err] = self::loadConfirmContext($orderId);
+ if ($err !== '') {
+ return self::result(false, (int) ($order['refund_status'] ?? self::NONE), $err, self::REASON_STATE);
+ }
+ $qyt = QytOil::forEnterprise($enterprise);
+ $amount = round((float) $refund['amount'], 2);
+
+ // 证据 1:7.13 钱包流水里带有退款单号的调额记录 —— 最可靠
+ $inWallet = false;
+ $wres = $qyt->driverWalletQuery((string) $order['mobile'], (string) $order['id_card'], 1, 50);
+ if ($wres['code'] === '00') {
+ foreach ((array) ($wres['data']['transactionDetails'] ?? []) as $t) {
+ if (strpos((string) ($t['remark'] ?? ''), (string) $refund['refund_no']) !== false) {
+ $inWallet = true;
+ break;
+ }
+ }
+ }
+
+ // 证据 2:7.17 同一张凭证的总额度 / 可用余额变化
+ $vres = $qyt->getVoucherList((string) $order['mobile'], (string) $order['id_card'], 1, 50);
+ $now = null;
+ if ($vres['code'] === '00') {
+ foreach ((array) ($vres['data']['list'] ?? []) as $v) {
+ if ((string) ($v['quota_id'] ?? '') === (string) $refund['quota_id']) {
+ $now = $v;
+ break;
+ }
+ }
+ }
+ if (!$inWallet && $vres['code'] !== '00') {
+ return self::result(false, self::CONFIRM, '暂时无法向企油通取证:' . ($vres['message'] ?: '查询失败') . ',请稍后再试', self::REASON_UPSTREAM);
+ }
+
+ $totalNow = $now ? round((float) ($now['total_amount'] ?? 0), 2) : null;
+ $availNow = $now ? round((float) ($now['available_amount'] ?? 0), 2) : null;
+ if ($now) {
+ Db::name('qyt_refund')->where('refund_id', $refund['refund_id'])->update([
+ 'total_after' => $totalNow, 'available_after' => $availNow, 'update_time' => time(),
+ ]);
+ }
+
+ // 退款发起前后 10 分钟起,该司机在本企业是否有其他单在发放 / 发放成功(会干扰额度比对)
+ $grantedSince = Db::name('partners_order')
+ ->where('id_card', $order['id_card'])
+ ->where('qyt_enterprise_id', $order['qyt_enterprise_id'])
+ ->where('order_id', '<>', $order['order_id'])
+ ->whereIn('oil_status_zsy', [1, 2])
+ ->where('update_time', '>=', (int) $refund['create_time'] - 600)
+ ->count() > 0;
+
+ $verdict = self::judgeConfirm(
+ $inWallet,
+ (float) $refund['total_before'], $totalNow,
+ (float) $refund['available_before'], $availNow,
+ $amount,
+ $grantedSince
+ );
+
+ if ($verdict === 'applied') {
+ return self::finishSuccess($order, (int) $refund['refund_id'], (string) $refund['refund_no'], $amount,
+ '人工确认:企油通已调低额度,退款成功', $vres);
+ }
+ if ($verdict === 'not_applied') {
+ return self::finishFailed($order, (int) $refund['refund_id'], (string) $refund['refund_no'],
+ '确认结果:企油通未调低额度,退款未生效,可重新发起', $vres);
+ }
+ return self::result(false, self::CONFIRM,
+ '上游数据无法自动判定(期间可能有新的发放或加油消费),请到企油通后台核对该司机凭证后使用「人工判定」',
+ self::REASON_UPSTREAM, self::orderData($order, (string) $refund['refund_no']));
+ } catch (\Throwable $e) {
+ return self::result(false, self::CONFIRM, '确认过程异常:' . $e->getMessage(), self::REASON_STATE);
+ } finally {
+ $lock->releaseLock();
+ }
+ }
+
+ /**
+ * 人工判定「待人工确认」的退款(运营到企油通后台核对后操作)
+ */
+ public static function resolve(int $orderId, bool $success, string $operator, string $remark): array
+ {
+ if (trim($remark) === '') {
+ return self::result(false, self::CONFIRM, '请填写判定依据', self::REASON_STATE);
+ }
+ $lock = new RedisLock('qyt:refund:' . $orderId, 120);
+ if (!$lock->acquireLock()) {
+ return self::result(false, self::CONFIRM, '该订单正在处理中,请稍后再试', self::REASON_PROCESSING);
+ }
+ try {
+ [$order, $refund, , $err] = self::loadConfirmContext($orderId);
+ if ($err !== '') {
+ return self::result(false, (int) ($order['refund_status'] ?? self::NONE), $err, self::REASON_STATE);
+ }
+ $text = "人工判定({$operator}):" . mb_substr($remark, 0, 100);
+ return $success
+ ? self::finishSuccess($order, (int) $refund['refund_id'], (string) $refund['refund_no'], (float) $refund['amount'], $text, [])
+ : self::finishFailed($order, (int) $refund['refund_id'], (string) $refund['refund_no'], $text, []);
+ } finally {
+ $lock->releaseLock();
+ }
+ }
+
+ // ================================================================
+ // 纯函数(无副作用,便于单测)
+ // ================================================================
+
+ /**
+ * 退款前置条件,返回空串表示可以退
+ */
+ public static function checkRefundable(array $order): string
+ {
+ if ((int) $order['oil_status_zsy'] !== 2 || (int) $order['oil_status'] !== 1) {
+ return '仅「发放成功」的订单可以退款';
+ }
+ if (self::remainAmount($order) <= self::EPS) {
+ return '订单金额已全部加油,没有可退金额';
+ }
+ if (trim((string) $order['id_card']) === '') {
+ return '订单缺少司机身份证号,无法查询支付凭证';
+ }
+ return '';
+ }
+
+ /**
+ * 剩余未加油金额(元)= 订单金额 − 已加油金额,不小于 0。这就是可退金额
+ */
+ public static function remainAmount(array $order): float
+ {
+ return max(0.0, round((float) ($order['total_price'] ?? 0) - (float) ($order['used_amount'] ?? 0), 2));
+ }
+
+ /**
+ * 从 7.17 凭证列表里挑一张用于调低额度的凭证
+ * 规则:只看生效中的凭证,取可用余额最大的一张;它不够就拒绝(整单全额退,不拆多张凭证)
+ * @return array ['voucher' => array|null, 'message' => string]
+ */
+ public static function pickVoucher(array $list, float $amount): array
+ {
+ $active = array_values(array_filter($list, function ($v) {
+ return is_array($v) && (string) ($v['status'] ?? '') === 'active';
+ }));
+ if (!$active) {
+ return ['voucher' => null, 'message' => '该司机在本企业下没有生效中的支付凭证,无法退款'];
+ }
+ usort($active, function ($a, $b) {
+ return (float) ($b['available_amount'] ?? 0) <=> (float) ($a['available_amount'] ?? 0);
+ });
+ $top = $active[0];
+ $avail = round((float) ($top['available_amount'] ?? 0), 2);
+ if ($avail + self::EPS < $amount) {
+ return ['voucher' => null, 'message' => sprintf(
+ '司机凭证可用余额不足:可用 %.2f 元,需退 %.2f 元(凭证额度按司机累计,可能已被该司机其他订单加油用掉)', $avail, $amount)];
+ }
+ return ['voucher' => $top, 'message' => ''];
+ }
+
+ /**
+ * 根据上游证据判定 7.16 是否已生效
+ * · 7.13 流水里找到退款单号 -> applied
+ * · 凭证总额度恰好减少了退款金额 -> applied
+ * (加油消费只动可用/已用,不动总额度;调额才动总额度)
+ * · 总额度没变 且 可用余额没有下降 -> not_applied
+ * · 其余(凭证找不到、期间有新发放或消费导致对不上) -> unknown,交人工
+ * @return string applied / not_applied / unknown
+ */
+ public static function judgeConfirm(bool $inWallet, float $totalBefore, ?float $totalNow,
+ float $availBefore, ?float $availNow, float $amount,
+ bool $grantedSince = false): string
+ {
+ if ($inWallet) {
+ return 'applied';
+ }
+ if ($totalNow === null || $availNow === null) {
+ return 'unknown';
+ }
+ // $grantedSince:退款发起前后该司机在本企业有新的发放。此时额度比对不可信——
+ // 「调低 100 + 新发 100」看起来就是没变,若据此判「未生效」,运营重新发起会重复扣减。
+ if (abs(($totalBefore - $totalNow) - $amount) <= self::EPS) {
+ return $grantedSince ? 'unknown' : 'applied';
+ }
+ if (abs($totalNow - $totalBefore) <= self::EPS && $availNow + self::EPS >= $availBefore) {
+ return $grantedSince ? 'unknown' : 'not_applied';
+ }
+ return 'unknown';
+ }
+
+ // ================================================================
+ // 内部
+ // ================================================================
+
+ protected static function finishSuccess(array $order, int $refundId, string $refundNo, float $amount, string $text, array $res): array
+ {
+ $amount = round($amount, 2);
+ $won = false;
+ Db::transaction(function () use ($order, $refundId, $amount, $text, $res, &$won) {
+ $won = (bool) Db::name('partners_order')
+ ->where('order_id', $order['order_id'])
+ ->whereIn('refund_status', [self::PROCESSING, self::CONFIRM])
+ ->update([
+ 'refund_status' => self::SUCCESS,
+ 'refund_amount' => $amount,
+ 'refund_time' => time(),
+ 'refund_text' => mb_substr($text, 0, 250),
+ 'update_time' => time(),
+ ]);
+ Db::name('qyt_refund')->where('refund_id', $refundId)->update([
+ 'status' => self::SUCCESS,
+ 'message' => mb_substr($text, 0, 250),
+ 'response' => self::dumpRes($res),
+ 'update_time' => time(),
+ ]);
+ // 只有状态跃迁胜出者才回补合作商余额,保证只退一次
+ if ($won) {
+ PartnersBalance::refund((int) $order['partners_id'], $amount, (string) $order['partners_order_no'],
+ (int) $order['order_id'], (int) $order['store_id']);
+ }
+ });
+
+ if ($won) {
+ // 退款计算与加油推送之间有时间差:退款期间若又来了加油,已加油 + 已退款可能超过订单金额,告警人工核对
+ $fresh = Db::name('partners_order')->where('order_id', $order['order_id'])->field('total_price,used_amount')->find();
+ if ($fresh && (float) $fresh['used_amount'] + $amount > (float) $fresh['total_price'] + self::EPS) {
+ (new QytOil())->saveLog("【告警】退款后 已加油+已退款 超出订单金额 order={$order['order_id']}"
+ . " total={$fresh['total_price']} used={$fresh['used_amount']} refund={$amount}");
+ }
+ (new QueueService())->push('notify_queue', json_encode([
+ 'order_id' => $order['order_id'],
+ 'optType' => 'refund',
+ 'retry_count' => 0,
+ ], 320));
+ (new QytOil())->saveLog("退款成功 order={$order['order_id']} refund_no={$refundNo} amount={$amount},已回补合作商余额");
+ }
+ $order['refund_status'] = self::SUCCESS;
+ $order['refund_amount'] = $amount;
+ return self::result(true, self::SUCCESS, $text, '', self::orderData($order, $refundNo));
+ }
+
+ protected static function finishFailed(array $order, int $refundId, string $refundNo, string $text, array $res): array
+ {
+ Db::name('partners_order')
+ ->where('order_id', $order['order_id'])
+ ->whereIn('refund_status', [self::PROCESSING, self::CONFIRM])
+ ->update(['refund_status' => self::FAILED, 'refund_text' => mb_substr($text, 0, 250), 'update_time' => time()]);
+ Db::name('qyt_refund')->where('refund_id', $refundId)->update([
+ 'status' => self::FAILED, 'message' => mb_substr($text, 0, 250), 'response' => self::dumpRes($res), 'update_time' => time(),
+ ]);
+ (new QytOil())->saveLog("退款失败 order={$order['order_id']} refund_no={$refundNo}:{$text}");
+ $order['refund_status'] = self::FAILED;
+ return self::result(false, self::FAILED, $text, self::REASON_UPSTREAM, self::orderData($order, $refundNo));
+ }
+
+ protected static function finishConfirm(array $order, int $refundId, string $refundNo, string $text, array $res): array
+ {
+ Db::name('partners_order')
+ ->where('order_id', $order['order_id'])
+ ->where('refund_status', self::PROCESSING)
+ ->update(['refund_status' => self::CONFIRM, 'refund_text' => mb_substr($text, 0, 250), 'update_time' => time()]);
+ Db::name('qyt_refund')->where('refund_id', $refundId)->update([
+ 'status' => self::CONFIRM, 'message' => mb_substr($text, 0, 250), 'response' => self::dumpRes($res), 'update_time' => time(),
+ ]);
+ (new QytOil())->saveLog("【告警】退款结果未知 order={$order['order_id']} refund_no={$refundNo}:{$text}");
+ $order['refund_status'] = self::CONFIRM;
+ return self::result(false, self::CONFIRM, $text, self::REASON_PROCESSING, self::orderData($order, $refundNo));
+ }
+
+ /**
+ * @return array [order, refund, enterprise, errorMessage]
+ */
+ protected static function loadConfirmContext(int $orderId): array
+ {
+ $order = Db::name('partners_order')->where('order_id', $orderId)->find();
+ if (!$order) {
+ return [[], [], null, '订单不存在'];
+ }
+ if ((int) $order['refund_status'] !== self::CONFIRM) {
+ return [$order, [], null, '只有「待人工确认」的退款需要确认,当前状态:' . (self::STATUS_TEXT[(int) $order['refund_status']] ?? '')];
+ }
+ $refund = Db::name('qyt_refund')->where('order_id', $orderId)->where('status', self::CONFIRM)
+ ->order('refund_id', 'desc')->find();
+ if (!$refund) {
+ return [$order, [], null, '未找到待确认的退款流水'];
+ }
+ $enterprise = EnterpriseModel::detail((int) $order['qyt_enterprise_id']);
+ if (!$enterprise) {
+ return [$order, $refund, null, '本单绑定的企油通企业不存在'];
+ }
+ return [$order, $refund, $enterprise, ''];
+ }
+
+ protected static function orderData(array $order, string $refundNo = ''): array
+ {
+ if ($refundNo === '' && !empty($order['order_id'])) {
+ $refundNo = (string) Db::name('qyt_refund')->where('order_id', $order['order_id'])
+ ->order('refund_id', 'desc')->value('refund_no');
+ }
+ return [
+ 'oilCardNo' => (string) ($order['oilCardNo'] ?? ''),
+ 'saleOrderNo' => (string) ($order['partners_order_no'] ?? ''),
+ 'refundNo' => $refundNo,
+ // 已退款:实际退款金额;其余:当前剩余未加油金额(即本次会退的金额)
+ 'refundAmount' => number_format((int) ($order['refund_status'] ?? 0) === self::SUCCESS
+ ? (float) ($order['refund_amount'] ?? 0)
+ : self::remainAmount($order), 2, '.', ''),
+ 'usedAmount' => number_format((float) ($order['used_amount'] ?? 0), 2, '.', ''),
+ 'refundStatus' => (int) ($order['refund_status'] ?? 0),
+ ];
+ }
+
+ protected static function result(bool $ok, int $status, string $message, string $reason = '', array $data = []): array
+ {
+ return [
+ 'ok' => $ok,
+ 'status' => $status,
+ 'status_text' => self::STATUS_TEXT[$status] ?? '',
+ 'message' => $message,
+ 'reason' => $reason,
+ 'data' => $data,
+ ];
+ }
+
+ protected static function dumpRes(array $res): string
+ {
+ if (!$res) {
+ return '';
+ }
+ $keep = ['code' => $res['code'] ?? '', 'message' => $res['message'] ?? '',
+ 'transport_error' => !empty($res['transport_error']), 'data' => QytOil::maskDeep($res['data'] ?? [])];
+ return mb_substr((string) json_encode($keep, JSON_UNESCAPED_UNICODE), 0, 60000);
+ }
+}
diff --git a/server-tp6/app/console/command/CallbackQueue.php b/server-tp6/app/console/command/CallbackQueue.php
index e88bbbc..feea7f7 100644
--- a/server-tp6/app/console/command/CallbackQueue.php
+++ b/server-tp6/app/console/command/CallbackQueue.php
@@ -340,58 +340,91 @@ class CallbackQueue extends Command
continue;
}
$payTime = !empty($c['pay_time']) ? (strtotime($c['pay_time']) ?: time()) : time();
- // 落消费流水(uk_consume 去重:重复回调直接忽略)
+ // 一单可以分多次加油:每条推送是一次加油,consume_amount = 本次占用运单金额(分)
+ $consumeFen = (int)($c['consume_amount'] ?? 0);
+ $consumeYuan = number_format($consumeFen / 100, 2, '.', '');
+ $orderCode = trim((string)($c['order_code'] ?? ''));
+ // 去重键:文档里 order_code 是选填,缺失时用本笔消费的特征字段做指纹,
+ // 否则同一运单的第二笔加油会被唯一键误判为重复推送而丢掉(口径与迁移脚本回填一致)
+ $consumeKey = $orderCode !== '' ? $orderCode : 'FP' . md5(implode('|', [
+ $c['quota_id'] ?? '', $c['pay_time'] ?? '', $c['consume_amount'] ?? '',
+ $c['pay_fee'] ?? '', $c['station_code'] ?? '', $c['litter'] ?? '',
+ ]));
+ $consumeId = 0;
try {
- Db::name('qyt_consume')->insert([
- 'order_id' => $order['order_id'],
- 'waybill_no' => $c['waybill_no'] ?? '',
- 'waybill_no_code' => $code,
- 'order_code' => $c['order_code'] ?? '',
- 'station_code' => $c['station_code'] ?? '',
- 'station_name' => $c['station_name'] ?? '',
- 'oil_name' => $c['oil_name'] ?? '',
- 'litter' => $c['litter'] ?? '',
- 'oil_price' => (int)($c['oil_price'] ?? 0),
- 'actual_oil_price' => (int)($c['actual_oil_price'] ?? 0),
- 'pay_fee' => (int)($c['pay_fee'] ?? 0),
- 'consume_amount' => (int)($c['consume_amount'] ?? 0),
- 'pay_time' => $payTime,
- 'raw' => json_encode($c, 320),
- 'store_id' => $order['store_id'],
- 'create_time' => time(),
- ]);
+ // 流水落库与订单累计放在同一事务:唯一键挡住重推,重推既不重复累计也不重复通知
+ Db::transaction(function () use ($order, $c, $code, $orderCode, $consumeKey, $payTime, $consumeFen, $consumeYuan, &$consumeId) {
+ $consumeId = (int)Db::name('qyt_consume')->insertGetId([
+ 'order_id' => $order['order_id'],
+ 'waybill_no' => $c['waybill_no'] ?? '',
+ 'waybill_no_code' => $code,
+ 'order_code' => $orderCode,
+ 'consume_key' => $consumeKey,
+ 'station_code' => $c['station_code'] ?? '',
+ 'station_name' => $c['station_name'] ?? '',
+ 'oil_name' => $c['oil_name'] ?? '',
+ 'litter' => $c['litter'] ?? '',
+ 'oil_price' => (int)($c['oil_price'] ?? 0),
+ 'actual_oil_price' => (int)($c['actual_oil_price'] ?? 0),
+ 'pay_fee' => (int)($c['pay_fee'] ?? 0),
+ 'consume_amount' => $consumeFen,
+ 'pay_time' => $payTime,
+ 'raw' => json_encode($c, 320),
+ 'store_id' => $order['store_id'],
+ 'create_time' => time(),
+ ]);
+ // 累计已加油金额 / 次数,并记下最近一次加油信息(原子自增,不读后写)
+ Db::name('partners_order')->where('order_id', $order['order_id'])->update([
+ 'used_amount' => Db::raw('`used_amount` + ' . $consumeYuan),
+ 'used_num' => Db::raw('`used_num` + 1'),
+ 'use_text' => '加油',
+ 'qyt_order_code' => $orderCode,
+ 'station_name' => $c['station_name'] ?? '',
+ 'oil_name' => $c['oil_name'] ?? '',
+ 'litter' => $c['litter'] ?? '',
+ 'pay_fee' => (int)($c['pay_fee'] ?? 0),
+ 'consume_time' => $payTime,
+ 'update_time' => time(),
+ ]);
+ // use_status 语义不变(0 未加油 / 1 有加油记录):只在第一笔加油时置 1 并记首次加油时间
+ Db::name('partners_order')->where('order_id', $order['order_id'])->where('use_status', 0)->update([
+ 'use_status' => 1,
+ 'use_time' => time(),
+ 'shareNo' => $orderCode !== '' ? $orderCode : $order['shareNo'],
+ ]);
+ });
} catch (\Exception $e) {
if (strpos($e->getMessage(), 'Duplicate') === false) {
throw $e;
}
- $SybOil->saveLogStore('企油通消费回调重复,忽略流水:' . $code . '/' . ($c['order_code'] ?? ''));
+ $SybOil->saveLogStore('企油通消费回调重复,忽略(不重复累计、不重复通知):' . $code . '/' . $consumeKey);
+ continue;
}
- // 条件跃迁 use_status 0 -> 1(要求已发放),仅胜出者通知下单平台
- $affected = Db::name('partners_order')->where('order_id', $order['order_id'])
- ->where('use_status', 0)
- ->where('oil_status', 1)
- ->update([
- 'use_status' => 1,
- 'use_time' => time(),
- 'use_text' => '加油',
- 'qyt_order_code' => $c['order_code'] ?? '',
- 'shareNo' => $c['order_code'] ?: $order['shareNo'],
- 'station_name' => $c['station_name'] ?? '',
- 'oil_name' => $c['oil_name'] ?? '',
- 'litter' => $c['litter'] ?? '',
- 'pay_fee' => (int)($c['pay_fee'] ?? 0),
- 'consume_time' => $payTime,
- 'update_time' => time(),
- ]);
- if ($affected) {
- $queueService = new QueueService();
- $queueService->push('notify_queue', json_encode([
- 'order_id' => $order['order_id'],
- 'optType' => 'add_oil',
- 'retry_count' => 0,
- ], 320));
- $SybOil->saveLogStore('企油通消费回调处理成功:' . json_encode($c, 320));
+
+ // 超额告警:累计加油 + 已退款 > 订单金额。上游额度按司机凭证累计,
+ // 归属到本单的消费可能与本地可退金额算出的不一致,需要人工核对
+ $fresh = Db::name('partners_order')->where('order_id', $order['order_id'])
+ ->field('total_price,used_amount,refund_amount,oil_status_zsy')->find();
+ if ($fresh && (float)$fresh['used_amount'] + (float)$fresh['refund_amount'] > (float)$fresh['total_price'] + 0.005) {
+ $SybOil->saveLogStore('【告警】订单已加油+已退款超出订单金额 order=' . $order['order_id']
+ . ' total=' . $fresh['total_price'] . ' used=' . $fresh['used_amount'] . ' refund=' . $fresh['refund_amount']);
}
+
+ // 每笔加油都通知下单平台(amount = 本次占用金额)
+ $notify = json_encode([
+ 'order_id' => $order['order_id'],
+ 'optType' => 'add_oil',
+ 'consume_id' => $consumeId,
+ 'retry_count' => 0,
+ ], 320);
+ $queueService = new QueueService();
+ if ((int)($fresh['oil_status_zsy'] ?? 2) === 2) {
+ $queueService->push('notify_queue', $notify);
+ } else {
+ // 7.8 发放结果还没确认就先收到了加油:延后 60 秒再通知,尽量让「分油成功」通知先到下游
+ $queueService->laterPush('notify_queue', $notify, 60);
+ }
+ $SybOil->saveLogStore('企油通消费回调处理成功:' . json_encode($c, 320));
}
break;
default:
diff --git a/server-tp6/app/console/command/NotifyQueue.php b/server-tp6/app/console/command/NotifyQueue.php
index d83bff4..86dc1cc 100644
--- a/server-tp6/app/console/command/NotifyQueue.php
+++ b/server-tp6/app/console/command/NotifyQueue.php
@@ -87,12 +87,31 @@ class NotifyQueue extends Command
return false;
}
$partnersOil = new PartnersOil();
+ $optType = (string)($data['optType'] ?? '');
+
+ // 加油:一单可多次加油,每笔单独通知。消息里带 consume_id 时推这一笔的占用金额和消费单号;
+ // 老消息没有 consume_id(上线前入队的)则沿用旧口径推订单金额
+ $consume = null;
+ if ($optType == 'add_oil' && !empty($data['consume_id'])) {
+ $consume = Db::name('qyt_consume')->where('id', (int)$data['consume_id'])->find();
+ }
+ if ($optType == 'refund') {
+ $amount = $order['refund_amount'];
+ } elseif ($consume) {
+ $amount = number_format((int)$consume['consume_amount'] / 100, 2, '.', '');
+ } else {
+ $amount = $order['total_price'];
+ }
+
$data = [
'oilCardNo' => $order['oilCardNo'],
- 'amount' => $order['total_price'],
- 'shareNo' => $order['shareNo'],
- 'type' => $data['optType'] == 'share_oil' ? 'add' : 'sub',
- 'optType' => $data['optType'],
+ // 分油:订单金额;加油:本次加油占用金额;退款:退款金额
+ 'amount' => $amount,
+ // 订单实付金额(即分油金额),所有场景都带,方便对接方拿 amount 对照参考
+ 'orderAmount' => number_format((float)$order['total_price'], 2, '.', ''),
+ 'shareNo' => $consume && $consume['order_code'] !== '' ? $consume['order_code'] : $order['shareNo'],
+ 'type' => $optType == 'share_oil' ? 'add' : 'sub',
+ 'optType' => $optType,
];
$header['method'] = 'syb.notify.oilCard.change';
$res = $partnersOil->sendRequest($partners, $partners['callback'], $data, $header);
@@ -103,11 +122,16 @@ class NotifyQueue extends Command
'oil_callback' => 1,
'oil_callback_time' => time(),
]);
- }else{
+ }elseif($data['optType'] == 'add_oil'){
+ // 退款通知成功不记 use_callback,避免把「加油已回调」标错
$order->save([
'use_callback' => 1,
'use_callback_time' => time(),
]);
+ // 逐笔记录这一笔加油已通知
+ if ($consume) {
+ Db::name('qyt_consume')->where('id', $consume['id'])->update(['notify_status' => 1, 'notify_time' => time()]);
+ }
}
return true;
}
diff --git a/server-tp6/app/store/controller/Partners.php b/server-tp6/app/store/controller/Partners.php
index 029a136..ab7329e 100644
--- a/server-tp6/app/store/controller/Partners.php
+++ b/server-tp6/app/store/controller/Partners.php
@@ -3,6 +3,7 @@ declare (strict_types=1);
namespace app\store\controller;
+use app\common\model\qyt\Enterprise as EnterpriseModel;
use app\store\controller\Controller;
use app\store\model\Partners as PartnersModel;
use app\store\model\partners\Order as OrderModel;
@@ -40,15 +41,47 @@ class Partners extends Controller
$newList = [];
$OrderModel = new OrderModel();
$date = date("Y-m-d");
+ // 企油通企业:口径与下单时 Enterprise::resolve 一致(绑定且启用 -> 用绑定的;否则 -> 默认企业)
+ $bindIds = array_filter(array_map('intval', array_column($list['data'], 'qyt_enterprise_id')));
+ $enterprises = $bindIds
+ ? array_column(EnterpriseModel::whereIn('enterprise_id', $bindIds)
+ ->field('enterprise_id,company_name,passageway,is_enable')->select()->toArray(), null, 'enterprise_id')
+ : [];
+ $default = EnterpriseModel::getDefault();
foreach ($list['data'] as $val){
$val['day_money'] =$OrderModel->getOrderTotalPrice($date, $date, $val);
$val['total_money'] =$OrderModel->getOrderTotalPrice(null, null, $val);
+ $val = array_merge($val, $this->enterpriseInfo((int)$val['qyt_enterprise_id'], $enterprises, $default));
$newList[] = $val;
}
$list['data'] = $newList;
return $this->renderSuccess(['list'=>$list,'user'=>$this->store['user']]);
}
+ /**
+ * 合作商实际使用的企油通企业
+ * qyt_enterprise_source:bind 绑定 / default 未绑定走默认 / invalid 绑定的企业已停用或删除(实际走默认)/ none 无可用企业
+ */
+ private function enterpriseInfo(int $bindId, array $enterprises, $default): array
+ {
+ $bound = $bindId > 0 ? ($enterprises[$bindId] ?? null) : null;
+ if ($bound && (int)$bound['is_enable'] === 1) {
+ $source = 'bind';
+ $use = $bound;
+ } else {
+ $source = $bindId > 0 ? 'invalid' : 'default';
+ $use = $default ? $default->toArray() : null;
+ !$use && $source = $bindId > 0 ? 'invalid' : 'none';
+ }
+ return [
+ 'qyt_enterprise_source' => $source,
+ // 绑定失效时也把原绑定企业名带出来,便于排查
+ 'qyt_bind_name' => $bound['company_name'] ?? '',
+ 'qyt_enterprise_name' => $use['company_name'] ?? '',
+ 'qyt_enterprise_channel' => isset($use['passageway']) ? ($use['passageway'] === 'pingan' ? '平安银行' : '支付宝企业码') : '',
+ ];
+ }
+
/**
* 获取所有商户
* @return mixed
diff --git a/server-tp6/app/store/controller/partners/Order.php b/server-tp6/app/store/controller/partners/Order.php
index 47d617b..61bd192 100644
--- a/server-tp6/app/store/controller/partners/Order.php
+++ b/server-tp6/app/store/controller/partners/Order.php
@@ -16,7 +16,9 @@ namespace app\store\controller\partners;
use app\common\service\PartnersBalance;
use app\common\service\QueueService;
use app\common\model\qyt\Enterprise as EnterpriseModel;
+use app\common\service\QytInvoice;
use app\common\service\QytOil;
+use app\common\service\QytRefund;
use app\store\controller\Controller;
use app\store\model\order\QrCode as QrCodeModel;
use app\store\model\partners\Order as OrderModel;
@@ -66,8 +68,12 @@ class Order extends Controller
if (!$order) {
return $this->renderError('订单不存在');
}
- if ($order['use_status'] != 0) {
- return $this->renderError('该单已加油核销');
+ // 一单可以分多次加油:没加完的单继续给加油地址
+ if ((int) $order['refund_status'] === 2) {
+ return $this->renderError('该单已退款,不能再加油');
+ }
+ if ((float) $order['used_amount'] + 0.005 >= (float) $order['total_price']) {
+ return $this->renderError('该单金额已全部加油');
}
if ($order['oil_status'] != 1) {
return $this->renderError('该单尚未发放成功,无法获取加油地址');
@@ -193,12 +199,120 @@ class Order extends Controller
if ($order['use_status'] != 1) {
return $this->renderError('该单未加油核销,无可回调内容');
}
- (new QueueService())->push('notify_queue', json_encode([
- 'order_id' => $orderId,
- 'type' => 'sub',
- 'optType' => 'add_oil',
- 'retry_count' => 0,
- ], 320));
- return $this->renderSuccess('已重新推送加油结果');
+ // 每笔加油单独通知:优先补推还没通知成功的;都通知过了就全部重推一遍(下游按 shareNo 去重)
+ $ids = Db::name('qyt_consume')->where('order_id', $orderId)->where('notify_status', 0)->order('id')->column('id');
+ $all = !$ids;
+ $all && $ids = Db::name('qyt_consume')->where('order_id', $orderId)->order('id')->column('id');
+ $queue = new QueueService();
+ if (!$ids) {
+ // 没有消费流水(改造前的历史单),按旧口径推一次
+ $queue->push('notify_queue', json_encode(['order_id' => $orderId, 'optType' => 'add_oil', 'retry_count' => 0], 320));
+ return $this->renderSuccess('已重新推送加油结果');
+ }
+ foreach ($ids as $consumeId) {
+ $queue->push('notify_queue', json_encode([
+ 'order_id' => $orderId,
+ 'optType' => 'add_oil',
+ 'consume_id' => (int) $consumeId,
+ 'retry_count' => 0,
+ ], 320));
+ }
+ return $this->renderSuccess(($all ? '已重新推送全部 ' : '已补推未通知的 ') . count($ids) . ' 笔加油结果');
+ }
+
+ // ================================================================
+ // 退款(整单全额:7.17 查凭证 + 7.16 调低额度)
+ // ================================================================
+
+ /**
+ * 发起退款
+ */
+ public function refund(): Json
+ {
+ $orderId = (int) $this->request->param('orderId');
+ $reason = trim((string) $this->request->param('reason', ''));
+ if (!Db::name('partners_order')->where('order_id', $orderId)->count()) {
+ return $this->renderError('订单不存在');
+ }
+ $res = QytRefund::apply($orderId, 'admin', $this->operator(), $reason);
+ return $res['ok'] ? $this->renderSuccess($res['data'], $res['message']) : $this->renderError($res['message']);
+ }
+
+ /**
+ * 确认「待人工确认」的退款:向企油通取证(7.13 流水 + 7.17 凭证)
+ */
+ public function refundConfirm(): Json
+ {
+ $res = QytRefund::confirm((int) $this->request->param('orderId'));
+ return $this->decided($res) ? $this->renderSuccess($res['data'], $res['message']) : $this->renderError($res['message']);
+ }
+
+ /**
+ * 人工判定「待人工确认」的退款
+ * result = success / failed,remark 必填(判定依据)
+ */
+ public function refundResolve(): Json
+ {
+ $result = (string) $this->request->param('result');
+ if (!in_array($result, ['success', 'failed'], true)) {
+ return $this->renderError('判定结果不合法');
+ }
+ $res = QytRefund::resolve(
+ (int) $this->request->param('orderId'),
+ $result === 'success',
+ $this->operator(),
+ (string) $this->request->param('remark', '')
+ );
+ return $this->decided($res) ? $this->renderSuccess($res['data'], $res['message']) : $this->renderError($res['message']);
+ }
+
+ /**
+ * 订单的退款流水
+ */
+ public function refundLog(): Json
+ {
+ $list = Db::name('qyt_refund')
+ ->where('order_id', (int) $this->request->param('orderId'))
+ ->field('refund_id,refund_no,source,operator,reason,amount,quota_id,total_before,available_before,total_after,available_after,status,message,create_time,update_time')
+ ->order('refund_id', 'desc')
+ ->select()->toArray();
+ foreach ($list as &$row) {
+ $row['status_text'] = QytRefund::STATUS_TEXT[(int) $row['status']] ?? '';
+ $row['create_time_text'] = date('Y-m-d H:i:s', (int) $row['create_time']);
+ }
+ return $this->renderSuccess(compact('list'));
+ }
+
+ // ================================================================
+ // 发票(7.14,按「企业 + 消费月份 + 司机」关联)
+ // ================================================================
+
+ public function invoice(): Json
+ {
+ $order = Db::name('partners_order')->where('order_id', (int) $this->request->param('orderId'))->find();
+ if (!$order) {
+ return $this->renderError('订单不存在');
+ }
+ if ((int) $order['use_status'] !== 1) {
+ return $this->renderError('该订单还没有加油记录,暂无发票');
+ }
+ $res = QytInvoice::forOrder($order, (bool) $this->request->param('refresh', 0));
+ return $res['ok'] ? $this->renderSuccess($res, $res['message']) : $this->renderError($res['message']);
+ }
+
+ /**
+ * 取证 / 人工判定是否得出了结论:退款成功,或明确判定为「未生效」都算请求成功,
+ * 由返回的 refundStatus 区分;状态不符、取证失败、仍无法判定才算失败
+ */
+ private function decided(array $res): bool
+ {
+ return $res['ok']
+ || ($res['status'] === QytRefund::FAILED && $res['reason'] === QytRefund::REASON_UPSTREAM);
+ }
+
+ /** 当前后台操作人 */
+ private function operator(): string
+ {
+ return (string) ($this->store['user']['user_name'] ?? 'admin');
}
}
diff --git a/server-tp6/app/store/controller/qyt/Driver.php b/server-tp6/app/store/controller/qyt/Driver.php
new file mode 100644
index 0000000..0115d82
--- /dev/null
+++ b/server-tp6/app/store/controller/qyt/Driver.php
@@ -0,0 +1,195 @@
+request->param();
+ $keyword = trim((string) ($param['keyword'] ?? ''));
+
+ $query = Db::name('qyt_driver')->where('store_id', $this->storeId);
+ if ($keyword !== '') {
+ if (preg_match('/^\d{17}[\dXx]$/', $keyword)) {
+ $query->where('id_card', strtoupper($keyword));
+ } elseif (preg_match('/^1\d{10}$/', $keyword)) {
+ $query->where('mobile', $keyword);
+ } else {
+ $query->whereLike('name', '%' . $keyword . '%');
+ }
+ }
+ if (isset($param['conflict']) && $param['conflict'] !== '' && (int) $param['conflict'] >= 0) {
+ $query->where('conflict', (int) $param['conflict']);
+ }
+
+ $list = $query->order('last_order_time', 'desc')->paginate(15)->toArray();
+ $stats = $this->stats(array_column($list['data'], 'id_card'));
+ foreach ($list['data'] as &$row) {
+ $row = $this->formatDriver($row, $stats[$row['id_card']] ?? []);
+ }
+ return $this->renderSuccess(compact('list'));
+ }
+
+ public function detail(int $driverId): Json
+ {
+ $driver = $this->findDriver($driverId);
+ if (!$driver) {
+ return $this->renderError('司机不存在');
+ }
+ $stats = $this->stats([$driver['id_card']]);
+
+ // 涉及过的企业(上游查询要按企业查)
+ $entIds = Db::name('partners_order')->where('store_id', $this->storeId)
+ ->where('id_card', $driver['id_card'])->where('qyt_enterprise_id', '>', 0)
+ ->group('qyt_enterprise_id')->column('qyt_enterprise_id');
+ $enterprises = $entIds
+ ? EnterpriseModel::whereIn('enterprise_id', $entIds)
+ ->field('enterprise_id,company_name,passageway,status')->select()->toArray()
+ : [];
+
+ $orders = Db::name('partners_order')->where('store_id', $this->storeId)->where('id_card', $driver['id_card'])
+ ->field('order_id,oilCardNo,partners_order_no,total_price,driver_name,mobile,oil_status_zsy,oil_text,use_status,refund_status,refund_text,qyt_enterprise_id,create_time')
+ ->order('order_id', 'desc')->limit(20)->select()->toArray();
+ foreach ($orders as &$o) {
+ $o['mobile'] = QytOil::maskMobile((string) $o['mobile']);
+ $o['refund_status_text'] = QytRefund::STATUS_TEXT[(int) $o['refund_status']] ?? '';
+ $o['create_time_text'] = date('Y-m-d H:i:s', (int) $o['create_time']);
+ }
+
+ return $this->renderSuccess([
+ 'detail' => $this->formatDriver($driver, $stats[$driver['id_card']] ?? []),
+ 'enterprises' => $enterprises,
+ 'orders' => $orders,
+ ]);
+ }
+
+ /**
+ * 实时查企油通
+ * type: balance 7.12 / wallet 7.13 / voucher 7.17
+ */
+ public function upstream(int $driverId, int $enterpriseId, string $type = 'balance', int $page = 1): Json
+ {
+ $driver = $this->findDriver($driverId);
+ if (!$driver) {
+ return $this->renderError('司机不存在');
+ }
+ $enterprise = EnterpriseModel::detail($enterpriseId);
+ if (!$enterprise) {
+ return $this->renderError('企业不存在');
+ }
+ $qyt = QytOil::forEnterprise($enterprise);
+ $mobile = (string) $driver['mobile'];
+ $idCard = (string) $driver['id_card'];
+ $page = max(1, $page);
+
+ switch ($type) {
+ case 'balance':
+ $res = $qyt->driverBalanceQuery($mobile, $idCard, $page, 20);
+ break;
+ case 'wallet':
+ $res = $qyt->driverWalletQuery($mobile, $idCard, $page, 20);
+ break;
+ case 'voucher':
+ $res = $qyt->getVoucherList($mobile, $idCard, $page, 20);
+ break;
+ default:
+ return $this->renderError('查询类型不合法');
+ }
+ if ($res['code'] !== '00') {
+ return $this->renderError('企油通返回:' . ($res['message'] ?: '查询失败'));
+ }
+
+ $data = (array) $res['data'];
+ // 7.12 / 7.13 金额是「分」,统一转成元再给前端;7.17 本来就是元
+ if ($type === 'balance' || $type === 'wallet') {
+ foreach (['totalGrantAmount', 'availableBalance'] as $k) {
+ isset($data[$k]) && $data[$k . 'Yuan'] = QytOil::fenToYuan($data[$k]);
+ }
+ foreach (['list', 'transactionDetails'] as $listKey) {
+ foreach ((array) ($data[$listKey] ?? []) as $i => $item) {
+ foreach (['total_amount', 'available_amount', 'amount'] as $k) {
+ if (isset($item[$k]) && is_numeric($item[$k])) {
+ $data[$listKey][$i][$k . '_yuan'] = QytOil::fenToYuan((int) $item[$k]);
+ }
+ }
+ }
+ }
+ }
+ return $this->renderSuccess(['type' => $type, 'data' => QytOil::maskDeep($data)]);
+ }
+
+ // ================================================================
+
+ private function findDriver(int $driverId): ?array
+ {
+ $row = Db::name('qyt_driver')->where('store_id', $this->storeId)->where('driver_id', $driverId)->find();
+ return $row ?: null;
+ }
+
+ /**
+ * 从订单实时汇总,按身份证号分组
+ */
+ private function stats(array $idCards): array
+ {
+ if (!$idCards) {
+ return [];
+ }
+ $rows = Db::name('partners_order')
+ ->where('store_id', $this->storeId)
+ ->whereIn('id_card', $idCards)
+ ->fieldRaw('id_card,'
+ . ' COUNT(*) AS order_num,'
+ . ' SUM(IF(oil_status_zsy = 2, total_price, 0)) AS grant_amount,'
+ . ' SUM(IF(refund_status = 2, refund_amount, 0)) AS refund_amount,'
+ . ' SUM(IF(use_status = 1, 1, 0)) AS used_num,'
+ . ' SUM(used_amount) AS used_amount,'
+ . ' SUM(IF(oil_status_zsy = 3, 1, 0)) AS fail_num,'
+ . ' SUM(IF(oil_status_zsy = 1, 1, 0)) AS pending_num')
+ ->group('id_card')
+ ->select()->toArray();
+ return array_column($rows, null, 'id_card');
+ }
+
+ private function formatDriver(array $row, array $stat): array
+ {
+ $grant = round((float) ($stat['grant_amount'] ?? 0), 2);
+ $refund = round((float) ($stat['refund_amount'] ?? 0), 2);
+ $out = [
+ 'driver_id' => (int) $row['driver_id'],
+ 'name' => $row['name'],
+ 'mobile' => $row['mobile'],
+ 'id_card_mask' => QytOil::maskIdCard((string) $row['id_card']),
+ 'conflict' => (int) $row['conflict'],
+ 'conflict_text' => $row['conflict_text'],
+ 'last_order_time_text' => $row['last_order_time'] ? date('Y-m-d H:i:s', (int) $row['last_order_time']) : '',
+ 'order_num' => (int) ($stat['order_num'] ?? 0),
+ 'used_num' => (int) ($stat['used_num'] ?? 0),
+ 'fail_num' => (int) ($stat['fail_num'] ?? 0),
+ 'pending_num' => (int) ($stat['pending_num'] ?? 0),
+ 'grant_amount' => number_format($grant, 2, '.', ''),
+ 'refund_amount' => number_format($refund, 2, '.', ''),
+ 'used_amount' => number_format((float) ($stat['used_amount'] ?? 0), 2, '.', ''),
+ // 本地口径的净发放额,仅供参考;真实可用额度以企油通 7.12 为准
+ 'net_amount' => number_format($grant - $refund, 2, '.', ''),
+ ];
+ return $out;
+ }
+}
diff --git a/server-tp6/app/store/controller/qyt/Enterprise.php b/server-tp6/app/store/controller/qyt/Enterprise.php
index e624e4a..f2d028b 100644
--- a/server-tp6/app/store/controller/qyt/Enterprise.php
+++ b/server-tp6/app/store/controller/qyt/Enterprise.php
@@ -234,6 +234,25 @@ class Enterprise extends Controller
return $this->renderSuccess("同步完成:新增 {$added} 家,更新 {$updated} 家");
}
+ /**
+ * 7.11 企业账户余额(仅平安银行通道;银行侧实时查询,勿高频调用)
+ */
+ public function balance(int $enterpriseId): Json
+ {
+ $model = EnterpriseModel::detail($enterpriseId);
+ if (!$model) {
+ return $this->renderError('企业不存在');
+ }
+ $res = QytOil::forEnterprise($model)->distributable();
+ if ($res['code'] !== '00') {
+ return $this->renderError('企油通返回:' . ($res['message'] ?: '查询失败'));
+ }
+ return $this->renderSuccess([
+ 'balance' => QytOil::fenToYuan($res['data']['balance'] ?? 0),
+ 'available_balance' => QytOil::fenToYuan($res['data']['available_balance'] ?? 0),
+ ], '查询成功');
+ }
+
/** 记录同步结果 */
private function saveSync($model, string $text): void
{
diff --git a/server-tp6/app/store/controller/qyt/Invoice.php b/server-tp6/app/store/controller/qyt/Invoice.php
new file mode 100644
index 0000000..cd1370d
--- /dev/null
+++ b/server-tp6/app/store/controller/qyt/Invoice.php
@@ -0,0 +1,71 @@
+request->param();
+ $query = Db::name('qyt_invoice');
+ !empty($param['qyt_enterprise_id']) && $query->where('qyt_enterprise_id', (int) $param['qyt_enterprise_id']);
+ !empty($param['month']) && $query->where('month', (string) $param['month']);
+ !empty($param['mobile']) && $query->where('mobile', trim((string) $param['mobile']));
+ if (isset($param['has_invoice']) && $param['has_invoice'] !== '' && (int) $param['has_invoice'] >= 0) {
+ (int) $param['has_invoice'] === 1 ? $query->where('invoice_count', '>', 0) : $query->where('invoice_count', 0);
+ }
+
+ $list = $query->order(['month' => 'desc', 'invoice_id' => 'desc'])->paginate(15)->toArray();
+
+ $names = EnterpriseModel::column('company_name', 'enterprise_id');
+ foreach ($list['data'] as &$row) {
+ $row = QytInvoice::format($row);
+ $row['company_name'] = $names[$row['qyt_enterprise_id']] ?? '(企业已删除)';
+ }
+ return $this->renderSuccess(compact('list'));
+ }
+
+ public function sync(): Json
+ {
+ $month = trim((string) $this->request->param('month'));
+ $mobile = trim((string) $this->request->param('mobile', ''));
+ $enterpriseId = (int) $this->request->param('enterpriseId', 0);
+
+ if ($enterpriseId > 0) {
+ $enterprise = EnterpriseModel::detail($enterpriseId);
+ if (!$enterprise) {
+ return $this->renderError('企业不存在');
+ }
+ $res = QytInvoice::sync($enterprise, $month, $mobile);
+ return $res['ok'] ? $this->renderSuccess($res['row'], $res['message']) : $this->renderError($res['message']);
+ }
+
+ // 批量:所有启用企业的该月全量
+ $ok = $fail = 0;
+ $errors = [];
+ foreach (EnterpriseModel::where('is_enable', 1)->select() as $enterprise) {
+ $res = QytInvoice::sync($enterprise, $month, '');
+ if ($res['ok']) {
+ $ok++;
+ } else {
+ $fail++;
+ $errors[] = $enterprise['company_name'] . ':' . $res['message'];
+ }
+ }
+ $message = "批量同步完成:成功 {$ok} 家,失败 {$fail} 家" . ($errors ? '(' . implode(';', array_slice($errors, 0, 3)) . ')' : '');
+ return $fail && !$ok ? $this->renderError($message) : $this->renderSuccess([], $message);
+ }
+}
diff --git a/server-tp6/app/store/model/partners/Order.php b/server-tp6/app/store/model/partners/Order.php
index e56005a..c9faa84 100644
--- a/server-tp6/app/store/model/partners/Order.php
+++ b/server-tp6/app/store/model/partners/Order.php
@@ -79,6 +79,8 @@ class Order extends OrderModel
'oil_status' => -1, // 分油(发放)状态
'oil_status_zsy' => -1, // 企油通发放态 0未提交 1发放中 2成功 3失败
'use_status' => -1, // 加油核销状态
+ 'refund_status' => -1, // 退款状态 0未退款 1退款中 2已退款 3退款失败 4待人工确认
+ 'id_card' => '', // 司机身份证号(从司机管理跳转过来时使用)
'betweenTime' => [] // 起止时间
]);
// 检索查询条件
@@ -100,6 +102,10 @@ class Order extends OrderModel
$params['oil_status_zsy'] > -1 && $filter[] = ['oil_status_zsy', '=', (int)$params['oil_status_zsy']];
// 加油核销状态
$params['use_status'] > -1 && $filter[] = ['use_status', '=', (int)$params['use_status']];
+ // 退款状态
+ $params['refund_status'] > -1 && $filter[] = ['order.refund_status', '=', (int)$params['refund_status']];
+ // 司机身份证号(精确匹配)
+ !empty($params['id_card']) && $filter[] = ['order.id_card', '=', strtoupper(trim((string)$params['id_card']))];
// 起止时间
if (!empty($params['betweenTime'])) {
$times = between_time($params['betweenTime']);
diff --git a/server-tp6/config/qyt.php b/server-tp6/config/qyt.php
index dda4a63..2b4cb95 100644
--- a/server-tp6/config/qyt.php
+++ b/server-tp6/config/qyt.php
@@ -66,6 +66,11 @@ return [
// 7.15 是否把 creditcode(营业执照号)带入链接并入签(true 则本次登录固定到该企业)
'h5_with_creditcode' => true,
+ // 7.15 是否对链接参数做 URL 编码。
+ // 默认 false:文档示例里 sign 末尾是裸的 ==,说明落地页拿的是未编码的原始 base64。
+ // 若对接人确认对方页面会先 decodeURIComponent,改成 true。
+ 'h5_sign_urlencode' => (bool) env('qyt.h5_sign_urlencode', false),
+
// ============ 杂项 ============
diff --git a/server-tp6/deploy/h5_debug.php b/server-tp6/deploy/h5_debug.php
new file mode 100644
index 0000000..1ccbe04
--- /dev/null
+++ b/server-tp6/deploy/h5_debug.php
@@ -0,0 +1,113 @@
+initialize();
+
+use app\common\model\qyt\Enterprise as EnterpriseModel;
+use app\common\service\QytConfig;
+
+$mobile = $argv[1] ?? '';
+$enterpriseId = (int) ($argv[2] ?? 0);
+
+if (!preg_match('/^1[3-9]\d{9}$/', $mobile)) {
+ exit("用法:php deploy/h5_debug.php <司机手机号> [企业ID]\n");
+}
+
+$enterprise = EnterpriseModel::resolve($enterpriseId);
+if (!$enterprise) {
+ exit("未找到可用企业,请先在后台「设置 → 企业管理」建企业并设为默认\n");
+}
+
+$conf = QytConfig::forEnterprise($enterprise);
+$base = rtrim((string) $conf['h5_base_url'], '/');
+$appId = (string) ($conf['h5_app_id'] ?: $conf['app_id']);
+
+// ---------- 按 7.15 规则签名(ksort -> http_build_query -> urldecode -> 大写MD5 -> SHA1withRSA -> base64) ----------
+$params = [
+ 'appId' => $appId,
+ 'mobile' => $mobile,
+ 'timestamp' => date('YmdHis'),
+];
+!empty($conf['h5_with_creditcode']) && $params['creditcode'] = (string) $conf['business_license'];
+
+$forSign = $params;
+ksort($forSign);
+$raw = urldecode(http_build_query($forSign));
+$md5 = strtoupper(md5($raw));
+
+$pem = trim((string) $conf['private_key']);
+if (strpos($pem, '-----BEGIN') === false) {
+ $pem = "-----BEGIN PRIVATE KEY-----\n" . chunk_split($pem, 64, "\n") . "-----END PRIVATE KEY-----\n";
+}
+$pkey = openssl_pkey_get_private($pem);
+if ($pkey === false) {
+ exit("私钥无效:" . openssl_error_string() . "\n");
+}
+$sig = '';
+openssl_sign($md5, $sig, $pkey, OPENSSL_ALGO_SHA1);
+$sign = base64_encode($sig);
+
+// ---------- 输出 ----------
+$build = function (array $p, string $sign, string $tail) {
+ $pairs = [];
+ foreach ($p as $k => $v) {
+ $pairs[] = $k . '=' . $v;
+ }
+ $pairs[] = 'sign=' . $sign;
+ return '/?' . implode('&', $pairs) . $tail;
+};
+
+echo "企业:{$enterprise['company_name']}({$enterprise['business_license']},状态 {$enterprise['status']})\n";
+echo "通道:{$conf['passageway_name']} appId:{$appId}\n";
+echo "待签串:{$raw}\n";
+echo "大写MD5:{$md5}\n";
+echo "签名含 + 的个数:" . substr_count($sign, '+') . ",含 / 的个数:" . substr_count($sign, '/') . "\n";
+echo str_repeat('=', 70) . "\n\n";
+
+$variants = [
+ 'A. 原样(当前线上行为)' => [$sign, '#/'],
+ 'B. 只把 + 编码为 %2B' => [str_replace('+', '%2B', $sign), '#/'],
+ 'C. 把 + 和 / 都编码' => [str_replace(['+', '/'], ['%2B', '%2F'], $sign), '#/'],
+ 'D. 全部编码(改之前的老行为)' => [rawurlencode($sign), '#/'],
+ 'E. 原样,但去掉末尾的 #/' => [$sign, ''],
+];
+
+$i = 1;
+foreach ($variants as $label => [$s, $tail]) {
+ echo "【{$i}】{$label}\n";
+ echo $base . $build($params, $s, $tail) . "\n\n";
+ $i++;
+}
+
+echo str_repeat('-', 70) . "\n";
+echo "把上面 5 条分别发到微信里点开,记录结果:\n";
+echo " 只有 A 失败、B 成功 -> 问题是 +,对方页面会解码,我们编码 + 即可\n";
+echo " A、B 都失败、C 成功 -> + 和 / 都要编码\n";
+echo " A 成功、其余失败 -> 不是编码问题,重点查 E(末尾 #/)与微信追加参数\n";
+echo " 只有 E 成功 -> 末尾的 #/ 被算进了 sign\n";
+echo " 全都失败 -> 不是 URL 层面的问题,查公钥是否配对、企业是否已审核通过\n";
diff --git a/server-tp6/public/qyt_test.php b/server-tp6/public/qyt_test.php
index 1024bcf..f599d88 100644
--- a/server-tp6/public/qyt_test.php
+++ b/server-tp6/public/qyt_test.php
@@ -318,16 +318,18 @@ function defaultBody($act, $orgNo)
if ($act === 'share') {
$body = [
'orgNo' => $orgNo,
- 'amount' => isset($_GET['amount']) ? $_GET['amount'] : '100.00',
+ 'amount' => isset($_GET['amount']) ? trim($_GET['amount']) : '100.00',
'mobile' => $mobile,
- 'name' => isset($_GET['name']) ? $_GET['name'] : '张三',
- 'saleOrderNo' => $saleOrderNo,
+ 'name' => isset($_GET['name']) ? trim($_GET['name']) : '张三',
+ // 销售单号留空则自动生成(同一单号重复提交会走幂等返回,便于测重复下单)
+ 'saleOrderNo' => isset($_GET['saleOrderNo']) && trim($_GET['saleOrderNo']) !== '' ? trim($_GET['saleOrderNo']) : $saleOrderNo,
'oilCardType' => 'zsy_ticket',
];
// 司机身份证号:两个通道都必传。
- // 加 &noIdCard=1 可故意不传,用来验证实名通道下的 0001 拒单是否生效。
- if (empty($_GET['noIdCard'])) {
- $body['idCard'] = isset($_GET['idCard']) ? $_GET['idCard'] : '450103199001011238';
+ // 页面上身份证号留空(或带 &noIdCard=1)即不传,用来验证 0001 拒单是否生效。
+ $idCard = isset($_GET['idCard']) ? trim($_GET['idCard']) : '450103199001011238';
+ if ($idCard !== '' && empty($_GET['noIdCard'])) {
+ $body['idCard'] = $idCard;
}
return [
'method' => 'syb.oil.oilCard.share',
@@ -349,6 +351,17 @@ function defaultBody($act, $orgNo)
'body' => ['orgNo' => $orgNo, 'oilCardNo' => $oilCardNo],
];
}
+ if ($act === 'refund') {
+ return [
+ 'method' => 'syb.oil.oilCard.refund',
+ 'path' => '/oilCard/refund',
+ 'body' => [
+ 'orgNo' => $orgNo,
+ 'oilCardNo' => $oilCardNo,
+ 'reason' => isset($_GET['reason']) ? $_GET['reason'] : '联调测试退款',
+ ],
+ ];
+ }
if ($act === 'sharelist') {
return [
'method' => 'syb.oil.oilCard.shareList',
@@ -383,7 +396,7 @@ try {
$platformPub = platformPublicKey($ROOT);
$qconf = qytConf($ROOT, $partner);
- if (in_array($act, ['share', 'qrcode', 'status', 'sharelist'], true)) {
+ if (in_array($act, ['share', 'qrcode', 'status', 'sharelist', 'refund'], true)) {
$def = defaultBody($act, $partner['orgNo']);
$env = buildEnvelope($partner, $platformPub, $def['method'], $def['body']);
$url = apiUrl($def['path']);
@@ -416,7 +429,7 @@ if (PHP_SAPI === 'cli') {
";
}
if (!$result) {
- echo "用法:php qyt_test.php [share|qrcode|status|sharelist]\n";
+ echo "用法:php qyt_test.php [share|qrcode|status|sharelist|refund](qrcode/status/refund 需带 oilCardNo,CLI 下请用浏览器方式)\n";
exit;
}
echo '接口:' . $result['def']['method'] . "\n";
@@ -459,6 +472,11 @@ $curOil = isset($_GET['oilCardNo']) ? $_GET['oilCardNo'] : '';
.ok{color:#52c41a;font-weight:600}.err{color:#ff4d4f;font-weight:600}
.tip{background:#fffbe6;border:1px solid #ffe58f;padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:16px}
.lbl{margin:12px 0 6px;color:#555}
+ .share-form{margin-bottom:14px;padding-bottom:14px;border-bottom:1px dashed #eee}
+ .share-form .fields{display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:10px}
+ .share-form label{display:flex;flex-direction:column;font-size:12px;color:#666}
+ .share-form input{margin-top:4px;width:180px;padding:6px 8px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px}
+ .share-form button{padding:7px 16px;background:#52c41a;color:#fff;border:0;border-radius:4px;font-size:13px;cursor:pointer;margin-right:10px}
@@ -526,17 +544,36 @@ $curOil = isset($_GET['oilCardNo']) ? $_GET['oilCardNo'] : '';
发起测试
+
+
- ②③ 需要 oilCardNo:先点①拿到后会自动带上。
- ① 可自定义参数:?act=share&amount=50.00&mobile=13800000002&name=李四&idCard=110101199003071233
- ⑤ 用来验证实名校验:两个通道都要求实名,应当返回 0001 拒单
+ ②③⑥ 需要 oilCardNo:先下单拿到后,在下方响应区点对应按钮会自动带上。
@@ -569,6 +606,7 @@ $curOil = isset($_GET['oilCardNo']) ? $_GET['oilCardNo'] : '';
diff --git a/server-tp6/public/store/css/chunk-vendors.eb75505e.css b/server-tp6/public/store/css/chunk-vendors.43940245.css
similarity index 100%
rename from server-tp6/public/store/css/chunk-vendors.eb75505e.css
rename to server-tp6/public/store/css/chunk-vendors.43940245.css
diff --git a/server-tp6/public/store/css/chunk-vendors.eb75505e.css.gz b/server-tp6/public/store/css/chunk-vendors.43940245.css.gz
similarity index 100%
rename from server-tp6/public/store/css/chunk-vendors.eb75505e.css.gz
rename to server-tp6/public/store/css/chunk-vendors.43940245.css.gz
diff --git a/server-tp6/public/store/css/goods.50f80ed8.css b/server-tp6/public/store/css/goods.5e999d2c.css
similarity index 75%
rename from server-tp6/public/store/css/goods.50f80ed8.css
rename to server-tp6/public/store/css/goods.5e999d2c.css
index c8f7fd7..9acfcee 100644
--- a/server-tp6/public/store/css/goods.50f80ed8.css
+++ b/server-tp6/public/store/css/goods.5e999d2c.css
@@ -1 +1 @@
-.ant-card-body[data-v-e4020f40]{padding:22px 29px 25px}.tab-list[data-v-e4020f40]{margin-right:20px}.spec-group[data-v-b63f0ed6]{width:895px;margin-bottom:15px;line-height:normal}.spec-group .ant-input[data-v-b63f0ed6]{height:28px;padding:4px 11px;font-size:13px;line-height:1.5}.spec-group .ant-input[data-v-b63f0ed6]::-webkit-input-placeholder{font-size:13px}.spec-group .ant-input[data-v-b63f0ed6]::-moz-placeholder{font-size:13px}.spec-group .ant-input[data-v-b63f0ed6]:-ms-input-placeholder{font-size:13px}.spec-group .ant-input[data-v-b63f0ed6]::-ms-input-placeholder{font-size:13px}.spec-group .ant-input[data-v-b63f0ed6]::placeholder{font-size:13px}.spec-group .form-item-help[data-v-b63f0ed6]{line-height:36px}.spec-group .spec-group-item[data-v-b63f0ed6]{background:#f4f5f9;padding:7px 12px;line-height:28px}.spec-group .spec-group-item .group-item-input[data-v-b63f0ed6]{float:left;width:180px}.spec-group .spec-group-item .group-item-delete[data-v-b63f0ed6]{font-size:12px;float:right}.spec-group .spec-value[data-v-b63f0ed6]{background:#fbfbfb;padding:8px 35px}.spec-group .spec-value .spec-value-add[data-v-b63f0ed6],.spec-group .spec-value .spec-value-item[data-v-b63f0ed6]{float:left;margin-bottom:6px;margin-top:6px}.spec-group .spec-value .spec-value-add[data-v-b63f0ed6]{height:28px;line-height:28px}.spec-group .spec-value .spec-value-add a[data-v-b63f0ed6]{font-size:12px}.spec-group .spec-value .spec-value-item[data-v-b63f0ed6]{position:relative;margin-right:20px}.spec-group .spec-value .spec-value-item .value-item-input[data-v-b63f0ed6]{width:186px}.spec-group .spec-value .spec-value-item:hover .icon-close[data-v-b63f0ed6]{display:block}.spec-group .spec-value .spec-value-item .icon-close[data-v-b63f0ed6]{display:none;position:absolute;top:-8px;right:-8px;cursor:pointer;font-size:16px;color:#7d7d7d}.spec-group-add-btn[data-v-b63f0ed6]{font-size:13px}.sku-batch[data-v-b63f0ed6]{line-height:40px;margin-bottom:12px}.sku-batch .title[data-v-b63f0ed6]{line-height:28px;margin-right:15px;font-size:13px}.sku-batch[data-v-b63f0ed6] .ant-input,.sku-batch[data-v-b63f0ed6] .ant-input-number{width:120px;margin-right:15px}.sku-batch[data-v-b63f0ed6] .ant-input{width:140px}.sku-list[data-v-b63f0ed6]{width:895px}.sku-list[data-v-b63f0ed6] .ant-table-tbody>tr>td,.sku-list[data-v-b63f0ed6] .ant-table-thead>tr>th{white-space:nowrap}.sku-list[data-v-b63f0ed6] .ant-table-tbody>tr>td{padding:12px 18px}.sku-list[data-v-b63f0ed6] .ant-input-number-sm,.sku-list[data-v-b63f0ed6] .ant-input-sm{height:28px}.sku-list[data-v-b63f0ed6] .ant-input-number-sm input{height:26px}.spec-group[data-v-c7587ee2]{width:895px;margin-bottom:15px;line-height:normal}.spec-group .ant-input[data-v-c7587ee2]{height:28px;padding:4px 11px;font-size:13px;line-height:1.5}.spec-group .ant-input[data-v-c7587ee2]::-webkit-input-placeholder{font-size:13px}.spec-group .ant-input[data-v-c7587ee2]::-moz-placeholder{font-size:13px}.spec-group .ant-input[data-v-c7587ee2]:-ms-input-placeholder{font-size:13px}.spec-group .ant-input[data-v-c7587ee2]::-ms-input-placeholder{font-size:13px}.spec-group .ant-input[data-v-c7587ee2]::placeholder{font-size:13px}.spec-group .form-item-help[data-v-c7587ee2]{line-height:36px}.spec-group .spec-group-item[data-v-c7587ee2]{background:#f4f5f9;padding:7px 12px;line-height:28px}.spec-group .spec-group-item .group-item-input[data-v-c7587ee2]{float:left;width:180px}.spec-group .spec-group-item .group-item-delete[data-v-c7587ee2]{font-size:12px;float:right}.spec-group .spec-value[data-v-c7587ee2]{background:#fbfbfb;padding:8px 35px}.spec-group .spec-value .spec-value-add[data-v-c7587ee2],.spec-group .spec-value .spec-value-item[data-v-c7587ee2]{float:left;margin-bottom:6px;margin-top:6px}.spec-group .spec-value .spec-value-add[data-v-c7587ee2]{height:28px;line-height:28px}.spec-group .spec-value .spec-value-add a[data-v-c7587ee2]{font-size:12px}.spec-group .spec-value .spec-value-item[data-v-c7587ee2]{position:relative;margin-right:20px}.spec-group .spec-value .spec-value-item .value-item-input[data-v-c7587ee2]{width:186px}.spec-group .spec-value .spec-value-item:hover .icon-close[data-v-c7587ee2]{display:block}.spec-group .spec-value .spec-value-item .icon-close[data-v-c7587ee2]{display:none;position:absolute;top:-8px;right:-8px;cursor:pointer;font-size:16px;color:#7d7d7d}.spec-group-add-btn[data-v-c7587ee2]{font-size:13px}.sku-batch[data-v-c7587ee2]{line-height:40px;margin-bottom:12px}.sku-batch .title[data-v-c7587ee2]{line-height:28px;margin-right:15px;font-size:13px}.sku-batch[data-v-c7587ee2] .ant-input,.sku-batch[data-v-c7587ee2] .ant-input-number{width:120px;margin-right:15px}.sku-batch[data-v-c7587ee2] .ant-input{width:140px}.sku-list[data-v-c7587ee2]{width:895px}.sku-list[data-v-c7587ee2] .ant-table-tbody>tr>td,.sku-list[data-v-c7587ee2] .ant-table-thead>tr>th{white-space:nowrap}.sku-list[data-v-c7587ee2] .ant-table-tbody>tr>td{padding:12px 18px}.sku-list[data-v-c7587ee2] .ant-input-number-sm,.sku-list[data-v-c7587ee2] .ant-input-sm{height:28px}.sku-list[data-v-c7587ee2] .ant-input-number-sm input{height:26px}.tabs-content .tab-pane[data-v-21446ca5]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-21446ca5] .ant-form-item-control{padding-left:10px}[data-v-21446ca5] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-21446ca5]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-21446ca5]{margin-bottom:0}.input-number-group[data-v-21446ca5]{margin:3px 0}.tabs-content .tab-pane[data-v-42fcaf9f]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-42fcaf9f] .ant-form-item-control{padding-left:10px}[data-v-42fcaf9f] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-42fcaf9f]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-42fcaf9f]{margin-bottom:0}.input-number-group[data-v-42fcaf9f]{margin:3px 0}.ant-card-body[data-v-944533f0]{padding:22px 29px 25px}.tab-list[data-v-944533f0]{margin-right:20px}.ant-modal-body[data-v-40cf6f79]{padding-top:0!important}.ant-form-item[data-v-40cf6f79]{margin-bottom:15px}.ant-tabs-nav .ant-tabs-tab[data-v-40cf6f79]{padding:10px 16px}.ant-modal-body[data-v-1f16853b]{padding-top:0!important}.ant-form-item[data-v-1f16853b]{margin-bottom:15px}.ant-tabs-nav .ant-tabs-tab[data-v-1f16853b]{padding:10px 16px}.ant-modal-body[data-v-7c0c56a0]{padding-top:0!important}.ant-form-item[data-v-7c0c56a0]{margin-bottom:15px}.ant-tabs-nav .ant-tabs-tab[data-v-7c0c56a0]{padding:10px 16px}.ant-modal-body[data-v-87d98050]{padding-top:0!important}.ant-form-item[data-v-87d98050]{margin-bottom:15px}.ant-tabs-nav .ant-tabs-tab[data-v-87d98050]{padding:10px 16px}.ant-card-body[data-v-0dc99bb3]{padding:22px 29px 25px}.tab-list[data-v-0dc99bb3]{margin-right:20px}.ant-card-body[data-v-bfa4e59e]{padding:22px 29px 25px}.tabs-content .tab-pane[data-v-0519cf39]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-0519cf39] .ant-form-item-control{padding-left:10px}[data-v-0519cf39] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-0519cf39]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-0519cf39]{margin-bottom:0}.input-number-group[data-v-0519cf39]{margin:3px 0}.tabs-content .tab-pane[data-v-1d6c4b44]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-1d6c4b44] .ant-form-item-control{padding-left:10px}[data-v-1d6c4b44] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-1d6c4b44]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-1d6c4b44]{margin-bottom:0}.input-number-group[data-v-1d6c4b44]{margin:3px 0}.tabs-content .tab-pane[data-v-95fdaa1e]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-95fdaa1e] .ant-form-item-control{padding-left:10px}[data-v-95fdaa1e] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-95fdaa1e]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-95fdaa1e]{margin-bottom:0}.input-number-group[data-v-95fdaa1e]{margin:3px 0}.tabs-content .tab-pane[data-v-a3fe5cd4]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-a3fe5cd4] .ant-form-item-control{padding-left:10px}[data-v-a3fe5cd4] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-a3fe5cd4]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-a3fe5cd4]{margin-bottom:0}.input-number-group[data-v-a3fe5cd4]{margin:3px 0}.ant-modal-body[data-v-11da5822]{padding-top:0!important}.ant-form-item[data-v-11da5822]{margin-bottom:15px}.ant-tabs-nav .ant-tabs-tab[data-v-11da5822]{padding:10px 16px}.ant-modal-body[data-v-8a3efe68]{padding-top:0!important}.ant-form-item[data-v-8a3efe68]{margin-bottom:15px}.ant-tabs-nav .ant-tabs-tab[data-v-8a3efe68]{padding:10px 16px}.ant-card-body[data-v-460c942c]{padding:22px 29px 25px}.tab-list[data-v-460c942c]{margin-right:20px}.tabs-content .tab-pane[data-v-12721b8b]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-12721b8b] .ant-form-item-control{padding-left:10px}[data-v-12721b8b] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-12721b8b]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-12721b8b]{margin-bottom:0}.input-number-group[data-v-12721b8b]{margin:3px 0}.tabs-content .tab-pane[data-v-bd0fa05e]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-bd0fa05e] .ant-form-item-control{padding-left:10px}[data-v-bd0fa05e] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-bd0fa05e]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-bd0fa05e]{margin-bottom:0}.input-number-group[data-v-bd0fa05e]{margin:3px 0}.qyt-h5[data-v-20bb8cdf]{text-align:center}.qyt-h5__tip[data-v-20bb8cdf]{color:#969799;font-size:13px;margin-bottom:12px}.qyt-h5__qr[data-v-20bb8cdf]{margin-bottom:14px}.qyt-h5__url[data-v-20bb8cdf]{margin-top:4px}.ant-card-body[data-v-3c4f4c73]{padding:22px 29px 25px}.flex-box[data-v-3c4f4c73]{display:-webkit-box;display:-ms-flexbox;display:flex}.form-total[data-v-3c4f4c73]{color:#1890ff;margin-right:10px;font-size:20px;font-weight:500}
\ No newline at end of file
+.ant-card-body[data-v-e4020f40]{padding:22px 29px 25px}.tab-list[data-v-e4020f40]{margin-right:20px}.spec-group[data-v-b63f0ed6]{width:895px;margin-bottom:15px;line-height:normal}.spec-group .ant-input[data-v-b63f0ed6]{height:28px;padding:4px 11px;font-size:13px;line-height:1.5}.spec-group .ant-input[data-v-b63f0ed6]::-webkit-input-placeholder{font-size:13px}.spec-group .ant-input[data-v-b63f0ed6]::-moz-placeholder{font-size:13px}.spec-group .ant-input[data-v-b63f0ed6]:-ms-input-placeholder{font-size:13px}.spec-group .ant-input[data-v-b63f0ed6]::-ms-input-placeholder{font-size:13px}.spec-group .ant-input[data-v-b63f0ed6]::placeholder{font-size:13px}.spec-group .form-item-help[data-v-b63f0ed6]{line-height:36px}.spec-group .spec-group-item[data-v-b63f0ed6]{background:#f4f5f9;padding:7px 12px;line-height:28px}.spec-group .spec-group-item .group-item-input[data-v-b63f0ed6]{float:left;width:180px}.spec-group .spec-group-item .group-item-delete[data-v-b63f0ed6]{font-size:12px;float:right}.spec-group .spec-value[data-v-b63f0ed6]{background:#fbfbfb;padding:8px 35px}.spec-group .spec-value .spec-value-add[data-v-b63f0ed6],.spec-group .spec-value .spec-value-item[data-v-b63f0ed6]{float:left;margin-bottom:6px;margin-top:6px}.spec-group .spec-value .spec-value-add[data-v-b63f0ed6]{height:28px;line-height:28px}.spec-group .spec-value .spec-value-add a[data-v-b63f0ed6]{font-size:12px}.spec-group .spec-value .spec-value-item[data-v-b63f0ed6]{position:relative;margin-right:20px}.spec-group .spec-value .spec-value-item .value-item-input[data-v-b63f0ed6]{width:186px}.spec-group .spec-value .spec-value-item:hover .icon-close[data-v-b63f0ed6]{display:block}.spec-group .spec-value .spec-value-item .icon-close[data-v-b63f0ed6]{display:none;position:absolute;top:-8px;right:-8px;cursor:pointer;font-size:16px;color:#7d7d7d}.spec-group-add-btn[data-v-b63f0ed6]{font-size:13px}.sku-batch[data-v-b63f0ed6]{line-height:40px;margin-bottom:12px}.sku-batch .title[data-v-b63f0ed6]{line-height:28px;margin-right:15px;font-size:13px}.sku-batch[data-v-b63f0ed6] .ant-input,.sku-batch[data-v-b63f0ed6] .ant-input-number{width:120px;margin-right:15px}.sku-batch[data-v-b63f0ed6] .ant-input{width:140px}.sku-list[data-v-b63f0ed6]{width:895px}.sku-list[data-v-b63f0ed6] .ant-table-tbody>tr>td,.sku-list[data-v-b63f0ed6] .ant-table-thead>tr>th{white-space:nowrap}.sku-list[data-v-b63f0ed6] .ant-table-tbody>tr>td{padding:12px 18px}.sku-list[data-v-b63f0ed6] .ant-input-number-sm,.sku-list[data-v-b63f0ed6] .ant-input-sm{height:28px}.sku-list[data-v-b63f0ed6] .ant-input-number-sm input{height:26px}.spec-group[data-v-c7587ee2]{width:895px;margin-bottom:15px;line-height:normal}.spec-group .ant-input[data-v-c7587ee2]{height:28px;padding:4px 11px;font-size:13px;line-height:1.5}.spec-group .ant-input[data-v-c7587ee2]::-webkit-input-placeholder{font-size:13px}.spec-group .ant-input[data-v-c7587ee2]::-moz-placeholder{font-size:13px}.spec-group .ant-input[data-v-c7587ee2]:-ms-input-placeholder{font-size:13px}.spec-group .ant-input[data-v-c7587ee2]::-ms-input-placeholder{font-size:13px}.spec-group .ant-input[data-v-c7587ee2]::placeholder{font-size:13px}.spec-group .form-item-help[data-v-c7587ee2]{line-height:36px}.spec-group .spec-group-item[data-v-c7587ee2]{background:#f4f5f9;padding:7px 12px;line-height:28px}.spec-group .spec-group-item .group-item-input[data-v-c7587ee2]{float:left;width:180px}.spec-group .spec-group-item .group-item-delete[data-v-c7587ee2]{font-size:12px;float:right}.spec-group .spec-value[data-v-c7587ee2]{background:#fbfbfb;padding:8px 35px}.spec-group .spec-value .spec-value-add[data-v-c7587ee2],.spec-group .spec-value .spec-value-item[data-v-c7587ee2]{float:left;margin-bottom:6px;margin-top:6px}.spec-group .spec-value .spec-value-add[data-v-c7587ee2]{height:28px;line-height:28px}.spec-group .spec-value .spec-value-add a[data-v-c7587ee2]{font-size:12px}.spec-group .spec-value .spec-value-item[data-v-c7587ee2]{position:relative;margin-right:20px}.spec-group .spec-value .spec-value-item .value-item-input[data-v-c7587ee2]{width:186px}.spec-group .spec-value .spec-value-item:hover .icon-close[data-v-c7587ee2]{display:block}.spec-group .spec-value .spec-value-item .icon-close[data-v-c7587ee2]{display:none;position:absolute;top:-8px;right:-8px;cursor:pointer;font-size:16px;color:#7d7d7d}.spec-group-add-btn[data-v-c7587ee2]{font-size:13px}.sku-batch[data-v-c7587ee2]{line-height:40px;margin-bottom:12px}.sku-batch .title[data-v-c7587ee2]{line-height:28px;margin-right:15px;font-size:13px}.sku-batch[data-v-c7587ee2] .ant-input,.sku-batch[data-v-c7587ee2] .ant-input-number{width:120px;margin-right:15px}.sku-batch[data-v-c7587ee2] .ant-input{width:140px}.sku-list[data-v-c7587ee2]{width:895px}.sku-list[data-v-c7587ee2] .ant-table-tbody>tr>td,.sku-list[data-v-c7587ee2] .ant-table-thead>tr>th{white-space:nowrap}.sku-list[data-v-c7587ee2] .ant-table-tbody>tr>td{padding:12px 18px}.sku-list[data-v-c7587ee2] .ant-input-number-sm,.sku-list[data-v-c7587ee2] .ant-input-sm{height:28px}.sku-list[data-v-c7587ee2] .ant-input-number-sm input{height:26px}.tabs-content .tab-pane[data-v-21446ca5]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-21446ca5] .ant-form-item-control{padding-left:10px}[data-v-21446ca5] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-21446ca5]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-21446ca5]{margin-bottom:0}.input-number-group[data-v-21446ca5]{margin:3px 0}.tabs-content .tab-pane[data-v-42fcaf9f]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-42fcaf9f] .ant-form-item-control{padding-left:10px}[data-v-42fcaf9f] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-42fcaf9f]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-42fcaf9f]{margin-bottom:0}.input-number-group[data-v-42fcaf9f]{margin:3px 0}.ant-card-body[data-v-944533f0]{padding:22px 29px 25px}.tab-list[data-v-944533f0]{margin-right:20px}.ant-modal-body[data-v-40cf6f79]{padding-top:0!important}.ant-form-item[data-v-40cf6f79]{margin-bottom:15px}.ant-tabs-nav .ant-tabs-tab[data-v-40cf6f79]{padding:10px 16px}.ant-modal-body[data-v-1f16853b]{padding-top:0!important}.ant-form-item[data-v-1f16853b]{margin-bottom:15px}.ant-tabs-nav .ant-tabs-tab[data-v-1f16853b]{padding:10px 16px}.ant-modal-body[data-v-7c0c56a0]{padding-top:0!important}.ant-form-item[data-v-7c0c56a0]{margin-bottom:15px}.ant-tabs-nav .ant-tabs-tab[data-v-7c0c56a0]{padding:10px 16px}.ant-modal-body[data-v-87d98050]{padding-top:0!important}.ant-form-item[data-v-87d98050]{margin-bottom:15px}.ant-tabs-nav .ant-tabs-tab[data-v-87d98050]{padding:10px 16px}.ant-card-body[data-v-0dc99bb3]{padding:22px 29px 25px}.tab-list[data-v-0dc99bb3]{margin-right:20px}.ant-card-body[data-v-bfa4e59e]{padding:22px 29px 25px}.tabs-content .tab-pane[data-v-0519cf39]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-0519cf39] .ant-form-item-control{padding-left:10px}[data-v-0519cf39] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-0519cf39]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-0519cf39]{margin-bottom:0}.input-number-group[data-v-0519cf39]{margin:3px 0}.tabs-content .tab-pane[data-v-1d6c4b44]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-1d6c4b44] .ant-form-item-control{padding-left:10px}[data-v-1d6c4b44] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-1d6c4b44]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-1d6c4b44]{margin-bottom:0}.input-number-group[data-v-1d6c4b44]{margin:3px 0}.tabs-content .tab-pane[data-v-95fdaa1e]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-95fdaa1e] .ant-form-item-control{padding-left:10px}[data-v-95fdaa1e] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-95fdaa1e]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-95fdaa1e]{margin-bottom:0}.input-number-group[data-v-95fdaa1e]{margin:3px 0}.tabs-content .tab-pane[data-v-a3fe5cd4]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-a3fe5cd4] .ant-form-item-control{padding-left:10px}[data-v-a3fe5cd4] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-a3fe5cd4]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-a3fe5cd4]{margin-bottom:0}.input-number-group[data-v-a3fe5cd4]{margin:3px 0}.ant-modal-body[data-v-11da5822]{padding-top:0!important}.ant-form-item[data-v-11da5822]{margin-bottom:15px}.ant-tabs-nav .ant-tabs-tab[data-v-11da5822]{padding:10px 16px}.ant-modal-body[data-v-8a3efe68]{padding-top:0!important}.ant-form-item[data-v-8a3efe68]{margin-bottom:15px}.ant-tabs-nav .ant-tabs-tab[data-v-8a3efe68]{padding:10px 16px}.ant-card-body[data-v-5337156e]{padding:22px 29px 25px}.tab-list[data-v-5337156e]{margin-right:20px}.qyt-name[data-v-5337156e]{margin:0}.qyt-sub[data-v-5337156e]{margin:2px 0 0;color:#999;font-size:12px}.text-red[data-v-5337156e]{color:#f5222d}.tabs-content .tab-pane[data-v-41360aa9]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-41360aa9] .ant-form-item-control{padding-left:10px}[data-v-41360aa9] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-41360aa9]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-41360aa9]{margin-bottom:0}.input-number-group[data-v-41360aa9]{margin:3px 0}.tabs-content .tab-pane[data-v-9bc6a936]{-webkit-animation:fadenum .6s ease;animation:fadenum .6s ease}[data-v-9bc6a936] .ant-form-item-control{padding-left:10px}[data-v-9bc6a936] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-9bc6a936]{margin-bottom:18px}.ant-form-item .ant-form-item[data-v-9bc6a936]{margin-bottom:0}.input-number-group[data-v-9bc6a936]{margin:3px 0}.qyt-h5[data-v-20bb8cdf]{text-align:center}.qyt-h5__tip[data-v-20bb8cdf]{color:#969799;font-size:13px;margin-bottom:12px}.qyt-h5__qr[data-v-20bb8cdf]{margin-bottom:14px}.qyt-h5__url[data-v-20bb8cdf]{margin-top:4px}.info p[data-v-31e6d096]{margin-bottom:6px}.amount[data-v-31e6d096]{color:#f5222d}.sub[data-v-31e6d096]{color:#999;font-size:12px}.block[data-v-31e6d096]{margin:12px 0}.btns[data-v-31e6d096]{margin-top:12px;text-align:right}.mt-10[data-v-31e6d096]{margin-top:10px}.block[data-v-2078b586]{margin-bottom:12px}.sub[data-v-2078b586]{color:#999;font-size:12px}.links p[data-v-2078b586]{margin-bottom:6px;word-break:break-all}.url[data-v-2078b586]{margin-left:8px;color:#999;font-size:12px}.btns[data-v-2078b586]{margin-top:12px;text-align:right}.ant-card-body[data-v-e99c82c8]{padding:22px 29px 25px}.actions[data-v-e99c82c8],.flex-box[data-v-e99c82c8]{display:-webkit-box;display:-ms-flexbox;display:flex}.actions[data-v-e99c82c8]{-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px 16px}.actions>a[data-v-e99c82c8]{margin-right:0!important;white-space:nowrap}.form-total[data-v-e99c82c8]{color:#1890ff;margin-right:10px;font-size:20px;font-weight:500}.search-form[data-v-16a6e947],.tips-alert[data-v-16a6e947]{margin-bottom:16px}.sub[data-v-16a6e947]{color:#999;font-size:12px}.ml-6[data-v-16a6e947]{margin-left:6px}.mt-8[data-v-16a6e947]{margin-top:8px}.text-red[data-v-16a6e947]{color:#f5222d;font-size:12px}.green[data-v-16a6e947]{color:#52c41a}.head[data-v-16a6e947]{font-size:15px}.block[data-v-16a6e947]{margin:10px 0}.toolbar[data-v-16a6e947]{margin-bottom:12px}.big[data-v-16a6e947]{margin:12px 0;font-size:15px}.tips-alert[data-v-64a82a48]{margin-bottom:16px}.sub[data-v-64a82a48]{color:#999;font-size:12px}.search-form[data-v-64a82a48]{margin-bottom:16px}
\ No newline at end of file
diff --git a/server-tp6/public/store/css/goods.5e999d2c.css.gz b/server-tp6/public/store/css/goods.5e999d2c.css.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1e3e632f0a3c7a07f36747075b375165ec88099f
GIT binary patch
literal 1772
zcmV3-b$^#P$<1!~0Tncu}8}rb$Vn`zQ{qdDV{2F+^li$zZ
z(2#M?(!da3(Ig|_N-DC96)B>9I!zbhCs}^uGV?de^z!?;8HSzTHN(j7=a^+2l*w-r
z7}m&*p*w4R1OfOW;YafQJIE=*$+ngwW4TPEv3s
zR8c(rv{~*L-Cb84GCV~1L;Rja!H?LEo!D;+H}D2m_DKp&PcX{>rmR#HS(KDHMZbcOGW@Y2;x(KZ%gDK%C=`~A-Z(jn;s7GC
z^;A`t_*Rsx2y&KWoD}^HK~xoHloi2`QzZWSL5ehkkY}@rt{d6M4TOl}>wMp`p}g~%
z1H7j5gi|t4Q`PODAgcXyeNerQ{kF~wWVbXVMN=pyR7J4TWkX`a2GUm-O1Us&Rugj+
zQUbUTHa~gslSgkW5m$nu3UPgWT@y|~nIlYsjC~a--|n^*Q6jIJ;jIY0Kfj<%-`3fe
z>0{WmHaXGiL^KSpTDjqq?hKx+-6I+E=*<<_Nm
zmvZaie^9w~PLEY?J>K2QZDK->QEn~yX62@wvZIxox?Q}k+@|vK+&>F{M!AhU^HIvJ
z<2_Ef$((;)xhWH^7D?*9wOP5TY4$3&mTg|Ssm%5&Hx<{sa#PBM8MD>OO^w*7+?L#~
zQEoHyt5j}E`z7Tz??k2CI0{RES;k4mwd%MoM_F5mreWJIM$Y@AkwGX+QdF(I7)2zz
zrJC-R8bKvFPyh6k`0Dt&-CsmdFxpHc5L-cDh*DV#UBw8WLo0clqjg%%@&KZ3V}MV6
zkcELr9)kiaziV(QDYhA76#MZ}Noo1ECuIrxQc}8c?oG-R!)#K0~9y(5KejaTHGa
zt&*=9?sTX|Y`C6dgU3Hnn1?8dpb
ze@-#X_RleB-KJ(lF1AD4J}N0K-}a;|L0?KrH_p9DnPQkt${4gRDZUd&2pQz4q_lk7
zld=STDJk7J_a0
zM9A?>bF)Wr#NlpZ`p-W+$z}Uy)w=#^xNxnBli7yt-$EuE+1q{l
zTR|rQqT5!+NftA$jnXoR8$n;1u(~~_?3QuabktFLolCM&wW{i1eky?a5EDN2kZ0v&
zlwvg1Yp7l>zTZWq92jsO2&E`Yc=AHWlPj-2Denf@8O{ulCfP@+Byt3H>Cu4(_>2RAY^x$
zt9hf+bhMD&&+T_<2?VnLow%R&^k^VJ9H9r|<2<^(puBp?_`UPjL_d*CHQ2*@0_Cha
ztFJl`XB<(P=sQ7%=fgN2y}5vccPD0h`&FNgI}kqglAr=#t0vb9FBiGQw@>eHI#2Qv
zAW8}@{WvaScT~ik;Y>RuuRaVZGNCP9vgZ38`Z
z@jgX1>Tx;Jf**%kt3t68Ge$#HEY4}Y&XUVCVb#aZ<0#~`xi<1lWP6Kg>kMborYM?O
O2mb*$OU6)JEdT%kerT!y
literal 0
HcmV?d00001
diff --git a/server-tp6/public/store/css/setting.37110db2.css b/server-tp6/public/store/css/setting.37110db2.css
new file mode 100644
index 0000000..1c2f513
--- /dev/null
+++ b/server-tp6/public/store/css/setting.37110db2.css
@@ -0,0 +1 @@
+[data-v-f551b524] .ant-form-item-control{padding-left:10px}[data-v-f551b524] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-divider[data-v-f551b524]{margin-top:60px!important}.ant-input-number[data-v-f551b524]{width:160px}.input-text_right[data-v-f551b524]{margin-left:10px}.radio-item[data-v-f551b524]{margin-bottom:16px}.tips-alert[data-v-e3266188]{margin-bottom:20px}.search-form[data-v-e3266188]{display:inline-block;margin-left:16px}.sub[data-v-e3266188]{color:#999;font-size:12px;line-height:1.7}.ml-6[data-v-e3266188]{margin-left:6px}.text-red[data-v-e3266188]{color:#ff4d4f}.text-grey[data-v-e3266188]{color:#bbb}.op-actions[data-v-e3266188]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px 16px}.op-actions>a[data-v-e3266188],.op-actions>span[data-v-e3266188]{white-space:nowrap}[data-v-7e59f1c6] .ant-form-item-control{padding-left:10px}[data-v-7e59f1c6] .ant-form-item-control .ant-form-item-control{padding-left:0}.tips-alert[data-v-7e59f1c6]{margin-bottom:28px}.input-short[data-v-7e59f1c6]{width:160px}.input-code[data-v-7e59f1c6]{width:30%}.input-inst[data-v-7e59f1c6]{width:70%}[data-v-01d8132a] .ant-form-item-control{padding-left:10px}[data-v-01d8132a] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-divider[data-v-01d8132a]{margin-top:60px!important}.ant-input-number[data-v-01d8132a]{width:160px}.input-text_right[data-v-01d8132a]{margin-left:10px}.radio-item[data-v-01d8132a]{margin-bottom:16px}[data-v-dd6519b2] .ant-form-item-control{padding-left:10px}[data-v-dd6519b2] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-12cd9802]{margin-bottom:10px}[data-v-12cd9802] .ant-form-item-control{padding-left:10px}[data-v-12cd9802] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-divider[data-v-12cd9802]{margin-top:50px!important}
\ No newline at end of file
diff --git a/server-tp6/public/store/css/setting.a8d19305.css b/server-tp6/public/store/css/setting.a8d19305.css
deleted file mode 100644
index 11b513a..0000000
--- a/server-tp6/public/store/css/setting.a8d19305.css
+++ /dev/null
@@ -1 +0,0 @@
-[data-v-f551b524] .ant-form-item-control{padding-left:10px}[data-v-f551b524] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-divider[data-v-f551b524]{margin-top:60px!important}.ant-input-number[data-v-f551b524]{width:160px}.input-text_right[data-v-f551b524]{margin-left:10px}.radio-item[data-v-f551b524]{margin-bottom:16px}.tips-alert[data-v-4e165f10]{margin-bottom:20px}.search-form[data-v-4e165f10]{display:inline-block;margin-left:16px}.sub[data-v-4e165f10]{color:#999;font-size:12px;line-height:1.7}.ml-6[data-v-4e165f10]{margin-left:6px}.text-red[data-v-4e165f10]{color:#ff4d4f}.text-grey[data-v-4e165f10]{color:#bbb}[data-v-7e59f1c6] .ant-form-item-control{padding-left:10px}[data-v-7e59f1c6] .ant-form-item-control .ant-form-item-control{padding-left:0}.tips-alert[data-v-7e59f1c6]{margin-bottom:28px}.input-short[data-v-7e59f1c6]{width:160px}.input-code[data-v-7e59f1c6]{width:30%}.input-inst[data-v-7e59f1c6]{width:70%}[data-v-01d8132a] .ant-form-item-control{padding-left:10px}[data-v-01d8132a] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-divider[data-v-01d8132a]{margin-top:60px!important}.ant-input-number[data-v-01d8132a]{width:160px}.input-text_right[data-v-01d8132a]{margin-left:10px}.radio-item[data-v-01d8132a]{margin-bottom:16px}[data-v-dd6519b2] .ant-form-item-control{padding-left:10px}[data-v-dd6519b2] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-form-item[data-v-12cd9802]{margin-bottom:10px}[data-v-12cd9802] .ant-form-item-control{padding-left:10px}[data-v-12cd9802] .ant-form-item-control .ant-form-item-control{padding-left:0}.ant-divider[data-v-12cd9802]{margin-top:50px!important}
\ No newline at end of file
diff --git a/server-tp6/public/store/index.html b/server-tp6/public/store/index.html
index d56ac30..b57e2b8 100644
--- a/server-tp6/public/store/index.html
+++ b/server-tp6/public/store/index.html
@@ -1 +1 @@
-商家管理中心
\ No newline at end of file
+商家管理中心
\ No newline at end of file
diff --git a/server-tp6/public/store/js/app.b2cf6a22.js b/server-tp6/public/store/js/app.76ad6bca.js
similarity index 88%
rename from server-tp6/public/store/js/app.b2cf6a22.js
rename to server-tp6/public/store/js/app.76ad6bca.js
index c72cdad..ae3e3df 100644
--- a/server-tp6/public/store/js/app.b2cf6a22.js
+++ b/server-tp6/public/store/js/app.76ad6bca.js
@@ -1 +1 @@
-(function(e){function t(t){for(var a,r,s=t[0],c=t[1],d=t[2],l=0,u=[];l0&&void 0!==arguments[0]?arguments[0]:[],t={};return e.forEach((function(e){t[e]=function(){this.needSyncKeys[e]=!0}})),t}var b={name:"Tree",mixins:[h["a"]],props:Object(u["t"])({prefixCls:i["a"].string,tabIndex:i["a"].oneOfType([i["a"].string,i["a"].number]),children:i["a"].any,treeData:i["a"].array,showLine:i["a"].bool,showIcon:i["a"].bool,icon:i["a"].oneOfType([i["a"].object,i["a"].func]),focusable:i["a"].bool,selectable:i["a"].bool,disabled:i["a"].bool,multiple:i["a"].bool,checkable:i["a"].oneOfType([i["a"].object,i["a"].bool]),checkStrictly:i["a"].bool,draggable:i["a"].bool,defaultExpandParent:i["a"].bool,autoExpandParent:i["a"].bool,defaultExpandAll:i["a"].bool,defaultExpandedKeys:i["a"].array,expandedKeys:i["a"].array,defaultCheckedKeys:i["a"].array,checkedKeys:i["a"].oneOfType([i["a"].array,i["a"].object]),defaultSelectedKeys:i["a"].array,selectedKeys:i["a"].array,loadData:i["a"].func,loadedKeys:i["a"].array,filterTreeNode:i["a"].func,openTransitionName:i["a"].string,openAnimation:i["a"].oneOfType([i["a"].string,i["a"].object]),switcherIcon:i["a"].any,_propsSymbol:i["a"].any},{prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[]}),data:function(){l()(this.$props.__propsSymbol__,"must pass __propsSymbol__"),l()(this.$props.children,"please use children prop replace slots.default"),this.needSyncKeys={},this.domTreeNodes={};var e={_posEntities:new Map,_keyEntities:new Map,_expandedKeys:[],_selectedKeys:[],_checkedKeys:[],_halfCheckedKeys:[],_loadedKeys:[],_loadingKeys:[],_treeNode:[],_prevProps:null,_dragOverNodeKey:"",_dropPosition:null,_dragNodesKeys:[]};return Object(o["a"])(Object(o["a"])({},e),this.getDerivedState(Object(u["l"])(this),e))},provide:function(){return{vcTree:this}},watch:Object(o["a"])(Object(o["a"])({},g(["treeData","children","expandedKeys","autoExpandParent","selectedKeys","checkedKeys","loadedKeys"])),{},{__propsSymbol__:function(){this.setState(this.getDerivedState(Object(u["l"])(this),this.$data)),this.needSyncKeys={}}}),methods:{getDerivedState:function(e,t){var n=t._prevProps,a={_prevProps:Object(o["a"])({},e)},i=this;function s(t){return!n&&t in e||n&&i.needSyncKeys[t]}var c=null;if(s("treeData")?c=Object(f["g"])(this.$createElement,e.treeData):s("children")&&(c=e.children),c){a._treeNode=c;var d=Object(f["h"])(c);a._keyEntities=d.keyEntities}var l,u=a._keyEntities||t._keyEntities;if((s("expandedKeys")||n&&s("autoExpandParent")?a._expandedKeys=e.autoExpandParent||!n&&e.defaultExpandParent?Object(f["f"])(e.expandedKeys,u):e.expandedKeys:!n&&e.defaultExpandAll?a._expandedKeys=Object(r["a"])(u.keys()):!n&&e.defaultExpandedKeys&&(a._expandedKeys=e.autoExpandParent||e.defaultExpandParent?Object(f["f"])(e.defaultExpandedKeys,u):e.defaultExpandedKeys),e.selectable&&(s("selectedKeys")?a._selectedKeys=Object(f["d"])(e.selectedKeys,e):!n&&e.defaultSelectedKeys&&(a._selectedKeys=Object(f["d"])(e.defaultSelectedKeys,e))),e.checkable)&&(s("checkedKeys")?l=Object(f["m"])(e.checkedKeys)||{}:!n&&e.defaultCheckedKeys?l=Object(f["m"])(e.defaultCheckedKeys)||{}:c&&(l=Object(f["m"])(e.checkedKeys)||{checkedKeys:t._checkedKeys,halfCheckedKeys:t._halfCheckedKeys}),l)){var p=l,h=p.checkedKeys,m=void 0===h?[]:h,g=p.halfCheckedKeys,b=void 0===g?[]:g;if(!e.checkStrictly){var v=Object(f["e"])(m,!0,u);m=v.checkedKeys,b=v.halfCheckedKeys}a._checkedKeys=m,a._halfCheckedKeys=b}return s("loadedKeys")&&(a._loadedKeys=e.loadedKeys),a},onNodeDragStart:function(e,t){var n=this.$data._expandedKeys,a=t.eventKey,r=Object(u["p"])(t).default;this.dragNode=t,this.setState({_dragNodesKeys:Object(f["i"])("function"===typeof r?r():r,t),_expandedKeys:Object(f["b"])(n,a)}),this.__emit("dragstart",{event:e,node:t})},onNodeDragEnter:function(e,t){var n=this,a=this.$data._expandedKeys,r=t.pos,o=t.eventKey;if(this.dragNode&&t.$refs.selectHandle){var i=Object(f["c"])(e,t);this.dragNode.eventKey!==o||0!==i?setTimeout((function(){n.setState({_dragOverNodeKey:o,_dropPosition:i}),n.delayedDragEnterLogic||(n.delayedDragEnterLogic={}),Object.keys(n.delayedDragEnterLogic).forEach((function(e){clearTimeout(n.delayedDragEnterLogic[e])})),n.delayedDragEnterLogic[r]=setTimeout((function(){var r=Object(f["a"])(a,o);Object(u["s"])(n,"expandedKeys")||n.setState({_expandedKeys:r}),n.__emit("dragenter",{event:e,node:t,expandedKeys:r})}),400)}),0):this.setState({_dragOverNodeKey:"",_dropPosition:null})}},onNodeDragOver:function(e,t){var n=t.eventKey,a=this.$data,r=a._dragOverNodeKey,o=a._dropPosition;if(this.dragNode&&n===r&&t.$refs.selectHandle){var i=Object(f["c"])(e,t);if(i===o)return;this.setState({_dropPosition:i})}this.__emit("dragover",{event:e,node:t})},onNodeDragLeave:function(e,t){this.setState({_dragOverNodeKey:""}),this.__emit("dragleave",{event:e,node:t})},onNodeDragEnd:function(e,t){this.setState({_dragOverNodeKey:""}),this.__emit("dragend",{event:e,node:t}),this.dragNode=null},onNodeDrop:function(e,t){var n=this.$data,a=n._dragNodesKeys,r=void 0===a?[]:a,o=n._dropPosition,i=t.eventKey,s=t.pos;if(this.setState({_dragOverNodeKey:""}),-1===r.indexOf(i)){var c=Object(f["n"])(s),d={event:e,node:t,dragNode:this.dragNode,dragNodesKeys:r.slice(),dropPosition:o+Number(c[c.length-1]),dropToGap:!1};0!==o&&(d.dropToGap=!0),this.__emit("drop",d),this.dragNode=null}else l()(!1,"Can not drop to dragNode(include it's children node)")},onNodeClick:function(e,t){this.__emit("click",e,t)},onNodeDoubleClick:function(e,t){this.__emit("dblclick",e,t)},onNodeSelect:function(e,t){var n=this.$data._selectedKeys,a=this.$data._keyEntities,r=this.$props.multiple,o=Object(u["l"])(t),i=o.selected,s=o.eventKey,c=!i;n=c?r?Object(f["a"])(n,s):[s]:Object(f["b"])(n,s);var d=n.map((function(e){var t=a.get(e);return t?t.node:null})).filter((function(e){return e}));this.setUncontrolledState({_selectedKeys:n});var l={event:"select",selected:c,node:t,selectedNodes:d,nativeEvent:e};this.__emit("update:selectedKeys",n),this.__emit("select",n,l)},getCheckedKeys:function(){return this.$data._checkedKeys},clearExpandedKeys:function(){this.$data._expandedKeys=[]},getHalfCheckedKeys:function(){return this.$data._halfCheckedKeys},onNodeCheck:function(e,t,n){var a,r=this.$data,o=r._keyEntities,i=r._checkedKeys,s=r._halfCheckedKeys,c=this.$props.checkStrictly,d=Object(u["l"])(t),l=d.eventKey,p={event:"check",node:t,checked:n,nativeEvent:e};if(c){var h=n?Object(f["a"])(i,l):Object(f["b"])(i,l),m=Object(f["b"])(s,l);a={checked:h,halfChecked:m},p.checkedNodes=h.map((function(e){return o.get(e)})).filter((function(e){return e})).map((function(e){return e.node})),this.setUncontrolledState({_checkedKeys:h})}else{var g=Object(f["e"])([l],n,o,{checkedKeys:i,halfCheckedKeys:s}),b=g.checkedKeys,v=g.halfCheckedKeys;a=b,p.checkedNodes=[],p.checkedNodesPositions=[],p.halfCheckedKeys=v,b.forEach((function(e){var t=o.get(e);if(t){var n=t.node,a=t.pos;p.checkedNodes.push(n),p.checkedNodesPositions.push({node:n,pos:a})}})),this.setUncontrolledState({_checkedKeys:b,_halfCheckedKeys:v})}this.__emit("check",a,p)},onNodeLoad:function(e){var t=this;return new Promise((function(n){t.setState((function(a){var r=a._loadedKeys,o=void 0===r?[]:r,i=a._loadingKeys,s=void 0===i?[]:i,c=t.$props.loadData,d=Object(u["l"])(e),l=d.eventKey;if(!c||-1!==o.indexOf(l)||-1!==s.indexOf(l))return{};var p=c(e);return p.then((function(){var a=t.$data,r=a._loadedKeys,o=a._loadingKeys,i=Object(f["a"])(r,l),s=Object(f["b"])(o,l);t.__emit("load",i,{event:"load",node:e}),t.setUncontrolledState({_loadedKeys:i}),t.setState({_loadingKeys:s}),n()})),{_loadingKeys:Object(f["a"])(s,l)}}))}))},onNodeExpand:function(e,t){var n=this,a=this.$data._expandedKeys,r=this.$props.loadData,o=Object(u["l"])(t),i=o.eventKey,s=o.expanded,c=a.indexOf(i),d=!s;if(l()(s&&-1!==c||!s&&-1===c,"Expand state not sync with index check"),a=d?Object(f["a"])(a,i):Object(f["b"])(a,i),this.setUncontrolledState({_expandedKeys:a}),this.__emit("expand",a,{node:t,expanded:d,nativeEvent:e}),this.__emit("update:expandedKeys",a),d&&r){var p=this.onNodeLoad(t);return p?p.then((function(){n.setUncontrolledState({_expandedKeys:a})})):null}return null},onNodeMouseEnter:function(e,t){this.__emit("mouseenter",{event:e,node:t})},onNodeMouseLeave:function(e,t){this.__emit("mouseleave",{event:e,node:t})},onNodeContextMenu:function(e,t){e.preventDefault(),this.__emit("rightClick",{event:e,node:t})},setUncontrolledState:function(e){var t=!1,n={},a=Object(u["l"])(this);Object.keys(e).forEach((function(r){r.replace("_","")in a||(t=!0,n[r]=e[r])})),t&&this.setState(n)},registerTreeNode:function(e,t){t?this.domTreeNodes[e]=t:delete this.domTreeNodes[e]},isKeyChecked:function(e){var t=this.$data._checkedKeys,n=void 0===t?[]:t;return-1!==n.indexOf(e)},renderTreeNode:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=this.$data,r=a._keyEntities,o=a._expandedKeys,i=void 0===o?[]:o,s=a._selectedKeys,c=void 0===s?[]:s,d=a._halfCheckedKeys,l=void 0===d?[]:d,u=a._loadedKeys,h=void 0===u?[]:u,m=a._loadingKeys,g=void 0===m?[]:m,b=a._dragOverNodeKey,v=a._dropPosition,y=Object(f["k"])(n,t),k=e.key;return k||void 0!==k&&null!==k||(k=y),r.get(k)?Object(p["a"])(e,{props:{eventKey:k,expanded:-1!==i.indexOf(k),selected:-1!==c.indexOf(k),loaded:-1!==h.indexOf(k),loading:-1!==g.indexOf(k),checked:this.isKeyChecked(k),halfChecked:-1!==l.indexOf(k),pos:y,dragOver:b===k&&0===v,dragOverGapTop:b===k&&-1===v,dragOverGapBottom:b===k&&1===v},key:k}):(Object(f["o"])(),null)}},render:function(){var e=this,t=arguments[0],n=this.$data._treeNode,r=this.$props,o=r.prefixCls,i=r.focusable,s=r.showLine,d=r.tabIndex,l=void 0===d?0:d;return t("ul",{class:c()(o,Object(a["a"])({},"".concat(o,"-show-line"),s)),attrs:{role:"tree",unselectable:"on",tabIndex:i?l:null}},[Object(f["l"])(n,(function(t,n){return e.renderTreeNode(t,n)}))])}},v=Object(m["a"])(b),y=n("2b5d");b.TreeNode=y["a"],v.TreeNode=y["a"];t["default"]=v},"04b3":function(e,t,n){"use strict";var a=n("a1d4"),r=n.n(a);n.d(t,"f",(function(){return r.a}));var o=n("5b96"),i=n.n(o);n.d(t,"g",(function(){return i.a}));var s=n("eb1e"),c=n.n(s);n.d(t,"c",(function(){return c.a}));var d=n("559f"),l=n.n(d);n.d(t,"j",(function(){return l.a}));var u=n("3a93"),p=n.n(u);n.d(t,"b",(function(){return p.a}));var h=n("38d8"),m=n.n(h);n.d(t,"k",(function(){return m.a}));var f=n("1a79"),g=n.n(f);n.d(t,"l",(function(){return g.a}));var b=n("401b"),v=n.n(b);n.d(t,"m",(function(){return v.a}));var y=n("524c"),k=n.n(y);n.d(t,"h",(function(){return k.a}));n("60fa"),n("8484"),n("6fb3");var x=n("7e43"),O=n.n(x);n.d(t,"i",(function(){return O.a}));var w=n("0787"),j=n.n(w);n.d(t,"e",(function(){return j.a}));var C=n("ba93"),_=n.n(C);n.d(t,"d",(function(){return _.a}));var M=n("6052"),S=n.n(M);n.d(t,"a",(function(){return S.a}));n("e9ba"),n("7d57"),n("36fa")},"0787":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1653368449777",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"17693",width:"200",height:"200"},children:[{tag:"path",attrsMap:{d:"M794.112 0H231.936C104.96 0 0 104.96 0 231.424v558.08C0 919.04 104.96 1024 231.936 1024h559.616c129.536 0 231.936-104.96 231.936-231.424V231.424c3.072-126.464-102.4-231.424-229.376-231.424z m-378.88 675.328c-34.304 0-60.928-7.168-92.672-12.288l-95.232 44.032 27.136-80.384c-68.608-46.08-107.52-107.52-107.52-180.224 0-126.976 119.808-226.816 268.8-226.816 132.096 0 246.784 80.384 271.36 187.904-7.168 0-16.896-2.56-27.136-2.56-126.976 0-227.328 95.232-227.328 211.968 0 19.456 2.56 38.912 7.168 56.32-7.168-0.512-16.896 2.048-24.576 2.048zM808.96 768l19.456 66.048-73.216-38.912c-27.136 7.168-53.76 12.288-80.896 12.288-126.976 0-227.328-87.552-227.328-195.072s100.352-195.072 227.328-195.072c119.808 0 227.328 87.552 227.328 195.072 2.56 62.976-38.912 114.176-92.672 155.648zM361.472 365.568c0 19.456-16.896 36.352-36.864 36.352s-36.864-16.896-36.864-36.352 16.896-36.352 36.864-36.352 36.864 16.896 36.864 36.352z m115.2 0c0-19.456 16.896-36.352 36.864-36.352 19.456 0 36.864 16.896 36.864 36.352s-16.896 36.352-36.864 36.352c-22.528 0.512-36.864-14.336-36.864-36.352z m307.712 187.904c0 16.896-14.848 29.184-29.184 29.184-16.896 0-29.184-14.848-29.184-29.184 0-16.896 14.848-29.184 29.184-29.184 14.848 0 29.184 12.288 29.184 29.184z m-148.992 0c0 16.896-14.848 29.184-29.184 29.184-14.848 0-29.184-14.848-29.184-29.184 0-14.848 14.848-29.184 29.184-29.184 14.336 0 29.184 12.288 29.184 29.184z","p-id":"17694"}}]})}},"1a79":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1599016452086",class:"icon",viewBox:"0 0 1147 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"9426","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"560.05859375",height:"500"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M1038.020219 178.928351 106.89802 178.928351 10.24 431.8492C10.24 507.56499 73.069837 570.38696 150.394994 570.38696 227.71386 570.38696 292.153063 509.174358 292.153063 431.8492 292.153063 507.56499 354.9829 570.38696 432.308058 570.38696 509.633217 570.38696 574.066127 509.174358 574.066127 431.8492 574.066127 507.56499 636.895965 570.38696 714.221122 570.38696 791.547853 570.38696 854.369823 509.174358 854.369823 431.8492 854.369823 507.56499 917.199661 570.38696 996.135758 570.38696 1073.460916 570.38696 1137.90012 509.174358 1137.90012 431.8492L1038.020219 178.928351 1038.020219 178.928351ZM960.69506 613.883935 960.69506 936.073665 187.445059 936.073665 187.445059 613.883935 106.89802 613.883935 106.89802 952.186218C106.89802 981.180006 139.118409 1016.619131 168.112197 1016.619131L978.418557 1016.619131C1007.410772 1016.619131 1039.631159 981.180006 1039.631159 952.186218L1039.631159 613.883935 960.69506 613.883935 960.69506 613.883935ZM1038.020219 177.318984 1038.020219 177.318984 1041.240527 180.134984 1038.020219 177.318984 1038.020219 177.318984ZM171.330932 114.495439 976.801323 114.495439C1004.192035 114.495439 1025.134266 93.553209 1025.134266 66.16407 1025.134266 38.779649 1004.192035 17.837419 976.801323 17.837419L171.330932 17.837419C143.948085 17.837419 123.005855 38.779649 123.005855 66.16407 123.005855 93.553209 143.948085 114.495439 171.330932 114.495439L171.330932 114.495439Z","p-id":"9427"}}]})}},"1d4b":function(e,t,n){"use strict";var a=n("5530"),r=(n("d3b7"),n("ed3b"));t["a"]=function(e){function t(t,n,o){var i=this;if(o=o||{},i&&i._isVue){var s=document.querySelector("body>div[type=dialog]");s||(s=document.createElement("div"),s.setAttribute("type","dialog"),document.body.appendChild(s));var c=function(e,t){if(e instanceof Function){var n=e();n instanceof Promise?n.then((function(e){e&&t()})):n&&t()}else e||t()},d=new e({data:function(){return{visible:!0}},router:i.$router,store:i.$store,mounted:function(){var e=this;this.$on("close",(function(t){e.handleClose()}))},methods:{handleClose:function(){var e=this;c(this.$refs._component.onCancel,(function(){e.visible=!1,e.$refs._component.$emit("close"),e.$refs._component.$emit("cancel"),d.$destroy()}))},handleOk:function(){var e=this;c(this.$refs._component.onOK||this.$refs._component.onOk,(function(){e.visible=!1,e.$refs._component.$emit("close"),e.$refs._component.$emit("ok"),d.$destroy()}))}},render:function(e){var i=this,s=o&&o.model;s&&delete o.model;var c=Object.assign({},s&&{model:s}||{},{attrs:Object.assign({},Object(a["a"])({},o.attrs||o),{visible:this.visible}),on:Object.assign({},Object(a["a"])({},o.on||o),{ok:function(){i.handleOk()},cancel:function(){i.handleClose()}})}),d=n&&n.model;d&&delete n.model;var l=Object.assign({},d&&{model:d}||{},{ref:"_component",attrs:Object.assign({},Object(a["a"])({},n&&n.attrs||n)),on:Object.assign({},Object(a["a"])({},n&&n.on||n))});return e(r["a"],c,[e(t,l)])}}).$mount(s)}}Object.defineProperty(e.prototype,"$dialog",{get:function(){return function(){t.apply(this,arguments)}}})}},"24e1":function(e,t,n){"use strict";n("7257")},"2b5d":function(e,t,n){"use strict";var a=n("ade3"),r=n("2638"),o=n.n(r),i=n("53ca"),s=n("5530"),c=(n("99af"),n("4d91")),d=n("4d26"),l=n.n(d),u=n("d22e"),p=n("daa3"),h=n("b488"),m=n("94eb");function f(){}var g="open",b="close",v="---",y={name:"TreeNode",mixins:[h["a"]],__ANT_TREE_NODE:!0,props:Object(p["t"])({eventKey:c["a"].oneOfType([c["a"].string,c["a"].number]),prefixCls:c["a"].string,root:c["a"].object,expanded:c["a"].bool,selected:c["a"].bool,checked:c["a"].bool,loaded:c["a"].bool,loading:c["a"].bool,halfChecked:c["a"].bool,title:c["a"].any,pos:c["a"].string,dragOver:c["a"].bool,dragOverGapTop:c["a"].bool,dragOverGapBottom:c["a"].bool,isLeaf:c["a"].bool,checkable:c["a"].bool,selectable:c["a"].bool,disabled:c["a"].bool,disableCheckbox:c["a"].bool,icon:c["a"].any,dataRef:c["a"].object,switcherIcon:c["a"].any,label:c["a"].any,value:c["a"].any},{}),data:function(){return{dragNodeHighlight:!1}},inject:{vcTree:{default:function(){return{}}},vcTreeNode:{default:function(){return{}}}},provide:function(){return{vcTreeNode:this}},mounted:function(){var e=this.eventKey,t=this.vcTree.registerTreeNode;this.syncLoadData(this.$props),t&&t(e,this)},updated:function(){this.syncLoadData(this.$props)},beforeDestroy:function(){var e=this.eventKey,t=this.vcTree.registerTreeNode;t&&t(e,null)},methods:{onSelectorClick:function(e){var t=this.vcTree.onNodeClick;t(e,this),this.isSelectable()?this.onSelect(e):this.onCheck(e)},onSelectorDoubleClick:function(e){var t=this.vcTree.onNodeDoubleClick;t(e,this)},onSelect:function(e){if(!this.isDisabled()){var t=this.vcTree.onNodeSelect;e.preventDefault(),t(e,this)}},onCheck:function(e){if(!this.isDisabled()){var t=this.disableCheckbox,n=this.checked,a=this.vcTree.onNodeCheck;if(this.isCheckable()&&!t){e.preventDefault();var r=!n;a(e,this,r)}}},onMouseEnter:function(e){var t=this.vcTree.onNodeMouseEnter;t(e,this)},onMouseLeave:function(e){var t=this.vcTree.onNodeMouseLeave;t(e,this)},onContextMenu:function(e){var t=this.vcTree.onNodeContextMenu;t(e,this)},onDragStart:function(e){var t=this.vcTree.onNodeDragStart;e.stopPropagation(),this.setState({dragNodeHighlight:!0}),t(e,this);try{e.dataTransfer.setData("text/plain","")}catch(n){}},onDragEnter:function(e){var t=this.vcTree.onNodeDragEnter;e.preventDefault(),e.stopPropagation(),t(e,this)},onDragOver:function(e){var t=this.vcTree.onNodeDragOver;e.preventDefault(),e.stopPropagation(),t(e,this)},onDragLeave:function(e){var t=this.vcTree.onNodeDragLeave;e.stopPropagation(),t(e,this)},onDragEnd:function(e){var t=this.vcTree.onNodeDragEnd;e.stopPropagation(),this.setState({dragNodeHighlight:!1}),t(e,this)},onDrop:function(e){var t=this.vcTree.onNodeDrop;e.preventDefault(),e.stopPropagation(),this.setState({dragNodeHighlight:!1}),t(e,this)},onExpand:function(e){var t=this.vcTree.onNodeExpand;t(e,this)},getNodeChildren:function(){var e=this.$slots.default,t=Object(p["c"])(e),n=Object(u["j"])(t);return t.length!==n.length&&Object(u["o"])(),n},getNodeState:function(){var e=this.expanded;return this.isLeaf2()?null:e?g:b},isLeaf2:function(){var e=this.isLeaf,t=this.loaded,n=this.vcTree.loadData,a=0!==this.getNodeChildren().length;return!1!==e&&(e||!n&&!a||n&&t&&!a)},isDisabled:function(){var e=this.disabled,t=this.vcTree.disabled;return!1!==e&&!(!t&&!e)},isCheckable:function(){var e=this.$props.checkable,t=this.vcTree.checkable;return!(!t||!1===e)&&t},syncLoadData:function(e){var t=e.expanded,n=e.loading,a=e.loaded,r=this.vcTree,o=r.loadData,i=r.onNodeLoad;if(!n&&o&&t&&!this.isLeaf2()){var s=0!==this.getNodeChildren().length;s||a||i(this)}},isSelectable:function(){var e=this.selectable,t=this.vcTree.selectable;return"boolean"===typeof e?e:t},renderSwitcher:function(){var e=this.$createElement,t=this.expanded,n=this.vcTree.prefixCls,a=Object(p["g"])(this,"switcherIcon",{},!1)||Object(p["g"])(this.vcTree,"switcherIcon",{},!1);if(this.isLeaf2())return e("span",{key:"switcher",class:l()("".concat(n,"-switcher"),"".concat(n,"-switcher-noop"))},["function"===typeof a?a(Object(s["a"])(Object(s["a"])(Object(s["a"])({},this.$props),this.$props.dataRef),{},{isLeaf:!0})):a]);var r=l()("".concat(n,"-switcher"),"".concat(n,"-switcher_").concat(t?g:b));return e("span",{key:"switcher",on:{click:this.onExpand},class:r},["function"===typeof a?a(Object(s["a"])(Object(s["a"])(Object(s["a"])({},this.$props),this.$props.dataRef),{},{isLeaf:!1})):a])},renderCheckbox:function(){var e=this.$createElement,t=this.checked,n=this.halfChecked,a=this.disableCheckbox,r=this.vcTree.prefixCls,o=this.isDisabled(),i=this.isCheckable();if(!i)return null;var s="boolean"!==typeof i?i:null;return e("span",{key:"checkbox",class:l()("".concat(r,"-checkbox"),t&&"".concat(r,"-checkbox-checked"),!t&&n&&"".concat(r,"-checkbox-indeterminate"),(o||a)&&"".concat(r,"-checkbox-disabled")),on:{click:this.onCheck}},[s])},renderIcon:function(){var e=this.$createElement,t=this.loading,n=this.vcTree.prefixCls;return e("span",{key:"icon",class:l()("".concat(n,"-iconEle"),"".concat(n,"-icon__").concat(this.getNodeState()||"docu"),t&&"".concat(n,"-icon_loading"))})},renderSelector:function(e){var t,n=this.selected,a=this.loading,r=this.dragNodeHighlight,o=Object(p["g"])(this,"icon",{},!1),i=this.vcTree,c=i.prefixCls,d=i.showIcon,u=i.icon,h=i.draggable,m=i.loadData,g=this.isDisabled(),b=Object(p["g"])(this,"title",{},!1),y="".concat(c,"-node-content-wrapper");if(d){var k=o||u;t=k?e("span",{class:l()("".concat(c,"-iconEle"),"".concat(c,"-icon__customize"))},["function"===typeof k?k(Object(s["a"])(Object(s["a"])({},this.$props),this.$props.dataRef),e):k]):this.renderIcon()}else m&&a&&(t=this.renderIcon());var x=b,O=e("span",{class:"".concat(c,"-title")},x?["function"===typeof x?x(Object(s["a"])(Object(s["a"])({},this.$props),this.$props.dataRef),e):x]:[v]);return e("span",{key:"selector",ref:"selectHandle",attrs:{title:"string"===typeof b?b:"",draggable:!g&&h||void 0,"aria-grabbed":!g&&h||void 0},class:l()("".concat(y),"".concat(y,"-").concat(this.getNodeState()||"normal"),!g&&(n||r)&&"".concat(c,"-node-selected"),!g&&h&&"draggable"),on:{mouseenter:this.onMouseEnter,mouseleave:this.onMouseLeave,contextmenu:this.onContextMenu,click:this.onSelectorClick,dblclick:this.onSelectorDoubleClick,dragstart:h?this.onDragStart:f}},[t,O])},renderChildren:function(){var e=this.$createElement,t=this.expanded,n=this.pos,a=this.vcTree,r=a.prefixCls,c=a.openTransitionName,d=a.openAnimation,p=a.renderTreeNode,h={};c?h=Object(m["a"])(c):"object"===Object(i["a"])(d)&&(h=Object(s["a"])({},d),h.props=Object(s["a"])({css:!1},h.props));var f,g=this.getNodeChildren();return 0===g.length?null:(t&&(f=e("ul",{class:l()("".concat(r,"-child-tree"),t&&"".concat(r,"-child-tree-open")),attrs:{"data-expanded":t,role:"group"}},[Object(u["l"])(g,(function(e,t){return p(e,t,n)}))])),e("transition",o()([{},h]),[f]))}},render:function(e){var t,n=this.$props,r=n.dragOver,o=n.dragOverGapTop,i=n.dragOverGapBottom,s=n.isLeaf,c=n.expanded,d=n.selected,l=n.checked,u=n.halfChecked,p=n.loading,h=this.vcTree,m=h.prefixCls,g=h.filterTreeNode,b=h.draggable,v=this.isDisabled();return e("li",{class:(t={},Object(a["a"])(t,"".concat(m,"-treenode-disabled"),v),Object(a["a"])(t,"".concat(m,"-treenode-switcher-").concat(c?"open":"close"),!s),Object(a["a"])(t,"".concat(m,"-treenode-checkbox-checked"),l),Object(a["a"])(t,"".concat(m,"-treenode-checkbox-indeterminate"),u),Object(a["a"])(t,"".concat(m,"-treenode-selected"),d),Object(a["a"])(t,"".concat(m,"-treenode-loading"),p),Object(a["a"])(t,"drag-over",!v&&r),Object(a["a"])(t,"drag-over-gap-top",!v&&o),Object(a["a"])(t,"drag-over-gap-bottom",!v&&i),Object(a["a"])(t,"filter-node",g&&g(this)),t),attrs:{role:"treeitem"},on:{dragenter:b?this.onDragEnter:f,dragover:b?this.onDragOver:f,dragleave:b?this.onDragLeave:f,drop:b?this.onDrop:f,dragend:b?this.onDragEnd:f}},[this.renderSwitcher(),this.renderCheckbox(),this.renderSelector(e),this.renderChildren()])},isTreeNode:1};t["a"]=y},"2cb7":function(e,t,n){},"33ca":function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return i}));var a=n("b775"),r={info:"/store/info",update:"/store/update"};function o(e){return Object(a["b"])({url:r.info,method:"get",params:e})}function i(e){return Object(a["b"])({url:r.update,method:"post",data:e})}},"36fa":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"1024",height:"1024",viewBox:"0 0 1024 1024"},children:[{tag:"title"},{tag:"g",attrsMap:{id:"icomoon-ignore"}},{tag:"path",attrsMap:{d:"M783 0h-542q-66 0-121 32.5t-87.5 87.5-32.5 121v542q0 66 32.5 121t87.5 87.5 121 32.5h542q66 0 121-32.5t87.5-87.5 32.5-121v-542q0-66-32.5-121t-87.5-87.5-121-32.5M512 785q-56 0-109-15-16 3-30 9l-67 42q-30 20-19-15l14-53q2-15-2-31-62-41-97-101-36-61-36-131 0-79 47-148 46-67 124-106 81-40 175-40 86 0 161 34 73 33 121 90l-322 154q-18 10-34.5 10t-32.5-15l-52-46q-35-10-25 23l56 136q10 16 25 18t38-14l374-228q37 62 37 132 0 80-47 149-46 67-124 106-81 40-175 40z"}}]})}},"38d8":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1598326995472",class:"icon",viewBox:"0 0 1152 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"9426","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"562.5",height:"500"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M1146.496 435.392c-4.512-23.808-28.64-48-53.696-53.376l-18.72-4.064c-44-12.64-83.008-40.288-107.808-80.992a169.184 169.184 0 0 1-19.84-130.08l5.856-16.704c7.456-23.136-2.24-55.072-21.888-70.944 0 0-17.6-14.144-67.232-41.376-49.632-27.008-71.04-34.496-71.04-34.496-24.128-8.352-57.984-0.416-75.552 17.376l-13.088 13.28c-33.376 30.016-78.272 48.224-127.872 48.224s-94.976-18.432-128.352-48.64l-12.64-12.864c-17.376-17.792-51.424-25.728-75.552-17.344 0 0-21.664 7.52-71.264 34.496-49.632 27.424-66.976 41.568-66.976 41.568-19.616 15.648-29.312 47.36-21.888 70.72l5.408 16.928c10.592 42.656 4.96 88.928-19.84 129.888s-64.288 68.8-108.48 81.216l-18.048 3.84c-24.8 5.376-49.184 29.376-53.696 53.376 0 0-4.064 21.44-4.064 75.872s4.064 75.872 4.064 75.872c4.512 24 28.64 48 53.696 53.376l17.6 3.872c44.192 12.416 83.904 40.288 108.704 81.44a169.056 169.056 0 0 1 19.84 130.08l-5.184 16.512c-7.456 23.136 2.24 55.072 21.888 70.944 0 0 17.6 14.144 67.232 41.376s71.04 34.496 71.04 34.496c24.128 8.352 57.984 0.416 75.584-17.376l12.416-12.64c33.6-30.208 78.72-48.64 128.576-48.64s95.168 18.656 128.576 48.864l12.416 12.64c17.376 17.792 51.424 25.728 75.552 17.344 0 0 21.664-7.488 71.264-34.496 49.632-27.232 66.976-41.376 66.976-41.376 19.616-15.648 29.312-47.584 21.888-70.944l-5.408-17.152a168.736 168.736 0 0 1 19.84-129.44c24.8-40.928 64.512-69.024 108.704-81.44l17.6-3.872c24.8-5.344 49.184-29.344 53.696-53.376 0 0 4.064-21.44 4.064-75.872-0.224-54.656-4.288-76.064-4.288-76.064z m-570.88 293.824c-126.528 0-229.408-97.504-229.408-217.952 0-120.224 102.624-217.76 229.408-217.76 126.528 0 229.376 97.504 229.376 217.952-0.224 120.224-102.848 217.76-229.376 217.76z","p-id":"9427"}}]})}},"3a93":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1595829608228",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4042",width:"500",height:"500"},children:[{tag:"path",attrsMap:{d:"M202.24 61.44h619.52c48.64 0 88.746667 40.106667 88.746667 88.746667v707.413333c0 48.64-40.106667 88.746667-88.746667 88.746667H202.24c-48.64 0-88.746667-40.106667-88.746667-88.746667v-708.266667c0.853333-48.64 40.106667-87.893333 88.746667-87.893333z m88.746667 198.826667v88.746666h447.146666V260.266667H290.986667z m0 175.786666v88.746667h447.146666V436.053333H290.986667z m0 178.346667v88.746667h334.506666V614.4H290.986667z","p-id":"4043"}}]})}},"401b":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1599184757190",class:"icon",viewBox:"0 0 1027 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"1064",width:"500",height:"500"},children:[{tag:"path",attrsMap:{d:"M790.62826087 316.98369565a274.54891304 274.54891304 0 1 1-549.09782609 0 274.54891304 274.54891304 0 0 1 549.09782609 0z m-47.95434783 287.4326087a364.79347826 364.79347826 0 0 1-226.59456521 78.56413043c-84.28695652 0-164.34782609-28.70217391-228.61956522-80.17826087C118.06413043 664.99021739 42.40543478 882.31086957 42.40543478 981.56521739h942.53478261c0-98.37391304-76.24565217-314.16847826-242.29565217-377.11956522z","p-id":"1065"}}]})}},4077:function(e,t,n){},4360:function(e,t,n){"use strict";var a,r=n("2b0e"),o=n("2f62"),i=n("ade3"),s=(n("d3b7"),n("8ded")),c=n.n(s),d=n("9fb0"),l=n("bf0f"),u={state:{sideCollapsed:!1,isMobile:!1,theme:"dark",layout:"",contentWidth:"",fixedHeader:!1,fixedSidebar:!1,autoHideHeader:!1,color:"",weak:!1,multiTab:!0,lang:"en-US",_antLocale:{}},mutations:(a={},Object(i["a"])(a,d["c"],(function(e,t){e.sideCollapsed=t,c.a.set(d["c"],t)})),Object(i["a"])(a,d["j"],(function(e,t){e.isMobile=t})),Object(i["a"])(a,d["l"],(function(e,t){e.theme=t,c.a.set(d["l"],t)})),Object(i["a"])(a,d["i"],(function(e,t){e.layout=t,c.a.set(d["i"],t)})),Object(i["a"])(a,d["f"],(function(e,t){e.fixedHeader=t,c.a.set(d["f"],t)})),Object(i["a"])(a,d["g"],(function(e,t){e.fixedSidebar=t,c.a.set(d["g"],t)})),Object(i["a"])(a,d["e"],(function(e,t){e.contentWidth=t,c.a.set(d["e"],t)})),Object(i["a"])(a,d["h"],(function(e,t){e.autoHideHeader=t,c.a.set(d["h"],t)})),Object(i["a"])(a,d["d"],(function(e,t){e.color=t,c.a.set(d["d"],t)})),Object(i["a"])(a,d["m"],(function(e,t){e.weak=t,c.a.set(d["m"],t)})),Object(i["a"])(a,d["b"],(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e.lang=t,e._antLocale=n,c.a.set(d["b"],t)})),Object(i["a"])(a,d["k"],(function(e,t){c.a.set(d["k"],t),e.multiTab=t})),a),actions:{setLang:function(e,t){var n=e.commit;return new Promise((function(e,a){n(d["b"],t),Object(l["c"])(t).then((function(){e()})).catch((function(e){a(e)}))}))}}},p=u,h=(n("b0c0"),n("d81d"),n("b775")),m={login:"/passport/login",logout:"/passport/logout"};function f(e){return Object(h["b"])({url:m.login,method:"post",data:e})}function g(){return Object(h["b"])({url:m.logout,method:"post"})}var b=n("f544"),v=n("ca00"),y={state:{token:"",name:"",welcome:"",roles:{},info:{}},mutations:{SET_TOKEN:function(e,t){e.token=t},SET_NAME:function(e,t){var n=t.name,a=t.welcome;e.name=n,e.welcome=a},SET_AVATAR:function(e,t){e.avatar=t},SET_ROLES:function(e,t){e.roles=t},SET_INFO:function(e,t){e.info=t}},actions:{Login:function(e,t){var n=e.commit;return new Promise((function(e,a){f(t).then((function(t){var a=t.data;c.a.set(d["a"],a.token,6048e5),n("SET_TOKEN",a.token),e(t)})).catch((function(e){a(e)}))}))},GetInfo:function(e){var t=e.commit,n=window.localStorage.getItem("client_id");return new Promise((function(e,a){Object(b["d"])({client_id:n}).then((function(n){var a=n.data,r=a.roles;r.permissions.map((function(e){e.actionList=[],e.actionEntitySet&&e.actionEntitySet.length>0&&(e.actionList=e.actionEntitySet.map((function(e){return e.action})))})),r.permissionList=r.permissions.map((function(e){return e.permissionId})),t("SET_ROLES",r),t("SET_INFO",a.userInfo),t("SET_NAME",{name:a.userInfo.real_name,welcome:Object(v["i"])()}),e(a)})).catch((function(e){a(e)}))}))},Logout:function(e){var t=e.commit,n=e.state;return new Promise((function(e,a){g(n.token).then((function(){t("SET_TOKEN",""),t("SET_ROLES",[]),c.a.remove(d["a"]),e()}))}))},SuperLogin:function(e,t){var n=e.commit;c.a.set(d["a"],t["token"],6048e5),n("SET_TOKEN",t["token"])}}},k=y,x=(n("caad"),n("2532"),n("4de4"),n("159b"),n("99af"),n("d73b"));function O(e,t){if(t.meta&&t.meta.permission){for(var n=!1,a=0,r=e.length;a0&&(e.redirect&&-1!==n.indexOf(e.redirect)||(e.redirect=n[0]))}));var n=null!=e.children?e.children.map((function(e){return e.path})):[];n.length>0&&(e.redirect&&-1!==n.indexOf(e.redirect)||(e.redirect=n[0]))})),_(e)}function _(e){var t=e[0];if(t.children&&t.children.length){var n=t.children[0];t.redirect=null!=n.redirect?n.redirect:n.path}else t.redirect="/404";return e}var M={state:{routers:x["b"],addRouters:[]},mutations:{SET_ROUTERS:function(e,t){e.addRouters=t,e.routers=x["b"].concat(t)}},actions:{GenerateRoutes:function(e,t){var n=e.commit;return new Promise((function(e){var a=t.roles,r=j(x["a"],a);n("SET_ROUTERS",r),e(r)}))}}},S=M,K={isMobile:function(e){return e.app.isMobile},lang:function(e){return e.app.lang},theme:function(e){return e.app.theme},color:function(e){return e.app.color},token:function(e){return e.user.token},nickname:function(e){return e.user.name},welcome:function(e){return e.user.welcome},roles:function(e){return e.user.roles},userInfo:function(e){return e.user.info},addRouters:function(e){return e.permission.addRouters},multiTab:function(e){return e.app.multiTab},publicConfig:function(){return window.publicConfig}},E=K;r["a"].use(o["a"]);t["a"]=new o["a"].Store({modules:{app:p,user:k,permission:S},state:{},mutations:{},actions:{},getters:E})},"4aa4":function(e,t,n){var a={"./en-US":["743d"],"./en-US.js":["743d"],"./zh-CN":["2807","lang-zh-CN"],"./zh-CN.js":["2807","lang-zh-CN"]};function r(e){if(!n.o(a,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=a[e],r=t[0];return Promise.all(t.slice(1).map(n.e)).then((function(){return n(r)}))}r.keys=function(){return Object.keys(a)},r.id="4aa4",e.exports=r},"4ceb":function(e,t,n){"use strict";n.d(t,"a",(function(){return re})),n.d(t,"b",(function(){return te})),n.d(t,"d",(function(){return P})),n.d(t,"c",(function(){return Ct})),n.d(t,"f",(function(){return ut}));n("1a62");var a=n("98c5"),r=n("5530"),o=(n("2cb7"),n("4d91")),i=n("d525"),s=n("2638"),c=n.n(s),d=(n("8fb1"),n("0c63")),l=n("53ca"),u=(n("fbd8"),n("55f1")),p=(n("d81d"),n("d3b7"),n("159b"),n("7db0"),n("caad"),n("2532"),n("99af"),n("c428"),u["a"].Item),h=u["a"].SubMenu,m={menus:o["a"].array,collapsed:o["a"].bool.def(!1),theme:o["a"].string.def("dark"),mode:o["a"].string.def("inline"),i18nRender:o["a"].oneOfType([o["a"].func,o["a"].bool]).def(!1)},f=function(e,t,n){if(t&&!t.hidden){t.hideChildrenInMenu=!0;var a=t.children&&!t.hideChildrenInMenu;return a?g(e,t,n):b(e,t,n)}return null},g=function(e,t,n){return e(h,{key:t.path,attrs:{title:e("span",[v(e,t.meta.icon),e("span",[y(e,t.meta.title,n)])])}},[!t.hideChildrenInMenu&&t.children.map((function(t){return f(e,t,n)}))])},b=function(e,t,n){var a=Object.assign({},t.meta),o=a.target||null,i="router-link",s={to:{path:t.path}},c={target:o};return t.hideChildrenInMenu=!0,t.children&&t.hideChildrenInMenu&&t.children.forEach((function(e){e.meta=Object.assign(e.meta,{hidden:!0})})),e(p,{key:t.path},[e(i,{props:Object(r["a"])({},s),attrs:Object(r["a"])({},c)},[v(e,a.icon,a.iconStyle),y(e,a.title,n)])])},v=function(e,t,n){if(void 0===t||"none"===t||null===t)return null;var a={};return"object"===Object(l["a"])(t)?a.component=t:a.type=t,e(d["a"],{style:n,props:Object(r["a"])({},a)})},y=function(e,t,n){return e("span",[n&&n(t)||t])},k={name:"RouteMenu",props:m,data:function(){return{openKeys:[],selectedKeys:[],cachedOpenKeys:[]}},render:function(e){var t=this,n=this.mode,a=this.theme,r=this.menus,o=this.i18nRender,i=function(e){if("horizontal"!==n){var a=e.find((function(e){return!t.openKeys.includes(e)}));t.rootSubmenuKeys.includes(a)?t.openKeys=a?[a]:[]:t.openKeys=e}else t.openKeys=e},s={props:{mode:n,theme:a,openKeys:this.openKeys,selectedKeys:this.selectedKeys},on:{select:function(e){t.selectedKeys=e.selectedKeys,t.$emit("select",e)},openChange:i}},d=r.map((function(t){return t.hidden?null:f(e,t,o)}));return e(u["a"],c()([{class:"sub-menu"},s]),[d])},methods:{updateMenu:function(){var e=this.$route.matched.concat();this.selectedKeys=[this.$route.matched[1].path];var t=[];"inline"===this.mode&&e.forEach((function(e){e.path&&t.push(e.path)})),this.collapsed?this.cachedOpenKeys=t:this.openKeys=t}},computed:{rootSubmenuKeys:function(e){var t=[];return e.menus.forEach((function(e){return t.push(e.path)})),t}},created:function(){var e=this;this.$watch("$route",(function(){e.updateMenu()})),this.$watch("collapsed",(function(t){t?(e.cachedOpenKeys=e.openKeys.concat(),e.openKeys=[]):e.openKeys=e.cachedOpenKeys}))},mounted:function(){this.updateMenu()}},x=k,O=x,w=(n("6d2a"),n("9571")),j=(n("b0c0"),n("cd83"),n("4de4"),n("ca00")),C=(n("5805"),{name:"SecondMenu",props:{subMenuTitle:o["a"].string.def(""),subMenus:o["a"].array.def(),collapsed:o["a"].bool.def(!1)},data:function(){return{menuList:[]}},created:function(){this.updateMenu(this.subMenus)},watch:{subMenus:function(e){this.updateMenu(e)}},render:function(e){var t=this;return e("div",{class:"menu-second"},[e("div",{class:"menu-title"},[e("span",[this.subMenuTitle])]),e("ul",{class:"menu-list"},[this.menuList.map((function(e){return t.renderMenuItem(e)}))])])},methods:{updateMenu:function(e){var t=this,n=[];e.forEach((function(e){var a=t.isHasChildren(e),r=[];a&&e.children.forEach((function(e){r.push({title:e.meta.title,path:e.path,hidden:e.hidden,activePath:e.activePath})})),n.push({title:e.meta.title,path:e.path,activePath:e.activePath,hidden:e.hidden,isHasChildren:a,isHideChildren:e.isHideChildren||!1,children:r})})),this.menuList=n},isHasChildren:function(e){var t=void 0!==e.children,n=t?e.children.filter((function(e){return e.hidden})):[];return t&&n.length0&&e(D["a"],c()([{class:"".concat(B,"-tabs"),attrs:{activeKey:r,tabBarExtraContent:i},on:{change:function(e){o&&o(e)}}},s]),[a.map((function(t){return e(D["a"].TabPane,c()([{},t,{attrs:{tab:n(t.tab)},key:t.key}]))}))])},J=function(e,t,n){return t||n?e("div",{class:"".concat(B,"-detail")},[e("div",{class:"".concat(B,"-main")},[e("div",{class:"".concat(B,"-row")},[t&&e("div",{class:"".concat(B,"-content")},[t]),n&&e("div",{class:"".concat(B,"-extraContent")},[n])])])]):null},X=function(e,t,n,a){var o=t.title,i=t.content,s=t.pageHeaderRender,c=t.extra,d=t.extraContent,l=t.breadcrumb,u=t.back,p=Object(T["a"])(t,q);if(s)return s(Object(r["a"])({},t));var h=o;o||!1===o||(h=n.title);var m={breadcrumb:l,extra:c,title:a(h),footer:Z(e,p,a)};return u||(m.backIcon=!1),e(L["a"],{props:Object(r["a"])({},m),on:{back:u||Q}},[J(e,i,d)])},ee={name:"PageHeaderWrapper",props:U,inject:["locale","contentWidth","breadcrumbRender"],render:function(e){var t=this,n=this.$route,a=this.$listeners,o=this.$slots.default,i=Object(I["getComponentFromProp"])(this,"content"),s=Object(I["getComponentFromProp"])(this,"extra"),c=Object(I["getComponentFromProp"])(this,"extraContent"),d=Y(this.$props.route||n),l=this.$props.i18nRender||this.locale||G,u=this.$props.contentWidth||this.contentWidth||!1,p=this.$props.back||a.back,h=p&&function(){p&&p()}||void 0,m=this.$props.tabChange,f=function(e){t.$emit("tabChange",e),m&&m(e)},g={},b=this.$props.breadcrumb;if(!0===b){var v=n.matched.concat().map((function(e){return{path:e.path,breadcrumbName:l(e.meta.title)}})),y=function(e){var t=e.route,n=e.params,a=e.routes,r=(e.paths,e.h);return a.indexOf(t)===a.length-1&&r("span",[t.breadcrumbName])||r("router-link",{attrs:{to:{path:t.path||"/",params:n}}},[t.breadcrumbName])},k=this.breadcrumbRender||y;g={props:{routes:v,itemRender:k}}}else g=b||null;var x=Object(r["a"])(Object(r["a"])({},this.$props),{},{content:i,extra:s,extraContent:c,breadcrumb:g,tabChange:f,back:h});return e("div",{class:"ant-pro-page-header-wrap"},[e("div",{class:"".concat(B,"-page-header-warp")},[e(F,[X(e,x,d,l)])]),o?e(F,{attrs:{contentWidth:u}},[e("div",{class:"".concat(B,"-children-content")},[o])]):null])}},te=ee,ne=(n("9a93"),{links:o["a"].array,copyright:o["a"].any}),ae={name:"GlobalFooter",props:ne,render:function(){var e=arguments[0],t=Object(I["getComponentFromProp"])(this,"copyright"),n=Object(I["getComponentFromProp"])(this,"links"),a=Object(I["hasProp"])(n);return e("footer",{class:"ant-pro-global-footer"},[e("div",{class:"ant-pro-global-footer-links"},[a&&n.map((function(t){return e("a",{key:t.key,attrs:{title:t.key,target:t.blankTarget?"_blank":"_self",href:t.href}},[t.title])}))||n]),t&&e("div",{class:"ant-pro-global-footer-copyright"},[t])])}},re=ae,oe={name:"VueFragment",functional:!0,render:function(e,t){return t.children.length>1?e("div",{},t.children):t.children}},ie=(n("b64b"),n("c68f")),se=n("81a7"),ce=function(e,t){var n=e.slots&&e.slots();return n[t]||e.props[t]},de=function(e){return"function"===typeof e},le={daybreak:"daybreak","#1890ff":"daybreak","#F5222D":"dust","#FA541C":"volcano","#FAAD14":"sunset","#13C2C2":"cyan","#52C41A":"green","#2F54EB":"geekblue","#722ED1":"purple"},ue=function(e){return Object.keys(e).reduce((function(t,n){return t[e[n]]=n,t}),{})};function pe(e){return e&&le[e]?le[e]:e}function he(e){var t=ue(le);return e&&t[e]?t[e]:e}n("90f3"),n("a044");var me=n("b047"),fe=n.n(me),ge={collapsed:o["a"].bool,handleCollapse:o["a"].func,isMobile:o["a"].bool.def(!1),fixedHeader:o["a"].bool.def(!1),logo:o["a"].any,menuRender:o["a"].any,collapsedButtonRender:o["a"].any,rightContentRender:o["a"].any},be="ant-pro-global-header",ve={name:"GlobalHeader",props:ge,inject:["locale"],render:function(e){var t=this.$props,n=t.isMobile,a=t.logo,r=t.rightContentRender;return e("div",{class:be},[n&&e("a",{class:"".concat(be,"-logo"),key:"logo",attrs:{href:"/"}},[K(e,a)]),e("div",{class:be+"-tools"},[this.renderCollapsedButton(),this.renderRefreshButton(),this.renderBreadcrumb(),de(r)&&r(e,this.$props)||r])])},methods:{triggerResizeEvent:fe()((function(){se["a"]&&Object(ie["a"])(window,"resize")})),renderCollapsedButton:function(){var e=this.$createElement,t=this.$props,n=t.collapsed,a=t.collapsedButtonRender,r=void 0===a?function(t){return e(d["a"],{attrs:{type:t?"menu-unfold":"menu-fold"}})}:a,o=t.menuRender;return!1!==r&&!1!==o?e("div",{class:"".concat(be,"-trigger"),on:{click:this.onCollapsed}},[de(r)&&r(n)||r]):null},renderRefreshButton:function(){var e=this.$createElement;return e("span",{class:"ant-pro-global-header-trigger",on:{click:this.onRefresh}},[e(d["a"],{attrs:{type:"reload"}})])},renderBreadcrumb:function(){var e=this.$createElement,t=this.locale,n=this.$route,a=[];if(n.matched.concat().forEach((function(e){e.meta&&e.meta.title&&a.push({path:e.path,breadcrumbName:t(e.meta.title)})})),a.length<=1)return null;var r=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=["ant-breadcrumb-link"];return n&&a.push("active"),e("span",{class:a},[t.breadcrumbName])},o=[],i=e("span",{class:"ant-breadcrumb-separator"},["/"]);return a.forEach((function(e){var t=a.indexOf(e)===a.length-1;o.push(r(e,t)),!t&&o.push(i)})),e("div",{class:"".concat(be,"-breadcrumb")},[o])},onCollapsed:function(){var e=this.$props,t=e.collapsed,n=e.handleCollapse;n&&n(!t),this.triggerResizeEvent()},onRefresh:function(){window.location.reload()}},beforeDestroy:function(){this.triggerResizeEvent.cancel&&this.triggerResizeEvent.cancel()}},ye=ve,ke=a["a"].Header,xe=Object(r["a"])(Object(r["a"])(Object(r["a"])({},ge),S),{},{isMobile:o["a"].bool.def(!1),collapsed:o["a"].bool,logo:o["a"].any,hasSiderMenu:o["a"].bool,autoHideHeader:o["a"].bool,menuRender:o["a"].any,headerRender:o["a"].any,rightContentRender:o["a"].any,visible:o["a"].bool.def(!0)}),Oe=function(e,t){var n="topmenu"===t.layout,a=800,o=t.contentWidth,i="ant-pro-top-nav-header",s=t.logo,c=t.title,d=t.theme,l=t.isMobile,u=t.headerRender,p=t.rightContentRender,h={theme:d,isTop:n,isMobile:l},m=e(ye,{props:Object(r["a"])({},t)});return n&&!l&&(m=e("div",{class:[i,d]},[e("div",{class:["".concat(i,"-main"),o?"wide":""]},[e("div",{class:"".concat(i,"-left")},[e("div",{class:"".concat(i,"-logo"),key:"logo",attrs:{id:"logo"}},[E(e,{logo:s,title:c,menuHeaderRender:null})])]),e("div",{class:"".concat(i,"-menu"),style:{maxWidth:"".concat(a,"px"),flex:1}},[e(x,{props:Object(r["a"])({},t)})]),de(p)&&p(e,h)||p])])),u?u(e,t):m},we={name:"HeaderView",props:xe,render:function(e){var t=this.$props,n=t.visible,a=t.isMobile,r=t.layout,o=t.collapsed,i=t.fixedHeader,s=t.hasSiderMenu,c=this.$props,d="topmenu"===r,l=i&&s&&!d&&!a,u={"ant-pro-fixed-header":i,"ant-pro-top-menu":d};return n?e(oe,[e(ke,{style:{padding:0,width:l?"calc(100% - ".concat(o?80:160,"px)"):"100%",zIndex:9,right:i?0:void 0},class:u},[Oe(e,c)])]):null}},je=we,Ce=(n("d2a3"),n("4df5")),_e=a["a"].Content,Me={isChildrenLayout:o["a"].bool,location:o["a"].any,contentHeight:o["a"].number,contentWidth:o["a"].bool},Se={name:"WrapContent",props:Me,render:function(e){var t=this.$props,n=t.isChildrenLayout,a=t.contentWidth;return e(_e,[e(Ce["a"],{attrs:{getPopupContainer:function(e,t){return n?e.parentNode():document.body}}},[e("div",{class:"ant-pro-basicLayout-children-content-wrap"},[e(F,{attrs:{contentWidth:a}},[this.$slots.default])])])])}},Ke=Se,Ee={name:"ProConfigProvider",props:{i18nRender:o["a"].any,contentWidth:o["a"].bool,breadcrumbRender:o["a"].func},provide:function(){var e=this;return{locale:e.$props.i18nRender,contentWidth:e.$props.contentWidth,breadcrumbRender:e.$props.breadcrumbRender}},render:function(){var e=this.$scopedSlots,t=this.children||e["default"];return t()}},Ne=Ee,Ae=Object(r["a"])(Object(r["a"])(Object(r["a"])({},S),xe),{},{locale:o["a"].oneOfType([o["a"].string,o["a"].bool]).def("en-US"),breadcrumbRender:o["a"].func,disableMobile:o["a"].bool.def(!1),mediaQuery:o["a"].object.def({}),handleMediaQuery:o["a"].func,footerRender:o["a"].func}),$e={"screen-xs":{maxWidth:575},"screen-sm":{minWidth:576,maxWidth:767},"screen-md":{minWidth:768,maxWidth:991},"screen-lg":{minWidth:992,maxWidth:1199},"screen-xl":{minWidth:1200,maxWidth:1599},"screen-xxl":{minWidth:1600}},Pe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;return e?t?80:n:0},Te=function(e,t){return!1===t.headerRender?null:e(je,{props:Object(r["a"])({},t)})},De=function(e){return e},Le={name:"BasicLayout",functional:!0,props:Ae,render:function(e,t){var n=t.props,o=t.children,s=n.layout,c=n.isMobile,d=n.collapsed,l=n.siderWidth,u=n.mediaQuery,p=n.handleMediaQuery,h=n.handleCollapse,m=n.contentWidth,f=n.fixSiderbar,g=n.i18nRender,b=void 0===g?De:g,v=ce(t,"footerRender"),y=ce(t,"rightContentRender"),k=ce(t,"collapsedButtonRender"),x=ce(t,"menuHeaderRender"),O=ce(t,"breadcrumbRender"),w="topmenu"===s,j=!w,C=f&&!w&&!c,_=Object(r["a"])(Object(r["a"])({},n),{},{siderWidth:l,hasSiderMenu:j,footerRender:v,menuHeaderRender:x,rightContentRender:y,collapsedButtonRender:k,breadcrumbRender:O});return e(Ne,{attrs:{i18nRender:b,contentWidth:m,breadcrumbRender:O}},[e(i["ContainerQuery"],{attrs:{query:$e},on:{change:p}},[e(a["a"],{class:Object(r["a"])({"ant-pro-basicLayout":!0,"ant-pro-topmenu":w},u)},[Te(e,Object(r["a"])(Object(r["a"])({},_),{},{mode:"horizontal"})),e(P,{props:Object(r["a"])({},_),attrs:{collapsed:d},on:{collapse:h}}),e(a["a"],{class:[s],style:{paddingLeft:j?"".concat(Pe(!!C,d,l),"px"):void 0,minHeight:"100vh"}},[e(Ke,{class:"ant-pro-basicLayout-content",attrs:{contentWidth:m}},[o]),e(a["a"].Footer,[v&&(de(v)&&v(e)||v)])])])])])}},Re=Le,He=(n("6ba6"),n("5efb")),ze=(n("3b18"),n("f64c")),Fe=(n("ab9e"),n("2c92")),Ie=(n("fbd6"),n("160c")),qe=(n("d88f"),n("fe2b")),We=(n("55ec"),n("a79d")),Be=n("41b2"),Ve=n.n(Be),Ue=(n("a7c9"),n("0464")),Ge=(n("9a33"),n("f933")),Ye={value:{type:String,default:null},list:{type:Array,default:null}},Qe="ant-pro-setting-drawer-block-checbox",Ze={props:Ye,inject:["locale"],render:function(e){var t=this,n=this.value,a=this.list,r=this.$props.i18nRender||this.locale||vt,o=a||[{key:"sidemenu",url:"https://gw.alipayobjects.com/zos/antfincdn/XwFOFbLkSM/LCkqqYNmvBEbokSDscrm.svg",title:r("app.setting.sidemenu")},{key:"topmenu",url:"https://gw.alipayobjects.com/zos/antfincdn/URETY8%24STp/KDNDBbriJhLwuqMoxcAr.svg",title:r("app.setting.topmenu")}],i=function(e){t.$emit("change",e)},s={cursor:"not-allowed"};return e("div",{class:Qe,key:n},[o.map((function(t){return e(Ge["a"],{attrs:{title:t.title},key:t.key},[e("div",{class:Qe+"-item",style:t.disable&&s,on:{click:function(){return!t.disable&&i(t.key)}}},[e("img",{attrs:{src:t.url,alt:t.key}}),e("div",{class:Qe+"-selectIcon",style:{display:n===t.key?"block":"none"}},[e(d["a"],{attrs:{type:"check"}})])])])}))])}},Je=Ze,Xe=n("92fa"),et=n.n(Xe),tt=(n("b0cc"),"theme-color"),nt={color:o["a"].string,check:o["a"].bool},at={props:nt,functional:!0,render:function(e,t){var n=t.props,a=n.color,r=n.check,o=t.data;return e("div",et()([o,{style:{backgroundColor:a}}]),[r?e(d["a"],{attrs:{type:"check"}}):null])}},rt={colors:o["a"].array,title:o["a"].string,value:o["a"].string,i18nRender:o["a"].func},ot={props:rt,inject:["locale"],render:function(e){var t=this,n=this.title,a=this.value,r=this.colors,o=void 0===r?[]:r,i=this.$props.i18nRender||this.locale||vt,s=function(e){t.$emit("change",e)};return e("div",{class:tt,ref:"ref"},[e("h3",{class:tt+"-title"},[n]),e("div",{class:tt+"-content"},[o.map((function(t){var n=pe(t.key),r=a===t.key||pe(a)===t.key;return e(Ge["a"],{key:t.color,attrs:{title:n?i("app.setting.themecolor."+n):t.key}},[e(at,{class:tt+"-block",attrs:{color:t.color,check:r},on:{click:function(){return s(t.key)}}})])}))])])}},it=ot,st=(n("2ef0f"),n("9839")),ct=function(e,t){var n=Ve()({},t.action);return e(Ge["a"],{attrs:{title:t.disabled?t.disabledReason:"",placement:"left"}},[e(qe["b"].Item,{attrs:{actions:[n]}},[e("span",{style:{opacity:t.disabled?.5:1}},[t.title])])])},dt={contentWidth:o["a"].bool,fixedHeader:o["a"].bool,fixSiderbar:o["a"].bool,layout:o["a"].oneOf(["sidemenu","topmenu"])},lt={props:dt,inject:["locale"],render:function(e){var t=this,n=this.$props.i18nRender||this.locale||vt,a=this.contentWidth,r=this.fixedHeader,o=this.layout,i=this.fixSiderbar,s=function(e,n){t.$emit("change",{type:e,value:n})};return e(qe["b"],{attrs:{split:!1,dataSource:[{title:n("app.setting.content-width"),action:e(st["c"],{attrs:{value:a?"Fixed":"Fluid",size:"small"},on:{select:function(e){return s("contentWidth",e)}},style:{width:"80px"}},["sidemenu"===o?null:e(st["c"].Option,{attrs:{value:"Fixed"}},[n("app.setting.content-width.fixed")]),e(st["c"].Option,{attrs:{value:"Fluid"}},[n("app.setting.content-width.fluid")])])},{title:n("app.setting.fixedheader"),action:e(Ie["a"],{attrs:{size:"small",checked:!!r},on:{change:function(e){return s("fixedHeader",e)}}})},{title:n("app.setting.fixedsidebar"),disabled:"topmenu"===o,disabledReason:n("app.setting.fixedsidebar.hint"),action:e(Ie["a"],{attrs:{size:"small",disabled:"topmenu"===o,checked:!!i},on:{change:function(e){return s("fixSiderbar",e)}}})}],renderItem:function(t,n){return ct(e,t)}}})}},ut=(n("cb29"),n("a15b"),n("ac1f"),n("5319"),n("6a71"),n("7746"),function(e){}),pt=function(e){var t=document.body.querySelector("#app");e?t.classList.add("colorWeak"):t.classList.remove("colorWeak")},ht=n("b384"),mt=n.n(ht),ft="ant-pro-setting-drawer",gt={title:{type:String,default:""}},bt={props:gt,render:function(e){var t=this.title;return e("div",{style:{marginBottom:24}},[e("h3",{class:ft+"-title"},[t]),this.$slots["default"]])}},vt=function(e){return e},yt=function(e){var t=window.umi_plugin_ant_themeVar||[],n=[{key:"light",url:"https://gw.alipayobjects.com/zos/antfincdn/NQ%24zoisaD2/jpRkZQMyYRryryPNtyIC.svg",title:e("app.setting.pagestyle.light")},{key:"dark",url:"https://gw.alipayobjects.com/zos/antfincdn/XwFOFbLkSM/LCkqqYNmvBEbokSDscrm.svg",title:e("app.setting.pagestyle.dark")}],a=[{key:"#1890ff",color:"#1890ff",theme:"dark"}],r=[{key:"#1890ff",color:"#1890ff",theme:"dark"}];return t.find((function(e){return"dark"===e.theme}))&&n.push({disable:!0,key:"realDark",url:"https://gw.alipayobjects.com/zos/antfincdn/hmKaLQvmY2/LCkqqYNmvBEbokSDscrm.svg",title:e("app.setting.pagestyle.realdark")}),t.forEach((function(e){var t=(e.modifyVars||{})["@primary-color"];"dark"===e.theme&&t&&a.push(Ve()({color:t},e)),e.theme&&"light"!==e.theme||r.push(Ve()({color:t},e))})),{colorList:{dark:a,light:r},themeList:n}},kt=function(e,t,n){"primaryColor"===e&&ut(t),"colorWeak"===e&&pt(t)},xt=function(e){return JSON.stringify(Object(Ue["a"])(Ve()({},e,{primaryColor:he(e.primaryColor)}),["colorWeak"]),null,2)},Ot={theme:o["a"].oneOf(["dark","light","realDark"]),primaryColor:o["a"].string,layout:o["a"].oneOf(["sidemenu","topmenu"]),colorWeak:o["a"].bool,contentWidth:o["a"].bool,fixedHeader:o["a"].bool,fixSiderbar:o["a"].bool,hideHintAlert:o["a"].bool.def(!1),hideCopyButton:o["a"].bool.def(!1)},wt={getContainer:o["a"].func,settings:o["a"].objectOf(Ot)},jt={name:"SettingDrawer",props:wt,inject:["locale"],data:function(){return{show:!1}},render:function(e){var t=this,n=this.setShow,a=this.getContainer,r=this.settings,o=r.theme,i=void 0===o?"dark":o,s=r.primaryColor,c=void 0===s?"daybreak":s,l=r.layout,u=void 0===l?"sidemenu":l,p=r.fixedHeader,h=void 0!==p&&p,m=r.fixSiderbar,f=void 0!==m&&m,g=r.contentWidth,b=void 0!==g&&g,v=r.hideHintAlert,y=r.hideCopyButton,k=r.colorWeak,x=this.$props.i18nRender||this.locale,O=yt(x),j="topmenu"===u,C={color:"#fff",fontSize:20},_=function(e,n){t.$emit("change",{type:e,value:n}),kt(e,n,!1)};return e(w["a"],{attrs:{visible:this.show,width:300,placement:"right",getContainer:a},on:{close:function(){return n(!1)}},style:{zIndex:999}},[e("template",{slot:"handle"},[e("div",{class:ft+"-handle",on:{click:function(){return n(!t.show)}}},[this.show?e(d["a"],{attrs:{type:"close"},style:C}):e(d["a"],{attrs:{type:"setting"},style:C})])]),e("div",{class:ft+"-content"},[e(bt,{attrs:{title:x("app.setting.pagestyle")}},[e(Je,{attrs:{list:O.themeList,value:i},on:{change:function(e){_("theme",e)}}})]),e(it,{attrs:{title:x("app.setting.themecolor"),value:c,colors:O.colorList["realDark"===i?"dark":"light"]},on:{change:function(e){_("primaryColor",e,null)}}}),e(We["a"]),e(bt,{attrs:{title:x("app.setting.navigationmode")}},[e(Je,{attrs:{value:u},on:{change:function(e){_("layout",e,null)}}})]),e(lt,{attrs:{contentWidth:b,fixedHeader:h,fixSiderbar:!j&&f,layout:u},on:{change:function(e){var t=e.type,n=e.value;_(t,n)}}}),e(We["a"]),e(bt,{attrs:{title:x("app.setting.othersettings")}},[e(qe["b"],{attrs:{split:!1,renderItem:function(t){return ct(e,t)},dataSource:[{title:x("app.setting.weakmode"),action:e(Ie["a"],{attrs:{size:"small",checked:!!k},on:{change:function(e){return _("colorWeak",e)}}})}]}})]),v&&y?null:e(We["a"]),v?null:e(Fe["a"],{attrs:{type:"warning",message:x("app.setting.production.hint"),icon:e(d["a"],{attrs:{type:"notification"}}),showIcon:!0},style:{marginBottom:"16px"}}),y?null:e(mt.a,{attrs:{text:xt(r)},on:{copy:function(){return ze["a"].success(x("app.setting.copyinfo"))}}},[e(He["a"],{attrs:{block:!0}},[e(d["a"],{attrs:{type:"copy"}}),x("app.setting.copy")])])])])},methods:{setShow:function(e){this.show=e}}},Ct=jt;t["e"]=Re},"524c":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1599549785172",class:"icon",viewBox:"0 0 1102 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"3880",width:"500",height:"500"},children:[{tag:"path",attrsMap:{d:"M601.245538 272.147692l154.624 448.984616 55.217231 28.041846c36.312615 17.959385 76.878769 3.938462 87.827693-30.168616l33.083076-57.028923 163.209847-314.840615c17.486769-36.548923 3.465846-77.193846-30.404923-88.379077L544.768 19.298462C510.739692 8.270769 460.8-5.12 420.548923 8.979692l-119.729231 47.261539 192.827077 77.981538c36.076308 18.038154 79.399385 56.32 107.598769 137.924923z m122.249847 519.483077L538.702769 254.424615c-11.657846-33.949538-41.590154-76.957538-75.618461-88.142769L234.023385 70.183385a84.913231 84.913231 0 0 0-94.28677 32.610461L11.500308 321.851077c-19.928615 29.696-10.24 79.714462 1.496615 113.664l184.871385 537.284923c5.041231 36.312615 32.295385 49.782154 72.62523 35.84h-0.157538l418.028308-143.911385c33.634462-11.657846 46.946462-39.148308 35.131077-73.097846z m-448.196923-453.868307a50.648615 50.648615 0 0 1-64.196924-31.507693c-9.846154-28.829538 2.599385-54.508308 31.192616-64.275692 28.514462-9.846154 54.193231 2.756923 64.039384 31.507692a50.412308 50.412308 0 0 1-31.035076 64.275693z","p-id":"3881"}}]})}},"559f":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1595300943273",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"997",width:"500",height:"500"},children:[{tag:"path",attrsMap:{d:"M618.2 62c25.52958985 0 45.95976563 23.93964844 45.92988281 53.52011719 0 29.64023438-20.39941406 53.60976563-44.66953125 53.60976562H410.06005859c-25.47070313 0-45.9-24.00029297-45.9-53.60976562C364.15917969 85.93964844 384.55859375 62 410.06005859 62h208.1100586zM316.99970703 361.99970703h390.00058594a29.99970703 29.99970703 0 1 1 0 60.00029297H316.99970703a29.99970703 29.99970703 0 1 1 0-60.00029297z m0 180h390.00058594a29.99970703 29.99970703 0 1 1 0 60.00029297H316.99970703a29.99970703 29.99970703 0 1 1 0-60.00029297z m0 180h390.00058594a29.99970703 29.99970703 0 1 1 0 60.00029297H316.99970703a29.99970703 29.99970703 0 1 1 0-60.00029297zM739.82128906 122.00029297c0 65.99970703-12.06035156 101.81953125-75.96035156 101.81953125H360.13994141c-63.60029297 0-75.96035156-47.15947266-75.96035156-101.81953125h-101.25c-42.62958985 0-75.92958985 31.37958985-75.92958985 76.34970703v687.30029297c0 50.42988281 27.29970703 76.34970703 75.92958985 76.34970703h658.17070312c40.5 0 75.89970703-24.87041015 75.89970703-76.35058594V198.35087891c0-49.64941406-28.29023438-76.35058594-75.92958983-76.35058594h-101.25z","p-id":"998"}}]})}},"56d7":function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79df"),n("4de4"),n("d3b7"),n("4d90"),n("99af"),n("a4d3"),n("e01a"),n("b636"),n("dc8d"),n("efe9"),n("d28b"),n("2a1b"),n("80e0"),n("6b9e"),n("197b"),n("2351"),n("8172"),n("944a"),n("81b8"),n("a874"),n("cb29"),n("7db0"),n("c740"),n("0481"),n("5db7"),n("a630"),n("caad"),n("a15b"),n("d81d"),n("5ded"),n("fb6a"),n("4e82"),n("f785"),n("a434"),n("4069"),n("73d9"),n("c19f"),n("82da"),n("ace4"),n("efec"),n("b56e"),n("b0c0"),n("0c47"),n("4ec9"),n("5327"),n("79a8"),n("9ff9"),n("3ea3"),n("40d9"),n("ff9c"),n("0ac8"),n("f664"),n("4057"),n("bc01"),n("6b93"),n("ca21"),n("90d7"),n("2af1"),n("0261"),n("7898"),n("23dc"),n("b65f"),n("a9e3"),n("35b3"),n("f00c"),n("8ba4"),n("9129"),n("583b"),n("aff5"),n("e6e1"),n("c35a"),n("25eb"),n("b680"),n("12a8"),n("e71b"),n("4fadc"),n("dca8"),n("c1f9"),n("e439"),n("dbb4"),n("7039"),n("3410"),n("2b19"),n("c906"),n("e21d"),n("e43e"),n("b64b"),n("bf96"),n("5bf7"),n("cee8"),n("af93"),n("131a"),n("07ac"),n("a6fd"),n("4ae1"),n("3f3a"),n("ac16"),n("5d41"),n("9e4a"),n("7f78"),n("c760"),n("db96"),n("1bf2"),n("d6dd"),n("7ed3"),n("8b9a"),n("4d63"),n("ac1f"),n("5377"),n("25f0"),n("6062"),n("f5b2"),n("8a79"),n("f6d6"),n("2532"),n("3ca3"),n("466d"),n("843c"),n("d80f"),n("38cf"),n("5319"),n("841c"),n("1276"),n("2ca0"),n("498a"),n("1e25"),n("eee7"),n("18a5"),n("1393"),n("04d3"),n("cc71"),n("c7cd"),n("9767"),n("1913"),n("c5d0"),n("9911"),n("c96a"),n("2315"),n("4c53"),n("664f"),n("cfc3"),n("4a9b"),n("fd87"),n("8b09"),n("143c"),n("5cc6"),n("8a59"),n("84c3"),n("fb2c"),n("9a8c"),n("a975"),n("735e"),n("c1ac"),n("d139"),n("3a7b"),n("d5d6"),n("20bf"),n("82f8"),n("e91f"),n("60bd"),n("5f96"),n("3280"),n("3fcc"),n("ec97"),n("ca91"),n("25a1"),n("cd26"),n("3c5d"),n("2954"),n("649e"),n("219c"),n("170b"),n("b39a"),n("72f7"),n("10d1"),n("1fe2"),n("159b"),n("ddb0"),n("130f"),n("9f96"),n("2b3d"),n("bf19"),n("9861"),n("96cf");var a=n("2b0e"),r=function(){var e=this,t=e._self._c;return t("a-config-provider",{attrs:{locale:e.locale}},[t("div",{attrs:{id:"app"}},[t("router-view")],1)])},o=[],i=n("e819"),s=function(e){document.title=e;var t=navigator.userAgent,n=/\bMicroMessenger\/([\d\.]+)/;if(n.test(t)&&/ip(hone|od|ad)/i.test(t)){var a=document.createElement("iframe");a.src="/favicon.ico",a.style.display="none",a.onload=function(){setTimeout((function(){a.remove()}),9)},document.body.appendChild(a)}},c=(i["a"].title,n("bf0f")),d=n("b775");var l={data:function(){return{}},computed:{locale:function(){}}},u=l,p=n("2877"),h=Object(p["a"])(u,r,o,!1,null,null,null),m=h.exports,f=n("8c4f"),g=n("d73b"),b=f["a"].prototype.push;f["a"].prototype.push=function(e,t,n){return t||n?b.call(this,e,t,n):b.call(this,e).catch((function(e){return e}))},a["a"].use(f["a"]);var v=new f["a"]({mode:"hash",routes:g["b"]}),y=n("4360"),k=n("4ceb"),x={theme:[{key:"dark",fileName:"dark.css",theme:"dark"},{key:"#F5222D",fileName:"#F5222D.css",modifyVars:{"@primary-color":"#F5222D"}},{key:"#FA541C",fileName:"#FA541C.css",modifyVars:{"@primary-color":"#FA541C"}},{key:"#FAAD14",fileName:"#FAAD14.css",modifyVars:{"@primary-color":"#FAAD14"}},{key:"#13C2C2",fileName:"#13C2C2.css",modifyVars:{"@primary-color":"#13C2C2"}},{key:"#52C41A",fileName:"#52C41A.css",modifyVars:{"@primary-color":"#52C41A"}},{key:"#2F54EB",fileName:"#2F54EB.css",modifyVars:{"@primary-color":"#2F54EB"}},{key:"#722ED1",fileName:"#722ED1.css",modifyVars:{"@primary-color":"#722ED1"}},{key:"#F5222D",theme:"dark",fileName:"dark-#F5222D.css",modifyVars:{"@primary-color":"#F5222D"}},{key:"#FA541C",theme:"dark",fileName:"dark-#FA541C.css",modifyVars:{"@primary-color":"#FA541C"}},{key:"#FAAD14",theme:"dark",fileName:"dark-#FAAD14.css",modifyVars:{"@primary-color":"#FAAD14"}},{key:"#13C2C2",theme:"dark",fileName:"dark-#13C2C2.css",modifyVars:{"@primary-color":"#13C2C2"}},{key:"#52C41A",theme:"dark",fileName:"dark-#52C41A.css",modifyVars:{"@primary-color":"#52C41A"}},{key:"#2F54EB",theme:"dark",fileName:"dark-#2F54EB.css",modifyVars:{"@primary-color":"#2F54EB"}},{key:"#722ED1",theme:"dark",fileName:"dark-#722ED1.css",modifyVars:{"@primary-color":"#722ED1"}}]},O=n("8ded"),w=n.n(O),j=n("9fb0");function C(){y["a"].commit(j["i"],w.a.get(j["i"],i["a"].layout)),y["a"].commit(j["f"],w.a.get(j["f"],i["a"].fixedHeader)),y["a"].commit(j["g"],w.a.get(j["g"],i["a"].fixSiderbar)),y["a"].commit(j["e"],w.a.get(j["e"],i["a"].contentWidth)),y["a"].commit(j["h"],w.a.get(j["h"],i["a"].autoHideHeader)),y["a"].commit(j["l"],w.a.get(j["l"],i["a"].navTheme)),y["a"].commit(j["m"],w.a.get(j["m"],i["a"].colorWeak)),y["a"].commit(j["d"],w.a.get(j["d"],i["a"].primaryColor)),y["a"].commit(j["k"],w.a.get(j["k"],i["a"].multiTab)),y["a"].commit("SET_TOKEN",w.a.get(j["a"])),y["a"].dispatch("setLang",w.a.get(j["b"],"zh-CN"))}n("3c1f");var _=n("2f50"),M=(n("06f4"),n("fc25")),S=(n("68c7"),n("de1b")),K=(n("dc5a"),n("56cd")),E=(n("3b18"),n("f64c")),N=(n("17ac"),n("ff57")),A=(n("438c"),n("fbdf")),$=(n("7d24"),n("dfae")),P=(n("98a7"),n("7bec")),T=(n("bffa"),n("6634")),D=(n("e7c6"),n("a8ba")),L=(n("dd98"),n("3779")),R=(n("34c0"),n("9fd0")),H=(n("2a26"),n("768f")),z=(n("cc70"),n("1fd5")),F=(n("1273"),n("f2ca")),I=(n("eb14"),n("39ab")),q=(n("0025"),n("27ab")),W=(n("9980"),n("0bb7")),B=(n("55ec"),n("a79d")),V=(n("b97c"),n("7571")),U=(n("ab9e"),n("2c92")),G=(n("9a33"),n("f933")),Y=(n("6d2a"),n("9571")),Q=(n("fbd8"),n("55f1")),Z=(n("7f6b"),n("8592")),J=(n("b380"),n("bf7b")),X=(n("dd48"),n("2fc4")),ee=(n("af3d"),n("27fd")),te=(n("d88f"),n("fe2b")),ne=(n("9d5c"),n("a600")),ae=(n("5136"),n("681b")),re=(n("4a96"),n("a071")),oe=(n("8fb1"),n("0c63")),ie=(n("d13f"),n("ccb9")),se=(n("c68a"),n("0020")),ce=(n("cd17"),n("ed3b")),de=(n("0032"),n("e32c")),le=(n("de6a"),n("9a63")),ue=(n("f2ef"),n("3af3")),pe=(n("288f"),n("cdeb")),he=(n("2ef0f"),n("9839")),me=(n("ee00"),n("bb76")),fe=(n("5783"),n("59a5")),ge=(n("fbd6"),n("160c")),be=(n("6ba6"),n("5efb")),ve=(n("922d"),n("09d9")),ye=(n("5704"),n("b558")),ke=(n("1a62"),n("98c5")),xe=(n("d2a3"),n("4df5")),Oe=n("3654"),we=n("2638"),je=n.n(we),Ce=n("15fd"),_e=n("5530"),Me=n("ade3"),Se=n("d96e"),Ke=n.n(Se),Ee=n("bdf5"),Ne=n("3593"),Ae=n("4d91"),$e=n("daa3"),Pe=n("7b05"),Te=n("9cba"),De=(n("b2a3"),n("d6e0"),["on","slots","scopedSlots","class","style"]);function Le(){return{showLine:Ae["a"].bool,multiple:Ae["a"].bool,autoExpandParent:Ae["a"].bool,checkStrictly:Ae["a"].bool,checkable:Ae["a"].bool,disabled:Ae["a"].bool,defaultExpandAll:Ae["a"].bool,defaultExpandParent:Ae["a"].bool,defaultExpandedKeys:Ae["a"].array,expandedKeys:Ae["a"].array,checkedKeys:Ae["a"].oneOfType([Ae["a"].array,Ae["a"].shape({checked:Ae["a"].array,halfChecked:Ae["a"].array}).loose]),defaultCheckedKeys:Ae["a"].array,selectedKeys:Ae["a"].array,defaultSelectedKeys:Ae["a"].array,selectable:Ae["a"].bool,filterAntTreeNode:Ae["a"].func,loadData:Ae["a"].func,loadedKeys:Ae["a"].array,draggable:Ae["a"].bool,showIcon:Ae["a"].bool,icon:Ae["a"].func,switcherIcon:Ae["a"].any,prefixCls:Ae["a"].string,filterTreeNode:Ae["a"].func,openAnimation:Ae["a"].any,treeNodes:Ae["a"].array,treeData:Ae["a"].array,replaceFields:Ae["a"].object,blockNode:Ae["a"].bool}}var Re={name:"ATree",model:{prop:"checkedKeys",event:"check"},props:Object($e["t"])(Le(),{checkable:!1,showIcon:!1,openAnimation:{on:Ne["a"],props:{appear:null}},blockNode:!1}),inject:{configProvider:{default:function(){return Te["a"]}}},created:function(){Ke()(!("treeNodes"in Object($e["l"])(this)),"`treeNodes` is deprecated. please use treeData instead.")},TreeNode:Ee["TreeNode"],methods:{renderSwitcherIcon:function(e,t,n){var a=n.isLeaf,r=n.expanded,o=n.loading,i=this.$createElement,s=this.$props.showLine;if(o)return i(oe["a"],{attrs:{type:"loading"},class:"".concat(e,"-switcher-loading-icon")});if(a)return s?i(oe["a"],{attrs:{type:"file"},class:"".concat(e,"-switcher-line-icon")}):null;var c="".concat(e,"-switcher-icon");return t?Object(Pe["a"])(t,{class:Object(Me["a"])({},c,!0)}):i(oe["a"],s?{attrs:{type:r?"minus-square":"plus-square",theme:"outlined"},class:"".concat(e,"-switcher-line-icon")}:{attrs:{type:"caret-down",theme:"filled"},class:c})},updateTreeData:function(e){var t=this,n=this.$slots,a=this.$scopedSlots,r={children:"children",title:"title",key:"key"},o=Object(_e["a"])(Object(_e["a"])({},r),this.$props.replaceFields);return e.map((function(e){var r=e[o.key],i=e[o.children],s=e.on,c=void 0===s?{}:s,d=e.slots,l=void 0===d?{}:d,u=e.scopedSlots,p=void 0===u?{}:u,h=e.class,m=e.style,f=Object(Ce["a"])(e,De),g=Object(_e["a"])(Object(_e["a"])({},f),{},{icon:a[p.icon]||n[l.icon]||f.icon,switcherIcon:a[p.switcherIcon]||n[l.switcherIcon]||f.switcherIcon,title:a[p.title]||n[l.title]||f[o.title],dataRef:e,on:c,key:r,class:h,style:m});return i?Object(_e["a"])(Object(_e["a"])({},g),{},{children:t.updateTreeData(i)}):g}))},getCheckedKeys:function(){return this.$refs.tree.getCheckedKeys()},clearExpandedKeys:function(){return this.$refs.tree.clearExpandedKeys()},getHalfCheckedKeys:function(){return this.$refs.tree.getHalfCheckedKeys()}},render:function(){var e,t=this,n=arguments[0],a=Object($e["l"])(this),r=this.$slots,o=this.$scopedSlots,i=a.prefixCls,s=a.showIcon,c=a.treeNodes,d=a.blockNode,l=this.configProvider.getPrefixCls,u=l("tree",i),p=Object($e["g"])(this,"switcherIcon"),h=a.checkable,m=a.treeData||c;m&&(m=this.updateTreeData(m));var f={props:Object(_e["a"])(Object(_e["a"])({},a),{},{prefixCls:u,checkable:h?n("span",{class:"".concat(u,"-checkbox-inner")}):h,children:Object($e["c"])(o.default?o.default():r.default),__propsSymbol__:Symbol(),switcherIcon:function(e){return t.renderSwitcherIcon(u,p,e)}}),on:Object($e["k"])(this),ref:"tree",class:(e={},Object(Me["a"])(e,"".concat(u,"-icon-hide"),!s),Object(Me["a"])(e,"".concat(u,"-block-node"),d),e)};return m&&(f.props.treeData=m),n(Ee["Tree"],je()([{},f]))}},He=n("2909"),ze=n("0464"),Fe=n("b047"),Ie=n.n(Fe),qe=n("6a21"),We=n("d22e"),Be={None:"node",Start:"start",End:"end"};function Ve(e,t){var n=Object(We["j"])(e)||[];function a(e){var n=e.key,a=Object($e["p"])(e).default;!1!==t(n,e)&&Ve("function"===typeof a?a():a,t)}n.forEach(a)}function Ue(e){var t=Object(We["h"])(e),n=t.keyEntities;return Object(He["a"])(n.keys())}function Ge(e,t,n,a){var r=[],o=Be.None;if(n&&n===a)return[n];if(!n||!a)return[];function i(e){return e===n||e===a}return Ve(e,(function(e){if(o===Be.End)return!1;if(i(e)){if(r.push(e),o===Be.None)o=Be.Start;else if(o===Be.Start)return o=Be.End,!1}else o===Be.Start&&r.push(e);return-1!==t.indexOf(e)})),r}function Ye(e,t){var n=Object(He["a"])(t),a=[];return Ve(e,(function(e,t){var r=n.indexOf(e);return-1!==r&&(a.push(t),n.splice(r,1)),!!n.length})),a}function Qe(e){var t=[];return(e||[]).forEach((function(e){t.push(e.key),e.children&&(t=[].concat(Object(He["a"])(t),Object(He["a"])(Qe(e.children))))})),t}var Ze=n("b488"),Je=["prefixCls"];function Xe(e,t){var n=e.isLeaf,a=e.expanded;return t(oe["a"],n?{attrs:{type:"file"}}:{attrs:{type:a?"folder-open":"folder"}})}var et={name:"ADirectoryTree",mixins:[Ze["a"]],model:{prop:"checkedKeys",event:"check"},props:Object($e["t"])(Object(_e["a"])(Object(_e["a"])({},Le()),{},{expandAction:Ae["a"].oneOf([!1,"click","doubleclick","dblclick"])}),{showIcon:!0,expandAction:"click"}),inject:{configProvider:{default:function(){return Te["a"]}}},data:function(){var e=Object($e["l"])(this),t=e.defaultExpandAll,n=e.defaultExpandParent,a=e.expandedKeys,r=e.defaultExpandedKeys,o=Object(We["h"])(this.$slots.default),i=o.keyEntities,s={};return s._selectedKeys=e.selectedKeys||e.defaultSelectedKeys||[],t?e.treeData?s._expandedKeys=Qe(e.treeData):s._expandedKeys=Ue(this.$slots.default):s._expandedKeys=n?Object(We["f"])(a||r,i):a||r,this.onDebounceExpand=Ie()(this.expandFolderNode,200,{leading:!0}),Object(_e["a"])({_selectedKeys:[],_expandedKeys:[]},s)},watch:{expandedKeys:function(e){this.setState({_expandedKeys:e})},selectedKeys:function(e){this.setState({_selectedKeys:e})}},methods:{onExpand:function(e,t){this.setUncontrolledState({_expandedKeys:e}),this.$emit("expand",e,t)},onClick:function(e,t){var n=this.$props.expandAction;"click"===n&&this.onDebounceExpand(e,t),this.$emit("click",e,t)},onDoubleClick:function(e,t){var n=this.$props.expandAction;"dblclick"!==n&&"doubleclick"!==n||this.onDebounceExpand(e,t),this.$emit("doubleclick",e,t),this.$emit("dblclick",e,t)},onSelect:function(e,t){var n,a=this.$props.multiple,r=this.$slots.default||[],o=this.$data._expandedKeys,i=void 0===o?[]:o,s=t.node,c=t.nativeEvent,d=s.eventKey,l=void 0===d?"":d,u={},p=Object(_e["a"])(Object(_e["a"])({},t),{},{selected:!0}),h=c.ctrlKey||c.metaKey,m=c.shiftKey;a&&h?(n=e,this.lastSelectedKey=l,this.cachedSelectedKeys=n,p.selectedNodes=Ye(r,n)):a&&m?(n=Array.from(new Set([].concat(Object(He["a"])(this.cachedSelectedKeys||[]),Object(He["a"])(Ge(r,i,l,this.lastSelectedKey))))),p.selectedNodes=Ye(r,n)):(n=[l],this.lastSelectedKey=l,this.cachedSelectedKeys=n,p.selectedNodes=[t.node]),u._selectedKeys=n,this.$emit("update:selectedKeys",n),this.$emit("select",n,p),this.setUncontrolledState(u)},expandFolderNode:function(e,t){var n=t.isLeaf;if(!(n||e.shiftKey||e.metaKey||e.ctrlKey)&&this.$refs.tree.$refs.tree){var a=this.$refs.tree.$refs.tree;a.onNodeExpand(e,t)}},setUncontrolledState:function(e){var t=Object(ze["a"])(e,Object.keys(Object($e["l"])(this)).map((function(e){return"_".concat(e)})));Object.keys(t).length&&this.setState(t)}},render:function(){var e=arguments[0],t=Object($e["l"])(this),n=t.prefixCls,a=Object(Ce["a"])(t,Je),r=this.configProvider.getPrefixCls,o=r("tree",n),i=this.$data,s=i._expandedKeys,c=i._selectedKeys,d=Object($e["k"])(this);Object(qe["a"])(!d.doubleclick,"`doubleclick` is deprecated. please use `dblclick` instead.");var l={props:Object(_e["a"])(Object(_e["a"])({icon:Xe},a),{},{prefixCls:o,expandedKeys:s,selectedKeys:c,switcherIcon:Object($e["g"])(this,"switcherIcon")}),ref:"tree",class:"".concat(o,"-directory"),on:Object(_e["a"])(Object(_e["a"])({},Object(ze["a"])(d,["update:selectedKeys"])),{},{select:this.onSelect,click:this.onClick,dblclick:this.onDoubleClick,expand:this.onExpand})};return e(Re,je()([{},l]),[this.$slots.default])}},tt=n("db14");Re.TreeNode.name="ATreeNode",Re.DirectoryTree=et,Re.install=function(e){e.use(tt["a"]),e.component(Re.name,Re),e.component(Re.TreeNode.name,Re.TreeNode),e.component(et.name,et)};var nt=Re,at=n("4eb5"),rt=n.n(at),ot=n("1d4b"),it={name:"PageLoading",props:{tip:{type:String,default:"Loading.."},size:{type:String,default:"large"}},render:function(){var e=arguments[0],t={textAlign:"center",background:"rgba(0,0,0,0.6)",position:"fixed",top:0,bottom:0,left:0,right:0,zIndex:1100},n={position:"absolute",left:"50%",top:"40%",transform:"translate(-50%, -50%)"};return e("div",{style:t},[e(Z["a"],{attrs:{size:this.size,tip:this.tip},style:n})])}},st="0.0.1",ct={newInstance:function(e,t){var n=document.querySelector("body>div[type=loading]");n||(n=document.createElement("div"),n.setAttribute("type","loading"),n.setAttribute("class","ant-loading-wrapper"),document.body.appendChild(n));var a=Object.assign({visible:!1,size:"large",tip:"Loading..."},t),r=new e({data:function(){return Object(_e["a"])({},a)},render:function(){var e=arguments[0],t=this.tip,n={};return this.tip&&(n.tip=t),this.visible?e(it,{props:Object(_e["a"])({},n)}):null}}).$mount(n);function o(e){var t=Object(_e["a"])(Object(_e["a"])({},a),e),n=t.visible,o=t.size,i=t.tip;r.$set(r,"visible",n),i&&r.$set(r,"tip",i),o&&r.$set(r,"size",o)}return{instance:r,update:o}}},dt={show:function(e){this.instance.update(Object(_e["a"])(Object(_e["a"])({},e),{},{visible:!0}))},hide:function(){this.instance.update({visible:!1})}},lt=function(e,t){e.prototype.$loading||(dt.instance=ct.newInstance(e,t),e.prototype.$loading=dt)},ut={version:st,install:lt},pt=n("3835"),ht={add:{key:"add",label:"新增"},delete:{key:"delete",label:"删除"},edit:{key:"edit",label:"修改"},query:{key:"query",label:"查询"},get:{key:"get",label:"详情"},enable:{key:"enable",label:"启用"},disable:{key:"disable",label:"禁用"},import:{key:"import",label:"导入"},export:{key:"export",label:"导出"}};function mt(e){mt.installed||(!e.prototype.$auth&&Object.defineProperties(e.prototype,{$auth:{get:function(){var e=this;return function(t){var n=t.split("."),a=Object(pt["a"])(n,2),r=a[0],o=a[1],i=e.$store.getters.roles;if(i.isSuper)return!0;var s=i.permissions.find((function(e){return e.permissionId===r}));return!!s&&(void 0===o||s.actionList.findIndex((function(e){return e===o}))>-1)}}}}),!e.prototype.$enum&&Object.defineProperties(e.prototype,{$enum:{get:function(){return function(e){var t=ht;return e&&e.split(".").forEach((function(e){t=t&&t[e]||null})),t}}}}))}var ft=mt;a["a"].directive("action",{inserted:function(e,t,n){var a=t.arg,r=y["a"].getters.roles;if(!r.isSuper){var o=n.context.$route.meta.permission,i=o instanceof String&&[o]||o;r.permissions.forEach((function(t){i.includes(t.permissionId)&&t.actionList&&!t.actionList.includes(a)&&(e.parentNode&&e.parentNode.removeChild(e)||(e.style.display="none"))}))}}});a["a"].use(xe["a"]),a["a"].use(ke["a"]),a["a"].use(ye["a"]),a["a"].use(ve["a"]),a["a"].use(be["a"]),a["a"].use(ge["a"]),a["a"].use(fe["a"]),a["a"].use(me["a"]),a["a"].use(he["c"]),a["a"].use(pe["a"]),a["a"].use(ue["a"]),a["a"].use(le["a"]),a["a"].use(de["a"]),a["a"].use(ce["a"]),a["a"].use(se["a"]),a["a"].use(ie["a"]),a["a"].use(oe["a"]),a["a"].use(re["a"]),a["a"].use(ae["a"]),a["a"].use(ne["a"]),a["a"].use(te["b"]),a["a"].use(ee["a"]),a["a"].use(X["a"]),a["a"].use(J["a"]),a["a"].use(Z["a"]),a["a"].use(Q["a"]),a["a"].use(Y["a"]),a["a"].use(G["a"]),a["a"].use(U["a"]),a["a"].use(V["a"]),a["a"].use(B["a"]),a["a"].use(W["a"]),a["a"].use(q["a"]),a["a"].use(I["a"]),a["a"].use(F["a"]),a["a"].use(z["a"]),a["a"].use(H["a"]),a["a"].use(R["a"]),a["a"].use(L["a"]),a["a"].use(D["a"]),a["a"].use(T["a"]),a["a"].use(P["a"]),a["a"].use($["a"]),a["a"].use(A["a"]),a["a"].use(N["a"]),a["a"].prototype.$confirm=ce["a"].confirm,a["a"].prototype.$message=E["a"],a["a"].prototype.$notification=K["a"],a["a"].prototype.$info=ce["a"].info,a["a"].prototype.$success=ce["a"].success,a["a"].prototype.$error=ce["a"].error,a["a"].prototype.$warning=ce["a"].warning,rt.a.config.autoSetContainer=!0,a["a"].use(Oe["a"]),a["a"].use(ot["a"]),a["a"].use(ut),a["a"].use(ft),a["a"].use(rt.a),a["a"].use(S["a"]),a["a"].use(M["a"]),a["a"].use(_["a"]),a["a"].use(nt);var gt=n("323e"),bt=n.n(gt),vt=(n("fddb"),n("ca00"));bt.a.configure({showSpinner:!1});var yt="/passport/login",kt="/pay",xt=[yt,kt],Ot="/";v.beforeEach((function(e,t,n){bt.a.start(),e.meta&&"undefined"!==typeof e.meta.title&&s("".concat(Object(c["b"])(e.meta.title)));var a=e.query;e.path===yt&&a["superLogin"]&&y["a"].dispatch("SuperLogin",{userId:a["userId"],token:a["token"]}),w.a.get(j["a"])?e.path===yt?(n({path:Ot}),bt.a.done()):Object(vt["e"])(y["a"].getters.roles)?y["a"].dispatch("GetInfo").then((function(a){var r=a.roles;y["a"].dispatch("GenerateRoutes",{roles:r}).then((function(a){v.addRoutes(a);var r=decodeURIComponent(t.query.redirect||e.path);e.path===r?n(Object(_e["a"])(Object(_e["a"])({},e),{},{replace:!0})):n({path:r})}))})).catch((function(){K["a"].error({message:"错误",description:"请求用户信息失败,请重试"}),y["a"].dispatch("Logout").then((function(){n({path:yt,query:{redirect:e.fullPath}})}))})):n():xt.includes(e.path)?n():(n({path:yt,query:{redirect:e.fullPath}}),bt.a.done())})),v.afterEach((function(){bt.a.done()}));var wt=n("c1df"),jt=n.n(wt);n("5c3a");jt.a.locale("zh-cn"),a["a"].filter("NumberFormat",(function(e){if(!e)return"0";var t=e.toString().replace(/(\d)(?=(?:\d{3})+$)/g,"$1,");return t})),a["a"].filter("dayjs",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";return jt()(e).format(t)})),a["a"].filter("moment",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";return jt()(e).format(t)}));n("861f");a["a"].config.productionTip=!1,a["a"].use(d["a"]),a["a"].component("pro-layout",k["e"]),a["a"].component("page-header-wrapper",k["b"]),a["a"].filter("dateFormat",(function(e){if(!e)return"";var t=new Date(1e3*e),n=t.getFullYear(),a=(t.getMonth()+1+"").padStart(2,"0"),r=(t.getDate()+"").padStart(2,"0"),o=(t.getHours()+"").padStart(2,"0"),i=(t.getMinutes()+"").padStart(2,"0"),s=(t.getSeconds()+"").padStart(2,"0");return"".concat(n,"-").concat(a,"-").concat(r," ").concat(o,":").concat(i,":").concat(s)})),window.umi_plugin_ant_themeVar=x.theme,new a["a"]({router:v,store:y["a"],i18n:c["a"],created:C,render:function(e){return e(m)}}).$mount("#app")},5805:function(e,t,n){},"5b96":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1592810676056",class:"icon",viewBox:"0 0 1112 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5986","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"542.96875",height:"500"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M1103.626164 714.111047c0-18.548339-18.548339-37.096678-27.822508-37.096677-27.822508 0-55.645017-27.822508-55.645017-55.645017 0-9.274169 0-18.548339 9.274169-18.548339 9.274169-18.548339 0-37.096678-18.548338-46.370847l-64.919187-37.096678c-18.548339-9.274169-37.096678 0-46.370847 9.274169-9.274169 0-37.096678 18.548339-46.370847 18.548339-18.548339 0-37.096678-18.548339-46.370847-27.822508-9.274169-9.274169-27.822508-9.274169-46.370847-9.274169l-64.919187 37.096677c-18.548339 18.548339-27.822508 37.096678-18.548338 55.645017 0 9.274169 0 18.548339 9.274169 18.548339 0 27.822508-27.822508 55.645017-55.645017 55.645017-18.548339 0-27.822508 9.274169-27.822508 37.096677 0 0-9.274169 27.822508-9.274169 55.645017s9.274169 46.370847 9.274169 55.645017c0 18.548339 18.548339 37.096678 27.822508 37.096677 27.822508 0 55.645017 27.822508 55.645017 55.645017 0 9.274169 0 18.548339-9.274169 18.548339-9.274169 18.548339 0 37.096678 18.548338 46.370847l64.919187 37.096678c18.548339 9.274169 37.096678 0 46.370847-9.274169 9.274169-9.274169 27.822508-27.822508 46.370847-27.822509s37.096678 18.548339 46.370847 27.822509c9.274169 9.274169 27.822508 9.274169 46.370847 9.274169l64.919187-37.096678c18.548339-9.274169 18.548339-27.822508 9.274169-46.370847 0-9.274169 0-18.548339-9.274169-18.548339 0-27.822508 27.822508-55.645017 55.645016-55.645017 18.548339 0 27.822508-9.274169 27.822509-37.096677 0 0 9.274169-27.822508 9.274169-55.645017 9.274169-27.822508 0-55.645017 0-55.645017zM853.223589 862.497758c-55.645017 0-92.741694-46.370847-92.741694-102.015863s37.096678-102.015864 92.741694-102.015864 92.741694 46.370847 92.741694 102.015864-46.370847 102.015864-92.741694 102.015863zM686.288539 472.982642c-92.741694 46.370847-148.386711 129.838372-166.93505 231.854236s9.274169 204.031728 74.193356 287.499253H92.741694c-55.645017 0-92.741694-37.096678-92.741694-83.467525v-27.822509c0-46.370847 37.096678-92.741694 83.467525-111.290033L278.225083 686.288539s55.645017-18.548339 64.919186-37.096678c9.274169-9.274169 9.274169-46.370847 0-74.193355-18.548339-18.548339-111.290033-148.386711-111.290033-259.676745C231.854236 139.112542 343.144269 0 482.256811 0c139.112542 0 250.402575 139.112542 250.402575 315.321761 0 55.645017-18.548339 111.290033-46.370847 157.660881z","p-id":"5987"}}]})}},6052:function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1634495198314",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"3933",width:"200",height:"200"},children:[{tag:"path",attrsMap:{d:"M780.56106667 999.0144H244.80426667c-121.6512 0-220.22826667-98.57706667-220.22826667-220.22826668V243.02933332c0-121.6512 98.57706667-220.22826667 220.22826667-220.22826664h535.7568c121.6512 0 220.22826667 98.57706667 220.22826666 220.22826664v535.7568c0 121.6512-98.57706667 220.22826667-220.22826666 220.22826668z",fill:"#009CF5","p-id":"3934"}},{tag:"path",attrsMap:{d:"M530.97813333 591.4624h-107.17866666l80.69120001-139.264 8.19199999-14.19946667 55.296-95.0272 10.6496-18.56853333 22.93760001-39.3216c10.10346667-17.2032 10.37653333-39.3216-1.09226668-55.56906668-9.8304-13.9264-23.89333333-19.52426668-37.81973333-19.52426665-16.384 0-32.3584 8.46506668-41.3696 23.7568l-8.19199999 14.47253333-8.46506668-14.47253333c-9.0112-15.29173333-25.12213333-23.7568-41.3696-23.7568-8.192 0-16.384 1.91146667-24.02986667 6.28053333-22.66453333 13.1072-30.44693333 42.46186667-17.2032 65.1264l35.6352 61.57653333-144.1792 248.76373335H219.81866667c-28.672 0.27306667-51.6096 25.66826668-47.10399999 55.56906664 3.54986668 23.48373332 25.53173333 39.86773333 49.28853332 39.86773335h36.18133333l110.31893334-0.27306667h220.22826666c4.096 0 8.192-1.77493333 10.64959999-5.05173333 12.56106667-16.7936 21.84533333-42.87146668-8.87466664-69.76853334-16.24746667-14.336-37.95626668-20.61653333-59.52853335-20.61653333z",fill:"#FFFFFF","p-id":"3935"}},{tag:"path",attrsMap:{d:"M803.49866667 591.18933333h-91.7504L589.0048 379.42613332c-2.18453333-3.6864-7.09973333-4.9152-10.51306668-2.4576-17.2032 12.42453332-27.30666667 29.76426667-32.49493332 48.87893336-8.73813332 32.22186667-1.50186667 66.7648 15.1552 95.70986665l26.35093333 45.73866667 13.9264 24.30293333 55.296 95.30026667 5.7344 9.55733332 53.11146667 91.75040001c9.0112 15.29173333 24.84906667 23.7568 41.09653332 23.75679999 8.192 0 16.65706667-2.18453333 24.30293336-6.55359999 22.66453333-13.1072 30.44693333-42.1888 17.2032-65.1264l-30.99306668-53.65760001h38.63893332c28.672 0 51.47306668-25.94133332 46.83093335-55.84213332-3.82293332-23.3472-25.53173333-39.59466667-49.152-39.59466667zM306.7904 699.32373333c-16.7936-6.82666667-32.63146667-6.00746668-45.32906668-2.4576-6.9632 1.91146667-12.6976 6.69013333-16.24746664 12.83413335l-17.74933335 30.31039999c-13.38026668 22.9376-5.46133333 52.0192 17.2032 65.1264 7.64586667 4.36906667 16.11093332 6.5536 24.30293334 6.55360001 16.384 0 32.08533332-8.46506668 40.82346666-23.75680001l20.20693335-34.816c4.9152-8.6016 5.87093333-18.97813333 2.18453332-28.12586667-4.096-10.24-11.74186667-20.0704-25.3952-25.66826667z",fill:"#FFFFFF","p-id":"3936"}}]})}},"60fa":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1600756394501",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5021",width:"500",height:"500"},children:[{tag:"path",attrsMap:{d:"M9.728 584.192c0-34.816 27.648-62.464 63.488-62.464h124.416c34.816 0 63.488 28.672 63.488 62.464v377.344c0 34.816-27.648 62.464-63.488 62.464H73.216c-34.816 0-63.488-28.672-63.488-62.464v-377.344z m753.664-250.88c0-34.816 27.648-62.976 63.488-62.976h124.416c34.816 0 63.488 28.672 63.488 62.976v627.712c0 34.816-27.648 62.976-63.488 62.976h-124.416c-34.816 0-63.488-28.672-63.488-62.976V333.312zM374.784 64C374.784 28.672 402.944 0 439.296 0h126.976c35.84 0 64.512 28.672 64.512 64v896c0 35.328-28.16 64-64.512 64H439.296c-35.84 0-64.512-28.672-64.512-64v-896z","p-id":"5022"}}]})}},"613a":function(e,t,n){},"6fb3":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1625710316933",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"21058",width:"200",height:"200"},children:[{tag:"path",attrsMap:{d:"M763.648 488.71466666L328.096 49.96266666c-9.696-9.696-25.824-9.696-35.488 0s-9.696 25.824 0 35.488l419.424 419.424-419.424 429.12c-9.696 9.696-9.696 25.824 0 35.488s25.824 9.696 35.488 0l435.552-445.248a25.28 25.28 0 0 0 0-35.488z",fill:"","p-id":"21059"}}]})}},7257:function(e,t,n){},"743d":function(e,t,n){"use strict";n.r(t);var a=n("5530"),r=n("8b45"),o=n("0ff2"),i=n.n(o),s={antLocale:r["a"],momentName:"eu",momentLocale:i.a},c={message:"-","menu.home":"Home","menu.dashboard":"Dashboard","menu.dashboard.analysis":"Analysis","menu.dashboard.monitor":"Monitor","menu.dashboard.workplace":"Workplace","layouts.usermenu.dialog.title":"Message","layouts.usermenu.dialog.content":"Do you really log-out.","app.setting.pagestyle":"Page style setting","app.setting.pagestyle.light":"Light style","app.setting.pagestyle.dark":"Dark style","app.setting.pagestyle.realdark":"RealDark style","app.setting.themecolor":"Theme Color","app.setting.navigationmode":"Navigation Mode","app.setting.content-width":"Content Width","app.setting.fixedheader":"Fixed Header","app.setting.fixedsidebar":"Fixed Sidebar","app.setting.sidemenu":"Side Menu Layout","app.setting.topmenu":"Top Menu Layout","app.setting.content-width.fixed":"Fixed","app.setting.content-width.fluid":"Fluid","app.setting.othersettings":"Other Settings","app.setting.weakmode":"Weak Mode","app.setting.copy":"Copy Setting","app.setting.loading":"Loading theme","app.setting.copyinfo":"copy success,please replace defaultSettings in src/models/setting.js","app.setting.production.hint":"Setting panel shows in development environment only, please manually modify"};t["default"]=Object(a["a"])(Object(a["a"])({},s),c)},7620:function(e,t,n){},"7d57":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"1024",height:"1024",viewBox:"0 0 1024 1024"},children:[{tag:"title"},{tag:"g",attrsMap:{id:"icomoon-ignore"}},{tag:"path",attrsMap:{d:"M1024 854v6q0 44-22 82t-60 60-82 22h-696q-45 0-82.5-22t-59.5-60-22-82v-696q0-44 22-82t59.5-60 82.5-22h695q45 0 82.5 22t60 59.5 22.5 82.5v690M780 399q-29-30-63-55l-10-7q24-12 38-32t14-44.5-15-45.5-40-32.5-55-11.5q-19 0-37 6-7 2-13 6-1 1-4 0t-4-2q-7-11-21-23v0q-25-22-58-21.5t-58 21.5v0q-14 12-21 23-1 1-4 1.5t-4 0.5q-6-4-13-6-17-6-37-6-30 0-55 11.5t-40 32.5-15 45.5 14 44.5 38 32q-3 2-8 6l-2 1q-31 22-63 55-95 97-95 205 0 101 50 168 45 60 129 89 76 27 180 27h8q104 0 180-27 84-29 129-89 50-67 50-168 0-108-95-205M616 593h-75v29h55q12 0 20.5 8.5t8.5 20.5-8.5 20.5-20.5 8.5h-55v44q0 12-8.5 20.5t-20.5 8.5-20.5-8.5-8.5-20.5v-44h-58q-12 0-20.5-8.5t-8.5-20.5 8.5-20.5 20.5-8.5h58v-29h-75q-12 0-20.5-8.5t-8.5-20.5 8.5-20 20.5-8h34l-25-54q-9-9-9-21t8.5-20.5 20.5-8.5 21 9l54 83 58-83q9-9 21-9t20.5 8.5 8.5 20.5-9 21l-30 54h35q12 0 20 8t8.5 20-8 20.5-20.5 8.5z"}}]})}},"7e43":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1608212084627",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5849",width:"200",height:"200"},children:[{tag:"path",attrsMap:{d:"M512 0C229.216 0 0 229.216 0 512s229.216 512 512 512 512-229.216 512-512S794.784 0 512 0z m302.848 470.176a187.424 187.424 0 0 1-105.408 78.656c-1.664 0-1.664 0-3.328 1.664-6.72 1.696-13.376 3.36-21.76 3.36-31.808 0-48.512-21.76-40.16-46.848 6.72-18.4 25.088-35.136 46.848-41.824 35.136-13.376 58.56-41.824 58.56-75.296 0-45.184-43.52-81.984-97.024-81.984-53.568 0-97.088 36.8-97.088 81.984v249.28c0 60.224-35.136 112.128-86.976 142.24-28.448 16.704-61.92 25.088-97.056 25.088-102.08 0-184.064-75.264-184.064-167.328 0-30.112 8.384-56.896 23.424-81.984a187.296 187.296 0 0 1 105.408-78.656c8.384-1.696 15.04-3.328 23.424-3.328 31.808 0 48.512 21.728 40.16 46.848-6.72 18.368-23.424 33.44-43.52 41.792a12.8 12.8 0 0 0-6.688 3.328c-31.808 13.408-53.568 40.192-53.568 73.664 0 45.152 43.52 81.984 97.056 81.984s97.056-36.8 97.056-81.984v-249.312c0-60.224 35.136-112.096 87.008-142.208 28.416-16.736 61.888-25.088 97.024-25.088 102.08 0 184.064 75.264 184.064 167.296 0 26.784-8.384 53.568-23.424 78.656z","p-id":"5850"}}]})}},8477:function(e,t,n){"use strict";n("7620")},8484:function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1617674936203",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4263","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"200",height:"200"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M76.775946 12.60487h312.222181c42.48269 0 76.775946 33.781416 76.775946 76.775946v317.340577c0 42.48269-34.293256 76.775946-76.775946 76.775946h-312.222181c-42.48269 0-76.775946-33.781416-76.775946-76.775946v-317.340577c0-42.48269 34.293256-76.775946 76.775946-76.775946z",fill:"#FD4E45","p-id":"4264"}},{tag:"path",attrsMap:{d:"M76.775946 550.036493h312.222181c42.48269 0 76.775946 33.781416 76.775946 76.775946v317.340577c0 42.48269-34.293256 76.775946-76.775946 76.775946h-312.222181c-42.48269 0-76.775946-33.781416-76.775946-76.775946v-317.340577c0-42.48269 34.293256-76.775946 76.775946-76.775946z",fill:"#FF933D","p-id":"4265"}},{tag:"path",attrsMap:{d:"M515.422518 231.160397l220.091046-220.091046c14.84335-14.84335 39.923492-14.84335 54.766841 0.51184l222.138404 222.138404c15.355189 15.355189 15.355189 39.923492 0.51184 54.766841l-220.091046 220.091046c-14.84335 14.84335-39.923492 14.84335-54.766841-0.51184l-222.138404-222.138404c-15.355189-14.84335-15.355189-39.923492-0.51184-54.766841z",fill:"#12BC83","p-id":"4266"}},{tag:"path",attrsMap:{d:"M608.065493 550.036493h312.222181c42.48269 0 76.775946 33.781416 76.775946 76.775946v317.340577c0 42.48269-34.293256 76.775946-76.775946 76.775946h-312.222181c-42.48269 0-76.775946-33.781416-76.775946-76.775946v-317.340577c0-42.48269 34.293256-76.775946 76.775946-76.775946z",fill:"#2C97FE","p-id":"4267"}}]})}},"861f":function(e,t,n){},"8eeb4":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1591771112298",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"14907","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"500",height:"500"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M512 512m-512 0a512 512 0 1 0 1024 0 512 512 0 1 0-1024 0Z",fill:"#1890ff","p-id":"14908"}},{tag:"path",attrsMap:{d:"M328.192 748.288A44.288 44.288 0 0 1 284.032 704v-103.424a14.208 14.208 0 0 1 4.096-10.112 25.6 25.6 0 0 1 10.112-4.224 132.736 132.736 0 0 0 58.496 12.16c22.784 0 51.2-25.6 80.768-25.6 24.576 0 51.2 24.576 76.8 24.448s55.296-25.6 80.896-25.6c30.208 0 57.6 27.136 78.848 29.824 25.6 3.2 42.496-18.048 45.312-18.048a14.336 14.336 0 0 1 14.208 14.336V704a44.416 44.416 0 0 1-44.16 44.544H328.32z m23.296-190.08a100.736 100.736 0 0 1-44.288-9.472v-1.92h-3.712a101.12 101.12 0 0 1-52.224-88.704 102.4 102.4 0 0 1 4.736-31.616 18.304 18.304 0 0 1 0-1.92l48.384-115.2a50.048 50.048 0 0 1 49.92-33.152h316.288a52.48 52.48 0 0 1 51.2 34.304L767.232 422.4a11.776 11.776 0 0 1 0.768 2.304v1.152a99.328 99.328 0 0 1 4.864 30.976 101.248 101.248 0 0 1-52.352 88.96 102.4 102.4 0 0 1-125.056-24.448l-3.84-4.608-3.84 4.608a98.688 98.688 0 0 1-152.32 0l-3.84-4.48-3.84 4.48a100.096 100.096 0 0 1-76.8 36.096z m3.584-119.296a14.336 14.336 0 0 1 0-28.544h307.2a14.336 14.336 0 0 1 0 28.544z",fill:"#FFFFFF","p-id":"14909","data-spm-anchor-id":"a313x.7781069.0.i4",class:"selected"}}]})}},"90f3":function(e,t,n){},9868:function(e,t,n){"use strict";n("4077")},"9a93":function(e,t,n){},"9fb0":function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return r})),n.d(t,"j",(function(){return o})),n.d(t,"l",(function(){return i})),n.d(t,"i",(function(){return s})),n.d(t,"f",(function(){return c})),n.d(t,"g",(function(){return d})),n.d(t,"e",(function(){return l})),n.d(t,"h",(function(){return u})),n.d(t,"d",(function(){return p})),n.d(t,"m",(function(){return h})),n.d(t,"k",(function(){return m})),n.d(t,"b",(function(){return f}));var a="Access-Token",r="sidebar_type",o="is_mobile",i="nav_theme",s="layout",c="fixed_header",d="fixed_sidebar",l="content_width",u="auto_hide_header",p="color",h="weak",m="multi_tab",f="app_language"},a044:function(e,t,n){},a1d4:function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1592372316432",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5986","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"500",height:"500"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M590.624 950.496v-261.76h-156.928v262.016H201.44c-26.176 0-42.72-18.592-42.72-47.904 0-106.432 0.032-212.864-0.096-319.296 0-6.08 1.728-9.952 5.92-13.792 114.592-105.088 229.056-210.336 343.552-315.52 1.248-1.152 2.56-2.176 4.16-3.552l50.176 46.08c99.328 91.36 198.624 182.72 298.016 273.984a14.112 14.112 0 0 1 4.992 11.52c-0.096 107.552-0.032 215.136-0.096 322.688-0.032 26.272-17.056 45.632-40.448 45.696-76.672 0.16-153.312 0.064-229.984 0.064-1.184 0-2.4-0.128-4.224-0.256zM511.968 190.304l-113.472 105.472-307.584 285.824c-12.768 11.84-23.104 10.816-33.792-3.232-11.232-14.784-22.432-29.568-33.568-44.448-9.024-12.096-8.032-24.672 2.72-34.656 146.176-135.808 292.384-271.616 438.624-407.36 27.328-25.376 67.36-24.8 95.424 1.216 37.408 34.688 74.688 69.504 112.032 104.256l36 33.44v-8.512-90.208c0-17.312 6.88-24.96 22.464-24.96h110.4c17.6 0 24.096 7.168 24.096 26.688 0 88.672 0.064 145.824-0.128 234.496 0 6.112 1.76 9.984 5.856 13.76 42.24 38.88 84.352 77.92 126.496 116.928 10.816 9.984 12 22.4 3.008 34.56a3164.16 3164.16 0 0 1-35.104 46.592c-9.184 11.936-20.224 12.832-31.136 2.688l-279.232-259.616-139.392-129.6-3.712-3.264z","p-id":"5987"}}]})}},a7c9:function(e,t,n){},b0cc:function(e,t,n){},b775:function(e,t,n){"use strict";n.d(t,"a",(function(){return g})),n.d(t,"b",(function(){return m}));n("d3b7");var a=n("bc3a"),r=n.n(a),o=n("4360"),i=n("8ded"),s=n.n(i),c=n("56cd"),d=n("f64c"),l={vm:{},install:function(e,t){this.installed||(this.installed=!0,t&&(e.axios=t,Object.defineProperties(e.prototype,{axios:{get:function(){return t}},$http:{get:function(){return t}}})))}},u=n("ca00"),p=n("9fb0"),h=o["a"].getters.publicConfig,m=r.a.create({baseURL:h.BASE_API,timeout:6e4});m.interceptors.request.use((function(e){var t=s.a.get(p["a"]);return t&&(e.headers["Access-Token"]=t),e}));var f=!1;m.interceptors.response.use((function(e){var t=e.data;if(!Object(u["g"])(t)){var n={message:"服务端api返回的数据格式不正确"};return Promise.reject(n)}return 500===t.status?(d["a"].error(t.message,1.8),Promise.reject(t)):401===t.status?(f||(f=!0,o["a"].dispatch("Logout").then((function(){c["a"].error({key:"notLoggedMessage",message:"错误",description:t.message,duration:3}),setTimeout((function(){return window.location.reload()}),1500)}))),Promise.reject(t)):t}),(function(e){var t=((e.response||{}).data||{}).message||"请求出现错误,请稍后再试";return c["a"].error({message:"网络请求出错",description:t,duration:3}),Promise.reject(e)}));var g={vm:{},install:function(e){e.use(l,m)}}},ba93:function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1611452084144",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"18462","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"200",height:"200"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M982.912686 11.008633A34.367979 34.367979 0 0 0 957.696701 0.00064H66.305259A34.239979 34.239979 0 0 0 32.00128 36.864617l68.671957 853.311467a34.239979 34.239979 0 0 0 25.151984 30.207981l377.151765 102.399936a34.623978 34.623978 0 0 0 18.047988 0l377.151765-102.399936a34.175979 34.175979 0 0 0 25.151984-30.207981L992.00068 36.864617a34.047979 34.047979 0 0 0-9.087994-25.855984z m-179.199888 279.167826H327.233095l9.791994 136.511914h453.055717l-23.551985 327.871795L512.00098 839.040116l-257.151839-85.311947V597.312267h102.847935v82.559948l154.303904 51.199968 156.863902-52.095967 10.751993-149.951907H241.281149l-24.511984-341.311786h586.687633z","p-id":"18463"}}]})}},bdf5:function(e,t,n){"use strict";e.exports=n("0423")},bf0f:function(e,t,n){"use strict";n.d(t,"c",(function(){return g})),n.d(t,"b",(function(){return b}));var a=n("5530"),r=(n("d3b7"),n("caad"),n("3ca3"),n("ddb0"),n("2b0e")),o=n("a925"),i=n("8ded"),s=n.n(i),c=n("c1df"),d=n.n(c),l=n("743d");r["a"].use(o["a"]);var u="en-US",p={"en-US":Object(a["a"])({},l["default"])},h=new o["a"]({silentTranslationWarn:!0,locale:u,fallbackLocale:u,messages:p}),m=[u];function f(e){return h.locale=e,document.querySelector("html").setAttribute("lang",e),e}function g(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u;return new Promise((function(t){return s.a.set("lang",e),h.locale!==e?m.includes(e)?t(f(e)):n("4aa4")("./".concat(e)).then((function(t){var n=t.default;return h.setLocaleMessage(e,n),m.push(e),d.a.updateLocale(n.momentName,n.momentLocale),f(e)})):t(e)}))}function b(e){return h.t("".concat(e))}t["a"]=h},c06e:function(e,t,n){},c428:function(e,t,n){},ca00:function(e,t,n){"use strict";n.d(t,"h",(function(){return a})),n.d(t,"i",(function(){return r})),n.d(t,"c",(function(){return o})),n.d(t,"f",(function(){return i})),n.d(t,"g",(function(){return s})),n.d(t,"e",(function(){return d})),n.d(t,"d",(function(){return l})),n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return h}));n("b64b"),n("d3b7"),n("caad"),n("2532"),n("25f0"),n("159b"),n("a15b");function a(){var e=new Date,t=e.getHours();return t<9?"早上好":t<=11?"上午好":t<=13?"中午好":t<20?"下午好":"晚上好"}function r(){var e=["休息一会儿吧","准备吃什么呢?","要不要打一把 DOTA","我猜你可能累了"],t=Math.floor(Math.random()*e.length);return e[t]}function o(e,t){return function(n){var a=this,r=n;clearTimeout(e.id),e.id=setTimeout((function(){e.call(a,r)}),t)}}function i(e){return 0===Object.keys(e).length}function s(e){return"[object Object]"===Object.prototype.toString.call(e)}function c(e){return"[object Array]"===Object.prototype.toString.call(e)}function d(e){return c(e)?0===e.length:s(e)?i(e):!e}function l(e,t){return t.includes(e)}function u(e,t){Object.keys(t).forEach((function(n){e[n]=t[n]}))}var p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[],n=function(n){var a=e[n];if(!a)return"continue";c(a)?a.forEach((function(e){t.push(n+"="+e)})):t.push(n+"="+a)};for(var a in e)n(a);return t.join("&")};function h(e,t){var n=p(t);return d(n)?e:e+"?"+n}},cd83:function(e,t,n){},d22e:function(e,t,n){"use strict";n.d(t,"o",(function(){return y})),n.d(t,"b",(function(){return k})),n.d(t,"a",(function(){return x})),n.d(t,"n",(function(){return O})),n.d(t,"k",(function(){return w})),n.d(t,"j",(function(){return C})),n.d(t,"l",(function(){return S})),n.d(t,"i",(function(){return K})),n.d(t,"c",(function(){return E})),n.d(t,"d",(function(){return N})),n.d(t,"g",(function(){return $})),n.d(t,"h",(function(){return P})),n.d(t,"m",(function(){return T})),n.d(t,"e",(function(){return D})),n.d(t,"f",(function(){return L}));var a=n("2909"),r=n("3835"),o=n("b85c"),i=n("53ca"),s=n("2638"),c=n.n(s),d=n("15fd"),l=(n("fb6a"),n("a434"),n("99af"),n("4de4"),n("d3b7"),n("159b"),n("d81d"),n("4ec9"),n("3ca3"),n("ddb0"),n("b64b"),n("d96e")),u=n.n(l),p=n("0464"),h=n("2b5d"),m=n("daa3"),f=["children"],g=.25,b=2,v=!1;function y(){v||(v=!0,u()(!1,"Tree only accept TreeNode as children."))}function k(e,t){var n=e.slice(),a=n.indexOf(t);return a>=0&&n.splice(a,1),n}function x(e,t){var n=e.slice();return-1===n.indexOf(t)&&n.push(t),n}function O(e){return e.split("-")}function w(e,t){return"".concat(e,"-").concat(t)}function j(e){return Object(m["o"])(e).isTreeNode}function C(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.filter(j)}function _(e){var t=Object(m["l"])(e)||{},n=t.disabled,a=t.disableCheckbox,r=t.checkable;return!(!n&&!a)||!1===r}function M(e,t){function n(a,r,o){var i=a?a.componentOptions.children:e,s=a?w(o.pos,r):0,c=C(i);if(a){var d=a.key;d||void 0!==d&&null!==d||(d=s);var l={node:a,index:r,pos:s,key:d,parentPos:o.node?o.pos:null};t(l)}c.forEach((function(e,t){n(e,t,{node:a,pos:s})}))}n(null)}function S(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,n=e.map(t);return 1===n.length?n[0]:n}function K(e,t){var n=Object(m["l"])(t),a=n.eventKey,r=n.pos,o=[];return M(e,(function(e){var t=e.key;o.push(t)})),o.push(a||r),o}function E(e,t){var n=e.clientY,a=t.$refs.selectHandle.getBoundingClientRect(),r=a.top,o=a.bottom,i=a.height,s=Math.max(i*g,b);return n<=r+s?-1:n>=o-s?1:0}function N(e,t){if(e){var n=t.multiple;return n?e.slice():e.length?[e[0]]:e}}var A=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{props:Object(p["a"])(e,["on","key","class","className","style"]),on:e.on||{},class:e.class||e.className,style:e.style,key:e.key}};function $(e,t,n){if(!t)return[];var a=n||{},r=a.processProps,o=void 0===r?A:r,i=Array.isArray(t)?t:[t];return i.map((function(t){var a=t.children,r=Object(d["a"])(t,f),i=$(e,a,n);return e(h["a"],c()([{},o(r)]),[i])}))}function P(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.initWrapper,a=t.processEntity,r=t.onProcessFinished,o=new Map,i=new Map,s={posEntities:o,keyEntities:i};return n&&(s=n(s)||s),M(e,(function(e){var t=e.node,n=e.index,r=e.pos,c=e.key,d=e.parentPos,l={node:t,index:n,key:c,pos:r};o.set(r,l),i.set(c,l),l.parent=o.get(d),l.parent&&(l.parent.children=l.parent.children||[],l.parent.children.push(l)),a&&a(l,s)})),r&&r(s),s}function T(e){if(!e)return null;var t;if(Array.isArray(e))t={checkedKeys:e,halfCheckedKeys:void 0};else{if("object"!==Object(i["a"])(e))return u()(!1,"`checkedKeys` is not an array or an object"),null;t={checkedKeys:e.checked||void 0,halfCheckedKeys:e.halfChecked||void 0}}return t}function D(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=new Map,s=new Map;function c(e){if(i.get(e)!==t){var a=n.get(e);if(a){var r=a.children,o=a.parent,d=a.node;if(!_(d)){var l=!0,u=!1;(r||[]).filter((function(e){return!_(e.node)})).forEach((function(e){var t=e.key,n=i.get(t),a=s.get(t);(n||a)&&(u=!0),n||(l=!1)})),t?i.set(e,l):i.set(e,!1),s.set(e,u),o&&c(o.key)}}}}function d(e){if(i.get(e)!==t){var a=n.get(e);if(a){var r=a.children,o=a.node;_(o)||(i.set(e,t),(r||[]).forEach((function(e){d(e.key)})))}}}function l(e){var a=n.get(e);if(a){var r=a.children,o=a.parent,s=a.node;i.set(e,t),_(s)||((r||[]).filter((function(e){return!_(e.node)})).forEach((function(e){d(e.key)})),o&&c(o.key))}else u()(!1,"'".concat(e,"' does not exist in the tree."))}(a.checkedKeys||[]).forEach((function(e){i.set(e,!0)})),(a.halfCheckedKeys||[]).forEach((function(e){s.set(e,!0)})),(e||[]).forEach((function(e){l(e)}));var p,h=[],m=[],f=Object(o["a"])(i);try{for(f.s();!(p=f.n()).done;){var g=Object(r["a"])(p.value,2),b=g[0],v=g[1];v&&h.push(b)}}catch(j){f.e(j)}finally{f.f()}var y,k=Object(o["a"])(s);try{for(k.s();!(y=k.n()).done;){var x=Object(r["a"])(y.value,2),O=x[0],w=x[1];!i.get(O)&&w&&m.push(O)}}catch(j){k.e(j)}finally{k.f()}return{checkedKeys:h,halfCheckedKeys:m}}function L(e,t){var n=new Map;function r(e){if(!n.get(e)){var a=t.get(e);if(a){n.set(e,!0);var o=a.parent,i=a.node,s=Object(m["l"])(i);s&&s.disabled||o&&r(o.key)}}}return(e||[]).forEach((function(e){r(e)})),Object(a["a"])(n.keys())}},d6e0:function(e,t,n){},d73b:function(e,t,n){"use strict";n.d(t,"a",(function(){return le})),n.d(t,"b",(function(){return ue}));n("d3b7"),n("3ca3"),n("ddb0");var a,r,o=function(){var e=this,t=e._self._c;return t("div",{class:["user-layout-wrapper",e.isMobile&&"mobile"]},[t("div",{staticClass:"container"},[t("router-view"),t("div",{staticClass:"footer"})],1)])},i=[],s=n("5530"),c=n("2f62"),d={computed:Object(s["a"])({},Object(c["c"])({isMobile:function(e){return e.app.isMobile}}))},l={name:"UserLayout",mixins:[d],mounted:function(){}},u=l,p=(n("24e1"),n("2877")),h=Object(p["a"])(u,o,i,!1,null,"2951c3e6",null),m=h.exports,f=function(){var e=this,t=e._self._c;return t("div",[t("router-view")],1)},g=[],b={name:"BlankLayout"},v=b,y=Object(p["a"])(v,f,g,!1,null,"7f25f9eb",null),k=(y.exports,function(){var e=this,t=e._self._c;return t("pro-layout",e._b({attrs:{title:e.storeInfo.store_name,menus:e.menus,hasSubMenu:e.hasSubMenu,subMenus:e.subMenus,subMenuTitle:e.subMenuTitle,siderWidth:e.siderWidth,collapsed:e.collapsed,mediaQuery:e.query,isMobile:e.isMobile,handleMediaQuery:e.handleMediaQuery,handleCollapse:e.handleCollapse,logo:e.logoRender,i18nRender:e.i18nRender},scopedSlots:e._u([{key:"rightContentRender",fn:function(){return[t("right-content",{attrs:{"top-menu":"topmenu"===e.settings.layout,"is-mobile":e.isMobile,theme:e.settings.theme}})]},proxy:!0},{key:"footerRender",fn:function(){return[t("global-footer")]},proxy:!0}])},"pro-layout",e.settings,!1),[t("router-view")],1)}),x=[],O=(n("7db0"),n("b0c0"),n("33ca")),w=n("4ceb"),j=n("bf0f"),C=n("9fb0"),_=n("e819"),M=function(){var e=this,t=e._self._c;return t("div",{class:e.wrpCls},[t("avatar-dropdown",{class:e.prefixCls,attrs:{menu:e.showMenu,"current-user":e.currentUser}})],1)},S=[],K=n("ade3"),E=function(){var e=this,t=e._self._c;return e.currentUser?t("a-dropdown",{attrs:{placement:"bottomRight"},scopedSlots:e._u([{key:"overlay",fn:function(){return[t("a-menu",{staticClass:"ant-pro-drop-down menu",attrs:{"selected-keys":[]}},[e.menu?t("a-menu-item",{key:"settings",on:{click:e.handleToSettings}},[t("a-icon",{attrs:{type:"setting"}}),e._v("账户设置 ")],1):e._e(),t("a-menu-item",{key:"logout",on:{click:e.handleLogout}},[t("a-icon",{attrs:{type:"logout"}}),e._v("退出登录 ")],1)],1)]},proxy:!0}],null,!1,3564529297)},[t("span",{staticClass:"ant-pro-account-avatar oneline-hide"},[t("a-icon",{style:{fontSize:"16px",marginRight:"5px"},attrs:{type:"user"}}),t("span",[e._v(e._s(e.currentUser.real_name||e.currentUser.user_name))])],1)]):t("span",[t("a-spin",{style:{marginLeft:8,marginRight:8},attrs:{size:"small"}})],1)},N=[],A=(n("cd17"),n("ed3b")),$={name:"AvatarDropdown",props:{currentUser:{type:Object,default:function(){return null}},menu:{type:Boolean,default:!0}},methods:{handleToSettings:function(){this.$router.push({path:"/manage/renew"})},handleLogout:function(e){var t=this;A["a"].confirm({title:"友情提示",content:"真的要注销登录吗 ?",onOk:function(){return t.$store.dispatch("Logout").then((function(){setTimeout((function(){window.location.reload()}),200)}))},onCancel:function(){}})}}},P=$,T=(n("9868"),Object(p["a"])(P,E,N,!1,null,"5fd74d0e",null)),D=T.exports,L={name:"RightContent",components:{AvatarDropdown:D},props:{prefixCls:{type:String,default:"ant-pro-global-header-index-action"},isMobile:{type:Boolean,default:function(){return!1}},topMenu:{type:Boolean,required:!0},theme:{type:String,required:!0}},data:function(){var e=this.$store.getters.userInfo;return{showMenu:!0,currentUser:e}},computed:{wrpCls:function(){return Object(K["a"])({"ant-pro-global-header-index-right":!0},"ant-pro-global-header-index-".concat(this.isMobile||!this.topMenu?"light":this.theme),!0)}},mounted:function(){}},R=L,H=Object(p["a"])(R,M,S,!1,null,null,null),z=H.exports,F=function(){var e=this,t=e._self._c;return e.visibility?t("global-footer",{staticClass:"footer custom-render",scopedSlots:e._u([{key:"links",fn:function(){},proxy:!0},{key:"copyright",fn:function(){},proxy:!0}],null,!1,2460324447)}):e._e()},I=[],q=function(e){e=unescape(e);for(var t=String.fromCharCode(e.charCodeAt(0)-e.length),n=1;n-1&&this.$nextTick((function(){e.collapsed=!e.collapsed,setTimeout((function(){e.collapsed=!e.collapsed}),16)})),Object(w["f"])(this.settings.primaryColor)},methods:{i18nRender:j["b"],getStoreInfo:function(){var e=this;O["a"]().then((function(t){var n=t.data.storeInfo;e.storeInfo=n}))},updateSider:function(){var e=this.$route.matched[1].name,t=this.menus.find((function(t){return t.name===e}));this.subMenus=t&&t.children||[],this.hasSubMenu=this.subMenus.length>0,this.siderWidth=this.subMenus.length>0?280:160,this.subMenuTitle=t&&t.meta.title},handleMediaQuery:function(e){this.isMobile=!1},handleCollapse:function(e){this.collapsed=e},handleSettingChange:function(e){var t=e.type,n=e.value;switch(t&&(this.settings[t]=n),t){case"contentWidth":this.settings[t]="Fixed"===n;break;case"layout":"sidemenu"===n?this.settings.contentWidth=!1:(this.settings.fixSiderbar=!1,this.settings.contentWidth=!0);break}},logoRender:function(){var e=this.$createElement;return e(Y.a)}}},Z=Q,J=(n("8477"),Object(p["a"])(Z,k,x,!1,null,null,null)),X=J.exports,ee={name:"RouteView",props:{keepAlive:{type:Boolean,default:!0}},data:function(){return{}},render:function(){var e=arguments[0],t=this.$route.meta,n=this.$store.getters,a=e("keep-alive",[e("router-view")]),r=e("router-view");return(n.multiTab||t.keepAlive)&&(this.keepAlive||n.multiTab||t.keepAlive)?a:r}},te=ee,ne=Object(p["a"])(te,a,r,!1,null,null,null),ae=(ne.exports,function(){var e=this,t=e._self._c;return t("page-header-wrapper",[t("router-view")],1)}),re=[],oe={name:"PageView"},ie=oe,se=Object(p["a"])(ie,ae,re,!1,null,null,null),ce=(se.exports,n("04b3")),de={name:"RouteView",render:function(e){return e("router-view")}},le=[{path:"/",name:"root",component:X,children:[{path:"/index",name:"index",component:function(){return n.e("index").then(n.bind(null,"0a0d"))},meta:{title:"首页",keepAlive:!0,icon:ce["f"],permission:["/index"]}},{path:"/manage",name:"manage",component:de,redirect:"/manage/user/index",meta:{title:"管理员",icon:ce["g"],permission:["/manage"]},children:[{path:"/manage/user/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("manage")]).then(n.bind(null,"b484"))},meta:{title:"管理员列表",keepAlive:!1,permission:["/manage/user/index"]}},{path:"/manage/role/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("manage")]).then(n.bind(null,"759b"))},meta:{title:"角色管理",keepAlive:!1,permission:["/manage/role/index"]}}]},{path:"/card",name:"card",component:de,redirect:"/card/index",meta:{title:"实体兑换卡",icon:ce["l"],permission:["/card"]},children:[{path:"/card/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("card")]).then(n.bind(null,"1043"))},meta:{title:"兑换卡列表",keepAlive:!1,permission:["/card/index"]}},{path:"/card/print",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("card")]).then(n.bind(null,"bd70"))},meta:{title:"打印下载列表",keepAlive:!1,permission:["/card/print"]}}]},{path:"/store",name:"store",component:de,redirect:"/store/setting",meta:{title:"店铺管理",icon:ce["l"],permission:["/store"]},children:[{path:"/store/setting",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("store")]).then(n.bind(null,"976c"))},meta:{title:"店铺设置",keepAlive:!1,permission:["/store/setting"]}},{path:"/store/address/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("store")]).then(n.bind(null,"f30f"))},meta:{title:"地址管理",keepAlive:!1,permission:["/store/address/index"]}},{path:"/page",component:de,redirect:"/page/index",meta:{title:"店铺页面",keepAlive:!1,permission:["/page"]},children:[{path:"/page/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("page")]).then(n.bind(null,"0773"))},meta:{title:"页面设计",keepAlive:!1,permission:["/page/index"]},activePath:["/page/create","/page/update"]},{path:"/page/create",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("page")]).then(n.bind(null,"ead9"))},meta:{title:"新增页面",keepAlive:!1,permission:["/page/create"]},hidden:!0},{path:"/page/update",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("page")]).then(n.bind(null,"c207"))},meta:{title:"编辑页面",keepAlive:!1,permission:["/page/update"]},hidden:!0},{path:"/page/category",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("page")]).then(n.bind(null,"b043"))},meta:{title:"分类模板",keepAlive:!1,permission:["/page/category"]}}]}]},{path:"/goods",name:"goods",component:de,redirect:"/goods/index",meta:{title:"商品管理",icon:ce["c"],permission:["/goods"]},children:[{path:"/goods/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"1788"))},meta:{title:"商品列表",keepAlive:!1,permission:["/goods/index"]},activePath:["/goods/create","/goods/update"]},{path:"/goods/create",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"f11f"))},meta:{title:"创建商品",keepAlive:!1,permission:["/goods/create"]},hidden:!0},{path:"/goods/update",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"c1df6"))},meta:{title:"编辑商品",keepAlive:!1,permission:["/goods/update"]},hidden:!0},{path:"/goods/category/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"3686"))},meta:{title:"商品分类",keepAlive:!1,permission:["/goods/category/index"]}},{path:"/goods/comment/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"acbe"))},meta:{title:"商品评价",keepAlive:!1,permission:["/goods/comment/index"]}}]},{path:"/merchant",name:"merchant",component:de,redirect:"/merchant/index",meta:{title:"代理商管理",icon:ce["l"],permission:["/merchant"]},children:[{path:"/merchant/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"796a"))},meta:{title:"代理商列表",keepAlive:!1,permission:["/merchant/index"]},activePath:["/merchant/create","/merchant/update"]},{path:"/merchant/order/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"1a56"))},meta:{title:"发券订单",keepAlive:!1,permission:["/merchant/order/index"]}},{path:"/merchant/create",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"43de"))},meta:{title:"创建代理商",keepAlive:!1,permission:["/merchant/create"]},hidden:!0},{path:"/merchant/update",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"9f8e"))},meta:{title:"编辑代理商",keepAlive:!1,permission:["/merchant/update"]},hidden:!0},{path:"/merchant/balance",component:de,redirect:"/merchant/balance/index",meta:{title:"余额记录",keepAlive:!1,permission:["/merchant/balance"]},children:[{path:"/merchant/balance/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"b672"))},meta:{title:"余额明细",keepAlive:!1,permission:["/merchant/balance/index"]}}]}]},{path:"/order",name:"order",component:de,redirect:"/order/list/all",meta:{title:"订单管理",icon:ce["j"],permission:["/order"]},children:[{path:"/order/list/all",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("goods~order"),n.e("order")]).then(n.bind(null,"fecbd"))},meta:{title:"全部订单",keepAlive:!1,permission:["/order/list/all"]}},{path:"/order/list/oil",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("goods~order"),n.e("order")]).then(n.bind(null,"fecbd"))},meta:{title:"油券订单",keepAlive:!1,permission:["/order/list/all"]}},{path:"/order/list/coupon",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("goods~order"),n.e("order")]).then(n.bind(null,"fecbd"))},meta:{title:"优惠券订单",keepAlive:!1,permission:["/order/list/all"]}}]},{path:"/promotion",name:"promotion",component:de,meta:{title:"分销管理",icon:ce["j"],permission:["/promotion"]},children:[{path:"/promotion/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("user")]).then(n.bind(null,"d8cc"))},meta:{title:"代理商列表",keepAlive:!1,permission:["/promotion/index"]}},{path:"/promotion/commission",component:de,redirect:"/promotion/order/index",meta:{title:"佣金记录",keepAlive:!1,permission:["/promotion/commission"]},moduleKey:"promotion-commission",children:[{path:"/promotion/order/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"3728"))},meta:{title:"分销订单",keepAlive:!1,permission:["/promotion/order/index"]}}]}]},{path:"/checkout",name:"checkout",component:de,meta:{title:"结账管理",icon:ce["j"],permission:["/checkout"]},children:[{path:"/checkout/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"0e24"))},meta:{title:"结账记录",keepAlive:!1,permission:["/checkout/index"]}}]},{path:"/user",name:"user",component:de,meta:{title:"用户管理",icon:ce["m"],permission:["/user"]},children:[{path:"/user/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("user")]).then(n.bind(null,"dab6"))},meta:{title:"用户列表",keepAlive:!1,permission:["/user/index"]}},{path:"/user/create",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"3669"))},meta:{title:"创建用户",keepAlive:!1,permission:["/user/create"]},hidden:!0},{path:"/user/update",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"459d"))},meta:{title:"编辑用户",keepAlive:!1,permission:["/user/update"]},hidden:!0},{path:"/user/grade/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("user")]).then(n.bind(null,"7ad7"))},meta:{title:"会员等级",keepAlive:!1,permission:["/user/grade/index"]}},{path:"/user/balance",component:de,redirect:"/user/balance/index",meta:{title:"余额记录",keepAlive:!1,permission:["/user/balance"]},children:[{path:"/user/recharge/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"66c9"))},meta:{title:"充值记录",keepAlive:!1,permission:["/user/recharge/index"]}},{path:"/user/balance/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"4a98"))},meta:{title:"余额明细",keepAlive:!1,permission:["/user/balance/index"]}}]}]},{path:"/partners",name:"partners",component:de,redirect:"/partners/index",meta:{title:"合作商管理",icon:ce["l"],permission:["/partners"]},children:[{path:"/partners/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"a11a"))},meta:{title:"合作商列表",keepAlive:!1,permission:["/partners/index"]},activePath:["/partners/create","/partners/update"]},{path:"/partners/create",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"5cd2"))},meta:{title:"创建合作商",keepAlive:!1,permission:["/partners/create"]},hidden:!0},{path:"/partners/update",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"bba5"))},meta:{title:"编辑合作商",keepAlive:!1,permission:["/partners/update"]},hidden:!0},{path:"/partners/order/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"98fc"))},meta:{title:"订单列表",keepAlive:!1,permission:["/partners/order/index"]}},{path:"/partners/balance",component:de,redirect:"/partners/balance/index",meta:{title:"余额记录",keepAlive:!1,permission:["/partners/balance"]},children:[{path:"/partners/balance/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"64a2"))},meta:{title:"余额明细",keepAlive:!1,permission:["/partners/balance/index"]}}]}]},{path:"/content",name:"content",component:de,meta:{title:"内容管理",icon:ce["b"],permission:["/content"]},children:[{path:"/content/article",component:de,redirect:"/content/article/index",meta:{title:"文章管理",keepAlive:!1,permission:["/content/article"]},children:[{path:"/content/article/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"98bf"))},meta:{title:"文章列表",keepAlive:!1,permission:["/content/article/index"]}},{path:"/content/article/category/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"3226"))},meta:{title:"文章分类",keepAlive:!1,permission:["/content/article/category/index"]}}]},{path:"/content/files",component:de,redirect:"/content/files/index",meta:{title:"文件库管理",keepAlive:!1,permission:["/content/files"]},children:[{path:"/content/files/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"2b0e8"))},meta:{title:"文件列表",keepAlive:!1,permission:["/content/files/index"]}},{path:"/content/files/group/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"bae3"))},meta:{title:"文件分组",keepAlive:!1,permission:["/content/files/group/index"]}}]},{path:"/content/help/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"d1d6"))},meta:{title:"帮助中心",keepAlive:!1,permission:["/content/help/index"]}}]},{path:"/market",name:"market",component:de,meta:{title:"营销管理",icon:ce["h"],permission:["/market"]},children:[{path:"/market/coupon",component:de,redirect:"/market/coupon/index",meta:{title:"优惠券",keepAlive:!1,permission:["/market/coupon"]},children:[{path:"/market/coupon/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"164a"))},meta:{title:"优惠券列表",keepAlive:!1,permission:["/market/coupon/index"]},activePath:["/market/coupon/create","/market/coupon/update"]},{path:"/market/coupon/create",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"c24e"))},meta:{title:"创建优惠券",keepAlive:!1,permission:["/market/coupon/create"]},hidden:!0},{path:"/market/coupon/update",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"0b60"))},meta:{title:"编辑优惠券",keepAlive:!1,permission:["/market/coupon/update"]},hidden:!0},{path:"/market/coupon/receive/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"3d2f"))},meta:{title:"领券记录",keepAlive:!1,permission:["/market/coupon/receive/index"]}}]},{path:"/market/recharge",component:de,redirect:"/market/recharge/setting",meta:{title:"会员充值",keepAlive:!1,permission:["/market/recharge"]},children:[{path:"/market/recharge/plan/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"6ad7"))},meta:{title:"充值套餐",keepAlive:!1,permission:["/market/recharge/plan/index"]}},{path:"/market/recharge/setting",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"3095"))},meta:{title:"充值设置",keepAlive:!1,permission:["/market/recharge/setting"]}}]},{path:"/market/share",component:de,redirect:"/market/share/setting",meta:{title:"余额分享",keepAlive:!1,permission:["/market/share"]},children:[{path:"/market/share/setting",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"6801"))},meta:{title:"分享设置",keepAlive:!1,permission:["/market/share/setting"]}}]},{path:"/market/exchange",component:de,redirect:"/market/exchange/setting",meta:{title:"实体卡兑换",keepAlive:!1,permission:["/market/exchange"]},children:[{path:"/market/exchange/setting",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"7ec7"))},meta:{title:"兑换设置",keepAlive:!1,permission:["/market/exchange/setting"]}}]}]},{path:"/client",name:"client",component:de,meta:{title:"客户端",keepAlive:!0,icon:ce["i"],iconStyle:{fontSize:"17.2px",color:"#36b313"},permission:["/client"]},children:[{path:"/client/register",component:function(){return n.e("client").then(n.bind(null,"8c72"))},meta:{title:"注册设置",keepAlive:!1,permission:["/client/register"]}},{path:"/client/wxapp",component:de,redirect:"/client/wxapp/setting",meta:{title:"微信小程序",keepAlive:!1,permission:["/client/wxapp"]},children:[{path:"/client/wxapp/setting",component:function(){return n.e("client").then(n.bind(null,"e36a"))},meta:{title:"小程序设置",keepAlive:!1,permission:["/client/wxapp/setting"]}}]},{path:"/client/h5",component:de,redirect:"/client/h5/setting",meta:{title:"H5端",keepAlive:!1,permission:["/client/h5"]},children:[{path:"/client/h5/setting",component:function(){return n.e("client").then(n.bind(null,"2fa9"))},meta:{title:"站点设置",keepAlive:!1,permission:["/client/h5/setting"]}}]}]},{path:"/setting",name:"setting",component:de,redirect:"/setting/store/basic",meta:{title:"设置",icon:ce["k"],permission:["/setting"]},children:[{path:"/setting/trade",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("setting")]).then(n.bind(null,"a6b6"))},meta:{title:"参数设置",keepAlive:!1,permission:["/setting/trade"]}},{path:"/qyt/enterprise/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("setting")]).then(n.bind(null,"a8bf"))},meta:{title:"企业管理",keepAlive:!1,permission:["/qyt/enterprise/index"]}},{path:"/setting/qyt",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("setting")]).then(n.bind(null,"c7de"))},meta:{title:"企油通对接",keepAlive:!1,permission:["/setting/qyt"]}},{path:"/setting/promotion",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("setting")]).then(n.bind(null,"14b5"))},meta:{title:"分销设置",keepAlive:!1,permission:["/setting/promotion"]}},{path:"/setting/storage",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("setting")]).then(n.bind(null,"c5b8"))},meta:{title:"上传设置",keepAlive:!1,permission:["/setting/storage"]}},{path:"/setting/sms",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("setting")]).then(n.bind(null,"a85e"))},meta:{title:"短信通知",keepAlive:!1,permission:["/setting/sms"]}},{path:"/setting/delivery",component:de,redirect:"/setting/delivery/setting",meta:{title:"配送设置",keepAlive:!1,permission:["/setting/delivery"]},children:[{path:"/setting/delivery/setting",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"0b43a"))},meta:{title:"配送方式",keepAlive:!1,permission:["/setting/delivery/setting"]}},{path:"/setting/delivery/template/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"96ef"))},meta:{title:"运费模板",keepAlive:!1,permission:["/setting/delivery/template/index"]},activePath:["/setting/delivery/template/create","/setting/delivery/template/update"]},{path:"/setting/delivery/template/create",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"61e5"))},meta:{title:"新增运费模板",keepAlive:!1,permission:["/setting/delivery/template/create"]},hidden:!0},{path:"/setting/delivery/template/update",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"3833"))},meta:{title:"编辑运费模板",keepAlive:!1,permission:["/setting/delivery/template/update"]},hidden:!0},{path:"/setting/delivery/express/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"f4eb"))},meta:{title:"物流公司",keepAlive:!1,permission:["/setting/delivery/express/index"]}}]},{path:"/setting/other",component:de,redirect:"/setting/other/clear",meta:{title:"其他设置",keepAlive:!1,permission:["/setting/other"]},children:[{path:"/setting/other/clear",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"67ac"))},meta:{title:"清理缓存",keepAlive:!1,permission:["/setting/other/clear"]}}]}]}]},{name:"renew",path:"/manage",redirect:"/manage/renew",component:X,hidden:!0,meta:{title:"更新账户信息",keepAlive:!1},children:[{path:"renew",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("manage")]).then(n.bind(null,"9dce"))}}]},{path:"*",redirect:"/404",hidden:!0}],ue=[{path:"/passport",component:m,redirect:"/passport/login",hidden:!0,children:[{path:"login",name:"login",component:function(){return n.e("passport").then(n.bind(null,"cedc"))}}]},{path:"/404",component:function(){return n.e("exception").then(n.bind(null,"cc89"))}},{path:"/pay",component:function(){return n.e("exception").then(n.bind(null,"6ae7"))}}]},e819:function(e,t,n){"use strict";t["a"]={title:"Ant Design Pro",primaryColor:"#1890FF",navTheme:"dark",layout:"sidemenu",contentWidth:"Fixed",fixedHeader:!0,fixSiderbar:!0,autoHideHeader:!1,colorWeak:!1,multiTab:!1,production:!0}},e9ba:function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"1024",height:"1024",viewBox:"0 0 1024 1024"},children:[{tag:"title"},{tag:"g",attrsMap:{id:"icomoon-ignore"}},{tag:"path",attrsMap:{d:"M1024 701v-504q0-53-26.5-98t-72-71.5-98.5-26.5h-630q-53 0-98.5 26.5t-72 71.5-26.5 98v630q0 54 26.5 99t72 71.5 98.5 26.5h630q47 0 88.5-21t69-58 36.5-83l-6-2q-276-120-391-174-71 86-143 127-81 46-182 46-69 0-123-26-53-26-80-70.5t-21-97.5q4-43 25-78 28-45 79-68 64-27 160-18 65 6 119 19 33 8 100 31l31 10q35-64 57-139h-398v-40h197v-70h-240v-44h240v-102l1-4q2-5 6.5-8.5t12.5-3.5h98v118h256v44h-256v70h209q-29 116-85 213 38 14 191 61l146 45M284 792q-69 0-111-26-35-21-48-56-12-28-7-52 5-21 20-41 18-22 45-35 31-15 70-15 70 0 139 19 66 18 145 56-55 72-119 110-66 40-134 40z"}}]})}},eb1e:function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1595299959859",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2081","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"500",height:"500"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M286.72 290.133c17.067 0 30.72-13.653 30.72-34.133 0-105.813 95.573-170.667 191.147-170.667 92.16 0 194.56 71.68 194.56 170.667 0 20.48 13.653 34.133 30.72 34.133s30.72-13.653 30.72-34.133c0-139.947-136.534-238.933-256-238.933-122.88 0-256 88.746-256 238.933 3.413 17.067 17.066 34.133 34.133 34.133z m648.533 102.4c-17.066-20.48-44.373-34.133-71.68-34.133H160.427c-27.307 0-54.614 10.24-71.68 34.133-17.067 20.48-23.894 47.787-20.48 75.094L143.36 911.36c10.24 54.613 61.44 98.987 116.053 98.987h505.174c54.613 0 105.813-40.96 116.053-98.987l75.093-443.733c3.414-27.307-3.413-54.614-20.48-75.094z m-645.12 204.8c-27.306 0-51.2-23.893-51.2-51.2s23.894-51.2 51.2-51.2 51.2 23.894 51.2 51.2-23.893 51.2-51.2 51.2z m443.734 0c-27.307 0-51.2-23.893-51.2-51.2s23.893-51.2 51.2-51.2 51.2 23.894 51.2 51.2-23.894 51.2-51.2 51.2z","p-id":"2082"}}]})}},f544:function(e,t,n){"use strict";n.d(t,"d",(function(){return o})),n.d(t,"f",(function(){return i})),n.d(t,"e",(function(){return s})),n.d(t,"a",(function(){return c})),n.d(t,"c",(function(){return d})),n.d(t,"b",(function(){return l}));var a=n("b775"),r={info:"/store.user/info",list:"/store.user/list",add:"/store.user/add",edit:"/store.user/edit",delete:"/store.user/delete",renew:"/store.user/renew"};function o(e){return Object(a["b"])({url:r.info,method:"get",params:e})}function i(e){return Object(a["b"])({url:r.renew,method:"post",data:e})}function s(e){return Object(a["b"])({url:r.list,method:"get",params:e})}function c(e){return Object(a["b"])({url:r.add,method:"post",data:e})}function d(e){return Object(a["b"])({url:r.edit,method:"post",data:e})}function l(e){return Object(a["b"])({url:r.delete,method:"post",data:e})}},fddb:function(e,t,n){}});
\ No newline at end of file
+(function(e){function t(t){for(var a,r,s=t[0],c=t[1],d=t[2],l=0,u=[];l0&&void 0!==arguments[0]?arguments[0]:[],t={};return e.forEach((function(e){t[e]=function(){this.needSyncKeys[e]=!0}})),t}var b={name:"Tree",mixins:[h["a"]],props:Object(u["t"])({prefixCls:i["a"].string,tabIndex:i["a"].oneOfType([i["a"].string,i["a"].number]),children:i["a"].any,treeData:i["a"].array,showLine:i["a"].bool,showIcon:i["a"].bool,icon:i["a"].oneOfType([i["a"].object,i["a"].func]),focusable:i["a"].bool,selectable:i["a"].bool,disabled:i["a"].bool,multiple:i["a"].bool,checkable:i["a"].oneOfType([i["a"].object,i["a"].bool]),checkStrictly:i["a"].bool,draggable:i["a"].bool,defaultExpandParent:i["a"].bool,autoExpandParent:i["a"].bool,defaultExpandAll:i["a"].bool,defaultExpandedKeys:i["a"].array,expandedKeys:i["a"].array,defaultCheckedKeys:i["a"].array,checkedKeys:i["a"].oneOfType([i["a"].array,i["a"].object]),defaultSelectedKeys:i["a"].array,selectedKeys:i["a"].array,loadData:i["a"].func,loadedKeys:i["a"].array,filterTreeNode:i["a"].func,openTransitionName:i["a"].string,openAnimation:i["a"].oneOfType([i["a"].string,i["a"].object]),switcherIcon:i["a"].any,_propsSymbol:i["a"].any},{prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[]}),data:function(){l()(this.$props.__propsSymbol__,"must pass __propsSymbol__"),l()(this.$props.children,"please use children prop replace slots.default"),this.needSyncKeys={},this.domTreeNodes={};var e={_posEntities:new Map,_keyEntities:new Map,_expandedKeys:[],_selectedKeys:[],_checkedKeys:[],_halfCheckedKeys:[],_loadedKeys:[],_loadingKeys:[],_treeNode:[],_prevProps:null,_dragOverNodeKey:"",_dropPosition:null,_dragNodesKeys:[]};return Object(o["a"])(Object(o["a"])({},e),this.getDerivedState(Object(u["l"])(this),e))},provide:function(){return{vcTree:this}},watch:Object(o["a"])(Object(o["a"])({},g(["treeData","children","expandedKeys","autoExpandParent","selectedKeys","checkedKeys","loadedKeys"])),{},{__propsSymbol__:function(){this.setState(this.getDerivedState(Object(u["l"])(this),this.$data)),this.needSyncKeys={}}}),methods:{getDerivedState:function(e,t){var n=t._prevProps,a={_prevProps:Object(o["a"])({},e)},i=this;function s(t){return!n&&t in e||n&&i.needSyncKeys[t]}var c=null;if(s("treeData")?c=Object(f["g"])(this.$createElement,e.treeData):s("children")&&(c=e.children),c){a._treeNode=c;var d=Object(f["h"])(c);a._keyEntities=d.keyEntities}var l,u=a._keyEntities||t._keyEntities;if((s("expandedKeys")||n&&s("autoExpandParent")?a._expandedKeys=e.autoExpandParent||!n&&e.defaultExpandParent?Object(f["f"])(e.expandedKeys,u):e.expandedKeys:!n&&e.defaultExpandAll?a._expandedKeys=Object(r["a"])(u.keys()):!n&&e.defaultExpandedKeys&&(a._expandedKeys=e.autoExpandParent||e.defaultExpandParent?Object(f["f"])(e.defaultExpandedKeys,u):e.defaultExpandedKeys),e.selectable&&(s("selectedKeys")?a._selectedKeys=Object(f["d"])(e.selectedKeys,e):!n&&e.defaultSelectedKeys&&(a._selectedKeys=Object(f["d"])(e.defaultSelectedKeys,e))),e.checkable)&&(s("checkedKeys")?l=Object(f["m"])(e.checkedKeys)||{}:!n&&e.defaultCheckedKeys?l=Object(f["m"])(e.defaultCheckedKeys)||{}:c&&(l=Object(f["m"])(e.checkedKeys)||{checkedKeys:t._checkedKeys,halfCheckedKeys:t._halfCheckedKeys}),l)){var p=l,h=p.checkedKeys,m=void 0===h?[]:h,g=p.halfCheckedKeys,b=void 0===g?[]:g;if(!e.checkStrictly){var v=Object(f["e"])(m,!0,u);m=v.checkedKeys,b=v.halfCheckedKeys}a._checkedKeys=m,a._halfCheckedKeys=b}return s("loadedKeys")&&(a._loadedKeys=e.loadedKeys),a},onNodeDragStart:function(e,t){var n=this.$data._expandedKeys,a=t.eventKey,r=Object(u["p"])(t).default;this.dragNode=t,this.setState({_dragNodesKeys:Object(f["i"])("function"===typeof r?r():r,t),_expandedKeys:Object(f["b"])(n,a)}),this.__emit("dragstart",{event:e,node:t})},onNodeDragEnter:function(e,t){var n=this,a=this.$data._expandedKeys,r=t.pos,o=t.eventKey;if(this.dragNode&&t.$refs.selectHandle){var i=Object(f["c"])(e,t);this.dragNode.eventKey!==o||0!==i?setTimeout((function(){n.setState({_dragOverNodeKey:o,_dropPosition:i}),n.delayedDragEnterLogic||(n.delayedDragEnterLogic={}),Object.keys(n.delayedDragEnterLogic).forEach((function(e){clearTimeout(n.delayedDragEnterLogic[e])})),n.delayedDragEnterLogic[r]=setTimeout((function(){var r=Object(f["a"])(a,o);Object(u["s"])(n,"expandedKeys")||n.setState({_expandedKeys:r}),n.__emit("dragenter",{event:e,node:t,expandedKeys:r})}),400)}),0):this.setState({_dragOverNodeKey:"",_dropPosition:null})}},onNodeDragOver:function(e,t){var n=t.eventKey,a=this.$data,r=a._dragOverNodeKey,o=a._dropPosition;if(this.dragNode&&n===r&&t.$refs.selectHandle){var i=Object(f["c"])(e,t);if(i===o)return;this.setState({_dropPosition:i})}this.__emit("dragover",{event:e,node:t})},onNodeDragLeave:function(e,t){this.setState({_dragOverNodeKey:""}),this.__emit("dragleave",{event:e,node:t})},onNodeDragEnd:function(e,t){this.setState({_dragOverNodeKey:""}),this.__emit("dragend",{event:e,node:t}),this.dragNode=null},onNodeDrop:function(e,t){var n=this.$data,a=n._dragNodesKeys,r=void 0===a?[]:a,o=n._dropPosition,i=t.eventKey,s=t.pos;if(this.setState({_dragOverNodeKey:""}),-1===r.indexOf(i)){var c=Object(f["n"])(s),d={event:e,node:t,dragNode:this.dragNode,dragNodesKeys:r.slice(),dropPosition:o+Number(c[c.length-1]),dropToGap:!1};0!==o&&(d.dropToGap=!0),this.__emit("drop",d),this.dragNode=null}else l()(!1,"Can not drop to dragNode(include it's children node)")},onNodeClick:function(e,t){this.__emit("click",e,t)},onNodeDoubleClick:function(e,t){this.__emit("dblclick",e,t)},onNodeSelect:function(e,t){var n=this.$data._selectedKeys,a=this.$data._keyEntities,r=this.$props.multiple,o=Object(u["l"])(t),i=o.selected,s=o.eventKey,c=!i;n=c?r?Object(f["a"])(n,s):[s]:Object(f["b"])(n,s);var d=n.map((function(e){var t=a.get(e);return t?t.node:null})).filter((function(e){return e}));this.setUncontrolledState({_selectedKeys:n});var l={event:"select",selected:c,node:t,selectedNodes:d,nativeEvent:e};this.__emit("update:selectedKeys",n),this.__emit("select",n,l)},getCheckedKeys:function(){return this.$data._checkedKeys},clearExpandedKeys:function(){this.$data._expandedKeys=[]},getHalfCheckedKeys:function(){return this.$data._halfCheckedKeys},onNodeCheck:function(e,t,n){var a,r=this.$data,o=r._keyEntities,i=r._checkedKeys,s=r._halfCheckedKeys,c=this.$props.checkStrictly,d=Object(u["l"])(t),l=d.eventKey,p={event:"check",node:t,checked:n,nativeEvent:e};if(c){var h=n?Object(f["a"])(i,l):Object(f["b"])(i,l),m=Object(f["b"])(s,l);a={checked:h,halfChecked:m},p.checkedNodes=h.map((function(e){return o.get(e)})).filter((function(e){return e})).map((function(e){return e.node})),this.setUncontrolledState({_checkedKeys:h})}else{var g=Object(f["e"])([l],n,o,{checkedKeys:i,halfCheckedKeys:s}),b=g.checkedKeys,v=g.halfCheckedKeys;a=b,p.checkedNodes=[],p.checkedNodesPositions=[],p.halfCheckedKeys=v,b.forEach((function(e){var t=o.get(e);if(t){var n=t.node,a=t.pos;p.checkedNodes.push(n),p.checkedNodesPositions.push({node:n,pos:a})}})),this.setUncontrolledState({_checkedKeys:b,_halfCheckedKeys:v})}this.__emit("check",a,p)},onNodeLoad:function(e){var t=this;return new Promise((function(n){t.setState((function(a){var r=a._loadedKeys,o=void 0===r?[]:r,i=a._loadingKeys,s=void 0===i?[]:i,c=t.$props.loadData,d=Object(u["l"])(e),l=d.eventKey;if(!c||-1!==o.indexOf(l)||-1!==s.indexOf(l))return{};var p=c(e);return p.then((function(){var a=t.$data,r=a._loadedKeys,o=a._loadingKeys,i=Object(f["a"])(r,l),s=Object(f["b"])(o,l);t.__emit("load",i,{event:"load",node:e}),t.setUncontrolledState({_loadedKeys:i}),t.setState({_loadingKeys:s}),n()})),{_loadingKeys:Object(f["a"])(s,l)}}))}))},onNodeExpand:function(e,t){var n=this,a=this.$data._expandedKeys,r=this.$props.loadData,o=Object(u["l"])(t),i=o.eventKey,s=o.expanded,c=a.indexOf(i),d=!s;if(l()(s&&-1!==c||!s&&-1===c,"Expand state not sync with index check"),a=d?Object(f["a"])(a,i):Object(f["b"])(a,i),this.setUncontrolledState({_expandedKeys:a}),this.__emit("expand",a,{node:t,expanded:d,nativeEvent:e}),this.__emit("update:expandedKeys",a),d&&r){var p=this.onNodeLoad(t);return p?p.then((function(){n.setUncontrolledState({_expandedKeys:a})})):null}return null},onNodeMouseEnter:function(e,t){this.__emit("mouseenter",{event:e,node:t})},onNodeMouseLeave:function(e,t){this.__emit("mouseleave",{event:e,node:t})},onNodeContextMenu:function(e,t){e.preventDefault(),this.__emit("rightClick",{event:e,node:t})},setUncontrolledState:function(e){var t=!1,n={},a=Object(u["l"])(this);Object.keys(e).forEach((function(r){r.replace("_","")in a||(t=!0,n[r]=e[r])})),t&&this.setState(n)},registerTreeNode:function(e,t){t?this.domTreeNodes[e]=t:delete this.domTreeNodes[e]},isKeyChecked:function(e){var t=this.$data._checkedKeys,n=void 0===t?[]:t;return-1!==n.indexOf(e)},renderTreeNode:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=this.$data,r=a._keyEntities,o=a._expandedKeys,i=void 0===o?[]:o,s=a._selectedKeys,c=void 0===s?[]:s,d=a._halfCheckedKeys,l=void 0===d?[]:d,u=a._loadedKeys,h=void 0===u?[]:u,m=a._loadingKeys,g=void 0===m?[]:m,b=a._dragOverNodeKey,v=a._dropPosition,y=Object(f["k"])(n,t),k=e.key;return k||void 0!==k&&null!==k||(k=y),r.get(k)?Object(p["a"])(e,{props:{eventKey:k,expanded:-1!==i.indexOf(k),selected:-1!==c.indexOf(k),loaded:-1!==h.indexOf(k),loading:-1!==g.indexOf(k),checked:this.isKeyChecked(k),halfChecked:-1!==l.indexOf(k),pos:y,dragOver:b===k&&0===v,dragOverGapTop:b===k&&-1===v,dragOverGapBottom:b===k&&1===v},key:k}):(Object(f["o"])(),null)}},render:function(){var e=this,t=arguments[0],n=this.$data._treeNode,r=this.$props,o=r.prefixCls,i=r.focusable,s=r.showLine,d=r.tabIndex,l=void 0===d?0:d;return t("ul",{class:c()(o,Object(a["a"])({},"".concat(o,"-show-line"),s)),attrs:{role:"tree",unselectable:"on",tabIndex:i?l:null}},[Object(f["l"])(n,(function(t,n){return e.renderTreeNode(t,n)}))])}},v=Object(m["a"])(b),y=n("2b5d");b.TreeNode=y["a"],v.TreeNode=y["a"];t["default"]=v},"04b3":function(e,t,n){"use strict";var a=n("a1d4"),r=n.n(a);n.d(t,"f",(function(){return r.a}));var o=n("5b96"),i=n.n(o);n.d(t,"g",(function(){return i.a}));var s=n("eb1e"),c=n.n(s);n.d(t,"c",(function(){return c.a}));var d=n("559f"),l=n.n(d);n.d(t,"j",(function(){return l.a}));var u=n("3a93"),p=n.n(u);n.d(t,"b",(function(){return p.a}));var h=n("38d8"),m=n.n(h);n.d(t,"k",(function(){return m.a}));var f=n("1a79"),g=n.n(f);n.d(t,"l",(function(){return g.a}));var b=n("401b"),v=n.n(b);n.d(t,"m",(function(){return v.a}));var y=n("524c"),k=n.n(y);n.d(t,"h",(function(){return k.a}));n("60fa"),n("8484"),n("6fb3");var x=n("7e43"),O=n.n(x);n.d(t,"i",(function(){return O.a}));var w=n("0787"),j=n.n(w);n.d(t,"e",(function(){return j.a}));var C=n("ba93"),_=n.n(C);n.d(t,"d",(function(){return _.a}));var M=n("6052"),S=n.n(M);n.d(t,"a",(function(){return S.a}));n("e9ba"),n("7d57"),n("36fa")},"0787":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1653368449777",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"17693",width:"200",height:"200"},children:[{tag:"path",attrsMap:{d:"M794.112 0H231.936C104.96 0 0 104.96 0 231.424v558.08C0 919.04 104.96 1024 231.936 1024h559.616c129.536 0 231.936-104.96 231.936-231.424V231.424c3.072-126.464-102.4-231.424-229.376-231.424z m-378.88 675.328c-34.304 0-60.928-7.168-92.672-12.288l-95.232 44.032 27.136-80.384c-68.608-46.08-107.52-107.52-107.52-180.224 0-126.976 119.808-226.816 268.8-226.816 132.096 0 246.784 80.384 271.36 187.904-7.168 0-16.896-2.56-27.136-2.56-126.976 0-227.328 95.232-227.328 211.968 0 19.456 2.56 38.912 7.168 56.32-7.168-0.512-16.896 2.048-24.576 2.048zM808.96 768l19.456 66.048-73.216-38.912c-27.136 7.168-53.76 12.288-80.896 12.288-126.976 0-227.328-87.552-227.328-195.072s100.352-195.072 227.328-195.072c119.808 0 227.328 87.552 227.328 195.072 2.56 62.976-38.912 114.176-92.672 155.648zM361.472 365.568c0 19.456-16.896 36.352-36.864 36.352s-36.864-16.896-36.864-36.352 16.896-36.352 36.864-36.352 36.864 16.896 36.864 36.352z m115.2 0c0-19.456 16.896-36.352 36.864-36.352 19.456 0 36.864 16.896 36.864 36.352s-16.896 36.352-36.864 36.352c-22.528 0.512-36.864-14.336-36.864-36.352z m307.712 187.904c0 16.896-14.848 29.184-29.184 29.184-16.896 0-29.184-14.848-29.184-29.184 0-16.896 14.848-29.184 29.184-29.184 14.848 0 29.184 12.288 29.184 29.184z m-148.992 0c0 16.896-14.848 29.184-29.184 29.184-14.848 0-29.184-14.848-29.184-29.184 0-14.848 14.848-29.184 29.184-29.184 14.336 0 29.184 12.288 29.184 29.184z","p-id":"17694"}}]})}},"1a79":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1599016452086",class:"icon",viewBox:"0 0 1147 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"9426","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"560.05859375",height:"500"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M1038.020219 178.928351 106.89802 178.928351 10.24 431.8492C10.24 507.56499 73.069837 570.38696 150.394994 570.38696 227.71386 570.38696 292.153063 509.174358 292.153063 431.8492 292.153063 507.56499 354.9829 570.38696 432.308058 570.38696 509.633217 570.38696 574.066127 509.174358 574.066127 431.8492 574.066127 507.56499 636.895965 570.38696 714.221122 570.38696 791.547853 570.38696 854.369823 509.174358 854.369823 431.8492 854.369823 507.56499 917.199661 570.38696 996.135758 570.38696 1073.460916 570.38696 1137.90012 509.174358 1137.90012 431.8492L1038.020219 178.928351 1038.020219 178.928351ZM960.69506 613.883935 960.69506 936.073665 187.445059 936.073665 187.445059 613.883935 106.89802 613.883935 106.89802 952.186218C106.89802 981.180006 139.118409 1016.619131 168.112197 1016.619131L978.418557 1016.619131C1007.410772 1016.619131 1039.631159 981.180006 1039.631159 952.186218L1039.631159 613.883935 960.69506 613.883935 960.69506 613.883935ZM1038.020219 177.318984 1038.020219 177.318984 1041.240527 180.134984 1038.020219 177.318984 1038.020219 177.318984ZM171.330932 114.495439 976.801323 114.495439C1004.192035 114.495439 1025.134266 93.553209 1025.134266 66.16407 1025.134266 38.779649 1004.192035 17.837419 976.801323 17.837419L171.330932 17.837419C143.948085 17.837419 123.005855 38.779649 123.005855 66.16407 123.005855 93.553209 143.948085 114.495439 171.330932 114.495439L171.330932 114.495439Z","p-id":"9427"}}]})}},"1d4b":function(e,t,n){"use strict";var a=n("5530"),r=(n("d3b7"),n("ed3b"));t["a"]=function(e){function t(t,n,o){var i=this;if(o=o||{},i&&i._isVue){var s=document.querySelector("body>div[type=dialog]");s||(s=document.createElement("div"),s.setAttribute("type","dialog"),document.body.appendChild(s));var c=function(e,t){if(e instanceof Function){var n=e();n instanceof Promise?n.then((function(e){e&&t()})):n&&t()}else e||t()},d=new e({data:function(){return{visible:!0}},router:i.$router,store:i.$store,mounted:function(){var e=this;this.$on("close",(function(t){e.handleClose()}))},methods:{handleClose:function(){var e=this;c(this.$refs._component.onCancel,(function(){e.visible=!1,e.$refs._component.$emit("close"),e.$refs._component.$emit("cancel"),d.$destroy()}))},handleOk:function(){var e=this;c(this.$refs._component.onOK||this.$refs._component.onOk,(function(){e.visible=!1,e.$refs._component.$emit("close"),e.$refs._component.$emit("ok"),d.$destroy()}))}},render:function(e){var i=this,s=o&&o.model;s&&delete o.model;var c=Object.assign({},s&&{model:s}||{},{attrs:Object.assign({},Object(a["a"])({},o.attrs||o),{visible:this.visible}),on:Object.assign({},Object(a["a"])({},o.on||o),{ok:function(){i.handleOk()},cancel:function(){i.handleClose()}})}),d=n&&n.model;d&&delete n.model;var l=Object.assign({},d&&{model:d}||{},{ref:"_component",attrs:Object.assign({},Object(a["a"])({},n&&n.attrs||n)),on:Object.assign({},Object(a["a"])({},n&&n.on||n))});return e(r["a"],c,[e(t,l)])}}).$mount(s)}}Object.defineProperty(e.prototype,"$dialog",{get:function(){return function(){t.apply(this,arguments)}}})}},"24e1":function(e,t,n){"use strict";n("7257")},"2b5d":function(e,t,n){"use strict";var a=n("ade3"),r=n("2638"),o=n.n(r),i=n("53ca"),s=n("5530"),c=(n("99af"),n("4d91")),d=n("4d26"),l=n.n(d),u=n("d22e"),p=n("daa3"),h=n("b488"),m=n("94eb");function f(){}var g="open",b="close",v="---",y={name:"TreeNode",mixins:[h["a"]],__ANT_TREE_NODE:!0,props:Object(p["t"])({eventKey:c["a"].oneOfType([c["a"].string,c["a"].number]),prefixCls:c["a"].string,root:c["a"].object,expanded:c["a"].bool,selected:c["a"].bool,checked:c["a"].bool,loaded:c["a"].bool,loading:c["a"].bool,halfChecked:c["a"].bool,title:c["a"].any,pos:c["a"].string,dragOver:c["a"].bool,dragOverGapTop:c["a"].bool,dragOverGapBottom:c["a"].bool,isLeaf:c["a"].bool,checkable:c["a"].bool,selectable:c["a"].bool,disabled:c["a"].bool,disableCheckbox:c["a"].bool,icon:c["a"].any,dataRef:c["a"].object,switcherIcon:c["a"].any,label:c["a"].any,value:c["a"].any},{}),data:function(){return{dragNodeHighlight:!1}},inject:{vcTree:{default:function(){return{}}},vcTreeNode:{default:function(){return{}}}},provide:function(){return{vcTreeNode:this}},mounted:function(){var e=this.eventKey,t=this.vcTree.registerTreeNode;this.syncLoadData(this.$props),t&&t(e,this)},updated:function(){this.syncLoadData(this.$props)},beforeDestroy:function(){var e=this.eventKey,t=this.vcTree.registerTreeNode;t&&t(e,null)},methods:{onSelectorClick:function(e){var t=this.vcTree.onNodeClick;t(e,this),this.isSelectable()?this.onSelect(e):this.onCheck(e)},onSelectorDoubleClick:function(e){var t=this.vcTree.onNodeDoubleClick;t(e,this)},onSelect:function(e){if(!this.isDisabled()){var t=this.vcTree.onNodeSelect;e.preventDefault(),t(e,this)}},onCheck:function(e){if(!this.isDisabled()){var t=this.disableCheckbox,n=this.checked,a=this.vcTree.onNodeCheck;if(this.isCheckable()&&!t){e.preventDefault();var r=!n;a(e,this,r)}}},onMouseEnter:function(e){var t=this.vcTree.onNodeMouseEnter;t(e,this)},onMouseLeave:function(e){var t=this.vcTree.onNodeMouseLeave;t(e,this)},onContextMenu:function(e){var t=this.vcTree.onNodeContextMenu;t(e,this)},onDragStart:function(e){var t=this.vcTree.onNodeDragStart;e.stopPropagation(),this.setState({dragNodeHighlight:!0}),t(e,this);try{e.dataTransfer.setData("text/plain","")}catch(n){}},onDragEnter:function(e){var t=this.vcTree.onNodeDragEnter;e.preventDefault(),e.stopPropagation(),t(e,this)},onDragOver:function(e){var t=this.vcTree.onNodeDragOver;e.preventDefault(),e.stopPropagation(),t(e,this)},onDragLeave:function(e){var t=this.vcTree.onNodeDragLeave;e.stopPropagation(),t(e,this)},onDragEnd:function(e){var t=this.vcTree.onNodeDragEnd;e.stopPropagation(),this.setState({dragNodeHighlight:!1}),t(e,this)},onDrop:function(e){var t=this.vcTree.onNodeDrop;e.preventDefault(),e.stopPropagation(),this.setState({dragNodeHighlight:!1}),t(e,this)},onExpand:function(e){var t=this.vcTree.onNodeExpand;t(e,this)},getNodeChildren:function(){var e=this.$slots.default,t=Object(p["c"])(e),n=Object(u["j"])(t);return t.length!==n.length&&Object(u["o"])(),n},getNodeState:function(){var e=this.expanded;return this.isLeaf2()?null:e?g:b},isLeaf2:function(){var e=this.isLeaf,t=this.loaded,n=this.vcTree.loadData,a=0!==this.getNodeChildren().length;return!1!==e&&(e||!n&&!a||n&&t&&!a)},isDisabled:function(){var e=this.disabled,t=this.vcTree.disabled;return!1!==e&&!(!t&&!e)},isCheckable:function(){var e=this.$props.checkable,t=this.vcTree.checkable;return!(!t||!1===e)&&t},syncLoadData:function(e){var t=e.expanded,n=e.loading,a=e.loaded,r=this.vcTree,o=r.loadData,i=r.onNodeLoad;if(!n&&o&&t&&!this.isLeaf2()){var s=0!==this.getNodeChildren().length;s||a||i(this)}},isSelectable:function(){var e=this.selectable,t=this.vcTree.selectable;return"boolean"===typeof e?e:t},renderSwitcher:function(){var e=this.$createElement,t=this.expanded,n=this.vcTree.prefixCls,a=Object(p["g"])(this,"switcherIcon",{},!1)||Object(p["g"])(this.vcTree,"switcherIcon",{},!1);if(this.isLeaf2())return e("span",{key:"switcher",class:l()("".concat(n,"-switcher"),"".concat(n,"-switcher-noop"))},["function"===typeof a?a(Object(s["a"])(Object(s["a"])(Object(s["a"])({},this.$props),this.$props.dataRef),{},{isLeaf:!0})):a]);var r=l()("".concat(n,"-switcher"),"".concat(n,"-switcher_").concat(t?g:b));return e("span",{key:"switcher",on:{click:this.onExpand},class:r},["function"===typeof a?a(Object(s["a"])(Object(s["a"])(Object(s["a"])({},this.$props),this.$props.dataRef),{},{isLeaf:!1})):a])},renderCheckbox:function(){var e=this.$createElement,t=this.checked,n=this.halfChecked,a=this.disableCheckbox,r=this.vcTree.prefixCls,o=this.isDisabled(),i=this.isCheckable();if(!i)return null;var s="boolean"!==typeof i?i:null;return e("span",{key:"checkbox",class:l()("".concat(r,"-checkbox"),t&&"".concat(r,"-checkbox-checked"),!t&&n&&"".concat(r,"-checkbox-indeterminate"),(o||a)&&"".concat(r,"-checkbox-disabled")),on:{click:this.onCheck}},[s])},renderIcon:function(){var e=this.$createElement,t=this.loading,n=this.vcTree.prefixCls;return e("span",{key:"icon",class:l()("".concat(n,"-iconEle"),"".concat(n,"-icon__").concat(this.getNodeState()||"docu"),t&&"".concat(n,"-icon_loading"))})},renderSelector:function(e){var t,n=this.selected,a=this.loading,r=this.dragNodeHighlight,o=Object(p["g"])(this,"icon",{},!1),i=this.vcTree,c=i.prefixCls,d=i.showIcon,u=i.icon,h=i.draggable,m=i.loadData,g=this.isDisabled(),b=Object(p["g"])(this,"title",{},!1),y="".concat(c,"-node-content-wrapper");if(d){var k=o||u;t=k?e("span",{class:l()("".concat(c,"-iconEle"),"".concat(c,"-icon__customize"))},["function"===typeof k?k(Object(s["a"])(Object(s["a"])({},this.$props),this.$props.dataRef),e):k]):this.renderIcon()}else m&&a&&(t=this.renderIcon());var x=b,O=e("span",{class:"".concat(c,"-title")},x?["function"===typeof x?x(Object(s["a"])(Object(s["a"])({},this.$props),this.$props.dataRef),e):x]:[v]);return e("span",{key:"selector",ref:"selectHandle",attrs:{title:"string"===typeof b?b:"",draggable:!g&&h||void 0,"aria-grabbed":!g&&h||void 0},class:l()("".concat(y),"".concat(y,"-").concat(this.getNodeState()||"normal"),!g&&(n||r)&&"".concat(c,"-node-selected"),!g&&h&&"draggable"),on:{mouseenter:this.onMouseEnter,mouseleave:this.onMouseLeave,contextmenu:this.onContextMenu,click:this.onSelectorClick,dblclick:this.onSelectorDoubleClick,dragstart:h?this.onDragStart:f}},[t,O])},renderChildren:function(){var e=this.$createElement,t=this.expanded,n=this.pos,a=this.vcTree,r=a.prefixCls,c=a.openTransitionName,d=a.openAnimation,p=a.renderTreeNode,h={};c?h=Object(m["a"])(c):"object"===Object(i["a"])(d)&&(h=Object(s["a"])({},d),h.props=Object(s["a"])({css:!1},h.props));var f,g=this.getNodeChildren();return 0===g.length?null:(t&&(f=e("ul",{class:l()("".concat(r,"-child-tree"),t&&"".concat(r,"-child-tree-open")),attrs:{"data-expanded":t,role:"group"}},[Object(u["l"])(g,(function(e,t){return p(e,t,n)}))])),e("transition",o()([{},h]),[f]))}},render:function(e){var t,n=this.$props,r=n.dragOver,o=n.dragOverGapTop,i=n.dragOverGapBottom,s=n.isLeaf,c=n.expanded,d=n.selected,l=n.checked,u=n.halfChecked,p=n.loading,h=this.vcTree,m=h.prefixCls,g=h.filterTreeNode,b=h.draggable,v=this.isDisabled();return e("li",{class:(t={},Object(a["a"])(t,"".concat(m,"-treenode-disabled"),v),Object(a["a"])(t,"".concat(m,"-treenode-switcher-").concat(c?"open":"close"),!s),Object(a["a"])(t,"".concat(m,"-treenode-checkbox-checked"),l),Object(a["a"])(t,"".concat(m,"-treenode-checkbox-indeterminate"),u),Object(a["a"])(t,"".concat(m,"-treenode-selected"),d),Object(a["a"])(t,"".concat(m,"-treenode-loading"),p),Object(a["a"])(t,"drag-over",!v&&r),Object(a["a"])(t,"drag-over-gap-top",!v&&o),Object(a["a"])(t,"drag-over-gap-bottom",!v&&i),Object(a["a"])(t,"filter-node",g&&g(this)),t),attrs:{role:"treeitem"},on:{dragenter:b?this.onDragEnter:f,dragover:b?this.onDragOver:f,dragleave:b?this.onDragLeave:f,drop:b?this.onDrop:f,dragend:b?this.onDragEnd:f}},[this.renderSwitcher(),this.renderCheckbox(),this.renderSelector(e),this.renderChildren()])},isTreeNode:1};t["a"]=y},"2cb7":function(e,t,n){},"33ca":function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return i}));var a=n("b775"),r={info:"/store/info",update:"/store/update"};function o(e){return Object(a["b"])({url:r.info,method:"get",params:e})}function i(e){return Object(a["b"])({url:r.update,method:"post",data:e})}},"36fa":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"1024",height:"1024",viewBox:"0 0 1024 1024"},children:[{tag:"title"},{tag:"g",attrsMap:{id:"icomoon-ignore"}},{tag:"path",attrsMap:{d:"M783 0h-542q-66 0-121 32.5t-87.5 87.5-32.5 121v542q0 66 32.5 121t87.5 87.5 121 32.5h542q66 0 121-32.5t87.5-87.5 32.5-121v-542q0-66-32.5-121t-87.5-87.5-121-32.5M512 785q-56 0-109-15-16 3-30 9l-67 42q-30 20-19-15l14-53q2-15-2-31-62-41-97-101-36-61-36-131 0-79 47-148 46-67 124-106 81-40 175-40 86 0 161 34 73 33 121 90l-322 154q-18 10-34.5 10t-32.5-15l-52-46q-35-10-25 23l56 136q10 16 25 18t38-14l374-228q37 62 37 132 0 80-47 149-46 67-124 106-81 40-175 40z"}}]})}},"38d8":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1598326995472",class:"icon",viewBox:"0 0 1152 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"9426","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"562.5",height:"500"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M1146.496 435.392c-4.512-23.808-28.64-48-53.696-53.376l-18.72-4.064c-44-12.64-83.008-40.288-107.808-80.992a169.184 169.184 0 0 1-19.84-130.08l5.856-16.704c7.456-23.136-2.24-55.072-21.888-70.944 0 0-17.6-14.144-67.232-41.376-49.632-27.008-71.04-34.496-71.04-34.496-24.128-8.352-57.984-0.416-75.552 17.376l-13.088 13.28c-33.376 30.016-78.272 48.224-127.872 48.224s-94.976-18.432-128.352-48.64l-12.64-12.864c-17.376-17.792-51.424-25.728-75.552-17.344 0 0-21.664 7.52-71.264 34.496-49.632 27.424-66.976 41.568-66.976 41.568-19.616 15.648-29.312 47.36-21.888 70.72l5.408 16.928c10.592 42.656 4.96 88.928-19.84 129.888s-64.288 68.8-108.48 81.216l-18.048 3.84c-24.8 5.376-49.184 29.376-53.696 53.376 0 0-4.064 21.44-4.064 75.872s4.064 75.872 4.064 75.872c4.512 24 28.64 48 53.696 53.376l17.6 3.872c44.192 12.416 83.904 40.288 108.704 81.44a169.056 169.056 0 0 1 19.84 130.08l-5.184 16.512c-7.456 23.136 2.24 55.072 21.888 70.944 0 0 17.6 14.144 67.232 41.376s71.04 34.496 71.04 34.496c24.128 8.352 57.984 0.416 75.584-17.376l12.416-12.64c33.6-30.208 78.72-48.64 128.576-48.64s95.168 18.656 128.576 48.864l12.416 12.64c17.376 17.792 51.424 25.728 75.552 17.344 0 0 21.664-7.488 71.264-34.496 49.632-27.232 66.976-41.376 66.976-41.376 19.616-15.648 29.312-47.584 21.888-70.944l-5.408-17.152a168.736 168.736 0 0 1 19.84-129.44c24.8-40.928 64.512-69.024 108.704-81.44l17.6-3.872c24.8-5.344 49.184-29.344 53.696-53.376 0 0 4.064-21.44 4.064-75.872-0.224-54.656-4.288-76.064-4.288-76.064z m-570.88 293.824c-126.528 0-229.408-97.504-229.408-217.952 0-120.224 102.624-217.76 229.408-217.76 126.528 0 229.376 97.504 229.376 217.952-0.224 120.224-102.848 217.76-229.376 217.76z","p-id":"9427"}}]})}},"3a93":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1595829608228",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4042",width:"500",height:"500"},children:[{tag:"path",attrsMap:{d:"M202.24 61.44h619.52c48.64 0 88.746667 40.106667 88.746667 88.746667v707.413333c0 48.64-40.106667 88.746667-88.746667 88.746667H202.24c-48.64 0-88.746667-40.106667-88.746667-88.746667v-708.266667c0.853333-48.64 40.106667-87.893333 88.746667-87.893333z m88.746667 198.826667v88.746666h447.146666V260.266667H290.986667z m0 175.786666v88.746667h447.146666V436.053333H290.986667z m0 178.346667v88.746667h334.506666V614.4H290.986667z","p-id":"4043"}}]})}},"401b":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1599184757190",class:"icon",viewBox:"0 0 1027 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"1064",width:"500",height:"500"},children:[{tag:"path",attrsMap:{d:"M790.62826087 316.98369565a274.54891304 274.54891304 0 1 1-549.09782609 0 274.54891304 274.54891304 0 0 1 549.09782609 0z m-47.95434783 287.4326087a364.79347826 364.79347826 0 0 1-226.59456521 78.56413043c-84.28695652 0-164.34782609-28.70217391-228.61956522-80.17826087C118.06413043 664.99021739 42.40543478 882.31086957 42.40543478 981.56521739h942.53478261c0-98.37391304-76.24565217-314.16847826-242.29565217-377.11956522z","p-id":"1065"}}]})}},4077:function(e,t,n){},4360:function(e,t,n){"use strict";var a,r=n("2b0e"),o=n("2f62"),i=n("ade3"),s=(n("d3b7"),n("8ded")),c=n.n(s),d=n("9fb0"),l=n("bf0f"),u={state:{sideCollapsed:!1,isMobile:!1,theme:"dark",layout:"",contentWidth:"",fixedHeader:!1,fixedSidebar:!1,autoHideHeader:!1,color:"",weak:!1,multiTab:!0,lang:"en-US",_antLocale:{}},mutations:(a={},Object(i["a"])(a,d["c"],(function(e,t){e.sideCollapsed=t,c.a.set(d["c"],t)})),Object(i["a"])(a,d["j"],(function(e,t){e.isMobile=t})),Object(i["a"])(a,d["l"],(function(e,t){e.theme=t,c.a.set(d["l"],t)})),Object(i["a"])(a,d["i"],(function(e,t){e.layout=t,c.a.set(d["i"],t)})),Object(i["a"])(a,d["f"],(function(e,t){e.fixedHeader=t,c.a.set(d["f"],t)})),Object(i["a"])(a,d["g"],(function(e,t){e.fixedSidebar=t,c.a.set(d["g"],t)})),Object(i["a"])(a,d["e"],(function(e,t){e.contentWidth=t,c.a.set(d["e"],t)})),Object(i["a"])(a,d["h"],(function(e,t){e.autoHideHeader=t,c.a.set(d["h"],t)})),Object(i["a"])(a,d["d"],(function(e,t){e.color=t,c.a.set(d["d"],t)})),Object(i["a"])(a,d["m"],(function(e,t){e.weak=t,c.a.set(d["m"],t)})),Object(i["a"])(a,d["b"],(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e.lang=t,e._antLocale=n,c.a.set(d["b"],t)})),Object(i["a"])(a,d["k"],(function(e,t){c.a.set(d["k"],t),e.multiTab=t})),a),actions:{setLang:function(e,t){var n=e.commit;return new Promise((function(e,a){n(d["b"],t),Object(l["c"])(t).then((function(){e()})).catch((function(e){a(e)}))}))}}},p=u,h=(n("b0c0"),n("d81d"),n("b775")),m={login:"/passport/login",logout:"/passport/logout"};function f(e){return Object(h["b"])({url:m.login,method:"post",data:e})}function g(){return Object(h["b"])({url:m.logout,method:"post"})}var b=n("f544"),v=n("ca00"),y={state:{token:"",name:"",welcome:"",roles:{},info:{}},mutations:{SET_TOKEN:function(e,t){e.token=t},SET_NAME:function(e,t){var n=t.name,a=t.welcome;e.name=n,e.welcome=a},SET_AVATAR:function(e,t){e.avatar=t},SET_ROLES:function(e,t){e.roles=t},SET_INFO:function(e,t){e.info=t}},actions:{Login:function(e,t){var n=e.commit;return new Promise((function(e,a){f(t).then((function(t){var a=t.data;c.a.set(d["a"],a.token,6048e5),n("SET_TOKEN",a.token),e(t)})).catch((function(e){a(e)}))}))},GetInfo:function(e){var t=e.commit,n=window.localStorage.getItem("client_id");return new Promise((function(e,a){Object(b["d"])({client_id:n}).then((function(n){var a=n.data,r=a.roles;r.permissions.map((function(e){e.actionList=[],e.actionEntitySet&&e.actionEntitySet.length>0&&(e.actionList=e.actionEntitySet.map((function(e){return e.action})))})),r.permissionList=r.permissions.map((function(e){return e.permissionId})),t("SET_ROLES",r),t("SET_INFO",a.userInfo),t("SET_NAME",{name:a.userInfo.real_name,welcome:Object(v["i"])()}),e(a)})).catch((function(e){a(e)}))}))},Logout:function(e){var t=e.commit,n=e.state;return new Promise((function(e,a){g(n.token).then((function(){t("SET_TOKEN",""),t("SET_ROLES",[]),c.a.remove(d["a"]),e()}))}))},SuperLogin:function(e,t){var n=e.commit;c.a.set(d["a"],t["token"],6048e5),n("SET_TOKEN",t["token"])}}},k=y,x=(n("caad"),n("2532"),n("4de4"),n("159b"),n("99af"),n("d73b"));function O(e,t){if(t.meta&&t.meta.permission){for(var n=!1,a=0,r=e.length;a0&&(e.redirect&&-1!==n.indexOf(e.redirect)||(e.redirect=n[0]))}));var n=null!=e.children?e.children.map((function(e){return e.path})):[];n.length>0&&(e.redirect&&-1!==n.indexOf(e.redirect)||(e.redirect=n[0]))})),_(e)}function _(e){var t=e[0];if(t.children&&t.children.length){var n=t.children[0];t.redirect=null!=n.redirect?n.redirect:n.path}else t.redirect="/404";return e}var M={state:{routers:x["b"],addRouters:[]},mutations:{SET_ROUTERS:function(e,t){e.addRouters=t,e.routers=x["b"].concat(t)}},actions:{GenerateRoutes:function(e,t){var n=e.commit;return new Promise((function(e){var a=t.roles,r=j(x["a"],a);n("SET_ROUTERS",r),e(r)}))}}},S=M,K={isMobile:function(e){return e.app.isMobile},lang:function(e){return e.app.lang},theme:function(e){return e.app.theme},color:function(e){return e.app.color},token:function(e){return e.user.token},nickname:function(e){return e.user.name},welcome:function(e){return e.user.welcome},roles:function(e){return e.user.roles},userInfo:function(e){return e.user.info},addRouters:function(e){return e.permission.addRouters},multiTab:function(e){return e.app.multiTab},publicConfig:function(){return window.publicConfig}},E=K;r["a"].use(o["a"]);t["a"]=new o["a"].Store({modules:{app:p,user:k,permission:S},state:{},mutations:{},actions:{},getters:E})},"4aa4":function(e,t,n){var a={"./en-US":["743d"],"./en-US.js":["743d"],"./zh-CN":["2807","lang-zh-CN"],"./zh-CN.js":["2807","lang-zh-CN"]};function r(e){if(!n.o(a,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=a[e],r=t[0];return Promise.all(t.slice(1).map(n.e)).then((function(){return n(r)}))}r.keys=function(){return Object.keys(a)},r.id="4aa4",e.exports=r},"4ceb":function(e,t,n){"use strict";n.d(t,"a",(function(){return re})),n.d(t,"b",(function(){return te})),n.d(t,"d",(function(){return P})),n.d(t,"c",(function(){return Ct})),n.d(t,"f",(function(){return ut}));n("1a62");var a=n("98c5"),r=n("5530"),o=(n("2cb7"),n("4d91")),i=n("d525"),s=n("2638"),c=n.n(s),d=(n("8fb1"),n("0c63")),l=n("53ca"),u=(n("fbd8"),n("55f1")),p=(n("d81d"),n("d3b7"),n("159b"),n("7db0"),n("caad"),n("2532"),n("99af"),n("c428"),u["a"].Item),h=u["a"].SubMenu,m={menus:o["a"].array,collapsed:o["a"].bool.def(!1),theme:o["a"].string.def("dark"),mode:o["a"].string.def("inline"),i18nRender:o["a"].oneOfType([o["a"].func,o["a"].bool]).def(!1)},f=function(e,t,n){if(t&&!t.hidden){t.hideChildrenInMenu=!0;var a=t.children&&!t.hideChildrenInMenu;return a?g(e,t,n):b(e,t,n)}return null},g=function(e,t,n){return e(h,{key:t.path,attrs:{title:e("span",[v(e,t.meta.icon),e("span",[y(e,t.meta.title,n)])])}},[!t.hideChildrenInMenu&&t.children.map((function(t){return f(e,t,n)}))])},b=function(e,t,n){var a=Object.assign({},t.meta),o=a.target||null,i="router-link",s={to:{path:t.path}},c={target:o};return t.hideChildrenInMenu=!0,t.children&&t.hideChildrenInMenu&&t.children.forEach((function(e){e.meta=Object.assign(e.meta,{hidden:!0})})),e(p,{key:t.path},[e(i,{props:Object(r["a"])({},s),attrs:Object(r["a"])({},c)},[v(e,a.icon,a.iconStyle),y(e,a.title,n)])])},v=function(e,t,n){if(void 0===t||"none"===t||null===t)return null;var a={};return"object"===Object(l["a"])(t)?a.component=t:a.type=t,e(d["a"],{style:n,props:Object(r["a"])({},a)})},y=function(e,t,n){return e("span",[n&&n(t)||t])},k={name:"RouteMenu",props:m,data:function(){return{openKeys:[],selectedKeys:[],cachedOpenKeys:[]}},render:function(e){var t=this,n=this.mode,a=this.theme,r=this.menus,o=this.i18nRender,i=function(e){if("horizontal"!==n){var a=e.find((function(e){return!t.openKeys.includes(e)}));t.rootSubmenuKeys.includes(a)?t.openKeys=a?[a]:[]:t.openKeys=e}else t.openKeys=e},s={props:{mode:n,theme:a,openKeys:this.openKeys,selectedKeys:this.selectedKeys},on:{select:function(e){t.selectedKeys=e.selectedKeys,t.$emit("select",e)},openChange:i}},d=r.map((function(t){return t.hidden?null:f(e,t,o)}));return e(u["a"],c()([{class:"sub-menu"},s]),[d])},methods:{updateMenu:function(){var e=this.$route.matched.concat();this.selectedKeys=[this.$route.matched[1].path];var t=[];"inline"===this.mode&&e.forEach((function(e){e.path&&t.push(e.path)})),this.collapsed?this.cachedOpenKeys=t:this.openKeys=t}},computed:{rootSubmenuKeys:function(e){var t=[];return e.menus.forEach((function(e){return t.push(e.path)})),t}},created:function(){var e=this;this.$watch("$route",(function(){e.updateMenu()})),this.$watch("collapsed",(function(t){t?(e.cachedOpenKeys=e.openKeys.concat(),e.openKeys=[]):e.openKeys=e.cachedOpenKeys}))},mounted:function(){this.updateMenu()}},x=k,O=x,w=(n("6d2a"),n("9571")),j=(n("b0c0"),n("cd83"),n("4de4"),n("ca00")),C=(n("5805"),{name:"SecondMenu",props:{subMenuTitle:o["a"].string.def(""),subMenus:o["a"].array.def(),collapsed:o["a"].bool.def(!1)},data:function(){return{menuList:[]}},created:function(){this.updateMenu(this.subMenus)},watch:{subMenus:function(e){this.updateMenu(e)}},render:function(e){var t=this;return e("div",{class:"menu-second"},[e("div",{class:"menu-title"},[e("span",[this.subMenuTitle])]),e("ul",{class:"menu-list"},[this.menuList.map((function(e){return t.renderMenuItem(e)}))])])},methods:{updateMenu:function(e){var t=this,n=[];e.forEach((function(e){var a=t.isHasChildren(e),r=[];a&&e.children.forEach((function(e){r.push({title:e.meta.title,path:e.path,hidden:e.hidden,activePath:e.activePath})})),n.push({title:e.meta.title,path:e.path,activePath:e.activePath,hidden:e.hidden,isHasChildren:a,isHideChildren:e.isHideChildren||!1,children:r})})),this.menuList=n},isHasChildren:function(e){var t=void 0!==e.children,n=t?e.children.filter((function(e){return e.hidden})):[];return t&&n.length0&&e(D["a"],c()([{class:"".concat(B,"-tabs"),attrs:{activeKey:r,tabBarExtraContent:i},on:{change:function(e){o&&o(e)}}},s]),[a.map((function(t){return e(D["a"].TabPane,c()([{},t,{attrs:{tab:n(t.tab)},key:t.key}]))}))])},J=function(e,t,n){return t||n?e("div",{class:"".concat(B,"-detail")},[e("div",{class:"".concat(B,"-main")},[e("div",{class:"".concat(B,"-row")},[t&&e("div",{class:"".concat(B,"-content")},[t]),n&&e("div",{class:"".concat(B,"-extraContent")},[n])])])]):null},X=function(e,t,n,a){var o=t.title,i=t.content,s=t.pageHeaderRender,c=t.extra,d=t.extraContent,l=t.breadcrumb,u=t.back,p=Object(T["a"])(t,I);if(s)return s(Object(r["a"])({},t));var h=o;o||!1===o||(h=n.title);var m={breadcrumb:l,extra:c,title:a(h),footer:Z(e,p,a)};return u||(m.backIcon=!1),e(L["a"],{props:Object(r["a"])({},m),on:{back:u||Q}},[J(e,i,d)])},ee={name:"PageHeaderWrapper",props:U,inject:["locale","contentWidth","breadcrumbRender"],render:function(e){var t=this,n=this.$route,a=this.$listeners,o=this.$slots.default,i=Object(q["getComponentFromProp"])(this,"content"),s=Object(q["getComponentFromProp"])(this,"extra"),c=Object(q["getComponentFromProp"])(this,"extraContent"),d=Y(this.$props.route||n),l=this.$props.i18nRender||this.locale||G,u=this.$props.contentWidth||this.contentWidth||!1,p=this.$props.back||a.back,h=p&&function(){p&&p()}||void 0,m=this.$props.tabChange,f=function(e){t.$emit("tabChange",e),m&&m(e)},g={},b=this.$props.breadcrumb;if(!0===b){var v=n.matched.concat().map((function(e){return{path:e.path,breadcrumbName:l(e.meta.title)}})),y=function(e){var t=e.route,n=e.params,a=e.routes,r=(e.paths,e.h);return a.indexOf(t)===a.length-1&&r("span",[t.breadcrumbName])||r("router-link",{attrs:{to:{path:t.path||"/",params:n}}},[t.breadcrumbName])},k=this.breadcrumbRender||y;g={props:{routes:v,itemRender:k}}}else g=b||null;var x=Object(r["a"])(Object(r["a"])({},this.$props),{},{content:i,extra:s,extraContent:c,breadcrumb:g,tabChange:f,back:h});return e("div",{class:"ant-pro-page-header-wrap"},[e("div",{class:"".concat(B,"-page-header-warp")},[e(F,[X(e,x,d,l)])]),o?e(F,{attrs:{contentWidth:u}},[e("div",{class:"".concat(B,"-children-content")},[o])]):null])}},te=ee,ne=(n("9a93"),{links:o["a"].array,copyright:o["a"].any}),ae={name:"GlobalFooter",props:ne,render:function(){var e=arguments[0],t=Object(q["getComponentFromProp"])(this,"copyright"),n=Object(q["getComponentFromProp"])(this,"links"),a=Object(q["hasProp"])(n);return e("footer",{class:"ant-pro-global-footer"},[e("div",{class:"ant-pro-global-footer-links"},[a&&n.map((function(t){return e("a",{key:t.key,attrs:{title:t.key,target:t.blankTarget?"_blank":"_self",href:t.href}},[t.title])}))||n]),t&&e("div",{class:"ant-pro-global-footer-copyright"},[t])])}},re=ae,oe={name:"VueFragment",functional:!0,render:function(e,t){return t.children.length>1?e("div",{},t.children):t.children}},ie=(n("b64b"),n("c68f")),se=n("81a7"),ce=function(e,t){var n=e.slots&&e.slots();return n[t]||e.props[t]},de=function(e){return"function"===typeof e},le={daybreak:"daybreak","#1890ff":"daybreak","#F5222D":"dust","#FA541C":"volcano","#FAAD14":"sunset","#13C2C2":"cyan","#52C41A":"green","#2F54EB":"geekblue","#722ED1":"purple"},ue=function(e){return Object.keys(e).reduce((function(t,n){return t[e[n]]=n,t}),{})};function pe(e){return e&&le[e]?le[e]:e}function he(e){var t=ue(le);return e&&t[e]?t[e]:e}n("90f3"),n("a044");var me=n("b047"),fe=n.n(me),ge={collapsed:o["a"].bool,handleCollapse:o["a"].func,isMobile:o["a"].bool.def(!1),fixedHeader:o["a"].bool.def(!1),logo:o["a"].any,menuRender:o["a"].any,collapsedButtonRender:o["a"].any,rightContentRender:o["a"].any},be="ant-pro-global-header",ve={name:"GlobalHeader",props:ge,inject:["locale"],render:function(e){var t=this.$props,n=t.isMobile,a=t.logo,r=t.rightContentRender;return e("div",{class:be},[n&&e("a",{class:"".concat(be,"-logo"),key:"logo",attrs:{href:"/"}},[K(e,a)]),e("div",{class:be+"-tools"},[this.renderCollapsedButton(),this.renderRefreshButton(),this.renderBreadcrumb(),de(r)&&r(e,this.$props)||r])])},methods:{triggerResizeEvent:fe()((function(){se["a"]&&Object(ie["a"])(window,"resize")})),renderCollapsedButton:function(){var e=this.$createElement,t=this.$props,n=t.collapsed,a=t.collapsedButtonRender,r=void 0===a?function(t){return e(d["a"],{attrs:{type:t?"menu-unfold":"menu-fold"}})}:a,o=t.menuRender;return!1!==r&&!1!==o?e("div",{class:"".concat(be,"-trigger"),on:{click:this.onCollapsed}},[de(r)&&r(n)||r]):null},renderRefreshButton:function(){var e=this.$createElement;return e("span",{class:"ant-pro-global-header-trigger",on:{click:this.onRefresh}},[e(d["a"],{attrs:{type:"reload"}})])},renderBreadcrumb:function(){var e=this.$createElement,t=this.locale,n=this.$route,a=[];if(n.matched.concat().forEach((function(e){e.meta&&e.meta.title&&a.push({path:e.path,breadcrumbName:t(e.meta.title)})})),a.length<=1)return null;var r=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=["ant-breadcrumb-link"];return n&&a.push("active"),e("span",{class:a},[t.breadcrumbName])},o=[],i=e("span",{class:"ant-breadcrumb-separator"},["/"]);return a.forEach((function(e){var t=a.indexOf(e)===a.length-1;o.push(r(e,t)),!t&&o.push(i)})),e("div",{class:"".concat(be,"-breadcrumb")},[o])},onCollapsed:function(){var e=this.$props,t=e.collapsed,n=e.handleCollapse;n&&n(!t),this.triggerResizeEvent()},onRefresh:function(){window.location.reload()}},beforeDestroy:function(){this.triggerResizeEvent.cancel&&this.triggerResizeEvent.cancel()}},ye=ve,ke=a["a"].Header,xe=Object(r["a"])(Object(r["a"])(Object(r["a"])({},ge),S),{},{isMobile:o["a"].bool.def(!1),collapsed:o["a"].bool,logo:o["a"].any,hasSiderMenu:o["a"].bool,autoHideHeader:o["a"].bool,menuRender:o["a"].any,headerRender:o["a"].any,rightContentRender:o["a"].any,visible:o["a"].bool.def(!0)}),Oe=function(e,t){var n="topmenu"===t.layout,a=800,o=t.contentWidth,i="ant-pro-top-nav-header",s=t.logo,c=t.title,d=t.theme,l=t.isMobile,u=t.headerRender,p=t.rightContentRender,h={theme:d,isTop:n,isMobile:l},m=e(ye,{props:Object(r["a"])({},t)});return n&&!l&&(m=e("div",{class:[i,d]},[e("div",{class:["".concat(i,"-main"),o?"wide":""]},[e("div",{class:"".concat(i,"-left")},[e("div",{class:"".concat(i,"-logo"),key:"logo",attrs:{id:"logo"}},[E(e,{logo:s,title:c,menuHeaderRender:null})])]),e("div",{class:"".concat(i,"-menu"),style:{maxWidth:"".concat(a,"px"),flex:1}},[e(x,{props:Object(r["a"])({},t)})]),de(p)&&p(e,h)||p])])),u?u(e,t):m},we={name:"HeaderView",props:xe,render:function(e){var t=this.$props,n=t.visible,a=t.isMobile,r=t.layout,o=t.collapsed,i=t.fixedHeader,s=t.hasSiderMenu,c=this.$props,d="topmenu"===r,l=i&&s&&!d&&!a,u={"ant-pro-fixed-header":i,"ant-pro-top-menu":d};return n?e(oe,[e(ke,{style:{padding:0,width:l?"calc(100% - ".concat(o?80:160,"px)"):"100%",zIndex:9,right:i?0:void 0},class:u},[Oe(e,c)])]):null}},je=we,Ce=(n("d2a3"),n("4df5")),_e=a["a"].Content,Me={isChildrenLayout:o["a"].bool,location:o["a"].any,contentHeight:o["a"].number,contentWidth:o["a"].bool},Se={name:"WrapContent",props:Me,render:function(e){var t=this.$props,n=t.isChildrenLayout,a=t.contentWidth;return e(_e,[e(Ce["a"],{attrs:{getPopupContainer:function(e,t){return n?e.parentNode():document.body}}},[e("div",{class:"ant-pro-basicLayout-children-content-wrap"},[e(F,{attrs:{contentWidth:a}},[this.$slots.default])])])])}},Ke=Se,Ee={name:"ProConfigProvider",props:{i18nRender:o["a"].any,contentWidth:o["a"].bool,breadcrumbRender:o["a"].func},provide:function(){var e=this;return{locale:e.$props.i18nRender,contentWidth:e.$props.contentWidth,breadcrumbRender:e.$props.breadcrumbRender}},render:function(){var e=this.$scopedSlots,t=this.children||e["default"];return t()}},Ne=Ee,Ae=Object(r["a"])(Object(r["a"])(Object(r["a"])({},S),xe),{},{locale:o["a"].oneOfType([o["a"].string,o["a"].bool]).def("en-US"),breadcrumbRender:o["a"].func,disableMobile:o["a"].bool.def(!1),mediaQuery:o["a"].object.def({}),handleMediaQuery:o["a"].func,footerRender:o["a"].func}),$e={"screen-xs":{maxWidth:575},"screen-sm":{minWidth:576,maxWidth:767},"screen-md":{minWidth:768,maxWidth:991},"screen-lg":{minWidth:992,maxWidth:1199},"screen-xl":{minWidth:1200,maxWidth:1599},"screen-xxl":{minWidth:1600}},Pe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;return e?t?80:n:0},Te=function(e,t){return!1===t.headerRender?null:e(je,{props:Object(r["a"])({},t)})},De=function(e){return e},Le={name:"BasicLayout",functional:!0,props:Ae,render:function(e,t){var n=t.props,o=t.children,s=n.layout,c=n.isMobile,d=n.collapsed,l=n.siderWidth,u=n.mediaQuery,p=n.handleMediaQuery,h=n.handleCollapse,m=n.contentWidth,f=n.fixSiderbar,g=n.i18nRender,b=void 0===g?De:g,v=ce(t,"footerRender"),y=ce(t,"rightContentRender"),k=ce(t,"collapsedButtonRender"),x=ce(t,"menuHeaderRender"),O=ce(t,"breadcrumbRender"),w="topmenu"===s,j=!w,C=f&&!w&&!c,_=Object(r["a"])(Object(r["a"])({},n),{},{siderWidth:l,hasSiderMenu:j,footerRender:v,menuHeaderRender:x,rightContentRender:y,collapsedButtonRender:k,breadcrumbRender:O});return e(Ne,{attrs:{i18nRender:b,contentWidth:m,breadcrumbRender:O}},[e(i["ContainerQuery"],{attrs:{query:$e},on:{change:p}},[e(a["a"],{class:Object(r["a"])({"ant-pro-basicLayout":!0,"ant-pro-topmenu":w},u)},[Te(e,Object(r["a"])(Object(r["a"])({},_),{},{mode:"horizontal"})),e(P,{props:Object(r["a"])({},_),attrs:{collapsed:d},on:{collapse:h}}),e(a["a"],{class:[s],style:{paddingLeft:j?"".concat(Pe(!!C,d,l),"px"):void 0,minHeight:"100vh"}},[e(Ke,{class:"ant-pro-basicLayout-content",attrs:{contentWidth:m}},[o]),e(a["a"].Footer,[v&&(de(v)&&v(e)||v)])])])])])}},Re=Le,He=(n("6ba6"),n("5efb")),ze=(n("3b18"),n("f64c")),Fe=(n("ab9e"),n("2c92")),qe=(n("fbd6"),n("160c")),Ie=(n("d88f"),n("fe2b")),We=(n("55ec"),n("a79d")),Be=n("41b2"),Ve=n.n(Be),Ue=(n("a7c9"),n("0464")),Ge=(n("9a33"),n("f933")),Ye={value:{type:String,default:null},list:{type:Array,default:null}},Qe="ant-pro-setting-drawer-block-checbox",Ze={props:Ye,inject:["locale"],render:function(e){var t=this,n=this.value,a=this.list,r=this.$props.i18nRender||this.locale||vt,o=a||[{key:"sidemenu",url:"https://gw.alipayobjects.com/zos/antfincdn/XwFOFbLkSM/LCkqqYNmvBEbokSDscrm.svg",title:r("app.setting.sidemenu")},{key:"topmenu",url:"https://gw.alipayobjects.com/zos/antfincdn/URETY8%24STp/KDNDBbriJhLwuqMoxcAr.svg",title:r("app.setting.topmenu")}],i=function(e){t.$emit("change",e)},s={cursor:"not-allowed"};return e("div",{class:Qe,key:n},[o.map((function(t){return e(Ge["a"],{attrs:{title:t.title},key:t.key},[e("div",{class:Qe+"-item",style:t.disable&&s,on:{click:function(){return!t.disable&&i(t.key)}}},[e("img",{attrs:{src:t.url,alt:t.key}}),e("div",{class:Qe+"-selectIcon",style:{display:n===t.key?"block":"none"}},[e(d["a"],{attrs:{type:"check"}})])])])}))])}},Je=Ze,Xe=n("92fa"),et=n.n(Xe),tt=(n("b0cc"),"theme-color"),nt={color:o["a"].string,check:o["a"].bool},at={props:nt,functional:!0,render:function(e,t){var n=t.props,a=n.color,r=n.check,o=t.data;return e("div",et()([o,{style:{backgroundColor:a}}]),[r?e(d["a"],{attrs:{type:"check"}}):null])}},rt={colors:o["a"].array,title:o["a"].string,value:o["a"].string,i18nRender:o["a"].func},ot={props:rt,inject:["locale"],render:function(e){var t=this,n=this.title,a=this.value,r=this.colors,o=void 0===r?[]:r,i=this.$props.i18nRender||this.locale||vt,s=function(e){t.$emit("change",e)};return e("div",{class:tt,ref:"ref"},[e("h3",{class:tt+"-title"},[n]),e("div",{class:tt+"-content"},[o.map((function(t){var n=pe(t.key),r=a===t.key||pe(a)===t.key;return e(Ge["a"],{key:t.color,attrs:{title:n?i("app.setting.themecolor."+n):t.key}},[e(at,{class:tt+"-block",attrs:{color:t.color,check:r},on:{click:function(){return s(t.key)}}})])}))])])}},it=ot,st=(n("2ef0f"),n("9839")),ct=function(e,t){var n=Ve()({},t.action);return e(Ge["a"],{attrs:{title:t.disabled?t.disabledReason:"",placement:"left"}},[e(Ie["b"].Item,{attrs:{actions:[n]}},[e("span",{style:{opacity:t.disabled?.5:1}},[t.title])])])},dt={contentWidth:o["a"].bool,fixedHeader:o["a"].bool,fixSiderbar:o["a"].bool,layout:o["a"].oneOf(["sidemenu","topmenu"])},lt={props:dt,inject:["locale"],render:function(e){var t=this,n=this.$props.i18nRender||this.locale||vt,a=this.contentWidth,r=this.fixedHeader,o=this.layout,i=this.fixSiderbar,s=function(e,n){t.$emit("change",{type:e,value:n})};return e(Ie["b"],{attrs:{split:!1,dataSource:[{title:n("app.setting.content-width"),action:e(st["c"],{attrs:{value:a?"Fixed":"Fluid",size:"small"},on:{select:function(e){return s("contentWidth",e)}},style:{width:"80px"}},["sidemenu"===o?null:e(st["c"].Option,{attrs:{value:"Fixed"}},[n("app.setting.content-width.fixed")]),e(st["c"].Option,{attrs:{value:"Fluid"}},[n("app.setting.content-width.fluid")])])},{title:n("app.setting.fixedheader"),action:e(qe["a"],{attrs:{size:"small",checked:!!r},on:{change:function(e){return s("fixedHeader",e)}}})},{title:n("app.setting.fixedsidebar"),disabled:"topmenu"===o,disabledReason:n("app.setting.fixedsidebar.hint"),action:e(qe["a"],{attrs:{size:"small",disabled:"topmenu"===o,checked:!!i},on:{change:function(e){return s("fixSiderbar",e)}}})}],renderItem:function(t,n){return ct(e,t)}}})}},ut=(n("cb29"),n("a15b"),n("ac1f"),n("5319"),n("6a71"),n("7746"),function(e){}),pt=function(e){var t=document.body.querySelector("#app");e?t.classList.add("colorWeak"):t.classList.remove("colorWeak")},ht=n("b384"),mt=n.n(ht),ft="ant-pro-setting-drawer",gt={title:{type:String,default:""}},bt={props:gt,render:function(e){var t=this.title;return e("div",{style:{marginBottom:24}},[e("h3",{class:ft+"-title"},[t]),this.$slots["default"]])}},vt=function(e){return e},yt=function(e){var t=window.umi_plugin_ant_themeVar||[],n=[{key:"light",url:"https://gw.alipayobjects.com/zos/antfincdn/NQ%24zoisaD2/jpRkZQMyYRryryPNtyIC.svg",title:e("app.setting.pagestyle.light")},{key:"dark",url:"https://gw.alipayobjects.com/zos/antfincdn/XwFOFbLkSM/LCkqqYNmvBEbokSDscrm.svg",title:e("app.setting.pagestyle.dark")}],a=[{key:"#1890ff",color:"#1890ff",theme:"dark"}],r=[{key:"#1890ff",color:"#1890ff",theme:"dark"}];return t.find((function(e){return"dark"===e.theme}))&&n.push({disable:!0,key:"realDark",url:"https://gw.alipayobjects.com/zos/antfincdn/hmKaLQvmY2/LCkqqYNmvBEbokSDscrm.svg",title:e("app.setting.pagestyle.realdark")}),t.forEach((function(e){var t=(e.modifyVars||{})["@primary-color"];"dark"===e.theme&&t&&a.push(Ve()({color:t},e)),e.theme&&"light"!==e.theme||r.push(Ve()({color:t},e))})),{colorList:{dark:a,light:r},themeList:n}},kt=function(e,t,n){"primaryColor"===e&&ut(t),"colorWeak"===e&&pt(t)},xt=function(e){return JSON.stringify(Object(Ue["a"])(Ve()({},e,{primaryColor:he(e.primaryColor)}),["colorWeak"]),null,2)},Ot={theme:o["a"].oneOf(["dark","light","realDark"]),primaryColor:o["a"].string,layout:o["a"].oneOf(["sidemenu","topmenu"]),colorWeak:o["a"].bool,contentWidth:o["a"].bool,fixedHeader:o["a"].bool,fixSiderbar:o["a"].bool,hideHintAlert:o["a"].bool.def(!1),hideCopyButton:o["a"].bool.def(!1)},wt={getContainer:o["a"].func,settings:o["a"].objectOf(Ot)},jt={name:"SettingDrawer",props:wt,inject:["locale"],data:function(){return{show:!1}},render:function(e){var t=this,n=this.setShow,a=this.getContainer,r=this.settings,o=r.theme,i=void 0===o?"dark":o,s=r.primaryColor,c=void 0===s?"daybreak":s,l=r.layout,u=void 0===l?"sidemenu":l,p=r.fixedHeader,h=void 0!==p&&p,m=r.fixSiderbar,f=void 0!==m&&m,g=r.contentWidth,b=void 0!==g&&g,v=r.hideHintAlert,y=r.hideCopyButton,k=r.colorWeak,x=this.$props.i18nRender||this.locale,O=yt(x),j="topmenu"===u,C={color:"#fff",fontSize:20},_=function(e,n){t.$emit("change",{type:e,value:n}),kt(e,n,!1)};return e(w["a"],{attrs:{visible:this.show,width:300,placement:"right",getContainer:a},on:{close:function(){return n(!1)}},style:{zIndex:999}},[e("template",{slot:"handle"},[e("div",{class:ft+"-handle",on:{click:function(){return n(!t.show)}}},[this.show?e(d["a"],{attrs:{type:"close"},style:C}):e(d["a"],{attrs:{type:"setting"},style:C})])]),e("div",{class:ft+"-content"},[e(bt,{attrs:{title:x("app.setting.pagestyle")}},[e(Je,{attrs:{list:O.themeList,value:i},on:{change:function(e){_("theme",e)}}})]),e(it,{attrs:{title:x("app.setting.themecolor"),value:c,colors:O.colorList["realDark"===i?"dark":"light"]},on:{change:function(e){_("primaryColor",e,null)}}}),e(We["a"]),e(bt,{attrs:{title:x("app.setting.navigationmode")}},[e(Je,{attrs:{value:u},on:{change:function(e){_("layout",e,null)}}})]),e(lt,{attrs:{contentWidth:b,fixedHeader:h,fixSiderbar:!j&&f,layout:u},on:{change:function(e){var t=e.type,n=e.value;_(t,n)}}}),e(We["a"]),e(bt,{attrs:{title:x("app.setting.othersettings")}},[e(Ie["b"],{attrs:{split:!1,renderItem:function(t){return ct(e,t)},dataSource:[{title:x("app.setting.weakmode"),action:e(qe["a"],{attrs:{size:"small",checked:!!k},on:{change:function(e){return _("colorWeak",e)}}})}]}})]),v&&y?null:e(We["a"]),v?null:e(Fe["a"],{attrs:{type:"warning",message:x("app.setting.production.hint"),icon:e(d["a"],{attrs:{type:"notification"}}),showIcon:!0},style:{marginBottom:"16px"}}),y?null:e(mt.a,{attrs:{text:xt(r)},on:{copy:function(){return ze["a"].success(x("app.setting.copyinfo"))}}},[e(He["a"],{attrs:{block:!0}},[e(d["a"],{attrs:{type:"copy"}}),x("app.setting.copy")])])])])},methods:{setShow:function(e){this.show=e}}},Ct=jt;t["e"]=Re},"524c":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1599549785172",class:"icon",viewBox:"0 0 1102 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"3880",width:"500",height:"500"},children:[{tag:"path",attrsMap:{d:"M601.245538 272.147692l154.624 448.984616 55.217231 28.041846c36.312615 17.959385 76.878769 3.938462 87.827693-30.168616l33.083076-57.028923 163.209847-314.840615c17.486769-36.548923 3.465846-77.193846-30.404923-88.379077L544.768 19.298462C510.739692 8.270769 460.8-5.12 420.548923 8.979692l-119.729231 47.261539 192.827077 77.981538c36.076308 18.038154 79.399385 56.32 107.598769 137.924923z m122.249847 519.483077L538.702769 254.424615c-11.657846-33.949538-41.590154-76.957538-75.618461-88.142769L234.023385 70.183385a84.913231 84.913231 0 0 0-94.28677 32.610461L11.500308 321.851077c-19.928615 29.696-10.24 79.714462 1.496615 113.664l184.871385 537.284923c5.041231 36.312615 32.295385 49.782154 72.62523 35.84h-0.157538l418.028308-143.911385c33.634462-11.657846 46.946462-39.148308 35.131077-73.097846z m-448.196923-453.868307a50.648615 50.648615 0 0 1-64.196924-31.507693c-9.846154-28.829538 2.599385-54.508308 31.192616-64.275692 28.514462-9.846154 54.193231 2.756923 64.039384 31.507692a50.412308 50.412308 0 0 1-31.035076 64.275693z","p-id":"3881"}}]})}},"559f":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1595300943273",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"997",width:"500",height:"500"},children:[{tag:"path",attrsMap:{d:"M618.2 62c25.52958985 0 45.95976563 23.93964844 45.92988281 53.52011719 0 29.64023438-20.39941406 53.60976563-44.66953125 53.60976562H410.06005859c-25.47070313 0-45.9-24.00029297-45.9-53.60976562C364.15917969 85.93964844 384.55859375 62 410.06005859 62h208.1100586zM316.99970703 361.99970703h390.00058594a29.99970703 29.99970703 0 1 1 0 60.00029297H316.99970703a29.99970703 29.99970703 0 1 1 0-60.00029297z m0 180h390.00058594a29.99970703 29.99970703 0 1 1 0 60.00029297H316.99970703a29.99970703 29.99970703 0 1 1 0-60.00029297z m0 180h390.00058594a29.99970703 29.99970703 0 1 1 0 60.00029297H316.99970703a29.99970703 29.99970703 0 1 1 0-60.00029297zM739.82128906 122.00029297c0 65.99970703-12.06035156 101.81953125-75.96035156 101.81953125H360.13994141c-63.60029297 0-75.96035156-47.15947266-75.96035156-101.81953125h-101.25c-42.62958985 0-75.92958985 31.37958985-75.92958985 76.34970703v687.30029297c0 50.42988281 27.29970703 76.34970703 75.92958985 76.34970703h658.17070312c40.5 0 75.89970703-24.87041015 75.89970703-76.35058594V198.35087891c0-49.64941406-28.29023438-76.35058594-75.92958983-76.35058594h-101.25z","p-id":"998"}}]})}},"56d7":function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79df"),n("4de4"),n("d3b7"),n("4d90"),n("99af"),n("a4d3"),n("e01a"),n("b636"),n("dc8d"),n("efe9"),n("d28b"),n("2a1b"),n("80e0"),n("6b9e"),n("197b"),n("2351"),n("8172"),n("944a"),n("81b8"),n("a874"),n("cb29"),n("7db0"),n("c740"),n("0481"),n("5db7"),n("a630"),n("caad"),n("a15b"),n("d81d"),n("5ded"),n("fb6a"),n("4e82"),n("f785"),n("a434"),n("4069"),n("73d9"),n("c19f"),n("82da"),n("ace4"),n("efec"),n("b56e"),n("b0c0"),n("0c47"),n("4ec9"),n("5327"),n("79a8"),n("9ff9"),n("3ea3"),n("40d9"),n("ff9c"),n("0ac8"),n("f664"),n("4057"),n("bc01"),n("6b93"),n("ca21"),n("90d7"),n("2af1"),n("0261"),n("7898"),n("23dc"),n("b65f"),n("a9e3"),n("35b3"),n("f00c"),n("8ba4"),n("9129"),n("583b"),n("aff5"),n("e6e1"),n("c35a"),n("25eb"),n("b680"),n("12a8"),n("e71b"),n("4fadc"),n("dca8"),n("c1f9"),n("e439"),n("dbb4"),n("7039"),n("3410"),n("2b19"),n("c906"),n("e21d"),n("e43e"),n("b64b"),n("bf96"),n("5bf7"),n("cee8"),n("af93"),n("131a"),n("07ac"),n("a6fd"),n("4ae1"),n("3f3a"),n("ac16"),n("5d41"),n("9e4a"),n("7f78"),n("c760"),n("db96"),n("1bf2"),n("d6dd"),n("7ed3"),n("8b9a"),n("4d63"),n("ac1f"),n("5377"),n("25f0"),n("6062"),n("f5b2"),n("8a79"),n("f6d6"),n("2532"),n("3ca3"),n("466d"),n("843c"),n("d80f"),n("38cf"),n("5319"),n("841c"),n("1276"),n("2ca0"),n("498a"),n("1e25"),n("eee7"),n("18a5"),n("1393"),n("04d3"),n("cc71"),n("c7cd"),n("9767"),n("1913"),n("c5d0"),n("9911"),n("c96a"),n("2315"),n("4c53"),n("664f"),n("cfc3"),n("4a9b"),n("fd87"),n("8b09"),n("143c"),n("5cc6"),n("8a59"),n("84c3"),n("fb2c"),n("9a8c"),n("a975"),n("735e"),n("c1ac"),n("d139"),n("3a7b"),n("d5d6"),n("20bf"),n("82f8"),n("e91f"),n("60bd"),n("5f96"),n("3280"),n("3fcc"),n("ec97"),n("ca91"),n("25a1"),n("cd26"),n("3c5d"),n("2954"),n("649e"),n("219c"),n("170b"),n("b39a"),n("72f7"),n("10d1"),n("1fe2"),n("159b"),n("ddb0"),n("130f"),n("9f96"),n("2b3d"),n("bf19"),n("9861"),n("96cf");var a=n("2b0e"),r=function(){var e=this,t=e._self._c;return t("a-config-provider",{attrs:{locale:e.locale}},[t("div",{attrs:{id:"app"}},[t("router-view")],1)])},o=[],i=n("e819"),s=function(e){document.title=e;var t=navigator.userAgent,n=/\bMicroMessenger\/([\d\.]+)/;if(n.test(t)&&/ip(hone|od|ad)/i.test(t)){var a=document.createElement("iframe");a.src="/favicon.ico",a.style.display="none",a.onload=function(){setTimeout((function(){a.remove()}),9)},document.body.appendChild(a)}},c=(i["a"].title,n("bf0f")),d=n("b775");var l={data:function(){return{}},computed:{locale:function(){}}},u=l,p=n("2877"),h=Object(p["a"])(u,r,o,!1,null,null,null),m=h.exports,f=n("8c4f"),g=n("d73b"),b=f["a"].prototype.push;f["a"].prototype.push=function(e,t,n){return t||n?b.call(this,e,t,n):b.call(this,e).catch((function(e){return e}))},a["a"].use(f["a"]);var v=new f["a"]({mode:"hash",routes:g["b"]}),y=n("4360"),k=n("4ceb"),x={theme:[{key:"dark",fileName:"dark.css",theme:"dark"},{key:"#F5222D",fileName:"#F5222D.css",modifyVars:{"@primary-color":"#F5222D"}},{key:"#FA541C",fileName:"#FA541C.css",modifyVars:{"@primary-color":"#FA541C"}},{key:"#FAAD14",fileName:"#FAAD14.css",modifyVars:{"@primary-color":"#FAAD14"}},{key:"#13C2C2",fileName:"#13C2C2.css",modifyVars:{"@primary-color":"#13C2C2"}},{key:"#52C41A",fileName:"#52C41A.css",modifyVars:{"@primary-color":"#52C41A"}},{key:"#2F54EB",fileName:"#2F54EB.css",modifyVars:{"@primary-color":"#2F54EB"}},{key:"#722ED1",fileName:"#722ED1.css",modifyVars:{"@primary-color":"#722ED1"}},{key:"#F5222D",theme:"dark",fileName:"dark-#F5222D.css",modifyVars:{"@primary-color":"#F5222D"}},{key:"#FA541C",theme:"dark",fileName:"dark-#FA541C.css",modifyVars:{"@primary-color":"#FA541C"}},{key:"#FAAD14",theme:"dark",fileName:"dark-#FAAD14.css",modifyVars:{"@primary-color":"#FAAD14"}},{key:"#13C2C2",theme:"dark",fileName:"dark-#13C2C2.css",modifyVars:{"@primary-color":"#13C2C2"}},{key:"#52C41A",theme:"dark",fileName:"dark-#52C41A.css",modifyVars:{"@primary-color":"#52C41A"}},{key:"#2F54EB",theme:"dark",fileName:"dark-#2F54EB.css",modifyVars:{"@primary-color":"#2F54EB"}},{key:"#722ED1",theme:"dark",fileName:"dark-#722ED1.css",modifyVars:{"@primary-color":"#722ED1"}}]},O=n("8ded"),w=n.n(O),j=n("9fb0");function C(){y["a"].commit(j["i"],w.a.get(j["i"],i["a"].layout)),y["a"].commit(j["f"],w.a.get(j["f"],i["a"].fixedHeader)),y["a"].commit(j["g"],w.a.get(j["g"],i["a"].fixSiderbar)),y["a"].commit(j["e"],w.a.get(j["e"],i["a"].contentWidth)),y["a"].commit(j["h"],w.a.get(j["h"],i["a"].autoHideHeader)),y["a"].commit(j["l"],w.a.get(j["l"],i["a"].navTheme)),y["a"].commit(j["m"],w.a.get(j["m"],i["a"].colorWeak)),y["a"].commit(j["d"],w.a.get(j["d"],i["a"].primaryColor)),y["a"].commit(j["k"],w.a.get(j["k"],i["a"].multiTab)),y["a"].commit("SET_TOKEN",w.a.get(j["a"])),y["a"].dispatch("setLang",w.a.get(j["b"],"zh-CN"))}n("3c1f");var _=n("2f50"),M=(n("06f4"),n("fc25")),S=(n("68c7"),n("de1b")),K=(n("dc5a"),n("56cd")),E=(n("3b18"),n("f64c")),N=(n("17ac"),n("ff57")),A=(n("438c"),n("fbdf")),$=(n("7d24"),n("dfae")),P=(n("98a7"),n("7bec")),T=(n("bffa"),n("6634")),D=(n("e7c6"),n("a8ba")),L=(n("dd98"),n("3779")),R=(n("34c0"),n("9fd0")),H=(n("2a26"),n("768f")),z=(n("cc70"),n("1fd5")),F=(n("1273"),n("f2ca")),q=(n("eb14"),n("39ab")),I=(n("0025"),n("27ab")),W=(n("9980"),n("0bb7")),B=(n("55ec"),n("a79d")),V=(n("b97c"),n("7571")),U=(n("ab9e"),n("2c92")),G=(n("9a33"),n("f933")),Y=(n("6d2a"),n("9571")),Q=(n("fbd8"),n("55f1")),Z=(n("7f6b"),n("8592")),J=(n("b380"),n("bf7b")),X=(n("dd48"),n("2fc4")),ee=(n("af3d"),n("27fd")),te=(n("d88f"),n("fe2b")),ne=(n("9d5c"),n("a600")),ae=(n("5136"),n("681b")),re=(n("4a96"),n("a071")),oe=(n("8fb1"),n("0c63")),ie=(n("d13f"),n("ccb9")),se=(n("c68a"),n("0020")),ce=(n("cd17"),n("ed3b")),de=(n("0032"),n("e32c")),le=(n("de6a"),n("9a63")),ue=(n("f2ef"),n("3af3")),pe=(n("288f"),n("cdeb")),he=(n("2ef0f"),n("9839")),me=(n("ee00"),n("bb76")),fe=(n("5783"),n("59a5")),ge=(n("fbd6"),n("160c")),be=(n("6ba6"),n("5efb")),ve=(n("922d"),n("09d9")),ye=(n("5704"),n("b558")),ke=(n("1a62"),n("98c5")),xe=(n("d2a3"),n("4df5")),Oe=n("3654"),we=n("2638"),je=n.n(we),Ce=n("15fd"),_e=n("5530"),Me=n("ade3"),Se=n("d96e"),Ke=n.n(Se),Ee=n("bdf5"),Ne=n("3593"),Ae=n("4d91"),$e=n("daa3"),Pe=n("7b05"),Te=n("9cba"),De=(n("b2a3"),n("d6e0"),["on","slots","scopedSlots","class","style"]);function Le(){return{showLine:Ae["a"].bool,multiple:Ae["a"].bool,autoExpandParent:Ae["a"].bool,checkStrictly:Ae["a"].bool,checkable:Ae["a"].bool,disabled:Ae["a"].bool,defaultExpandAll:Ae["a"].bool,defaultExpandParent:Ae["a"].bool,defaultExpandedKeys:Ae["a"].array,expandedKeys:Ae["a"].array,checkedKeys:Ae["a"].oneOfType([Ae["a"].array,Ae["a"].shape({checked:Ae["a"].array,halfChecked:Ae["a"].array}).loose]),defaultCheckedKeys:Ae["a"].array,selectedKeys:Ae["a"].array,defaultSelectedKeys:Ae["a"].array,selectable:Ae["a"].bool,filterAntTreeNode:Ae["a"].func,loadData:Ae["a"].func,loadedKeys:Ae["a"].array,draggable:Ae["a"].bool,showIcon:Ae["a"].bool,icon:Ae["a"].func,switcherIcon:Ae["a"].any,prefixCls:Ae["a"].string,filterTreeNode:Ae["a"].func,openAnimation:Ae["a"].any,treeNodes:Ae["a"].array,treeData:Ae["a"].array,replaceFields:Ae["a"].object,blockNode:Ae["a"].bool}}var Re={name:"ATree",model:{prop:"checkedKeys",event:"check"},props:Object($e["t"])(Le(),{checkable:!1,showIcon:!1,openAnimation:{on:Ne["a"],props:{appear:null}},blockNode:!1}),inject:{configProvider:{default:function(){return Te["a"]}}},created:function(){Ke()(!("treeNodes"in Object($e["l"])(this)),"`treeNodes` is deprecated. please use treeData instead.")},TreeNode:Ee["TreeNode"],methods:{renderSwitcherIcon:function(e,t,n){var a=n.isLeaf,r=n.expanded,o=n.loading,i=this.$createElement,s=this.$props.showLine;if(o)return i(oe["a"],{attrs:{type:"loading"},class:"".concat(e,"-switcher-loading-icon")});if(a)return s?i(oe["a"],{attrs:{type:"file"},class:"".concat(e,"-switcher-line-icon")}):null;var c="".concat(e,"-switcher-icon");return t?Object(Pe["a"])(t,{class:Object(Me["a"])({},c,!0)}):i(oe["a"],s?{attrs:{type:r?"minus-square":"plus-square",theme:"outlined"},class:"".concat(e,"-switcher-line-icon")}:{attrs:{type:"caret-down",theme:"filled"},class:c})},updateTreeData:function(e){var t=this,n=this.$slots,a=this.$scopedSlots,r={children:"children",title:"title",key:"key"},o=Object(_e["a"])(Object(_e["a"])({},r),this.$props.replaceFields);return e.map((function(e){var r=e[o.key],i=e[o.children],s=e.on,c=void 0===s?{}:s,d=e.slots,l=void 0===d?{}:d,u=e.scopedSlots,p=void 0===u?{}:u,h=e.class,m=e.style,f=Object(Ce["a"])(e,De),g=Object(_e["a"])(Object(_e["a"])({},f),{},{icon:a[p.icon]||n[l.icon]||f.icon,switcherIcon:a[p.switcherIcon]||n[l.switcherIcon]||f.switcherIcon,title:a[p.title]||n[l.title]||f[o.title],dataRef:e,on:c,key:r,class:h,style:m});return i?Object(_e["a"])(Object(_e["a"])({},g),{},{children:t.updateTreeData(i)}):g}))},getCheckedKeys:function(){return this.$refs.tree.getCheckedKeys()},clearExpandedKeys:function(){return this.$refs.tree.clearExpandedKeys()},getHalfCheckedKeys:function(){return this.$refs.tree.getHalfCheckedKeys()}},render:function(){var e,t=this,n=arguments[0],a=Object($e["l"])(this),r=this.$slots,o=this.$scopedSlots,i=a.prefixCls,s=a.showIcon,c=a.treeNodes,d=a.blockNode,l=this.configProvider.getPrefixCls,u=l("tree",i),p=Object($e["g"])(this,"switcherIcon"),h=a.checkable,m=a.treeData||c;m&&(m=this.updateTreeData(m));var f={props:Object(_e["a"])(Object(_e["a"])({},a),{},{prefixCls:u,checkable:h?n("span",{class:"".concat(u,"-checkbox-inner")}):h,children:Object($e["c"])(o.default?o.default():r.default),__propsSymbol__:Symbol(),switcherIcon:function(e){return t.renderSwitcherIcon(u,p,e)}}),on:Object($e["k"])(this),ref:"tree",class:(e={},Object(Me["a"])(e,"".concat(u,"-icon-hide"),!s),Object(Me["a"])(e,"".concat(u,"-block-node"),d),e)};return m&&(f.props.treeData=m),n(Ee["Tree"],je()([{},f]))}},He=n("2909"),ze=n("0464"),Fe=n("b047"),qe=n.n(Fe),Ie=n("6a21"),We=n("d22e"),Be={None:"node",Start:"start",End:"end"};function Ve(e,t){var n=Object(We["j"])(e)||[];function a(e){var n=e.key,a=Object($e["p"])(e).default;!1!==t(n,e)&&Ve("function"===typeof a?a():a,t)}n.forEach(a)}function Ue(e){var t=Object(We["h"])(e),n=t.keyEntities;return Object(He["a"])(n.keys())}function Ge(e,t,n,a){var r=[],o=Be.None;if(n&&n===a)return[n];if(!n||!a)return[];function i(e){return e===n||e===a}return Ve(e,(function(e){if(o===Be.End)return!1;if(i(e)){if(r.push(e),o===Be.None)o=Be.Start;else if(o===Be.Start)return o=Be.End,!1}else o===Be.Start&&r.push(e);return-1!==t.indexOf(e)})),r}function Ye(e,t){var n=Object(He["a"])(t),a=[];return Ve(e,(function(e,t){var r=n.indexOf(e);return-1!==r&&(a.push(t),n.splice(r,1)),!!n.length})),a}function Qe(e){var t=[];return(e||[]).forEach((function(e){t.push(e.key),e.children&&(t=[].concat(Object(He["a"])(t),Object(He["a"])(Qe(e.children))))})),t}var Ze=n("b488"),Je=["prefixCls"];function Xe(e,t){var n=e.isLeaf,a=e.expanded;return t(oe["a"],n?{attrs:{type:"file"}}:{attrs:{type:a?"folder-open":"folder"}})}var et={name:"ADirectoryTree",mixins:[Ze["a"]],model:{prop:"checkedKeys",event:"check"},props:Object($e["t"])(Object(_e["a"])(Object(_e["a"])({},Le()),{},{expandAction:Ae["a"].oneOf([!1,"click","doubleclick","dblclick"])}),{showIcon:!0,expandAction:"click"}),inject:{configProvider:{default:function(){return Te["a"]}}},data:function(){var e=Object($e["l"])(this),t=e.defaultExpandAll,n=e.defaultExpandParent,a=e.expandedKeys,r=e.defaultExpandedKeys,o=Object(We["h"])(this.$slots.default),i=o.keyEntities,s={};return s._selectedKeys=e.selectedKeys||e.defaultSelectedKeys||[],t?e.treeData?s._expandedKeys=Qe(e.treeData):s._expandedKeys=Ue(this.$slots.default):s._expandedKeys=n?Object(We["f"])(a||r,i):a||r,this.onDebounceExpand=qe()(this.expandFolderNode,200,{leading:!0}),Object(_e["a"])({_selectedKeys:[],_expandedKeys:[]},s)},watch:{expandedKeys:function(e){this.setState({_expandedKeys:e})},selectedKeys:function(e){this.setState({_selectedKeys:e})}},methods:{onExpand:function(e,t){this.setUncontrolledState({_expandedKeys:e}),this.$emit("expand",e,t)},onClick:function(e,t){var n=this.$props.expandAction;"click"===n&&this.onDebounceExpand(e,t),this.$emit("click",e,t)},onDoubleClick:function(e,t){var n=this.$props.expandAction;"dblclick"!==n&&"doubleclick"!==n||this.onDebounceExpand(e,t),this.$emit("doubleclick",e,t),this.$emit("dblclick",e,t)},onSelect:function(e,t){var n,a=this.$props.multiple,r=this.$slots.default||[],o=this.$data._expandedKeys,i=void 0===o?[]:o,s=t.node,c=t.nativeEvent,d=s.eventKey,l=void 0===d?"":d,u={},p=Object(_e["a"])(Object(_e["a"])({},t),{},{selected:!0}),h=c.ctrlKey||c.metaKey,m=c.shiftKey;a&&h?(n=e,this.lastSelectedKey=l,this.cachedSelectedKeys=n,p.selectedNodes=Ye(r,n)):a&&m?(n=Array.from(new Set([].concat(Object(He["a"])(this.cachedSelectedKeys||[]),Object(He["a"])(Ge(r,i,l,this.lastSelectedKey))))),p.selectedNodes=Ye(r,n)):(n=[l],this.lastSelectedKey=l,this.cachedSelectedKeys=n,p.selectedNodes=[t.node]),u._selectedKeys=n,this.$emit("update:selectedKeys",n),this.$emit("select",n,p),this.setUncontrolledState(u)},expandFolderNode:function(e,t){var n=t.isLeaf;if(!(n||e.shiftKey||e.metaKey||e.ctrlKey)&&this.$refs.tree.$refs.tree){var a=this.$refs.tree.$refs.tree;a.onNodeExpand(e,t)}},setUncontrolledState:function(e){var t=Object(ze["a"])(e,Object.keys(Object($e["l"])(this)).map((function(e){return"_".concat(e)})));Object.keys(t).length&&this.setState(t)}},render:function(){var e=arguments[0],t=Object($e["l"])(this),n=t.prefixCls,a=Object(Ce["a"])(t,Je),r=this.configProvider.getPrefixCls,o=r("tree",n),i=this.$data,s=i._expandedKeys,c=i._selectedKeys,d=Object($e["k"])(this);Object(Ie["a"])(!d.doubleclick,"`doubleclick` is deprecated. please use `dblclick` instead.");var l={props:Object(_e["a"])(Object(_e["a"])({icon:Xe},a),{},{prefixCls:o,expandedKeys:s,selectedKeys:c,switcherIcon:Object($e["g"])(this,"switcherIcon")}),ref:"tree",class:"".concat(o,"-directory"),on:Object(_e["a"])(Object(_e["a"])({},Object(ze["a"])(d,["update:selectedKeys"])),{},{select:this.onSelect,click:this.onClick,dblclick:this.onDoubleClick,expand:this.onExpand})};return e(Re,je()([{},l]),[this.$slots.default])}},tt=n("db14");Re.TreeNode.name="ATreeNode",Re.DirectoryTree=et,Re.install=function(e){e.use(tt["a"]),e.component(Re.name,Re),e.component(Re.TreeNode.name,Re.TreeNode),e.component(et.name,et)};var nt=Re,at=n("4eb5"),rt=n.n(at),ot=n("1d4b"),it={name:"PageLoading",props:{tip:{type:String,default:"Loading.."},size:{type:String,default:"large"}},render:function(){var e=arguments[0],t={textAlign:"center",background:"rgba(0,0,0,0.6)",position:"fixed",top:0,bottom:0,left:0,right:0,zIndex:1100},n={position:"absolute",left:"50%",top:"40%",transform:"translate(-50%, -50%)"};return e("div",{style:t},[e(Z["a"],{attrs:{size:this.size,tip:this.tip},style:n})])}},st="0.0.1",ct={newInstance:function(e,t){var n=document.querySelector("body>div[type=loading]");n||(n=document.createElement("div"),n.setAttribute("type","loading"),n.setAttribute("class","ant-loading-wrapper"),document.body.appendChild(n));var a=Object.assign({visible:!1,size:"large",tip:"Loading..."},t),r=new e({data:function(){return Object(_e["a"])({},a)},render:function(){var e=arguments[0],t=this.tip,n={};return this.tip&&(n.tip=t),this.visible?e(it,{props:Object(_e["a"])({},n)}):null}}).$mount(n);function o(e){var t=Object(_e["a"])(Object(_e["a"])({},a),e),n=t.visible,o=t.size,i=t.tip;r.$set(r,"visible",n),i&&r.$set(r,"tip",i),o&&r.$set(r,"size",o)}return{instance:r,update:o}}},dt={show:function(e){this.instance.update(Object(_e["a"])(Object(_e["a"])({},e),{},{visible:!0}))},hide:function(){this.instance.update({visible:!1})}},lt=function(e,t){e.prototype.$loading||(dt.instance=ct.newInstance(e,t),e.prototype.$loading=dt)},ut={version:st,install:lt},pt=n("3835"),ht={add:{key:"add",label:"新增"},delete:{key:"delete",label:"删除"},edit:{key:"edit",label:"修改"},query:{key:"query",label:"查询"},get:{key:"get",label:"详情"},enable:{key:"enable",label:"启用"},disable:{key:"disable",label:"禁用"},import:{key:"import",label:"导入"},export:{key:"export",label:"导出"}};function mt(e){mt.installed||(!e.prototype.$auth&&Object.defineProperties(e.prototype,{$auth:{get:function(){var e=this;return function(t){var n=t.split("."),a=Object(pt["a"])(n,2),r=a[0],o=a[1],i=e.$store.getters.roles;if(i.isSuper)return!0;var s=i.permissions.find((function(e){return e.permissionId===r}));return!!s&&(void 0===o||s.actionList.findIndex((function(e){return e===o}))>-1)}}}}),!e.prototype.$enum&&Object.defineProperties(e.prototype,{$enum:{get:function(){return function(e){var t=ht;return e&&e.split(".").forEach((function(e){t=t&&t[e]||null})),t}}}}))}var ft=mt;a["a"].directive("action",{inserted:function(e,t,n){var a=t.arg,r=y["a"].getters.roles;if(!r.isSuper){var o=n.context.$route.meta.permission,i=o instanceof String&&[o]||o;r.permissions.forEach((function(t){i.includes(t.permissionId)&&t.actionList&&!t.actionList.includes(a)&&(e.parentNode&&e.parentNode.removeChild(e)||(e.style.display="none"))}))}}});a["a"].use(xe["a"]),a["a"].use(ke["a"]),a["a"].use(ye["a"]),a["a"].use(ve["a"]),a["a"].use(be["a"]),a["a"].use(ge["a"]),a["a"].use(fe["a"]),a["a"].use(me["a"]),a["a"].use(he["c"]),a["a"].use(pe["a"]),a["a"].use(ue["a"]),a["a"].use(le["a"]),a["a"].use(de["a"]),a["a"].use(ce["a"]),a["a"].use(se["a"]),a["a"].use(ie["a"]),a["a"].use(oe["a"]),a["a"].use(re["a"]),a["a"].use(ae["a"]),a["a"].use(ne["a"]),a["a"].use(te["b"]),a["a"].use(ee["a"]),a["a"].use(X["a"]),a["a"].use(J["a"]),a["a"].use(Z["a"]),a["a"].use(Q["a"]),a["a"].use(Y["a"]),a["a"].use(G["a"]),a["a"].use(U["a"]),a["a"].use(V["a"]),a["a"].use(B["a"]),a["a"].use(W["a"]),a["a"].use(I["a"]),a["a"].use(q["a"]),a["a"].use(F["a"]),a["a"].use(z["a"]),a["a"].use(H["a"]),a["a"].use(R["a"]),a["a"].use(L["a"]),a["a"].use(D["a"]),a["a"].use(T["a"]),a["a"].use(P["a"]),a["a"].use($["a"]),a["a"].use(A["a"]),a["a"].use(N["a"]),a["a"].prototype.$confirm=ce["a"].confirm,a["a"].prototype.$message=E["a"],a["a"].prototype.$notification=K["a"],a["a"].prototype.$info=ce["a"].info,a["a"].prototype.$success=ce["a"].success,a["a"].prototype.$error=ce["a"].error,a["a"].prototype.$warning=ce["a"].warning,rt.a.config.autoSetContainer=!0,a["a"].use(Oe["a"]),a["a"].use(ot["a"]),a["a"].use(ut),a["a"].use(ft),a["a"].use(rt.a),a["a"].use(S["a"]),a["a"].use(M["a"]),a["a"].use(_["a"]),a["a"].use(nt);var gt=n("323e"),bt=n.n(gt),vt=(n("fddb"),n("ca00"));bt.a.configure({showSpinner:!1});var yt="/passport/login",kt="/pay",xt=[yt,kt],Ot="/";v.beforeEach((function(e,t,n){bt.a.start(),e.meta&&"undefined"!==typeof e.meta.title&&s("".concat(Object(c["b"])(e.meta.title)));var a=e.query;e.path===yt&&a["superLogin"]&&y["a"].dispatch("SuperLogin",{userId:a["userId"],token:a["token"]}),w.a.get(j["a"])?e.path===yt?(n({path:Ot}),bt.a.done()):Object(vt["e"])(y["a"].getters.roles)?y["a"].dispatch("GetInfo").then((function(a){var r=a.roles;y["a"].dispatch("GenerateRoutes",{roles:r}).then((function(a){v.addRoutes(a);var r=decodeURIComponent(t.query.redirect||e.path);e.path===r?n(Object(_e["a"])(Object(_e["a"])({},e),{},{replace:!0})):n({path:r})}))})).catch((function(){K["a"].error({message:"错误",description:"请求用户信息失败,请重试"}),y["a"].dispatch("Logout").then((function(){n({path:yt,query:{redirect:e.fullPath}})}))})):n():xt.includes(e.path)?n():(n({path:yt,query:{redirect:e.fullPath}}),bt.a.done())})),v.afterEach((function(){bt.a.done()}));var wt=n("c1df"),jt=n.n(wt);n("5c3a");jt.a.locale("zh-cn"),a["a"].filter("NumberFormat",(function(e){if(!e)return"0";var t=e.toString().replace(/(\d)(?=(?:\d{3})+$)/g,"$1,");return t})),a["a"].filter("dayjs",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";return jt()(e).format(t)})),a["a"].filter("moment",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";return jt()(e).format(t)}));n("861f");a["a"].config.productionTip=!1,a["a"].use(d["a"]),a["a"].component("pro-layout",k["e"]),a["a"].component("page-header-wrapper",k["b"]),a["a"].filter("dateFormat",(function(e){if(!e)return"";var t=new Date(1e3*e),n=t.getFullYear(),a=(t.getMonth()+1+"").padStart(2,"0"),r=(t.getDate()+"").padStart(2,"0"),o=(t.getHours()+"").padStart(2,"0"),i=(t.getMinutes()+"").padStart(2,"0"),s=(t.getSeconds()+"").padStart(2,"0");return"".concat(n,"-").concat(a,"-").concat(r," ").concat(o,":").concat(i,":").concat(s)})),window.umi_plugin_ant_themeVar=x.theme,new a["a"]({router:v,store:y["a"],i18n:c["a"],created:C,render:function(e){return e(m)}}).$mount("#app")},5805:function(e,t,n){},"5b96":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1592810676056",class:"icon",viewBox:"0 0 1112 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5986","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"542.96875",height:"500"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M1103.626164 714.111047c0-18.548339-18.548339-37.096678-27.822508-37.096677-27.822508 0-55.645017-27.822508-55.645017-55.645017 0-9.274169 0-18.548339 9.274169-18.548339 9.274169-18.548339 0-37.096678-18.548338-46.370847l-64.919187-37.096678c-18.548339-9.274169-37.096678 0-46.370847 9.274169-9.274169 0-37.096678 18.548339-46.370847 18.548339-18.548339 0-37.096678-18.548339-46.370847-27.822508-9.274169-9.274169-27.822508-9.274169-46.370847-9.274169l-64.919187 37.096677c-18.548339 18.548339-27.822508 37.096678-18.548338 55.645017 0 9.274169 0 18.548339 9.274169 18.548339 0 27.822508-27.822508 55.645017-55.645017 55.645017-18.548339 0-27.822508 9.274169-27.822508 37.096677 0 0-9.274169 27.822508-9.274169 55.645017s9.274169 46.370847 9.274169 55.645017c0 18.548339 18.548339 37.096678 27.822508 37.096677 27.822508 0 55.645017 27.822508 55.645017 55.645017 0 9.274169 0 18.548339-9.274169 18.548339-9.274169 18.548339 0 37.096678 18.548338 46.370847l64.919187 37.096678c18.548339 9.274169 37.096678 0 46.370847-9.274169 9.274169-9.274169 27.822508-27.822508 46.370847-27.822509s37.096678 18.548339 46.370847 27.822509c9.274169 9.274169 27.822508 9.274169 46.370847 9.274169l64.919187-37.096678c18.548339-9.274169 18.548339-27.822508 9.274169-46.370847 0-9.274169 0-18.548339-9.274169-18.548339 0-27.822508 27.822508-55.645017 55.645016-55.645017 18.548339 0 27.822508-9.274169 27.822509-37.096677 0 0 9.274169-27.822508 9.274169-55.645017 9.274169-27.822508 0-55.645017 0-55.645017zM853.223589 862.497758c-55.645017 0-92.741694-46.370847-92.741694-102.015863s37.096678-102.015864 92.741694-102.015864 92.741694 46.370847 92.741694 102.015864-46.370847 102.015864-92.741694 102.015863zM686.288539 472.982642c-92.741694 46.370847-148.386711 129.838372-166.93505 231.854236s9.274169 204.031728 74.193356 287.499253H92.741694c-55.645017 0-92.741694-37.096678-92.741694-83.467525v-27.822509c0-46.370847 37.096678-92.741694 83.467525-111.290033L278.225083 686.288539s55.645017-18.548339 64.919186-37.096678c9.274169-9.274169 9.274169-46.370847 0-74.193355-18.548339-18.548339-111.290033-148.386711-111.290033-259.676745C231.854236 139.112542 343.144269 0 482.256811 0c139.112542 0 250.402575 139.112542 250.402575 315.321761 0 55.645017-18.548339 111.290033-46.370847 157.660881z","p-id":"5987"}}]})}},6052:function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1634495198314",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"3933",width:"200",height:"200"},children:[{tag:"path",attrsMap:{d:"M780.56106667 999.0144H244.80426667c-121.6512 0-220.22826667-98.57706667-220.22826667-220.22826668V243.02933332c0-121.6512 98.57706667-220.22826667 220.22826667-220.22826664h535.7568c121.6512 0 220.22826667 98.57706667 220.22826666 220.22826664v535.7568c0 121.6512-98.57706667 220.22826667-220.22826666 220.22826668z",fill:"#009CF5","p-id":"3934"}},{tag:"path",attrsMap:{d:"M530.97813333 591.4624h-107.17866666l80.69120001-139.264 8.19199999-14.19946667 55.296-95.0272 10.6496-18.56853333 22.93760001-39.3216c10.10346667-17.2032 10.37653333-39.3216-1.09226668-55.56906668-9.8304-13.9264-23.89333333-19.52426668-37.81973333-19.52426665-16.384 0-32.3584 8.46506668-41.3696 23.7568l-8.19199999 14.47253333-8.46506668-14.47253333c-9.0112-15.29173333-25.12213333-23.7568-41.3696-23.7568-8.192 0-16.384 1.91146667-24.02986667 6.28053333-22.66453333 13.1072-30.44693333 42.46186667-17.2032 65.1264l35.6352 61.57653333-144.1792 248.76373335H219.81866667c-28.672 0.27306667-51.6096 25.66826668-47.10399999 55.56906664 3.54986668 23.48373332 25.53173333 39.86773333 49.28853332 39.86773335h36.18133333l110.31893334-0.27306667h220.22826666c4.096 0 8.192-1.77493333 10.64959999-5.05173333 12.56106667-16.7936 21.84533333-42.87146668-8.87466664-69.76853334-16.24746667-14.336-37.95626668-20.61653333-59.52853335-20.61653333z",fill:"#FFFFFF","p-id":"3935"}},{tag:"path",attrsMap:{d:"M803.49866667 591.18933333h-91.7504L589.0048 379.42613332c-2.18453333-3.6864-7.09973333-4.9152-10.51306668-2.4576-17.2032 12.42453332-27.30666667 29.76426667-32.49493332 48.87893336-8.73813332 32.22186667-1.50186667 66.7648 15.1552 95.70986665l26.35093333 45.73866667 13.9264 24.30293333 55.296 95.30026667 5.7344 9.55733332 53.11146667 91.75040001c9.0112 15.29173333 24.84906667 23.7568 41.09653332 23.75679999 8.192 0 16.65706667-2.18453333 24.30293336-6.55359999 22.66453333-13.1072 30.44693333-42.1888 17.2032-65.1264l-30.99306668-53.65760001h38.63893332c28.672 0 51.47306668-25.94133332 46.83093335-55.84213332-3.82293332-23.3472-25.53173333-39.59466667-49.152-39.59466667zM306.7904 699.32373333c-16.7936-6.82666667-32.63146667-6.00746668-45.32906668-2.4576-6.9632 1.91146667-12.6976 6.69013333-16.24746664 12.83413335l-17.74933335 30.31039999c-13.38026668 22.9376-5.46133333 52.0192 17.2032 65.1264 7.64586667 4.36906667 16.11093332 6.5536 24.30293334 6.55360001 16.384 0 32.08533332-8.46506668 40.82346666-23.75680001l20.20693335-34.816c4.9152-8.6016 5.87093333-18.97813333 2.18453332-28.12586667-4.096-10.24-11.74186667-20.0704-25.3952-25.66826667z",fill:"#FFFFFF","p-id":"3936"}}]})}},"60fa":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1600756394501",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5021",width:"500",height:"500"},children:[{tag:"path",attrsMap:{d:"M9.728 584.192c0-34.816 27.648-62.464 63.488-62.464h124.416c34.816 0 63.488 28.672 63.488 62.464v377.344c0 34.816-27.648 62.464-63.488 62.464H73.216c-34.816 0-63.488-28.672-63.488-62.464v-377.344z m753.664-250.88c0-34.816 27.648-62.976 63.488-62.976h124.416c34.816 0 63.488 28.672 63.488 62.976v627.712c0 34.816-27.648 62.976-63.488 62.976h-124.416c-34.816 0-63.488-28.672-63.488-62.976V333.312zM374.784 64C374.784 28.672 402.944 0 439.296 0h126.976c35.84 0 64.512 28.672 64.512 64v896c0 35.328-28.16 64-64.512 64H439.296c-35.84 0-64.512-28.672-64.512-64v-896z","p-id":"5022"}}]})}},"613a":function(e,t,n){},"6fb3":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1625710316933",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"21058",width:"200",height:"200"},children:[{tag:"path",attrsMap:{d:"M763.648 488.71466666L328.096 49.96266666c-9.696-9.696-25.824-9.696-35.488 0s-9.696 25.824 0 35.488l419.424 419.424-419.424 429.12c-9.696 9.696-9.696 25.824 0 35.488s25.824 9.696 35.488 0l435.552-445.248a25.28 25.28 0 0 0 0-35.488z",fill:"","p-id":"21059"}}]})}},7257:function(e,t,n){},"743d":function(e,t,n){"use strict";n.r(t);var a=n("5530"),r=n("8b45"),o=n("0ff2"),i=n.n(o),s={antLocale:r["a"],momentName:"eu",momentLocale:i.a},c={message:"-","menu.home":"Home","menu.dashboard":"Dashboard","menu.dashboard.analysis":"Analysis","menu.dashboard.monitor":"Monitor","menu.dashboard.workplace":"Workplace","layouts.usermenu.dialog.title":"Message","layouts.usermenu.dialog.content":"Do you really log-out.","app.setting.pagestyle":"Page style setting","app.setting.pagestyle.light":"Light style","app.setting.pagestyle.dark":"Dark style","app.setting.pagestyle.realdark":"RealDark style","app.setting.themecolor":"Theme Color","app.setting.navigationmode":"Navigation Mode","app.setting.content-width":"Content Width","app.setting.fixedheader":"Fixed Header","app.setting.fixedsidebar":"Fixed Sidebar","app.setting.sidemenu":"Side Menu Layout","app.setting.topmenu":"Top Menu Layout","app.setting.content-width.fixed":"Fixed","app.setting.content-width.fluid":"Fluid","app.setting.othersettings":"Other Settings","app.setting.weakmode":"Weak Mode","app.setting.copy":"Copy Setting","app.setting.loading":"Loading theme","app.setting.copyinfo":"copy success,please replace defaultSettings in src/models/setting.js","app.setting.production.hint":"Setting panel shows in development environment only, please manually modify"};t["default"]=Object(a["a"])(Object(a["a"])({},s),c)},7620:function(e,t,n){},"7d57":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"1024",height:"1024",viewBox:"0 0 1024 1024"},children:[{tag:"title"},{tag:"g",attrsMap:{id:"icomoon-ignore"}},{tag:"path",attrsMap:{d:"M1024 854v6q0 44-22 82t-60 60-82 22h-696q-45 0-82.5-22t-59.5-60-22-82v-696q0-44 22-82t59.5-60 82.5-22h695q45 0 82.5 22t60 59.5 22.5 82.5v690M780 399q-29-30-63-55l-10-7q24-12 38-32t14-44.5-15-45.5-40-32.5-55-11.5q-19 0-37 6-7 2-13 6-1 1-4 0t-4-2q-7-11-21-23v0q-25-22-58-21.5t-58 21.5v0q-14 12-21 23-1 1-4 1.5t-4 0.5q-6-4-13-6-17-6-37-6-30 0-55 11.5t-40 32.5-15 45.5 14 44.5 38 32q-3 2-8 6l-2 1q-31 22-63 55-95 97-95 205 0 101 50 168 45 60 129 89 76 27 180 27h8q104 0 180-27 84-29 129-89 50-67 50-168 0-108-95-205M616 593h-75v29h55q12 0 20.5 8.5t8.5 20.5-8.5 20.5-20.5 8.5h-55v44q0 12-8.5 20.5t-20.5 8.5-20.5-8.5-8.5-20.5v-44h-58q-12 0-20.5-8.5t-8.5-20.5 8.5-20.5 20.5-8.5h58v-29h-75q-12 0-20.5-8.5t-8.5-20.5 8.5-20 20.5-8h34l-25-54q-9-9-9-21t8.5-20.5 20.5-8.5 21 9l54 83 58-83q9-9 21-9t20.5 8.5 8.5 20.5-9 21l-30 54h35q12 0 20 8t8.5 20-8 20.5-20.5 8.5z"}}]})}},"7e43":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1608212084627",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5849",width:"200",height:"200"},children:[{tag:"path",attrsMap:{d:"M512 0C229.216 0 0 229.216 0 512s229.216 512 512 512 512-229.216 512-512S794.784 0 512 0z m302.848 470.176a187.424 187.424 0 0 1-105.408 78.656c-1.664 0-1.664 0-3.328 1.664-6.72 1.696-13.376 3.36-21.76 3.36-31.808 0-48.512-21.76-40.16-46.848 6.72-18.4 25.088-35.136 46.848-41.824 35.136-13.376 58.56-41.824 58.56-75.296 0-45.184-43.52-81.984-97.024-81.984-53.568 0-97.088 36.8-97.088 81.984v249.28c0 60.224-35.136 112.128-86.976 142.24-28.448 16.704-61.92 25.088-97.056 25.088-102.08 0-184.064-75.264-184.064-167.328 0-30.112 8.384-56.896 23.424-81.984a187.296 187.296 0 0 1 105.408-78.656c8.384-1.696 15.04-3.328 23.424-3.328 31.808 0 48.512 21.728 40.16 46.848-6.72 18.368-23.424 33.44-43.52 41.792a12.8 12.8 0 0 0-6.688 3.328c-31.808 13.408-53.568 40.192-53.568 73.664 0 45.152 43.52 81.984 97.056 81.984s97.056-36.8 97.056-81.984v-249.312c0-60.224 35.136-112.096 87.008-142.208 28.416-16.736 61.888-25.088 97.024-25.088 102.08 0 184.064 75.264 184.064 167.296 0 26.784-8.384 53.568-23.424 78.656z","p-id":"5850"}}]})}},8477:function(e,t,n){"use strict";n("7620")},8484:function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1617674936203",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4263","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"200",height:"200"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M76.775946 12.60487h312.222181c42.48269 0 76.775946 33.781416 76.775946 76.775946v317.340577c0 42.48269-34.293256 76.775946-76.775946 76.775946h-312.222181c-42.48269 0-76.775946-33.781416-76.775946-76.775946v-317.340577c0-42.48269 34.293256-76.775946 76.775946-76.775946z",fill:"#FD4E45","p-id":"4264"}},{tag:"path",attrsMap:{d:"M76.775946 550.036493h312.222181c42.48269 0 76.775946 33.781416 76.775946 76.775946v317.340577c0 42.48269-34.293256 76.775946-76.775946 76.775946h-312.222181c-42.48269 0-76.775946-33.781416-76.775946-76.775946v-317.340577c0-42.48269 34.293256-76.775946 76.775946-76.775946z",fill:"#FF933D","p-id":"4265"}},{tag:"path",attrsMap:{d:"M515.422518 231.160397l220.091046-220.091046c14.84335-14.84335 39.923492-14.84335 54.766841 0.51184l222.138404 222.138404c15.355189 15.355189 15.355189 39.923492 0.51184 54.766841l-220.091046 220.091046c-14.84335 14.84335-39.923492 14.84335-54.766841-0.51184l-222.138404-222.138404c-15.355189-14.84335-15.355189-39.923492-0.51184-54.766841z",fill:"#12BC83","p-id":"4266"}},{tag:"path",attrsMap:{d:"M608.065493 550.036493h312.222181c42.48269 0 76.775946 33.781416 76.775946 76.775946v317.340577c0 42.48269-34.293256 76.775946-76.775946 76.775946h-312.222181c-42.48269 0-76.775946-33.781416-76.775946-76.775946v-317.340577c0-42.48269 34.293256-76.775946 76.775946-76.775946z",fill:"#2C97FE","p-id":"4267"}}]})}},"861f":function(e,t,n){},"8eeb4":function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1591771112298",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"14907","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"500",height:"500"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M512 512m-512 0a512 512 0 1 0 1024 0 512 512 0 1 0-1024 0Z",fill:"#1890ff","p-id":"14908"}},{tag:"path",attrsMap:{d:"M328.192 748.288A44.288 44.288 0 0 1 284.032 704v-103.424a14.208 14.208 0 0 1 4.096-10.112 25.6 25.6 0 0 1 10.112-4.224 132.736 132.736 0 0 0 58.496 12.16c22.784 0 51.2-25.6 80.768-25.6 24.576 0 51.2 24.576 76.8 24.448s55.296-25.6 80.896-25.6c30.208 0 57.6 27.136 78.848 29.824 25.6 3.2 42.496-18.048 45.312-18.048a14.336 14.336 0 0 1 14.208 14.336V704a44.416 44.416 0 0 1-44.16 44.544H328.32z m23.296-190.08a100.736 100.736 0 0 1-44.288-9.472v-1.92h-3.712a101.12 101.12 0 0 1-52.224-88.704 102.4 102.4 0 0 1 4.736-31.616 18.304 18.304 0 0 1 0-1.92l48.384-115.2a50.048 50.048 0 0 1 49.92-33.152h316.288a52.48 52.48 0 0 1 51.2 34.304L767.232 422.4a11.776 11.776 0 0 1 0.768 2.304v1.152a99.328 99.328 0 0 1 4.864 30.976 101.248 101.248 0 0 1-52.352 88.96 102.4 102.4 0 0 1-125.056-24.448l-3.84-4.608-3.84 4.608a98.688 98.688 0 0 1-152.32 0l-3.84-4.48-3.84 4.48a100.096 100.096 0 0 1-76.8 36.096z m3.584-119.296a14.336 14.336 0 0 1 0-28.544h307.2a14.336 14.336 0 0 1 0 28.544z",fill:"#FFFFFF","p-id":"14909","data-spm-anchor-id":"a313x.7781069.0.i4",class:"selected"}}]})}},"90f3":function(e,t,n){},9868:function(e,t,n){"use strict";n("4077")},"9a93":function(e,t,n){},"9fb0":function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return r})),n.d(t,"j",(function(){return o})),n.d(t,"l",(function(){return i})),n.d(t,"i",(function(){return s})),n.d(t,"f",(function(){return c})),n.d(t,"g",(function(){return d})),n.d(t,"e",(function(){return l})),n.d(t,"h",(function(){return u})),n.d(t,"d",(function(){return p})),n.d(t,"m",(function(){return h})),n.d(t,"k",(function(){return m})),n.d(t,"b",(function(){return f}));var a="Access-Token",r="sidebar_type",o="is_mobile",i="nav_theme",s="layout",c="fixed_header",d="fixed_sidebar",l="content_width",u="auto_hide_header",p="color",h="weak",m="multi_tab",f="app_language"},a044:function(e,t,n){},a1d4:function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1592372316432",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"5986","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"500",height:"500"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M590.624 950.496v-261.76h-156.928v262.016H201.44c-26.176 0-42.72-18.592-42.72-47.904 0-106.432 0.032-212.864-0.096-319.296 0-6.08 1.728-9.952 5.92-13.792 114.592-105.088 229.056-210.336 343.552-315.52 1.248-1.152 2.56-2.176 4.16-3.552l50.176 46.08c99.328 91.36 198.624 182.72 298.016 273.984a14.112 14.112 0 0 1 4.992 11.52c-0.096 107.552-0.032 215.136-0.096 322.688-0.032 26.272-17.056 45.632-40.448 45.696-76.672 0.16-153.312 0.064-229.984 0.064-1.184 0-2.4-0.128-4.224-0.256zM511.968 190.304l-113.472 105.472-307.584 285.824c-12.768 11.84-23.104 10.816-33.792-3.232-11.232-14.784-22.432-29.568-33.568-44.448-9.024-12.096-8.032-24.672 2.72-34.656 146.176-135.808 292.384-271.616 438.624-407.36 27.328-25.376 67.36-24.8 95.424 1.216 37.408 34.688 74.688 69.504 112.032 104.256l36 33.44v-8.512-90.208c0-17.312 6.88-24.96 22.464-24.96h110.4c17.6 0 24.096 7.168 24.096 26.688 0 88.672 0.064 145.824-0.128 234.496 0 6.112 1.76 9.984 5.856 13.76 42.24 38.88 84.352 77.92 126.496 116.928 10.816 9.984 12 22.4 3.008 34.56a3164.16 3164.16 0 0 1-35.104 46.592c-9.184 11.936-20.224 12.832-31.136 2.688l-279.232-259.616-139.392-129.6-3.712-3.264z","p-id":"5987"}}]})}},a7c9:function(e,t,n){},b0cc:function(e,t,n){},b775:function(e,t,n){"use strict";n.d(t,"a",(function(){return g})),n.d(t,"b",(function(){return m}));n("d3b7");var a=n("bc3a"),r=n.n(a),o=n("4360"),i=n("8ded"),s=n.n(i),c=n("56cd"),d=n("f64c"),l={vm:{},install:function(e,t){this.installed||(this.installed=!0,t&&(e.axios=t,Object.defineProperties(e.prototype,{axios:{get:function(){return t}},$http:{get:function(){return t}}})))}},u=n("ca00"),p=n("9fb0"),h=o["a"].getters.publicConfig,m=r.a.create({baseURL:h.BASE_API,timeout:6e4});m.interceptors.request.use((function(e){var t=s.a.get(p["a"]);return t&&(e.headers["Access-Token"]=t),e}));var f=!1;m.interceptors.response.use((function(e){var t=e.data;if(!Object(u["g"])(t)){var n={message:"服务端api返回的数据格式不正确"};return Promise.reject(n)}return 500===t.status?(d["a"].error(t.message,1.8),Promise.reject(t)):401===t.status?(f||(f=!0,o["a"].dispatch("Logout").then((function(){c["a"].error({key:"notLoggedMessage",message:"错误",description:t.message,duration:3}),setTimeout((function(){return window.location.reload()}),1500)}))),Promise.reject(t)):t}),(function(e){var t=((e.response||{}).data||{}).message||"请求出现错误,请稍后再试";return c["a"].error({message:"网络请求出错",description:t,duration:3}),Promise.reject(e)}));var g={vm:{},install:function(e){e.use(l,m)}}},ba93:function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1611452084144",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"18462","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"200",height:"200"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M982.912686 11.008633A34.367979 34.367979 0 0 0 957.696701 0.00064H66.305259A34.239979 34.239979 0 0 0 32.00128 36.864617l68.671957 853.311467a34.239979 34.239979 0 0 0 25.151984 30.207981l377.151765 102.399936a34.623978 34.623978 0 0 0 18.047988 0l377.151765-102.399936a34.175979 34.175979 0 0 0 25.151984-30.207981L992.00068 36.864617a34.047979 34.047979 0 0 0-9.087994-25.855984z m-179.199888 279.167826H327.233095l9.791994 136.511914h453.055717l-23.551985 327.871795L512.00098 839.040116l-257.151839-85.311947V597.312267h102.847935v82.559948l154.303904 51.199968 156.863902-52.095967 10.751993-149.951907H241.281149l-24.511984-341.311786h586.687633z","p-id":"18463"}}]})}},bdf5:function(e,t,n){"use strict";e.exports=n("0423")},bf0f:function(e,t,n){"use strict";n.d(t,"c",(function(){return g})),n.d(t,"b",(function(){return b}));var a=n("5530"),r=(n("d3b7"),n("caad"),n("3ca3"),n("ddb0"),n("2b0e")),o=n("a925"),i=n("8ded"),s=n.n(i),c=n("c1df"),d=n.n(c),l=n("743d");r["a"].use(o["a"]);var u="en-US",p={"en-US":Object(a["a"])({},l["default"])},h=new o["a"]({silentTranslationWarn:!0,locale:u,fallbackLocale:u,messages:p}),m=[u];function f(e){return h.locale=e,document.querySelector("html").setAttribute("lang",e),e}function g(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u;return new Promise((function(t){return s.a.set("lang",e),h.locale!==e?m.includes(e)?t(f(e)):n("4aa4")("./".concat(e)).then((function(t){var n=t.default;return h.setLocaleMessage(e,n),m.push(e),d.a.updateLocale(n.momentName,n.momentLocale),f(e)})):t(e)}))}function b(e){return h.t("".concat(e))}t["a"]=h},c06e:function(e,t,n){},c428:function(e,t,n){},ca00:function(e,t,n){"use strict";n.d(t,"h",(function(){return a})),n.d(t,"i",(function(){return r})),n.d(t,"c",(function(){return o})),n.d(t,"f",(function(){return i})),n.d(t,"g",(function(){return s})),n.d(t,"e",(function(){return d})),n.d(t,"d",(function(){return l})),n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return h}));n("b64b"),n("d3b7"),n("caad"),n("2532"),n("25f0"),n("159b"),n("a15b");function a(){var e=new Date,t=e.getHours();return t<9?"早上好":t<=11?"上午好":t<=13?"中午好":t<20?"下午好":"晚上好"}function r(){var e=["休息一会儿吧","准备吃什么呢?","要不要打一把 DOTA","我猜你可能累了"],t=Math.floor(Math.random()*e.length);return e[t]}function o(e,t){return function(n){var a=this,r=n;clearTimeout(e.id),e.id=setTimeout((function(){e.call(a,r)}),t)}}function i(e){return 0===Object.keys(e).length}function s(e){return"[object Object]"===Object.prototype.toString.call(e)}function c(e){return"[object Array]"===Object.prototype.toString.call(e)}function d(e){return c(e)?0===e.length:s(e)?i(e):!e}function l(e,t){return t.includes(e)}function u(e,t){Object.keys(t).forEach((function(n){e[n]=t[n]}))}var p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[],n=function(n){var a=e[n];if(!a)return"continue";c(a)?a.forEach((function(e){t.push(n+"="+e)})):t.push(n+"="+a)};for(var a in e)n(a);return t.join("&")};function h(e,t){var n=p(t);return d(n)?e:e+"?"+n}},cd83:function(e,t,n){},d22e:function(e,t,n){"use strict";n.d(t,"o",(function(){return y})),n.d(t,"b",(function(){return k})),n.d(t,"a",(function(){return x})),n.d(t,"n",(function(){return O})),n.d(t,"k",(function(){return w})),n.d(t,"j",(function(){return C})),n.d(t,"l",(function(){return S})),n.d(t,"i",(function(){return K})),n.d(t,"c",(function(){return E})),n.d(t,"d",(function(){return N})),n.d(t,"g",(function(){return $})),n.d(t,"h",(function(){return P})),n.d(t,"m",(function(){return T})),n.d(t,"e",(function(){return D})),n.d(t,"f",(function(){return L}));var a=n("2909"),r=n("3835"),o=n("b85c"),i=n("53ca"),s=n("2638"),c=n.n(s),d=n("15fd"),l=(n("fb6a"),n("a434"),n("99af"),n("4de4"),n("d3b7"),n("159b"),n("d81d"),n("4ec9"),n("3ca3"),n("ddb0"),n("b64b"),n("d96e")),u=n.n(l),p=n("0464"),h=n("2b5d"),m=n("daa3"),f=["children"],g=.25,b=2,v=!1;function y(){v||(v=!0,u()(!1,"Tree only accept TreeNode as children."))}function k(e,t){var n=e.slice(),a=n.indexOf(t);return a>=0&&n.splice(a,1),n}function x(e,t){var n=e.slice();return-1===n.indexOf(t)&&n.push(t),n}function O(e){return e.split("-")}function w(e,t){return"".concat(e,"-").concat(t)}function j(e){return Object(m["o"])(e).isTreeNode}function C(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.filter(j)}function _(e){var t=Object(m["l"])(e)||{},n=t.disabled,a=t.disableCheckbox,r=t.checkable;return!(!n&&!a)||!1===r}function M(e,t){function n(a,r,o){var i=a?a.componentOptions.children:e,s=a?w(o.pos,r):0,c=C(i);if(a){var d=a.key;d||void 0!==d&&null!==d||(d=s);var l={node:a,index:r,pos:s,key:d,parentPos:o.node?o.pos:null};t(l)}c.forEach((function(e,t){n(e,t,{node:a,pos:s})}))}n(null)}function S(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,n=e.map(t);return 1===n.length?n[0]:n}function K(e,t){var n=Object(m["l"])(t),a=n.eventKey,r=n.pos,o=[];return M(e,(function(e){var t=e.key;o.push(t)})),o.push(a||r),o}function E(e,t){var n=e.clientY,a=t.$refs.selectHandle.getBoundingClientRect(),r=a.top,o=a.bottom,i=a.height,s=Math.max(i*g,b);return n<=r+s?-1:n>=o-s?1:0}function N(e,t){if(e){var n=t.multiple;return n?e.slice():e.length?[e[0]]:e}}var A=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{props:Object(p["a"])(e,["on","key","class","className","style"]),on:e.on||{},class:e.class||e.className,style:e.style,key:e.key}};function $(e,t,n){if(!t)return[];var a=n||{},r=a.processProps,o=void 0===r?A:r,i=Array.isArray(t)?t:[t];return i.map((function(t){var a=t.children,r=Object(d["a"])(t,f),i=$(e,a,n);return e(h["a"],c()([{},o(r)]),[i])}))}function P(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.initWrapper,a=t.processEntity,r=t.onProcessFinished,o=new Map,i=new Map,s={posEntities:o,keyEntities:i};return n&&(s=n(s)||s),M(e,(function(e){var t=e.node,n=e.index,r=e.pos,c=e.key,d=e.parentPos,l={node:t,index:n,key:c,pos:r};o.set(r,l),i.set(c,l),l.parent=o.get(d),l.parent&&(l.parent.children=l.parent.children||[],l.parent.children.push(l)),a&&a(l,s)})),r&&r(s),s}function T(e){if(!e)return null;var t;if(Array.isArray(e))t={checkedKeys:e,halfCheckedKeys:void 0};else{if("object"!==Object(i["a"])(e))return u()(!1,"`checkedKeys` is not an array or an object"),null;t={checkedKeys:e.checked||void 0,halfCheckedKeys:e.halfChecked||void 0}}return t}function D(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=new Map,s=new Map;function c(e){if(i.get(e)!==t){var a=n.get(e);if(a){var r=a.children,o=a.parent,d=a.node;if(!_(d)){var l=!0,u=!1;(r||[]).filter((function(e){return!_(e.node)})).forEach((function(e){var t=e.key,n=i.get(t),a=s.get(t);(n||a)&&(u=!0),n||(l=!1)})),t?i.set(e,l):i.set(e,!1),s.set(e,u),o&&c(o.key)}}}}function d(e){if(i.get(e)!==t){var a=n.get(e);if(a){var r=a.children,o=a.node;_(o)||(i.set(e,t),(r||[]).forEach((function(e){d(e.key)})))}}}function l(e){var a=n.get(e);if(a){var r=a.children,o=a.parent,s=a.node;i.set(e,t),_(s)||((r||[]).filter((function(e){return!_(e.node)})).forEach((function(e){d(e.key)})),o&&c(o.key))}else u()(!1,"'".concat(e,"' does not exist in the tree."))}(a.checkedKeys||[]).forEach((function(e){i.set(e,!0)})),(a.halfCheckedKeys||[]).forEach((function(e){s.set(e,!0)})),(e||[]).forEach((function(e){l(e)}));var p,h=[],m=[],f=Object(o["a"])(i);try{for(f.s();!(p=f.n()).done;){var g=Object(r["a"])(p.value,2),b=g[0],v=g[1];v&&h.push(b)}}catch(j){f.e(j)}finally{f.f()}var y,k=Object(o["a"])(s);try{for(k.s();!(y=k.n()).done;){var x=Object(r["a"])(y.value,2),O=x[0],w=x[1];!i.get(O)&&w&&m.push(O)}}catch(j){k.e(j)}finally{k.f()}return{checkedKeys:h,halfCheckedKeys:m}}function L(e,t){var n=new Map;function r(e){if(!n.get(e)){var a=t.get(e);if(a){n.set(e,!0);var o=a.parent,i=a.node,s=Object(m["l"])(i);s&&s.disabled||o&&r(o.key)}}}return(e||[]).forEach((function(e){r(e)})),Object(a["a"])(n.keys())}},d6e0:function(e,t,n){},d73b:function(e,t,n){"use strict";n.d(t,"a",(function(){return le})),n.d(t,"b",(function(){return ue}));n("d3b7"),n("3ca3"),n("ddb0");var a,r,o=function(){var e=this,t=e._self._c;return t("div",{class:["user-layout-wrapper",e.isMobile&&"mobile"]},[t("div",{staticClass:"container"},[t("router-view"),t("div",{staticClass:"footer"})],1)])},i=[],s=n("5530"),c=n("2f62"),d={computed:Object(s["a"])({},Object(c["c"])({isMobile:function(e){return e.app.isMobile}}))},l={name:"UserLayout",mixins:[d],mounted:function(){}},u=l,p=(n("24e1"),n("2877")),h=Object(p["a"])(u,o,i,!1,null,"2951c3e6",null),m=h.exports,f=function(){var e=this,t=e._self._c;return t("div",[t("router-view")],1)},g=[],b={name:"BlankLayout"},v=b,y=Object(p["a"])(v,f,g,!1,null,"7f25f9eb",null),k=(y.exports,function(){var e=this,t=e._self._c;return t("pro-layout",e._b({attrs:{title:e.storeInfo.store_name,menus:e.menus,hasSubMenu:e.hasSubMenu,subMenus:e.subMenus,subMenuTitle:e.subMenuTitle,siderWidth:e.siderWidth,collapsed:e.collapsed,mediaQuery:e.query,isMobile:e.isMobile,handleMediaQuery:e.handleMediaQuery,handleCollapse:e.handleCollapse,logo:e.logoRender,i18nRender:e.i18nRender},scopedSlots:e._u([{key:"rightContentRender",fn:function(){return[t("right-content",{attrs:{"top-menu":"topmenu"===e.settings.layout,"is-mobile":e.isMobile,theme:e.settings.theme}})]},proxy:!0},{key:"footerRender",fn:function(){return[t("global-footer")]},proxy:!0}])},"pro-layout",e.settings,!1),[t("router-view")],1)}),x=[],O=(n("7db0"),n("b0c0"),n("33ca")),w=n("4ceb"),j=n("bf0f"),C=n("9fb0"),_=n("e819"),M=function(){var e=this,t=e._self._c;return t("div",{class:e.wrpCls},[t("avatar-dropdown",{class:e.prefixCls,attrs:{menu:e.showMenu,"current-user":e.currentUser}})],1)},S=[],K=n("ade3"),E=function(){var e=this,t=e._self._c;return e.currentUser?t("a-dropdown",{attrs:{placement:"bottomRight"},scopedSlots:e._u([{key:"overlay",fn:function(){return[t("a-menu",{staticClass:"ant-pro-drop-down menu",attrs:{"selected-keys":[]}},[e.menu?t("a-menu-item",{key:"settings",on:{click:e.handleToSettings}},[t("a-icon",{attrs:{type:"setting"}}),e._v("账户设置 ")],1):e._e(),t("a-menu-item",{key:"logout",on:{click:e.handleLogout}},[t("a-icon",{attrs:{type:"logout"}}),e._v("退出登录 ")],1)],1)]},proxy:!0}],null,!1,3564529297)},[t("span",{staticClass:"ant-pro-account-avatar oneline-hide"},[t("a-icon",{style:{fontSize:"16px",marginRight:"5px"},attrs:{type:"user"}}),t("span",[e._v(e._s(e.currentUser.real_name||e.currentUser.user_name))])],1)]):t("span",[t("a-spin",{style:{marginLeft:8,marginRight:8},attrs:{size:"small"}})],1)},N=[],A=(n("cd17"),n("ed3b")),$={name:"AvatarDropdown",props:{currentUser:{type:Object,default:function(){return null}},menu:{type:Boolean,default:!0}},methods:{handleToSettings:function(){this.$router.push({path:"/manage/renew"})},handleLogout:function(e){var t=this;A["a"].confirm({title:"友情提示",content:"真的要注销登录吗 ?",onOk:function(){return t.$store.dispatch("Logout").then((function(){setTimeout((function(){window.location.reload()}),200)}))},onCancel:function(){}})}}},P=$,T=(n("9868"),Object(p["a"])(P,E,N,!1,null,"5fd74d0e",null)),D=T.exports,L={name:"RightContent",components:{AvatarDropdown:D},props:{prefixCls:{type:String,default:"ant-pro-global-header-index-action"},isMobile:{type:Boolean,default:function(){return!1}},topMenu:{type:Boolean,required:!0},theme:{type:String,required:!0}},data:function(){var e=this.$store.getters.userInfo;return{showMenu:!0,currentUser:e}},computed:{wrpCls:function(){return Object(K["a"])({"ant-pro-global-header-index-right":!0},"ant-pro-global-header-index-".concat(this.isMobile||!this.topMenu?"light":this.theme),!0)}},mounted:function(){}},R=L,H=Object(p["a"])(R,M,S,!1,null,null,null),z=H.exports,F=function(){var e=this,t=e._self._c;return e.visibility?t("global-footer",{staticClass:"footer custom-render",scopedSlots:e._u([{key:"links",fn:function(){},proxy:!0},{key:"copyright",fn:function(){},proxy:!0}],null,!1,2460324447)}):e._e()},q=[],I=function(e){e=unescape(e);for(var t=String.fromCharCode(e.charCodeAt(0)-e.length),n=1;n-1&&this.$nextTick((function(){e.collapsed=!e.collapsed,setTimeout((function(){e.collapsed=!e.collapsed}),16)})),Object(w["f"])(this.settings.primaryColor)},methods:{i18nRender:j["b"],getStoreInfo:function(){var e=this;O["a"]().then((function(t){var n=t.data.storeInfo;e.storeInfo=n}))},updateSider:function(){var e=this.$route.matched[1].name,t=this.menus.find((function(t){return t.name===e}));this.subMenus=t&&t.children||[],this.hasSubMenu=this.subMenus.length>0,this.siderWidth=this.subMenus.length>0?280:160,this.subMenuTitle=t&&t.meta.title},handleMediaQuery:function(e){this.isMobile=!1},handleCollapse:function(e){this.collapsed=e},handleSettingChange:function(e){var t=e.type,n=e.value;switch(t&&(this.settings[t]=n),t){case"contentWidth":this.settings[t]="Fixed"===n;break;case"layout":"sidemenu"===n?this.settings.contentWidth=!1:(this.settings.fixSiderbar=!1,this.settings.contentWidth=!0);break}},logoRender:function(){var e=this.$createElement;return e(Y.a)}}},Z=Q,J=(n("8477"),Object(p["a"])(Z,k,x,!1,null,null,null)),X=J.exports,ee={name:"RouteView",props:{keepAlive:{type:Boolean,default:!0}},data:function(){return{}},render:function(){var e=arguments[0],t=this.$route.meta,n=this.$store.getters,a=e("keep-alive",[e("router-view")]),r=e("router-view");return(n.multiTab||t.keepAlive)&&(this.keepAlive||n.multiTab||t.keepAlive)?a:r}},te=ee,ne=Object(p["a"])(te,a,r,!1,null,null,null),ae=(ne.exports,function(){var e=this,t=e._self._c;return t("page-header-wrapper",[t("router-view")],1)}),re=[],oe={name:"PageView"},ie=oe,se=Object(p["a"])(ie,ae,re,!1,null,null,null),ce=(se.exports,n("04b3")),de={name:"RouteView",render:function(e){return e("router-view")}},le=[{path:"/",name:"root",component:X,children:[{path:"/index",name:"index",component:function(){return n.e("index").then(n.bind(null,"0a0d"))},meta:{title:"首页",keepAlive:!0,icon:ce["f"],permission:["/index"]}},{path:"/manage",name:"manage",component:de,redirect:"/manage/user/index",meta:{title:"管理员",icon:ce["g"],permission:["/manage"]},children:[{path:"/manage/user/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("manage")]).then(n.bind(null,"b484"))},meta:{title:"管理员列表",keepAlive:!1,permission:["/manage/user/index"]}},{path:"/manage/role/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("manage")]).then(n.bind(null,"759b"))},meta:{title:"角色管理",keepAlive:!1,permission:["/manage/role/index"]}}]},{path:"/card",name:"card",component:de,redirect:"/card/index",meta:{title:"实体兑换卡",icon:ce["l"],permission:["/card"]},children:[{path:"/card/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("card")]).then(n.bind(null,"1043"))},meta:{title:"兑换卡列表",keepAlive:!1,permission:["/card/index"]}},{path:"/card/print",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("card")]).then(n.bind(null,"bd70"))},meta:{title:"打印下载列表",keepAlive:!1,permission:["/card/print"]}}]},{path:"/store",name:"store",component:de,redirect:"/store/setting",meta:{title:"店铺管理",icon:ce["l"],permission:["/store"]},children:[{path:"/store/setting",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("store")]).then(n.bind(null,"976c"))},meta:{title:"店铺设置",keepAlive:!1,permission:["/store/setting"]}},{path:"/store/address/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("store")]).then(n.bind(null,"f30f"))},meta:{title:"地址管理",keepAlive:!1,permission:["/store/address/index"]}},{path:"/page",component:de,redirect:"/page/index",meta:{title:"店铺页面",keepAlive:!1,permission:["/page"]},children:[{path:"/page/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("page")]).then(n.bind(null,"0773"))},meta:{title:"页面设计",keepAlive:!1,permission:["/page/index"]},activePath:["/page/create","/page/update"]},{path:"/page/create",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("page")]).then(n.bind(null,"ead9"))},meta:{title:"新增页面",keepAlive:!1,permission:["/page/create"]},hidden:!0},{path:"/page/update",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("page")]).then(n.bind(null,"c207"))},meta:{title:"编辑页面",keepAlive:!1,permission:["/page/update"]},hidden:!0},{path:"/page/category",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("page")]).then(n.bind(null,"b043"))},meta:{title:"分类模板",keepAlive:!1,permission:["/page/category"]}}]}]},{path:"/goods",name:"goods",component:de,redirect:"/goods/index",meta:{title:"商品管理",icon:ce["c"],permission:["/goods"]},children:[{path:"/goods/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"1788"))},meta:{title:"商品列表",keepAlive:!1,permission:["/goods/index"]},activePath:["/goods/create","/goods/update"]},{path:"/goods/create",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"f11f"))},meta:{title:"创建商品",keepAlive:!1,permission:["/goods/create"]},hidden:!0},{path:"/goods/update",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"c1df6"))},meta:{title:"编辑商品",keepAlive:!1,permission:["/goods/update"]},hidden:!0},{path:"/goods/category/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"3686"))},meta:{title:"商品分类",keepAlive:!1,permission:["/goods/category/index"]}},{path:"/goods/comment/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"acbe"))},meta:{title:"商品评价",keepAlive:!1,permission:["/goods/comment/index"]}}]},{path:"/merchant",name:"merchant",component:de,redirect:"/merchant/index",meta:{title:"代理商管理",icon:ce["l"],permission:["/merchant"]},children:[{path:"/merchant/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"796a"))},meta:{title:"代理商列表",keepAlive:!1,permission:["/merchant/index"]},activePath:["/merchant/create","/merchant/update"]},{path:"/merchant/order/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"1a56"))},meta:{title:"发券订单",keepAlive:!1,permission:["/merchant/order/index"]}},{path:"/merchant/create",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"43de"))},meta:{title:"创建代理商",keepAlive:!1,permission:["/merchant/create"]},hidden:!0},{path:"/merchant/update",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"9f8e"))},meta:{title:"编辑代理商",keepAlive:!1,permission:["/merchant/update"]},hidden:!0},{path:"/merchant/balance",component:de,redirect:"/merchant/balance/index",meta:{title:"余额记录",keepAlive:!1,permission:["/merchant/balance"]},children:[{path:"/merchant/balance/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"b672"))},meta:{title:"余额明细",keepAlive:!1,permission:["/merchant/balance/index"]}}]}]},{path:"/order",name:"order",component:de,redirect:"/order/list/all",meta:{title:"订单管理",icon:ce["j"],permission:["/order"]},children:[{path:"/order/list/all",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("goods~order"),n.e("order")]).then(n.bind(null,"fecbd"))},meta:{title:"全部订单",keepAlive:!1,permission:["/order/list/all"]}},{path:"/order/list/oil",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("goods~order"),n.e("order")]).then(n.bind(null,"fecbd"))},meta:{title:"油券订单",keepAlive:!1,permission:["/order/list/all"]}},{path:"/order/list/coupon",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("goods~order"),n.e("order")]).then(n.bind(null,"fecbd"))},meta:{title:"优惠券订单",keepAlive:!1,permission:["/order/list/all"]}}]},{path:"/promotion",name:"promotion",component:de,meta:{title:"分销管理",icon:ce["j"],permission:["/promotion"]},children:[{path:"/promotion/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("user")]).then(n.bind(null,"d8cc"))},meta:{title:"代理商列表",keepAlive:!1,permission:["/promotion/index"]}},{path:"/promotion/commission",component:de,redirect:"/promotion/order/index",meta:{title:"佣金记录",keepAlive:!1,permission:["/promotion/commission"]},moduleKey:"promotion-commission",children:[{path:"/promotion/order/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"3728"))},meta:{title:"分销订单",keepAlive:!1,permission:["/promotion/order/index"]}}]}]},{path:"/checkout",name:"checkout",component:de,meta:{title:"结账管理",icon:ce["j"],permission:["/checkout"]},children:[{path:"/checkout/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"0e24"))},meta:{title:"结账记录",keepAlive:!1,permission:["/checkout/index"]}}]},{path:"/user",name:"user",component:de,meta:{title:"用户管理",icon:ce["m"],permission:["/user"]},children:[{path:"/user/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("user")]).then(n.bind(null,"dab6"))},meta:{title:"用户列表",keepAlive:!1,permission:["/user/index"]}},{path:"/user/create",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"3669"))},meta:{title:"创建用户",keepAlive:!1,permission:["/user/create"]},hidden:!0},{path:"/user/update",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"459d"))},meta:{title:"编辑用户",keepAlive:!1,permission:["/user/update"]},hidden:!0},{path:"/user/grade/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("user")]).then(n.bind(null,"7ad7"))},meta:{title:"会员等级",keepAlive:!1,permission:["/user/grade/index"]}},{path:"/user/balance",component:de,redirect:"/user/balance/index",meta:{title:"余额记录",keepAlive:!1,permission:["/user/balance"]},children:[{path:"/user/recharge/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"66c9"))},meta:{title:"充值记录",keepAlive:!1,permission:["/user/recharge/index"]}},{path:"/user/balance/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"4a98"))},meta:{title:"余额明细",keepAlive:!1,permission:["/user/balance/index"]}}]}]},{path:"/partners",name:"partners",component:de,redirect:"/partners/index",meta:{title:"合作商管理",icon:ce["l"],permission:["/partners"]},children:[{path:"/partners/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"a11a"))},meta:{title:"合作商列表",keepAlive:!1,permission:["/partners/index"]},activePath:["/partners/create","/partners/update"]},{path:"/partners/create",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"5cd2"))},meta:{title:"创建合作商",keepAlive:!1,permission:["/partners/create"]},hidden:!0},{path:"/partners/update",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"bba5"))},meta:{title:"编辑合作商",keepAlive:!1,permission:["/partners/update"]},hidden:!0},{path:"/partners/order/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"98fc"))},meta:{title:"订单列表",keepAlive:!1,permission:["/partners/order/index"]}},{path:"/qyt/driver/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"9a97"))},meta:{title:"司机管理",keepAlive:!1,permission:["/qyt/driver/index"]}},{path:"/qyt/invoice/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("goods~order"),n.e("goods")]).then(n.bind(null,"b06c"))},meta:{title:"发票管理",keepAlive:!1,permission:["/qyt/invoice/index"]}},{path:"/partners/balance",component:de,redirect:"/partners/balance/index",meta:{title:"余额记录",keepAlive:!1,permission:["/partners/balance"]},children:[{path:"/partners/balance/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"64a2"))},meta:{title:"余额明细",keepAlive:!1,permission:["/partners/balance/index"]}}]}]},{path:"/content",name:"content",component:de,meta:{title:"内容管理",icon:ce["b"],permission:["/content"]},children:[{path:"/content/article",component:de,redirect:"/content/article/index",meta:{title:"文章管理",keepAlive:!1,permission:["/content/article"]},children:[{path:"/content/article/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"98bf"))},meta:{title:"文章列表",keepAlive:!1,permission:["/content/article/index"]}},{path:"/content/article/category/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"3226"))},meta:{title:"文章分类",keepAlive:!1,permission:["/content/article/category/index"]}}]},{path:"/content/files",component:de,redirect:"/content/files/index",meta:{title:"文件库管理",keepAlive:!1,permission:["/content/files"]},children:[{path:"/content/files/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"2b0e8"))},meta:{title:"文件列表",keepAlive:!1,permission:["/content/files/index"]}},{path:"/content/files/group/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"bae3"))},meta:{title:"文件分组",keepAlive:!1,permission:["/content/files/group/index"]}}]},{path:"/content/help/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"d1d6"))},meta:{title:"帮助中心",keepAlive:!1,permission:["/content/help/index"]}}]},{path:"/market",name:"market",component:de,meta:{title:"营销管理",icon:ce["h"],permission:["/market"]},children:[{path:"/market/coupon",component:de,redirect:"/market/coupon/index",meta:{title:"优惠券",keepAlive:!1,permission:["/market/coupon"]},children:[{path:"/market/coupon/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"164a"))},meta:{title:"优惠券列表",keepAlive:!1,permission:["/market/coupon/index"]},activePath:["/market/coupon/create","/market/coupon/update"]},{path:"/market/coupon/create",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"c24e"))},meta:{title:"创建优惠券",keepAlive:!1,permission:["/market/coupon/create"]},hidden:!0},{path:"/market/coupon/update",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"0b60"))},meta:{title:"编辑优惠券",keepAlive:!1,permission:["/market/coupon/update"]},hidden:!0},{path:"/market/coupon/receive/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"3d2f"))},meta:{title:"领券记录",keepAlive:!1,permission:["/market/coupon/receive/index"]}}]},{path:"/market/recharge",component:de,redirect:"/market/recharge/setting",meta:{title:"会员充值",keepAlive:!1,permission:["/market/recharge"]},children:[{path:"/market/recharge/plan/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"6ad7"))},meta:{title:"充值套餐",keepAlive:!1,permission:["/market/recharge/plan/index"]}},{path:"/market/recharge/setting",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"3095"))},meta:{title:"充值设置",keepAlive:!1,permission:["/market/recharge/setting"]}}]},{path:"/market/share",component:de,redirect:"/market/share/setting",meta:{title:"余额分享",keepAlive:!1,permission:["/market/share"]},children:[{path:"/market/share/setting",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"6801"))},meta:{title:"分享设置",keepAlive:!1,permission:["/market/share/setting"]}}]},{path:"/market/exchange",component:de,redirect:"/market/exchange/setting",meta:{title:"实体卡兑换",keepAlive:!1,permission:["/market/exchange"]},children:[{path:"/market/exchange/setting",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("market")]).then(n.bind(null,"7ec7"))},meta:{title:"兑换设置",keepAlive:!1,permission:["/market/exchange/setting"]}}]}]},{path:"/client",name:"client",component:de,meta:{title:"客户端",keepAlive:!0,icon:ce["i"],iconStyle:{fontSize:"17.2px",color:"#36b313"},permission:["/client"]},children:[{path:"/client/register",component:function(){return n.e("client").then(n.bind(null,"8c72"))},meta:{title:"注册设置",keepAlive:!1,permission:["/client/register"]}},{path:"/client/wxapp",component:de,redirect:"/client/wxapp/setting",meta:{title:"微信小程序",keepAlive:!1,permission:["/client/wxapp"]},children:[{path:"/client/wxapp/setting",component:function(){return n.e("client").then(n.bind(null,"e36a"))},meta:{title:"小程序设置",keepAlive:!1,permission:["/client/wxapp/setting"]}}]},{path:"/client/h5",component:de,redirect:"/client/h5/setting",meta:{title:"H5端",keepAlive:!1,permission:["/client/h5"]},children:[{path:"/client/h5/setting",component:function(){return n.e("client").then(n.bind(null,"2fa9"))},meta:{title:"站点设置",keepAlive:!1,permission:["/client/h5/setting"]}}]}]},{path:"/setting",name:"setting",component:de,redirect:"/setting/store/basic",meta:{title:"设置",icon:ce["k"],permission:["/setting"]},children:[{path:"/setting/trade",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("setting")]).then(n.bind(null,"a6b6"))},meta:{title:"参数设置",keepAlive:!1,permission:["/setting/trade"]}},{path:"/qyt/enterprise/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("setting")]).then(n.bind(null,"a8bf"))},meta:{title:"企业管理",keepAlive:!1,permission:["/qyt/enterprise/index"]}},{path:"/setting/qyt",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("setting")]).then(n.bind(null,"c7de"))},meta:{title:"企油通对接",keepAlive:!1,permission:["/setting/qyt"]}},{path:"/setting/promotion",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("setting")]).then(n.bind(null,"14b5"))},meta:{title:"分销设置",keepAlive:!1,permission:["/setting/promotion"]}},{path:"/setting/storage",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("setting")]).then(n.bind(null,"c5b8"))},meta:{title:"上传设置",keepAlive:!1,permission:["/setting/storage"]}},{path:"/setting/sms",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("setting")]).then(n.bind(null,"a85e"))},meta:{title:"短信通知",keepAlive:!1,permission:["/setting/sms"]}},{path:"/setting/delivery",component:de,redirect:"/setting/delivery/setting",meta:{title:"配送设置",keepAlive:!1,permission:["/setting/delivery"]},children:[{path:"/setting/delivery/setting",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"0b43a"))},meta:{title:"配送方式",keepAlive:!1,permission:["/setting/delivery/setting"]}},{path:"/setting/delivery/template/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"96ef"))},meta:{title:"运费模板",keepAlive:!1,permission:["/setting/delivery/template/index"]},activePath:["/setting/delivery/template/create","/setting/delivery/template/update"]},{path:"/setting/delivery/template/create",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"61e5"))},meta:{title:"新增运费模板",keepAlive:!1,permission:["/setting/delivery/template/create"]},hidden:!0},{path:"/setting/delivery/template/update",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"3833"))},meta:{title:"编辑运费模板",keepAlive:!1,permission:["/setting/delivery/template/update"]},hidden:!0},{path:"/setting/delivery/express/index",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"f4eb"))},meta:{title:"物流公司",keepAlive:!1,permission:["/setting/delivery/express/index"]}}]},{path:"/setting/other",component:de,redirect:"/setting/other/clear",meta:{title:"其他设置",keepAlive:!1,permission:["/setting/other"]},children:[{path:"/setting/other/clear",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("content")]).then(n.bind(null,"67ac"))},meta:{title:"清理缓存",keepAlive:!1,permission:["/setting/other/clear"]}}]}]}]},{name:"renew",path:"/manage",redirect:"/manage/renew",component:X,hidden:!0,meta:{title:"更新账户信息",keepAlive:!1},children:[{path:"renew",component:function(){return Promise.all([n.e("card~content~goods~manage~market~order~page~setting~store~user"),n.e("card~content~goods~manage~market~page~store~user"),n.e("manage")]).then(n.bind(null,"9dce"))}}]},{path:"*",redirect:"/404",hidden:!0}],ue=[{path:"/passport",component:m,redirect:"/passport/login",hidden:!0,children:[{path:"login",name:"login",component:function(){return n.e("passport").then(n.bind(null,"cedc"))}}]},{path:"/404",component:function(){return n.e("exception").then(n.bind(null,"cc89"))}},{path:"/pay",component:function(){return n.e("exception").then(n.bind(null,"6ae7"))}}]},e819:function(e,t,n){"use strict";t["a"]={title:"Ant Design Pro",primaryColor:"#1890FF",navTheme:"dark",layout:"sidemenu",contentWidth:"Fixed",fixedHeader:!0,fixSiderbar:!0,autoHideHeader:!1,colorWeak:!1,multiTab:!1,production:!0}},e9ba:function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"1024",height:"1024",viewBox:"0 0 1024 1024"},children:[{tag:"title"},{tag:"g",attrsMap:{id:"icomoon-ignore"}},{tag:"path",attrsMap:{d:"M1024 701v-504q0-53-26.5-98t-72-71.5-98.5-26.5h-630q-53 0-98.5 26.5t-72 71.5-26.5 98v630q0 54 26.5 99t72 71.5 98.5 26.5h630q47 0 88.5-21t69-58 36.5-83l-6-2q-276-120-391-174-71 86-143 127-81 46-182 46-69 0-123-26-53-26-80-70.5t-21-97.5q4-43 25-78 28-45 79-68 64-27 160-18 65 6 119 19 33 8 100 31l31 10q35-64 57-139h-398v-40h197v-70h-240v-44h240v-102l1-4q2-5 6.5-8.5t12.5-3.5h98v118h256v44h-256v70h209q-29 116-85 213 38 14 191 61l146 45M284 792q-69 0-111-26-35-21-48-56-12-28-7-52 5-21 20-41 18-22 45-35 31-15 70-15 70 0 139 19 66 18 145 56-55 72-119 110-66 40-134 40z"}}]})}},eb1e:function(e,t,n){var a=n("b2b7");e.exports={__esModule:!0,default:a.svgComponent({tag:"svg",attrsMap:{t:"1595299959859",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2081","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"500",height:"500"},children:[{tag:"defs"},{tag:"path",attrsMap:{d:"M286.72 290.133c17.067 0 30.72-13.653 30.72-34.133 0-105.813 95.573-170.667 191.147-170.667 92.16 0 194.56 71.68 194.56 170.667 0 20.48 13.653 34.133 30.72 34.133s30.72-13.653 30.72-34.133c0-139.947-136.534-238.933-256-238.933-122.88 0-256 88.746-256 238.933 3.413 17.067 17.066 34.133 34.133 34.133z m648.533 102.4c-17.066-20.48-44.373-34.133-71.68-34.133H160.427c-27.307 0-54.614 10.24-71.68 34.133-17.067 20.48-23.894 47.787-20.48 75.094L143.36 911.36c10.24 54.613 61.44 98.987 116.053 98.987h505.174c54.613 0 105.813-40.96 116.053-98.987l75.093-443.733c3.414-27.307-3.413-54.614-20.48-75.094z m-645.12 204.8c-27.306 0-51.2-23.893-51.2-51.2s23.894-51.2 51.2-51.2 51.2 23.894 51.2 51.2-23.893 51.2-51.2 51.2z m443.734 0c-27.307 0-51.2-23.893-51.2-51.2s23.893-51.2 51.2-51.2 51.2 23.894 51.2 51.2-23.894 51.2-51.2 51.2z","p-id":"2082"}}]})}},f544:function(e,t,n){"use strict";n.d(t,"d",(function(){return o})),n.d(t,"f",(function(){return i})),n.d(t,"e",(function(){return s})),n.d(t,"a",(function(){return c})),n.d(t,"c",(function(){return d})),n.d(t,"b",(function(){return l}));var a=n("b775"),r={info:"/store.user/info",list:"/store.user/list",add:"/store.user/add",edit:"/store.user/edit",delete:"/store.user/delete",renew:"/store.user/renew"};function o(e){return Object(a["b"])({url:r.info,method:"get",params:e})}function i(e){return Object(a["b"])({url:r.renew,method:"post",data:e})}function s(e){return Object(a["b"])({url:r.list,method:"get",params:e})}function c(e){return Object(a["b"])({url:r.add,method:"post",data:e})}function d(e){return Object(a["b"])({url:r.edit,method:"post",data:e})}function l(e){return Object(a["b"])({url:r.delete,method:"post",data:e})}},fddb:function(e,t,n){}});
\ No newline at end of file
diff --git a/server-tp6/public/store/js/app.76ad6bca.js.gz b/server-tp6/public/store/js/app.76ad6bca.js.gz
new file mode 100644
index 0000000000000000000000000000000000000000..3fc1ace5e4d0e28d25fc58915fb8f581095c45d9
GIT binary patch
literal 44272
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 |