1. 特色方功能迭代(固定价格),固定价格目前统一使用药品id(-102),后期会考虑新增特色方的时候自动添加一个特色方药品
Some checks failed
CI / Test (ubuntu-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Lint (ubuntu-latest) (push) Has been cancelled
CI / Lint (windows-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / CI OK (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
Deploy Website on push / Deploy Push Playground Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Docs Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Antd Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Element Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Naive Ftp (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
Lock Threads / action (push) Has been cancelled
Issue Close Require / close-issues (push) Has been cancelled
Some checks failed
CI / Test (ubuntu-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Lint (ubuntu-latest) (push) Has been cancelled
CI / Lint (windows-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / CI OK (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
Deploy Website on push / Deploy Push Playground Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Docs Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Antd Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Element Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Naive Ftp (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
Lock Threads / action (push) Has been cancelled
Issue Close Require / close-issues (push) Has been cancelled
2. 退款的时候可以退回分成
This commit is contained in:
@@ -10,6 +10,7 @@ import { Button, Image, message, Avatar } from 'ant-design-vue';
|
||||
import { useVbenForm } from '#/adapter/form';
|
||||
import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||
import { TableAction } from '#/components/table-action';
|
||||
import SensitiveText from '#/components/sensitive-text/SensitiveText.vue';
|
||||
import {
|
||||
createAdmin,
|
||||
deleteAdmin,
|
||||
@@ -293,13 +294,16 @@ const copyToClipboard = async (text: string) => {
|
||||
{{ row.doctor_profile?.name || `su_id: ${row.doctor_id}` }}
|
||||
</div>
|
||||
<div v-if="row.doctor_profile?.mobile" class="text-xs text-gray-400">
|
||||
{{ row.doctor_profile.mobile }}
|
||||
<SensitiveText :record="row.doctor_profile" field="mobile" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Button>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
<template #phone="{ row }">
|
||||
<SensitiveText :record="row" field="phone" />
|
||||
</template>
|
||||
<template #login_account="{ row }">
|
||||
<span v-if="row.login_account">
|
||||
<Button
|
||||
|
||||
@@ -88,7 +88,7 @@ function buildColumns(formType: AdminFormType) {
|
||||
}
|
||||
|
||||
cols.push(
|
||||
{ field: 'phone', title: '手机号码' },
|
||||
{ field: 'phone', title: '手机号码', slots: { default: 'phone' } },
|
||||
{
|
||||
field: 'login_account',
|
||||
align: 'left',
|
||||
|
||||
@@ -44,7 +44,7 @@ export const gridOptions: VxeGridProps<RowType> = {
|
||||
{ field: 'code', title: '业务推广码' },
|
||||
{ field: 'platform.name', title: '所属平台' },
|
||||
{ field: 'supplier.name', title: '所属供应商' },
|
||||
{ field: 'phone', title: '手机号码' },
|
||||
{ field: 'phone', title: '手机号码', slots: { default: 'phone' } },
|
||||
{
|
||||
field: 'login_account',
|
||||
align: 'left',
|
||||
|
||||
@@ -5,6 +5,8 @@ import { useVbenModal } from '@vben/common-ui';
|
||||
|
||||
import { Avatar, Descriptions, DescriptionsItem, Image, Spin, message } from 'ant-design-vue';
|
||||
|
||||
import SensitiveText from '#/components/sensitive-text/SensitiveText.vue';
|
||||
|
||||
import { getDoctorInputDetail } from '../api';
|
||||
import {
|
||||
inputUserDisplayName,
|
||||
@@ -72,8 +74,12 @@ const [Modal, modalApi] = useVbenModal({
|
||||
<Descriptions :column="2" bordered>
|
||||
<DescriptionsItem label="ID">{{ detailData.id }}</DescriptionsItem>
|
||||
<DescriptionsItem label="医生姓名">{{ detailData.name }}</DescriptionsItem>
|
||||
<DescriptionsItem label="手机号">{{ detailData.mobile }}</DescriptionsItem>
|
||||
<DescriptionsItem label="身份证">{{ detailData.idcard }}</DescriptionsItem>
|
||||
<DescriptionsItem label="手机号">
|
||||
<SensitiveText :record="detailData" field="mobile" />
|
||||
</DescriptionsItem>
|
||||
<DescriptionsItem label="身份证">
|
||||
<SensitiveText :record="detailData" field="idcard" />
|
||||
</DescriptionsItem>
|
||||
<DescriptionsItem label="身份">{{ getTypeText(detailData.type) }}</DescriptionsItem>
|
||||
<DescriptionsItem label="签名类型">{{ getSignTypeText(detailData.sign_type) }}</DescriptionsItem>
|
||||
<DescriptionsItem label="科室">{{ detailData.depart?.name || '-' }}</DescriptionsItem>
|
||||
|
||||
@@ -41,7 +41,7 @@ export const inputGridOptions: VxeGridProps<RowType> = {
|
||||
{ type: 'checkbox', width: 60 },
|
||||
{ field: 'id', align: 'left', title: 'ID', width: 100 },
|
||||
{ field: 'name', align: 'left', title: '医生姓名' },
|
||||
{ field: 'mobile', title: '手机号', width: 140 },
|
||||
{ field: 'mobile', title: '手机号', width: 140, slots: { default: 'mobile' } },
|
||||
{
|
||||
field: 'type',
|
||||
align: 'left',
|
||||
@@ -111,7 +111,7 @@ export const auditGridOptions: VxeGridProps<RowType> = {
|
||||
{ type: 'checkbox', width: 60 },
|
||||
{ field: 'id', align: 'left', title: 'ID', width: 100 },
|
||||
{ field: 'name', align: 'left', title: '医生姓名' },
|
||||
{ field: 'mobile', title: '手机号', width: 140 },
|
||||
{ field: 'mobile', title: '手机号', width: 140, slots: { default: 'mobile' } },
|
||||
{
|
||||
field: 'type',
|
||||
align: 'left',
|
||||
|
||||
@@ -9,6 +9,7 @@ import { Avatar, Tag } from 'ant-design-vue';
|
||||
|
||||
import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||
import { TableAction } from '#/components/table-action';
|
||||
import SensitiveText from '#/components/sensitive-text/SensitiveText.vue';
|
||||
|
||||
import DetailModal from './components/DetailModal.vue';
|
||||
import FormModalDemo from './components/modal.vue';
|
||||
@@ -119,6 +120,9 @@ const getStatusText = (status: number) => {
|
||||
</div>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
<template #mobile="{ row }">
|
||||
<SensitiveText :record="row" field="mobile" />
|
||||
</template>
|
||||
<template #action="{ row }">
|
||||
<TableAction
|
||||
:actions="[
|
||||
|
||||
@@ -14,6 +14,7 @@ import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||
import { Icon } from '#/components/icon';
|
||||
import QrCodePreview from '#/components/modal/QrCodePreview.vue';
|
||||
import PromoterInfoCard from '#/components/promoter/PromoterInfoCard.vue';
|
||||
import SensitiveText from '#/components/sensitive-text/SensitiveText.vue';
|
||||
import { TableAction } from '#/components/table-action';
|
||||
|
||||
// 导入药店管理相关的API(直接使用store的API)
|
||||
@@ -478,8 +479,7 @@ const batchSyncDrugPrice = () => {
|
||||
<Button type="link" @click="copyText(row.contact)">复制</Button>
|
||||
</div>
|
||||
<div>
|
||||
号码:{{ row.mobile }}
|
||||
<Button type="link" @click="copyText(row.mobile)">复制</Button>
|
||||
号码:<SensitiveText :record="row" field="mobile" />
|
||||
</div>
|
||||
</template>
|
||||
<template #qr_code="{ row }">
|
||||
|
||||
@@ -12,6 +12,8 @@ import {
|
||||
message,
|
||||
} from 'ant-design-vue';
|
||||
|
||||
import SensitiveText from '#/components/sensitive-text/SensitiveText.vue';
|
||||
|
||||
import { getStoreInputDetail } from '../api';
|
||||
import DoctorInputCardGrid from './DoctorInputCardGrid.vue';
|
||||
import { getLinkedDoctors } from '../utils/doctorInputDisplay';
|
||||
@@ -86,7 +88,9 @@ const [Modal, modalApi] = useVbenModal({
|
||||
}}
|
||||
</DescriptionsItem>
|
||||
<DescriptionsItem label="联系人">{{ detailData.contact }}</DescriptionsItem>
|
||||
<DescriptionsItem label="联系电话">{{ detailData.mobile }}</DescriptionsItem>
|
||||
<DescriptionsItem label="联系电话">
|
||||
<SensitiveText :record="detailData" field="mobile" />
|
||||
</DescriptionsItem>
|
||||
<DescriptionsItem label="省市区">
|
||||
{{ detailData.province?.name }} {{ detailData.city?.name }}
|
||||
</DescriptionsItem>
|
||||
|
||||
@@ -9,6 +9,8 @@ import {
|
||||
Popover,
|
||||
} from 'ant-design-vue';
|
||||
|
||||
import SensitiveText from '#/components/sensitive-text/SensitiveText.vue';
|
||||
|
||||
import { resolveAvatarUrl } from '../utils/inputUser';
|
||||
import {
|
||||
doctorCertImages,
|
||||
@@ -98,8 +100,12 @@ function cardClass(doc: Record<string, any>) {
|
||||
<Descriptions :column="1" size="small" class="max-w-[480px]">
|
||||
<DescriptionsItem label="ID">{{ doc.id }}</DescriptionsItem>
|
||||
<DescriptionsItem label="姓名">{{ doc.name }}</DescriptionsItem>
|
||||
<DescriptionsItem label="手机号">{{ doc.mobile || '-' }}</DescriptionsItem>
|
||||
<DescriptionsItem label="身份证">{{ doc.idcard || '-' }}</DescriptionsItem>
|
||||
<DescriptionsItem label="手机号">
|
||||
<SensitiveText :record="doc" field="mobile" />
|
||||
</DescriptionsItem>
|
||||
<DescriptionsItem label="身份证">
|
||||
<SensitiveText :record="doc" field="idcard" />
|
||||
</DescriptionsItem>
|
||||
<DescriptionsItem label="身份">{{ getDoctorTypeText(doc.type) }}</DescriptionsItem>
|
||||
<DescriptionsItem label="签名类型">
|
||||
{{ getSignTypeText(doc.sign_type) }}
|
||||
|
||||
@@ -57,7 +57,7 @@ export const inputGridOptions: VxeGridProps<RowType> = {
|
||||
slots: { default: 'status' },
|
||||
},
|
||||
{ field: 'contact', title: '联系人' },
|
||||
{ field: 'mobile', title: '联系电话' },
|
||||
{ field: 'mobile', title: '联系电话', slots: { default: 'mobile' } },
|
||||
{ field: 'position', title: '详细地址' },
|
||||
{ field: 'created_at', title: '录入时间' },
|
||||
{
|
||||
@@ -159,7 +159,7 @@ export const auditGridOptions: VxeGridProps<RowType> = {
|
||||
},
|
||||
{ field: 'audit_time', title: '审核时间', slots: { default: 'audit_time' } },
|
||||
{ field: 'contact', title: '联系人' },
|
||||
{ field: 'mobile', title: '联系电话' },
|
||||
{ field: 'mobile', title: '联系电话', slots: { default: 'mobile' } },
|
||||
{ field: 'position', title: '详细地址' },
|
||||
{ field: 'created_at', title: '录入时间' },
|
||||
{
|
||||
|
||||
@@ -10,6 +10,7 @@ import { Avatar, Button, message, Tag } from 'ant-design-vue';
|
||||
|
||||
import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||
import { TableAction } from '#/components/table-action';
|
||||
import SensitiveText from '#/components/sensitive-text/SensitiveText.vue';
|
||||
import PromoterInfoCard from '#/components/promoter/PromoterInfoCard.vue';
|
||||
|
||||
import {
|
||||
@@ -158,6 +159,9 @@ const getStatusText = (status: number) => {
|
||||
<template #promoter_admin="{ row }">
|
||||
<PromoterInfoCard :admin="row.promoter_admin" size="compact" />
|
||||
</template>
|
||||
<template #mobile="{ row }">
|
||||
<SensitiveText :record="row" field="mobile" />
|
||||
</template>
|
||||
<template #action="{ row }">
|
||||
<TableAction
|
||||
:actions="[
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<script lang="ts" setup>
|
||||
import { Button } from 'ant-design-vue';
|
||||
|
||||
import SensitiveText from '#/components/sensitive-text/SensitiveText.vue';
|
||||
|
||||
defineProps<{
|
||||
row: Record<string, any>;
|
||||
variant: 'clinic' | 'pharmacy';
|
||||
@@ -52,16 +54,12 @@ function getClinicTypeText(clinicType: number) {
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="info-item__label">管理员</span>
|
||||
<template v-if="row.store_admin?.phone">
|
||||
<Button
|
||||
type="link"
|
||||
size="small"
|
||||
class="info-item__action"
|
||||
@click="onCopy(row.store_admin.phone)"
|
||||
>
|
||||
{{ row.store_admin.phone }}
|
||||
</Button>
|
||||
</template>
|
||||
<SensitiveText
|
||||
v-if="row.store_admin?.phone"
|
||||
:record="row.store_admin"
|
||||
field="phone"
|
||||
empty-text="-"
|
||||
/>
|
||||
<span v-else class="info-item__value">-</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -14,6 +14,7 @@ import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||
import { Icon } from '#/components/icon';
|
||||
import QrCodePreview from '#/components/modal/QrCodePreview.vue';
|
||||
import PromoterInfoCard from '#/components/promoter/PromoterInfoCard.vue';
|
||||
import SensitiveText from '#/components/sensitive-text/SensitiveText.vue';
|
||||
import { TableAction } from '#/components/table-action';
|
||||
import { resolveAvatarUrl } from '#/views/system/store-input/utils/inputUser';
|
||||
|
||||
@@ -510,8 +511,7 @@ const handleSwitchClinicType = (row: any) => {
|
||||
<Button type="link" @click="copyText(row.contact)">复制</Button>
|
||||
</div>
|
||||
<div>
|
||||
号码:{{ row.mobile }}
|
||||
<Button type="link" @click="copyText(row.mobile)">复制</Button>
|
||||
号码:<SensitiveText :record="row" field="mobile" />
|
||||
</div>
|
||||
</template>
|
||||
<template #qr_code="{ row }">
|
||||
|
||||
Reference in New Issue
Block a user