mirror of
				https://gitee.com/hhyykk/ipms-sjy-ui.git
				synced 2025-11-04 04:08:44 +08:00 
			
		
		
		
	Merge branch 'master' of https://github.com/yudaocode/yudao-ui-admin-vue3
This commit is contained in:
		
							
								
								
									
										5
									
								
								.env
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								.env
									
									
									
									
									
								
							@@ -18,3 +18,8 @@ VITE_APP_DOCALERT_ENABLE=true
 | 
			
		||||
 | 
			
		||||
# 百度统计
 | 
			
		||||
VITE_APP_BAIDU_CODE = a1ff8825baa73c3a78eb96aa40325abc
 | 
			
		||||
 | 
			
		||||
# 默认账户密码
 | 
			
		||||
VITE_APP_DEFAULT_LOGIN_TENANT = 芋道源码
 | 
			
		||||
VITE_APP_DEFAULT_LOGIN_USERNAME = admin
 | 
			
		||||
VITE_APP_DEFAULT_LOGIN_PASSWORD = admin123
 | 
			
		||||
 
 | 
			
		||||
@@ -56,8 +56,7 @@
 | 
			
		||||
 | 
			
		||||
| 插件名                           | 功能                       |
 | 
			
		||||
|-------------------------------|--------------------------|
 | 
			
		||||
| TypeScript Vue Plugin (Volar) | 用于 TypeScript 的 Vue 插件  |
 | 
			
		||||
| Vue Language Features (Volar) | Vue3.0 语法支持              |
 | 
			
		||||
| Vue - Official                | Vue与TypeScript支持      |
 | 
			
		||||
| unocss                        | unocss for vscode           |
 | 
			
		||||
| Iconify IntelliSense          | Iconify 预览和搜索           |
 | 
			
		||||
| i18n Ally                     | 国际化智能提示               |
 | 
			
		||||
 
 | 
			
		||||
@@ -109,6 +109,14 @@ export const PayChannelEnum = {
 | 
			
		||||
    code: 'wx_app',
 | 
			
		||||
    name: '微信 APP 支付'
 | 
			
		||||
  },
 | 
			
		||||
  WX_NATIVE: {
 | 
			
		||||
    code: 'wx_native',
 | 
			
		||||
    name: '微信 Native 支付'
 | 
			
		||||
  },
 | 
			
		||||
  WX_WAP: {
 | 
			
		||||
    code: 'wx_wap',
 | 
			
		||||
    name: '微信 WAP 网站支付'
 | 
			
		||||
  },
 | 
			
		||||
  WX_BAR: {
 | 
			
		||||
    code: 'wx_bar',
 | 
			
		||||
    name: '微信条码支付'
 | 
			
		||||
 
 | 
			
		||||
@@ -313,7 +313,7 @@ export const fenToYuan = (price: string | number): string => {
 | 
			
		||||
 */
 | 
			
		||||
export const calculateRelativeRate = (value?: number, reference?: number) => {
 | 
			
		||||
  // 防止除0
 | 
			
		||||
  if (!reference) return 0
 | 
			
		||||
  if (!reference || reference == 0) return 0
 | 
			
		||||
 | 
			
		||||
  return ((100 * ((value || 0) - reference)) / reference).toFixed(0)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -184,9 +184,9 @@ const loginData = reactive({
 | 
			
		||||
  captchaEnable: import.meta.env.VITE_APP_CAPTCHA_ENABLE,
 | 
			
		||||
  tenantEnable: import.meta.env.VITE_APP_TENANT_ENABLE,
 | 
			
		||||
  loginForm: {
 | 
			
		||||
    tenantName: '芋道源码',
 | 
			
		||||
    username: 'admin',
 | 
			
		||||
    password: 'admin123',
 | 
			
		||||
    tenantName: import.meta.env.VITE_APP_DEFAULT_LOGIN_TENANT || '',
 | 
			
		||||
    username: import.meta.env.VITE_APP_DEFAULT_LOGIN_USERNAME || '',
 | 
			
		||||
    password: import.meta.env.VITE_APP_DEFAULT_LOGIN_PASSWORD || '',
 | 
			
		||||
    captchaVerification: '',
 | 
			
		||||
    rememberMe: true // 默认记录我。如果不需要,可手动修改
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -36,9 +36,9 @@
 | 
			
		||||
          value-format="YYYY-MM-DD HH:mm:ss"
 | 
			
		||||
        />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item label="审批结果" prop="result">
 | 
			
		||||
      <el-form-item label="审批结果" prop="status">
 | 
			
		||||
        <el-select
 | 
			
		||||
          v-model="queryParams.result"
 | 
			
		||||
          v-model="queryParams.status"
 | 
			
		||||
          class="!w-240px"
 | 
			
		||||
          clearable
 | 
			
		||||
          placeholder="请选择审批结果"
 | 
			
		||||
@@ -81,7 +81,7 @@
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-table v-loading="loading" :data="list">
 | 
			
		||||
      <el-table-column align="center" label="申请编号" prop="id" />
 | 
			
		||||
      <el-table-column align="center" label="状态" prop="result">
 | 
			
		||||
      <el-table-column align="center" label="状态" prop="status">
 | 
			
		||||
        <template #default="scope">
 | 
			
		||||
          <dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_STATUS" :value="scope.row.status" />
 | 
			
		||||
        </template>
 | 
			
		||||
 
 | 
			
		||||
@@ -186,7 +186,7 @@ const getOrderCountTrendComparison = async (
 | 
			
		||||
    dates.push(item.value.date)
 | 
			
		||||
    if (series.length === 2) {
 | 
			
		||||
      series[0].data.push(fenToYuan(item?.value?.orderPayPrice || 0)) // 当前金额
 | 
			
		||||
      series[1].data.push(fenToYuan(item?.value?.orderPayCount || 0)) // 当前数量
 | 
			
		||||
      series[1].data.push(item?.value?.orderPayCount || 0) // 当前数量
 | 
			
		||||
    } else {
 | 
			
		||||
      series[0].data.push(fenToYuan(item?.reference?.orderPayPrice || 0)) // 对照金额
 | 
			
		||||
      series[1].data.push(fenToYuan(item?.value?.orderPayPrice || 0)) // 当前金额
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,7 @@
 | 
			
		||||
      :model="formData"
 | 
			
		||||
      :rules="formRules"
 | 
			
		||||
      label-width="80px"
 | 
			
		||||
      @keydown.enter.prevent="submitForm"
 | 
			
		||||
    >
 | 
			
		||||
      <el-form-item label="属性名称" prop="name">
 | 
			
		||||
        <el-input v-model="formData.name" placeholder="请输入名称" />
 | 
			
		||||
 
 | 
			
		||||
@@ -80,7 +80,8 @@
 | 
			
		||||
              :http-request="keyContentUpload"
 | 
			
		||||
            >
 | 
			
		||||
              <el-button type="primary">
 | 
			
		||||
                <Icon icon="ep:upload" class="mr-5px" /> 点击上传
 | 
			
		||||
                <Icon icon="ep:upload" class="mr-5px" />
 | 
			
		||||
                点击上传
 | 
			
		||||
              </el-button>
 | 
			
		||||
            </el-upload>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
@@ -120,7 +121,8 @@
 | 
			
		||||
              :http-request="privateKeyContentUpload"
 | 
			
		||||
            >
 | 
			
		||||
              <el-button type="primary">
 | 
			
		||||
                <Icon icon="ep:upload" class="mr-5px" /> 点击上传
 | 
			
		||||
                <Icon icon="ep:upload" class="mr-5px" />
 | 
			
		||||
                点击上传
 | 
			
		||||
              </el-button>
 | 
			
		||||
            </el-upload>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
@@ -148,7 +150,8 @@
 | 
			
		||||
              :http-request="privateCertContentUpload"
 | 
			
		||||
            >
 | 
			
		||||
              <el-button type="primary">
 | 
			
		||||
                <Icon icon="ep:upload" class="mr-5px" /> 点击上传
 | 
			
		||||
                <Icon icon="ep:upload" class="mr-5px" />
 | 
			
		||||
                点击上传
 | 
			
		||||
              </el-button>
 | 
			
		||||
            </el-upload>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
@@ -310,7 +313,7 @@ const pemFileBeforeUpload = (file) => {
 | 
			
		||||
/**
 | 
			
		||||
 * 读取 apiclient_key.pem 到 privateKeyContent 字段
 | 
			
		||||
 */
 | 
			
		||||
const privateKeyContentUpload = (event) => {
 | 
			
		||||
const privateKeyContentUpload = async (event) => {
 | 
			
		||||
  const readFile = new FileReader()
 | 
			
		||||
  readFile.onload = (e: any) => {
 | 
			
		||||
    formData.value.config.privateKeyContent = e.target.result
 | 
			
		||||
@@ -321,7 +324,7 @@ const privateKeyContentUpload = (event) => {
 | 
			
		||||
/**
 | 
			
		||||
 * 读取 apiclient_cert.pem 到 privateCertContent 字段
 | 
			
		||||
 */
 | 
			
		||||
const privateCertContentUpload = (event) => {
 | 
			
		||||
const privateCertContentUpload = async (event) => {
 | 
			
		||||
  const readFile = new FileReader()
 | 
			
		||||
  readFile.onload = (e: any) => {
 | 
			
		||||
    formData.value.config.privateCertContent = e.target.result
 | 
			
		||||
@@ -332,7 +335,7 @@ const privateCertContentUpload = (event) => {
 | 
			
		||||
/**
 | 
			
		||||
 * 读取 apiclient_cert.p12 到 keyContent 字段
 | 
			
		||||
 */
 | 
			
		||||
const keyContentUpload = (event) => {
 | 
			
		||||
const keyContentUpload = async (event) => {
 | 
			
		||||
  const readFile = new FileReader()
 | 
			
		||||
  readFile.onload = (e: any) => {
 | 
			
		||||
    formData.value.config.keyContent = e.target.result.split(',')[1]
 | 
			
		||||
 
 | 
			
		||||
@@ -45,10 +45,17 @@
 | 
			
		||||
        />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item>
 | 
			
		||||
        <el-button @click="handleQuery"> <Icon icon="ep:search" class="mr-5px" />搜索 </el-button>
 | 
			
		||||
        <el-button @click="resetQuery"> <Icon icon="ep:refresh" class="mr-5px" />重置 </el-button>
 | 
			
		||||
        <el-button @click="handleQuery">
 | 
			
		||||
          <Icon icon="ep:search" class="mr-5px" />
 | 
			
		||||
          搜索
 | 
			
		||||
        </el-button>
 | 
			
		||||
        <el-button @click="resetQuery">
 | 
			
		||||
          <Icon icon="ep:refresh" class="mr-5px" />
 | 
			
		||||
          重置
 | 
			
		||||
        </el-button>
 | 
			
		||||
        <el-button type="primary" plain @click="openForm('create')" v-hasPermi="['pay:app:create']">
 | 
			
		||||
          <Icon icon="ep:plus" class="mr-5px" /> 新增
 | 
			
		||||
          <Icon icon="ep:plus" class="mr-5px" />
 | 
			
		||||
          新增
 | 
			
		||||
        </el-button>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
    </el-form>
 | 
			
		||||
@@ -70,12 +77,17 @@
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column label="支付宝配置" align="center">
 | 
			
		||||
        <el-table-column :label="PayChannelEnum.ALIPAY_APP.name" align="center">
 | 
			
		||||
        <el-table-column
 | 
			
		||||
          :label="channel.name"
 | 
			
		||||
          align="center"
 | 
			
		||||
          v-for="channel in alipayChannels"
 | 
			
		||||
          :key="channel.code"
 | 
			
		||||
        >
 | 
			
		||||
          <template #default="scope">
 | 
			
		||||
            <el-button
 | 
			
		||||
              type="success"
 | 
			
		||||
              v-if="isChannelExists(scope.row.channelCodes, PayChannelEnum.ALIPAY_APP.code)"
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.ALIPAY_APP.code)"
 | 
			
		||||
              v-if="isChannelExists(scope.row.channelCodes, channel.code)"
 | 
			
		||||
              @click="openChannelForm(scope.row, channel.code)"
 | 
			
		||||
              circle
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:check" />
 | 
			
		||||
@@ -84,87 +96,7 @@
 | 
			
		||||
              v-else
 | 
			
		||||
              type="danger"
 | 
			
		||||
              circle
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.ALIPAY_APP.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:close" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column :label="PayChannelEnum.ALIPAY_PC.name" align="center">
 | 
			
		||||
          <template #default="scope">
 | 
			
		||||
            <el-button
 | 
			
		||||
              type="success"
 | 
			
		||||
              circle
 | 
			
		||||
              v-if="isChannelExists(scope.row.channelCodes, PayChannelEnum.ALIPAY_PC.code)"
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.ALIPAY_PC.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:check" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
            <el-button
 | 
			
		||||
              v-else
 | 
			
		||||
              type="danger"
 | 
			
		||||
              circle
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.ALIPAY_PC.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:close" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column :label="PayChannelEnum.ALIPAY_WAP.name" align="center">
 | 
			
		||||
          <template #default="scope">
 | 
			
		||||
            <el-button
 | 
			
		||||
              type="success"
 | 
			
		||||
              circle
 | 
			
		||||
              v-if="isChannelExists(scope.row.channelCodes, PayChannelEnum.ALIPAY_WAP.code)"
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.ALIPAY_WAP.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:check" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
            <el-button
 | 
			
		||||
              v-else
 | 
			
		||||
              type="danger"
 | 
			
		||||
              circle
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.ALIPAY_WAP.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:close" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column :label="PayChannelEnum.ALIPAY_QR.name" align="center">
 | 
			
		||||
          <template #default="scope">
 | 
			
		||||
            <el-button
 | 
			
		||||
              type="success"
 | 
			
		||||
              circle
 | 
			
		||||
              v-if="isChannelExists(scope.row.channelCodes, PayChannelEnum.ALIPAY_QR.code)"
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.ALIPAY_QR.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:check" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
            <el-button
 | 
			
		||||
              v-else
 | 
			
		||||
              type="danger"
 | 
			
		||||
              circle
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.ALIPAY_QR.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:close" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column :label="PayChannelEnum.ALIPAY_BAR.name" align="center">
 | 
			
		||||
          <template #default="scope">
 | 
			
		||||
            <el-button
 | 
			
		||||
              type="success"
 | 
			
		||||
              circle
 | 
			
		||||
              v-if="isChannelExists(scope.row.channelCodes, PayChannelEnum.ALIPAY_BAR.code)"
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.ALIPAY_BAR.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:check" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
            <el-button
 | 
			
		||||
              v-else
 | 
			
		||||
              type="danger"
 | 
			
		||||
              circle
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.ALIPAY_BAR.code)"
 | 
			
		||||
              @click="openChannelForm(scope.row, channel.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:close" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
@@ -172,13 +104,18 @@
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column label="微信配置" align="center">
 | 
			
		||||
        <el-table-column :label="PayChannelEnum.WX_LITE.name" align="center">
 | 
			
		||||
        <el-table-column
 | 
			
		||||
          :label="channel.name"
 | 
			
		||||
          align="center"
 | 
			
		||||
          v-for="channel in wxChannels"
 | 
			
		||||
          :key="channel.code"
 | 
			
		||||
        >
 | 
			
		||||
          <template #default="scope">
 | 
			
		||||
            <el-button
 | 
			
		||||
              type="success"
 | 
			
		||||
              v-if="isChannelExists(scope.row.channelCodes, channel.code)"
 | 
			
		||||
              @click="openChannelForm(scope.row, channel.code)"
 | 
			
		||||
              circle
 | 
			
		||||
              v-if="isChannelExists(scope.row.channelCodes, PayChannelEnum.WX_LITE.code)"
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.WX_LITE.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:check" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
@@ -186,67 +123,7 @@
 | 
			
		||||
              v-else
 | 
			
		||||
              type="danger"
 | 
			
		||||
              circle
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.WX_LITE.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:close" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column :label="PayChannelEnum.WX_PUB.name" align="center">
 | 
			
		||||
          <template #default="scope">
 | 
			
		||||
            <el-button
 | 
			
		||||
              type="success"
 | 
			
		||||
              circle
 | 
			
		||||
              v-if="isChannelExists(scope.row.channelCodes, PayChannelEnum.WX_PUB.code)"
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.WX_PUB.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:check" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
            <el-button
 | 
			
		||||
              v-else
 | 
			
		||||
              type="danger"
 | 
			
		||||
              circle
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.WX_PUB.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:close" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column :label="PayChannelEnum.WX_APP.name" align="center">
 | 
			
		||||
          <template #default="scope">
 | 
			
		||||
            <el-button
 | 
			
		||||
              type="success"
 | 
			
		||||
              circle
 | 
			
		||||
              v-if="isChannelExists(scope.row.channelCodes, PayChannelEnum.WX_APP.code)"
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.WX_APP.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:check" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
            <el-button
 | 
			
		||||
              v-else
 | 
			
		||||
              type="danger"
 | 
			
		||||
              circle
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.WX_APP.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:close" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column :label="PayChannelEnum.WX_BAR.name" align="center">
 | 
			
		||||
          <template #default="scope">
 | 
			
		||||
            <el-button
 | 
			
		||||
              type="success"
 | 
			
		||||
              circle
 | 
			
		||||
              v-if="isChannelExists(scope.row.channelCodes, PayChannelEnum.WX_BAR.code)"
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.WX_BAR.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:check" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
            <el-button
 | 
			
		||||
              v-else
 | 
			
		||||
              type="danger"
 | 
			
		||||
              circle
 | 
			
		||||
              @click="openChannelForm(scope.row, PayChannelEnum.WX_BAR.code)"
 | 
			
		||||
              @click="openChannelForm(scope.row, channel.code)"
 | 
			
		||||
            >
 | 
			
		||||
              <Icon icon="ep:close" />
 | 
			
		||||
            </el-button>
 | 
			
		||||
@@ -338,12 +215,11 @@
 | 
			
		||||
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
 | 
			
		||||
import * as AppApi from '@/api/pay/app'
 | 
			
		||||
import AppForm from './components/AppForm.vue'
 | 
			
		||||
import { PayChannelEnum } from '@/utils/constants'
 | 
			
		||||
import { CommonStatusEnum, PayChannelEnum } from '@/utils/constants'
 | 
			
		||||
import AlipayChannelForm from './components/channel/AlipayChannelForm.vue'
 | 
			
		||||
import WeixinChannelForm from './components/channel/WeixinChannelForm.vue'
 | 
			
		||||
import MockChannelForm from './components/channel/MockChannelForm.vue'
 | 
			
		||||
import WalletChannelForm from './components/channel/WalletChannelForm.vue'
 | 
			
		||||
import { CommonStatusEnum } from '@/utils/constants'
 | 
			
		||||
 | 
			
		||||
defineOptions({ name: 'PayApp' })
 | 
			
		||||
 | 
			
		||||
@@ -365,6 +241,23 @@ const queryParams = reactive({
 | 
			
		||||
})
 | 
			
		||||
const queryFormRef = ref() // 搜索的表单
 | 
			
		||||
 | 
			
		||||
const alipayChannels = [
 | 
			
		||||
  PayChannelEnum.ALIPAY_APP,
 | 
			
		||||
  PayChannelEnum.ALIPAY_PC,
 | 
			
		||||
  PayChannelEnum.ALIPAY_WAP,
 | 
			
		||||
  PayChannelEnum.ALIPAY_QR,
 | 
			
		||||
  PayChannelEnum.ALIPAY_BAR
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
const wxChannels = [
 | 
			
		||||
  PayChannelEnum.WX_LITE,
 | 
			
		||||
  PayChannelEnum.WX_PUB,
 | 
			
		||||
  PayChannelEnum.WX_APP,
 | 
			
		||||
  PayChannelEnum.WX_NATIVE,
 | 
			
		||||
  PayChannelEnum.WX_WAP,
 | 
			
		||||
  PayChannelEnum.WX_BAR,
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
/** 查询列表 */
 | 
			
		||||
const getList = async () => {
 | 
			
		||||
  loading.value = true
 | 
			
		||||
 
 | 
			
		||||
@@ -147,7 +147,7 @@ const handlePay = (row: any) => {
 | 
			
		||||
    name: 'PayCashier',
 | 
			
		||||
    query: {
 | 
			
		||||
      id: row.payOrderId,
 | 
			
		||||
      returnUrl: encodeURIComponent('/pay/demo-order?id=' + row.id)
 | 
			
		||||
      returnUrl: encodeURIComponent('/pay/demo/order?id=' + row.id)
 | 
			
		||||
    }
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								types/env.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								types/env.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -14,6 +14,9 @@ interface ImportMetaEnv {
 | 
			
		||||
  readonly VITE_DEV: string
 | 
			
		||||
  readonly VITE_APP_CAPTCHA_ENABLE: string
 | 
			
		||||
  readonly VITE_APP_TENANT_ENABLE: string
 | 
			
		||||
  readonly VITE_APP_DEFAULT_LOGIN_TENANT: string
 | 
			
		||||
  readonly VITE_APP_DEFAULT_LOGIN_USERNAME: string
 | 
			
		||||
  readonly VITE_APP_DEFAULT_LOGIN_PASSWORD: string
 | 
			
		||||
  readonly VITE_APP_DOCALERT_ENABLE: string
 | 
			
		||||
  readonly VITE_BASE_URL: string
 | 
			
		||||
  readonly VITE_UPLOAD_URL: string
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user